Commit graph

38 commits

Author SHA1 Message Date
d10d546418 (pagetop): Mejora API y doc. de Children
- `From<T: Component> for ChildOp: with_child()` acepta componentes
  directamente sin envolverlos en `Child::with(...)`.
- `From<Child> for ChildOp` para completar las conversiones implícitas.
- Actualiza ejemplos y tests con la nueva API en bootsier y aliner.
2026-03-29 11:54:20 +02:00
54f990b11c ♻️ Refactoriza la API de Children e InRegion
- Patrón prototipo en `InRegion`: cada petición recibe clones profundos.
- `ComponentClone` habilita clonar `dyn Component` de forma segura.
- `ChildTyped<C>` renombrado a `Slot<C>`, elimina `ChildTypedOp`.
- `Mutex` en lugar de `Arc<RwLock>` en `Child` y `Slot`.
- `is_renderable` y `setup_before_prepare` reciben `&Context`.
- Nuevos tests para `Children`, `ChildOp` y `Slot`.
2026-03-26 20:36:32 +01:00
04dbbc8858 Añade StatusMessage/MessageLevel al contexto 2026-03-21 13:24:42 +01:00
c3feff9efd 🚚 Renombra ContextOp a AssetsOp
El nombre anterior era ambiguo (podría referirse a cualquier operación
del contexto); `AssetsOp` describe exactamente lo que hace: operar sobre
los recursos del documento.
2026-03-21 11:12:46 +01:00
4bf2c18b24 ♻️ Refactoriza AttrClasses como Classes 2025-12-28 14:57:21 +01:00
fa32833ffa ♻️ Refactoriza atributos HTML 2025-12-28 14:03:35 +01:00
57f2fa64f4 🎨 Mejora gestión de errores para 403, 404 y otros 2025-12-17 12:40:53 +01:00
700bca7258 💡 Repasa comentarios de la cabecera de funciones 2025-12-16 09:06:52 +01:00
7b340a19f3 (locale): Refactoriza el sistema de localización
- Modulariza la lógica de localización.
- Actualiza la estructura de `Locale` para mejorar la resolución y
  gestión de idiomas.
- Introduce `RequestLocale` para manejar la negociación de idioma basada
  en las peticiones HTTP.
- Mejora `L10n` para ofrecer una gestión más flexible de traducciones
  con argumentos dinámicos.
- Actualiza la implementación de `LangId` en `Page` para garantizar una
  identificación de idioma coherente.
- Elimina código obsoleto y simplifica la gestión de identificadores de
  idioma.
2025-12-14 14:33:35 +01:00
efd4975a50 🚧 Retoques menores en la documentación 2025-12-03 22:56:04 +01:00
f2733bb250 ♻️ Refactoriza la gestión de regiones y plantillas 2025-11-30 00:16:54 +01:00
4ac7caddd4 🗑️ Elimina métodos y definiciones obsoletas 2025-11-23 14:37:00 +01:00
f0e5f50a7f (theme): Añade componentes Region y Template
- Incluye un componente base `Template` para gestionar la estructura
  del documento y sus regiones (`Region`).
- Actualiza el *trait* `Contextual` para permitir la selección de la
  plantilla de renderizado.
- Modifica `Page` y `Context`, y refactoriza el manejo de temas, para
  dar soporte al nuevo sistema de plantillas y eliminar la gestión
  obsoleta de regiones.
2025-11-22 09:11:16 +01:00
44ddfa4a51 Simplifica Display con f.write_str() 2025-10-19 21:40:42 +02:00
5eab417b11 🚚 Renombra add_component por add_child 2025-10-18 21:33:29 +02:00
f25f62dd3c 📝 Evita en los ejemplos use pagetop::prelude::*; 2025-10-12 06:57:04 +02:00
7b941cb02c 🚚 Renombra region_name a region_key 2025-10-03 01:55:03 +02:00
e23bd0294c 🎨 Mejora uso de las regiones en contexto y página 2025-10-02 21:24:19 +02:00
075f61bf09 🚧 (core): Mueve Context al ámbito de componentes 2025-09-30 23:36:09 +02:00
6b08b92635 🚚 Renombra AssetsOp por ContextOp 2025-09-30 20:21:06 +02:00
31435f30d3 💡 Mejora legibilidad de comentarios 2025-09-28 08:51:21 +02:00
a96a3fdf9f 🔥 Elimina Render para usar siempre el contexto 2025-09-11 19:58:50 +02:00
415e524f69 🎨 Generaliza página de bienvenida con parámetros 2025-09-08 23:27:56 +02:00
b10d0aadf4 🚧 (context): Define un trait común de contexto 2025-09-07 21:06:50 +02:00
da1390c2fe 🚧 (context): Generaliza los parámetros de contexto 2025-09-06 09:41:01 +02:00
543f2de333 🚚 Renombra with_component por add_component 2025-09-04 01:11:03 +02:00
fdb8132c37 🎨 (locale): Mejora el uso de lookup / using 2025-09-04 00:27:25 +02:00
5ef85154b5 ♻️ (html): Cambia tipos Option... por Attr...
Renombra los tipos para atributos HTML `Id`, `Name`, `Value` (`String`),
`L10n` (`Translate`) y `Classes`. Y mueve `OptionComponent` al *core* de
componentes como `TypedSlot`.
2025-08-23 18:52:45 +02:00
e08c412a36 🎨 (theme): Mejora gestión de regiones en páginas 2025-08-22 08:29:11 +02:00
2cb9633503 🎨 Retoques al importar fmt para usar Display 2025-08-21 09:36:25 +02:00
dfd100c842 💡 Retoques menores en comentarios para documentar 2025-08-03 13:36:00 +02:00
f03f42f6d5 🏷️ Simplifica nombres de traits esenciales
Los traits `ExtensionTrait`, `ThemeTrait` y `ComponentTrait` pasan a ser
`Extension`, `Theme`y `Component`, respectivamente,
2025-08-03 13:15:08 +02:00
fd5b48811d ♻️ Refactoriza manejo de idiomas para localización 2025-08-03 11:58:47 +02:00
3a6dcc5c72 🧑‍💻 Mejora funcionalidad del componente Html
- Amplía la documentación del componente.
- Aplica la nueva funcionalidad en la página de bienvenida usando el
  nuevo renderizado dinámico con contexto.
- Añade pruebas unitarias para el componente.
2025-08-02 20:26:39 +02:00
5d58d2d934 Añade soporte para responder páginas HTML
- Amplia la estructura "Page" para trabajar el renderizado con regiones
  de componentes para componer la página.
- Añade acciones "BeforeRenderBody" y "AfterRenderBody" para alterar el
  contenido de la página antes y después del renderizado.
- Actualiza "Context" para admitir parámetros dinámicos y mejorar la
  gestión de temas.
- Implementa el manejo de errores HTTP respondiendo páginas.
- Mejora la documentación y reorganiza el código en varios módulos.
2025-07-27 21:24:49 +02:00
b837346bf8 💡 Mejora los comentarios para normalizar 2025-07-27 13:55:28 +02:00
a1b5155703 Añade soporte a respuestas JSON 2025-07-25 19:18:06 +02:00
2566bd6e58 Añade respuestas web con redirecciones HTTP 2025-07-25 18:25:42 +02:00