diff --git a/src/renderer/extensions/linearMode/DropZone.vue b/src/renderer/extensions/linearMode/DropZone.vue
new file mode 100644
index 000000000..8bcf93ee7
--- /dev/null
+++ b/src/renderer/extensions/linearMode/DropZone.vue
@@ -0,0 +1,37 @@
+
+
+ (canAcceptDrop = onDragOver!(e))"
+ @dragleave="canAcceptDrop = false"
+ @drop.stop.prevent="
+ (e: DragEvent) => {
+ onDragDrop!(e)
+ canAcceptDrop = false
+ }
+ "
+ >
+
+
+
+
+
+
+
+
diff --git a/src/views/LinearView.vue b/src/views/LinearView.vue
index 67933988d..04d6b29f4 100644
--- a/src/views/LinearView.vue
+++ b/src/views/LinearView.vue
@@ -35,6 +35,7 @@ import { useTelemetry } from '@/platform/telemetry'
import { useWorkflowStore } from '@/platform/workflow/management/stores/workflowStore'
import type { ComfyWorkflowJSON } from '@/platform/workflow/validation/schemas/workflowSchema'
import { useCanvasStore } from '@/renderer/core/canvas/canvasStore'
+import DropZone from '@/renderer/extensions/linearMode/DropZone.vue'
import NodeWidgets from '@/renderer/extensions/vueNodes/components/NodeWidgets.vue'
import WidgetInputNumberInput from '@/renderer/extensions/vueNodes/widgets/components/WidgetInputNumber.vue'
import { app } from '@/scripts/app'
@@ -84,7 +85,9 @@ const nodeDatas = computed(() => {
mode: 0,
selected: false,
executing: false,
- widgets
+ widgets,
+ onDragOver: node.onDragOver,
+ onDragDrop: node.onDragDrop
}
}
return graphNodes.value
@@ -573,12 +576,17 @@ onKeyStroke('ArrowUp', gotoPreviousOutput)
-
+ :on-drag-over="nodeData.onDragOver"
+ :on-drag-drop="nodeData.onDragDrop"
+ >
+
+