From 05990072e6f10b279128072fb3108e8e96f6b194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=AD=90=E9=BB=98?= <925456043@qq.com> Date: Sun, 1 Mar 2026 15:52:22 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=B5=81=E7=9A=84=E8=8A=82=E7=82=B9UI=E5=92=8C=E4=BA=A4?= =?UTF-8?q?=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/ai/workflow/WorkflowDesign.vue | 51 +- .../components/base/floating-trigger.svelte | 25 +- .../src/components/base/select.svelte | 672 +++++++++++++++++- .../core/ConfirmParameterItem.svelte | 2 +- .../components/core/RefParameterItem.svelte | 2 +- .../src/components/nodes/LLMNode.svelte | 50 +- .../src/components/utils/createFloating.ts | 19 +- .../components/utils/useRefOptions.svelte.ts | 83 ++- .../packages/tinyflow-ui/src/consts.ts | 13 + .../packages/tinyflow-ui/src/styles/base.less | 81 +-- 10 files changed, 848 insertions(+), 150 deletions(-) diff --git a/easyflow-ui-admin/app/src/views/ai/workflow/WorkflowDesign.vue b/easyflow-ui-admin/app/src/views/ai/workflow/WorkflowDesign.vue index 6f32594..ae7001d 100644 --- a/easyflow-ui-admin/app/src/views/ai/workflow/WorkflowDesign.vue +++ b/easyflow-ui-admin/app/src/views/ai/workflow/WorkflowDesign.vue @@ -1,23 +1,24 @@ -
-
- {@render children() } -
-
- {@render floating() } -
+
+ {@render children() } +
+ +
+ {@render floating() }
diff --git a/easyflow-ui-admin/packages/tinyflow-ui/src/components/base/select.svelte b/easyflow-ui-admin/packages/tinyflow-ui/src/components/base/select.svelte index 5650bda..5dab929 100644 --- a/easyflow-ui-admin/packages/tinyflow-ui/src/components/base/select.svelte +++ b/easyflow-ui-admin/packages/tinyflow-ui/src/components/base/select.svelte @@ -1,30 +1,28 @@ - -{#snippet selectItems(items: SelectItem[])} - {#each items as item, index (`${index}_${item.value}`)} - - {#if (item.children && item.children.length > 0 && (expandAll || expandValue.includes(item.value)))} -
- {@render selectItems(item.children)} + {#if item.children && item.children.length > 0} +
+ {@render renderDefaultItems(item.children, depth + 1)}
{/if} {/each} - {/snippet} +{#snippet renderModelItems(items: SelectItem[])} + {#each items as group} + {#if group.selectable === false} +
+ {#if group.icon} + {@html group.icon} + {/if} + {group.label} +
+ {#each group.children || [] as model} + + {/each} + {:else} + + {/if} + {/each} +{/snippet} + +{#snippet renderNestedItems(items: SelectItem[], depth = 0)} + {#each items as item} +
+ +
+ {#if item.children && item.children.length > 0} +
+ {@render renderNestedItems(item.children, depth + 1)} +
+ {/if} + {/each} +{/snippet}
- - {#snippet floating()} -
- {@render selectItems(items)} -
+ {#if variant === 'default'} +
+ {@render renderDefaultItems(items)} +
+ {:else if variant === 'model'} +
+
+ Model selection + +
+
+ {@render renderModelItems(items)} +
+
+ {:else} +
+ +
+ {#each items as item} + + {/each} +
+ + + {#if hoveredItem && hoveredItem.children && hoveredItem.children.length > 0} +
+ {@render renderNestedItems(hoveredItem.children)} +
+ {/if} +
+ {/if} {/snippet}
+ + diff --git a/easyflow-ui-admin/packages/tinyflow-ui/src/components/core/ConfirmParameterItem.svelte b/easyflow-ui-admin/packages/tinyflow-ui/src/components/core/ConfirmParameterItem.svelte index 3021833..836510a 100644 --- a/easyflow-ui-admin/packages/tinyflow-ui/src/components/core/ConfirmParameterItem.svelte +++ b/easyflow-ui-admin/packages/tinyflow-ui/src/components/core/ConfirmParameterItem.svelte @@ -94,7 +94,7 @@ {#if param.refType === 'fixed'} updateParamByEvent('value', event)} /> {:else if (param.refType !== 'input')} - updateParamByEvent('value', event)} /> {:else if (param.refType !== 'input')} - { +