From 17be3b97702a7621b11384bf8b620354cc6d2b12 Mon Sep 17 00:00:00 2001 From: AustinMroz Date: Sat, 20 Dec 2025 13:32:07 -0800 Subject: [PATCH] Add support for NO_TITLE in vue, disabling border (#7589) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When `node.title_mode` is set to `TitleMode.NO_TITLE` the node header is not displayed in vue mode. | Before | After | | ------ | ----- | | before | after| When a node has specified both `NO_TITLE` and a transparent background, node borders are also disabled in vue mode. | Before | After | | ------ | ----- | | before | after| Known issues: - `NODE_TITLE_HEIGHT` strikes again. image ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7589-Add-support-for-NO_TITLE-in-vue-disabling-border-2cc6d73d36508182834bc78ea8dffa27) by [Unito](https://www.unito.io) --- src/composables/graph/useGraphNodeManager.ts | 27 ++++++++++--------- .../vueNodes/components/LGraphNode.vue | 16 ++++++++++- src/utils/colorUtil.ts | 9 +++++++ 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/src/composables/graph/useGraphNodeManager.ts b/src/composables/graph/useGraphNodeManager.ts index 9bb1598ba..3a8df1ce3 100644 --- a/src/composables/graph/useGraphNodeManager.ts +++ b/src/composables/graph/useGraphNodeManager.ts @@ -31,8 +31,9 @@ import type { LGraphTriggerAction, LGraphTriggerEvent, LGraphTriggerParam -} from '../../lib/litegraph/src/litegraph' -import { NodeSlotType } from '../../lib/litegraph/src/types/globalEnums' +} from '@/lib/litegraph/src/litegraph' +import type { TitleMode } from '@/lib/litegraph/src/types/globalEnums' +import { NodeSlotType } from '@/lib/litegraph/src/types/globalEnums' export interface WidgetSlotMetadata { index: number @@ -55,26 +56,27 @@ export interface SafeWidgetData { } export interface VueNodeData { + executing: boolean id: NodeId - title: string - type: string mode: number selected: boolean - executing: boolean + title: string + type: string apiNode?: boolean badges?: (LGraphBadge | (() => LGraphBadge))[] - subgraphId?: string | null - widgets?: SafeWidgetData[] - inputs?: INodeInputSlot[] - outputs?: INodeOutputSlot[] - hasErrors?: boolean + bgcolor?: string + color?: string flags?: { collapsed?: boolean pinned?: boolean } - color?: string - bgcolor?: string + hasErrors?: boolean + inputs?: INodeInputSlot[] + outputs?: INodeOutputSlot[] shape?: number + subgraphId?: string | null + titleMode?: TitleMode + widgets?: SafeWidgetData[] } export interface GraphNodeManager { @@ -262,6 +264,7 @@ export function useGraphNodeManager(graph: LGraph): GraphNodeManager { title: typeof node.title === 'string' ? node.title : '', type: nodeType, mode: node.mode || 0, + titleMode: node.title_mode, selected: node.selected || false, executing: false, // Will be updated separately based on execution state subgraphId, diff --git a/src/renderer/extensions/vueNodes/components/LGraphNode.vue b/src/renderer/extensions/vueNodes/components/LGraphNode.vue index f32b14c1c..9de967260 100644 --- a/src/renderer/extensions/vueNodes/components/LGraphNode.vue +++ b/src/renderer/extensions/vueNodes/components/LGraphNode.vue @@ -51,7 +51,10 @@ @dragleave="handleDragLeave" @drop.stop.prevent="handleDrop" > -
+