nominal_api/conjure/objects/scout/savedviews/api/
table_state.rs1#[derive(
2 Debug,
3 Clone,
4 conjure_object::serde::Serialize,
5 conjure_object::serde::Deserialize,
6 conjure_object::private::DeriveWith
7)]
8#[serde(crate = "conjure_object::serde")]
9#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[conjure_object::private::staged_builder::staged_builder]
11#[builder(crate = conjure_object::private::staged_builder, update, inline)]
12pub struct TableState {
13 #[builder(default, into)]
14 #[serde(
15 rename = "columnVisibility",
16 skip_serializing_if = "Option::is_none",
17 default
18 )]
19 column_visibility: Option<std::collections::BTreeMap<super::ColumnId, bool>>,
20 #[builder(default, into)]
21 #[serde(rename = "columnSizing", skip_serializing_if = "Option::is_none", default)]
22 column_sizing: Option<std::collections::BTreeMap<super::ColumnId, i32>>,
23 #[builder(default, into)]
24 #[serde(rename = "columnOrder", skip_serializing_if = "Option::is_none", default)]
25 column_order: Option<Vec<super::ColumnId>>,
26 #[builder(
27 default,
28 custom(
29 type = impl
30 Into<Option<super::ColumnPinningState>>,
31 convert = |v|v.into().map(Box::new)
32 )
33 )]
34 #[serde(rename = "columnPinning", skip_serializing_if = "Option::is_none", default)]
35 column_pinning: Option<Box<super::ColumnPinningState>>,
36 #[builder(
37 default,
38 custom(
39 type = impl
40 Into<Option<super::MetricColumns>>,
41 convert = |v|v.into().map(Box::new)
42 )
43 )]
44 #[serde(rename = "metricColumns", skip_serializing_if = "Option::is_none", default)]
45 metric_columns: Option<Box<super::MetricColumns>>,
46}
47impl TableState {
48 #[inline]
50 pub fn new() -> Self {
51 Self::builder().build()
52 }
53 #[inline]
54 pub fn column_visibility(
55 &self,
56 ) -> Option<&std::collections::BTreeMap<super::ColumnId, bool>> {
57 self.column_visibility.as_ref().map(|o| &*o)
58 }
59 #[inline]
60 pub fn column_sizing(
61 &self,
62 ) -> Option<&std::collections::BTreeMap<super::ColumnId, i32>> {
63 self.column_sizing.as_ref().map(|o| &*o)
64 }
65 #[inline]
66 pub fn column_order(&self) -> Option<&[super::ColumnId]> {
67 self.column_order.as_ref().map(|o| &**o)
68 }
69 #[inline]
70 pub fn column_pinning(&self) -> Option<&super::ColumnPinningState> {
71 self.column_pinning.as_ref().map(|o| &**o)
72 }
73 #[inline]
74 pub fn metric_columns(&self) -> Option<&super::MetricColumns> {
75 self.metric_columns.as_ref().map(|o| &**o)
76 }
77}