feat: toggle with identifier
BREAKING CHANGE: toggle now requires identifier
This commit is contained in:
@@ -60,6 +60,6 @@ impl<'a> StatefulTree<'a> {
|
||||
}
|
||||
|
||||
pub fn toggle(&mut self) {
|
||||
self.state.toggle();
|
||||
self.state.toggle_selected();
|
||||
}
|
||||
}
|
||||
|
||||
+10
-4
@@ -68,14 +68,20 @@ impl TreeState {
|
||||
|
||||
/// Toggles a tree node.
|
||||
/// If the node is in opened then it calls `close()`. Otherwise it calls `open()`.
|
||||
pub fn toggle(&mut self) {
|
||||
if self.opened.contains(&self.selected()) {
|
||||
self.close(&self.selected());
|
||||
pub fn toggle(&mut self, identifier: TreeIdentifierVec) {
|
||||
if self.opened.contains(&identifier) {
|
||||
self.close(&identifier);
|
||||
} else {
|
||||
self.open(self.selected());
|
||||
self.open(identifier);
|
||||
}
|
||||
}
|
||||
|
||||
/// Toggles the currently selected tree node.
|
||||
/// See also [`toggle`](TreeState::toggle)
|
||||
pub fn toggle_selected(&mut self) {
|
||||
self.toggle(self.selected());
|
||||
}
|
||||
|
||||
pub fn close_all(&mut self) {
|
||||
self.opened.clear();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user