private attachEvents()

in packages/network-navigator-powerbi/src/NetworkNavigatorVisual.ts [296:316]


    private attachEvents() {
        if (this.myNetworkNavigator) {
            // Cleans up events
            if (this.selectionChangedListener) {
                this.selectionChangedListener.destroy();
            }
            const dispatcher = this.myNetworkNavigator.events;
            this.selectionChangedListener = dispatcher.on("selectionChanged", (node: INetworkNavigatorSelectableNode) => this.onNodeSelected(node));
            dispatcher.on("zoomed", ({ scale, translate }: { scale: number, translate: [number, number] }) => {
                this._internalState = this._internalState.receive({scale, translate});
            });

            dispatcher.on("textFilter", (textFilter: string) => {
                this._internalState = this._internalState.receive({ textFilter });
                const label = textFilter && textFilter !== "" ? `Filtered ${textFilter}` : `Cleared text filter`;
            });

            // PowerBI will eat some events, so use this to prevent powerbi from eating them
            this.element.find(".filter-box input").on(EVENTS_TO_IGNORE, (e) => e.stopPropagation());
        }
    }