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 - } }