update: move mounted hooks up

* remove mounted hook from selection pane
This commit is contained in:
Braks
2022-04-04 21:42:48 +02:00
parent 7747456771
commit 024a434918
4 changed files with 27 additions and 30 deletions
+22 -24
View File
@@ -17,35 +17,33 @@ const onContextMenu = (event: MouseEvent) => store.hooks.paneContextMenu.trigger
const onWheel = (event: WheelEvent) => store.hooks.paneScroll.trigger(event)
onMounted(() => {
useKeyPress(store.deleteKeyCode, (keyPressed) => {
const selectedNodes = store.getSelectedNodes
const selectedEdges = store.getSelectedEdges
if (keyPressed && (selectedNodes || selectedEdges)) {
const connectedEdges = (selectedNodes && getConnectedEdges(selectedNodes, store.edges)) ?? []
useKeyPress(store.deleteKeyCode, (keyPressed) => {
const selectedNodes = store.getSelectedNodes
const selectedEdges = store.getSelectedEdges
if (keyPressed && (selectedNodes || selectedEdges)) {
const connectedEdges = (selectedNodes && getConnectedEdges(selectedNodes, store.edges)) ?? []
const nodeChanges: NodeChange[] = selectedNodes.map((n) => ({ id: n.id, type: 'remove' }))
const edgeChanges: EdgeChange[] = [...selectedEdges, ...connectedEdges].map((e) => ({
id: e.id,
type: 'remove',
}))
const nodeChanges: NodeChange[] = selectedNodes.map((n) => ({ id: n.id, type: 'remove' }))
const edgeChanges: EdgeChange[] = [...selectedEdges, ...connectedEdges].map((e) => ({
id: e.id,
type: 'remove',
}))
store.hooks.nodesChange.trigger(nodeChanges)
store.hooks.edgesChange.trigger(edgeChanges)
store.nodesSelectionActive = false
store.hooks.nodesChange.trigger(nodeChanges)
store.hooks.edgesChange.trigger(edgeChanges)
store.nodesSelectionActive = false
store.resetSelectedElements()
}
})
store.resetSelectedElements()
}
})
useKeyPress(store.multiSelectionKeyCode, (keyPressed) => {
store.multiSelectionActive = keyPressed
})
useKeyPress(store.multiSelectionKeyCode, (keyPressed) => {
store.multiSelectionActive = keyPressed
})
useKeyPress(store.selectionKeyCode, (keyPressed) => {
store.selectionActive =
store.selectionActive === true && keyPressed ? true : keyPressed && (store.selectionActive || store.elementsSelectable)
})
useKeyPress(store.selectionKeyCode, (keyPressed) => {
store.selectionActive =
store.selectionActive === true && keyPressed ? true : keyPressed && (store.selectionActive || store.elementsSelectable)
})
</script>
<script lang="ts">
@@ -7,9 +7,7 @@ import { onLoadGetEdges, onLoadGetElements, onLoadGetNodes, onLoadProject, onLoa
const { id, store } = useVueFlow()
const transform = computed(() => `translate(${store.transform[0]}px,${store.transform[1]}px) scale(${store.transform[2]})`)
onMounted(async () => {
onMounted(() => {
const { zoomIn, zoomOut, zoomTo, setTransform, getTransform, fitView, fitBounds, setCenter } = useZoomPanHelper(store)
const instance: FlowInstance = {
fitView: (params = { padding: 0.1 }) => fitView(params),
@@ -31,6 +29,8 @@ onMounted(async () => {
store.paneReady = true
store.hooks.paneReady.trigger(instance)
})
const transform = computed(() => `translate(${store.transform[0]}px,${store.transform[1]}px) scale(${store.transform[2]})`)
</script>
<template>
<div :key="`transformation-pane-${id}`" class="vue-flow__transformation-pane vue-flow__container" :style="{ transform }">
+1 -2
View File
@@ -45,6 +45,7 @@ const {
} = useVueFlow(props)
useHooks(hooks.value, emit)
const { modelValue, nodes, edges } = useVModels(props, emit)
onMounted(() => useWatch({ modelValue, nodes, edges }, props, store))
if (applyDefault.value) {
onNodesChange(applyNodeChanges)
@@ -57,8 +58,6 @@ if (props.edges && !storedEdges.value.length) setEdges(props.edges)
if (modelValue && modelValue.value) modelValue.value = [...store.nodes, ...store.edges]
if (nodes && nodes.value) nodes.value = store.nodes
if (edges && edges.value) edges.value = store.edges
onMounted(() => useWatch({ modelValue, nodes, edges }, props, store))
</script>
<script lang="ts">
export default {
+1 -1
View File
@@ -30,7 +30,7 @@ const transform = ref({
})
const { width, height } = useElementBounding(zoomPaneEl)
onMounted(async () => {
onMounted(() => {
const d3Zoom = zoom<HTMLDivElement, any>().scaleExtent([store.minZoom, store.maxZoom]).translateExtent(store.translateExtent)
const d3Selection = select(zoomPaneEl.value).call(d3Zoom)
const d3ZoomHandler = d3Selection.on('wheel.zoom')