use super::super::Combobox;
impl Combobox {
pub fn input(&self) -> &str {
&self.input
}
pub fn get_value(&self) -> &str {
&self.input
}
pub fn selected_value(&self) -> Option<&str> {
if self.multi_select {
return None;
}
if let Some(opt) = self
.options
.iter()
.find(|o| o.label == self.input || o.get_value() == self.input)
{
return Some(opt.get_value());
}
if self.allow_custom && !self.input.is_empty() {
Some(self.input.as_str())
} else {
None
}
}
pub fn selected_values_ref(&self) -> &[String] {
&self.selected_values
}
pub fn is_open(&self) -> bool {
self.open
}
pub fn is_loading(&self) -> bool {
self.loading
}
pub fn option_count(&self) -> usize {
self.options.len()
}
pub fn filtered_count(&self) -> usize {
self.filtered.len()
}
pub fn is_selected(&self, value: &str) -> bool {
self.selected_values.iter().any(|v| v == value)
}
}