From e55ee6054d5038399dafe72cccad5a702afa58ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8C=E4=B8=AB=E8=AE=B2=E6=A2=B5?= Date: Sun, 23 Aug 2026 02:53:52 +0800 Subject: [PATCH] feat(meilisearch): add workspace, key, and task management --- .../src/components/layout/ContentArea.vue | 7 + .../meilisearch/MeilisearchIndexView.vue | 7 +- .../meilisearch/MeilisearchKeysPage.vue | 488 +++++++++++ .../meilisearch/MeilisearchMultiSelect.vue | 64 ++ .../meilisearch/MeilisearchOverviewPage.vue | 124 +++ .../MeilisearchSystemWorkspace.vue | 34 + .../meilisearch/MeilisearchTasksPage.vue | 442 ++++++++++ .../__tests__/MeilisearchKeysPage.spec.ts | 224 +++++ .../__tests__/MeilisearchTasksPage.spec.ts | 286 ++++++ .../sidebar/SidebarTreeRuntimeHost.vue | 2 + .../src/components/sidebar/TreeItem.vue | 4 +- .../SidebarTreeRuntimeHost.expansion.spec.ts | 32 + apps/desktop/src/i18n/locales/en.ts | 2 + apps/desktop/src/i18n/locales/es.ts | 2 + apps/desktop/src/i18n/locales/it.ts | 2 + apps/desktop/src/i18n/locales/ja.ts | 2 + apps/desktop/src/i18n/locales/ko.ts | 2 + .../src/i18n/locales/meilisearchManagement.ts | 397 +++++++++ apps/desktop/src/i18n/locales/pt-BR.ts | 2 + apps/desktop/src/i18n/locales/zh-CN.ts | 2 + apps/desktop/src/i18n/locales/zh-TW.ts | 2 + .../sidebar/sidebarActiveTabTarget.spec.ts | 6 + .../sidebarNodeOrdering.meilisearch.spec.ts | 16 + .../__tests__/sidebar/treeNodeClick.spec.ts | 6 + apps/desktop/src/lib/backend/api.ts | 11 + apps/desktop/src/lib/backend/http.ts | 47 + apps/desktop/src/lib/backend/tauri.ts | 47 + .../meilisearch/meilisearchKeyColumns.spec.ts | 22 + .../lib/meilisearch/meilisearchKeyColumns.ts | 24 + .../meilisearchTaskColumns.spec.ts | 24 + .../lib/meilisearch/meilisearchTaskColumns.ts | 26 + .../src/lib/sidebar/sidebarActiveTabTarget.ts | 12 + .../src/lib/sidebar/sidebarNodeOrdering.ts | 4 +- .../src/lib/sidebar/sidebarTreeItemLayout.ts | 1 + apps/desktop/src/lib/sidebar/treeNodeClick.ts | 3 +- apps/desktop/src/lib/sidebar/treeNodeIcon.ts | 2 + .../connectionStore.elasticsearchOpen.spec.ts | 35 + apps/desktop/src/stores/connectionStore.ts | 56 +- apps/desktop/src/stores/queryStore.ts | 3 + apps/desktop/src/types/database.ts | 2 + .../src/types/meilisearchManagement.spec.ts | 48 + .../src/types/meilisearchManagement.ts | 250 ++++++ crates/dbx-core/src/db/meilisearch_driver.rs | 819 +++++++++++++++++- crates/dbx-core/src/document_ops.rs | 104 +++ crates/dbx-web/src/main.rs | 13 + crates/dbx-web/src/routes/document_store.rs | 180 ++++ src-tauri/src/commands/document_cmd.rs | 104 +++ src-tauri/src/lib.rs | 10 + 48 files changed, 3984 insertions(+), 18 deletions(-) create mode 100644 apps/desktop/src/components/meilisearch/MeilisearchKeysPage.vue create mode 100644 apps/desktop/src/components/meilisearch/MeilisearchMultiSelect.vue create mode 100644 apps/desktop/src/components/meilisearch/MeilisearchOverviewPage.vue create mode 100644 apps/desktop/src/components/meilisearch/MeilisearchSystemWorkspace.vue create mode 100644 apps/desktop/src/components/meilisearch/MeilisearchTasksPage.vue create mode 100644 apps/desktop/src/components/meilisearch/__tests__/MeilisearchKeysPage.spec.ts create mode 100644 apps/desktop/src/components/meilisearch/__tests__/MeilisearchTasksPage.spec.ts create mode 100644 apps/desktop/src/i18n/locales/meilisearchManagement.ts create mode 100644 apps/desktop/src/lib/__tests__/sidebar/sidebarNodeOrdering.meilisearch.spec.ts create mode 100644 apps/desktop/src/lib/meilisearch/meilisearchKeyColumns.spec.ts create mode 100644 apps/desktop/src/lib/meilisearch/meilisearchKeyColumns.ts create mode 100644 apps/desktop/src/lib/meilisearch/meilisearchTaskColumns.spec.ts create mode 100644 apps/desktop/src/lib/meilisearch/meilisearchTaskColumns.ts create mode 100644 apps/desktop/src/types/meilisearchManagement.spec.ts create mode 100644 apps/desktop/src/types/meilisearchManagement.ts diff --git a/apps/desktop/src/components/layout/ContentArea.vue b/apps/desktop/src/components/layout/ContentArea.vue index 19ea6c9ec8..4e3c36015f 100644 --- a/apps/desktop/src/components/layout/ContentArea.vue +++ b/apps/desktop/src/components/layout/ContentArea.vue @@ -94,6 +94,7 @@ const ConsulOverview = defineAsyncComponent(() => import("@/components/consul/Co const ConsulWorkspace = defineAsyncComponent(() => import("@/components/consul/ConsulWorkspace.vue")); const DocumentBrowser = defineAsyncComponent(() => import("@/components/document/DocumentBrowser.vue")); const MeilisearchIndexView = defineAsyncComponent(() => import("@/components/meilisearch/MeilisearchIndexView.vue")); +const MeilisearchSystemWorkspace = defineAsyncComponent(() => import("@/components/meilisearch/MeilisearchSystemWorkspace.vue")); const MongoGridFsBrowser = defineAsyncComponent(() => import("@/components/document/MongoGridFsBrowser.vue")); const MongoBucketBrowser = defineAsyncComponent(() => import("@/components/document/MongoBucketBrowser.vue")); const VectorBrowser = defineAsyncComponent(() => import("@/components/vector/VectorBrowser.vue")); @@ -2233,6 +2234,12 @@ defineExpose({ + +