feat(examples): add node resizer example

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
braks
2022-12-13 15:49:20 +01:00
committed by Braks
parent 49d6f452b3
commit 3f1d7257bf
5 changed files with 73 additions and 0 deletions
@@ -0,0 +1,43 @@
<script lang="ts" setup>
import { VueFlow } from '@vue-flow/core'
import ResizableNode from './ResizableNode.vue'
const elements = ref([
{
id: '1',
type: 'resizable',
label: 'NodeResizer',
position: { x: 0, y: 50 },
style: { background: '#fff', border: '1px solid black', borderRadius: '15px', fontSize: '12px' },
},
{
id: '2',
type: 'resizableSelected',
label: 'NodeResizer when selected',
position: { x: 100, y: 300 },
style: { background: '#fff', border: '1px solid black', borderRadius: '15px', fontSize: '12px' },
},
{
id: '3',
type: 'custom-resizable',
label: 'Custom Resize Icon',
position: { x: 150, y: 150 },
style: {
background: '#fff',
fontSize: '12px',
border: '1px solid black',
padding: '5px',
borderRadius: '15px',
height: '100px',
},
},
])
</script>
<template>
<VueFlow v-model="elements" fit-view-on-init class="vue-flow-basic-example">
<template #node-resizable="resizableNodeProps">
<ResizableNode :label="resizableNodeProps.label" />
</template>
</VueFlow>
</template>
@@ -0,0 +1,15 @@
<script lang="ts" setup>
import { Handle, Position } from '@vue-flow/core'
import { NodeResizer } from '@vue-flow/node-resizer'
import '@vue-flow/node-resizer/dist/style.css'
defineProps(['label'])
</script>
<template>
<NodeResizer min-width="100" min-height="30" />
<Handle type="target" :position="Position.Left" />
<div style="padding: 10px">{{ label }}</div>
<Handle type="source" :position="Position.Right" />
</template>