From: Andrea Zagli Date: Sat, 4 Mar 2023 15:12:41 +0000 (+0100) Subject: Field: added to_render. X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=a33013ae986f706406544f5f64aec7a485502991;p=rust%2Fzakform Field: added to_render. --- diff --git a/src/fields.rs b/src/fields.rs index b884243..c4823ee 100644 --- a/src/fields.rs +++ b/src/fields.rs @@ -14,6 +14,7 @@ struct Field { value: String, to_load: bool, to_save: bool, + to_render: bool, tmpl: tera::Tera, filters: Vec, } @@ -42,6 +43,9 @@ pub trait TField { fn get_to_save(&self) -> bool; fn set_to_save(&mut self, to_save: bool); + fn get_to_render(&self) -> bool; + fn set_to_render(&mut self, to_render: bool); + fn add_filter(&mut self, filter: super::filters::Filter); fn filter(&mut self); @@ -120,6 +124,14 @@ impl TField for FieldText { self.field.to_save = save; } + fn get_to_render(&self) -> bool { + self.field.to_render + } + + fn set_to_render(&mut self, render: bool) { + self.field.to_render = render; + } + fn add_filter(&mut self, filter: super::filters::Filter) { self.field.filters.push(filter); } @@ -139,6 +151,9 @@ impl TField for FieldText { fn render(&self) -> String { let mut s = String::new(); + if !self.field.to_render { + return s; + } let mut context = tera::Context::new(); context.insert("name", &self.field.name); @@ -166,6 +181,7 @@ impl FieldText { f.field.label = String::from(name); f.field.to_load = true; f.field.to_save = true; + f.field.to_render = true; match f.field.tmpl.add_raw_template("field", r#"{% if label %}
{% endif %} @@ -256,6 +272,14 @@ impl TField for FieldTextArea { self.field.to_save = save; } + fn get_to_render(&self) -> bool { + self.field.to_render + } + + fn set_to_render(&mut self, render: bool) { + self.field.to_render = render; + } + fn add_filter(&mut self, filter: super::filters::Filter) { self.field.filters.push(filter); } @@ -275,6 +299,9 @@ impl TField for FieldTextArea { fn render(&self) -> String { let mut s = String::new(); + if !self.field.to_render { + return s; + } let mut context = tera::Context::new(); context.insert("name", &self.field.name); @@ -303,6 +330,7 @@ impl FieldTextArea { f.field.label = String::from(name); f.field.to_load = true; f.field.to_save = true; + f.field.to_render = true; f.rows = 5; @@ -409,6 +437,14 @@ impl TField for FieldRadio { self.field.to_save = save; } + fn get_to_render(&self) -> bool { + self.field.to_render + } + + fn set_to_render(&mut self, render: bool) { + self.field.to_render = render; + } + fn add_filter(&mut self, filter: super::filters::Filter) { self.field.filters.push(filter); } @@ -428,6 +464,9 @@ impl TField for FieldRadio { fn render(&self) -> String { let mut s = String::new(); + if !self.field.to_render { + return s; + } let mut context = tera::Context::new(); context.insert("name", &self.field.name); @@ -455,6 +494,7 @@ impl FieldRadio { f.field.label = String::from(name); f.field.to_load = true; f.field.to_save = true; + f.field.to_render = true; match f.field.tmpl.add_raw_template("field", r#"{% if label %}

{% endif %} @@ -578,6 +618,14 @@ impl TField for FieldSelect { self.field.to_save = save; } + fn get_to_render(&self) -> bool { + self.field.to_render + } + + fn set_to_render(&mut self, render: bool) { + self.field.to_render = render; + } + fn add_filter(&mut self, filter: super::filters::Filter) { self.field.filters.push(filter); } @@ -597,6 +645,9 @@ impl TField for FieldSelect { fn render(&self) -> String { let mut s = String::new(); + if !self.field.to_render { + return s; + } let mut context = tera::Context::new(); context.insert("name", &self.field.name); @@ -624,6 +675,7 @@ impl FieldSelect { f.field.label = String::from(name); f.field.to_load = true; f.field.to_save = true; + f.field.to_render = true; match f.field.tmpl.add_raw_template("field", r#"{% if label %}

{% endif %} @@ -712,6 +764,14 @@ impl TField for FieldCheck { self.field.to_save = save; } + fn get_to_render(&self) -> bool { + self.field.to_render + } + + fn set_to_render(&mut self, render: bool) { + self.field.to_render = render; + } + fn add_filter(&mut self, filter: super::filters::Filter) { self.field.filters.push(filter); } @@ -731,6 +791,9 @@ impl TField for FieldCheck { fn render(&self) -> String { let mut s = String::new(); + if !self.field.to_render { + return s; + } let mut context = tera::Context::new(); context.insert("name", &self.field.name); @@ -757,6 +820,7 @@ impl FieldCheck { f.field.label = String::from(name); f.field.to_load = true; f.field.to_save = true; + f.field.to_render = true; match f.field.tmpl.add_raw_template("field", r#"
@@ -838,6 +902,14 @@ impl TField for FieldButton { self.field.to_save = save; } + fn get_to_render(&self) -> bool { + self.field.to_render + } + + fn set_to_render(&mut self, render: bool) { + self.field.to_render = render; + } + fn add_filter(&mut self, filter: super::filters::Filter) { self.field.filters.push(filter); } @@ -857,6 +929,9 @@ impl TField for FieldButton { fn render(&self) -> String { let mut s = String::new(); + if !self.field.to_render { + return s; + } let mut context = tera::Context::new(); context.insert("name", &self.field.name); @@ -882,8 +957,7 @@ impl FieldButton { f.field.name = String::from(name); f.field.label = String::from(name); - f.field.to_load = false; - f.field.to_save = false; + f.field.to_render = true; match f.field.tmpl.add_raw_template("field", r#""#) {