🐛 (web): HttpRequest clona ahora las extensiones
Documenta el nuevo comportamiento y aprovecha para pulir varios comentarios y restringir visibilidad de símbolos internos.
This commit is contained in:
parent
370bc8ee47
commit
6f82da220b
11 changed files with 55 additions and 56 deletions
|
|
@ -73,7 +73,7 @@ where
|
|||
|
||||
/// Despacha las funciones asociadas a una [`ActionKey`] con posible salida anticipada.
|
||||
///
|
||||
/// Funciona igual que [`dispatch_actions`], pero el *closure* puede devolver
|
||||
/// Funciona igual que [`dispatch_actions`], pero el closure puede devolver
|
||||
/// [`std::ops::ControlFlow::Continue`] para continuar ejecutando la siguiente acción; o
|
||||
/// [`std::ops::ControlFlow::Break`] para detener la iteración inmediatamente.
|
||||
///
|
||||
|
|
|
|||
|
|
@ -310,7 +310,8 @@ impl Children {
|
|||
}
|
||||
}
|
||||
|
||||
// Añade un componente hijo al final de la lista.
|
||||
// Añade un componente hijo al final de la lista. También lo usa `core::theme::regions` al
|
||||
// fusionar regiones, fuera de este módulo.
|
||||
#[inline]
|
||||
pub(crate) fn add(&mut self, child: Child) -> &mut Self {
|
||||
self.0.push(child);
|
||||
|
|
|
|||
|
|
@ -110,15 +110,27 @@ pub trait Component: AnyInfo + ComponentClone + ComponentRender + Send + Sync {
|
|||
|
||||
/// Genera el marcado HTML del componente cuando ningún tema lo sobrescribe.
|
||||
///
|
||||
/// Cuarto paso del [ciclo de renderizado](ComponentRender): se invoca tras
|
||||
/// [`setup()`](Self::setup) y la acción
|
||||
/// [`BeforeRender`](crate::base::action::component::BeforeRender), pero solamente si ningún
|
||||
/// tema en la cadena devuelve `Some` en
|
||||
/// [`Theme::handle_component()`](crate::core::theme::Theme::handle_component).
|
||||
/// Este es el cuarto paso del [ciclo de renderizado](ComponentRender) tras llamar al
|
||||
/// [`setup()`](Self::setup) del componente y despachar la acción
|
||||
/// [`BeforeRender`](crate::base::action::component::BeforeRender) que atiende los cambios de
|
||||
/// otras extensiones antes de renderizar. Se invoca sólo si ningún tema en la cadena devuelve
|
||||
/// `Some` en [`Theme::handle_component()`](crate::core::theme::Theme::handle_component) para
|
||||
/// este componente.
|
||||
///
|
||||
/// Es `async`, a diferencia de [`setup()`](Self::setup), para permitir a los componentes
|
||||
/// realizar aquí sus llamadas asíncronas, como consultas a base de datos, peticiones a
|
||||
/// servicios externos, o cualquier operación de E/S, que necesiten para preparar su contenido.
|
||||
///
|
||||
/// Se recomienda obtener los datos del componente a través de sus propios métodos para que los
|
||||
/// temas puedan implementar `handle_component()` sin depender de los detalles internos.
|
||||
///
|
||||
/// Los campos que representen contenido no deben almacenar [`Markup`] ya generado, sino que
|
||||
/// guardarán el dato en bruto, por ejemplo [`L10n`](crate::locale::L10n) para textos
|
||||
/// traducibles, o un componente anidado como [`Html`](crate::base::component::Html), o
|
||||
/// cualquier otro `Component`, normalmente a través de [`Embed`](crate::core::component::Embed)
|
||||
/// o [`Child`](crate::core::component::Child); y será este método quien lo convierta en HTML en
|
||||
/// el momento del renderizado, no quien construye la instancia.
|
||||
///
|
||||
/// Por defecto, devuelve un [`Markup`] vacío (`Ok(html! {})`). En caso de error, devuelve un
|
||||
/// [`ComponentError`] que puede incluir un marcado alternativo (*fallback*).
|
||||
#[allow(unused_variables)]
|
||||
|
|
|
|||
|
|
@ -51,10 +51,9 @@ impl ComponentError {
|
|||
|
||||
// **< ComponentError GETTERS >*****************************************************************
|
||||
|
||||
/// Consume el error y devuelve su marcado alternativo.
|
||||
///
|
||||
/// Se invoca internamente en [`ComponentRender`](crate::core::component::ComponentRender).
|
||||
pub(crate) fn into_fallback(self) -> Markup {
|
||||
// Consume el error y devuelve su marcado alternativo. Se invoca internamente desde
|
||||
// `ComponentRender::render()`, en el mismo módulo `core::component`.
|
||||
pub(super) fn into_fallback(self) -> Markup {
|
||||
self.fallback
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue