From c3230fdbe1900d0ab96793654ddf804da6769a52 Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Fri, 13 Jun 2025 21:53:23 +0800 Subject: [PATCH] refactor: streamline database handling and remove unused options --- .../components/core/database/useDatabase.ts | 11 ---- .../spider/SpiderResultDataWithDatabase.vue | 14 ++--- .../src/components/core/user/UserForm.vue | 14 +---- .../layouts/content/detail/DetailLayout.vue | 1 - frontend/crawlab-ui/src/utils/database.ts | 8 +++ .../views/database/detail/DatabaseDetail.vue | 6 -- frontend/crawlab-ui/src/views/index.ts | 2 - .../actions/SpiderDetailActionsData.vue | 61 ++++++++----------- .../actions/SpiderDetailActionsDatabase.vue | 47 -------------- .../src/views/task/detail/TaskDetail.vue | 6 -- 10 files changed, 42 insertions(+), 128 deletions(-) delete mode 100644 frontend/crawlab-ui/src/views/spider/detail/actions/SpiderDetailActionsDatabase.vue diff --git a/frontend/crawlab-ui/src/components/core/database/useDatabase.ts b/frontend/crawlab-ui/src/components/core/database/useDatabase.ts index aff9f80f..bbe3da40 100644 --- a/frontend/crawlab-ui/src/components/core/database/useDatabase.ts +++ b/frontend/crawlab-ui/src/components/core/database/useDatabase.ts @@ -88,16 +88,6 @@ export const useDatabase = (store: Store) => { store.commit(`${ns}/setForm`, { ...form }); }; - const allListSelectOptions = computed( - () => - store.getters[`${ns}/allListSelectOptions`]?.map((op: SelectOption) => { - if (op.value === EMPTY_OBJECT_ID) { - return { ...op, label: t('components.database.default.name') }; - } - return op; - }) || [] - ); - return { ...useForm( ns, @@ -107,7 +97,6 @@ export const useDatabase = (store: Store) => { ), formRules, dataSourceOptions, - allListSelectOptions, getTypeOptionsWithDefault, onChangePasswordFunc, onHostsAdd, diff --git a/frontend/crawlab-ui/src/components/core/spider/SpiderResultDataWithDatabase.vue b/frontend/crawlab-ui/src/components/core/spider/SpiderResultDataWithDatabase.vue index fd66d9fd..30849c2b 100644 --- a/frontend/crawlab-ui/src/components/core/spider/SpiderResultDataWithDatabase.vue +++ b/frontend/crawlab-ui/src/components/core/spider/SpiderResultDataWithDatabase.vue @@ -28,18 +28,18 @@ const { form } = useSpider(store); const databaseMetadata = computed(() => state.databaseMetadata); const getDatabaseMetadata = debounce(async () => { - if (!form.value?.data_source_id) return; - await store.dispatch(`${ns}/getDatabaseMetadata`, form.value.data_source_id); + if (!form.value?.database_id) return; + await store.dispatch(`${ns}/getDatabaseMetadata`, form.value.database_id); }); -watch(() => form.value?.data_source_id, getDatabaseMetadata); +watch(() => form.value?.database_id, getDatabaseMetadata); onBeforeMount(getDatabaseMetadata); const activeTable = ref(); const getActiveTable = debounce(async () => { - const { data_source_id, db_name, col_name } = form.value; - if (!data_source_id || !col_name) return; + const { database_id, db_name, col_name } = form.value; + if (!database_id || !col_name) return; const res = await post>( - `/databases/${data_source_id}/tables/metadata/get`, + `/databases/${database_id}/tables/metadata/get`, { database: db_name, table: col_name, @@ -110,7 +110,7 @@ defineOptions({ name: 'ClSpiderResultDataWithDatabase' }); v-if="activeTable" ref="dataRef" :active-table="activeTable" - :active-id="form?.data_source_id || EMPTY_OBJECT_ID" + :active-id="form?.database_id || EMPTY_OBJECT_ID" :database-name="form?.db_name" :filter="dataFilter" :display-all-fields="displayAllFields" diff --git a/frontend/crawlab-ui/src/components/core/user/UserForm.vue b/frontend/crawlab-ui/src/components/core/user/UserForm.vue index 867608a0..8867a1f3 100644 --- a/frontend/crawlab-ui/src/components/core/user/UserForm.vue +++ b/frontend/crawlab-ui/src/components/core/user/UserForm.vue @@ -45,8 +45,6 @@ const form = computed(() => { return userForm.value; }); -const { allListSelectOptions: allRolesSelectOptions } = useRole(store); - defineOptions({ name: 'ClUserForm' }); @@ -167,17 +165,11 @@ defineOptions({ name: 'ClUserForm' }); required >