public bind()

in src/interactivityService.ts [216:247]


    public bind(dataPoints: SelectableDataPoint[], behavior: IInteractiveBehavior, behaviorOptions: any, options?: InteractivityServiceOptions): void {
        // Bind the data
        if (options && options.overrideSelectionFromData) {
            // Override selection state from data points if needed
            this.takeSelectionStateFromDataPoints(dataPoints);
        }

        if (options) {
            if (options.isLegend) {
                // Bind to legend data instead of normal data if isLegend
                this.selectableLegendDataPoints = dataPoints;
                this.renderSelectionInLegend = () => behavior.renderSelection(this.legendHasSelection());
            }
            else if (options.isLabels) {
                // Bind to label data instead of normal data if isLabels
                this.selectableLabelsDataPoints = dataPoints;
                this.renderSelectionInLabels = () => behavior.renderSelection(this.labelsHasSelection());
            }
            else {
                this.selectableDataPoints = dataPoints;
                this.renderSelectionInVisual = () => behavior.renderSelection(this.hasSelection());
            }
        }
        else {
            this.selectableDataPoints = dataPoints;
            this.renderSelectionInVisual = () => behavior.renderSelection(this.hasSelection());
        }

        behavior.bindEvents(behaviorOptions, this);
        // Sync data points with current selection state
        this.syncSelectionState();
    }