|
@@ -14787,7 +14787,16 @@ class CanvasElement(RuntimeClassBase, SCCDWidget):
|
|
|
|
|
|
def _update_attrs_query_1_exec(self, parameters):
|
|
|
result = parameters[0]
|
|
|
- self.prev_results = {k: (json.dumps(v) if v is not None else '') for k, v in result.items() if not isinstance(v, dict)}
|
|
|
+ self.prev_results = {}
|
|
|
+ for k, v in result.items():
|
|
|
+ if not isinstance(v, dict):
|
|
|
+ if v is not None:
|
|
|
+ try:
|
|
|
+ self.prev_results[k] = json.dumps(v)
|
|
|
+ except:
|
|
|
+ self.prev_results[k] = "!! ERROR -- cannot decode attribute !!"
|
|
|
+ else:
|
|
|
+ self.prev_results[k] = ""
|
|
|
self.al = {k: v for k, v in result.items() if isinstance(v, dict)}
|
|
|
self.al_keys = self.al.keys()
|
|
|
|
|
@@ -14845,7 +14854,16 @@ class CanvasElement(RuntimeClassBase, SCCDWidget):
|
|
|
params = [current_model, self.as_element, k, v]
|
|
|
else:
|
|
|
op = "attr_assign"
|
|
|
- params = [current_model, self.as_element, k, json.loads(v) if v != '' else 'null']
|
|
|
+ if v != "":
|
|
|
+ try:
|
|
|
+ v = json.loads(v)
|
|
|
+ except:
|
|
|
+ print("WARNING: Could not decode attr value as JSON: " + v)
|
|
|
+ print("Attempting to send as string!")
|
|
|
+ v = str(v)
|
|
|
+ else:
|
|
|
+ v = "null"
|
|
|
+ params = [current_model, self.as_element, k, v]
|
|
|
self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, [op, params])]))
|
|
|
|
|
|
def _update_attrs_process_results_0_guard(self, parameters):
|