@@ -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
309337impl 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