update(examples): correct examples
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
@@ -1,22 +1,22 @@
|
||||
<script lang="ts" setup>
|
||||
import { useZoomPanHelper, FlowExportObject, Node, useVueFlow } from '~/index'
|
||||
import { useZoomPanHelper, FlowExportObject, Node, useVueFlow, useElementsState } from '~/index'
|
||||
|
||||
const flowKey = 'example-flow'
|
||||
const state = useStorage(flowKey, {
|
||||
elements: [],
|
||||
nodes: [],
|
||||
edges: [],
|
||||
position: [NaN, NaN],
|
||||
zoom: 1,
|
||||
} as FlowExportObject)
|
||||
|
||||
const getNodeId = () => `randomnode_${+new Date()}`
|
||||
|
||||
const { transform } = useZoomPanHelper()
|
||||
|
||||
const flow = useVueFlow()
|
||||
const emit = defineEmits(['restore', 'add'])
|
||||
const { setTransform } = useZoomPanHelper()
|
||||
const { instance, dimensions } = useVueFlow()
|
||||
const { nodes, edges, addNodes, setNodes, setEdges } = useElementsState()
|
||||
|
||||
const onSave = () => {
|
||||
if (flow.instance) state.value = flow.instance.toObject()
|
||||
state.value = instance.value.toObject()
|
||||
}
|
||||
|
||||
const onRestore = () => {
|
||||
@@ -24,18 +24,19 @@ const onRestore = () => {
|
||||
|
||||
if (flow) {
|
||||
const [x = 0, y = 0] = flow.position
|
||||
emit('restore', flow.elements ?? [])
|
||||
transform({ x, y, zoom: flow.zoom || 0 })
|
||||
setNodes(state.value.nodes)
|
||||
setEdges(state.value.edges)
|
||||
setTransform({ x, y, zoom: flow.zoom || 0 })
|
||||
}
|
||||
}
|
||||
|
||||
const onAdd = () => {
|
||||
const newNode = {
|
||||
id: `random_node-${getNodeId()}`,
|
||||
data: { label: 'Added node' },
|
||||
position: { x: Math.random() * window.innerWidth - 100, y: Math.random() * window.innerHeight },
|
||||
label: 'Added node',
|
||||
position: { x: Math.random() * dimensions.value.width, y: Math.random() * dimensions.value.height },
|
||||
} as Node
|
||||
flow.addElements([newNode])
|
||||
addNodes([newNode])
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
|
||||
@@ -1,22 +1,20 @@
|
||||
<script lang="ts" setup>
|
||||
import Controls from './Controls.vue'
|
||||
import { VueFlow, addEdge, Connection, Edge, Elements } from '~/index'
|
||||
|
||||
import './save.css'
|
||||
import { VueFlow, Elements } from '~/index'
|
||||
|
||||
const initialElements: Elements = [
|
||||
{ id: '1', data: { label: 'Node 1' }, position: { x: 100, y: 100 } },
|
||||
{ id: '2', data: { label: 'Node 2' }, position: { x: 100, y: 200 } },
|
||||
{ id: '1', label: 'Node 1', position: { x: 100, y: 100 } },
|
||||
{ id: '2', label: 'Node 2', position: { x: 100, y: 200 } },
|
||||
{ id: 'e1-2', source: '1', target: '2' },
|
||||
]
|
||||
|
||||
const elements = ref(initialElements)
|
||||
|
||||
const onConnect = (params: Connection | Edge) => (elements.value = addEdge(params, elements.value))
|
||||
const onRestore = (els: Elements) => (elements.value = els)
|
||||
</script>
|
||||
<template>
|
||||
<VueFlow v-model="elements" storage-key="vue-flow-123" @connect="onConnect">
|
||||
<Controls @restore="onRestore" />
|
||||
<VueFlow v-model="elements">
|
||||
<Controls />
|
||||
</VueFlow>
|
||||
</template>
|
||||
<style>
|
||||
@import './save.css';
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user