✨ Completa la API de temas con setup_component!
Elimina `action::theme` fusionando sus responsabilidades en `action::component`. Renombra `AlterMarkup` a `TransformMarkup` y `FnActionAlterMarkup` a `FnActionTransformMarkup`. Simplifica `ActionKey` y mueve los tipos de función al módulo de componente.
This commit is contained in:
parent
0c648fb95a
commit
04e3d5b3c2
18 changed files with 178 additions and 279 deletions
|
|
@ -1,10 +1,33 @@
|
|||
//! Acciones que operan sobre componentes.
|
||||
|
||||
use pagetop::prelude::*;
|
||||
|
||||
/// Tipo de función para manipular componentes y su contexto de renderizado.
|
||||
///
|
||||
/// Se usa en [`action::component::BeforeRender`] y [`action::component::AfterRender`] para alterar
|
||||
/// el comportamiento predefinido de los componentes.
|
||||
///
|
||||
/// Recibe referencias mutables (`&mut`) del componente `component` y del contexto `cx`.
|
||||
pub type FnActionWithComponent<C> = fn(component: &mut C, cx: &mut Context);
|
||||
|
||||
/// Tipo de función para alterar el [`Markup`] generado por un componente.
|
||||
///
|
||||
/// Se usa en [`action::component::TransformMarkup`] para permitir a las extensiones alterar el HTML
|
||||
/// final producido por el renderizado de un componente. La edición trabaja a nivel de texto: el
|
||||
/// [`Markup`] recibido expone su contenido como [`String`], lo que permite aplicar búsquedas,
|
||||
/// sustituciones, concatenaciones y cualquier otra primitiva de trabajo con cadenas.
|
||||
///
|
||||
/// La función recibe una referencia inmutable al componente `component` (el renderizado ya ha
|
||||
/// concluido, solo se necesita leer su estado), una referencia mutable al contexto `cx`, y toma
|
||||
/// posesión del `markup` producido hasta ese momento. Devuelve el nuevo [`Markup`] transformado,
|
||||
/// que se encadena como entrada para la siguiente acción registrada, si la hay.
|
||||
pub type FnActionTransformMarkup<C> = fn(component: &C, cx: &mut Context, markup: Markup) -> Markup;
|
||||
|
||||
mod before_render_component;
|
||||
pub use before_render_component::*;
|
||||
|
||||
mod after_render_component;
|
||||
pub use after_render_component::*;
|
||||
|
||||
mod alter_markup_component;
|
||||
pub use alter_markup_component::*;
|
||||
mod transform_markup_component;
|
||||
pub use transform_markup_component::*;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue