chore(core): cleanup
This commit is contained in:
@@ -307,25 +307,27 @@ export function useActions(
|
|||||||
return elementSelectionHandler([], false)
|
return elementSelectionHandler([], false)
|
||||||
}
|
}
|
||||||
|
|
||||||
const { changedNodes, changedEdges } = elements.reduce(
|
const changes = elements.reduce(
|
||||||
(acc, curr) => {
|
(changes, curr) => {
|
||||||
const selectionChange = createSelectionChange(curr.id, false)
|
const selectionChange = createSelectionChange(curr.id, false)
|
||||||
|
|
||||||
if (isNode(curr)) {
|
if (isNode(curr)) {
|
||||||
acc.changedNodes.push(selectionChange)
|
changes.nodes.push(selectionChange)
|
||||||
} else {
|
} else {
|
||||||
acc.changedEdges.push(selectionChange)
|
changes.edges.push(selectionChange)
|
||||||
}
|
}
|
||||||
|
|
||||||
return acc
|
return changes
|
||||||
},
|
},
|
||||||
{ changedNodes: [] as NodeSelectionChange[], changedEdges: [] as EdgeSelectionChange[] },
|
{ nodes: [] as NodeSelectionChange[], edges: [] as EdgeSelectionChange[] },
|
||||||
)
|
)
|
||||||
|
|
||||||
if (changedNodes.length) {
|
if (changes.nodes.length) {
|
||||||
state.hooks.nodesChange.trigger(changedNodes)
|
state.hooks.nodesChange.trigger(changes.nodes)
|
||||||
}
|
}
|
||||||
if (changedEdges.length) {
|
|
||||||
state.hooks.edgesChange.trigger(changedEdges)
|
if (changes.edges.length) {
|
||||||
|
state.hooks.edgesChange.trigger(changes.edges)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -456,7 +458,7 @@ export function useActions(
|
|||||||
)
|
)
|
||||||
: nextEdges
|
: nextEdges
|
||||||
|
|
||||||
const changes = validEdges.reduce((acc, param) => {
|
const changes = validEdges.reduce((edgeChanges, param) => {
|
||||||
const edge = addEdgeToStore(
|
const edge = addEdgeToStore(
|
||||||
{
|
{
|
||||||
...param,
|
...param,
|
||||||
@@ -475,21 +477,23 @@ export function useActions(
|
|||||||
|
|
||||||
if (missingSource && missingTarget) {
|
if (missingSource && missingTarget) {
|
||||||
state.hooks.error.trigger(new VueFlowError(ErrorCode.EDGE_SOURCE_TARGET_MISSING, edge.id, edge.source, edge.target))
|
state.hooks.error.trigger(new VueFlowError(ErrorCode.EDGE_SOURCE_TARGET_MISSING, edge.id, edge.source, edge.target))
|
||||||
} else {
|
|
||||||
if (missingSource) {
|
|
||||||
state.hooks.error.trigger(new VueFlowError(ErrorCode.EDGE_SOURCE_MISSING, edge.id, edge.source))
|
|
||||||
}
|
|
||||||
|
|
||||||
if (missingTarget) {
|
return edgeChanges
|
||||||
state.hooks.error.trigger(new VueFlowError(ErrorCode.EDGE_TARGET_MISSING, edge.id, edge.target))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (missingSource || missingTarget) {
|
if (missingSource) {
|
||||||
return acc
|
state.hooks.error.trigger(new VueFlowError(ErrorCode.EDGE_SOURCE_MISSING, edge.id, edge.source))
|
||||||
|
|
||||||
|
return edgeChanges
|
||||||
}
|
}
|
||||||
|
|
||||||
acc.push(
|
if (missingTarget) {
|
||||||
|
state.hooks.error.trigger(new VueFlowError(ErrorCode.EDGE_TARGET_MISSING, edge.id, edge.target))
|
||||||
|
|
||||||
|
return edgeChanges
|
||||||
|
}
|
||||||
|
|
||||||
|
edgeChanges.push(
|
||||||
createAdditionChange<GraphEdge>({
|
createAdditionChange<GraphEdge>({
|
||||||
...edge,
|
...edge,
|
||||||
sourceNode,
|
sourceNode,
|
||||||
@@ -498,7 +502,7 @@ export function useActions(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
return acc
|
return edgeChanges
|
||||||
}, [] as EdgeChange[])
|
}, [] as EdgeChange[])
|
||||||
|
|
||||||
if (changes.length) {
|
if (changes.length) {
|
||||||
@@ -514,12 +518,7 @@ export function useActions(
|
|||||||
const edgeChanges: EdgeRemoveChange[] = []
|
const edgeChanges: EdgeRemoveChange[] = []
|
||||||
|
|
||||||
function createEdgeRemovalChanges(nodes: Node[]) {
|
function createEdgeRemovalChanges(nodes: Node[]) {
|
||||||
const connections = getConnectedEdges(nodes, state.edges).filter((edge) => {
|
const connections = getConnectedEdges(nodes, state.edges).filter((edge) => (isDef(edge.deletable) ? edge.deletable : true))
|
||||||
if (isDef(edge.deletable)) {
|
|
||||||
return edge.deletable
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
})
|
|
||||||
|
|
||||||
edgeChanges.push(...connections.map((connection) => createRemoveChange(connection.id)))
|
edgeChanges.push(...connections.map((connection) => createRemoveChange(connection.id)))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user