#[non_exhaustive]pub struct ComponentGridProperties {
pub background_color: Option<String>,
pub children: Option<Vec<Component>>,
pub is_visible: Option<ComponentGridPropertiesIsVisible>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Properties of a grid component.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.background_color: Option<String>
The background color of the grid.
children: Option<Vec<Component>>
The child components of the grid.
is_visible: Option<ComponentGridPropertiesIsVisible>
Whether the grid component and its children are visible. If a string, it must be a valid JavaScript expression that evaluates to a boolean.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl ComponentGridProperties
impl ComponentGridProperties
Sourcepub fn new() -> ComponentGridProperties
pub fn new() -> ComponentGridProperties
Examples found in repository?
examples/v2_app-builder_CreateApp.rs (line 48)
36async fn main() {
37 let body =
38 CreateAppRequest
39 ::new().data(
40 CreateAppRequestData::new(
41 AppDefinitionType::APPDEFINITIONS,
42 ).attributes(
43 CreateAppRequestDataAttributes::new()
44 .components(
45 vec![
46 ComponentGrid::new(
47 "grid0".to_string(),
48 ComponentGridProperties::new()
49 .background_color("default".to_string())
50 .children(
51 vec![
52 Component::new(
53 "gridCell0".to_string(),
54 ComponentProperties::new()
55 .children(
56 vec![
57 Component::new(
58 "text0".to_string(),
59 ComponentProperties
60 ::new().is_visible(
61 ComponentPropertiesIsVisible::Bool(true),
62 ),
63 ComponentType::TEXT,
64 ).events(vec![])
65 ],
66 )
67 .is_visible(
68 ComponentPropertiesIsVisible::String("true".to_string()),
69 ),
70 ComponentType::GRIDCELL,
71 ).events(vec![]),
72 Component::new(
73 "gridCell2".to_string(),
74 ComponentProperties::new()
75 .children(
76 vec![
77 Component::new(
78 "table0".to_string(),
79 ComponentProperties
80 ::new().is_visible(
81 ComponentPropertiesIsVisible::Bool(true),
82 ),
83 ComponentType::TABLE,
84 ).events(vec![])
85 ],
86 )
87 .is_visible(
88 ComponentPropertiesIsVisible::String("true".to_string()),
89 ),
90 ComponentType::GRIDCELL,
91 ).events(vec![]),
92 Component::new(
93 "gridCell1".to_string(),
94 ComponentProperties::new()
95 .children(
96 vec![
97 Component::new(
98 "text1".to_string(),
99 ComponentProperties
100 ::new().is_visible(
101 ComponentPropertiesIsVisible::Bool(true),
102 ),
103 ComponentType::TEXT,
104 ).events(vec![])
105 ],
106 )
107 .is_visible(
108 ComponentPropertiesIsVisible::String("true".to_string()),
109 ),
110 ComponentType::GRIDCELL,
111 ).events(vec![]),
112 Component::new(
113 "gridCell3".to_string(),
114 ComponentProperties::new()
115 .children(
116 vec![
117 Component::new(
118 "button0".to_string(),
119 ComponentProperties
120 ::new().is_visible(
121 ComponentPropertiesIsVisible::Bool(true),
122 ),
123 ComponentType::BUTTON,
124 ).events(
125 vec![
126 AppBuilderEvent::new()
127 .name(AppBuilderEventName::CLICK)
128 .type_(
129 AppBuilderEventType::SETSTATEVARIABLEVALUE,
130 )
131 ],
132 )
133 ],
134 )
135 .is_visible(
136 ComponentPropertiesIsVisible::String("true".to_string()),
137 ),
138 ComponentType::GRIDCELL,
139 ).events(vec![]),
140 Component::new(
141 "gridCell4".to_string(),
142 ComponentProperties::new()
143 .children(
144 vec![
145 Component::new(
146 "button1".to_string(),
147 ComponentProperties
148 ::new().is_visible(
149 ComponentPropertiesIsVisible::Bool(true),
150 ),
151 ComponentType::BUTTON,
152 ).events(
153 vec![
154 AppBuilderEvent::new()
155 .name(AppBuilderEventName::CLICK)
156 .type_(
157 AppBuilderEventType::SETSTATEVARIABLEVALUE,
158 )
159 ],
160 )
161 ],
162 )
163 .is_visible(
164 ComponentPropertiesIsVisible::String("true".to_string()),
165 ),
166 ComponentType::GRIDCELL,
167 ).events(vec![])
168 ],
169 ),
170 ComponentGridType::GRID,
171 ).events(vec![])
172 ],
173 )
174 .description(
175 "This is a slightly complicated example app that fetches and displays cat facts".to_string(),
176 )
177 .name("Example Cat Facts Viewer".to_string())
178 .queries(
179 vec![
180 Query::ActionQuery(
181 Box::new(
182 ActionQuery::new(
183 Uuid::parse_str(
184 "92ff0bb8-553b-4f31-87c7-ef5bd16d47d5",
185 ).expect("invalid UUID"),
186 "fetchFacts".to_string(),
187 ActionQueryProperties::new(
188 ActionQuerySpec::ActionQuerySpecObject(
189 Box::new(
190 ActionQuerySpecObject::new(
191 "com.datadoghq.http.request".to_string(),
192 )
193 .connection_id(
194 "5e63f4a8-4ce6-47de-ba11-f6617c1d54f3".to_string(),
195 )
196 .inputs(
197 ActionQuerySpecInputs::ActionQuerySpecInput(
198 BTreeMap::from(
199 [
200 ("verb".to_string(), Value::from("GET")),
201 (
202 "url".to_string(),
203 Value::from(
204 "https://catfact.ninja/facts",
205 ),
206 ),
207 ],
208 ),
209 ),
210 ),
211 ),
212 ),
213 ),
214 ActionQueryType::ACTION,
215 ).events(vec![]),
216 ),
217 ),
218 Query::StateVariable(
219 Box::new(
220 StateVariable::new(
221 Uuid::parse_str(
222 "afd03c81-4075-4432-8618-ba09d52d2f2d",
223 ).expect("invalid UUID"),
224 "pageSize".to_string(),
225 StateVariableProperties::new().default_value(Value::from("${20}")),
226 StateVariableType::STATEVARIABLE,
227 ),
228 ),
229 ),
230 Query::DataTransform(
231 Box::new(
232 DataTransform::new(
233 Uuid::parse_str(
234 "0fb22859-47dc-4137-9e41-7b67d04c525c",
235 ).expect("invalid UUID"),
236 "randomFact".to_string(),
237 DataTransformProperties
238 ::new().outputs(
239 r#"${(() => {const facts = fetchFacts.outputs.body.data
240return facts[Math.floor(Math.random()*facts.length)]
241})()}"#.to_string(),
242 ),
243 DataTransformType::DATATRANSFORM,
244 ),
245 ),
246 )
247 ],
248 )
249 .root_instance_name("grid0".to_string()),
250 ),
251 );
252 let configuration = datadog::Configuration::new();
253 let api = AppBuilderAPI::with_config(configuration);
254 let resp = api.create_app(body).await;
255 if let Ok(value) = resp {
256 println!("{:#?}", value);
257 } else {
258 println!("{:#?}", resp.unwrap_err());
259 }
260}
Sourcepub fn background_color(self, value: String) -> Self
pub fn background_color(self, value: String) -> Self
Examples found in repository?
examples/v2_app-builder_CreateApp.rs (line 49)
36async fn main() {
37 let body =
38 CreateAppRequest
39 ::new().data(
40 CreateAppRequestData::new(
41 AppDefinitionType::APPDEFINITIONS,
42 ).attributes(
43 CreateAppRequestDataAttributes::new()
44 .components(
45 vec![
46 ComponentGrid::new(
47 "grid0".to_string(),
48 ComponentGridProperties::new()
49 .background_color("default".to_string())
50 .children(
51 vec![
52 Component::new(
53 "gridCell0".to_string(),
54 ComponentProperties::new()
55 .children(
56 vec![
57 Component::new(
58 "text0".to_string(),
59 ComponentProperties
60 ::new().is_visible(
61 ComponentPropertiesIsVisible::Bool(true),
62 ),
63 ComponentType::TEXT,
64 ).events(vec![])
65 ],
66 )
67 .is_visible(
68 ComponentPropertiesIsVisible::String("true".to_string()),
69 ),
70 ComponentType::GRIDCELL,
71 ).events(vec![]),
72 Component::new(
73 "gridCell2".to_string(),
74 ComponentProperties::new()
75 .children(
76 vec![
77 Component::new(
78 "table0".to_string(),
79 ComponentProperties
80 ::new().is_visible(
81 ComponentPropertiesIsVisible::Bool(true),
82 ),
83 ComponentType::TABLE,
84 ).events(vec![])
85 ],
86 )
87 .is_visible(
88 ComponentPropertiesIsVisible::String("true".to_string()),
89 ),
90 ComponentType::GRIDCELL,
91 ).events(vec![]),
92 Component::new(
93 "gridCell1".to_string(),
94 ComponentProperties::new()
95 .children(
96 vec![
97 Component::new(
98 "text1".to_string(),
99 ComponentProperties
100 ::new().is_visible(
101 ComponentPropertiesIsVisible::Bool(true),
102 ),
103 ComponentType::TEXT,
104 ).events(vec![])
105 ],
106 )
107 .is_visible(
108 ComponentPropertiesIsVisible::String("true".to_string()),
109 ),
110 ComponentType::GRIDCELL,
111 ).events(vec![]),
112 Component::new(
113 "gridCell3".to_string(),
114 ComponentProperties::new()
115 .children(
116 vec![
117 Component::new(
118 "button0".to_string(),
119 ComponentProperties
120 ::new().is_visible(
121 ComponentPropertiesIsVisible::Bool(true),
122 ),
123 ComponentType::BUTTON,
124 ).events(
125 vec![
126 AppBuilderEvent::new()
127 .name(AppBuilderEventName::CLICK)
128 .type_(
129 AppBuilderEventType::SETSTATEVARIABLEVALUE,
130 )
131 ],
132 )
133 ],
134 )
135 .is_visible(
136 ComponentPropertiesIsVisible::String("true".to_string()),
137 ),
138 ComponentType::GRIDCELL,
139 ).events(vec![]),
140 Component::new(
141 "gridCell4".to_string(),
142 ComponentProperties::new()
143 .children(
144 vec![
145 Component::new(
146 "button1".to_string(),
147 ComponentProperties
148 ::new().is_visible(
149 ComponentPropertiesIsVisible::Bool(true),
150 ),
151 ComponentType::BUTTON,
152 ).events(
153 vec![
154 AppBuilderEvent::new()
155 .name(AppBuilderEventName::CLICK)
156 .type_(
157 AppBuilderEventType::SETSTATEVARIABLEVALUE,
158 )
159 ],
160 )
161 ],
162 )
163 .is_visible(
164 ComponentPropertiesIsVisible::String("true".to_string()),
165 ),
166 ComponentType::GRIDCELL,
167 ).events(vec![])
168 ],
169 ),
170 ComponentGridType::GRID,
171 ).events(vec![])
172 ],
173 )
174 .description(
175 "This is a slightly complicated example app that fetches and displays cat facts".to_string(),
176 )
177 .name("Example Cat Facts Viewer".to_string())
178 .queries(
179 vec![
180 Query::ActionQuery(
181 Box::new(
182 ActionQuery::new(
183 Uuid::parse_str(
184 "92ff0bb8-553b-4f31-87c7-ef5bd16d47d5",
185 ).expect("invalid UUID"),
186 "fetchFacts".to_string(),
187 ActionQueryProperties::new(
188 ActionQuerySpec::ActionQuerySpecObject(
189 Box::new(
190 ActionQuerySpecObject::new(
191 "com.datadoghq.http.request".to_string(),
192 )
193 .connection_id(
194 "5e63f4a8-4ce6-47de-ba11-f6617c1d54f3".to_string(),
195 )
196 .inputs(
197 ActionQuerySpecInputs::ActionQuerySpecInput(
198 BTreeMap::from(
199 [
200 ("verb".to_string(), Value::from("GET")),
201 (
202 "url".to_string(),
203 Value::from(
204 "https://catfact.ninja/facts",
205 ),
206 ),
207 ],
208 ),
209 ),
210 ),
211 ),
212 ),
213 ),
214 ActionQueryType::ACTION,
215 ).events(vec![]),
216 ),
217 ),
218 Query::StateVariable(
219 Box::new(
220 StateVariable::new(
221 Uuid::parse_str(
222 "afd03c81-4075-4432-8618-ba09d52d2f2d",
223 ).expect("invalid UUID"),
224 "pageSize".to_string(),
225 StateVariableProperties::new().default_value(Value::from("${20}")),
226 StateVariableType::STATEVARIABLE,
227 ),
228 ),
229 ),
230 Query::DataTransform(
231 Box::new(
232 DataTransform::new(
233 Uuid::parse_str(
234 "0fb22859-47dc-4137-9e41-7b67d04c525c",
235 ).expect("invalid UUID"),
236 "randomFact".to_string(),
237 DataTransformProperties
238 ::new().outputs(
239 r#"${(() => {const facts = fetchFacts.outputs.body.data
240return facts[Math.floor(Math.random()*facts.length)]
241})()}"#.to_string(),
242 ),
243 DataTransformType::DATATRANSFORM,
244 ),
245 ),
246 )
247 ],
248 )
249 .root_instance_name("grid0".to_string()),
250 ),
251 );
252 let configuration = datadog::Configuration::new();
253 let api = AppBuilderAPI::with_config(configuration);
254 let resp = api.create_app(body).await;
255 if let Ok(value) = resp {
256 println!("{:#?}", value);
257 } else {
258 println!("{:#?}", resp.unwrap_err());
259 }
260}
Sourcepub fn children(self, value: Vec<Component>) -> Self
pub fn children(self, value: Vec<Component>) -> Self
Examples found in repository?
examples/v2_app-builder_CreateApp.rs (lines 50-169)
36async fn main() {
37 let body =
38 CreateAppRequest
39 ::new().data(
40 CreateAppRequestData::new(
41 AppDefinitionType::APPDEFINITIONS,
42 ).attributes(
43 CreateAppRequestDataAttributes::new()
44 .components(
45 vec![
46 ComponentGrid::new(
47 "grid0".to_string(),
48 ComponentGridProperties::new()
49 .background_color("default".to_string())
50 .children(
51 vec![
52 Component::new(
53 "gridCell0".to_string(),
54 ComponentProperties::new()
55 .children(
56 vec![
57 Component::new(
58 "text0".to_string(),
59 ComponentProperties
60 ::new().is_visible(
61 ComponentPropertiesIsVisible::Bool(true),
62 ),
63 ComponentType::TEXT,
64 ).events(vec![])
65 ],
66 )
67 .is_visible(
68 ComponentPropertiesIsVisible::String("true".to_string()),
69 ),
70 ComponentType::GRIDCELL,
71 ).events(vec![]),
72 Component::new(
73 "gridCell2".to_string(),
74 ComponentProperties::new()
75 .children(
76 vec![
77 Component::new(
78 "table0".to_string(),
79 ComponentProperties
80 ::new().is_visible(
81 ComponentPropertiesIsVisible::Bool(true),
82 ),
83 ComponentType::TABLE,
84 ).events(vec![])
85 ],
86 )
87 .is_visible(
88 ComponentPropertiesIsVisible::String("true".to_string()),
89 ),
90 ComponentType::GRIDCELL,
91 ).events(vec![]),
92 Component::new(
93 "gridCell1".to_string(),
94 ComponentProperties::new()
95 .children(
96 vec![
97 Component::new(
98 "text1".to_string(),
99 ComponentProperties
100 ::new().is_visible(
101 ComponentPropertiesIsVisible::Bool(true),
102 ),
103 ComponentType::TEXT,
104 ).events(vec![])
105 ],
106 )
107 .is_visible(
108 ComponentPropertiesIsVisible::String("true".to_string()),
109 ),
110 ComponentType::GRIDCELL,
111 ).events(vec![]),
112 Component::new(
113 "gridCell3".to_string(),
114 ComponentProperties::new()
115 .children(
116 vec![
117 Component::new(
118 "button0".to_string(),
119 ComponentProperties
120 ::new().is_visible(
121 ComponentPropertiesIsVisible::Bool(true),
122 ),
123 ComponentType::BUTTON,
124 ).events(
125 vec![
126 AppBuilderEvent::new()
127 .name(AppBuilderEventName::CLICK)
128 .type_(
129 AppBuilderEventType::SETSTATEVARIABLEVALUE,
130 )
131 ],
132 )
133 ],
134 )
135 .is_visible(
136 ComponentPropertiesIsVisible::String("true".to_string()),
137 ),
138 ComponentType::GRIDCELL,
139 ).events(vec![]),
140 Component::new(
141 "gridCell4".to_string(),
142 ComponentProperties::new()
143 .children(
144 vec![
145 Component::new(
146 "button1".to_string(),
147 ComponentProperties
148 ::new().is_visible(
149 ComponentPropertiesIsVisible::Bool(true),
150 ),
151 ComponentType::BUTTON,
152 ).events(
153 vec![
154 AppBuilderEvent::new()
155 .name(AppBuilderEventName::CLICK)
156 .type_(
157 AppBuilderEventType::SETSTATEVARIABLEVALUE,
158 )
159 ],
160 )
161 ],
162 )
163 .is_visible(
164 ComponentPropertiesIsVisible::String("true".to_string()),
165 ),
166 ComponentType::GRIDCELL,
167 ).events(vec![])
168 ],
169 ),
170 ComponentGridType::GRID,
171 ).events(vec![])
172 ],
173 )
174 .description(
175 "This is a slightly complicated example app that fetches and displays cat facts".to_string(),
176 )
177 .name("Example Cat Facts Viewer".to_string())
178 .queries(
179 vec![
180 Query::ActionQuery(
181 Box::new(
182 ActionQuery::new(
183 Uuid::parse_str(
184 "92ff0bb8-553b-4f31-87c7-ef5bd16d47d5",
185 ).expect("invalid UUID"),
186 "fetchFacts".to_string(),
187 ActionQueryProperties::new(
188 ActionQuerySpec::ActionQuerySpecObject(
189 Box::new(
190 ActionQuerySpecObject::new(
191 "com.datadoghq.http.request".to_string(),
192 )
193 .connection_id(
194 "5e63f4a8-4ce6-47de-ba11-f6617c1d54f3".to_string(),
195 )
196 .inputs(
197 ActionQuerySpecInputs::ActionQuerySpecInput(
198 BTreeMap::from(
199 [
200 ("verb".to_string(), Value::from("GET")),
201 (
202 "url".to_string(),
203 Value::from(
204 "https://catfact.ninja/facts",
205 ),
206 ),
207 ],
208 ),
209 ),
210 ),
211 ),
212 ),
213 ),
214 ActionQueryType::ACTION,
215 ).events(vec![]),
216 ),
217 ),
218 Query::StateVariable(
219 Box::new(
220 StateVariable::new(
221 Uuid::parse_str(
222 "afd03c81-4075-4432-8618-ba09d52d2f2d",
223 ).expect("invalid UUID"),
224 "pageSize".to_string(),
225 StateVariableProperties::new().default_value(Value::from("${20}")),
226 StateVariableType::STATEVARIABLE,
227 ),
228 ),
229 ),
230 Query::DataTransform(
231 Box::new(
232 DataTransform::new(
233 Uuid::parse_str(
234 "0fb22859-47dc-4137-9e41-7b67d04c525c",
235 ).expect("invalid UUID"),
236 "randomFact".to_string(),
237 DataTransformProperties
238 ::new().outputs(
239 r#"${(() => {const facts = fetchFacts.outputs.body.data
240return facts[Math.floor(Math.random()*facts.length)]
241})()}"#.to_string(),
242 ),
243 DataTransformType::DATATRANSFORM,
244 ),
245 ),
246 )
247 ],
248 )
249 .root_instance_name("grid0".to_string()),
250 ),
251 );
252 let configuration = datadog::Configuration::new();
253 let api = AppBuilderAPI::with_config(configuration);
254 let resp = api.create_app(body).await;
255 if let Ok(value) = resp {
256 println!("{:#?}", value);
257 } else {
258 println!("{:#?}", resp.unwrap_err());
259 }
260}
pub fn is_visible(self, value: ComponentGridPropertiesIsVisible) -> Self
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for ComponentGridProperties
impl Clone for ComponentGridProperties
Source§fn clone(&self) -> ComponentGridProperties
fn clone(&self) -> ComponentGridProperties
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ComponentGridProperties
impl Debug for ComponentGridProperties
Source§impl Default for ComponentGridProperties
impl Default for ComponentGridProperties
Source§impl<'de> Deserialize<'de> for ComponentGridProperties
impl<'de> Deserialize<'de> for ComponentGridProperties
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ComponentGridProperties
impl PartialEq for ComponentGridProperties
Source§impl Serialize for ComponentGridProperties
impl Serialize for ComponentGridProperties
impl StructuralPartialEq for ComponentGridProperties
Auto Trait Implementations§
impl Freeze for ComponentGridProperties
impl RefUnwindSafe for ComponentGridProperties
impl Send for ComponentGridProperties
impl Sync for ComponentGridProperties
impl Unpin for ComponentGridProperties
impl UnwindSafe for ComponentGridProperties
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more