From 44c98fbf623897d88edcf115fb05b4fc53cd8f99 Mon Sep 17 00:00:00 2001 From: filtered <176114999+webfiltered@users.noreply.github.com> Date: Wed, 7 May 2025 22:36:40 +1000 Subject: [PATCH] Rename widget _displayValue to resolve conflict (#1025) --- src/widgets/BaseWidget.ts | 9 +++++---- src/widgets/ComboWidget.ts | 2 +- src/widgets/NumberWidget.ts | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/widgets/BaseWidget.ts b/src/widgets/BaseWidget.ts index 1bd096b27..09b7b9afc 100644 --- a/src/widgets/BaseWidget.ts +++ b/src/widgets/BaseWidget.ts @@ -115,7 +115,8 @@ export abstract class BaseWidget implements I return this.label || this.name } - get displayValue(): string { + // TODO: Resolve this workaround. Ref: https://github.com/Comfy-Org/litegraph.js/issues/1022 + get _displayValue(): string { return String(this.value) } @@ -171,9 +172,9 @@ export abstract class BaseWidget implements I const { margin } = BaseWidget // Measure label and value - const { displayName, displayValue } = this + const { displayName, _displayValue } = this const labelWidth = ctx.measureText(displayName).width - const valueWidth = ctx.measureText(displayValue).width + const valueWidth = ctx.measureText(_displayValue).width const gap = BaseWidget.labelValueGap const x = margin * 2 + leftPadding @@ -218,7 +219,7 @@ export abstract class BaseWidget implements I area.setWidthRightAnchored(cappedValueWidth) } ctx.fillStyle = this.text_color - drawTextInArea({ ctx, text: displayValue, area, align: "right" }) + drawTextInArea({ ctx, text: _displayValue, area, align: "right" }) } /** diff --git a/src/widgets/ComboWidget.ts b/src/widgets/ComboWidget.ts index 246d7af8c..515039fac 100644 --- a/src/widgets/ComboWidget.ts +++ b/src/widgets/ComboWidget.ts @@ -22,7 +22,7 @@ function toArray(values: Values): string[] { export class ComboWidget extends BaseSteppedWidget implements IComboWidget { override type = "combo" as const - override get displayValue() { + override get _displayValue() { const { values: rawValues } = this.options if (rawValues) { const values = typeof rawValues === "function" ? rawValues() : rawValues diff --git a/src/widgets/NumberWidget.ts b/src/widgets/NumberWidget.ts index 4899c7d13..5707e31f7 100644 --- a/src/widgets/NumberWidget.ts +++ b/src/widgets/NumberWidget.ts @@ -8,7 +8,7 @@ import { BaseSteppedWidget } from "./BaseSteppedWidget" export class NumberWidget extends BaseSteppedWidget implements INumericWidget { override type = "number" as const - override get displayValue() { + override get _displayValue() { return Number(this.value).toFixed( this.options.precision !== undefined ? this.options.precision