Christian Byrne
975f45842c
refactor: use placeholder to display deserialized values instead of modifying options
...
Simplified the approach to show deserialized workflow values that are not in
the current options list. Instead of adding missing values to the options array,
we now display them as the placeholder text. This is cleaner, avoids array
manipulation, and addresses performance concerns from code review.
2025-11-02 18:27:27 -08:00
GitHub Action
266b09f7e0
[automated] Apply ESLint and Prettier fixes
2025-11-02 21:32:50 +00:00
Christian Byrne
c92123aece
[bugfix] Fix Vue nodes combo widgets not displaying deserialized values
...
Fixes an issue where combo widgets in Vue nodes would not display values
from deserialized workflows if those values were not in the current options
list (e.g., deleted model files, removed checkpoints). This brings Vue nodes
behavior in line with legacy canvas rendering, which always displays the
current value regardless of whether it exists in the options.
2025-11-02 09:54:47 -08:00
Christian Byrne
9350c857a2
style: use "text-button-icon" token for dropdown icons on Vue nodes ( #6284 )
...
## Summary
Change these dropdown icons to match [the
design](https://www.figma.com/design/31uH3r4x3xbIctuRWYW6NM/V3---Vue-Nodes?node-id=6189-6820&m=dev ).
**Before**
<img width="692" height="694" alt="Selection_2196"
src="https://github.com/user-attachments/assets/aa1fb135-0ad0-4ab6-8c79-7163349b5fae "
/>
**After**
<img width="600" height="602" alt="Selection_2195"
src="https://github.com/user-attachments/assets/742ddef4-4b51-48ba-98a0-9517267de0e1 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6284-style-use-text-button-icon-token-for-dropdown-icons-on-Vue-nodes-2976d73d365081d29d2aee51e836caaf )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-10-25 22:36:01 -07:00
Christian Byrne
0497421349
add aria labels on vue node widgets ( #6032 )
...
## Summary
Adds aria labels to buttons and widgets without pre-existing text
labels.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6032-add-aria-labels-on-vue-node-widgets-28a6d73d36508198a1c0ef7098ad24e8 )
by [Unito](https://www.unito.io )
2025-10-12 17:44:03 -07:00
Alexander Brown
37fab21daf
Cleanup: YAGNI readonly props, private swap on ComfyApp, Canvas resize events simplification, v-memos on individual instances ( #5869 )
...
## Summary
Assorted cleanup opportunities found while working through the Vue node
rendering logic cleanup.
## Review Focus
Am I wrong that the readonly logic was never actually executing because
it was defined as False in GraphCanvas when making each LGraphNode?
Is there an edge case or some other reason that the ResizeObserver
wouldn't work as a single signal to resize the canvas?
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5869-Cleanup-YAGNI-readonly-props-private-swap-on-ComfyApp-Canvas-resize-events-simplificat-27e6d73d3650811ba1dcf29e8d43091e )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-10-02 10:35:10 -07:00
Terry Jia
28a779d41a
Check if the wheel event is from an element that wants to capture wheel events ( #5821 )
...
## Summary
Add generic wheel event capture mechanism for interactive widgets in
vueNodes system to prevent event bubbling to canvas.
## Changes
- What: Add event handling logic in LGraphNode.vue and GraphCanvas.vue
that checks for data-capture-wheel attribute to determine whether wheel
events should be forwarded to the canvas
- How it works: Components that need to capture wheel events (like
Three.js scenes) can add data-capture-wheel="true" attribute to prevent
wheel events from bubbling up to the canvas zoom handler
prerequirist for https://github.com/Comfy-Org/ComfyUI_frontend/pull/5765
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5821-Check-if-the-wheel-event-is-from-an-element-that-wants-to-capture-wheel-events-27b6d73d3650812493b5f13849147e6c )
by [Unito](https://www.unito.io )
2025-09-29 19:51:37 -07:00
Christian Byrne
4b9d448b6c
fix style of Select COMBO Vue node widget ( #5785 )
...
## Summary
Fixed `WidgetSelect` component styling to match other Vue node widgets
by using shared base styles.
## Changes
- **What**: Replaced hardcoded color classes with `WidgetInputBaseClass`
for consistent styling across Vue node widgets
## Review Focus
Visual consistency with other input widgets in Vue nodes interface and
proper styling inheritance.
## Screenshots (if applicable)
*Before*:
<img width="1645" height="1436" alt="Screenshot from 2025-09-25
18-12-16"
src="https://github.com/user-attachments/assets/0b985616-0cf5-44e3-8459-739d194dec7a "
/>
*After*:
<img width="1645" height="1436" alt="Screenshot from 2025-09-25
18-12-07"
src="https://github.com/user-attachments/assets/235437cf-3e1f-4bc0-8822-26fb8606b437 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5785-fix-style-of-Select-COMBO-Vue-node-widget-27a6d73d3650811a959ef8a955274987 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-09-27 10:28:26 -07:00
Rizumu Ayaka
c96f719f91
feat: dropdown widgets vue node ui ( #5624 )
...
- Load media dropdown widgets
- Load models dropdown widgets
I added a lot of feedback effects during interactions.
I tried my best to break the Dropdown into small components.
To make it more flexible, I provided many configurable props and
v-model.
<img width="1000" alt="CleanShot 2025-09-18 at 01 54 38"
src="https://github.com/user-attachments/assets/1a413078-1547-44b8-8b48-1ce8f8e764b5 "
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5624-feat-dropdown-widgets-vue-node-ui-2716d73d36508115a52bc1fb6d6376d0 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Christian Byrne <cbyrne@comfy.org >
2025-09-26 12:04:39 -07:00