🔥 Remove inner classes from components code

This commit is contained in:
Manuel Cillero 2024-02-29 23:37:54 +01:00
parent ee3956cb2c
commit e7744cbb93
7 changed files with 73 additions and 93 deletions

View file

@ -9,7 +9,7 @@ mod definition;
pub use definition::{component_as_mut, component_as_ref, ComponentBase, ComponentTrait};
mod classes;
pub use classes::{ImplementClasses, ImplementClassesOp};
pub use classes::{ComponentClasses, ComponentClassesOp};
mod arc_any;
pub use arc_any::AnyComponents;

View file

@ -1,6 +1,7 @@
use crate::core::component::ComponentBase;
use crate::html::{ClassesOp, OptionClasses};
pub trait ImplementClassesOp {
pub trait ComponentClassesOp {
fn with_classes(self, op: ClassesOp, classes: impl Into<String>) -> Self;
fn add_classes(&mut self, classes: impl Into<String>) -> &mut Self;
@ -16,13 +17,14 @@ pub trait ImplementClassesOp {
fn set_classes(&mut self, classes: impl Into<String>) -> &mut Self;
}
pub trait ImplementClasses: ImplementClassesOp {
pub trait ComponentClasses: ComponentBase + ComponentClassesOp {
fn alter_classes(&mut self, op: ClassesOp, classes: impl Into<String>) -> &mut Self;
fn classes(&self) -> &OptionClasses;
}
impl<C: ImplementClasses> ImplementClassesOp for C {
impl<C: ComponentBase + ComponentClasses> ComponentClassesOp for C {
#[doc(hidden)]
fn with_classes(mut self, op: ClassesOp, classes: impl Into<String>) -> Self {
self.alter_classes(op, classes);
self