From cac4c2f102137cbde35eb223948b668b1696b4be Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Tue, 1 Mar 2022 22:15:41 +0100 Subject: [PATCH] =?UTF-8?q?Actualiza=20y=20sanea=20piezas=20de=20c=C3=B3di?= =?UTF-8?q?go=20sensible?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/base/component/block.rs | 2 +- src/base/component/menu.rs | 2 +- src/core/response/page/assets.rs | 14 +++++++------- src/core/response/page/component.rs | 4 ++-- src/core/response/page/container.rs | 8 ++++---- src/core/response/page/mod.rs | 13 +++++++++---- src/core/response/page/page.rs | 8 ++++---- src/core/theme/api.rs | 2 +- src/prelude.rs | 5 ----- 9 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/base/component/block.rs b/src/base/component/block.rs index 03e67e01..9ffe986d 100644 --- a/src/base/component/block.rs +++ b/src/base/component/block.rs @@ -31,7 +31,7 @@ impl PageComponent for Block { } fn default_render(&self, assets: &mut PageAssets) -> Markup { - let id = assets.required_id(self.name(), self.id()); + let id = assets.serial_id(self.name(), self.id()); html! { div id=(id) class="block" { @if !self.title.is_empty() { diff --git a/src/base/component/menu.rs b/src/base/component/menu.rs index 34be6e33..0f44fad5 100644 --- a/src/base/component/menu.rs +++ b/src/base/component/menu.rs @@ -186,7 +186,7 @@ impl PageComponent for Menu { )) .add_jquery(); - let id = assets.required_id(self.name(), self.id()); + let id = assets.serial_id(self.name(), self.id()); html! { ul id=(id) class="sm sm-clean" { (self.render_items(assets)) diff --git a/src/core/response/page/assets.rs b/src/core/response/page/assets.rs index 71c3f668..77174e58 100644 --- a/src/core/response/page/assets.rs +++ b/src/core/response/page/assets.rs @@ -3,7 +3,7 @@ use crate::config::SETTINGS; use crate::core::all; use crate::core::theme::{Markup, PreEscaped, Theme, find_theme, html}; -pub static DEFAULT_THEME: Lazy<&dyn Theme> = Lazy::new(|| { +static DEFAULT_THEME: Lazy<&dyn Theme> = Lazy::new(|| { for t in all::THEMES.read().unwrap().iter() { if t.name().to_lowercase() == SETTINGS.app.theme.to_lowercase() { return *t; @@ -183,7 +183,7 @@ impl JavaScript { // Page assets. // ----------------------------------------------------------------------------- -pub struct Assets { +pub struct PageAssets { theme : &'static dyn Theme, favicon : Option, metadata : Vec<(String, String)>, @@ -193,9 +193,9 @@ pub struct Assets { id_counter : u32, } -impl Assets { +impl PageAssets { pub fn new() -> Self { - Assets { + PageAssets { theme : *DEFAULT_THEME, favicon : None, metadata : Vec::new(), @@ -206,8 +206,8 @@ impl Assets { } } - pub fn using_theme(&mut self, theme_id: &str) -> &mut Self { - self.theme = find_theme(theme_id).unwrap_or(*DEFAULT_THEME); + pub fn using_theme(&mut self, theme_name: &str) -> &mut Self { + self.theme = find_theme(theme_name).unwrap_or(*DEFAULT_THEME); self } @@ -291,7 +291,7 @@ impl Assets { // Assets EXTRAS. - pub fn required_id(&mut self, prefix: &str, id: &str) -> String { + pub fn serial_id(&mut self, prefix: &str, id: &str) -> String { if id.is_empty() { let prefix = prefix.trim().replace(" ", "_").to_lowercase(); let prefix = if prefix.is_empty() { diff --git a/src/core/response/page/component.rs b/src/core/response/page/component.rs index a7e0ffd7..ccc0facb 100644 --- a/src/core/response/page/component.rs +++ b/src/core/response/page/component.rs @@ -5,7 +5,7 @@ use downcast_rs::{Downcast, impl_downcast}; use std::any::type_name; -pub trait Component: Downcast + Send + Sync { +pub trait PageComponent: Downcast + Send + Sync { fn prepare() -> Self where Self: Sized; @@ -39,4 +39,4 @@ pub trait Component: Downcast + Send + Sync { } } -impl_downcast!(Component); +impl_downcast!(PageComponent); diff --git a/src/core/response/page/container.rs b/src/core/response/page/container.rs index c9d2e13b..6bf5e56a 100644 --- a/src/core/response/page/container.rs +++ b/src/core/response/page/container.rs @@ -4,15 +4,15 @@ use crate::core::response::page::{PageAssets, PageComponent, render_component}; use std::sync::Arc; #[derive(Clone)] -pub struct Container(Vec>); +pub struct PageContainer(Vec>); -impl Container { +impl PageContainer { pub fn new() -> Self { - Container(Vec::new()) + PageContainer(Vec::new()) } pub fn new_with(component: impl PageComponent) -> Self { - let mut container = Container::new(); + let mut container = PageContainer::new(); container.add(component); container } diff --git a/src/core/response/page/mod.rs b/src/core/response/page/mod.rs index d10c5fcc..f34070e2 100644 --- a/src/core/response/page/mod.rs +++ b/src/core/response/page/mod.rs @@ -1,11 +1,16 @@ -pub mod assets; -pub use assets::Assets as PageAssets; +mod assets; +pub use assets::{ + Favicon, + StyleSheet, + JavaScript, JSMode, + PageAssets, +}; mod component; -pub use component::Component as PageComponent; +pub use component::PageComponent; mod container; -pub use container::Container as PageContainer; +pub use container::PageContainer; mod page; pub use page::Page; diff --git a/src/core/response/page/page.rs b/src/core/response/page/page.rs index 48ea5094..18e8c917 100644 --- a/src/core/response/page/page.rs +++ b/src/core/response/page/page.rs @@ -7,7 +7,7 @@ use crate::core::response::page::{PageAssets, PageComponent, PageContainer}; use std::borrow::Cow; use std::collections::HashMap; -pub static DEFAULT_LANGUAGE: Lazy> = Lazy::new(|| { +static DEFAULT_LANGUAGE: Lazy> = Lazy::new(|| { let language = SETTINGS.app.language[..2].to_lowercase(); if !language.is_empty() { Some(language) @@ -16,7 +16,7 @@ pub static DEFAULT_LANGUAGE: Lazy> = Lazy::new(|| { } }); -pub static DEFAULT_DIRECTION: Lazy> = Lazy::new(|| { +static DEFAULT_DIRECTION: Lazy> = Lazy::new(|| { let direction = SETTINGS.app.direction.to_lowercase(); match direction.as_str() { "auto" => Some("auto".to_string()), @@ -188,8 +188,8 @@ impl<'a> Page<'a> { // Page EXTRAS. - pub fn using_theme(&mut self, theme_id: &str) -> &mut Self { - self.assets.using_theme(theme_id); + pub fn using_theme(&mut self, theme_name: &str) -> &mut Self { + self.assets.using_theme(theme_name); self } } diff --git a/src/core/theme/api.rs b/src/core/theme/api.rs index 36350110..efbc9cef 100644 --- a/src/core/theme/api.rs +++ b/src/core/theme/api.rs @@ -80,7 +80,7 @@ pub trait Theme: Send + Sync { /* Cómo usarlo: - match component.handle() { + match component.name() { "block" => { let block = component.downcast_mut::().unwrap(); match block.template() { diff --git a/src/prelude.rs b/src/prelude.rs index 1792da41..94630400 100644 --- a/src/prelude.rs +++ b/src/prelude.rs @@ -8,13 +8,8 @@ pub use crate::trace; pub use crate::localize; pub use crate::core::theme::*; - pub use crate::core::module::*; - pub use crate::core::response::page::*; -pub use crate::core::response::page::assets::*; - pub use crate::core::server; -pub use crate::base::theme::*; pub use crate::base::component::*;