From f87b2366595701e202400393151692bcf66b9a29 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Sat, 24 Jun 2023 02:09:26 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Simplifica=20preparaci=C3=B3n=20?= =?UTF-8?q?opcional?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pagetop-minimal/src/component/form_element/input.rs | 6 ++++-- pagetop/src/core/component/one.rs | 12 +----------- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/pagetop-minimal/src/component/form_element/input.rs b/pagetop-minimal/src/component/form_element/input.rs index 74314fdb..9f13f285 100644 --- a/pagetop-minimal/src/component/form_element/input.rs +++ b/pagetop-minimal/src/component/form_element/input.rs @@ -71,9 +71,11 @@ impl ComponentTrait for Input { InputType::Url => "url", }; let id = self.name().get().map(|name| concat_string!("edit-", name)); + let label = self.label().prepare(rcx); + let description = self.help_text().prepare(rcx); PrepareMarkup::With(html! { div class=[self.classes().get()] { - @if let Some(label) = self.label().prepare_optional(rcx) { + @if !label.is_empty() { label class="form-label" for=[&id] { (label) " " @if self.required().get().is_some() { @@ -98,7 +100,7 @@ impl ComponentTrait for Input { readonly=[self.readonly().get()] required=[self.required().get()] disabled=[self.disabled().get()]; - @if let Some(description) = self.help_text().prepare_optional(rcx) { + @if !description.is_empty() { div class="form-text" { (description) } } } diff --git a/pagetop/src/core/component/one.rs b/pagetop/src/core/component/one.rs index 79aefa48..72d67bb7 100644 --- a/pagetop/src/core/component/one.rs +++ b/pagetop/src/core/component/one.rs @@ -19,7 +19,7 @@ impl OneComponent { self.0 = Some(Arc::new(RwLock::new(component))); } - // OneComponent RENDER. + // OneComponent PREPARE. pub fn prepare(&self, rcx: &mut RenderContext) -> Markup { if let Some(component) = &self.0 { @@ -27,14 +27,4 @@ impl OneComponent { } html! {} } - - pub fn prepare_optional(&self, rcx: &mut RenderContext) -> Option { - if let Some(component) = &self.0 { - let render = component.write().unwrap().prepare(rcx).into_string(); - if !render.trim().is_empty() { - return Some(html! { (render) }); - } - } - None - } }