in src/valueSelectionManager.ts [52:73]
public constructor(visualHost: IVisualHost, getSelectionIds: (value: T) => ISelectionId[], getDataPoints: () => WordCloudDataPoint[], renderSelection: () => void) {
this.visualHost = visualHost;
this.selectionManager = visualHost.createSelectionManager();
this.selectionManager.registerOnSelectCallback((ids: ISelectionId[]) => {
this.clear(false);
ids.forEach((selection: ISelectionId) => {
getDataPoints().forEach((dataPoint: WordCloudDataPoint) => {
if (selection.includes(dataPoint.selectionIds[0])) {
this.selectedValues.push(<any>dataPoint.text);
renderSelection();
}
});
});
});
this.getSelectionIds = (value: T | T[]) => lodash.isArray(value)
? <ISelectionId[]>lodash.flatten((<T[]>value).map((valueElement: T) => {
return getSelectionIds(valueElement);
}))
: getSelectionIds(value);
}