rusty_cli/inputs/
multi_select_input.rs1use dialoguer::MultiSelect;
2
3pub struct MultiSelectInput {}
4
5impl MultiSelectInput {
6
7 pub fn get_selected_values(items: Vec<String>) -> Vec<String> {
9 let mut values = vec![];
10 let indexes = MultiSelectInput::get_selected_indexes(items.clone());
11 for index in indexes {
12 values.push(items.get(index).unwrap().to_string());
13 }
14 values
15 }
16
17 pub fn get_selected_indexes(items: Vec<String>) -> Vec<usize> {
19 MultiSelect::new()
20 .items(&items)
21 .interact()
22 .unwrap()
23 }
24}