in src/visual.ts [149:242]
public enumerateObjectInstances(
options: powerbi.EnumerateVisualObjectInstancesOptions,
): powerbi.VisualObjectInstanceEnumeration {
const { objectName } = options;
const shouldUseContainers: boolean = Object.keys(new SeriesSettings()).indexOf(objectName) !== -1;
if (shouldUseContainers) {
const enumerationObject: powerbi.VisualObjectInstanceEnumerationObject = {
containers: [],
instances: [],
};
this.enumerateSettings(
enumerationObject,
objectName,
this.getSettings.bind(this),
);
return enumerationObject;
}
let instances: powerbi.VisualObjectInstance[] = this.dataRepresentation
&& this.dataRepresentation.settings
&& this.dataRepresentation.settings.enumerateObjectInstances(options)
|| [];
switch (options.objectName) {
case "kpiIndicator": {
if (this.dataRepresentation
&& (this.dataRepresentation.variance
&& isNaN(this.dataRepresentation.variance[0])
|| (this.dataRepresentation.settings
&& !this.dataRepresentation.settings.kpiIndicatorValue.show))
&& instances
&& instances[0]
&& instances[0].properties
) {
delete instances[0].properties.position;
}
break;
}
case "kpiIndicatorValue": {
if (this.dataRepresentation
&& this.dataRepresentation.variance
&& isNaN(this.dataRepresentation.variance[0])
) {
instances = [];
}
break;
}
case "kpiIndicatorLabel": {
if (this.dataRepresentation
&& this.dataRepresentation.variance
&& isNaN(this.dataRepresentation.variance[0])
&& this.dataRepresentation.series
&& this.dataRepresentation.series[0]
&& this.dataRepresentation.series[0].current
&& isNaN(this.dataRepresentation.series[0].current.kpiIndex)
) {
instances = [];
}
break;
}
case "secondKPIIndicatorValue":
case "secondKPIIndicatorLabel":
case "secondTooltipVariance": {
if (!this.dataRepresentation.series
|| !this.dataRepresentation.variance
|| isNaN(this.dataRepresentation.variance[1])
) {
instances = [];
}
break;
}
case "secondaryYAxis":
case "secondaryReferenceLineOfYAxis": {
if (!this.dataRepresentation
|| !this.dataRepresentation.groups
|| !this.dataRepresentation.groups[1]
) {
instances = [];
}
break;
}
}
return instances;
}