Actualiza textos y formato del código

This commit is contained in:
Manuel Cillero 2022-05-07 23:51:04 +02:00
parent 5e8a1f75fd
commit 3366a6acdc
9 changed files with 17 additions and 20 deletions

View file

@ -30,11 +30,7 @@ impl ActionsHolder {
actions.sort_by_key(|a| a.weight()); actions.sort_by_key(|a| a.weight());
} }
pub fn iter_map<B, F>(&self, f: F) pub fn iter_map<B, F>(&self, f: F) where Self: Sized, F: FnMut(&ActionItem) -> B {
where
Self: Sized,
F: FnMut(&ActionItem) -> B,
{
let _: Vec<_> = self.0.read().unwrap().iter().map(f).collect(); let _: Vec<_> = self.0.read().unwrap().iter().map(f).collect();
} }
} }

View file

@ -1,4 +1,4 @@
use crate::{Lazy, base, concat_string}; use crate::{Lazy, base, concat_string, util};
use crate::config::SETTINGS; use crate::config::SETTINGS;
use crate::html::{Markup, PreEscaped, html}; use crate::html::{Markup, PreEscaped, html};
use crate::api::theme::*; use crate::api::theme::*;
@ -281,11 +281,14 @@ impl Assets {
// Assets EXTRAS. // Assets EXTRAS.
pub fn serial_id(&mut self, prefix: &str, id: &Option<String>) -> String { pub fn required_id<T>(&mut self, id: &Option<String>) -> String {
match id { match id {
Some(id) => id.to_string(), Some(id) => id.to_string(),
None => { None => {
let prefix = prefix.trim().replace(" ", "_").to_lowercase(); let prefix = util::single_type_name::<T>()
.trim()
.replace(" ", "_")
.to_lowercase();
let prefix = if prefix.is_empty() { let prefix = if prefix.is_empty() {
"prefix".to_owned() "prefix".to_owned()
} else { } else {

View file

@ -1,6 +1,6 @@
use crate::util;
use crate::html::{Markup, html}; use crate::html::{Markup, html};
use crate::api::action::{action_ref, run_actions}; use crate::api::action::{action_ref, run_actions};
use crate::util;
use super::{BEFORE_RENDER_COMPONENT_ACTION, BeforeRenderComponentAction}; use super::{BEFORE_RENDER_COMPONENT_ACTION, BeforeRenderComponentAction};
use super::Assets; use super::Assets;

View file

@ -1,4 +1,4 @@
pub mod action; // API to define functions that alter the behavior of PageTop core. pub mod action; // API to define functions that alter the behavior of PageTop core.
pub mod component; // API para crear nuevos componentes. pub mod component; // API to build new components.
pub mod module; // API para añadir módulos con nuevas funcionalidades. pub mod module; // API to add new features with modules.
pub mod theme; // API para crear temas. pub mod theme; // API to create themes.

View file

@ -1,6 +1,5 @@
use crate::app; use crate::{app, util};
use crate::api::action::ActionItem; use crate::api::action::ActionItem;
use crate::util;
#[cfg(any(feature = "mysql", feature = "postgres", feature = "sqlite"))] #[cfg(any(feature = "mysql", feature = "postgres", feature = "sqlite"))]
use crate::db::MigrationItem; use crate::db::MigrationItem;

View file

@ -1,10 +1,9 @@
use crate::{app, concat_string}; use crate::{app, concat_string, util};
use crate::config::SETTINGS; use crate::config::SETTINGS;
use crate::html::{Markup, html}; use crate::html::{Markup, html};
use crate::api::component::{Assets, ComponentTrait, Favicon}; use crate::api::component::{Assets, ComponentTrait, Favicon};
use crate::response::page::Page; use crate::response::page::Page;
use crate::base::component::Chunck; use crate::base::component::Chunck;
use crate::util;
/// Los temas deben implementar este "trait". /// Los temas deben implementar este "trait".
pub trait ThemeTrait: Send + Sync { pub trait ThemeTrait: Send + Sync {

View file

@ -38,7 +38,7 @@ impl ComponentTrait for Block {
} }
fn default_render(&self, assets: &mut Assets) -> Markup { fn default_render(&self, assets: &mut Assets) -> Markup {
let id = assets.serial_id("block", self.id()); let id = assets.required_id::<Block>(self.id());
html! { html! {
div id=(id) class=[self.classes()] { div id=(id) class=[self.classes()] {
@match self.title() { @match self.title() {

View file

@ -219,7 +219,7 @@ impl ComponentTrait for Menu {
)) ))
.add_jquery(); .add_jquery();
let id = assets.serial_id("menu", self.id()); let id = assets.required_id::<Menu>(self.id());
html! { html! {
ul id=(id) class=[self.classes()] { ul id=(id) class=[self.classes()] {
(self.items().render(assets)) (self.items().render(assets))

View file

@ -1,4 +1,4 @@
// External. // External re-exports.
pub use once_cell::sync::Lazy; pub use once_cell::sync::Lazy;
pub use concat_string::concat_string; pub use concat_string::concat_string;
@ -25,6 +25,6 @@ pub mod app; // Aplicación y servidor web.
pub mod base; // Base de componentes, módulos y temas. pub mod base; // Base de componentes, módulos y temas.
pub mod util; // Macros y funciones útiles. pub mod util; // Macros y funciones útiles.
// Re-exports. // Internal re-exports.
pub mod prelude; pub mod prelude;