private bindClickEventToNodes()

in src/behavior.ts [84:116]


    private bindClickEventToNodes(): void {
        this.behaviorOptions.nodes.on("click", (node: SankeyDiagramNode) => {
            let selectableDataPoints: SelectableDataPoint[] = node.selectableDataPoints;
            if (node.cloneLink) {
                selectableDataPoints = selectableDataPoints.concat(node.cloneLink.selectableDataPoints);
            }

            this.clearSelection();

            if (!sankeyDiagramUtils.areDataPointsSelected(this.selectedDataPoints, selectableDataPoints)) {
                selectableDataPoints.forEach((subDataPoint: SelectableDataPoint) => {
                    this.selectionHandler.handleSelection(subDataPoint, true);
                });

                this.selectedDataPoints = selectableDataPoints;
            } else {
                this.createAnEmptySelectedDataPoints();
            }
        });

        this.behaviorOptions.nodes.on("contextmenu", (datum: SankeyDiagramNode) => {
            const event: MouseEvent = (<MouseEvent>getEvent()) || <MouseEvent>window.event;
            if (event) {
                this.selectionHandler.handleContextMenu(
                    <any>datum,
                    {
                        x: event.clientX,
                        y: event.clientY
                    });
                event.preventDefault();
            }
        });
    }