feat: implement TreeState select first/last

This commit is contained in:
EdJoPaTo
2022-08-31 15:04:25 +02:00
parent c0e4967b88
commit b01956741b
3 changed files with 26 additions and 1 deletions
+15
View File
@@ -86,6 +86,21 @@ impl TreeState {
self.opened.clear();
}
/// Select the first node.
pub fn select_first(&mut self) {
self.select(vec![0]);
}
/// Select the last node.
pub fn select_last(&mut self, items: &[TreeItem]) {
let visible = flatten(&self.get_all_opened(), items);
let new_identifier = visible
.last()
.map(|o| o.identifier.clone())
.unwrap_or_default();
self.select(new_identifier);
}
/// Handles the up arrow key.
/// Moves up in the current depth or to its parent.
pub fn key_up(&mut self, items: &[TreeItem]) {