Delete label keys and values

This commit is contained in:
Dane Johnson 2022-05-12 14:03:59 -05:00
parent 6940d46d85
commit 079c4c9004
2 changed files with 16 additions and 3 deletions

View File

@ -274,7 +274,7 @@ impl EditNodeDialog {
let default = choices.iter().next().unwrap().clone(); let default = choices.iter().next().unwrap().clone();
let current = self.node.labels.entry(key.clone()).or_insert(default); let current = self.node.labels.entry(key.clone()).or_insert(default);
ComboBox::from_label(key) ComboBox::from_label(key)
.selected_text(format!("{}", current)) .selected_text(current.to_string())
.show_ui(ui, |ui| { .show_ui(ui, |ui| {
for choice in choices { for choice in choices {
ui.selectable_value(current, choice.clone(), choice); ui.selectable_value(current, choice.clone(), choice);
@ -332,7 +332,9 @@ impl EditLabelsDialog {
self.add_key_dialog.show(); self.add_key_dialog.show();
} }
if ui.button("-").clicked() { if ui.button("-").clicked() {
todo!(); board.remove_label_key(selected_label_key);
*selected_label_key = String::new();
*selected_label_value = String::new();
} }
}); });
col[1].group(|ui| { col[1].group(|ui| {
@ -347,7 +349,8 @@ impl EditLabelsDialog {
self.add_value_dialog.show(); self.add_value_dialog.show();
} }
if ui.button("-").clicked() { if ui.button("-").clicked() {
todo!(); board.remove_label_value(selected_label_key, selected_label_value);
*selected_label_value = String::new();
} }
}); });
}); });

View File

@ -43,6 +43,16 @@ impl Board {
} }
} }
pub fn remove_label_key(&mut self, key: &str) {
self.labels.remove(key);
}
pub fn remove_label_value(&mut self, key: &str, value: &str) {
if let Some(l) = self.labels.get_mut(key) {
l.remove(value);
}
}
pub fn add_edge(&mut self, from: usize, to: usize) { pub fn add_edge(&mut self, from: usize, to: usize) {
let node = self.nodes.get_mut(&from).expect("Could not find node"); let node = self.nodes.get_mut(&from).expect("Could not find node");
node.edges.insert(to); node.edges.insert(to);