chore(core): cleanup
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
@@ -114,20 +114,22 @@ const modelValue = useVModel(props, 'modelValue', emit)
|
|||||||
const modelNodes = useVModel(props, 'nodes', emit)
|
const modelNodes = useVModel(props, 'nodes', emit)
|
||||||
const modelEdges = useVModel(props, 'edges', emit)
|
const modelEdges = useVModel(props, 'edges', emit)
|
||||||
|
|
||||||
const { vueFlowRef, id, hooks, getNodeTypes, getEdgeTypes, $reset, ...rest } = useVueFlow(props)
|
const { vueFlowRef, hooks, getNodeTypes, getEdgeTypes, ...rest } = useVueFlow(props)
|
||||||
|
|
||||||
const dispose = useWatch({ modelValue, nodes: modelNodes, edges: modelEdges }, props, {
|
const dispose = useWatch({ modelValue, nodes: modelNodes, edges: modelEdges }, props, {
|
||||||
vueFlowRef,
|
vueFlowRef,
|
||||||
id,
|
|
||||||
hooks,
|
hooks,
|
||||||
getNodeTypes,
|
getNodeTypes,
|
||||||
getEdgeTypes,
|
getEdgeTypes,
|
||||||
$reset,
|
|
||||||
...rest,
|
...rest,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
useHooks(emit, hooks)
|
||||||
|
|
||||||
const el = ref<HTMLDivElement>()
|
const el = ref<HTMLDivElement>()
|
||||||
|
|
||||||
|
provide(Slots, useSlots())
|
||||||
|
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
dispose()
|
dispose()
|
||||||
})
|
})
|
||||||
@@ -136,17 +138,11 @@ onMounted(() => {
|
|||||||
vueFlowRef.value = el.value!
|
vueFlowRef.value = el.value!
|
||||||
})
|
})
|
||||||
|
|
||||||
useHooks(emit, hooks)
|
|
||||||
|
|
||||||
provide(Slots, useSlots())
|
|
||||||
|
|
||||||
defineExpose<VueFlowStore>({
|
defineExpose<VueFlowStore>({
|
||||||
vueFlowRef,
|
vueFlowRef,
|
||||||
id,
|
|
||||||
hooks,
|
hooks,
|
||||||
getNodeTypes,
|
getNodeTypes,
|
||||||
getEdgeTypes,
|
getEdgeTypes,
|
||||||
$reset,
|
|
||||||
...rest,
|
...rest,
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -67,11 +67,12 @@ export const isGraphNode = <Data = ElementData>(element: MaybeElement): element
|
|||||||
|
|
||||||
export const isRect = (obj: any): obj is Rect => !!obj.width && !!obj.height && !!obj.x && !!obj.y
|
export const isRect = (obj: any): obj is Rect => !!obj.width && !!obj.height && !!obj.x && !!obj.y
|
||||||
|
|
||||||
export function parseNode(node: Node, defaults?: Partial<GraphNode>): GraphNode {
|
export function parseNode(node: Node, defaults: Partial<GraphNode> = {}): GraphNode {
|
||||||
let defaultValues = defaults
|
let initialState = defaults
|
||||||
|
|
||||||
if (!isGraphNode(node)) {
|
if (!isGraphNode(node)) {
|
||||||
defaultValues = {
|
initialState = {
|
||||||
type: node.type ?? 'default',
|
type: node.type ?? defaults.type ?? 'default',
|
||||||
dimensions: markRaw({
|
dimensions: markRaw({
|
||||||
width: 0,
|
width: 0,
|
||||||
height: 0,
|
height: 0,
|
||||||
@@ -99,31 +100,31 @@ export function parseNode(node: Node, defaults?: Partial<GraphNode>): GraphNode
|
|||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...defaultValues,
|
...initialState,
|
||||||
...(node as GraphNode),
|
...(node as GraphNode),
|
||||||
id: node.id.toString(),
|
id: node.id.toString(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function parseEdge(edge: Edge, defaults?: Partial<GraphEdge>): GraphEdge {
|
export function parseEdge(edge: Edge, defaults: Partial<GraphEdge> = {}): GraphEdge {
|
||||||
const events = isDef(edge.events) ? edge.events : defaults?.events && isDef(defaults?.events) ? defaults?.events : {}
|
const events = isDef(edge.events) ? edge.events : defaults.events && isDef(defaults.events) ? defaults.events : {}
|
||||||
const data = isDef(edge.data) ? edge.data : defaults?.data && isDef(defaults?.data) ? defaults?.data : {}
|
const data = isDef(edge.data) ? edge.data : defaults.data && isDef(defaults.data) ? defaults.data : {}
|
||||||
|
|
||||||
defaults = !isGraphEdge(edge)
|
defaults = !isGraphEdge(edge)
|
||||||
? ({
|
? ({
|
||||||
...defaults,
|
...defaults,
|
||||||
sourceHandle: (edge.sourceHandle ? edge.sourceHandle.toString() : undefined) || defaults?.sourceHandle,
|
sourceHandle: (edge.sourceHandle ? edge.sourceHandle.toString() : undefined) || defaults.sourceHandle,
|
||||||
targetHandle: (edge.targetHandle ? edge.targetHandle.toString() : undefined) || defaults?.targetHandle,
|
targetHandle: (edge.targetHandle ? edge.targetHandle.toString() : undefined) || defaults.targetHandle,
|
||||||
type: edge.type ?? defaults?.type ?? 'default',
|
type: edge.type ?? defaults.type ?? 'default',
|
||||||
source: edge.source.toString() || defaults?.source,
|
source: edge.source.toString() || defaults.source,
|
||||||
target: edge.target.toString() || defaults?.target,
|
target: edge.target.toString() || defaults.target,
|
||||||
updatable: edge.updatable ?? defaults?.updatable,
|
updatable: edge.updatable ?? defaults.updatable,
|
||||||
selectable: edge.selectable ?? defaults?.selectable,
|
selectable: edge.selectable ?? defaults.selectable,
|
||||||
focusable: edge.focusable ?? defaults?.focusable,
|
focusable: edge.focusable ?? defaults.focusable,
|
||||||
data,
|
data,
|
||||||
events: markRaw(events),
|
events: markRaw(events),
|
||||||
label: (edge.label && !isString(edge.label) ? markRaw(edge.label) : edge.label) || defaults?.label,
|
label: (edge.label && !isString(edge.label) ? markRaw(edge.label) : edge.label) || defaults.label,
|
||||||
interactionWidth: edge.interactionWidth || defaults?.interactionWidth,
|
interactionWidth: edge.interactionWidth || defaults.interactionWidth,
|
||||||
} as GraphEdge)
|
} as GraphEdge)
|
||||||
: defaults
|
: defaults
|
||||||
|
|
||||||
@@ -166,6 +167,7 @@ export function addEdge(edgeParams: Edge | Connection, elements: Elements, defau
|
|||||||
}
|
}
|
||||||
|
|
||||||
let edge
|
let edge
|
||||||
|
|
||||||
if (isEdge(edgeParams)) {
|
if (isEdge(edgeParams)) {
|
||||||
edge = { ...edgeParams }
|
edge = { ...edgeParams }
|
||||||
} else {
|
} else {
|
||||||
@@ -174,9 +176,13 @@ export function addEdge(edgeParams: Edge | Connection, elements: Elements, defau
|
|||||||
id: getEdgeId(edgeParams),
|
id: getEdgeId(edgeParams),
|
||||||
} as Edge
|
} as Edge
|
||||||
}
|
}
|
||||||
|
|
||||||
edge = parseEdge(edge, defaults)
|
edge = parseEdge(edge, defaults)
|
||||||
|
|
||||||
if (connectionExists(edge, elements)) return elements
|
if (connectionExists(edge, elements)) return elements
|
||||||
|
|
||||||
elements.push(edge)
|
elements.push(edge)
|
||||||
|
|
||||||
return elements
|
return elements
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -76,9 +76,9 @@ export function createGraphNodes(nodes: Node[], findNode: Actions['findNode'], c
|
|||||||
return parsed
|
return parsed
|
||||||
})
|
})
|
||||||
|
|
||||||
graphNodes.forEach((node) => {
|
const nextNodes = [...graphNodes, ...currGraphNodes]
|
||||||
const nextNodes = [...graphNodes, ...currGraphNodes]
|
|
||||||
|
|
||||||
|
graphNodes.forEach((node) => {
|
||||||
const parentNode = nextNodes.find((n) => n.id === node.parentNode)
|
const parentNode = nextNodes.find((n) => n.id === node.parentNode)
|
||||||
|
|
||||||
if (node.parentNode && !parentNode) {
|
if (node.parentNode && !parentNode) {
|
||||||
|
|||||||
Reference in New Issue
Block a user