in src/interactivitySelectionService.ts [124:153]
public syncSelectionState(): void {
if (this.isInvertedSelectionMode) {
return this.syncSelectionStateInverted();
}
if (!this.selectableDataPoints && !this.selectableLegendDataPoints) {
return;
}
// get current state of selections from selection manager
const selectedIds: ISelectionId[] = <ISelectionId[]>this.selectionManager.getSelectionIds();
if (this.selectableDataPoints) {
// update datapoints (set selection state for datapoint, update `selected` property of datapoint)
this.updateSelectableDataPointsBySelectedIds(this.selectableDataPoints, selectedIds);
}
if (this.selectableLegendDataPoints) {
// update datapoints for legend datapoint (set selection state for datapoint, update `selected` property of datapoint)
this.updateSelectableDataPointsBySelectedIds(this.selectableLegendDataPoints, selectedIds);
}
if (this.selectableLabelsDataPoints) {
// update datapoints for label datapoints
for (let labelsDataPoint of this.selectableLabelsDataPoints) {
labelsDataPoint.selected = selectedIds.some((value: ISelectionId) => {
return value.includes(<ISelectionId>labelsDataPoint.identity);
});
}
}
}