-
Notifications
You must be signed in to change notification settings - Fork 8.6k
[Canvas] Bugs caused by using name instead of ID #100290
Copy link
Copy link
Closed
Labels
Feature:CanvasFeature:ExpressionLanguageInterpreter expression language (aka canvas pipeline)Interpreter expression language (aka canvas pipeline)Team:PresentationPresentation Team for Dashboard, Input Controls, and Canvas t//Presentation Team for Dashboard, Input Controls, and Canvas t//bugFixes for quality problems that affect the customer experienceFixes for quality problems that affect the customer experienceimpact:lowAddressing this issue will have a low level of impact on the quality/strength of our product.Addressing this issue will have a low level of impact on the quality/strength of our product.loe:mediumMedium Level of EffortMedium Level of Effort
Metadata
Metadata
Assignees
Labels
Feature:CanvasFeature:ExpressionLanguageInterpreter expression language (aka canvas pipeline)Interpreter expression language (aka canvas pipeline)Team:PresentationPresentation Team for Dashboard, Input Controls, and Canvas t//Presentation Team for Dashboard, Input Controls, and Canvas t//bugFixes for quality problems that affect the customer experienceFixes for quality problems that affect the customer experienceimpact:lowAddressing this issue will have a low level of impact on the quality/strength of our product.Addressing this issue will have a low level of impact on the quality/strength of our product.loe:mediumMedium Level of EffortMedium Level of Effort
Type
Fields
Give feedbackNo fields configured for issues without a type.
The
idproperty of adatatableindicates the JSON key in each row, while thenameis only used for display. However, many of the Canvas expressions only use thenameproperty for finding rows. For example, here is an expression function that generates two columns with the IDscol-0-aandcol-1-band the namesbytesandSum of bytes:The only function that works as expected:
| getCell column="col-1-b"These functions are buggy:
| staticColumn name="Sum of bytes" value=5: Clears all the metadata from the second columns and inserts{ 'Sum of bytes': 5 }into each row, instead of updating by name.| columns include="col-0-a,col-1-b": Returns a totally empty table| staticColumn name="col-1-b" value=5: Inserts a new column instead of replacing col-1-b| alterColumn column="col-1-b" type="number": Column not found| alterColumn column="Sum of bytes" type="number": Inserts{ 'Sum of bytes': null }into each row, which is the wrong ID.