diff --git a/src/components/ConnectionLine/ConnectionLine.vue b/src/components/ConnectionLine/ConnectionLine.vue index 78c05bc5..cf180c76 100644 --- a/src/components/ConnectionLine/ConnectionLine.vue +++ b/src/components/ConnectionLine/ConnectionLine.vue @@ -17,10 +17,10 @@ interface ConnectionLineProps { vf: VFInternals connectionLineType?: ConnectionLineType connectionLineStyle?: CSSProperties - connectionHandleId: ElementId - connectionNodeId: ElementId - connectionHandleType: HandleType - connectionPosition: XYPosition + connectionHandleId?: ElementId + connectionNodeId?: ElementId + connectionHandleType?: HandleType + connectionPosition?: XYPosition connectionMode: ConnectionMode transform: Transform } @@ -42,8 +42,8 @@ const sourceY = props.vf.position.y + sourceHandleY const isRightOrLeft = sourceHandle?.position === Position.Left || sourceHandle?.position === Position.Right const targetPosition = isRightOrLeft ? Position.Left : Position.Top -const targetX = computed(() => (props.connectionPosition.x - props.transform[0]) / props.transform[2]) -const targetY = computed(() => (props.connectionPosition.y - props.transform[1]) / props.transform[2]) +const targetX = computed(() => (props.connectionPosition?.x || 0 - props.transform[0]) / props.transform[2]) +const targetY = computed(() => (props.connectionPosition?.y || 0 - props.transform[1]) / props.transform[2]) const dAttr = computed(() => { let path = `M${sourceX},${sourceY} ${targetX.value},${targetY.value}` diff --git a/src/components/Edges/index.ts b/src/components/Edges/index.ts index 9bcc9a11..20a92f54 100644 --- a/src/components/Edges/index.ts +++ b/src/components/Edges/index.ts @@ -4,4 +4,3 @@ export { default as SmoothStepEdge } from './SmoothStepEdge.vue' export { default as StraightEdge } from './StraightEdge.vue' export { default as EdgeAnchor } from './EdgeAnchor.vue' export { default as EdgeText } from './EdgeText.vue' -export { default as EdgeWrapper } from './EdgeWrapper.vue' diff --git a/src/components/Nodes/index.ts b/src/components/Nodes/index.ts index 413ef5a2..53a63969 100644 --- a/src/components/Nodes/index.ts +++ b/src/components/Nodes/index.ts @@ -1,4 +1,3 @@ export { default as DefaultNode } from './DefaultNode.vue' export { default as InputNode } from './InputNode.vue' export { default as OutputNode } from './OutputNode.vue' -export { default as NodeWrapper } from './NodeWrapper.vue' diff --git a/src/composables/useStore.ts b/src/composables/useStore.ts index d7565055..b43c0f58 100644 --- a/src/composables/useStore.ts +++ b/src/composables/useStore.ts @@ -5,8 +5,7 @@ import { onLoadToObject, initialState } from '~/utils' let id = 0 export default (options?: Partial, key?: string) => { - let store = inject(Store, null) - + let store = inject(Store, undefined) if (!store) { const withStorage = options?.storageKey ?? key ?? false if (import.meta.env.DEV) console.warn('store context not found; creating default store') diff --git a/src/container/EdgeRenderer/EdgeRenderer.vue b/src/container/EdgeRenderer/EdgeRenderer.vue index d4c09ced..c06ca461 100644 --- a/src/container/EdgeRenderer/EdgeRenderer.vue +++ b/src/container/EdgeRenderer/EdgeRenderer.vue @@ -43,7 +43,7 @@ const props = withDefaults(defineProps(), { edgeUpdaterRadius: 10, }) -const getType = (type: string) => { +const getType = (type?: string) => { const t = type ?? 'default' let edgeType = props.edgeTypes[t] if (!edgeType) { @@ -124,10 +124,10 @@ export default { (), { snapGrid: () => [15, 15], }) -const getType = (type: string) => { +const getType = (type?: string) => { const t = type ?? 'default' let nodeType = props.nodeTypes[t] if (!nodeType) { diff --git a/src/container/SelectionPane/SelectionPane.vue b/src/container/SelectionPane/SelectionPane.vue index 04fb765b..e9523e36 100644 --- a/src/container/SelectionPane/SelectionPane.vue +++ b/src/container/SelectionPane/SelectionPane.vue @@ -7,7 +7,7 @@ import UserSelection from '../../components/UserSelection/UserSelection.vue' interface SelectionPaneProps { edges: Edge[] - selectedElements: FlowElements + selectedElements?: FlowElements selectionKeyCode?: KeyCode deleteKeyCode?: KeyCode multiSelectionKeyCode?: KeyCode @@ -20,6 +20,7 @@ const props = withDefaults(defineProps(), { deleteKeyCode: 'Backspace', multiSelectionKeyCode: 'Meta', elementsSelectable: true, + selectedElements: () => [], }) const store = useStore() diff --git a/src/container/VueFlow/VueFlow.vue b/src/container/VueFlow/VueFlow.vue index 771f653a..94f68b60 100644 --- a/src/container/VueFlow/VueFlow.vue +++ b/src/container/VueFlow/VueFlow.vue @@ -224,7 +224,7 @@ const transitionName = computed(() => { #[`node-${nodeName}`]="nodeProps" :key="`node-${nodeName}-${store.$id}`" > - + @@ -253,14 +253,14 @@ const transitionName = computed(() => { #[`edge-${edgeName}`]="edgeProps" :key="`edge-${edgeName}-${store.$id}`" > - + diff --git a/src/container/ZoomPane/ZoomPane.vue b/src/container/ZoomPane/ZoomPane.vue index 1f1eb480..228d5426 100644 --- a/src/container/ZoomPane/ZoomPane.vue +++ b/src/container/ZoomPane/ZoomPane.vue @@ -209,7 +209,11 @@ export default {