update: move mounted hooks up
* remove mounted hook from selection pane
This commit is contained in:
@@ -17,35 +17,33 @@ const onContextMenu = (event: MouseEvent) => store.hooks.paneContextMenu.trigger
|
|||||||
|
|
||||||
const onWheel = (event: WheelEvent) => store.hooks.paneScroll.trigger(event)
|
const onWheel = (event: WheelEvent) => store.hooks.paneScroll.trigger(event)
|
||||||
|
|
||||||
onMounted(() => {
|
useKeyPress(store.deleteKeyCode, (keyPressed) => {
|
||||||
useKeyPress(store.deleteKeyCode, (keyPressed) => {
|
const selectedNodes = store.getSelectedNodes
|
||||||
const selectedNodes = store.getSelectedNodes
|
const selectedEdges = store.getSelectedEdges
|
||||||
const selectedEdges = store.getSelectedEdges
|
if (keyPressed && (selectedNodes || selectedEdges)) {
|
||||||
if (keyPressed && (selectedNodes || selectedEdges)) {
|
const connectedEdges = (selectedNodes && getConnectedEdges(selectedNodes, store.edges)) ?? []
|
||||||
const connectedEdges = (selectedNodes && getConnectedEdges(selectedNodes, store.edges)) ?? []
|
|
||||||
|
|
||||||
const nodeChanges: NodeChange[] = selectedNodes.map((n) => ({ id: n.id, type: 'remove' }))
|
const nodeChanges: NodeChange[] = selectedNodes.map((n) => ({ id: n.id, type: 'remove' }))
|
||||||
const edgeChanges: EdgeChange[] = [...selectedEdges, ...connectedEdges].map((e) => ({
|
const edgeChanges: EdgeChange[] = [...selectedEdges, ...connectedEdges].map((e) => ({
|
||||||
id: e.id,
|
id: e.id,
|
||||||
type: 'remove',
|
type: 'remove',
|
||||||
}))
|
}))
|
||||||
|
|
||||||
store.hooks.nodesChange.trigger(nodeChanges)
|
store.hooks.nodesChange.trigger(nodeChanges)
|
||||||
store.hooks.edgesChange.trigger(edgeChanges)
|
store.hooks.edgesChange.trigger(edgeChanges)
|
||||||
store.nodesSelectionActive = false
|
store.nodesSelectionActive = false
|
||||||
|
|
||||||
store.resetSelectedElements()
|
store.resetSelectedElements()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
useKeyPress(store.multiSelectionKeyCode, (keyPressed) => {
|
useKeyPress(store.multiSelectionKeyCode, (keyPressed) => {
|
||||||
store.multiSelectionActive = keyPressed
|
store.multiSelectionActive = keyPressed
|
||||||
})
|
})
|
||||||
|
|
||||||
useKeyPress(store.selectionKeyCode, (keyPressed) => {
|
useKeyPress(store.selectionKeyCode, (keyPressed) => {
|
||||||
store.selectionActive =
|
store.selectionActive =
|
||||||
store.selectionActive === true && keyPressed ? true : keyPressed && (store.selectionActive || store.elementsSelectable)
|
store.selectionActive === true && keyPressed ? true : keyPressed && (store.selectionActive || store.elementsSelectable)
|
||||||
})
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|||||||
@@ -7,9 +7,7 @@ import { onLoadGetEdges, onLoadGetElements, onLoadGetNodes, onLoadProject, onLoa
|
|||||||
|
|
||||||
const { id, store } = useVueFlow()
|
const { id, store } = useVueFlow()
|
||||||
|
|
||||||
const transform = computed(() => `translate(${store.transform[0]}px,${store.transform[1]}px) scale(${store.transform[2]})`)
|
onMounted(() => {
|
||||||
|
|
||||||
onMounted(async () => {
|
|
||||||
const { zoomIn, zoomOut, zoomTo, setTransform, getTransform, fitView, fitBounds, setCenter } = useZoomPanHelper(store)
|
const { zoomIn, zoomOut, zoomTo, setTransform, getTransform, fitView, fitBounds, setCenter } = useZoomPanHelper(store)
|
||||||
const instance: FlowInstance = {
|
const instance: FlowInstance = {
|
||||||
fitView: (params = { padding: 0.1 }) => fitView(params),
|
fitView: (params = { padding: 0.1 }) => fitView(params),
|
||||||
@@ -31,6 +29,8 @@ onMounted(async () => {
|
|||||||
store.paneReady = true
|
store.paneReady = true
|
||||||
store.hooks.paneReady.trigger(instance)
|
store.hooks.paneReady.trigger(instance)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const transform = computed(() => `translate(${store.transform[0]}px,${store.transform[1]}px) scale(${store.transform[2]})`)
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div :key="`transformation-pane-${id}`" class="vue-flow__transformation-pane vue-flow__container" :style="{ transform }">
|
<div :key="`transformation-pane-${id}`" class="vue-flow__transformation-pane vue-flow__container" :style="{ transform }">
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ const {
|
|||||||
} = useVueFlow(props)
|
} = useVueFlow(props)
|
||||||
useHooks(hooks.value, emit)
|
useHooks(hooks.value, emit)
|
||||||
const { modelValue, nodes, edges } = useVModels(props, emit)
|
const { modelValue, nodes, edges } = useVModels(props, emit)
|
||||||
|
onMounted(() => useWatch({ modelValue, nodes, edges }, props, store))
|
||||||
|
|
||||||
if (applyDefault.value) {
|
if (applyDefault.value) {
|
||||||
onNodesChange(applyNodeChanges)
|
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 (modelValue && modelValue.value) modelValue.value = [...store.nodes, ...store.edges]
|
||||||
if (nodes && nodes.value) nodes.value = store.nodes
|
if (nodes && nodes.value) nodes.value = store.nodes
|
||||||
if (edges && edges.value) edges.value = store.edges
|
if (edges && edges.value) edges.value = store.edges
|
||||||
|
|
||||||
onMounted(() => useWatch({ modelValue, nodes, edges }, props, store))
|
|
||||||
</script>
|
</script>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ const transform = ref({
|
|||||||
})
|
})
|
||||||
const { width, height } = useElementBounding(zoomPaneEl)
|
const { width, height } = useElementBounding(zoomPaneEl)
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(() => {
|
||||||
const d3Zoom = zoom<HTMLDivElement, any>().scaleExtent([store.minZoom, store.maxZoom]).translateExtent(store.translateExtent)
|
const d3Zoom = zoom<HTMLDivElement, any>().scaleExtent([store.minZoom, store.maxZoom]).translateExtent(store.translateExtent)
|
||||||
const d3Selection = select(zoomPaneEl.value).call(d3Zoom)
|
const d3Selection = select(zoomPaneEl.value).call(d3Zoom)
|
||||||
const d3ZoomHandler = d3Selection.on('wheel.zoom')
|
const d3ZoomHandler = d3Selection.on('wheel.zoom')
|
||||||
|
|||||||
Reference in New Issue
Block a user