Skip to content

Commit 6ce5aaa

Browse files
committed
uniformize layout and layouttemplate
Signed-off-by: Andrei Gherghescu <[email protected]>
1 parent 53bae5c commit 6ce5aaa

File tree

2 files changed

+56
-1
lines changed

2 files changed

+56
-1
lines changed

plotly/src/layout/mapbox.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ pub enum MapboxStyle {
4040
SatelliteStreets,
4141
}
4242

43+
#[serde_with::skip_serializing_none]
4344
#[derive(Serialize, Clone, Debug, FieldSetter)]
4445
pub struct Mapbox {
4546
/// Sets the mapbox access token to be used for this mapbox map. Note that

plotly/src/layout/mod.rs

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,34 +226,57 @@ pub struct LayoutTemplate {
226226
x_axis: Option<Box<Axis>>,
227227
#[serde(rename = "yaxis")]
228228
y_axis: Option<Box<Axis>>,
229+
#[serde(rename = "zaxis")]
230+
z_axis: Option<Box<Axis>>,
231+
229232
#[serde(rename = "xaxis2")]
230233
x_axis2: Option<Box<Axis>>,
231234
#[serde(rename = "yaxis2")]
232235
y_axis2: Option<Box<Axis>>,
236+
#[serde(rename = "zaxis2")]
237+
z_axis2: Option<Box<Axis>>,
238+
233239
#[serde(rename = "xaxis3")]
234240
x_axis3: Option<Box<Axis>>,
235241
#[serde(rename = "yaxis3")]
236242
y_axis3: Option<Box<Axis>>,
243+
#[serde(rename = "zaxis3")]
244+
z_axis3: Option<Box<Axis>>,
245+
237246
#[serde(rename = "xaxis4")]
238247
x_axis4: Option<Box<Axis>>,
239248
#[serde(rename = "yaxis4")]
240249
y_axis4: Option<Box<Axis>>,
250+
#[serde(rename = "zaxis4")]
251+
z_axis4: Option<Box<Axis>>,
252+
241253
#[serde(rename = "xaxis5")]
242254
x_axis5: Option<Box<Axis>>,
243255
#[serde(rename = "yaxis5")]
244256
y_axis5: Option<Box<Axis>>,
257+
#[serde(rename = "zaxis5")]
258+
z_axis5: Option<Box<Axis>>,
259+
245260
#[serde(rename = "xaxis6")]
246261
x_axis6: Option<Box<Axis>>,
247262
#[serde(rename = "yaxis6")]
248263
y_axis6: Option<Box<Axis>>,
264+
#[serde(rename = "zaxis6")]
265+
z_axis6: Option<Box<Axis>>,
266+
249267
#[serde(rename = "xaxis7")]
250268
x_axis7: Option<Box<Axis>>,
251269
#[serde(rename = "yaxis7")]
252270
y_axis7: Option<Box<Axis>>,
271+
#[serde(rename = "zaxis7")]
272+
z_axis7: Option<Box<Axis>>,
273+
253274
#[serde(rename = "xaxis8")]
254275
x_axis8: Option<Box<Axis>>,
255276
#[serde(rename = "yaxis8")]
256277
y_axis8: Option<Box<Axis>>,
278+
#[serde(rename = "zaxis8")]
279+
z_axis8: Option<Box<Axis>>,
257280

258281
// ternary: Option<LayoutTernary>,
259282
scene: Option<LayoutScene>,
@@ -304,6 +327,11 @@ pub struct LayoutTemplate {
304327
sunburst_colorway: Option<Vec<Box<dyn Color>>>,
305328
#[serde(rename = "extendsunburstcolors")]
306329
extend_sunburst_colors: Option<bool>,
330+
331+
mapbox: Option<Mapbox>,
332+
333+
#[serde(rename = "updatemenus")]
334+
update_menus: Option<Vec<UpdateMenu>>,
307335
}
308336

309337
impl LayoutTemplate {
@@ -402,37 +430,43 @@ pub struct Layout {
402430
y_axis2: Option<Box<Axis>>,
403431
#[serde(rename = "zaxis2")]
404432
z_axis2: Option<Box<Axis>>,
433+
405434
#[serde(rename = "xaxis3")]
406435
x_axis3: Option<Box<Axis>>,
407436
#[serde(rename = "yaxis3")]
408437
y_axis3: Option<Box<Axis>>,
409438
#[serde(rename = "zaxis3")]
410439
z_axis3: Option<Box<Axis>>,
440+
411441
#[serde(rename = "xaxis4")]
412442
x_axis4: Option<Box<Axis>>,
413443
#[serde(rename = "yaxis4")]
414444
y_axis4: Option<Box<Axis>>,
415445
#[serde(rename = "zaxis4")]
416446
z_axis4: Option<Box<Axis>>,
447+
417448
#[serde(rename = "xaxis5")]
418449
x_axis5: Option<Box<Axis>>,
419450
#[serde(rename = "yaxis5")]
420451
y_axis5: Option<Box<Axis>>,
421452
#[serde(rename = "zaxis5")]
422453
z_axis5: Option<Box<Axis>>,
454+
423455
#[serde(rename = "xaxis6")]
424456
x_axis6: Option<Box<Axis>>,
425457
#[serde(rename = "yaxis6")]
426458
y_axis6: Option<Box<Axis>>,
427459
#[serde(rename = "zaxis6")]
428460
z_axis6: Option<Box<Axis>>,
461+
429462
#[serde(rename = "xaxis7")]
430463
x_axis7: Option<Box<Axis>>,
431464
#[serde(rename = "yaxis7")]
432465
y_axis7: Option<Box<Axis>>,
433466
#[serde(rename = "zaxis7")]
434467
z_axis7: Option<Box<Axis>>,
435468
#[serde(rename = "xaxis8")]
469+
436470
x_axis8: Option<Box<Axis>>,
437471
#[serde(rename = "yaxis8")]
438472
y_axis8: Option<Box<Axis>>,
@@ -660,6 +694,14 @@ mod tests {
660694
.y_axis6(Axis::new())
661695
.y_axis7(Axis::new())
662696
.y_axis8(Axis::new())
697+
.z_axis(Axis::new())
698+
.z_axis2(Axis::new())
699+
.z_axis3(Axis::new())
700+
.z_axis4(Axis::new())
701+
.z_axis5(Axis::new())
702+
.z_axis6(Axis::new())
703+
.z_axis7(Axis::new())
704+
.z_axis8(Axis::new())
663705
.annotations(vec![Annotation::new()])
664706
.shapes(vec![Shape::new()])
665707
.new_shape(NewShape::new())
@@ -680,7 +722,9 @@ mod tests {
680722
.pie_colorway(vec!["#789789"])
681723
.extend_pie_colors(true)
682724
.sunburst_colorway(vec!["#654654"])
683-
.extend_sunburst_colors(false);
725+
.extend_sunburst_colors(false)
726+
.mapbox(Mapbox::new())
727+
.update_menus(vec![UpdateMenu::new()]);
684728

685729
let expected = json!({
686730
"title": {"text": "Title"},
@@ -724,6 +768,14 @@ mod tests {
724768
"yaxis6": {},
725769
"yaxis7": {},
726770
"yaxis8": {},
771+
"zaxis": {},
772+
"zaxis2": {},
773+
"zaxis3": {},
774+
"zaxis4": {},
775+
"zaxis5": {},
776+
"zaxis6": {},
777+
"zaxis7": {},
778+
"zaxis8": {},
727779
"annotations": [{}],
728780
"shapes": [{}],
729781
"newshape": {},
@@ -745,6 +797,8 @@ mod tests {
745797
"extendpiecolors": true,
746798
"sunburstcolorway": ["#654654"],
747799
"extendsunburstcolors": false,
800+
"mapbox": {},
801+
"updatemenus": [{}],
748802
});
749803

750804
assert_eq!(to_value(layout_template).unwrap(), expected);

0 commit comments

Comments
 (0)