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) {
|
pub fn toggle(&mut self) {
|
||||||
self.state.toggle();
|
self.state.toggle_selected();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-4
@@ -68,14 +68,20 @@ impl TreeState {
|
|||||||
|
|
||||||
/// Toggles a tree node.
|
/// Toggles a tree node.
|
||||||
/// If the node is in opened then it calls `close()`. Otherwise it calls `open()`.
|
/// If the node is in opened then it calls `close()`. Otherwise it calls `open()`.
|
||||||
pub fn toggle(&mut self) {
|
pub fn toggle(&mut self, identifier: TreeIdentifierVec) {
|
||||||
if self.opened.contains(&self.selected()) {
|
if self.opened.contains(&identifier) {
|
||||||
self.close(&self.selected());
|
self.close(&identifier);
|
||||||
} else {
|
} 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) {
|
pub fn close_all(&mut self) {
|
||||||
self.opened.clear();
|
self.opened.clear();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user