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}