From 7a6cb4dbfa6390544d02213ec949b2dc9473e091 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Sun, 11 Jun 2023 18:58:49 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Normaliza=20el=20uso=20de=20los?= =?UTF-8?q?=20bundles=20de=20componentes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pagetop-megamenu/src/component.rs | 8 +++----- pagetop-minimal/src/component/container.rs | 8 +++----- pagetop-minimal/src/component/form_element/form.rs | 8 +++----- pagetop-minimal/src/component/grid/column.rs | 8 +++----- pagetop-minimal/src/component/grid/row.rs | 8 +++----- pagetop-minimal/src/component/paragraph.rs | 8 +++----- pagetop/src/base/component/block.rs | 8 +++----- pagetop/src/core/component/bundle.rs | 8 +++----- pagetop/src/core/theme/regions.rs | 4 ++-- 9 files changed, 26 insertions(+), 42 deletions(-) diff --git a/pagetop-megamenu/src/component.rs b/pagetop-megamenu/src/component.rs index 10603b62..8068038b 100644 --- a/pagetop-megamenu/src/component.rs +++ b/pagetop-megamenu/src/component.rs @@ -254,14 +254,12 @@ impl MegaMenu { self } - #[fn_builder] - pub fn alter_item(&mut self, item: MegaMenuItem) -> &mut Self { - self.items.add(item); + pub fn with_item(mut self, item: MegaMenuItem) -> Self { + self.items.alter_bundle(BundleOp::Add, item); self } - #[fn_builder] - pub fn alter_bundle(&mut self, op: BundleOp, item: MegaMenuItem) -> &mut Self { + pub fn alter_items(&mut self, op: BundleOp, item: MegaMenuItem) -> &mut Self { self.items.alter_bundle(op, item); self } diff --git a/pagetop-minimal/src/component/container.rs b/pagetop-minimal/src/component/container.rs index 407ee162..860865dc 100644 --- a/pagetop-minimal/src/component/container.rs +++ b/pagetop-minimal/src/component/container.rs @@ -158,14 +158,12 @@ impl Container { self } - #[fn_builder] - pub fn alter_component(&mut self, component: impl ComponentTrait) -> &mut Self { - self.components.add(component); + pub fn with_component(mut self, component: impl ComponentTrait) -> Self { + self.components.alter_bundle(BundleOp::Add, component); self } - #[fn_builder] - pub fn alter_bundle(&mut self, op: BundleOp, component: impl ComponentTrait) -> &mut Self { + pub fn alter_components(&mut self, op: BundleOp, component: impl ComponentTrait) -> &mut Self { self.components.alter_bundle(op, component); self } diff --git a/pagetop-minimal/src/component/form_element/form.rs b/pagetop-minimal/src/component/form_element/form.rs index ec781bbb..5f76384f 100644 --- a/pagetop-minimal/src/component/form_element/form.rs +++ b/pagetop-minimal/src/component/form_element/form.rs @@ -124,14 +124,12 @@ impl Form { self } - #[fn_builder] - pub fn alter_element(&mut self, element: impl ComponentTrait) -> &mut Self { - self.elements.add(element); + pub fn with_element(mut self, element: impl ComponentTrait) -> Self { + self.elements.alter_bundle(BundleOp::Add, element); self } - #[fn_builder] - pub fn alter_bundle(&mut self, op: BundleOp, element: impl ComponentTrait) -> &mut Self { + pub fn alter_elements(&mut self, op: BundleOp, element: impl ComponentTrait) -> &mut Self { self.elements.alter_bundle(op, element); self } diff --git a/pagetop-minimal/src/component/grid/column.rs b/pagetop-minimal/src/component/grid/column.rs index 928e5b0d..b66b6ae3 100644 --- a/pagetop-minimal/src/component/grid/column.rs +++ b/pagetop-minimal/src/component/grid/column.rs @@ -139,14 +139,12 @@ impl Column { self } - #[fn_builder] - pub fn alter_component(&mut self, component: impl ComponentTrait) -> &mut Self { - self.components.add(component); + pub fn with_component(mut self, component: impl ComponentTrait) -> Self { + self.components.alter_bundle(BundleOp::Add, component); self } - #[fn_builder] - pub fn alter_bundle(&mut self, op: BundleOp, component: impl ComponentTrait) -> &mut Self { + pub fn alter_components(&mut self, op: BundleOp, component: impl ComponentTrait) -> &mut Self { self.components.alter_bundle(op, component); self } diff --git a/pagetop-minimal/src/component/grid/row.rs b/pagetop-minimal/src/component/grid/row.rs index cd992acf..1e68d741 100644 --- a/pagetop-minimal/src/component/grid/row.rs +++ b/pagetop-minimal/src/component/grid/row.rs @@ -86,14 +86,12 @@ impl Row { self } - #[fn_builder] - pub fn alter_column(&mut self, column: grid::Column) -> &mut Self { - self.columns.add(column); + pub fn with_column(mut self, column: grid::Column) -> Self { + self.columns.alter_bundle(BundleOp::Add, column); self } - #[fn_builder] - pub fn alter_bundle(&mut self, op: BundleOp, column: grid::Column) -> &mut Self { + pub fn alter_columns(&mut self, op: BundleOp, column: grid::Column) -> &mut Self { self.columns.alter_bundle(op, column); self } diff --git a/pagetop-minimal/src/component/paragraph.rs b/pagetop-minimal/src/component/paragraph.rs index a8856294..0c01a3d3 100644 --- a/pagetop-minimal/src/component/paragraph.rs +++ b/pagetop-minimal/src/component/paragraph.rs @@ -97,14 +97,12 @@ impl Paragraph { self } - #[fn_builder] - pub fn alter_component(&mut self, component: impl ComponentTrait) -> &mut Self { - self.components.add(component); + pub fn with_component(mut self, component: impl ComponentTrait) -> Self { + self.components.alter_bundle(BundleOp::Add, component); self } - #[fn_builder] - pub fn alter_bundle(&mut self, op: BundleOp, component: impl ComponentTrait) -> &mut Self { + pub fn alter_components(&mut self, op: BundleOp, component: impl ComponentTrait) -> &mut Self { self.components.alter_bundle(op, component); self } diff --git a/pagetop/src/base/component/block.rs b/pagetop/src/base/component/block.rs index 8862bf81..f0da3320 100644 --- a/pagetop/src/base/component/block.rs +++ b/pagetop/src/base/component/block.rs @@ -97,14 +97,12 @@ impl Block { self } - #[fn_builder] - pub fn alter_component(&mut self, component: impl ComponentTrait) -> &mut Self { - self.components.add(component); + pub fn with_component(mut self, component: impl ComponentTrait) -> Self { + self.components.alter_bundle(BundleOp::Add, component); self } - #[fn_builder] - pub fn alter_bundle(&mut self, op: BundleOp, component: impl ComponentTrait) -> &mut Self { + pub fn alter_components(&mut self, op: BundleOp, component: impl ComponentTrait) -> &mut Self { self.components.alter_bundle(op, component); self } diff --git a/pagetop/src/core/component/bundle.rs b/pagetop/src/core/component/bundle.rs index 0ac44c26..77f8cadf 100644 --- a/pagetop/src/core/component/bundle.rs +++ b/pagetop/src/core/component/bundle.rs @@ -1,4 +1,5 @@ use crate::core::component::{ComponentTrait, RenderContext}; +use crate::fn_builder; use crate::html::{html, Markup}; use std::sync::{Arc, RwLock}; @@ -23,7 +24,7 @@ impl ComponentsBundle { pub fn new_with(component: impl ComponentTrait) -> Self { let mut bundle = ComponentsBundle::new(); - bundle.add(component); + bundle.alter_bundle(BundleOp::Add, component); bundle } @@ -43,10 +44,7 @@ impl ComponentsBundle { // ComponentsBundle BUILDER. - pub fn add(&mut self, component: impl ComponentTrait) -> &mut Self { - self.alter_bundle(BundleOp::Add, component) - } - + #[fn_builder] pub fn alter_bundle(&mut self, op: BundleOp, component: impl ComponentTrait) -> &mut Self { let arc = Arc::new(RwLock::new(component)); match op { diff --git a/pagetop/src/core/theme/regions.rs b/pagetop/src/core/theme/regions.rs index 8c42d088..d2d32122 100644 --- a/pagetop/src/core/theme/regions.rs +++ b/pagetop/src/core/theme/regions.rs @@ -1,4 +1,4 @@ -use crate::core::component::{ComponentTrait, ComponentsBundle}; +use crate::core::component::{BundleOp, ComponentTrait, ComponentsBundle}; use crate::LazyStatic; use std::collections::HashMap; @@ -17,7 +17,7 @@ impl ComponentsRegions { pub fn add_to(&mut self, region: &'static str, component: impl ComponentTrait) { if let Some(region) = self.0.get_mut(region) { - region.add(component); + region.alter_bundle(BundleOp::Add, component); } else { self.0.insert(region, ComponentsBundle::new_with(component)); }