From 66117992c17552a367a2138a0a83a85a6a7f8283 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Fri, 18 Aug 2023 11:26:49 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=A5=20Rename=20Veck=20to=20LisComponen?= =?UTF-8?q?ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pagetop-megamenu/src/component/menu.rs | 8 ++--- .../src/component/flex/container.rs | 8 ++--- pagetop-minimal/src/component/grid/row.rs | 8 ++--- pagetop/src/core/component.rs | 10 +++--- pagetop/src/core/component/arc.rs | 4 +++ .../src/core/component/{veck.rs => lis.rs} | 36 +++++++++---------- pagetop/src/core/component/mix.rs | 16 ++++----- 7 files changed, 47 insertions(+), 43 deletions(-) rename pagetop/src/core/component/{veck.rs => lis.rs} (72%) diff --git a/pagetop-megamenu/src/component/menu.rs b/pagetop-megamenu/src/component/menu.rs index 819d0d0b..c4b4f72c 100644 --- a/pagetop-megamenu/src/component/menu.rs +++ b/pagetop-megamenu/src/component/menu.rs @@ -26,7 +26,7 @@ pub struct MegaMenu { weight : Weight, renderable: Renderable, id : IdentifierValue, - items : VeckComponents, + items : LisComponents, theme : MegaMenuTheme, } @@ -153,12 +153,12 @@ impl MegaMenu { } pub fn with_item(mut self, item: MegaItem) -> Self { - self.items.alter(VeckOp::Add(ComponentOne::with(item))); + self.items.alter(LisOp::Add(ComponentOne::with(item))); self } #[fn_builder] - pub fn alter_items(&mut self, op: VeckOp) -> &mut Self { + pub fn alter_items(&mut self, op: LisOp) -> &mut Self { self.items.alter(op); self } @@ -171,7 +171,7 @@ impl MegaMenu { // MegaMenu GETTERS. - pub fn items(&self) -> &VeckComponents { + pub fn items(&self) -> &LisComponents { &self.items } diff --git a/pagetop-minimal/src/component/flex/container.rs b/pagetop-minimal/src/component/flex/container.rs index 803ad6ab..7c579b01 100644 --- a/pagetop-minimal/src/component/flex/container.rs +++ b/pagetop-minimal/src/component/flex/container.rs @@ -13,7 +13,7 @@ pub struct Container { renderable: Renderable, id : IdentifierValue, classes : Classes, - items : VeckComponents, + items : LisComponents, template : String, } @@ -83,12 +83,12 @@ impl Container { } pub fn with_item(mut self, item: flex::Item) -> Self { - self.items.alter(VeckOp::Add(ComponentOne::with(item))); + self.items.alter(LisOp::Add(ComponentOne::with(item))); self } #[fn_builder] - pub fn alter_items(&mut self, op: VeckOp) -> &mut Self { + pub fn alter_items(&mut self, op: LisOp) -> &mut Self { self.items.alter(op); self } @@ -105,7 +105,7 @@ impl Container { &self.classes } - pub fn items(&self) -> &VeckComponents { + pub fn items(&self) -> &LisComponents { &self.items } diff --git a/pagetop-minimal/src/component/grid/row.rs b/pagetop-minimal/src/component/grid/row.rs index 5b60ad80..3b6d06ce 100644 --- a/pagetop-minimal/src/component/grid/row.rs +++ b/pagetop-minimal/src/component/grid/row.rs @@ -13,7 +13,7 @@ pub struct Row { renderable: Renderable, id : IdentifierValue, classes : Classes, - columns : VeckComponents, + columns : LisComponents, template : String, } @@ -83,12 +83,12 @@ impl Row { } pub fn with_column(mut self, column: grid::Column) -> Self { - self.columns.alter(VeckOp::Add(ComponentOne::with(column))); + self.columns.alter(LisOp::Add(ComponentOne::with(column))); self } #[fn_builder] - pub fn alter_columns(&mut self, op: VeckOp) -> &mut Self { + pub fn alter_columns(&mut self, op: LisOp) -> &mut Self { self.columns.alter(op); self } @@ -105,7 +105,7 @@ impl Row { &self.classes } - pub fn columns(&self) -> &VeckComponents { + pub fn columns(&self) -> &LisComponents { &self.columns } diff --git a/pagetop/src/core/component.rs b/pagetop/src/core/component.rs index fc5b7fca..ec0825f8 100644 --- a/pagetop/src/core/component.rs +++ b/pagetop/src/core/component.rs @@ -2,12 +2,12 @@ mod context; pub use context::{Context, ContextOp}; pub type FnContextualPath = fn(cx: &Context) -> &str; -mod definition; -pub use definition::{component_as_mut, component_as_ref, ComponentBase, ComponentTrait}; - mod renderable; pub use renderable::{FnIsRenderable, Renderable}; +mod definition; +pub use definition::{component_as_mut, component_as_ref, ComponentBase, ComponentTrait}; + mod arc; pub use arc::ComponentArc; @@ -17,8 +17,8 @@ pub use mix::{MixComponents, MixOp}; mod one; pub use one::ComponentOne; -mod veck; -pub use veck::{VeckComponents, VeckOp}; +mod lis; +pub use lis::{LisComponents, LisOp}; pub mod html; pub mod l10n; diff --git a/pagetop/src/core/component/arc.rs b/pagetop/src/core/component/arc.rs index 734248cb..10840fc9 100644 --- a/pagetop/src/core/component/arc.rs +++ b/pagetop/src/core/component/arc.rs @@ -37,6 +37,10 @@ impl ComponentArc { ComponentArc(Arc::new(RwLock::new(component))) } + pub fn set(&mut self, component: impl ComponentTrait) { + self.0 = Arc::new(RwLock::new(component)); + } + pub(crate) fn handle(&self) -> Handle { self.0.read().unwrap().handle() } diff --git a/pagetop/src/core/component/veck.rs b/pagetop/src/core/component/lis.rs similarity index 72% rename from pagetop/src/core/component/veck.rs rename to pagetop/src/core/component/lis.rs index 9ba9426c..07b3a551 100644 --- a/pagetop/src/core/component/veck.rs +++ b/pagetop/src/core/component/lis.rs @@ -2,7 +2,7 @@ use crate::core::component::{ComponentOne, ComponentTrait, Context}; use crate::html::{html, Markup}; use crate::Handle; -pub enum VeckOp { +pub enum LisOp { Add(ComponentOne), AddAfterId(&'static str, ComponentOne), AddBeforeId(&'static str, ComponentOne), @@ -13,43 +13,43 @@ pub enum VeckOp { } #[derive(Clone, Default)] -pub struct VeckComponents(Vec>); +pub struct LisComponents(Vec>); -impl VeckComponents { +impl LisComponents { pub fn new() -> Self { - VeckComponents::::default() + LisComponents::::default() } pub fn with(one: ComponentOne) -> Self { - let mut veck = VeckComponents::new(); - veck.alter(VeckOp::Add(one)); - veck + let mut components = LisComponents::new(); + components.alter(LisOp::Add(one)); + components } - // VeckComponents BUILDER. + // LisComponents BUILDER. - pub fn alter(&mut self, op: VeckOp) -> &mut Self { + pub fn alter(&mut self, op: LisOp) -> &mut Self { match op { - VeckOp::Add(one) => self.0.push(one), - VeckOp::AddAfterId(id, one) => { + LisOp::Add(one) => self.0.push(one), + LisOp::AddAfterId(id, one) => { match self.0.iter().position(|c| c.id().as_deref() == Some(id)) { Some(index) => self.0.insert(index + 1, one), _ => self.0.push(one), } } - VeckOp::AddBeforeId(id, one) => { + LisOp::AddBeforeId(id, one) => { match self.0.iter().position(|c| c.id().as_deref() == Some(id)) { Some(index) => self.0.insert(index, one), _ => self.0.insert(0, one), } } - VeckOp::AddFirst(one) => self.0.insert(0, one), - VeckOp::RemoveById(id) => { + LisOp::AddFirst(one) => self.0.insert(0, one), + LisOp::RemoveById(id) => { if let Some(index) = self.0.iter().position(|c| c.id().as_deref() == Some(id)) { self.0.remove(index); } } - VeckOp::ReplaceById(id, one) => { + LisOp::ReplaceById(id, one) => { for c in self.0.iter_mut() { if c.id().as_deref() == Some(id) { *c = one; @@ -57,12 +57,12 @@ impl VeckComponents { } } } - VeckOp::Reset => self.0.clear(), + LisOp::Reset => self.0.clear(), } self } - // VeckComponents GETTERS. + // LisComponents GETTERS. pub fn get_by_id(&self, id: &'static str) -> Option<&ComponentOne> { self.0.iter().find(|&c| c.id().as_deref() == Some(id)) @@ -76,7 +76,7 @@ impl VeckComponents { self.0.iter().filter(move |&c| c.handle() == handle) } - // VeckComponents PREPARE. + // LisComponents PREPARE. pub fn prepare(&self, cx: &mut Context) -> Markup { let mut components = self.0.clone(); diff --git a/pagetop/src/core/component/mix.rs b/pagetop/src/core/component/mix.rs index f8607342..fa9985a6 100644 --- a/pagetop/src/core/component/mix.rs +++ b/pagetop/src/core/component/mix.rs @@ -21,17 +21,17 @@ impl MixComponents { } pub fn with(arc: ComponentArc) -> Self { - let mut pack = MixComponents::new(); - pack.alter(MixOp::Add(arc)); - pack + let mut components = MixComponents::new(); + components.alter(MixOp::Add(arc)); + components } - pub(crate) fn merge(packs: &[Option<&MixComponents>]) -> Self { - let mut pack = MixComponents::default(); - for p in packs.iter().flatten() { - pack.0.append(&mut p.0.clone()); + pub(crate) fn merge(mixes: &[Option<&MixComponents>]) -> Self { + let mut components = MixComponents::default(); + for m in mixes.iter().flatten() { + components.0.append(&mut m.0.clone()); } - pack + components } // MixComponents BUILDER.