From f84c328e8c1148fe2fd40fb68b6bb61c355dedef Mon Sep 17 00:00:00 2001 From: Justineo Date: Fri, 25 Oct 2024 14:55:50 +0800 Subject: [PATCH 1/4] fix(entities-plugins): filter plugin with select --- .../src/components/PluginList.vue | 10 ++++++++++ .../components/entity-filter/EntityFilter.vue | 16 ++++++++++++++-- .../entities-shared/src/types/entity-filter.ts | 6 ++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/packages/entities/entities-plugins/src/components/PluginList.vue b/packages/entities/entities-plugins/src/components/PluginList.vue index 5dd3c78d73..9a8413fbb8 100644 --- a/packages/entities/entities-plugins/src/components/PluginList.vue +++ b/packages/entities/entities-plugins/src/components/PluginList.vue @@ -404,6 +404,15 @@ const fetcherBaseUrl = computed(() => { .replace(/{entityId}/gi, props.config?.entityId || '') }) +// pluginMeta.pluginMeta is like: +// { '': { id: '', name: '', ... } } +// convert it to +// [{ label: '', value: '' }] +const plugins = Object.entries(pluginMetaData.pluginMetaData).map(([name, plugin]) => ({ + label: plugin.name, + value: name, +})) + const filterQuery = ref('') const filterConfig = computed['$props']['config']>(() => { const isExactMatch = (props.config.app === 'konnect' || props.config.isExactMatch) @@ -415,6 +424,7 @@ const filterConfig = computed['$props']['confi name: fields.name, id: { label: t('plugins.list.table_headers.id'), sortable: true }, }, + queryItems: plugins, placeholder: t(`search.placeholder.${props.config.app}`), } as ExactMatchFilterConfig } diff --git a/packages/entities/entities-shared/src/components/entity-filter/EntityFilter.vue b/packages/entities/entities-shared/src/components/entity-filter/EntityFilter.vue index 8437a8bf4e..90d175a060 100644 --- a/packages/entities/entities-shared/src/components/entity-filter/EntityFilter.vue +++ b/packages/entities/entities-shared/src/components/entity-filter/EntityFilter.vue @@ -1,6 +1,7 @@ @@ -124,22 +123,19 @@