From cb735cf0fa44d6864cb1a0d1605ad7287dd81538 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Tue, 6 Jun 2023 21:19:48 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Define=20carpeta=20base=20?= =?UTF-8?q?para=20elementos=20integrados?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pagetop/src/base.rs | 3 +++ pagetop/src/base/component.rs | 2 ++ pagetop/src/{core => base}/component/l10n.rs | 7 +------ pagetop/src/base/theme.rs | 2 ++ pagetop/src/{core => base/theme}/basic.rs | 0 pagetop/src/core.rs | 3 --- pagetop/src/core/component.rs | 3 --- pagetop/src/core/component/context.rs | 2 +- pagetop/src/core/module/all.rs | 2 +- pagetop/src/core/module/definition.rs | 2 +- pagetop/src/core/theme/definition.rs | 3 ++- pagetop/src/lib.rs | 3 +++ pagetop/src/locale.rs | 1 + pagetop/src/prelude.rs | 2 ++ pagetop/src/response/fatal_error.rs | 2 +- pagetop/src/response/page/definition.rs | 5 ++++- 16 files changed, 24 insertions(+), 18 deletions(-) create mode 100644 pagetop/src/base.rs create mode 100644 pagetop/src/base/component.rs rename pagetop/src/{core => base}/component/l10n.rs (93%) create mode 100644 pagetop/src/base/theme.rs rename pagetop/src/{core => base/theme}/basic.rs (100%) diff --git a/pagetop/src/base.rs b/pagetop/src/base.rs new file mode 100644 index 00000000..29705be6 --- /dev/null +++ b/pagetop/src/base.rs @@ -0,0 +1,3 @@ +pub mod component; + +pub mod theme; diff --git a/pagetop/src/base/component.rs b/pagetop/src/base/component.rs new file mode 100644 index 00000000..5f7db6de --- /dev/null +++ b/pagetop/src/base/component.rs @@ -0,0 +1,2 @@ +mod l10n; +pub use l10n::{L10n, COMPONENT_L10N}; diff --git a/pagetop/src/core/component/l10n.rs b/pagetop/src/base/component/l10n.rs similarity index 93% rename from pagetop/src/core/component/l10n.rs rename to pagetop/src/base/component/l10n.rs index 1f6f8fc3..fb178681 100644 --- a/pagetop/src/core/component/l10n.rs +++ b/pagetop/src/base/component/l10n.rs @@ -1,9 +1,4 @@ -use crate::core::component::{AnyComponent, ComponentTrait, RenderContext}; -use crate::html::{html, Markup, PreEscaped}; -use crate::locale::Locales; -use crate::{define_handle, fn_builder, Handle}; - -use fluent_templates::Loader; +use crate::prelude::*; use std::collections::HashMap; diff --git a/pagetop/src/base/theme.rs b/pagetop/src/base/theme.rs new file mode 100644 index 00000000..c135c08d --- /dev/null +++ b/pagetop/src/base/theme.rs @@ -0,0 +1,2 @@ +mod basic; +pub(crate) use basic::Basic; diff --git a/pagetop/src/core/basic.rs b/pagetop/src/base/theme/basic.rs similarity index 100% rename from pagetop/src/core/basic.rs rename to pagetop/src/base/theme/basic.rs diff --git a/pagetop/src/core.rs b/pagetop/src/core.rs index fa45c442..aa9819b9 100644 --- a/pagetop/src/core.rs +++ b/pagetop/src/core.rs @@ -11,6 +11,3 @@ pub mod module; // API to add new layouts with themes. pub mod theme; - -// Basic theme. -pub(crate) mod basic; diff --git a/pagetop/src/core/component.rs b/pagetop/src/core/component.rs index b75cbc9a..2095ec04 100644 --- a/pagetop/src/core/component.rs +++ b/pagetop/src/core/component.rs @@ -18,6 +18,3 @@ pub(crate) use all::common_components; mod renderable; pub use renderable::{IsRenderable, Renderable}; - -mod l10n; -pub use l10n::{L10n, COMPONENT_L10N}; diff --git a/pagetop/src/core/component/context.rs b/pagetop/src/core/component/context.rs index 4eec5377..295e33ac 100644 --- a/pagetop/src/core/component/context.rs +++ b/pagetop/src/core/component/context.rs @@ -10,7 +10,7 @@ use std::str::FromStr; static THEME: LazyStatic = LazyStatic::new(|| match theme_by_single_name(&config::SETTINGS.app.theme) { Some(theme) => theme, - None => &crate::core::basic::Basic, + None => &crate::base::theme::Basic, }); pub enum ContextOp { diff --git a/pagetop/src/core/module/all.rs b/pagetop/src/core/module/all.rs index ee4dd019..7eba9801 100644 --- a/pagetop/src/core/module/all.rs +++ b/pagetop/src/core/module/all.rs @@ -28,7 +28,7 @@ pub fn register_modules(app: ModuleStaticRef) { let mut list: Vec = Vec::new(); // Enable basic theme. - add_to_enabled(&mut list, &crate::core::basic::Basic); + add_to_enabled(&mut list, &crate::base::theme::Basic); // Enable application modules. add_to_enabled(&mut list, app); diff --git a/pagetop/src/core/module/definition.rs b/pagetop/src/core/module/definition.rs index c071cf1b..6fbd7ae9 100644 --- a/pagetop/src/core/module/definition.rs +++ b/pagetop/src/core/module/definition.rs @@ -1,5 +1,5 @@ +use crate::base::component::L10n; use crate::core::action::Action; -use crate::core::component::L10n; use crate::core::theme::ThemeStaticRef; use crate::util::single_type_name; use crate::{define_handle, server, Handle}; diff --git a/pagetop/src/core/theme/definition.rs b/pagetop/src/core/theme/definition.rs index 29cc8136..548174a8 100644 --- a/pagetop/src/core/theme/definition.rs +++ b/pagetop/src/core/theme/definition.rs @@ -1,6 +1,7 @@ use crate::app::LOCALE_PAGETOP; +use crate::base::component::L10n; use crate::config; -use crate::core::component::{ComponentTrait, L10n, RenderContext}; +use crate::core::component::{ComponentTrait, RenderContext}; use crate::core::module::ModuleTrait; use crate::html::{html, Favicon, Markup}; use crate::response::page::Page; diff --git a/pagetop/src/lib.rs b/pagetop/src/lib.rs index 754cc37a..1816a29c 100644 --- a/pagetop/src/lib.rs +++ b/pagetop/src/lib.rs @@ -75,6 +75,9 @@ pub mod db; // APIs esenciales para crear acciones, componentes, módulos y temas. pub mod core; +// Acciones, componentes, módulos y temas integrados en PageTop. +pub mod base; + // API del servidor web. pub mod server; diff --git a/pagetop/src/locale.rs b/pagetop/src/locale.rs index 4fe64bde..09d9e06c 100644 --- a/pagetop/src/locale.rs +++ b/pagetop/src/locale.rs @@ -85,6 +85,7 @@ use crate::{args, config, trace, LazyStatic}; pub use fluent_templates; +pub(crate) use fluent_templates::Loader; pub(crate) use fluent_templates::StaticLoader as Locales; pub(crate) use unic_langid::{langid, LanguageIdentifier}; diff --git a/pagetop/src/prelude.rs b/pagetop/src/prelude.rs index 10a43058..28b7173c 100644 --- a/pagetop/src/prelude.rs +++ b/pagetop/src/prelude.rs @@ -27,6 +27,8 @@ pub use crate::core::{action::*, component::*, module::*, theme::*}; pub use crate::{action, action_before_render_component}; +pub use crate::base::component::*; + pub use crate::server; pub use crate::server::HttpMessage; diff --git a/pagetop/src/response/fatal_error.rs b/pagetop/src/response/fatal_error.rs index 99edb1b2..4b82bd27 100644 --- a/pagetop/src/response/fatal_error.rs +++ b/pagetop/src/response/fatal_error.rs @@ -3,7 +3,7 @@ pub use error403::ERROR_403; mod error404; pub use error404::ERROR_404; -use crate::core::component::L10n; +use crate::base::component::L10n; use crate::response::{page::Page, ResponseError}; use crate::server::http::{header::ContentType, StatusCode}; use crate::server::{HttpRequest, HttpResponse}; diff --git a/pagetop/src/response/page/definition.rs b/pagetop/src/response/page/definition.rs index 889f4280..ffb6a9a6 100644 --- a/pagetop/src/response/page/definition.rs +++ b/pagetop/src/response/page/definition.rs @@ -1,5 +1,8 @@ +use crate::base::component::L10n; use crate::core::action::{action_ref, run_actions}; -use crate::core::component::*; +use crate::core::component::{ + common_components, ComponentTrait, ComponentsBundle, ContextOp, OneComponent, RenderContext, +}; use crate::html::{html, Classes, ClassesOp, Favicon, Markup, DOCTYPE}; use crate::locale::{langid_for, LanguageIdentifier}; use crate::response::fatal_error::FatalError;