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

[Custom Visual] Boolean Object Properties Auto Exclusive

Hi All,

 

I cannot find a solution on google or docuementation.

 

Is it possible to have these 2 or more properties be auto exclusive? So that once I select one of them, the other will be set as false (off) automatically?

 

Capture.PNG

 

So setting the value from code side, once I will find one true, I will set the others to false.

 

Thanks,

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

If you are using a settings class based on DataViewObjectsParser from the powerbi-visuals-utils-dataviewutils helper module, you can just alter the properties of that class.

 

 

// settings.ts
import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";

import DataViewObjectsParser = dataViewObjectsParser.DataViewObjectsParser;

export class VisualSettings extends DataViewObjectsParser {
  ...
}

// visuals.ts
public update(options: VisualUpdateOptions) {
  this.settings = <VisualSettings>VisualSettings.parse(options && options.dataViews && options.dataViews[0]);
  this.settings.boolean2 = !this.settings.boolean1;
  ...
}

 

-JP

 

View solution in original post

3 REPLIES 3
Highlighted
MVP

You can change the settings of the propety pane directly via your code, so in your case to toggle one boolean based in the status of the other.

I doubt if two toggles that interact which each are that userfriendly. Can't you use a more generic toggle or a dropdown?

 

-JP

Highlighted
Frequent Visitor

So can I change the value assigning it directly via the options.dataview object in the update method? Or should I use a setter function?

About the user interface yes, I know, but I need a visual that only my team will use and it is a super custom visual.

Thanks!!
Highlighted

If you are using a settings class based on DataViewObjectsParser from the powerbi-visuals-utils-dataviewutils helper module, you can just alter the properties of that class.

 

 

// settings.ts
import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";

import DataViewObjectsParser = dataViewObjectsParser.DataViewObjectsParser;

export class VisualSettings extends DataViewObjectsParser {
  ...
}

// visuals.ts
public update(options: VisualUpdateOptions) {
  this.settings = <VisualSettings>VisualSettings.parse(options && options.dataViews && options.dataViews[0]);
  this.settings.boolean2 = !this.settings.boolean1;
  ...
}

 

-JP

 

View solution in original post

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Community Conference

Microsoft Power Platform Communities

Check out the Winners!

secondImage

Create an end-to-end data and analytics solution

Learn how Power BI works with the latest Azure data and analytics innovations at the digital event with Microsoft CEO Satya Nadella.

Top Solution Authors
Top Kudoed Authors