From 37d0254055a5366466db14b0fd46f76f97810d82 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Sat, 30 Apr 2022 09:46:03 +0200 Subject: [PATCH] Modifica PageComponent por ComponentTrait --- pagetop/src/base/component/block.rs | 4 ++-- pagetop/src/base/component/chunck.rs | 2 +- pagetop/src/base/component/container.rs | 4 ++-- pagetop/src/base/component/form/button.rs | 2 +- pagetop/src/base/component/form/date.rs | 2 +- pagetop/src/base/component/form/form.rs | 4 ++-- pagetop/src/base/component/form/hidden.rs | 2 +- pagetop/src/base/component/form/input.rs | 2 +- pagetop/src/base/component/grid/column.rs | 4 ++-- pagetop/src/base/component/grid/row.rs | 2 +- pagetop/src/base/component/image.rs | 2 +- pagetop/src/base/component/menu.rs | 4 ++-- pagetop/src/base/theme/bulmix/mod.rs | 2 +- pagetop/src/response/page/component.rs | 6 +++--- pagetop/src/response/page/container.rs | 8 ++++---- pagetop/src/response/page/mod.rs | 2 +- pagetop/src/response/page/page.rs | 6 +++--- pagetop/src/theme/definition.rs | 6 +++--- 18 files changed, 32 insertions(+), 32 deletions(-) diff --git a/pagetop/src/base/component/block.rs b/pagetop/src/base/component/block.rs index 881a4ac5..7f125eb5 100644 --- a/pagetop/src/base/component/block.rs +++ b/pagetop/src/base/component/block.rs @@ -10,7 +10,7 @@ pub struct Block { template : String, } -impl PageComponent for Block { +impl ComponentTrait for Block { fn new() -> Self { Block { renderable: render_always, @@ -59,7 +59,7 @@ impl Block { // Block CONTAINER. - pub fn add(mut self, component: impl PageComponent) -> Self { + pub fn add(mut self, component: impl ComponentTrait) -> Self { self.components.add(component); self } diff --git a/pagetop/src/base/component/chunck.rs b/pagetop/src/base/component/chunck.rs index 3fa5db9e..1abd7554 100644 --- a/pagetop/src/base/component/chunck.rs +++ b/pagetop/src/base/component/chunck.rs @@ -7,7 +7,7 @@ pub struct Chunck { template : String, } -impl PageComponent for Chunck { +impl ComponentTrait for Chunck { fn new() -> Self { Chunck { renderable: render_always, diff --git a/pagetop/src/base/component/container.rs b/pagetop/src/base/component/container.rs index 8e53c8b2..72766ac8 100644 --- a/pagetop/src/base/component/container.rs +++ b/pagetop/src/base/component/container.rs @@ -13,7 +13,7 @@ pub struct Container { template : String, } -impl PageComponent for Container { +impl ComponentTrait for Container { fn new() -> Self { Container { renderable : render_always, @@ -109,7 +109,7 @@ impl Container { // Container CONTAINER. - pub fn add(mut self, component: impl PageComponent) -> Self { + pub fn add(mut self, component: impl ComponentTrait) -> Self { self.components.add(component); self } diff --git a/pagetop/src/base/component/form/button.rs b/pagetop/src/base/component/form/button.rs index ff7c7ef4..74f0ba2f 100644 --- a/pagetop/src/base/component/form/button.rs +++ b/pagetop/src/base/component/form/button.rs @@ -14,7 +14,7 @@ pub struct Button { template : String, } -impl PageComponent for Button { +impl ComponentTrait for Button { fn new() -> Self { Button { renderable : render_always, diff --git a/pagetop/src/base/component/form/date.rs b/pagetop/src/base/component/form/date.rs index f24f2bc2..f0c0cd33 100644 --- a/pagetop/src/base/component/form/date.rs +++ b/pagetop/src/base/component/form/date.rs @@ -17,7 +17,7 @@ pub struct Date { template : String, } -impl PageComponent for Date { +impl ComponentTrait for Date { fn new() -> Self { Date { renderable : render_always, diff --git a/pagetop/src/base/component/form/form.rs b/pagetop/src/base/component/form/form.rs index 05d6296c..79fc72dd 100644 --- a/pagetop/src/base/component/form/form.rs +++ b/pagetop/src/base/component/form/form.rs @@ -14,7 +14,7 @@ pub struct Form { template : String, } -impl PageComponent for Form { +impl ComponentTrait for Form { fn new() -> Self { Form { renderable: render_always, @@ -68,7 +68,7 @@ impl Form { // Form CONTAINER. - pub fn add(mut self, element: impl PageComponent) -> Self { + pub fn add(mut self, element: impl ComponentTrait) -> Self { self.elements.add(element); self } diff --git a/pagetop/src/base/component/form/hidden.rs b/pagetop/src/base/component/form/hidden.rs index ae19cf0b..baa0316f 100644 --- a/pagetop/src/base/component/form/hidden.rs +++ b/pagetop/src/base/component/form/hidden.rs @@ -6,7 +6,7 @@ pub struct Hidden { value : OptAttr, } -impl PageComponent for Hidden { +impl ComponentTrait for Hidden { fn new() -> Self { Hidden { weight: 0, diff --git a/pagetop/src/base/component/form/input.rs b/pagetop/src/base/component/form/input.rs index 08318bd3..f682ad3d 100644 --- a/pagetop/src/base/component/form/input.rs +++ b/pagetop/src/base/component/form/input.rs @@ -23,7 +23,7 @@ pub struct Input { template : String, } -impl PageComponent for Input { +impl ComponentTrait for Input { fn new() -> Self { Input { renderable : render_always, diff --git a/pagetop/src/base/component/grid/column.rs b/pagetop/src/base/component/grid/column.rs index d48da98d..f80d0ff3 100644 --- a/pagetop/src/base/component/grid/column.rs +++ b/pagetop/src/base/component/grid/column.rs @@ -9,7 +9,7 @@ pub struct Column { template : String, } -impl PageComponent for Column { +impl ComponentTrait for Column { fn new() -> Self { Column { renderable: render_always, @@ -54,7 +54,7 @@ impl Column { // Column CONTAINER. - pub fn add(mut self, component: impl PageComponent) -> Self { + pub fn add(mut self, component: impl ComponentTrait) -> Self { self.components.add(component); self } diff --git a/pagetop/src/base/component/grid/row.rs b/pagetop/src/base/component/grid/row.rs index 761fdb49..273701ed 100644 --- a/pagetop/src/base/component/grid/row.rs +++ b/pagetop/src/base/component/grid/row.rs @@ -9,7 +9,7 @@ pub struct Row { template : String, } -impl PageComponent for Row { +impl ComponentTrait for Row { fn new() -> Self { Row { renderable: render_always, diff --git a/pagetop/src/base/component/image.rs b/pagetop/src/base/component/image.rs index c785f099..de1d6840 100644 --- a/pagetop/src/base/component/image.rs +++ b/pagetop/src/base/component/image.rs @@ -9,7 +9,7 @@ pub struct Image { template : String, } -impl PageComponent for Image { +impl ComponentTrait for Image { fn new() -> Self { Image { renderable: render_always, diff --git a/pagetop/src/base/component/menu.rs b/pagetop/src/base/component/menu.rs index 805f4dbb..5fb9f1cc 100644 --- a/pagetop/src/base/component/menu.rs +++ b/pagetop/src/base/component/menu.rs @@ -20,7 +20,7 @@ pub struct MenuItem { item_type : MenuItemType, } -impl PageComponent for MenuItem { +impl ComponentTrait for MenuItem { fn new() -> Self { MenuItem { renderable: render_always, @@ -179,7 +179,7 @@ pub struct Menu { template : String, } -impl PageComponent for Menu { +impl ComponentTrait for Menu { fn new() -> Self { Menu { renderable: render_always, diff --git a/pagetop/src/base/theme/bulmix/mod.rs b/pagetop/src/base/theme/bulmix/mod.rs index 22a03efe..7454c69d 100644 --- a/pagetop/src/base/theme/bulmix/mod.rs +++ b/pagetop/src/base/theme/bulmix/mod.rs @@ -34,7 +34,7 @@ impl ThemeTrait for BulmixTheme { fn before_render_component( &self, - component: &mut dyn PageComponent, + component: &mut dyn ComponentTrait, _assets: &mut PageAssets ) { match component.name() { diff --git a/pagetop/src/response/page/component.rs b/pagetop/src/response/page/component.rs index de726704..8839a5ca 100644 --- a/pagetop/src/response/page/component.rs +++ b/pagetop/src/response/page/component.rs @@ -5,7 +5,7 @@ use std::any::type_name; pub use std::any::Any as AnyComponent; -pub trait PageComponent: AnyComponent + Send + Sync { +pub trait ComponentTrait: AnyComponent + Send + Sync { fn new() -> Self where Self: Sized; @@ -47,10 +47,10 @@ pub trait PageComponent: AnyComponent + Send + Sync { fn as_mut_any(&mut self) -> &mut dyn AnyComponent; } -pub fn component_ref(component: &dyn PageComponent) -> &T { +pub fn component_ref(component: &dyn ComponentTrait) -> &T { component.as_ref_any().downcast_ref::().unwrap() } -pub fn component_mut(component: &mut dyn PageComponent) -> &mut T { +pub fn component_mut(component: &mut dyn ComponentTrait) -> &mut T { component.as_mut_any().downcast_mut::().unwrap() } diff --git a/pagetop/src/response/page/container.rs b/pagetop/src/response/page/container.rs index 2e052ee9..6cf09607 100644 --- a/pagetop/src/response/page/container.rs +++ b/pagetop/src/response/page/container.rs @@ -1,23 +1,23 @@ use crate::html::{Markup, html}; -use crate::response::page::{PageAssets, PageComponent, render_component}; +use crate::response::page::{PageAssets, ComponentTrait, render_component}; use std::sync::{Arc, RwLock}; #[derive(Clone)] -pub struct PageContainer(Vec>>); +pub struct PageContainer(Vec>>); impl PageContainer { pub fn new() -> Self { PageContainer(Vec::new()) } - pub fn new_with(component: impl PageComponent) -> Self { + pub fn new_with(component: impl ComponentTrait) -> Self { let mut container = PageContainer::new(); container.add(component); container } - pub fn add(&mut self, component: impl PageComponent) { + pub fn add(&mut self, component: impl ComponentTrait) { self.0.push(Arc::new(RwLock::new(component))); } diff --git a/pagetop/src/response/page/mod.rs b/pagetop/src/response/page/mod.rs index 5f0bf0e6..1d923f73 100644 --- a/pagetop/src/response/page/mod.rs +++ b/pagetop/src/response/page/mod.rs @@ -9,7 +9,7 @@ pub use assets::{ mod component; pub use component::{ AnyComponent, - PageComponent, + ComponentTrait, component_ref, component_mut, }; diff --git a/pagetop/src/response/page/page.rs b/pagetop/src/response/page/page.rs index f7bee609..2a1f69f4 100644 --- a/pagetop/src/response/page/page.rs +++ b/pagetop/src/response/page/page.rs @@ -100,7 +100,7 @@ impl<'a> Page<'a> { pub fn add_to( &mut self, region: &'a str, - component: impl PageComponent + component: impl ComponentTrait ) -> &mut Self { if let Some(regions) = self.regions.get_mut(region) { regions.add(component); @@ -187,7 +187,7 @@ impl<'a> Page<'a> { } } -pub fn render_component(component: &mut dyn PageComponent, assets: &mut PageAssets) -> Markup { +pub fn render_component(component: &mut dyn ComponentTrait, assets: &mut PageAssets) -> Markup { component.before_render(assets); assets.theme().before_render_component(component, assets); match component.is_renderable() { @@ -201,7 +201,7 @@ pub fn render_component(component: &mut dyn PageComponent, assets: &mut PageAsse } } -pub fn add_component_to(region: &'static str, component: impl PageComponent) { +pub fn add_component_to(region: &'static str, component: impl ComponentTrait) { let mut hmap = COMPONENTS.write().unwrap(); if let Some(regions) = hmap.get_mut(region) { regions.add(component); diff --git a/pagetop/src/theme/definition.rs b/pagetop/src/theme/definition.rs index 41113639..4d54d758 100644 --- a/pagetop/src/theme/definition.rs +++ b/pagetop/src/theme/definition.rs @@ -1,7 +1,7 @@ use crate::{app, concat_string}; use crate::config::SETTINGS; use crate::html::{Markup, html}; -use crate::response::page::{Favicon, Page, PageAssets, PageComponent}; +use crate::response::page::{ComponentTrait, Favicon, Page, PageAssets}; use crate::base::component::Chunck; /// Los temas deben implementar este "trait". @@ -77,7 +77,7 @@ pub trait ThemeTrait: Send + Sync { #[allow(unused_variables)] fn before_render_component( &self, - component: &mut dyn PageComponent, + component: &mut dyn ComponentTrait, assets: &mut PageAssets ) { /* @@ -96,7 +96,7 @@ pub trait ThemeTrait: Send + Sync { #[allow(unused_variables)] fn render_component( &self, - component: &dyn PageComponent, + component: &dyn ComponentTrait, assets: &mut PageAssets ) -> Option { None