From 0e0c4b1302da97e61b33db721fe7b29d49c7498d Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Thu, 6 Feb 2025 13:15:17 -0500 Subject: [PATCH] [Refactor] Move isImageNode to litegraphUtil (#2450) --- src/scripts/app.ts | 19 +++++++++---------- src/services/litegraphService.ts | 3 ++- src/utils/litegraphUtil.ts | 10 ++++++++++ 3 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 src/utils/litegraphUtil.ts diff --git a/src/scripts/app.ts b/src/scripts/app.ts index b92925b9f..c2d1d3b7a 100644 --- a/src/scripts/app.ts +++ b/src/scripts/app.ts @@ -37,6 +37,7 @@ import { } from '@/types/comfyWorkflow' import { ExtensionManager } from '@/types/extensionTypes' import { ColorAdjustOptions, adjustColor } from '@/utils/colorUtil' +import { isImageNode } from '@/utils/litegraphUtil' import { deserialiseAndCreate } from '@/utils/vintageClipboard' import { type ComfyApi, api } from './api' @@ -185,6 +186,13 @@ export class ComfyApp { return useExecutionStore()._executingNodeProgress } + /** + * @deprecated Use {@link isImageNode} from @/utils/litegraphUtil instead + */ + static isImageNode(node: LGraphNode) { + return isImageNode(node) + } + constructor() { this.vueAppReady = false this.ui = new ComfyUI(this) @@ -232,15 +240,6 @@ export class ComfyApp { return '&rand=' + Math.random() } - static isImageNode(node) { - return ( - node.imgs || - (node && - node.widgets && - node.widgets.findIndex((obj) => obj.name === 'image') >= 0) - ) - } - static onClipspaceEditorSave() { if (ComfyApp.clipspace_return_node) { ComfyApp.pasteFromClipspace(ComfyApp.clipspace_return_node) @@ -502,7 +501,7 @@ export class ComfyApp { if ( this.canvas.current_node && this.canvas.current_node.is_selected && - ComfyApp.isImageNode(this.canvas.current_node) + isImageNode(this.canvas.current_node) ) { imageNode = this.canvas.current_node } diff --git a/src/services/litegraphService.ts b/src/services/litegraphService.ts index f015e05e3..5f2b541a7 100644 --- a/src/services/litegraphService.ts +++ b/src/services/litegraphService.ts @@ -18,6 +18,7 @@ import { useToastStore } from '@/stores/toastStore' import { ComfyNodeDef, ExecutedWsMessage } from '@/types/apiTypes' import type { NodeId } from '@/types/comfyWorkflow' import { normalizeI18nKey } from '@/utils/formatUtil' +import { isImageNode } from '@/utils/litegraphUtil' import { useExtensionService } from './extensionService' @@ -337,7 +338,7 @@ export const useLitegraphService = () => { }) } - if (ComfyApp.isImageNode(this)) { + if (isImageNode(this)) { options.push({ content: 'Open in MaskEditor', callback: (obj) => { diff --git a/src/utils/litegraphUtil.ts b/src/utils/litegraphUtil.ts new file mode 100644 index 000000000..ccbce6d75 --- /dev/null +++ b/src/utils/litegraphUtil.ts @@ -0,0 +1,10 @@ +import type { IWidget, LGraphNode } from '@comfyorg/litegraph' + +export function isImageNode(node: LGraphNode) { + return ( + node.imgs || + (node && + node.widgets && + node.widgets.findIndex((obj: IWidget) => obj.name === 'image') >= 0) + ) +}