Hi,
I've couple of general questions on objects and properties for which I could not find any real explanation/documentation.
- In some examples, objects and properties are initialized in the enumerateObjectInstances method of the Visual. It uses a switch statement to push all the objects and their properties into the VisualObjectInstance[] array. In other examples the enumerateObjectInstances is just left to the default implementation. What is the advantage/disadvantage of these two distinct ways of working ?
- Where and how do you write the code to validate property values? Suppose you have a property for controlling the font size of a label and you want it to be between 10 and 20? I've declared the object and property inside my capabilities file as follows:
"fontSize" : { "displayName": "Font Size", "type": { "formatting": { "fontSize": true } } }
Next I wrote the corresponding class in settings.tsmodule powerbi.extensibility.visual { "use strict"; import DataViewObjectsParser = powerbi.extensibility.utils.dataview.DataViewObjectsParser; export class TableVisualSettings extends DataViewObjectsParser { public tableFormatting: tableFormatting = new tableFormatting(); } export class tableFormatting { public show: boolean = true; public border: boolean = true; public backgroundColor: string = "#FFFFFF"; public fontSize: number = 14; } }
I have no trouble accessing the object and it's properties in code but where should the validation code go? And is there a way to display an error message to the user ?Thanks for any help you can provide !