Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
8 years ago
Solved

Custom Properties won't show

 Hey!

 

I'm trying to use custom properties in my visual but they won't show in the GUI. I don't know what is missing, following is the code I'm using for the properties:

 

capabilities.json:

    "objects": {
        "general": {
            "displayName": "General",
            "properties": {
                "filter": {
                    "type": {
                        "filter": true
                    }
                }
            }
        },
        "dataPoint": {
            "displayName": "Graph Settings",
            "properties": {
                 "textSize": {
                    "displayName": "Text Size",
                    "type": {
                        "formatting": {
                            "fontSize": true
                        }
                    }
                },
                "filterSelfLoops": {
                    "displayName": "Filter selfloops",
                    "type": {
                        "bool": true
                    }
                },
                "useMultipleProcesses": {
                    "displayName": "Use multiple Processes",
                    "type": {
                        "bool": true
                    }
                }
            }
        }
    }

visual.ts:

    /**
    * Interface for Flowchart Settings.
    *
    * @interface
    * @property {} dataPoint - textSize => Change the fontsize.
    *                        - filterSelfLoops => Activate to disable selfloops.
    *                        - useMultipleProcesses => Active if you want to use multiple Processes.
    *
    */
    interface FlowchartSettings {
        dataPoint: {
            textSize: string;
            filterSelfLoops: boolean;
            useMultipleProcesses: boolean;
        };
    }

 

    export class Visual implements IVisual {
        private host: IVisualHost;
        .
        .
        .
        private flowChartSettings: FlowchartSettings;
        public enumerateObjectInstances(options: EnumerateVisualObjectInstancesOptions): VisualObjectInstanceEnumeration {
            let objectName = options.objectName;
            let objectEnumeration: VisualObjectInstance[] = [];

            switch (objectName) {
                case 'dataPoint':
                    objectEnumeration.push({
                        objectName: objectName,
                        properties: {
                            textSize: this.flowChartSettings.dataPoint.textSize,
                            filterSelfLoops: this.flowChartSettings.dataPoint.filterSelfLoops,
                            useMultipleProcesses: this.flowChartSettings.dataPoint.useMultipleProcesses,
                        },
                        selector: null
                    });
            }
            return objectEnumeration;
        }

 

Thanks in advance for your help,

lschroth

  • v-viig's avatar
    v-viig
    8 years ago

    What value is in this.flowChartSettings? Do you parse values to fill FlowchartSettings interface?

     

    Ignat Vilesov,

    Software Engineer

     

    Microsoft Power BI Custom Visuals

    [email protected]

4 Replies

  • v-viig's avatar
    v-viig
    Community Champion

    Code looks good. Have you tried to restart pbiviz start and refresh the web page?

     

    Ignat Vilesov,

    Software Engineer

     

    Microsoft Power BI Custom Visuals

    [email protected]

    • Anonymous's avatar
      Anonymous
      Not applicable

      Yes I tried to restart the visual, I also tried it in different Browsers and the Desktop Version. I'm running the latest stable API Version (1.11.0).

       

      Do you have any other ideas why it's not working?

      • v-viig's avatar
        v-viig
        Community Champion

        What value is in this.flowChartSettings? Do you parse values to fill FlowchartSettings interface?

         

        Ignat Vilesov,

        Software Engineer

         

        Microsoft Power BI Custom Visuals

        [email protected]