Skip to main content

tree_table/args/
args_insert.rs

1use crate::Val;
2use crate::statics::default_emit_event_for_api;
3use crate::statics::default_inherit;
4use crate::statics::default_save_selection_for_api;
5use crate::statics::default_undo_for_api;
6use alloc::string::String;
7use alloc::vec::Vec;
8
9#[cfg_attr(feature = "tsify", derive(tsify::Tsify))]
10#[cfg_attr(feature = "tsify", tsify(from_wasm_abi))]
11#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
12#[derive(Debug, Clone, PartialEq)]
13pub struct InsertRow {
14    pub iid: Option<String>,
15    pub val: Option<Val>,
16    pub vals: Option<Vec<(String, Val)>>,
17    #[cfg_attr(feature = "serde", serde(default))]
18    pub open: bool,
19    pub dim: Option<u64>,
20}
21
22#[cfg_attr(feature = "tsify", derive(tsify::Tsify))]
23#[cfg_attr(feature = "tsify", tsify(from_wasm_abi))]
24#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
25#[derive(Debug, Clone, PartialEq)]
26pub struct InsertArgs {
27    pub rows: Option<Vec<InsertRow>>,
28    pub par: Option<String>,
29    pub pos: Option<u64>,
30    #[cfg_attr(feature = "serde", serde(default = "default_inherit"))]
31    pub inherit: String,
32    #[cfg_attr(feature = "serde", serde(default))]
33    pub select: bool,
34    #[cfg_attr(feature = "serde", serde(default = "default_emit_event_for_api"))]
35    pub emit: bool,
36    #[cfg_attr(feature = "serde", serde(default = "default_undo_for_api"))]
37    pub undo: bool,
38    #[cfg_attr(feature = "serde", serde(default = "default_save_selection_for_api"))]
39    pub save_selection: bool,
40}
41
42impl Default for InsertArgs {
43    fn default() -> Self {
44        InsertArgs {
45            rows: None,
46            par: None,
47            pos: None,
48            inherit: default_inherit(),
49            select: false,
50            emit: default_emit_event_for_api(),
51            undo: default_undo_for_api(),
52            save_selection: default_save_selection_for_api(),
53        }
54    }
55}