From 9bbae6cc5add475ae44c861df9cd17b75168ce89 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sat, 18 Feb 2023 10:42:29 +0100 Subject: [PATCH] Added methods get/set_disabled/invisible/help/value. --- examples/form.rs | 3 + src/fields.rs | 173 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 175 insertions(+), 1 deletion(-) diff --git a/examples/form.rs b/examples/form.rs index 296a5ce..6656347 100644 --- a/examples/form.rs +++ b/examples/form.rs @@ -58,6 +58,7 @@ async fn index( let mut fi = zakform::fields::FieldText::new("text"); fi.set_maxlen(10); + fi.set_value("some text"); f.add_field(Box::new(fi)); let mut fi = zakform::fields::FieldRadio::new("radio"); @@ -72,6 +73,8 @@ async fn index( let mut fi = zakform::fields::FieldCheck::new("checkbox"); fi.set_label("the check text very very long"); + fi.set_help("Mandatory field"); + fi.set_value("on"); f.add_field(Box::new(fi)); let mut fi = zakform::fields::FieldSelect::new("select"); diff --git a/src/fields.rs b/src/fields.rs index 73476bb..45a0422 100644 --- a/src/fields.rs +++ b/src/fields.rs @@ -20,9 +20,20 @@ pub trait TField { fn get_name(&self) -> String; fn get_label(&self) -> String; - fn set_label(&mut self, label: &str); + fn get_disabled(&self) -> bool; + fn set_disabled(&mut self, disabled: bool); + + fn get_invisible(&self) -> bool; + fn set_invisible(&mut self, invisible: bool); + + fn get_help(&self) -> String; + fn set_help(&mut self, help: &str); + + fn get_value(&self) -> String; + fn set_value(&mut self, value: &str); + fn render(&self) -> String; fn any(&mut self) -> &mut dyn Any; @@ -47,6 +58,38 @@ impl TField for FieldText { self.field.label = String::from(label); } + fn get_disabled(&self) -> bool { + self.field.disabled + } + + fn set_disabled(&mut self, disabled: bool) { + self.field.disabled = disabled; + } + + fn get_invisible(&self) -> bool { + self.field.invisible + } + + fn set_invisible(&mut self, invisible: bool) { + self.field.invisible = invisible; + } + + fn get_help(&self) -> String { + String::from(&self.field.help) + } + + fn set_help(&mut self, help: &str) { + self.field.help = String::from(help); + } + + fn get_value(&self) -> String { + String::from(&self.field.value) + } + + fn set_value(&mut self, value: &str) { + self.field.value = String::from(value); + } + fn render(&self) -> String { let mut s = String::new(); @@ -116,6 +159,38 @@ impl TField for FieldTextArea { self.field.label = String::from(label); } + fn get_disabled(&self) -> bool { + self.field.disabled + } + + fn set_disabled(&mut self, disabled: bool) { + self.field.disabled = disabled; + } + + fn get_invisible(&self) -> bool { + self.field.invisible + } + + fn set_invisible(&mut self, invisible: bool) { + self.field.invisible = invisible; + } + + fn get_help(&self) -> String { + String::from(&self.field.help) + } + + fn set_help(&mut self, help: &str) { + self.field.help = String::from(help); + } + + fn get_value(&self) -> String { + String::from(&self.field.value) + } + + fn set_value(&mut self, value: &str) { + self.field.value = String::from(value); + } + fn render(&self) -> String { let mut s = String::new(); @@ -202,6 +277,38 @@ impl TField for FieldRadio { self.field.label = String::from(label); } + fn get_disabled(&self) -> bool { + self.field.disabled + } + + fn set_disabled(&mut self, disabled: bool) { + self.field.disabled = disabled; + } + + fn get_invisible(&self) -> bool { + self.field.invisible + } + + fn set_invisible(&mut self, invisible: bool) { + self.field.invisible = invisible; + } + + fn get_help(&self) -> String { + String::from(&self.field.help) + } + + fn set_help(&mut self, help: &str) { + self.field.help = String::from(help); + } + + fn get_value(&self) -> String { + String::from(&self.field.value) + } + + fn set_value(&mut self, value: &str) { + self.field.value = String::from(value); + } + fn render(&self) -> String { let mut s = String::new(); @@ -304,6 +411,38 @@ impl TField for FieldSelect { self.field.label = String::from(label); } + fn get_disabled(&self) -> bool { + self.field.disabled + } + + fn set_disabled(&mut self, disabled: bool) { + self.field.disabled = disabled; + } + + fn get_invisible(&self) -> bool { + self.field.invisible + } + + fn set_invisible(&mut self, invisible: bool) { + self.field.invisible = invisible; + } + + fn get_help(&self) -> String { + String::from(&self.field.help) + } + + fn set_help(&mut self, help: &str) { + self.field.help = String::from(help); + } + + fn get_value(&self) -> String { + String::from(&self.field.value) + } + + fn set_value(&mut self, value: &str) { + self.field.value = String::from(value); + } + fn render(&self) -> String { let mut s = String::new(); @@ -371,6 +510,38 @@ impl TField for FieldCheck { self.field.label = String::from(label); } + fn get_disabled(&self) -> bool { + self.field.disabled + } + + fn set_disabled(&mut self, disabled: bool) { + self.field.disabled = disabled; + } + + fn get_invisible(&self) -> bool { + self.field.invisible + } + + fn set_invisible(&mut self, invisible: bool) { + self.field.invisible = invisible; + } + + fn get_help(&self) -> String { + String::from(&self.field.help) + } + + fn set_help(&mut self, help: &str) { + self.field.help = String::from(help); + } + + fn get_value(&self) -> String { + String::from(&self.field.value) + } + + fn set_value(&mut self, value: &str) { + self.field.value = String::from(value); + } + fn render(&self) -> String { let mut s = String::new(); -- 2.49.0