mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-08 17:10:07 +00:00
## Summary Adds the linter, turns on the recommended and a few extra rules, fixes existing violations. Doesn't prohibit `../../...` imports yet, that'll be it's own PR. ## Changes - **What**: Consistent and fixable imports - **Dependencies**: The plugin and parser ## Review Focus How do you feel about the recommended rules? What about the extra ones? [Any more](https://github.com/un-ts/eslint-plugin-import-x?tab=readme-ov-file#rules) you'd want to turn on? ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-5955-Lint-Add-eslint-import-plugin-2856d73d3650819985c0fb9ca3fa94b0) by [Unito](https://www.unito.io)
32 lines
821 B
TypeScript
32 lines
821 B
TypeScript
import type { LGraphNode } from '@/lib/litegraph/src/litegraph'
|
|
import { isBooleanInputSpec } from '@/schemas/nodeDef/nodeDefSchemaV2'
|
|
import type { InputSpec } from '@/schemas/nodeDef/nodeDefSchemaV2'
|
|
import type { ComfyWidgetConstructorV2 } from '@/scripts/widgets'
|
|
|
|
export const useBooleanWidget = () => {
|
|
const widgetConstructor: ComfyWidgetConstructorV2 = (
|
|
node: LGraphNode,
|
|
inputSpec: InputSpec
|
|
) => {
|
|
if (!isBooleanInputSpec(inputSpec)) {
|
|
throw new Error(`Invalid input data: ${inputSpec}`)
|
|
}
|
|
|
|
const defaultVal = inputSpec.default ?? false
|
|
const options = {
|
|
on: inputSpec.label_on,
|
|
off: inputSpec.label_off
|
|
}
|
|
|
|
return node.addWidget(
|
|
'toggle',
|
|
inputSpec.name,
|
|
defaultVal,
|
|
() => {},
|
|
options
|
|
)
|
|
}
|
|
|
|
return widgetConstructor
|
|
}
|