tree_table/args/
args_insert.rs1use 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}