fix(core): fall back to default node or edge type

This commit is contained in:
braks
2022-11-08 12:53:13 +01:00
committed by Braks
parent 2874cd969a
commit 6c738bfbfb
4 changed files with 21 additions and 21 deletions
+2 -2
View File
@@ -52,8 +52,8 @@ declare global {
const customRef: typeof import('vue')['customRef'] const customRef: typeof import('vue')['customRef']
const debouncedRef: typeof import('@vueuse/core')['debouncedRef'] const debouncedRef: typeof import('@vueuse/core')['debouncedRef']
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch'] const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch']
const defaultEdgeTypes: typeof import('./store/index')['defaultEdgeTypes'] const defaultEdgeTypes: typeof import('./store/state')['defaultEdgeTypes']
const defaultNodeTypes: typeof import('./store/index')['defaultNodeTypes'] const defaultNodeTypes: typeof import('./store/state')['defaultNodeTypes']
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
const defineComponent: typeof import('vue')['defineComponent'] const defineComponent: typeof import('vue')['defineComponent']
const eagerComputed: typeof import('@vueuse/core')['eagerComputed'] const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
@@ -143,7 +143,7 @@ const Wrapper = defineComponent({
'data-id': props.id, 'data-id': props.id,
'class': [ 'class': [
'vue-flow__edge', 'vue-flow__edge',
`vue-flow__edge-${props.name}`, `vue-flow__edge-${props.type === false ? 'default' : props.name}`,
{ {
updating: mouseOver, updating: mouseOver,
selected: edge.selected, selected: edge.selected,
@@ -161,7 +161,7 @@ const Wrapper = defineComponent({
[ [
updating updating
? null ? null
: h(props.type as any, { : h(props.type === false ? defaultEdgeTypes.default : props.type, {
id: props.id, id: props.id,
sourceNode: props.sourceNode, sourceNode: props.sourceNode,
targetNode: props.targetNode, targetNode: props.targetNode,
@@ -194,7 +194,7 @@ export default {
ref="nodeElement" ref="nodeElement"
class="vue-flow__node" class="vue-flow__node"
:class="[ :class="[
`vue-flow__node-${name}`, `vue-flow__node-${type === false ? 'default' : type}`,
noPanClassName, noPanClassName,
{ {
dragging, dragging,
@@ -218,7 +218,7 @@ export default {
@dblclick="onDoubleClick" @dblclick="onDoubleClick"
> >
<component <component
:is="type" :is="type === false ? defaultNodeTypes.default : type"
:id="node.id" :id="node.id"
:type="node.type" :type="node.type"
:data="node.data" :data="node.data"
+15 -15
View File
@@ -108,21 +108,21 @@ export const parseEdge = (edge: Edge, defaults?: Partial<GraphEdge>): GraphEdge
defaults = !isGraphEdge(edge) defaults = !isGraphEdge(edge)
? ({ ? ({
...defaults, ...defaults,
sourceHandle: edge.sourceHandle ? edge.sourceHandle.toString() : undefined, sourceHandle: (edge.sourceHandle ? edge.sourceHandle.toString() : undefined) || defaults?.sourceHandle,
targetHandle: edge.targetHandle ? edge.targetHandle.toString() : undefined, targetHandle: (edge.targetHandle ? edge.targetHandle.toString() : undefined) || defaults?.targetHandle,
type: edge.type, type: edge.type ?? defaults?.type ?? 'default',
source: edge.source.toString(), source: edge.source.toString() || defaults?.source,
target: edge.target.toString(), target: edge.target.toString() || defaults?.target,
z: 0, z: 0 || defaults?.z,
sourceX: 0, sourceX: 0 || defaults?.sourceX,
sourceY: 0, sourceY: 0 || defaults?.sourceY,
targetX: 0, targetX: 0 || defaults?.targetX,
targetY: 0, targetY: 0 || defaults?.targetY,
updatable: edge.updatable, updatable: edge.updatable ?? defaults?.updatable,
selectable: edge.selectable, selectable: edge.selectable ?? defaults?.selectable,
data: shallowReactive(edge.data || {}), data: shallowReactive(edge.data || defaults?.data || {}),
events: shallowReactive(edge.events || {}), events: shallowReactive(edge.events || defaults?.events || {}),
label: edge.label && !isString(edge.label) ? markRaw(edge.label) : edge.label, label: (edge.label && !isString(edge.label) ? markRaw(edge.label) : edge.label) || defaults?.label,
} as GraphEdge) } as GraphEdge)
: defaults : defaults