From 3eaf8f318e5bcc434bad1c62a6b6c8b408196450 Mon Sep 17 00:00:00 2001 From: Yongtae Park Date: Fri, 22 Aug 2025 18:13:39 +0900 Subject: [PATCH 1/5] feat(dashboard): remove and refactor deprecated reference-store Signed-off-by: samuel.park --- .../DashboardCreateStep1SearchFilter.vue | 36 +++++++--------- .../composables/use-provider-list.ts | 34 +++++++++++++++ .../DashboardCreateStep1.vue | 3 +- .../types/dashboard-create-filter-type.ts | 5 +++ .../cost-by-region/CostByRegionWidget.vue | 40 ++++++++++++------ .../cost-by-region-data-hleper.ts | 42 +++++++++---------- 6 files changed, 103 insertions(+), 57 deletions(-) create mode 100644 apps/web/src/services/_shared/dashboard/dashboard-create/composables/use-provider-list.ts create mode 100644 apps/web/src/services/_shared/dashboard/dashboard-create/types/dashboard-create-filter-type.ts diff --git a/apps/web/src/services/_shared/dashboard/dashboard-create/components/DashboardCreateStep1SearchFilter.vue b/apps/web/src/services/_shared/dashboard/dashboard-create/components/DashboardCreateStep1SearchFilter.vue index c0d198eacd..c48a0eb670 100644 --- a/apps/web/src/services/_shared/dashboard/dashboard-create/components/DashboardCreateStep1SearchFilter.vue +++ b/apps/web/src/services/_shared/dashboard/dashboard-create/components/DashboardCreateStep1SearchFilter.vue @@ -7,35 +7,26 @@ import { PFieldTitle, PCheckboxGroup, PCheckbox, PLazyImg, PSelectDropdown, } from '@cloudforet/mirinae'; -import { useAllReferenceStore } from '@/store/reference/all-reference-store'; -import type { ProviderReferenceMap, PluginItem } from '@/store/reference/provider-reference-store'; +import { useProviderList } from '@/services/_shared/dashboard/dashboard-create/composables/use-provider-list'; import { DASHBOARD_LABELS } from '@/services/_shared/dashboard/dashboard-create/constants/dashboard-labels'; +import type { FilterLabelItem } from '@/services/_shared/dashboard/dashboard-create/types/dashboard-create-filter-type'; -export interface FilterLabelItem { - label: string; - name: string; - image?: string; -} interface Props { labels: string[]; } +interface Emits { + (e:'select-label', labels: FilterLabelItem[]):void; + (e:'select-provider', providers: FilterLabelItem[]):void; +} + const props = defineProps(); -const emit = defineEmits<{(e:'select-label', labels: FilterLabelItem[]):void; - (e:'select-provider', plugins: FilterLabelItem[]):void; - (e:'select-plugin', plugins: PluginItem[]):void; -}>(); +const emit = defineEmits(); -const allReferenceStore = useAllReferenceStore(); +const { providerList, loading } = useProviderList(); const state = reactive({ - providers: computed(() => allReferenceStore.getters.provider), - providerList: computed(() => (Object.values(state.providers) as PluginItem[]).map((provider) => ({ - label: provider.name, - name: provider.key, - image: provider.icon, - }))), labels: computed(() => Object.values(DASHBOARD_LABELS)), labelList: computed(() => uniq([...state.labels, ...props.labels]).map((label) => ({ label, @@ -59,12 +50,14 @@ const handleChangeProviderFilter = (selected: FilterLabelItem[]) => {