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