💥 Rename Veck to LisComponents
This commit is contained in:
parent
24f2f0d765
commit
66117992c1
7 changed files with 47 additions and 43 deletions
|
|
@ -26,7 +26,7 @@ pub struct MegaMenu {
|
||||||
weight : Weight,
|
weight : Weight,
|
||||||
renderable: Renderable,
|
renderable: Renderable,
|
||||||
id : IdentifierValue,
|
id : IdentifierValue,
|
||||||
items : VeckComponents<MegaItem>,
|
items : LisComponents<MegaItem>,
|
||||||
theme : MegaMenuTheme,
|
theme : MegaMenuTheme,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -153,12 +153,12 @@ impl MegaMenu {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn with_item(mut self, item: MegaItem) -> Self {
|
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
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
#[fn_builder]
|
#[fn_builder]
|
||||||
pub fn alter_items(&mut self, op: VeckOp<MegaItem>) -> &mut Self {
|
pub fn alter_items(&mut self, op: LisOp<MegaItem>) -> &mut Self {
|
||||||
self.items.alter(op);
|
self.items.alter(op);
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
@ -171,7 +171,7 @@ impl MegaMenu {
|
||||||
|
|
||||||
// MegaMenu GETTERS.
|
// MegaMenu GETTERS.
|
||||||
|
|
||||||
pub fn items(&self) -> &VeckComponents<MegaItem> {
|
pub fn items(&self) -> &LisComponents<MegaItem> {
|
||||||
&self.items
|
&self.items
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ pub struct Container {
|
||||||
renderable: Renderable,
|
renderable: Renderable,
|
||||||
id : IdentifierValue,
|
id : IdentifierValue,
|
||||||
classes : Classes,
|
classes : Classes,
|
||||||
items : VeckComponents<flex::Item>,
|
items : LisComponents<flex::Item>,
|
||||||
template : String,
|
template : String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -83,12 +83,12 @@ impl Container {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn with_item(mut self, item: flex::Item) -> Self {
|
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
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
#[fn_builder]
|
#[fn_builder]
|
||||||
pub fn alter_items(&mut self, op: VeckOp<flex::Item>) -> &mut Self {
|
pub fn alter_items(&mut self, op: LisOp<flex::Item>) -> &mut Self {
|
||||||
self.items.alter(op);
|
self.items.alter(op);
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
@ -105,7 +105,7 @@ impl Container {
|
||||||
&self.classes
|
&self.classes
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn items(&self) -> &VeckComponents<flex::Item> {
|
pub fn items(&self) -> &LisComponents<flex::Item> {
|
||||||
&self.items
|
&self.items
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ pub struct Row {
|
||||||
renderable: Renderable,
|
renderable: Renderable,
|
||||||
id : IdentifierValue,
|
id : IdentifierValue,
|
||||||
classes : Classes,
|
classes : Classes,
|
||||||
columns : VeckComponents<grid::Column>,
|
columns : LisComponents<grid::Column>,
|
||||||
template : String,
|
template : String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -83,12 +83,12 @@ impl Row {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn with_column(mut self, column: grid::Column) -> Self {
|
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
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
#[fn_builder]
|
#[fn_builder]
|
||||||
pub fn alter_columns(&mut self, op: VeckOp<grid::Column>) -> &mut Self {
|
pub fn alter_columns(&mut self, op: LisOp<grid::Column>) -> &mut Self {
|
||||||
self.columns.alter(op);
|
self.columns.alter(op);
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
@ -105,7 +105,7 @@ impl Row {
|
||||||
&self.classes
|
&self.classes
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn columns(&self) -> &VeckComponents<grid::Column> {
|
pub fn columns(&self) -> &LisComponents<grid::Column> {
|
||||||
&self.columns
|
&self.columns
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@ mod context;
|
||||||
pub use context::{Context, ContextOp};
|
pub use context::{Context, ContextOp};
|
||||||
pub type FnContextualPath = fn(cx: &Context) -> &str;
|
pub type FnContextualPath = fn(cx: &Context) -> &str;
|
||||||
|
|
||||||
mod definition;
|
|
||||||
pub use definition::{component_as_mut, component_as_ref, ComponentBase, ComponentTrait};
|
|
||||||
|
|
||||||
mod renderable;
|
mod renderable;
|
||||||
pub use renderable::{FnIsRenderable, Renderable};
|
pub use renderable::{FnIsRenderable, Renderable};
|
||||||
|
|
||||||
|
mod definition;
|
||||||
|
pub use definition::{component_as_mut, component_as_ref, ComponentBase, ComponentTrait};
|
||||||
|
|
||||||
mod arc;
|
mod arc;
|
||||||
pub use arc::ComponentArc;
|
pub use arc::ComponentArc;
|
||||||
|
|
||||||
|
|
@ -17,8 +17,8 @@ pub use mix::{MixComponents, MixOp};
|
||||||
mod one;
|
mod one;
|
||||||
pub use one::ComponentOne;
|
pub use one::ComponentOne;
|
||||||
|
|
||||||
mod veck;
|
mod lis;
|
||||||
pub use veck::{VeckComponents, VeckOp};
|
pub use lis::{LisComponents, LisOp};
|
||||||
|
|
||||||
pub mod html;
|
pub mod html;
|
||||||
pub mod l10n;
|
pub mod l10n;
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,10 @@ impl ComponentArc {
|
||||||
ComponentArc(Arc::new(RwLock::new(component)))
|
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 {
|
pub(crate) fn handle(&self) -> Handle {
|
||||||
self.0.read().unwrap().handle()
|
self.0.read().unwrap().handle()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ use crate::core::component::{ComponentOne, ComponentTrait, Context};
|
||||||
use crate::html::{html, Markup};
|
use crate::html::{html, Markup};
|
||||||
use crate::Handle;
|
use crate::Handle;
|
||||||
|
|
||||||
pub enum VeckOp<T: ComponentTrait + Default> {
|
pub enum LisOp<T: ComponentTrait + Default> {
|
||||||
Add(ComponentOne<T>),
|
Add(ComponentOne<T>),
|
||||||
AddAfterId(&'static str, ComponentOne<T>),
|
AddAfterId(&'static str, ComponentOne<T>),
|
||||||
AddBeforeId(&'static str, ComponentOne<T>),
|
AddBeforeId(&'static str, ComponentOne<T>),
|
||||||
|
|
@ -13,43 +13,43 @@ pub enum VeckOp<T: ComponentTrait + Default> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Default)]
|
#[derive(Clone, Default)]
|
||||||
pub struct VeckComponents<T: ComponentTrait + Default>(Vec<ComponentOne<T>>);
|
pub struct LisComponents<T: ComponentTrait + Default>(Vec<ComponentOne<T>>);
|
||||||
|
|
||||||
impl<T: ComponentTrait + Default> VeckComponents<T> {
|
impl<T: ComponentTrait + Default> LisComponents<T> {
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
VeckComponents::<T>::default()
|
LisComponents::<T>::default()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn with(one: ComponentOne<T>) -> Self {
|
pub fn with(one: ComponentOne<T>) -> Self {
|
||||||
let mut veck = VeckComponents::new();
|
let mut components = LisComponents::new();
|
||||||
veck.alter(VeckOp::Add(one));
|
components.alter(LisOp::Add(one));
|
||||||
veck
|
components
|
||||||
}
|
}
|
||||||
|
|
||||||
// VeckComponents BUILDER.
|
// LisComponents BUILDER.
|
||||||
|
|
||||||
pub fn alter(&mut self, op: VeckOp<T>) -> &mut Self {
|
pub fn alter(&mut self, op: LisOp<T>) -> &mut Self {
|
||||||
match op {
|
match op {
|
||||||
VeckOp::Add(one) => self.0.push(one),
|
LisOp::Add(one) => self.0.push(one),
|
||||||
VeckOp::AddAfterId(id, one) => {
|
LisOp::AddAfterId(id, one) => {
|
||||||
match self.0.iter().position(|c| c.id().as_deref() == Some(id)) {
|
match self.0.iter().position(|c| c.id().as_deref() == Some(id)) {
|
||||||
Some(index) => self.0.insert(index + 1, one),
|
Some(index) => self.0.insert(index + 1, one),
|
||||||
_ => self.0.push(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)) {
|
match self.0.iter().position(|c| c.id().as_deref() == Some(id)) {
|
||||||
Some(index) => self.0.insert(index, one),
|
Some(index) => self.0.insert(index, one),
|
||||||
_ => self.0.insert(0, one),
|
_ => self.0.insert(0, one),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
VeckOp::AddFirst(one) => self.0.insert(0, one),
|
LisOp::AddFirst(one) => self.0.insert(0, one),
|
||||||
VeckOp::RemoveById(id) => {
|
LisOp::RemoveById(id) => {
|
||||||
if let Some(index) = self.0.iter().position(|c| c.id().as_deref() == Some(id)) {
|
if let Some(index) = self.0.iter().position(|c| c.id().as_deref() == Some(id)) {
|
||||||
self.0.remove(index);
|
self.0.remove(index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
VeckOp::ReplaceById(id, one) => {
|
LisOp::ReplaceById(id, one) => {
|
||||||
for c in self.0.iter_mut() {
|
for c in self.0.iter_mut() {
|
||||||
if c.id().as_deref() == Some(id) {
|
if c.id().as_deref() == Some(id) {
|
||||||
*c = one;
|
*c = one;
|
||||||
|
|
@ -57,12 +57,12 @@ impl<T: ComponentTrait + Default> VeckComponents<T> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
VeckOp::Reset => self.0.clear(),
|
LisOp::Reset => self.0.clear(),
|
||||||
}
|
}
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
// VeckComponents GETTERS.
|
// LisComponents GETTERS.
|
||||||
|
|
||||||
pub fn get_by_id(&self, id: &'static str) -> Option<&ComponentOne<T>> {
|
pub fn get_by_id(&self, id: &'static str) -> Option<&ComponentOne<T>> {
|
||||||
self.0.iter().find(|&c| c.id().as_deref() == Some(id))
|
self.0.iter().find(|&c| c.id().as_deref() == Some(id))
|
||||||
|
|
@ -76,7 +76,7 @@ impl<T: ComponentTrait + Default> VeckComponents<T> {
|
||||||
self.0.iter().filter(move |&c| c.handle() == handle)
|
self.0.iter().filter(move |&c| c.handle() == handle)
|
||||||
}
|
}
|
||||||
|
|
||||||
// VeckComponents PREPARE.
|
// LisComponents PREPARE.
|
||||||
|
|
||||||
pub fn prepare(&self, cx: &mut Context) -> Markup {
|
pub fn prepare(&self, cx: &mut Context) -> Markup {
|
||||||
let mut components = self.0.clone();
|
let mut components = self.0.clone();
|
||||||
|
|
@ -21,17 +21,17 @@ impl MixComponents {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn with(arc: ComponentArc) -> Self {
|
pub fn with(arc: ComponentArc) -> Self {
|
||||||
let mut pack = MixComponents::new();
|
let mut components = MixComponents::new();
|
||||||
pack.alter(MixOp::Add(arc));
|
components.alter(MixOp::Add(arc));
|
||||||
pack
|
components
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn merge(packs: &[Option<&MixComponents>]) -> Self {
|
pub(crate) fn merge(mixes: &[Option<&MixComponents>]) -> Self {
|
||||||
let mut pack = MixComponents::default();
|
let mut components = MixComponents::default();
|
||||||
for p in packs.iter().flatten() {
|
for m in mixes.iter().flatten() {
|
||||||
pack.0.append(&mut p.0.clone());
|
components.0.append(&mut m.0.clone());
|
||||||
}
|
}
|
||||||
pack
|
components
|
||||||
}
|
}
|
||||||
|
|
||||||
// MixComponents BUILDER.
|
// MixComponents BUILDER.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue