Skip to content

Commit

Permalink
Revert "Correct node/output titles when grouping nodes (#2359) (#2370)…
Browse files Browse the repository at this point in the history
…" (#2399)

Co-authored-by: github-actions <[email protected]>
  • Loading branch information
webfiltered and github-actions authored Feb 2, 2025
1 parent a37671b commit b8088ad
Show file tree
Hide file tree
Showing 9 changed files with 35 additions and 45 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
62 changes: 17 additions & 45 deletions src/extensions/core/groupNode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -404,35 +404,15 @@ export class GroupNodeConfig {
inputName
let key = name
let prefix = ''

// Ensure seenInputs is initialized before checking
seenInputs[key] = (seenInputs[key] ?? 0) + 1

// Special handling for primitive to include the title if it is set rather than just "value"
if ((node.type === 'PrimitiveNode' && node.title) || seenInputs[name] > 1) {
if ((node.type === 'PrimitiveNode' && node.title) || name in seenInputs) {
prefix = `${node.title ?? node.type} `
key = name = `${prefix}${inputName}`

// Ensure seenInputs is initialized before checking it
seenInputs[name] = seenInputs[name] ?? 0

let finalName
if (seenInputs[name] > 0) {
// If a duplicate is found, append an incremental number
prefix = `${node.title ?? node.type} `
finalName = `${prefix} ${seenInputs[name] + 1} ${inputName}`
} else {
// Use the original name if it's the first time
prefix = `${node.title ?? node.type} `
finalName = `${prefix}${inputName}`
if (name in seenInputs) {
name = `${prefix}${seenInputs[name]} ${inputName}`
}

// Store the incremented count for tracking duplicates
seenInputs[name]++

// Ensure the name is added to the definition list correctly
this.nodeDef.input.required[finalName] = config
}
seenInputs[key] = (seenInputs[key] ?? 1) + 1

if (inputName === 'seed' || inputName === 'noise_seed') {
if (!extra) extra = {}
Expand Down Expand Up @@ -660,32 +640,24 @@ export class GroupNodeConfig {
this.nodeDef.output.push(def.output[outputId])
this.nodeDef.output_is_list.push(def.output_is_list[outputId])

// Try to get a custom name from the configuration if it exists
let label =
customConfig?.name ??
// If no custom name, check if the definition provides an output name
def.output_name?.[outputId] ??
// If neither exist, fallback to the raw output type (e.g., "FLOAT", "INT")
def.output[outputId]

// Check if label is missing and fallback
let label = customConfig?.name
if (!label) {
const output = node.outputs.find((o) => o.name)
label = output?.label ?? 'UnnamedOutput'
label = def.output_name?.[outputId] ?? def.output[outputId]
const output = node.outputs.find((o) => o.name === label)
if (output?.label) {
label = output.label
}
}

let name = label

// Always prefix with node title or type
const prefix = `${node.title ?? node.type} `
name = `${prefix}${label}`

// Apply the same duplicate tracking logic as inputs
if (seenOutputs[name]) {
name = `${prefix} ${seenOutputs[name] + 1} ${label}`
if (name in seenOutputs) {
const prefix = `${node.title ?? node.type} `
name = `${prefix}${label}`
if (name in seenOutputs) {
name = `${prefix}${node.index} ${label}`
}
}

seenOutputs[name] = (seenOutputs[name] ?? 0) + 1
seenOutputs[name] = 1

this.nodeDef.output_name.push(name)
}
Expand Down
3 changes: 3 additions & 0 deletions src/locales/en/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,9 @@
"LiteGraph_ContextMenu_Scaling": {
"name": "Scale node combo widget menus (lists) when zoomed in"
},
"LiteGraph_Node_TooltipDelay": {
"name": "Tooltip Delay"
},
"pysssss_SnapToGrid": {
"name": "Always snap to grid"
}
Expand Down
3 changes: 3 additions & 0 deletions src/locales/fr/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,9 @@
"LiteGraph_ContextMenu_Scaling": {
"name": "Mise à l'échelle des menus de widgets combinés de nœuds (listes) lors du zoom"
},
"LiteGraph_Node_TooltipDelay": {
"name": "Délai d'infobulle"
},
"pysssss_SnapToGrid": {
"name": "Toujours aligner sur la grille"
}
Expand Down
3 changes: 3 additions & 0 deletions src/locales/ja/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,9 @@
"LiteGraph_ContextMenu_Scaling": {
"name": "ズームイン時にノードコンボウィジェットメニュー(リスト)をスケーリングする"
},
"LiteGraph_Node_TooltipDelay": {
"name": "ツールチップ遅延"
},
"pysssss_SnapToGrid": {
"name": "常にグリッドにスナップ"
}
Expand Down
3 changes: 3 additions & 0 deletions src/locales/ko/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,9 @@
"LiteGraph_ContextMenu_Scaling": {
"name": "확대시 노드 콤보 위젯 메뉴 (목록) 스케일링"
},
"LiteGraph_Node_TooltipDelay": {
"name": "툴팁 지연"
},
"pysssss_SnapToGrid": {
"name": "항상 그리드에 스냅"
}
Expand Down
3 changes: 3 additions & 0 deletions src/locales/ru/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,9 @@
"LiteGraph_ContextMenu_Scaling": {
"name": "Масштабирование комбинированных виджетов меню узлов (списков) при увеличении"
},
"LiteGraph_Node_TooltipDelay": {
"name": "Задержка всплывающей подсказки"
},
"pysssss_SnapToGrid": {
"name": "Всегда привязываться к сетке"
}
Expand Down
3 changes: 3 additions & 0 deletions src/locales/zh/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,9 @@
"LiteGraph_ContextMenu_Scaling": {
"name": "放大时缩放节点组合部件菜单(列表)"
},
"LiteGraph_Node_TooltipDelay": {
"name": "工具提示延迟"
},
"pysssss_SnapToGrid": {
"name": "始终吸附到网格"
}
Expand Down

0 comments on commit b8088ad

Please sign in to comment.