diff --git a/packages/learningmap/src/LearningMap.tsx b/packages/learningmap/src/LearningMap.tsx index 098d049..da3cb11 100644 --- a/packages/learningmap/src/LearningMap.tsx +++ b/packages/learningmap/src/LearningMap.tsx @@ -124,7 +124,7 @@ export function LearningMap({ root.dispatchEvent(new CustomEvent("change", { detail: minimalState })); } } - }, [nodes, onChange, getViewport, getRoadmapState]); + }, [nodes, onChange]); const defaultEdgeOptions = { animated: false, diff --git a/packages/learningmap/src/autoLayoutElk.ts b/packages/learningmap/src/autoLayoutElk.ts deleted file mode 100644 index 73cd091..0000000 --- a/packages/learningmap/src/autoLayoutElk.ts +++ /dev/null @@ -1,43 +0,0 @@ -import ELK from "elkjs/lib/elk.bundled.js"; -import type { Node, Edge } from "@xyflow/react"; - -export async function getAutoLayoutedNodesElk( - nodes: Node[], - edges: Edge[], - nodeWidth = 320, - nodeHeight = 120 -) { - const elk = new ELK(); - const elkNodes = nodes.map((node: Node) => ({ - id: node.id, - width: nodeWidth, - height: nodeHeight, - ...node, - })); - const elkEdges = edges.map((edge: Edge) => ({ - id: edge.id, - sources: [edge.source], - targets: [edge.target], - })); - const elkGraph = { - id: "root", - layoutOptions: { - "elk.algorithm": "layered", - "elk.direction": "DOWN", - "elk.layered.spacing.nodeNodeBetweenLayers": "100", - "elk.spacing.nodeNode": "80", - }, - children: elkNodes, - edges: elkEdges, - }; - const layout: any = await elk.layout(elkGraph); - return nodes.map((node: Node) => { - if (node.position) return node; - const layoutNode = layout.children.find((n: any) => n.id === node.id); - return { - ...node, - position: { x: layoutNode.x, y: layoutNode.y }, - autoPositioned: true, - }; - }); -} diff --git a/packages/learningmap/src/editorStore.ts b/packages/learningmap/src/editorStore.ts index 62cc3a3..bc49e06 100644 --- a/packages/learningmap/src/editorStore.ts +++ b/packages/learningmap/src/editorStore.ts @@ -319,18 +319,10 @@ export const useEditorStore = create()( setSelectedNodeId: (selectedNodeId) => set({ selectedNodeId, - nodes: get().nodes.map((n) => ({ - ...n, - selected: n.id === selectedNodeId, - })), }), setSelectedNodeIds: (selectedNodeIds) => set({ selectedNodeIds, - nodes: get().nodes.map((n) => ({ - ...n, - selected: selectedNodeIds.includes(n.id), - })), }), setSelectedEdge: (selectedEdge) => set({ selectedEdge }), setNextNodeId: (nextNodeId) => set({ nextNodeId }),