32 lines
674 B
Vue
32 lines
674 B
Vue
<script lang="ts" setup>
|
|
import { Handle, Position } from '@vue-flow/core'
|
|
import { NodeToolbar } from '@vue-flow/node-toolbar'
|
|
|
|
interface NodeData {
|
|
toolbarVisible: boolean
|
|
toolbarPosition: Position
|
|
}
|
|
|
|
interface Props {
|
|
data: NodeData
|
|
label: string
|
|
}
|
|
|
|
defineProps<Props>()
|
|
</script>
|
|
|
|
<template>
|
|
<NodeToolbar :is-visible="data.toolbarVisible" :position="data.toolbarPosition">
|
|
<button>delete</button>
|
|
<button>copy</button>
|
|
<button>expand</button>
|
|
</NodeToolbar>
|
|
|
|
<div :style="{ padding: '10px 20px' }">
|
|
{{ label }}
|
|
</div>
|
|
|
|
<Handle type="target" :position="Position.Left" />
|
|
<Handle type="source" :position="Position.Right" />
|
|
</template>
|