Skip to main content

euv_ui/component/virtual_list/view/
impl.rs

1use crate::*;
2
3/// Implementation of default configuration for virtual list.
4impl Default for EuvVirtualListConfig {
5    /// Returns a default configuration with sensible defaults.
6    ///
7    /// The default id is "virtual-list-default". For multiple instances,
8    /// always provide unique ids.
9    ///
10    /// # Returns
11    ///
12    /// - `EuvVirtualListConfig` - Default configuration with 1000 items, 44px height, and 5 overscan items.
13    fn default() -> Self {
14        Self {
15            id: String::from("virtual-list-default"),
16            total_count: 1000,
17            item_height: 44,
18            overscan_count: 5,
19        }
20    }
21}
22
23/// Implementation of default props for virtual list.
24impl Default for EuvVirtualListProps {
25    /// Returns default props with empty callbacks.
26    ///
27    /// # Returns
28    ///
29    /// - `EuvVirtualListProps` - Default props with default config and empty item renderer.
30    fn default() -> Self {
31        Self {
32            config: EuvVirtualListConfig::default(),
33            item_renderer: Rc::new(|_: usize| VirtualNode::Empty),
34            on_scroll: None,
35            on_visible_range_change: None,
36        }
37    }
38}