🧑‍💻 Simplify component class access functions

This commit is contained in:
Manuel Cillero 2024-03-03 21:14:56 +01:00
parent d69d4cda45
commit 9a5618ef4b
12 changed files with 82 additions and 94 deletions

View file

@ -3,18 +3,6 @@ use crate::html::{ClassesOp, OptionClasses};
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;
fn prepend_classes(&mut self, classes: impl Into<String>) -> &mut Self;
fn remove_classes(&mut self, classes: impl Into<String>) -> &mut Self;
fn replace_classes(&mut self, rep: impl Into<String>, classes: impl Into<String>) -> &mut Self;
fn toggle_classes(&mut self, classes: impl Into<String>) -> &mut Self;
fn set_classes(&mut self, classes: impl Into<String>) -> &mut Self;
}
pub trait ComponentClasses: ComponentBase + ComponentClassesOp {
@ -24,39 +12,8 @@ pub trait ComponentClasses: ComponentBase + ComponentClassesOp {
}
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
}
fn add_classes(&mut self, classes: impl Into<String>) -> &mut Self {
self.alter_classes(ClassesOp::Add, classes);
self
}
fn prepend_classes(&mut self, classes: impl Into<String>) -> &mut Self {
self.alter_classes(ClassesOp::Prepend, classes);
self
}
fn remove_classes(&mut self, classes: impl Into<String>) -> &mut Self {
self.alter_classes(ClassesOp::Remove, classes);
self
}
fn replace_classes(&mut self, rep: impl Into<String>, classes: impl Into<String>) -> &mut Self {
self.alter_classes(ClassesOp::Replace(rep.into()), classes);
self
}
fn toggle_classes(&mut self, classes: impl Into<String>) -> &mut Self {
self.alter_classes(ClassesOp::Toggle, classes);
self
}
fn set_classes(&mut self, classes: impl Into<String>) -> &mut Self {
self.alter_classes(ClassesOp::Set, classes);
self
}
}