refactor(react/svelte): use node lookup for perf improvement

This commit is contained in:
moklick
2023-11-13 16:43:57 +01:00
parent 6e1e702cf3
commit a147a20f6e
22 changed files with 127 additions and 78 deletions
@@ -59,7 +59,11 @@ export const getInitialStore = ({
height?: number;
fitView?: boolean;
}) => {
const nextNodes = updateNodes(nodes, [], { nodeOrigin: [0, 0], elevateNodesOnSelect: false });
const nodesLookup = new Map<string, Node>();
const nextNodes = updateNodes(nodes, nodesLookup, {
nodeOrigin: [0, 0],
elevateNodesOnSelect: false
});
let viewport: Viewport = { x: 0, y: 0, zoom: 1 };
@@ -75,7 +79,8 @@ export const getInitialStore = ({
return {
flowId: writable<string | null>(null),
nodes: createNodesStore(nextNodes),
nodes: createNodesStore(nextNodes, nodesLookup),
nodesLookup: readable<Map<string, Node>>(nodesLookup),
visibleNodes: readable<Node[]>([]),
edges: createEdgesStore(edges),
edgeTree: readable<GroupedEdges<EdgeLayouted>[]>([]),