Skip to main content

tree_table/args/
args_add.rs

1use crate::statics::default_emit_event_for_api;
2use crate::statics::default_inherit;
3use crate::statics::default_save_selection_for_api;
4use crate::statics::default_undo_for_api;
5#[cfg(feature = "serde")]
6use crate::statics::get_true;
7use alloc::string::String;
8use alloc::vec::Vec;
9
10#[cfg_attr(feature = "tsify", derive(tsify::Tsify))]
11#[cfg_attr(feature = "tsify", tsify(from_wasm_abi))]
12#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
13#[derive(Debug, Clone, PartialEq)]
14pub struct AddArgs {
15    pub items: Option<Vec<String>>,
16    pub pos: Option<u64>,
17    #[cfg_attr(feature = "serde", serde(default = "get_true"))]
18    pub vis: bool,
19    #[cfg_attr(feature = "serde", serde(default))]
20    pub select: bool,
21    #[cfg_attr(feature = "serde", serde(default = "default_inherit"))]
22    pub inherit: String,
23    #[cfg_attr(feature = "serde", serde(default = "default_emit_event_for_api"))]
24    pub emit: bool,
25    #[cfg_attr(feature = "serde", serde(default = "default_undo_for_api"))]
26    pub undo: bool,
27    #[cfg_attr(feature = "serde", serde(default = "default_save_selection_for_api"))]
28    pub save_selection: bool,
29}
30
31impl Default for AddArgs {
32    fn default() -> Self {
33        AddArgs {
34            items: None,
35            pos: None,
36            vis: true,
37            select: false,
38            inherit: default_inherit(),
39            emit: default_emit_event_for_api(),
40            undo: default_undo_for_api(),
41            save_selection: default_save_selection_for_api(),
42        }
43    }
44}
45
46#[cfg_attr(feature = "tsify", derive(tsify::Tsify))]
47#[cfg_attr(feature = "tsify", tsify(from_wasm_abi))]
48#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
49#[derive(Debug, Clone, PartialEq)]
50pub struct AddNumArgs {
51    pub num: Option<u64>,
52    pub pos: Option<u64>,
53    #[cfg_attr(feature = "serde", serde(default = "get_true"))]
54    pub vis: bool,
55    #[cfg_attr(feature = "serde", serde(default))]
56    pub select: bool,
57    #[cfg_attr(feature = "serde", serde(default = "default_inherit"))]
58    pub inherit: String,
59    #[cfg_attr(feature = "serde", serde(default = "default_emit_event_for_api"))]
60    pub emit: bool,
61    #[cfg_attr(feature = "serde", serde(default = "default_undo_for_api"))]
62    pub undo: bool,
63    #[cfg_attr(feature = "serde", serde(default = "default_save_selection_for_api"))]
64    pub save_selection: bool,
65}
66
67impl Default for AddNumArgs {
68    fn default() -> Self {
69        AddNumArgs {
70            num: None,
71            pos: None,
72            vis: true,
73            select: false,
74            inherit: default_inherit(),
75            emit: default_emit_event_for_api(),
76            undo: default_undo_for_api(),
77            save_selection: default_save_selection_for_api(),
78        }
79    }
80}