mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-23 08:14:06 +00:00
End duck violence
I would prefer that valueRef used the TValue generic, but that causes many, many awful errors. This is far preferable
This commit is contained in:
@@ -119,7 +119,6 @@ export function safeWidgetMapper(
|
||||
) {
|
||||
widget.value = widget.options.values[0]
|
||||
}
|
||||
//@ts-expect-error duck violence
|
||||
if (!widget.valueRef) {
|
||||
const valueRef = ref(widget.value)
|
||||
watch(valueRef, (newValue) => {
|
||||
@@ -128,10 +127,8 @@ export function safeWidgetMapper(
|
||||
})
|
||||
widget.callback = useChainCallback(widget.callback, () => {
|
||||
if (valueRef.value !== widget.value)
|
||||
//@ts-expect-error duck violence
|
||||
valueRef.value = validateWidgetValue(widget.value)
|
||||
valueRef.value = validateWidgetValue(widget.value) ?? undefined
|
||||
})
|
||||
//@ts-expect-error duck violence
|
||||
widget.valueRef = () => valueRef
|
||||
}
|
||||
const spec = nodeDefStore.getInputSpecForWidget(node, widget.name)
|
||||
@@ -145,7 +142,6 @@ export function safeWidgetMapper(
|
||||
return {
|
||||
name: widget.name,
|
||||
type: widget.type,
|
||||
//@ts-expect-error duck violence
|
||||
value: widget.valueRef,
|
||||
borderStyle,
|
||||
isDOMWidget: isDOMWidget(widget),
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import type { Ref } from 'vue'
|
||||
|
||||
import type { CanvasColour, Point, RequiredProps, Size } from '../interfaces'
|
||||
import type { CanvasPointer, LGraphCanvas, LGraphNode } from '../litegraph'
|
||||
import type { CanvasPointerEvent } from './events'
|
||||
@@ -284,6 +286,7 @@ export interface IBaseWidget<
|
||||
/** Widget type (see {@link TWidgetType}) */
|
||||
type: TType
|
||||
value?: TValue
|
||||
valueRef?: () => Ref<boolean | number | string | object | undefined>
|
||||
|
||||
/**
|
||||
* Whether the widget value should be serialized on node serialization.
|
||||
|
||||
Reference in New Issue
Block a user