Skip to main content

tree_table/args/
args_move_items.rs

1use crate::statics::default_emit_event_for_api;
2use crate::statics::default_save_selection_for_api;
3use crate::statics::default_undo_for_api;
4use alloc::string::String;
5use hashbrown::HashSet;
6
7#[cfg_attr(feature = "tsify", derive(tsify::Tsify))]
8#[cfg_attr(feature = "tsify", tsify(from_wasm_abi))]
9#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
10#[derive(Debug, Clone, PartialEq)]
11pub struct MoveItemsArgs {
12    pub items: Option<HashSet<String>>,
13    pub par: Option<String>,
14    pub pos: Option<u64>,
15    #[cfg_attr(feature = "serde", serde(default))]
16    pub select: bool,
17    #[cfg_attr(feature = "serde", serde(default = "default_emit_event_for_api"))]
18    pub emit: bool,
19    #[cfg_attr(feature = "serde", serde(default = "default_undo_for_api"))]
20    pub undo: bool,
21    #[cfg_attr(feature = "serde", serde(default = "default_save_selection_for_api"))]
22    pub save_selection: bool,
23}
24
25impl Default for MoveItemsArgs {
26    fn default() -> Self {
27        MoveItemsArgs {
28            items: None,
29            par: None,
30            pos: None,
31            select: false,
32            emit: default_emit_event_for_api(),
33            undo: default_undo_for_api(),
34            save_selection: default_save_selection_for_api(),
35        }
36    }
37}