[BUG] Binding Integer to Data Point from Data Set Created from split()

Running into a bug binding a data point from a data set that was created by the split() function in an expression to a property. Here’s my setup:

Template named test with a single rectangle component.
String tag with value of 255,0,0 bound to internal property svgColor
Rectangle component named Rectangle

String properties on the rectangle of color_R, color_G, and color_B that are derived from from the internal svgColor property using toInteger(split({test.svgColor},",")[0,0]) / [1,0] / [2,0] expressions, respectively.

Initially, all of the bindings seem to work. However, once I save, close, and reopen the template I’m getting some errors with color_G and color_B. They throw this error:

(but not color_R?)

Checking the dataset manually by making a temporary dataset property and binding to an expression of split({[default]svgColor},","), I can see that I get 3 rows, 1 column.

It seems like the bindings still work, despite the errors.

What’s very odd, is if I remove the binding of the tag to svgColor (and leave the rest of the bindings the same) I no longer get the errors.

Tag bindings start up with a null or -1. That doesn’t split, so you don’t get the 2nd and 3rd elements at startup. Wrap in the try() expression to mitigate.

1 Like

Wrap the whole thing, or just the split?

Wrap the individual expressions that are trying to pull non-existent elements out of the dataset.