diff --git a/src/renderer/extensions/vueNodes/components/NodeWidgets.vue b/src/renderer/extensions/vueNodes/components/NodeWidgets.vue
index f843897e3..be4d30e77 100644
--- a/src/renderer/extensions/vueNodes/components/NodeWidgets.vue
+++ b/src/renderer/extensions/vueNodes/components/NodeWidgets.vue
@@ -50,6 +50,7 @@
:widget="widget.simplified"
:model-value="widget.value"
:node-id="nodeData?.id != null ? String(nodeData.id) : ''"
+ :node-type="nodeType"
class="flex-1"
@update:model-value="widget.updateHandler"
/>
@@ -162,7 +163,9 @@ const processedWidgets = computed((): ProcessedWidget[] => {
// Update the widget value directly
widget.value = value as WidgetValue
- if (widget.callback) {
+ // Skip callback for asset widgets - their callback opens the modal,
+ // but Vue asset mode handles selection through the dropdown
+ if (widget.callback && widget.type !== 'asset') {
widget.callback(value)
}
}
diff --git a/src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.vue b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.vue
index dc4d76dfa..bb9ad350e 100644
--- a/src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.vue
+++ b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.vue
@@ -5,11 +5,14 @@
:asset-kind="assetKind"
:allow-upload="allowUpload"
:upload-folder="uploadFolder"
+ :is-asset-mode="isAssetMode"
+ :default-layout-mode="defaultLayoutMode"
@update:model-value="handleUpdateModelValue"
/>
@@ -17,18 +20,22 @@
diff --git a/src/renderer/extensions/vueNodes/widgets/components/WidgetSelectDropdown.vue b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelectDropdown.vue
index edd5a0257..d46bcd0f0 100644
--- a/src/renderer/extensions/vueNodes/widgets/components/WidgetSelectDropdown.vue
+++ b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelectDropdown.vue
@@ -1,10 +1,21 @@