cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
GunterM Frequent Visitor
Frequent Visitor

Validation of property objects

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.ts 
    module 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 !
1 ACCEPTED SOLUTION

Accepted Solutions
Community Support Team
Community Support Team

Re: Validation of property objects

@GunterM,

 

As mentioned here, the DataViewObjectsParser provides the simplest way in order to parse properties of the formatting panel. You may do validation in update method.

Community Support Team _ Sam Zha
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
1 REPLY 1
Community Support Team
Community Support Team

Re: Validation of property objects

@GunterM,

 

As mentioned here, the DataViewObjectsParser provides the simplest way in order to parse properties of the formatting panel. You may do validation in update method.

Community Support Team _ Sam Zha
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.