Skip to content

Commit 6d57be3

Browse files
authored
Merge pull request #3 from TileDB-Inc/nb/sync_to_dom
sync to dom on startup
2 parents ad5a4e1 + 69858a3 commit 6d57be3

File tree

1 file changed

+26
-23
lines changed

1 file changed

+26
-23
lines changed

pybabylonjs/babylonjs.py

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)