diff --git a/src/lib/components/workspace/Models/ActionsSelector.svelte b/src/lib/components/workspace/Models/ActionsSelector.svelte
index 444b5476fe..72b5baf95c 100644
--- a/src/lib/components/workspace/Models/ActionsSelector.svelte
+++ b/src/lib/components/workspace/Models/ActionsSelector.svelte
@@ -9,6 +9,7 @@
export let selectedActionIds = [];
let _actions = {};
+ let searchQuery = '';
onMount(() => {
_actions = actions.reduce((acc, action) => {
@@ -20,6 +21,14 @@
return acc;
}, {});
});
+
+ $: filteredActionKeys = Object.keys(_actions).filter((id) => {
+ if (!searchQuery.trim()) return true;
+ const q = searchQuery.toLowerCase();
+ return (
+ _actions[id].name?.toLowerCase().includes(q) || _actions[id].id?.toLowerCase().includes(q)
+ );
+ });
{#if actions.length > 0}
@@ -28,9 +37,20 @@
{$i18n.t('Actions')}
+ {#if Object.keys(_actions).length > 10}
+
+
+
+ {/if}
+
- {#each Object.keys(_actions) as action, actionIdx}
+ {#each filteredActionKeys as action, actionIdx}
{
+ if (!searchQuery.trim()) return true;
+ const q = searchQuery.toLowerCase();
+ return filter.name?.toLowerCase().includes(q) || filter.id?.toLowerCase().includes(q);
+ });
@@ -14,10 +22,21 @@
{$i18n.t('Default Filters')}
+ {#if filters.length > 10}
+
+
+
+ {/if}
+
{#if filters.length > 0}
- {#each filters as filter}
+ {#each filteredFilters as filter}
{@const isSelected = selectedFilterIds.includes(filter.id)}
diff --git a/src/lib/components/workspace/Models/FiltersSelector.svelte b/src/lib/components/workspace/Models/FiltersSelector.svelte
index 7432107daf..b2fea187fe 100644
--- a/src/lib/components/workspace/Models/FiltersSelector.svelte
+++ b/src/lib/components/workspace/Models/FiltersSelector.svelte
@@ -7,6 +7,14 @@
export let filters = [];
export let selectedFilterIds = [];
+
+ let searchQuery = '';
+
+ $: filteredFilters = filters.filter((filter) => {
+ if (!searchQuery.trim()) return true;
+ const q = searchQuery.toLowerCase();
+ return filter.name?.toLowerCase().includes(q) || filter.id?.toLowerCase().includes(q);
+ });
{#if filters.length > 0}
@@ -15,10 +23,21 @@
{$i18n.t('Filters')}
+ {#if filters.length > 10}
+
+
+
+ {/if}
+
- {#each filters as filter}
+ {#each filteredFilters as filter}
{@const isSelected = filter.is_global || selectedFilterIds.includes(filter.id)}
diff --git a/src/lib/components/workspace/Models/ToolsSelector.svelte b/src/lib/components/workspace/Models/ToolsSelector.svelte
index bbc484f907..6cc6d73555 100644
--- a/src/lib/components/workspace/Models/ToolsSelector.svelte
+++ b/src/lib/components/workspace/Models/ToolsSelector.svelte
@@ -6,6 +6,7 @@
export let tools = [];
let _tools = {};
+ let searchQuery = '';
export let selectedToolIds = [];
@@ -21,6 +22,12 @@
return acc;
}, {});
});
+
+ $: filteredToolKeys = Object.keys(_tools).filter((id) => {
+ if (!searchQuery.trim()) return true;
+ const q = searchQuery.toLowerCase();
+ return _tools[id].name?.toLowerCase().includes(q) || _tools[id].id?.toLowerCase().includes(q);
+ });
@@ -28,10 +35,21 @@
{$i18n.t('Tools')}
+ {#if Object.keys(_tools).length > 10}
+
+
+
+ {/if}
+
{#if tools.length > 0}
- {#each Object.keys(_tools) as tool, toolIdx}
+ {#each filteredToolKeys as tool, toolIdx}