Forum Discussion
Power BI Property pane - Slider control
- 7 years ago
Right. Please use numeric type instead. Anonymous is tracking a feature request to support Slider.
- Not sure because it is not documented
- You can specify the data type instead
- I don't think so
- Ted gave a very good example with numberRange
- I don't think because native visual do not provide such a feature
Ignat Vilesov,
Software Engineer
Microsoft Power BI Custom Visuals
Yes, this technique isn't really documented. I discovered it by reverse engineering examples created by others.
Begin by creating an integer property objects section of capabities.json.
"objects": {
"barchartProperties": {
"displayName": "Bar Chart Properties",
"properties": {
"xAxisFontSize": {
"displayName": "X Axis Font Size",
"type": { "integer": true }
}
}
}
}In settings.ts, define the VisualSettings class with the property based on the number type.
module powerbi.extensibility.visual {
import DataViewObjectsParser = powerbi.extensibility.utils.dataview.DataViewObjectsParser;
export class VisualSettings extends DataViewObjectsParser {
public barchartProperties: BarchartProperties = new BarchartProperties();
}
export class BarchartProperties {
xAxisFontSize: number = 10;
}
}Finally, extend the enumerateObjectInstances method in the visual class to add a range of valid values using the validValues property of the visual as shown in the following code.
public enumerateObjectInstances(options: EnumerateVisualObjectInstancesOptions): VisualObjectInstanceEnumeration {
var visualObjects: VisualObjectInstanceEnumerationObject = <VisualObjectInstanceEnumerationObject>VisualSettings.enumerateObjectInstances(this.settings, options);
visualObjects.instances[0].validValues = {
xAxisFontSize: { numberRange: { min: 10, max: 36 } }
};
return visualObjects;
}This allows you to create a slider and explicitly set the min and max values.
Hi TedPattison ,
Thanks for the reply. I tried with your approach and I was able to only get a increment/decrement box and not a slider.
I have attached a screenshot of what I am getting below
A screenshot of what you are getting will be helpful.
Appologies to the for the late reply.