refactor(core): use flowElements type as arg for removeSelectedElements
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import type { GraphEdge, GraphNode } from '@vue-flow/core'
|
import type { Elements } from '@vue-flow/core'
|
||||||
import { isNode, useVueFlow } from '@vue-flow/core'
|
import { isNode, useVueFlow } from '@vue-flow/core'
|
||||||
import { getElements } from '../../../utils'
|
import { getElements } from '../../../utils'
|
||||||
|
|
||||||
@@ -16,26 +16,23 @@ describe('Store Action: `removeSelectedElements`', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
it('removes passed elements from selected elements in store', () => {
|
it('removes passed elements from selected elements in store', async () => {
|
||||||
randomNumber = Math.floor(Math.random() * [...nodes, ...edges].length)
|
randomNumber = Math.floor(Math.random() * [...nodes, ...edges].length)
|
||||||
randomNumber2 = Math.floor(Math.random() * randomNumber)
|
randomNumber2 = Math.floor(Math.random() * randomNumber)
|
||||||
store.addSelectedElements(Array.from({ length: randomNumber }, (_, i) => store.getElements.value[i]))
|
store.addSelectedElements(Array.from({ length: randomNumber }, (_, i) => store.getElements.value[i]))
|
||||||
store.removeSelectedElements(
|
store.removeSelectedElements(
|
||||||
Array.from({ length: randomNumber2 }, (_, i) => store.getElements.value[i]).reduce(
|
Array.from({ length: randomNumber2 }, (_, i) => store.getElements.value[i]).reduce((acc, curr) => {
|
||||||
(acc, curr) => {
|
if (isNode(curr)) {
|
||||||
if (isNode(curr)) {
|
acc.push(curr)
|
||||||
acc.nodes.push(curr)
|
} else {
|
||||||
} else {
|
acc.push(curr)
|
||||||
acc.edges.push(curr)
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return acc
|
return acc
|
||||||
},
|
}, [] as Elements),
|
||||||
{ nodes: [] as GraphNode[], edges: [] as GraphEdge[] },
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
cy.tryAssertion(() => {
|
await cy.tryAssertion(() => {
|
||||||
expect(store.getSelectedElements.value).to.have.length(randomNumber - randomNumber2)
|
expect(store.getSelectedElements.value).to.have.length(randomNumber - randomNumber2)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -171,7 +171,7 @@ export interface Actions extends ViewportFunctions {
|
|||||||
/** manually unselect nodes and remove from state */
|
/** manually unselect nodes and remove from state */
|
||||||
removeSelectedNodes: (nodes: GraphNode[]) => void
|
removeSelectedNodes: (nodes: GraphNode[]) => void
|
||||||
/** unselect selected elements (if none are passed, all elements are unselected) */
|
/** unselect selected elements (if none are passed, all elements are unselected) */
|
||||||
removeSelectedElements: (elements?: { nodes?: GraphNode[]; edges?: GraphEdge[] }) => void
|
removeSelectedElements: (elements?: Elements) => void
|
||||||
/** apply min zoom value to d3 */
|
/** apply min zoom value to d3 */
|
||||||
setMinZoom: (zoom: number) => void
|
setMinZoom: (zoom: number) => void
|
||||||
/** apply max zoom value to d3 */
|
/** apply max zoom value to d3 */
|
||||||
|
|||||||
@@ -37,6 +37,6 @@ export const handleNodeClick = (
|
|||||||
if (!node.selected) {
|
if (!node.selected) {
|
||||||
addSelectedNodes([node])
|
addSelectedNodes([node])
|
||||||
} else if (node.selected && multiSelectionActive) {
|
} else if (node.selected && multiSelectionActive) {
|
||||||
removeSelectedElements({ nodes: [node] })
|
removeSelectedElements([node])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user