Skip to content

Commit

Permalink
Added support for conditional formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielSzentimrey-Harrach committed May 8, 2024
1 parent a871d24 commit cbda28f
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"@types/d3": "7.4.0",
"d3": "7.8.5",
"powerbi-visuals-api": "~5.3.0",
"powerbi-visuals-utils-dataviewutils": "^6.0.3",
"powerbi-visuals-utils-formattingmodel": "6.0.0"
},
"devDependencies": {
Expand Down
4 changes: 3 additions & 1 deletion src/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import { formattingSettings } from "powerbi-visuals-utils-formattingmodel";
import FormattingSettingsCard = formattingSettings.SimpleCard;
import FormattingSettingsSlice = formattingSettings.Slice;
import FormattingSettingsModel = formattingSettings.Model;
import { dataViewWildcard } from "powerbi-visuals-utils-dataviewutils";

/**
* Data Point Formatting Card
Expand All @@ -40,7 +41,8 @@ class DataPointCardSettings extends FormattingSettingsCard {
name: "defaultColor",
displayName: "Default color",
value: { value: "" },
instanceKind: powerbi.VisualEnumerationInstanceKinds.ConstantOrRule
instanceKind: powerbi.VisualEnumerationInstanceKinds.ConstantOrRule,
selector: dataViewWildcard.createDataViewWildcardSelector(dataViewWildcard.DataViewWildcardMatchingOption.InstancesAndTotals)
});

name: string = "dataPoint";
Expand Down
7 changes: 4 additions & 3 deletions src/visual.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,9 @@ export class Visual implements IVisual {
for (let i=0; i < categoricalMapping.categories[0].values.length; i++) {
const span: HTMLElement = document.createElement("span");
span.appendChild(document.createTextNode(categoricalMapping.categories[0].values[i].toString()));
span.style.width = 50 * +categoricalMapping.values[0].values[i].toString() + "px";
span.style.backgroundColor = this.formattingSettings.dataPointCard.defaultColor.value.value;
span.style.width = 50 * categoricalMapping.values[0].values[i].toString().length + "px";
const backgroundColor = categoricalMapping.categories[0].objects && categoricalMapping.categories[0].objects[i] && categoricalMapping.categories[0].objects[i].dataPoint ? categoricalMapping.categories[0].objects[i].dataPoint.defaultColor['solid'].color : "light blue";
span.style.backgroundColor = backgroundColor;
this.target.appendChild(span);
}
}
Expand All @@ -66,7 +67,7 @@ export class Visual implements IVisual {
* Returns properties pane formatting model content hierarchies, properties and latest formatting values, Then populate properties pane.
* This method is called once every time we open properties pane or when the user edit any format property.
*/
public getFormattingModel(): powerbi.visuals.FormattingModel {
public getFormattingModel(): powerbi.visuals.FormattingModel {
return this.formattingSettingsService.buildFormattingModel(this.formattingSettings);
}
}

0 comments on commit cbda28f

Please sign in to comment.