31 lines
764 B
Vue
31 lines
764 B
Vue
<script setup>
|
|
import { ref } from 'vue'
|
|
import { VueFlow, useVueFlow } from '@vue-flow/core'
|
|
import DropzoneBackground from './DropzoneBackground.vue'
|
|
import Sidebar from './Sidebar.vue'
|
|
import useDragAndDrop from './useDnD'
|
|
|
|
const { onConnect, addEdges } = useVueFlow()
|
|
|
|
const { onDragOver, onDrop, onDragLeave, isDragOver } = useDragAndDrop()
|
|
|
|
const nodes = ref([])
|
|
|
|
onConnect(addEdges)
|
|
</script>
|
|
|
|
<template>
|
|
<div class="dndflow" @drop="onDrop">
|
|
<VueFlow :nodes="nodes" @dragover="onDragOver" @dragleave="onDragLeave">
|
|
<DropzoneBackground
|
|
:style="{
|
|
backgroundColor: isDragOver ? '#e7f3ff' : 'transparent',
|
|
transition: 'background-color 0.2s ease',
|
|
}"
|
|
/>
|
|
</VueFlow>
|
|
|
|
<Sidebar />
|
|
</div>
|
|
</template>
|