Details
-
Bug
-
Resolution: Fixed
-
Major
-
3.2
-
None
-
Trivial
-
Description
If we specify in the #livetable macro some column names which contain special characters (such as '.' for example) or Unicode characters, the livetable will not load the rows (although the JSON is loaded) because of a JS error. The inline JS script generated in macros.vm (#livetablecallback macro) creates for each table row some objects named 'row', which contain the respective JSON data. That data is accessed via the "dot" notation (row.<propname>) and this causes the JS to crash if the property name is not a valid JS object property name. We should instead use the "array" notation (row["<propname>"]) to make sure we don't have such conflicts, as no one can guarantee that the received JSON has "safe" column names.
I attached the fixed version of macros.vm