private loadSelectionFromPowerBI()

in packages/network-navigator-powerbi/src/NetworkNavigatorVisual.ts [230:254]


    private loadSelectionFromPowerBI() {
        const data = this.myNetworkNavigator.getData() as INetworkNavigatorData<INetworkNavigatorNode>;
        const nodes = data && data.nodes;

        // For each of the nodes, check to see if their ids are in the selection manager, and
        // mark them as selected
        if (nodes && nodes.length) {
            this._nodes = nodes;
            const filterValues = getFilterValues(this._dataView, "general.filter");
            const valueMap = (filterValues || []).reduce((acc, cur) => { acc[cur] = 1; return acc; }, {});
            let selectedNode: INetworkNavigatorSelectableNode;

            nodes.forEach((n: INetworkNavigatorSelectableNode) => {
                const isSelected = !!valueMap[pretty(n.name)];
                n.selected = isSelected;

                // Just select the last one for now
                if (isSelected) {
                    selectedNode = n;
                }
            });

            this.myNetworkNavigator.selectedNode = selectedNode;
        }
    }