mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-12 00:20:15 +00:00
With reactivity fixed, control widgets would apply twice. This is fixed by using the litegraph implementation. Also adds control widget support for combos Followup to #7539. Known Issue: - Primitive node do not have litegraph callbacks properly setup. As a result, they will display an updated value when modified by control widgets. Fixing this will requires a larger, separate PR ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7550-Fix-doubled-control-application-2cb6d73d365081739a2fc40fdfb3630e) by [Unito](https://www.unito.io)
47 lines
1.0 KiB
Vue
47 lines
1.0 KiB
Vue
<script setup lang="ts">
|
|
import { computed } from 'vue'
|
|
|
|
import type {
|
|
SimplifiedControlWidget,
|
|
SimplifiedWidget
|
|
} from '@/types/simplifiedWidget'
|
|
|
|
import WidgetInputNumberInput from './WidgetInputNumberInput.vue'
|
|
import WidgetInputNumberSlider from './WidgetInputNumberSlider.vue'
|
|
import WidgetWithControl from './WidgetWithControl.vue'
|
|
|
|
const props = defineProps<{
|
|
widget: SimplifiedWidget<number>
|
|
}>()
|
|
|
|
const modelValue = defineModel<number>({ default: 0 })
|
|
|
|
const hasControlAfterGenerate = computed(() => {
|
|
return !!props.widget.controlWidget
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<WidgetWithControl
|
|
v-if="hasControlAfterGenerate"
|
|
v-model="modelValue"
|
|
:widget="widget as SimplifiedControlWidget<number>"
|
|
:component="
|
|
widget.type === 'slider'
|
|
? WidgetInputNumberSlider
|
|
: WidgetInputNumberInput
|
|
"
|
|
/>
|
|
<component
|
|
:is="
|
|
widget.type === 'slider'
|
|
? WidgetInputNumberSlider
|
|
: WidgetInputNumberInput
|
|
"
|
|
v-else
|
|
v-model="modelValue"
|
|
:widget="widget"
|
|
v-bind="$attrs"
|
|
/>
|
|
</template>
|