Support insert workflow by dragging from workflow sidebar to canvas (#2440)

This commit is contained in:
Chenlei Hu
2025-02-05 17:09:01 -05:00
committed by GitHub
parent 5a7465a907
commit a4d99d9d28
6 changed files with 53 additions and 8 deletions

View File

@@ -1,4 +1,5 @@
import { LGraphCanvas } from '@comfyorg/litegraph'
import type { Vector2 } from '@comfyorg/litegraph'
import { toRaw } from 'vue'
import { t } from '@/i18n'
@@ -327,7 +328,10 @@ export const useWorkflowService = () => {
/**
* Insert the given workflow into the current graph editor.
*/
const insertWorkflow = async (workflow: ComfyWorkflow) => {
const insertWorkflow = async (
workflow: ComfyWorkflow,
options: { position?: Vector2 } = {}
) => {
const loadedWorkflow = await workflow.load()
const data = loadedWorkflow.initialState
const old = localStorage.getItem('litegrapheditor_clipboard')
@@ -341,7 +345,7 @@ export const useWorkflowService = () => {
canvas.reroutesEnabled = app.canvas.reroutesEnabled
canvas.selectItems()
canvas.copyToClipboard()
app.canvas.pasteFromClipboard()
app.canvas.pasteFromClipboard(options)
if (old !== null) {
localStorage.setItem('litegrapheditor_clipboard', old)
}