]> saetta.ns0.it Git - rust/zakform/commitdiff
Added functions get_option_label e get_options for FormFieldSelect and Radio. validators
authorAndrea Zagli <azagli@libero.it>
Sun, 24 Aug 2025 07:04:21 +0000 (09:04 +0200)
committerAndrea Zagli <azagli@libero.it>
Sun, 24 Aug 2025 07:04:21 +0000 (09:04 +0200)
src/fields.rs

index 1c55e6ec9d881419d6790253c4f7d0bca9f31321..e3f691a32e18aa512b3d97ae6e262bab894aef1e 100644 (file)
@@ -700,6 +700,23 @@ _ => {},
                }
        }
 
+       pub fn get_option_label(&mut self, value: String) -> Option<String> {
+               let mut i = 0;
+               let l = self.options.len();
+               while i < l {
+                       if self.options[i].value == value {
+                               return Some(String::from(&self.options[i].label));
+                       }
+                       i += 1;
+               }
+
+               None
+       }
+
+       pub fn get_options(&mut self) -> Vec<&FOption> {
+               self.options.iter().clone().collect()
+       }
+
        pub fn render_single(&self, idx: usize) -> String {
                let mut s = String::new();
 
@@ -912,6 +929,23 @@ _ => {},
                        i += 1;
                }
        }
+
+       pub fn get_option_label(&mut self, value: String) -> Option<String> {
+               let mut i = 0;
+               let l = self.options.len();
+               while i < l {
+                       if self.options[i].value == value {
+                               return Some(String::from(&self.options[i].label));
+                       }
+                       i += 1;
+               }
+
+               None
+       }
+
+       pub fn get_options(&mut self) -> Vec<&FOption> {
+               self.options.iter().clone().collect()
+       }
 }
 
 #[derive(Default)]