Files
ComfyUI_frontend/tools/devtools/dev_nodes.py
bymyself 7cfa213fc8 refactor: improve Vue widget type safety and runtime prop handling
- Add proper type guards for all widget input specs (Color, TreeSelect, MultiSelect, FileUpload, Galleria)
- Enhance schemas with missing properties (format, placeholder, accept, extensions, tooltip)
- Fix widgets to honor runtime props like disabled while accessing spec metadata
- Eliminate all 'as any' usage in widget components with proper TypeScript types
- Clean separation: widget.spec.options for metadata, widget.options for runtime state
- Refactor devtools into modular structure with vue_widgets showcase nodes
2025-11-18 12:00:24 -08:00

92 lines
2.4 KiB
Python

from __future__ import annotations
from .nodes import (
VueAudioPreviewComboNode,
VueAudioRecordWidgetNode,
VueChartWidgetNode,
DeprecatedNode,
DummyPatch,
ErrorRaiseNode,
ErrorRaiseNodeWithMessage,
ExperimentalNode,
VueFileUploadWidgetNode,
LoadAnimatedImageTest,
LongComboDropdown,
VueMarkdownWidgetNode,
VueGalleriaWidgetNode,
VueImageCompareWidgetNode,
MultiSelectNode,
NodeWithBooleanInput,
NodeWithDefaultInput,
NodeWithForceInput,
NodeWithOptionalComboInput,
NodeWithOptionalInput,
NodeWithOnlyOptionalInput,
NodeWithOutputCombo,
NodeWithOutputList,
NodeWithSeedInput,
NodeWithStringInput,
NodeWithUnionInput,
NodeWithValidation,
NodeWithV2ComboInput,
ObjectPatchNode,
VueSelectButtonWidgetNode,
VueTextareaWidgetNode,
VueTreeSelectMultiWidgetNode,
VueTreeSelectWidgetNode,
RemoteWidgetNode,
RemoteWidgetNodeWithControlAfterRefresh,
RemoteWidgetNodeWithParams,
RemoteWidgetNodeWithRefresh,
RemoteWidgetNodeWithRefreshButton,
SimpleSlider,
VueColorWidgetNode,
NODE_CLASS_MAPPINGS,
NODE_DISPLAY_NAME_MAPPINGS,
)
__all__ = [
"VueAudioPreviewComboNode",
"VueAudioRecordWidgetNode",
"VueChartWidgetNode",
"DeprecatedNode",
"DummyPatch",
"ErrorRaiseNode",
"ErrorRaiseNodeWithMessage",
"ExperimentalNode",
"VueFileUploadWidgetNode",
"LoadAnimatedImageTest",
"LongComboDropdown",
"VueMarkdownWidgetNode",
"VueGalleriaWidgetNode",
"VueImageCompareWidgetNode",
"MultiSelectNode",
"NodeWithBooleanInput",
"NodeWithDefaultInput",
"NodeWithForceInput",
"NodeWithOptionalComboInput",
"NodeWithOptionalInput",
"NodeWithOnlyOptionalInput",
"NodeWithOutputCombo",
"NodeWithOutputList",
"NodeWithSeedInput",
"NodeWithStringInput",
"NodeWithUnionInput",
"NodeWithValidation",
"NodeWithV2ComboInput",
"ObjectPatchNode",
"VueSelectButtonWidgetNode",
"VueTextareaWidgetNode",
"VueTreeSelectMultiWidgetNode",
"VueTreeSelectWidgetNode",
"RemoteWidgetNode",
"RemoteWidgetNodeWithControlAfterRefresh",
"RemoteWidgetNodeWithParams",
"RemoteWidgetNodeWithRefresh",
"RemoteWidgetNodeWithRefreshButton",
"SimpleSlider",
"VueColorWidgetNode",
"NODE_CLASS_MAPPINGS",
"NODE_DISPLAY_NAME_MAPPINGS",
]