diff --git a/package-lock.json b/package-lock.json index 70a4166ec..77a5962cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@alloc/quick-lru": "^5.2.0", "@atlaskit/pragmatic-drag-and-drop": "^1.3.1", "@comfyorg/comfyui-electron-types": "^0.4.20", - "@comfyorg/litegraph": "^0.10.0-0", + "@comfyorg/litegraph": "^0.10.0", "@primevue/forms": "^4.2.5", "@primevue/themes": "^4.2.5", "@sentry/vue": "^8.48.0", @@ -297,9 +297,9 @@ "license": "GPL-3.0-only" }, "node_modules/@comfyorg/litegraph": { - "version": "0.10.0-0", - "resolved": "https://registry.npmjs.org/@comfyorg/litegraph/-/litegraph-0.10.0-0.tgz", - "integrity": "sha512-fdGXX/DX7KGLf0E+LrF5K0X32xxJhTH3jTpltrVVdNzK5Pjy1jvYG+yxtBNUFBAY4KnhFwyQKlxn+RZoE51yWA==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@comfyorg/litegraph/-/litegraph-0.10.0.tgz", + "integrity": "sha512-P9Zmnh1wO89xQfE/CuP0TTDU2P66wyQch34p1NKj0AgdvO2P518zNi30LKuqaScAE1CR7+N2viWZBRSFUsAj6A==", "license": "MIT" }, "node_modules/@cspotcode/source-map-support": { diff --git a/package.json b/package.json index 3974a6834..d78c1bacb 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "@alloc/quick-lru": "^5.2.0", "@atlaskit/pragmatic-drag-and-drop": "^1.3.1", "@comfyorg/comfyui-electron-types": "^0.4.20", - "@comfyorg/litegraph": "^0.10.0-0", + "@comfyorg/litegraph": "^0.10.0", "@primevue/forms": "^4.2.5", "@primevue/themes": "^4.2.5", "@sentry/vue": "^8.48.0", diff --git a/src/components/graph/NodeTooltip.vue b/src/components/graph/NodeTooltip.vue index 6caf6f28b..a3a35f944 100644 --- a/src/components/graph/NodeTooltip.vue +++ b/src/components/graph/NodeTooltip.vue @@ -20,6 +20,7 @@ import { nextTick, ref } from 'vue' import { st } from '@/i18n' import { app as comfyApp } from '@/scripts/app' +import { isDOMWidget } from '@/scripts/domWidget' import { useNodeDefStore } from '@/stores/nodeDefStore' import { useSettingStore } from '@/stores/settingStore' import { normalizeI18nKey } from '@/utils/formatUtil' @@ -101,7 +102,7 @@ const onIdle = () => { const widget = comfyApp.canvas.getWidgetAtCursor() // Dont show for DOM widgets, these use native browser tooltips as we dont get proper mouse events on these - if (widget && !widget.element) { + if (widget && !isDOMWidget(widget)) { const translatedTooltip = st( `nodeDefs.${normalizeI18nKey(node.type)}.inputs.${normalizeI18nKey(widget.name)}.tooltip`, nodeDef.inputs[widget.name]?.tooltip diff --git a/src/scripts/domWidget.ts b/src/scripts/domWidget.ts index d953a765f..edcb1a7e2 100644 --- a/src/scripts/domWidget.ts +++ b/src/scripts/domWidget.ts @@ -1,6 +1,7 @@ import { LGraphNode } from '@comfyorg/litegraph' import type { ICustomWidget, + IWidget, IWidgetOptions } from '@comfyorg/litegraph/dist/types/widgets' import _ from 'lodash' @@ -10,7 +11,7 @@ import { useDomWidgetStore } from '@/stores/domWidgetStore' import { generateUUID } from '@/utils/formatUtil' export interface DOMWidget - extends ICustomWidget { + extends ICustomWidget { // ICustomWidget properties type: 'custom' element: T @@ -56,6 +57,10 @@ export interface DOMWidgetOptions< afterResize?: (this: DOMWidget, node: LGraphNode) => void } +export const isDOMWidget = ( + widget: IWidget +): widget is DOMWidget => 'element' in widget && !!widget.element + export class DOMWidgetImpl implements DOMWidget {