🎨 Convierte el ciclo de renderizado en async

`prepare()` de `Component`, `render()` de `Region` y `Template`, y la
implementación de `ComponentRender` pasan a ser funciones async. Se
actualizan todos los componentes base, helpers, tests y ejemplos.
This commit is contained in:
Manuel Cillero 2026-07-06 00:48:41 +02:00
parent 9acd8cc51a
commit 9354894b3a
48 changed files with 436 additions and 365 deletions

View file

@ -57,6 +57,7 @@ pub struct Form {
children: Children,
}
#[async_trait]
impl Component for Form {
fn new() -> Self {
Self::default()
@ -70,7 +71,7 @@ impl Component for Form {
self.alter_prop(PropsOp::prepend_classes("form"));
}
fn prepare(&self, cx: &mut Context) -> Result<Markup, ComponentError> {
async fn prepare(&self, cx: &mut Context) -> Result<Markup, ComponentError> {
let method = match self.method() {
form::Method::Post => Some("post"),
form::Method::Get => None,
@ -82,7 +83,7 @@ impl Component for Form {
method=[method]
accept-charset=[self.charset().get()]
{
(self.children().render(cx))
(self.children().render(cx).await)
}
})
}