From 04286f1875b05519b6f56484178ba05e7f286ea5 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Sun, 19 Nov 2023 00:20:38 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20new=20helper=20trait=20for=20?= =?UTF-8?q?components'=20classes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pagetop-bootsier/src/lib.rs | 128 +++++-------------- pagetop-bulmix/src/lib.rs | 122 +++++------------- pagetop/src/base/component/block.rs | 23 ++-- pagetop/src/base/component/button.rs | 26 ++-- pagetop/src/base/component/flex/container.rs | 24 ++-- pagetop/src/base/component/flex/item.rs | 30 ++--- pagetop/src/base/component/form/button.rs | 25 ++-- pagetop/src/base/component/form/date.rs | 21 +-- pagetop/src/base/component/form/form_main.rs | 21 +-- pagetop/src/base/component/form/input.rs | 25 ++-- pagetop/src/base/component/heading.rs | 23 ++-- pagetop/src/base/component/icon.rs | 27 ++-- pagetop/src/base/component/image.rs | 21 +-- pagetop/src/base/component/paragraph.rs | 24 ++-- pagetop/src/base/component/wrapper.rs | 21 +-- pagetop/src/core/component.rs | 3 + pagetop/src/core/component/classes.rs | 60 +++++++++ pagetop/src/html/opt_classes.rs | 11 +- 18 files changed, 294 insertions(+), 341 deletions(-) create mode 100644 pagetop/src/core/component/classes.rs diff --git a/pagetop-bootsier/src/lib.rs b/pagetop-bootsier/src/lib.rs index 4f165f11..7a45a904 100644 --- a/pagetop-bootsier/src/lib.rs +++ b/pagetop-bootsier/src/lib.rs @@ -84,162 +84,96 @@ impl ThemeTrait for Bootsier { fn before_prepare_component(&self, component: &mut dyn ComponentTrait, _cx: &mut Context) { match component.handle() { COMPONENT_BASE_ICON => { - if let Some(icon) = component_as_mut::(component) { - match icon.font_size() { + if let Some(i) = component_as_mut::(component) { + match i.font_size() { FontSize::ExtraLarge => { - icon.alter_classes( - ClassesOp::Replace(icon.font_size().to_string()), - "fs-1", - ); + i.replace_classes(i.font_size().to_string(), "fs-1"); } FontSize::XxLarge => { - icon.alter_classes( - ClassesOp::Replace(icon.font_size().to_string()), - "fs-2", - ); + i.replace_classes(i.font_size().to_string(), "fs-2"); } FontSize::XLarge => { - icon.alter_classes( - ClassesOp::Replace(icon.font_size().to_string()), - "fs-3", - ); + i.replace_classes(i.font_size().to_string(), "fs-3"); } FontSize::Large => { - icon.alter_classes( - ClassesOp::Replace(icon.font_size().to_string()), - "fs-4", - ); + i.replace_classes(i.font_size().to_string(), "fs-4"); } FontSize::Medium => { - icon.alter_classes( - ClassesOp::Replace(icon.font_size().to_string()), - "fs-5", - ); + i.replace_classes(i.font_size().to_string(), "fs-5"); } _ => {} }; } } COMPONENT_BASE_BUTTON => { - if let Some(button) = component_as_mut::