ratatui_toolkit/widgets/file_system_tree/methods/
toggle_selected.rs1use anyhow::Result;
2
3use crate::primitives::tree_view::TreeViewState;
4use crate::widgets::file_system_tree::FileSystemTree;
5
6impl<'a> FileSystemTree<'a> {
7 pub fn toggle_selected(&mut self, state: &mut TreeViewState) -> Result<()> {
8 if let Some(path) = state.selected_path.clone() {
9 if let Some(entry) = self.get_entry_at_path(&path) {
10 if entry.is_dir {
11 if !state.is_expanded(&path) {
12 self.expand_directory(&path)?;
13 }
14 state.toggle_expansion(path);
15 }
16 }
17 }
18 Ok(())
19 }
20}