From a20fb7d260270115df1efb3e6ad4d433cb46ffb8 Mon Sep 17 00:00:00 2001 From: AustinMroz Date: Wed, 19 Nov 2025 21:14:32 -0800 Subject: [PATCH] Allow unsetting widget labels (#6773) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/user-attachments/assets/af344318-dac2-4611-b080-910cdfa1e87d Quick followup to #6752 - Adds support for placeholder values in dialogService.prompt - When label is unset, initial prompt is empty - Display original widget name as placeholder - When prompt returns an empty string (as opposed to null for a canceled operation), remove widget label ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6773-Allow-unsetting-widget-labels-2b16d73d365081ae9f5dd085d0081733) by [Unito](https://www.unito.io) --- src/components/dialog/content/PromptDialogContent.vue | 2 ++ src/services/dialogService.ts | 7 +++++-- src/services/litegraphService.ts | 9 +++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/components/dialog/content/PromptDialogContent.vue b/src/components/dialog/content/PromptDialogContent.vue index 14e70e861..4322a6602 100644 --- a/src/components/dialog/content/PromptDialogContent.vue +++ b/src/components/dialog/content/PromptDialogContent.vue @@ -4,6 +4,7 @@ void + placeholder?: string }>() const inputValue = ref(props.defaultValue) diff --git a/src/services/dialogService.ts b/src/services/dialogService.ts index 3f6901ebc..ff08ad154 100644 --- a/src/services/dialogService.ts +++ b/src/services/dialogService.ts @@ -304,11 +304,13 @@ export const useDialogService = () => { async function prompt({ title, message, - defaultValue = '' + defaultValue = '', + placeholder }: { title: string message: string defaultValue?: string + placeholder?: string }): Promise { return new Promise((resolve) => { dialogStore.showDialog({ @@ -320,7 +322,8 @@ export const useDialogService = () => { defaultValue, onConfirm: (value: string) => { resolve(value) - } + }, + placeholder }, dialogComponentProps: { onClose: () => { diff --git a/src/services/litegraphService.ts b/src/services/litegraphService.ts index 0fcbb57da..6ef4dfcd5 100644 --- a/src/services/litegraphService.ts +++ b/src/services/litegraphService.ts @@ -836,11 +836,12 @@ export const useLitegraphService = () => { const newLabel = await useDialogService().prompt({ title: t('g.rename'), message: t('g.enterNewName') + ':', - defaultValue: overWidget.label ?? overWidget.name + defaultValue: overWidget.label, + placeholder: overWidget.name }) - if (!newLabel) return - overWidget.label = newLabel - input.label = newLabel + if (newLabel === null) return + overWidget.label = newLabel || undefined + input.label = newLabel || undefined useCanvasStore().canvas?.setDirty(true) } })