in powerbi-visual-builder/src_visual/visual.ts [588:636]
protected getProperties(options: VisualUpdateOptions) {
const defaultProperties: { [name: string]: any } = {
decimalSeparator: defaultDecimalSeparator,
thousandSeparator: defaultThousandSeparator,
currency: defaultCurrency,
group: "3"
};
for (const p of this.template.properties as PowerBIProperty[]) {
defaultProperties[p.powerBIName || p.displayName] = p.default;
}
if (
!options ||
!options.dataViews ||
!options.dataViews[0] ||
!options.dataViews[0].metadata
) {
return defaultProperties;
}
const objects = options.dataViews[0].metadata.objects;
if (!objects) {
return defaultProperties;
}
const objectKeys = Object.keys(objects);
for (const key of objectKeys) {
const object = objects[key];
for (const p of this.template.properties.filter(
p => p.objectID === key.slice(3) // remove ID_ prefix
) as PowerBIProperty[]) {
if (object[p.powerBIName] != undefined) {
if ((object[p.powerBIName] as any).solid) {
defaultProperties[p.powerBIName] = (object[
p.powerBIName
] as any).solid.color;
} else {
defaultProperties[p.powerBIName] = object[p.powerBIName];
}
}
}
}
defaultProperties.decimalSeparator = objects.general?.decimalSeparator;
defaultProperties.thousandSeparator = objects.general?.thousandSeparator;
defaultProperties.currency = objects.general?.currency;
defaultProperties.group = objects.general?.group;
return defaultProperties;
}