* docs: Animations * docs: add confetti gun * docs: update basic example on home page * docs(deps): Add stackblitz sdk to deps * chore: update yarn.lock * docs: use vue repl * docs: remove stackblitz sdk * docs: basic repl example * docs: use repl for examples/index.md (basic example) * docs: pass ext to repl * docs: add copy plugin * docs: use import map instead of dynamic imports * docs: use repl for custom node example * docs: hide repl errors * docs: use repl for custom connectionline example * docs: use repl for edges example * docs: exclude repl from ssr * docs: use repl for nested example * docs: use repl for stress example * docs: rename customNode to custom-node * docs: use repl for update-edge example * docs: use repl for update-node example * docs: use repl for validation example * docs: use repl for save-restore example * docs: scale down minimap in repl examples * docs: use repl for dnd example * docs: use repl for empty example * docs: use repl for hidden example * docs: use repl for interaction example * docs: use repl for multi example * docs: add pinia example with stackblitz * docs: update basic example * docs: update examples * docs: remove transition from intro * docs: update features * update: README.md * docs: scope css
32 lines
984 B
Vue
32 lines
984 B
Vue
<script setup>
|
|
import { Background, BackgroundVariant, Controls, MiniMap, VueFlow, useVueFlow } from '@braks/vue-flow'
|
|
|
|
const { nodes, addNodes, edges, addEdges, onConnect, onPaneReady, onNodeDragStop, dimensions } = useVueFlow()
|
|
|
|
onConnect((params) => addEdges([params]))
|
|
onPaneReady((flowInstance) => console.log('flow loaded:', flowInstance))
|
|
onNodeDragStop((node) => console.log('drag stop', node))
|
|
|
|
const addRandomNode = () => {
|
|
const nodeId = (nodes.value.length + 1).toString()
|
|
const newNode = {
|
|
id: nodeId,
|
|
label: `Node: ${nodeId}`,
|
|
position: { x: Math.random() * dimensions.value.width, y: Math.random() * dimensions.value.height },
|
|
}
|
|
addNodes([newNode])
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<VueFlow>
|
|
<MiniMap />
|
|
<Controls />
|
|
<Background :variant="BackgroundVariant.Lines" />
|
|
|
|
<button type="button" :style="{ position: 'absolute', left: '10px', top: '10px', zIndex: 4 }" @click="addRandomNode">
|
|
add node
|
|
</button>
|
|
</VueFlow>
|
|
</template>
|