ratatui_toolkit/primitives/tree_view/tree_view/methods/
visible_item_count.rs

1//! TreeView::visible_item_count method.
2
3use crate::primitives::tree_view::tree_view::TreeView;
4use crate::primitives::tree_view::tree_view_state::TreeViewState;
5
6impl<'a, T> TreeView<'a, T> {
7    /// Gets total visible item count.
8    ///
9    /// # Arguments
10    ///
11    /// * `state` - The tree view state.
12    ///
13    /// # Returns
14    ///
15    /// The number of visible items in the tree.
16    ///
17    /// # Example
18    ///
19    /// ```rust
20    /// use ratatui_toolkit::tree_view::{TreeNode, TreeView, TreeViewState};
21    ///
22    /// let nodes = vec![TreeNode::new("Item")];
23    /// let tree = TreeView::new(nodes);
24    /// let state = TreeViewState::new();
25    /// assert_eq!(tree.visible_item_count(&state), 1);
26    /// ```
27    pub fn visible_item_count(&self, state: &TreeViewState) -> usize {
28        self.flatten_tree(state).len()
29    }
30}