update(examples): correct examples

Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
Braks
2021-12-20 19:29:52 +01:00
parent b12863f297
commit 445718d6f4
32 changed files with 206 additions and 397 deletions
+13 -12
View File
@@ -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>
+8 -10
View File
@@ -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>