Forum Discussion
Anonymous
4 years agoNot 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?
- Anonymous4 years ago
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; }
1 Reply
- AnonymousNot 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; }