@@ -36,26 +36,29 @@ class BabylonJS(DOMWidget):
3636
3737 @validate ("value" )
3838 def _valid_value (self , proposal ):
39- reqd = ["X" , "Y" , "Z" , "Red" , "Green" , "Blue" ]
40-
41- if not all (key in proposal .value .keys () for key in reqd ):
42- raise TraitError (f"Missing one of { reqd } in input" )
43-
44- data = {}
45- data ["X" ] = proposal .value ["X" ].tolist ()
46- data ["Y" ] = proposal .value ["Y" ].tolist ()
47- data ["Z" ] = proposal .value ["Z" ].tolist ()
48- data ["Red" ] = proposal .value ["Red" ].tolist ()
49- data ["Green" ] = proposal .value ["Green" ].tolist ()
50- data ["Blue" ] = proposal .value ["Blue" ].tolist ()
51-
52- self .extents = [
53- min (data ["X" ]),
54- max (data ["X" ]),
55- min (data ["Y" ]),
56- max (data ["Y" ]),
57- min (data ["Z" ]),
58- max (data ["Z" ]),
59- ]
60-
61- return json .dumps (data )
39+ if proposal .value :
40+ reqd = ["X" , "Y" , "Z" , "Red" , "Green" , "Blue" ]
41+
42+ if not all (key in proposal .value .keys () for key in reqd ):
43+ raise TraitError (f"Missing one of { reqd } in input" )
44+
45+ data = {}
46+ data ["X" ] = proposal .value ["X" ].tolist ()
47+ data ["Y" ] = proposal .value ["Y" ].tolist ()
48+ data ["Z" ] = proposal .value ["Z" ].tolist ()
49+ data ["Red" ] = proposal .value ["Red" ].tolist ()
50+ data ["Green" ] = proposal .value ["Green" ].tolist ()
51+ data ["Blue" ] = proposal .value ["Blue" ].tolist ()
52+
53+ self .extents = [
54+ min (data ["X" ]),
55+ max (data ["X" ]),
56+ min (data ["Y" ]),
57+ max (data ["Y" ]),
58+ min (data ["Z" ]),
59+ max (data ["Z" ]),
60+ ]
61+
62+ return json .dumps (data )
63+ else :
64+ return proposal .value
0 commit comments