Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Number input with min and max values

I'm doing some custom R HTML visuals in Power BI. I can get a number input in Power BI by adding

 

"TestNumeric": {
  "displayName": "Number",
  "description": "test number",
  "type": {
    "numeric": true
  }
}

in capabilities.json (and adapting src/settings.ts accordingly).

 

I would like to constrain this number input with a minimum and a maximum value. How can I do that?

1 ACCEPTED SOLUTION
Anonymous
Not applicable

I've found  😀

One has to modify src/visual.ts.

 

At the beginning, in the blocks of imports, add:

 

import VisualObjectInstanceEnumeration = powerbi.VisualObjectInstanceEnumeration;
 
Now, at the end, replace the function enumerateObjectInstances with this one:
 

 

 

 

    public enumerateObjectInstances(options: EnumerateVisualObjectInstancesOptions): VisualObjectInstanceEnumeration {

        //var settings: VisualSettings = this.settings || VisualSettings.getDefault();
        var enumeratedObjects: VisualObjectInstanceEnumerationObject =
            <VisualObjectInstanceEnumerationObject>VisualSettings.enumerateObjectInstances(
                this.settings || VisualSettings.getDefault(), options
            );

        if (options.objectName === "YOUR-OBJECT-NAME") {
            enumeratedObjects.instances[0].validValues = {
                YOUR-PROPERTY-NAME: { numberRange: { min: 8, max: 20 } }
            };
        }

        return enumeratedObjects;
    }

 

 

 

 

View solution in original post

1 REPLY 1
Anonymous
Not applicable

I've found  😀

One has to modify src/visual.ts.

 

At the beginning, in the blocks of imports, add:

 

import VisualObjectInstanceEnumeration = powerbi.VisualObjectInstanceEnumeration;
 
Now, at the end, replace the function enumerateObjectInstances with this one:
 

 

 

 

    public enumerateObjectInstances(options: EnumerateVisualObjectInstancesOptions): VisualObjectInstanceEnumeration {

        //var settings: VisualSettings = this.settings || VisualSettings.getDefault();
        var enumeratedObjects: VisualObjectInstanceEnumerationObject =
            <VisualObjectInstanceEnumerationObject>VisualSettings.enumerateObjectInstances(
                this.settings || VisualSettings.getDefault(), options
            );

        if (options.objectName === "YOUR-OBJECT-NAME") {
            enumeratedObjects.instances[0].validValues = {
                YOUR-PROPERTY-NAME: { numberRange: { min: 8, max: 20 } }
            };
        }

        return enumeratedObjects;
    }

 

 

 

 

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors