From bfcd24bad8e0589df600d771001220cf0d1bdc42 Mon Sep 17 00:00:00 2001 From: Yongtae Park Date: Wed, 9 Apr 2025 15:40:27 +0900 Subject: [PATCH 01/18] feat(project-route): add project dashboard create route & apply route name convention Signed-off-by: samuel.park --- apps/web/src/services/project/v2/routes/route-constant.ts | 3 ++- apps/web/src/services/project/v2/routes/routes.ts | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/web/src/services/project/v2/routes/route-constant.ts b/apps/web/src/services/project/v2/routes/route-constant.ts index e8d42084bb..e60a54ba09 100644 --- a/apps/web/src/services/project/v2/routes/route-constant.ts +++ b/apps/web/src/services/project/v2/routes/route-constant.ts @@ -2,5 +2,6 @@ import { MENU_ID } from '@/lib/menu/config'; export const PROJECT_ROUTE_V2 = Object.freeze({ _NAME: MENU_ID.PROJECT, - DETAIL: `${MENU_ID.PROJECT}-detail`, + DETAIL: { _NAME: `${MENU_ID.PROJECT}-detail` }, + DASHBOARD_CREATE: { _NAME: `${MENU_ID.PROJECT}-dashboard-create` }, }); diff --git a/apps/web/src/services/project/v2/routes/routes.ts b/apps/web/src/services/project/v2/routes/routes.ts index 096122f53c..790f91a716 100644 --- a/apps/web/src/services/project/v2/routes/routes.ts +++ b/apps/web/src/services/project/v2/routes/routes.ts @@ -18,6 +18,12 @@ const projectRoutes: RouteConfig = { }, component: ProjectContainer, children: [ + { + path: ':projectGroupOrProjectId/dashboard-create', + name: PROJECT_ROUTE_V2.DASHBOARD_CREATE._NAME, + props: true, + // component: ProjectDashboardCreatePage, + }, { path: ':projectGroupOrProjectId?/:dashboardId?', name: PROJECT_ROUTE_V2._NAME, From 2c13d52a23ea15451abe1f3f4a8be88c0ce97adb Mon Sep 17 00:00:00 2001 From: Yongtae Park Date: Wed, 9 Apr 2025 15:41:57 +0900 Subject: [PATCH 02/18] fix(dashboard-shared): separate shared dashboard form dashboards service (dashboard create only) Signed-off-by: samuel.park --- .../DashboardCreateBlankBoardItem.vue | 3 +- .../DashboardCreateScopeForm.vue | 2 +- .../dashboard-create/DashboardCreateStep1.vue | 89 ++++++----------- .../DashboardCreateStep1SearchFilter.vue | 0 .../dashboard-create/DashboardCreateStep2.vue | 18 ++-- .../DashboardCreateStep2BundleCase.vue | 81 +++++++++------ .../DashboardCreateStep2SingleCase.vue | 99 +++++++++++-------- .../use-dashboard-route-context.ts | 60 +++++++++++ .../stores/dashboard-create-page-store.ts | 0 9 files changed, 210 insertions(+), 142 deletions(-) rename apps/web/src/services/{dashboards => dashboard-shared}/components/dashboard-create/DashboardCreateBlankBoardItem.vue (97%) rename apps/web/src/services/{dashboards => dashboard-shared}/components/dashboard-create/DashboardCreateScopeForm.vue (99%) rename apps/web/src/services/{dashboards => dashboard-shared}/components/dashboard-create/DashboardCreateStep1.vue (68%) rename apps/web/src/services/{dashboards => dashboard-shared}/components/dashboard-create/DashboardCreateStep1SearchFilter.vue (100%) rename apps/web/src/services/{dashboards => dashboard-shared}/components/dashboard-create/DashboardCreateStep2.vue (77%) rename apps/web/src/services/{dashboards => dashboard-shared}/components/dashboard-create/DashboardCreateStep2BundleCase.vue (69%) rename apps/web/src/services/{dashboards => dashboard-shared}/components/dashboard-create/DashboardCreateStep2SingleCase.vue (67%) create mode 100644 apps/web/src/services/dashboard-shared/composables/use-dashboard-route-context.ts rename apps/web/src/services/{dashboards => dashboard-shared}/stores/dashboard-create-page-store.ts (100%) diff --git a/apps/web/src/services/dashboards/components/dashboard-create/DashboardCreateBlankBoardItem.vue b/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateBlankBoardItem.vue similarity index 97% rename from apps/web/src/services/dashboards/components/dashboard-create/DashboardCreateBlankBoardItem.vue rename to apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateBlankBoardItem.vue index f6754aded9..092d6ff9f9 100644 --- a/apps/web/src/services/dashboards/components/dashboard-create/DashboardCreateBlankBoardItem.vue +++ b/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateBlankBoardItem.vue @@ -4,8 +4,7 @@ import { } from '@cloudforet/mirinae'; import type { BoardSet } from '@cloudforet/mirinae/types/data-display/board/type'; -import { useDashboardCreatePageStore } from '@/services/dashboards/stores/dashboard-create-page-store'; - +import { useDashboardCreatePageStore } from '@/services/dashboard-shared/stores/dashboard-create-page-store'; interface Props { templateSets: BoardSet[]; diff --git a/apps/web/src/services/dashboards/components/dashboard-create/DashboardCreateScopeForm.vue b/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateScopeForm.vue similarity index 99% rename from apps/web/src/services/dashboards/components/dashboard-create/DashboardCreateScopeForm.vue rename to apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateScopeForm.vue index c1d2b7a9ed..3d46d59b0b 100644 --- a/apps/web/src/services/dashboards/components/dashboard-create/DashboardCreateScopeForm.vue +++ b/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateScopeForm.vue @@ -18,7 +18,7 @@ import { useUserStore } from '@/store/user/user-store'; import WorkspaceLogoIcon from '@/common/modules/navigations/top-bar/modules/top-bar-header/WorkspaceLogoIcon.vue'; -import { useDashboardCreatePageStore } from '@/services/dashboards/stores/dashboard-create-page-store'; +import { useDashboardCreatePageStore } from '@/services/dashboard-shared/stores/dashboard-create-page-store'; diff --git a/apps/web/src/services/dashboards/components/dashboard-create/DashboardCreateStep1.vue b/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1.vue similarity index 68% rename from apps/web/src/services/dashboards/components/dashboard-create/DashboardCreateStep1.vue rename to apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1.vue index 1d981d2c5d..0cca367b85 100644 --- a/apps/web/src/services/dashboards/components/dashboard-create/DashboardCreateStep1.vue +++ b/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1.vue @@ -14,49 +14,31 @@ import type { DashboardModel } from '@/api-clients/dashboard/_types/dashboard-ty import type { DashboardTemplateModel } from '@/schema/repository/dashboard-template/model'; import { i18n } from '@/translations'; -import { useAppContextStore } from '@/store/app-context/app-context-store'; - -import DashboardCreateBlankBoardItem from '@/services/dashboards/components/dashboard-create/DashboardCreateBlankBoardItem.vue'; -import type { FilterLabelItem } from '@/services/dashboards/components/dashboard-create/DashboardCreateStep1SearchFilter.vue'; -import DashboardCreateStep1SearchFilter from '@/services/dashboards/components/dashboard-create/DashboardCreateStep1SearchFilter.vue'; +import DashboardCreateBlankBoardItem from '@/services/dashboard-shared/components/dashboard-create/DashboardCreateBlankBoardItem.vue'; +import type { FilterLabelItem } from '@/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1SearchFilter.vue'; +import DashboardCreateStep1SearchFilter from '@/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1SearchFilter.vue'; +import { useDashboardRouteContext } from '@/services/dashboard-shared/composables/use-dashboard-route-context'; +import { useDashboardCreatePageStore } from '@/services/dashboard-shared/stores/dashboard-create-page-store'; import DashboardFolderTree from '@/services/dashboards/components/dashboard-folder/DashboardFolderTree.vue'; -import { useDashboardQuery } from '@/services/dashboards/composables/use-dashboard-query'; import { ADMIN_DASHBOARDS_ROUTE } from '@/services/dashboards/routes/admin/route-constant'; import { DASHBOARDS_ROUTE } from '@/services/dashboards/routes/route-constant'; -import { useDashboardCreatePageStore } from '@/services/dashboards/stores/dashboard-create-page-store'; import type { DashboardTreeDataType } from '@/services/dashboards/types/dashboard-folder-type'; +import { PROJECT_ROUTE_V2 } from '@/services/project/v2/routes/route-constant'; +interface Props { + dashboardItems: Array; +} - +const props = defineProps(); const emit = defineEmits<{(e: 'click-next'): void }>(); const router = useRouter(); -const appContextStore = useAppContextStore(); const dashboardCreatePageStore = useDashboardCreatePageStore(); const dashboardCreatePageState = dashboardCreatePageStore.state; const dashboardCreatePageGetters = dashboardCreatePageStore.getters; - -/* Query */ -const { - publicDashboardList, - privateDashboardList, -} = useDashboardQuery(); - -const queryState = reactive({ - publicDashboardItems: computed(() => { - const _v2DashboardItems = publicDashboardList.value.filter((d) => d.version !== '1.0'); - if (storeState.isAdminMode) return _v2DashboardItems; - return _v2DashboardItems.filter((d) => !(d.resource_group === 'DOMAIN' && !!d.shared && d.scope === 'PROJECT')); - }), - privateDashboardItems: computed(() => privateDashboardList.value.filter((d) => d.version !== '1.0')), - allDashboardItems: computed(() => [...queryState.publicDashboardItems, ...queryState.privateDashboardItems]), -}); - -const storeState = reactive({ - isAdminMode: computed(() => appContextStore.getters.isAdminMode), -}); +const { entryPoint, projectGroupOrProjectId } = useDashboardRouteContext(); const state = reactive({ templates: [] as DashboardTemplateModel[], @@ -83,7 +65,7 @@ const state = reactive({ }), allExistingLabels: computed(() => { const _ootbTemplates = getFilteredTemplates(dashboardCreatePageState.dashboardTemplates, '', [], []); - const _existingTemplates = getFilteredTemplates(queryState.allDashboardItems, '', [], []); + const _existingTemplates = getFilteredTemplates(props.dashboardItems, '', [], []); const _ootbLabels = flatMapDeep(_ootbTemplates.map((d) => d.labels ?? [])); const _existingLabels = flatMapDeep(_existingTemplates.map((d) => d.labels ?? [])); @@ -121,10 +103,22 @@ const handleSelectProvider = (providers: FilterLabelItem[]) => { filterState.selectedProviders = providers.map((d) => d.label.toLowerCase()); }; const handleClickCancel = () => { - const dashboardRouteName = storeState.isAdminMode - ? ADMIN_DASHBOARDS_ROUTE._NAME - : DASHBOARDS_ROUTE._NAME; - router.push({ name: dashboardRouteName }).catch(() => {}); + if (entryPoint.value === 'ADMIN') { + router.push({ name: ADMIN_DASHBOARDS_ROUTE._NAME }).catch(() => {}); + } else if (entryPoint.value === 'PROJECT' && projectGroupOrProjectId.value) { + router.push({ + name: PROJECT_ROUTE_V2._NAME, + params: { + projectGroupOrProjectId: projectGroupOrProjectId.value, + }, + }).catch(() => {}); + } else if (entryPoint.value === 'WORKSPACE') { + router.push({ + name: DASHBOARDS_ROUTE._NAME, + }).catch(() => {}); + } else { + console.error('Invalid entry point'); + } }; onMounted(() => { @@ -134,33 +128,6 @@ onMounted(() => { From 3aa9648b7548f683b9936f8fd0a4395cab598827 Mon Sep 17 00:00:00 2001 From: Yongtae Park Date: Wed, 9 Apr 2025 18:59:52 +0900 Subject: [PATCH 07/18] feat(dashboard-shared): remove dashboards service context from dashboard components Signed-off-by: samuel.park --- .../DashboardManageVariableImportModal.vue | 10 ++-- .../DashboardManageVariableOverlay.vue | 52 +++++++++++++----- .../DashboardVariablesFormDynamic.vue | 10 ++-- .../DashboardVariablesFormModal.vue | 5 +- .../DashboardVariablesMoreButton.vue | 53 +++++++++++++------ .../components/DashboardVariablesV2.vue | 18 ++++--- 6 files changed, 100 insertions(+), 48 deletions(-) diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModal.vue b/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModal.vue index 2eacf4f7d1..5db778f6b1 100644 --- a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModal.vue +++ b/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModal.vue @@ -1,6 +1,5 @@ + + + + + + diff --git a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateBlankBoardItem.vue b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateBlankBoardItem.vue similarity index 97% rename from apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateBlankBoardItem.vue rename to apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateBlankBoardItem.vue index 092d6ff9f9..1bd0e43db5 100644 --- a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateBlankBoardItem.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateBlankBoardItem.vue @@ -4,7 +4,7 @@ import { } from '@cloudforet/mirinae'; import type { BoardSet } from '@cloudforet/mirinae/types/data-display/board/type'; -import { useDashboardCreatePageStore } from '@/services/dashboard-shared/stores/dashboard-create-page-store'; +import { useDashboardCreatePageStore } from '@/services/dashboard-shared/dashboard-create/stores/dashboard-create-page-store'; interface Props { templateSets: BoardSet[]; diff --git a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateScopeForm.vue b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateScopeForm.vue similarity index 98% rename from apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateScopeForm.vue rename to apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateScopeForm.vue index 3d46d59b0b..7ad4678a96 100644 --- a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateScopeForm.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateScopeForm.vue @@ -18,7 +18,7 @@ import { useUserStore } from '@/store/user/user-store'; import WorkspaceLogoIcon from '@/common/modules/navigations/top-bar/modules/top-bar-header/WorkspaceLogoIcon.vue'; -import { useDashboardCreatePageStore } from '@/services/dashboard-shared/stores/dashboard-create-page-store'; +import { useDashboardCreatePageStore } from '@/services/dashboard-shared/dashboard-create/stores/dashboard-create-page-store'; diff --git a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1.vue b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep1.vue similarity index 96% rename from apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1.vue rename to apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep1.vue index 0cca367b85..2edbaa6652 100644 --- a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep1.vue @@ -15,11 +15,11 @@ import type { DashboardTemplateModel } from '@/schema/repository/dashboard-templ import { i18n } from '@/translations'; -import DashboardCreateBlankBoardItem from '@/services/dashboard-shared/components/dashboard-create/DashboardCreateBlankBoardItem.vue'; -import type { FilterLabelItem } from '@/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1SearchFilter.vue'; -import DashboardCreateStep1SearchFilter from '@/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1SearchFilter.vue'; -import { useDashboardRouteContext } from '@/services/dashboard-shared/composables/use-dashboard-route-context'; -import { useDashboardCreatePageStore } from '@/services/dashboard-shared/stores/dashboard-create-page-store'; +import { useDashboardRouteContext } from '@/services/dashboard-shared/_composables/use-dashboard-route-context'; +import DashboardCreateBlankBoardItem from '@/services/dashboard-shared/dashboard-create/components/DashboardCreateBlankBoardItem.vue'; +import type { FilterLabelItem } from '@/services/dashboard-shared/dashboard-create/components/DashboardCreateStep1SearchFilter.vue'; +import DashboardCreateStep1SearchFilter from '@/services/dashboard-shared/dashboard-create/components/DashboardCreateStep1SearchFilter.vue'; +import { useDashboardCreatePageStore } from '@/services/dashboard-shared/dashboard-create/stores/dashboard-create-page-store'; import DashboardFolderTree from '@/services/dashboards/components/dashboard-folder/DashboardFolderTree.vue'; import { ADMIN_DASHBOARDS_ROUTE } from '@/services/dashboards/routes/admin/route-constant'; import { DASHBOARDS_ROUTE } from '@/services/dashboards/routes/route-constant'; diff --git a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1SearchFilter.vue b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep1SearchFilter.vue similarity index 98% rename from apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1SearchFilter.vue rename to apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep1SearchFilter.vue index acb1d5021b..146562e3fa 100644 --- a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep1SearchFilter.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep1SearchFilter.vue @@ -11,7 +11,7 @@ import { useAllReferenceStore } from '@/store/reference/all-reference-store'; import type { PluginItem } from '@/store/reference/plugin-reference-store'; import type { ProviderReferenceMap } from '@/store/reference/provider-reference-store'; -import { DASHBOARD_LABELS } from '@/services/dashboards/constants/dashboard-labels'; +import { DASHBOARD_LABELS } from '@/services/dashboard-shared/dashboard-create/constants/dashboard-labels'; export interface FilterLabelItem { diff --git a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2.vue b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2.vue similarity index 92% rename from apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2.vue rename to apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2.vue index 0105323a0e..fede9c6143 100644 --- a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2.vue @@ -8,10 +8,10 @@ import { PButton } from '@cloudforet/mirinae'; import type { DashboardFolderModel, DashboardModel } from '@/api-clients/dashboard/_types/dashboard-type'; import DashboardCreateStep2BundleCase - from '@/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2BundleCase.vue'; + from '@/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2BundleCase.vue'; import DashboardCreateStep2SingleCase - from '@/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2SingleCase.vue'; -import { useDashboardCreatePageStore } from '@/services/dashboard-shared/stores/dashboard-create-page-store'; + from '@/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2SingleCase.vue'; +import { useDashboardCreatePageStore } from '@/services/dashboard-shared/dashboard-create/stores/dashboard-create-page-store'; interface Props { dashboardItems: Array; diff --git a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2BundleCase.vue b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2BundleCase.vue similarity index 97% rename from apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2BundleCase.vue rename to apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2BundleCase.vue index 5eaf1aa7d0..606fa0e2c8 100644 --- a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2BundleCase.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2BundleCase.vue @@ -28,11 +28,11 @@ import { showErrorMessage, showSuccessMessage } from '@/lib/helper/notice-alert- import { gray } from '@/styles/colors'; -import { useDashboardRouteContext } from '@/services/dashboard-shared/composables/use-dashboard-route-context'; -import { useDashboardCreatePageStore } from '@/services/dashboard-shared/stores/dashboard-create-page-store'; +import { useDashboardRouteContext } from '@/services/dashboard-shared/_composables/use-dashboard-route-context'; +import { useDashboardCreatePageStore } from '@/services/dashboard-shared/dashboard-create/stores/dashboard-create-page-store'; import { DASHBOARD_VARS_SCHEMA_PRESET, -} from '@/services/dashboards/constants/dashboard-vars-schema-preset'; +} from '@/services/dashboard-shared/dashboard-detail/constants/dashboard-vars-schema-preset'; import { ADMIN_DASHBOARDS_ROUTE } from '@/services/dashboards/routes/admin/route-constant'; import { DASHBOARDS_ROUTE } from '@/services/dashboards/routes/route-constant'; import { useDashboardPageControlStore } from '@/services/dashboards/stores/dashboard-page-control-store'; diff --git a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2SingleCase.vue b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2SingleCase.vue similarity index 97% rename from apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2SingleCase.vue rename to apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2SingleCase.vue index f9f064e448..27d42beb83 100644 --- a/apps/web/src/services/dashboard-shared/components/dashboard-create/DashboardCreateStep2SingleCase.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-create/components/DashboardCreateStep2SingleCase.vue @@ -32,12 +32,12 @@ import { showErrorMessage } from '@/lib/helper/notice-alert-helper'; import { useFormValidator } from '@/common/composables/form-validator'; import { useProxyValue } from '@/common/composables/proxy-state'; -import DashboardCreateScopeForm from '@/services/dashboard-shared/components/dashboard-create/DashboardCreateScopeForm.vue'; -import { useDashboardRouteContext } from '@/services/dashboard-shared/composables/use-dashboard-route-context'; -import { useDashboardCreatePageStore } from '@/services/dashboard-shared/stores/dashboard-create-page-store'; +import { useDashboardRouteContext } from '@/services/dashboard-shared/_composables/use-dashboard-route-context'; +import DashboardCreateScopeForm from '@/services/dashboard-shared/dashboard-create/components/DashboardCreateScopeForm.vue'; +import { useDashboardCreatePageStore } from '@/services/dashboard-shared/dashboard-create/stores/dashboard-create-page-store'; import { DASHBOARD_VARS_SCHEMA_PRESET, -} from '@/services/dashboards/constants/dashboard-vars-schema-preset'; +} from '@/services/dashboard-shared/dashboard-detail/constants/dashboard-vars-schema-preset'; import { ADMIN_DASHBOARDS_ROUTE } from '@/services/dashboards/routes/admin/route-constant'; import { DASHBOARDS_ROUTE } from '@/services/dashboards/routes/route-constant'; import { PROJECT_ROUTE_V2 } from '@/services/project/v2/routes/route-constant'; diff --git a/apps/web/src/services/dashboards/constants/dashboard-labels.ts b/apps/web/src/services/dashboard-shared/dashboard-create/constants/dashboard-labels.ts similarity index 100% rename from apps/web/src/services/dashboards/constants/dashboard-labels.ts rename to apps/web/src/services/dashboard-shared/dashboard-create/constants/dashboard-labels.ts diff --git a/apps/web/src/services/dashboard-shared/stores/dashboard-create-page-store.ts b/apps/web/src/services/dashboard-shared/dashboard-create/stores/dashboard-create-page-store.ts similarity index 100% rename from apps/web/src/services/dashboard-shared/stores/dashboard-create-page-store.ts rename to apps/web/src/services/dashboard-shared/dashboard-create/stores/dashboard-create-page-store.ts diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardDetailBody.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/DashboardDetailBody.vue similarity index 73% rename from apps/web/src/services/dashboards/components/dashboard-detail/DashboardDetailBody.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/DashboardDetailBody.vue index 1025854ac7..0458102645 100644 --- a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardDetailBody.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/DashboardDetailBody.vue @@ -6,6 +6,7 @@ import { useRouter } from 'vue-router/composables'; import { useMutation, useQueryClient } from '@tanstack/vue-query'; +import type { DashboardFolderModel, DashboardModel } from '@/api-clients/dashboard/_types/dashboard-type'; import type { PrivateDashboardModel } from '@/api-clients/dashboard/private-dashboard/schema/model'; import type { PublicDashboardModel } from '@/api-clients/dashboard/public-dashboard/schema/model'; @@ -14,27 +15,38 @@ import { showErrorMessage } from '@/lib/helper/notice-alert-helper'; import ErrorHandler from '@/common/composables/error/errorHandler'; import { useWidgetGenerateStore } from '@/common/modules/widgets/_store/widget-generate-store'; -import { useDashboardRouteContext } from '@/services/dashboard-shared/composables/use-dashboard-route-context'; -import DashboardToolsetScope from '@/services/dashboards/components/dashboard-detail/DashboardToolsetScope.vue'; -import DashboardVariables from '@/services/dashboards/components/legacy/DashboardVariables.vue'; -import DashboardWidgetContainer from '@/services/dashboards/components/legacy/DashboardWidgetContainer.vue'; +import { useDashboardRouteContext } from '@/services/dashboard-shared/_composables/use-dashboard-route-context'; +import DashboardRefreshDropdown + from '@/services/dashboard-shared/dashboard-detail/components/DashboardRefreshDropdown.vue'; +import DashboardToolsetDateDropdown + from '@/services/dashboard-shared/dashboard-detail/components/DashboardToolsetDateDropdown.vue'; +import DashboardToolsetScope + from '@/services/dashboard-shared/dashboard-detail/components/DashboardToolsetScope.vue'; +import DashboardVariablesV2 + from '@/services/dashboard-shared/dashboard-detail/components/DashboardVariablesV2.vue'; +import DashboardWidgetContainerV2 + from '@/services/dashboard-shared/dashboard-detail/components/DashboardWidgetContainerV2.vue'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import { useDashboardWidgetListQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-widget-list-query'; +import DashboardVariables from '@/services/dashboard-shared/dashboard-detail/legacy/DashboardVariables.vue'; +import DashboardWidgetContainer from '@/services/dashboard-shared/dashboard-detail/legacy/DashboardWidgetContainer.vue'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; import { useDashboardManageable } from '@/services/dashboards/composables/use-dashboard-manageable'; import { ADMIN_DASHBOARDS_ROUTE } from '@/services/dashboards/routes/admin/route-constant'; import { DASHBOARDS_ROUTE } from '@/services/dashboards/routes/route-constant'; -import DashboardRefreshDropdown from '@/services/dashboards/shared/components/DashboardRefreshDropdown.vue'; -import DashboardToolsetDateDropdown from '@/services/dashboards/shared/components/DashboardToolsetDateDropdown.vue'; -import DashboardVariablesV2 from '@/services/dashboards/shared/components/DashboardVariablesV2.vue'; -import DashboardWidgetContainerV2 from '@/services/dashboards/shared/components/DashboardWidgetContainerV2.vue'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; -import { useDashboardWidgetListQuery } from '@/services/dashboards/shared/composables/use-dashboard-widget-list-query'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; import { PROJECT_ROUTE_V2 } from '@/services/project/v2/routes/route-constant'; interface Props { dashboardId: string; + dashboardItems?: Array; + folderItems?: Array; } -const props = defineProps(); +const props = withDefaults(defineProps(), { + dashboardItems: () => [], + folderItems: () => [], +}); +const dashboardId = computed(() => props.dashboardId); const router = useRouter(); const dashboardDetailStore = useDashboardDetailInfoStore(); const dashboardDetailState = dashboardDetailStore.state; @@ -42,10 +54,10 @@ const widgetGenerateStore = useWidgetGenerateStore(); const widgetContainerRef = ref(null); const { isManageable } = useDashboardManageable({ - dashboardId: computed(() => props.dashboardId), + dashboardId, }); const { - entryPoint, projectGroupOrProjectId, + entryPoint, projectGroupOrProjectId, projectContextType, } = useDashboardRouteContext(); /* Query */ @@ -57,7 +69,7 @@ const { keys: dashboardKeys, fetcher: dashboardFetcher, } = useDashboardGetQuery({ - dashboardId: computed(() => props.dashboardId), + dashboardId, }); const { widgetList, @@ -65,11 +77,11 @@ const { isError: widgetError, keys: widgetListKeys, } = useDashboardWidgetListQuery({ - dashboardId: computed(() => props.dashboardId), + dashboardId, }); const isDeprecatedDashboard = computed(() => dashboard.value?.version === '1.0'); - +const dashboardItemsV2 = computed(() => props.dashboardItems?.filter((d) => d.version !== '1.0')); const handleRefresh = async () => { if (dashboard.value?.version !== '1.0') { @@ -116,6 +128,18 @@ watch(dashboard, (_dashboard) => { dashboardDetailStore.reset(); if (isDeprecatedDashboard.value) { dashboardDetailStore.setDashboardInfoStoreState(_dashboard); + } else if (entryPoint.value === 'PROJECT' && projectGroupOrProjectId.value) { + if (projectContextType.value === 'PROJECT') { + dashboardDetailStore.setDashboardInfoStoreStateV2({ + ..._dashboard, + project_id: projectGroupOrProjectId.value, + }); + } else if (projectContextType.value === 'PROJECT_GROUP') { + dashboardDetailStore.setDashboardInfoStoreStateV2({ + ..._dashboard, + project_group_id: projectGroupOrProjectId.value, + }); + } } else { dashboardDetailStore.setDashboardInfoStoreStateV2(_dashboard); } @@ -160,7 +184,9 @@ onUnmounted(() => { diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModalTree.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardManageVariableImportModalTree.vue similarity index 100% rename from apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModalTree.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardManageVariableImportModalTree.vue diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableOverlay.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardManageVariableOverlay.vue similarity index 94% rename from apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableOverlay.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardManageVariableOverlay.vue index b55bb7e7cf..707ac89f7d 100644 --- a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableOverlay.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardManageVariableOverlay.vue @@ -26,23 +26,23 @@ import { showSuccessMessage } from '@/lib/helper/notice-alert-helper'; import DeleteModal from '@/common/components/modals/DeleteModal.vue'; import ErrorHandler from '@/common/composables/error/errorHandler'; -import { useDashboardRouteContext } from '@/services/dashboard-shared/composables/use-dashboard-route-context'; -import DashboardManageVariableImportModal - from '@/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModal.vue'; +import { useDashboardRouteContext } from '@/services/dashboard-shared/_composables/use-dashboard-route-context'; import DashboardVariablesFormModal - from '@/services/dashboards/components/dashboard-detail/DashboardVariablesFormModal.vue'; + from '@/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormModal.vue'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; import { DASHBOARD_VARS_SCHEMA_PRESET, -} from '@/services/dashboards/constants/dashboard-vars-schema-preset'; -import { getOrderedGlobalVariables } from '@/services/dashboards/helpers/dashboard-global-variables-helper'; +} from '@/services/dashboard-shared/dashboard-detail/constants/dashboard-vars-schema-preset'; +import { getOrderedGlobalVariables } from '@/services/dashboard-shared/dashboard-detail/helpers/dashboard-global-variables-helper'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; import { ADMIN_DASHBOARDS_ROUTE } from '@/services/dashboards/routes/admin/route-constant'; import { DASHBOARDS_ROUTE } from '@/services/dashboards/routes/route-constant'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; import { PROJECT_ROUTE_V2 } from '@/services/project/v2/routes/route-constant'; + interface GlobalVariableTableItem { key: string; name: string; @@ -57,6 +57,7 @@ interface Props { } const props = defineProps(); const userStore = useUserStore(); +const dashboardDetailInfoStore = useDashboardDetailInfoStore(); const router = useRouter(); const dashboardId = computed(() => props.dashboardId); const { @@ -220,7 +221,7 @@ const handleClickCreateButton = () => { state.formModalVisible = true; }; const handleClickImportButton = () => { - state.importModalVisible = true; + dashboardDetailInfoStore.setVariableImportModalVisible(true); }; const handleClickDeleteButton = (variableKey: string) => { state.selectedVariableKey = variableKey; @@ -244,7 +245,7 @@ const handleToggleUse = (variableKey: string, val: boolean) => { const handleCloseOverlay = () => { if (entryPoint.value === 'ADMIN') { router.replace({ - name: ADMIN_DASHBOARDS_ROUTE._NAME, + name: ADMIN_DASHBOARDS_ROUTE.DETAIL._NAME, params: { dashboardId: dashboardId.value, }, @@ -259,7 +260,7 @@ const handleCloseOverlay = () => { }).catch(() => {}); } else if (entryPoint.value === 'WORKSPACE') { router.replace({ - name: DASHBOARDS_ROUTE._NAME, + name: DASHBOARDS_ROUTE.DETAIL._NAME, params: { dashboardId: dashboardId.value, }, @@ -366,9 +367,6 @@ const handleConfirmDelete = () => { - diff --git a/apps/web/src/services/dashboards/shared/components/DashboardRefreshDropdown.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardRefreshDropdown.vue similarity index 97% rename from apps/web/src/services/dashboards/shared/components/DashboardRefreshDropdown.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardRefreshDropdown.vue index c55fc87367..7f01b154e3 100644 --- a/apps/web/src/services/dashboards/shared/components/DashboardRefreshDropdown.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardRefreshDropdown.vue @@ -16,9 +16,9 @@ import type { PrivateDashboardModel } from '@/api-clients/dashboard/private-dash import type { PublicDashboardModel } from '@/api-clients/dashboard/public-dashboard/schema/model'; import { i18n } from '@/translations'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; import { useDashboardManageable } from '@/services/dashboards/composables/use-dashboard-manageable'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; const REFRESH_INTERVAL_OPTIONS = Object.keys(REFRESH_INTERVAL_OPTIONS_MAP); diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardReorderSidebar.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardReorderSidebar.vue similarity index 95% rename from apps/web/src/services/dashboards/components/dashboard-detail/DashboardReorderSidebar.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardReorderSidebar.vue index 82266b12bb..24980a269a 100644 --- a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardReorderSidebar.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardReorderSidebar.vue @@ -3,7 +3,6 @@ import { computed, onUnmounted, reactive, watch, } from 'vue'; -import { useRoute } from 'vue-router/composables'; import draggable from 'vuedraggable'; import { useMutation, useQueryClient } from '@tanstack/vue-query'; @@ -22,13 +21,19 @@ import { useDisplayStore } from '@/store/display/display-store'; import { WIDGET_COMPONENT_ICON_MAP } from '@/common/modules/widgets/_constants/widget-components-constant'; import { getWidgetConfig } from '@/common/modules/widgets/_helpers/widget-config-helper'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; -import { useDashboardWidgetListQuery } from '@/services/dashboards/shared/composables/use-dashboard-widget-list-query'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import { useDashboardWidgetListQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-widget-list-query'; + + type WidgetModel = PublicWidgetModel | PrivateWidgetModel; + +const props = defineProps<{ + dashboardId: string; +}>(); + const displayStore = useDisplayStore(); -const route = useRoute(); -const dashboardId = computed(() => route.params.dashboardId); +const dashboardId = computed(() => props.dashboardId); /* Query */ const { diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardToolsetDateCustomModal.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardToolsetDateCustomModal.vue similarity index 100% rename from apps/web/src/services/dashboards/components/dashboard-detail/DashboardToolsetDateCustomModal.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardToolsetDateCustomModal.vue diff --git a/apps/web/src/services/dashboards/shared/components/DashboardToolsetDateDropdown.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardToolsetDateDropdown.vue similarity index 95% rename from apps/web/src/services/dashboards/shared/components/DashboardToolsetDateDropdown.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardToolsetDateDropdown.vue index a6d2750cdf..bdd7ba12a4 100644 --- a/apps/web/src/services/dashboards/shared/components/DashboardToolsetDateDropdown.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardToolsetDateDropdown.vue @@ -18,10 +18,11 @@ import { i18n } from '@/translations'; import { useI18nDayjs } from '@/common/composables/i18n-dayjs'; -import DashboardToolsetDateCustomModal from '@/services/dashboards/components/dashboard-detail/DashboardToolsetDateCustomModal.vue'; +import DashboardToolsetDateCustomModal + from '@/services/dashboard-shared/dashboard-detail/components/DashboardToolsetDateCustomModal.vue'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; import { useDashboardManageable } from '@/services/dashboards/composables/use-dashboard-manageable'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; interface Props { dateRange?: DateRange; diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardToolsetScope.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardToolsetScope.vue similarity index 99% rename from apps/web/src/services/dashboards/components/dashboard-detail/DashboardToolsetScope.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardToolsetScope.vue index 32bec98769..8de01b5486 100644 --- a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardToolsetScope.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardToolsetScope.vue @@ -21,7 +21,7 @@ import WorkspaceLogoIcon from '@/common/modules/navigations/top-bar/modules/top- import { workspaceStateFormatter } from '@/services/advanced/composables/refined-table-data'; import { WORKSPACE_STATE } from '@/services/advanced/constants/workspace-constant'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesFormDynamic.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormDynamic.vue similarity index 99% rename from apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesFormDynamic.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormDynamic.vue index 55b61ba150..99d3d3cb6c 100644 --- a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesFormDynamic.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormDynamic.vue @@ -27,10 +27,10 @@ import { } from '@/common/composables/data-source/use-cost-data-source-filter-menu-items'; import { useProxyValue } from '@/common/composables/proxy-state'; -import { useDashboardRouteContext } from '@/services/dashboard-shared/composables/use-dashboard-route-context'; +import { useDashboardRouteContext } from '@/services/dashboard-shared/_composables/use-dashboard-route-context'; import { DASHBOARD_GLOBAL_VARIABLES_PRESET_LIST, -} from '@/services/dashboards/constants/dashboard-global-variable-preset'; +} from '@/services/dashboard-shared/dashboard-detail/constants/dashboard-global-variable-preset'; const SELECTION_TYPE = { MULTI_SELECT: 'multi', diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesFormManual.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormManual.vue similarity index 100% rename from apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesFormManual.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormManual.vue diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesFormModal.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormModal.vue similarity index 97% rename from apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesFormModal.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormModal.vue index 59d095c266..0caf84cf17 100644 --- a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesFormModal.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormModal.vue @@ -23,10 +23,10 @@ import { useFormValidator } from '@/common/composables/form-validator'; import { useProxyValue } from '@/common/composables/proxy-state'; import DashboardVariablesFormDynamic - from '@/services/dashboards/components/dashboard-detail/DashboardVariablesFormDynamic.vue'; + from '@/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormDynamic.vue'; import DashboardVariablesFormManual - from '@/services/dashboards/components/dashboard-detail/DashboardVariablesFormManual.vue'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; + from '@/services/dashboard-shared/dashboard-detail/components/DashboardVariablesFormManual.vue'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; type ManualVariableData = Omit; type DynamicVariableData = Omit; diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesMoreButton.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesMoreButton.vue similarity index 94% rename from apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesMoreButton.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesMoreButton.vue index c3821d9191..bdaedb3095 100644 --- a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardVariablesMoreButton.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesMoreButton.vue @@ -25,12 +25,12 @@ import { showSuccessMessage } from '@/lib/helper/notice-alert-helper'; import ErrorHandler from '@/common/composables/error/errorHandler'; -import { useDashboardRouteContext } from '@/services/dashboard-shared/composables/use-dashboard-route-context'; -import { MANAGE_VARIABLES_HASH_NAME } from '@/services/dashboards/constants/manage-variable-overlay-constant'; -import { getOrderedGlobalVariables } from '@/services/dashboards/helpers/dashboard-global-variables-helper'; +import { useDashboardRouteContext } from '@/services/dashboard-shared/_composables/use-dashboard-route-context'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import { MANAGE_VARIABLES_HASH_NAME } from '@/services/dashboard-shared/dashboard-detail/constants/manage-variable-overlay-constant'; +import { getOrderedGlobalVariables } from '@/services/dashboard-shared/dashboard-detail/helpers/dashboard-global-variables-helper'; import { ADMIN_DASHBOARDS_ROUTE } from '@/services/dashboards/routes/admin/route-constant'; import { DASHBOARDS_ROUTE } from '@/services/dashboards/routes/route-constant'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; import { PROJECT_ROUTE_V2 } from '@/services/project/v2/routes/route-constant'; interface VariableMenuItem extends MenuItem { @@ -155,7 +155,7 @@ const handleOpenOverlay = () => { if (entryPoint.value === 'ADMIN') { router.push({ - name: ADMIN_DASHBOARDS_ROUTE._NAME, + name: ADMIN_DASHBOARDS_ROUTE.DETAIL._NAME, params: { dashboardId: dashboardId.value, }, @@ -172,7 +172,7 @@ const handleOpenOverlay = () => { }).catch(() => {}); } else if (entryPoint.value === 'WORKSPACE') { router.push({ - name: DASHBOARDS_ROUTE._NAME, + name: DASHBOARDS_ROUTE.DETAIL._NAME, params: { dashboardId: dashboardId.value, }, diff --git a/apps/web/src/services/dashboards/shared/components/DashboardVariablesV2.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesV2.vue similarity index 78% rename from apps/web/src/services/dashboards/shared/components/DashboardVariablesV2.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesV2.vue index 1708234bc6..d5f634489e 100644 --- a/apps/web/src/services/dashboards/shared/components/DashboardVariablesV2.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardVariablesV2.vue @@ -7,21 +7,26 @@ import { isEqual } from 'lodash'; import { PI, PTextButton, PDivider } from '@cloudforet/mirinae'; import type { DashboardGlobalVariable } from '@/api-clients/dashboard/_types/dashboard-global-variable-type'; -import type { DashboardGlobalVariableSchemaProperties, DashboardVars } from '@/api-clients/dashboard/_types/dashboard-type'; +import type { + DashboardFolderModel, DashboardGlobalVariableSchemaProperties, DashboardModel, DashboardVars, +} from '@/api-clients/dashboard/_types/dashboard-type'; import ChangedMark from '@/common/components/marks/ChangedMark.vue'; -import { useDashboardRouteContext } from '@/services/dashboard-shared/composables/use-dashboard-route-context'; +import { useDashboardRouteContext } from '@/services/dashboard-shared/_composables/use-dashboard-route-context'; import DashboardGlobalVariableFilter - from '@/services/dashboards/components/dashboard-detail/DashboardGlobalVariableFilter.vue'; -import DashboardManageVariableOverlay from '@/services/dashboards/components/dashboard-detail/DashboardManageVariableOverlay.vue'; + from '@/services/dashboard-shared/dashboard-detail/components/DashboardGlobalVariableFilter.vue'; +import DashboardManageVariableImportModal + from '@/services/dashboard-shared/dashboard-detail/components/DashboardManageVariableImportModal.vue'; +import DashboardManageVariableOverlay + from '@/services/dashboard-shared/dashboard-detail/components/DashboardManageVariableOverlay.vue'; import DashboardVariablesMoreButton - from '@/services/dashboards/components/dashboard-detail/DashboardVariablesMoreButton.vue'; -import { MANAGE_VARIABLES_HASH_NAME } from '@/services/dashboards/constants/manage-variable-overlay-constant'; -import { getOrderedGlobalVariables } from '@/services/dashboards/helpers/dashboard-global-variables-helper'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; + from '@/services/dashboard-shared/dashboard-detail/components/DashboardVariablesMoreButton.vue'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import { MANAGE_VARIABLES_HASH_NAME } from '@/services/dashboard-shared/dashboard-detail/constants/manage-variable-overlay-constant'; +import { getOrderedGlobalVariables } from '@/services/dashboard-shared/dashboard-detail/helpers/dashboard-global-variables-helper'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; import { useAllReferenceTypeInfoStore } from '@/services/dashboards/stores/all-reference-type-info-store'; @@ -32,6 +37,9 @@ interface Props { disableSaveButton?: boolean; originVars?: DashboardVars; widgetMode?: boolean; // NOTE: this for widget mode (temporary) + dashboardId: string; + dashboardItems?: Array; + folderItems?: Array; } const props = defineProps(); @@ -39,7 +47,7 @@ const emit = defineEmits<{(e: 'update', val: { vars?: DashboardVars }): void; }>(); const route = useRoute(); -const dashboardId = computed(() => route.params.dashboardId); +const dashboardId = computed(() => props.dashboardId); const dashboardDetailStore = useDashboardDetailInfoStore(); const dashboardDetailState = dashboardDetailStore.state; @@ -138,10 +146,14 @@ watch([() => state.tempVars, dashboard], ([_tempVars]) => { :widget-mode="props.widgetMode" :dashboard-id="dashboardId" /> - + + diff --git a/apps/web/src/services/dashboards/shared/components/DashboardWidgetContainerV2.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardWidgetContainerV2.vue similarity index 96% rename from apps/web/src/services/dashboards/shared/components/DashboardWidgetContainerV2.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardWidgetContainerV2.vue index ab4a4d6040..30b28a5d94 100644 --- a/apps/web/src/services/dashboards/shared/components/DashboardWidgetContainerV2.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/components/DashboardWidgetContainerV2.vue @@ -3,7 +3,6 @@ import type { ComponentPublicInstance, AsyncComponent } from 'vue'; import { reactive, ref, watch, computed, onBeforeUnmount, } from 'vue'; -import { useRoute } from 'vue-router/composables'; import { useMutation, useQueryClient } from '@tanstack/vue-query'; import { cloneDeep, debounce, flattenDeep } from 'lodash'; @@ -46,21 +45,21 @@ import type { WidgetExpose, WidgetProps, WidgetSize, WidgetOverlayType, } from '@/common/modules/widgets/types/widget-display-type'; -import DashboardReorderSidebar from '@/services/dashboards/components/dashboard-detail/DashboardReorderSidebar.vue'; +import DashboardReorderSidebar + from '@/services/dashboard-shared/dashboard-detail/components/DashboardReorderSidebar.vue'; import { useDashboardContainerWidth, -} from '@/services/dashboards/composables/use-dashboard-container-width'; +} from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-container-width'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import { useDashboardWidgetListQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-widget-list-query'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; import { useDashboardManageable } from '@/services/dashboards/composables/use-dashboard-manageable'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; import type { AllReferenceTypeInfo } from '@/services/dashboards/stores/all-reference-type-info-store'; import { useAllReferenceTypeInfoStore, } from '@/services/dashboards/stores/all-reference-type-info-store'; import type { SharedDataTableInfo } from '@/services/dashboards/types/shared-dashboard-type'; -import { useDashboardWidgetListQuery } from '../composables/use-dashboard-widget-list-query'; - type DataTableModel = PublicDataTableModel|PrivateDataTableModel; type WidgetComponent = ComponentPublicInstance; @@ -71,8 +70,12 @@ type RefinedWidgetInfo = WidgetModel & { component: AsyncComponent|null; }; -const route = useRoute(); -const dashboardId = computed(() => route.params.dashboardId); +const props = defineProps<{ + dashboardId: string; +}>(); + + +const dashboardId = computed(() => props.dashboardId); const dashboardDetailStore = useDashboardDetailInfoStore(); const dashboardDetailGetters = dashboardDetailStore.getters; @@ -587,8 +590,8 @@ onBeforeUnmount(() => { @confirm="handleDeleteModalConfirm" /> - diff --git a/apps/web/src/services/dashboards/composables/use-dashboard-container-width.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/composables/use-dashboard-container-width.ts similarity index 95% rename from apps/web/src/services/dashboards/composables/use-dashboard-container-width.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/composables/use-dashboard-container-width.ts index 2c14ad42b5..8a4ce5fd28 100644 --- a/apps/web/src/services/dashboards/composables/use-dashboard-container-width.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/composables/use-dashboard-container-width.ts @@ -4,7 +4,7 @@ import { onBeforeUnmount, onMounted, ref } from 'vue'; import { WIDGET_CONTAINER_MAX_WIDTH, WIDGET_CONTAINER_MIN_WIDTH, WIDGET_WIDTH_CRITERIA, -} from '@/services/dashboards/constants/widget-container-config'; +} from '@/services/dashboard-shared/dashboard-detail/constants/widget-container-config'; interface UseContainerResizerOptions { observeResize: boolean; diff --git a/apps/web/src/services/dashboards/shared/composables/use-dashboard-get-query.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query.ts similarity index 100% rename from apps/web/src/services/dashboards/shared/composables/use-dashboard-get-query.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query.ts diff --git a/apps/web/src/services/dashboards/shared/composables/use-dashboard-widget-list-query.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/composables/use-dashboard-widget-list-query.ts similarity index 100% rename from apps/web/src/services/dashboards/shared/composables/use-dashboard-widget-list-query.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/composables/use-dashboard-widget-list-query.ts diff --git a/apps/web/src/services/dashboards/composables/use-reformed-widget-info-list.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/composables/use-reformed-widget-info-list.ts similarity index 84% rename from apps/web/src/services/dashboards/composables/use-reformed-widget-info-list.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/composables/use-reformed-widget-info-list.ts index 5926f71e76..89f04bbd1a 100644 --- a/apps/web/src/services/dashboards/composables/use-reformed-widget-info-list.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/composables/use-reformed-widget-info-list.ts @@ -8,13 +8,13 @@ import type { WidgetConfig, WidgetSize } from '@/api-clients/dashboard/_types/wi import { widgetThemeAssigner, -} from '@/services/dashboards/helpers/widget-theme-helper'; +} from '@/services/dashboard-shared/dashboard-detail/helpers/widget-theme-helper'; import { widgetWidthAssigner, -} from '@/services/dashboards/helpers/widget-width-helper'; -import { getWidgetComponent } from '@/services/dashboards/widgets/_helpers/widget-component-helper'; -import { getWidgetConfig } from '@/services/dashboards/widgets/_helpers/widget-config-helper'; -import type { WidgetTheme } from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/helpers/widget-width-helper'; +import { getWidgetComponent } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-component-helper'; +import { getWidgetConfig } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-config-helper'; +import type { WidgetTheme } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; interface UseWidgetReformerOptions { dashboardWidgetInfoList: Ref; diff --git a/apps/web/src/services/dashboards/constants/dashboard-global-variable-preset.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/constants/dashboard-global-variable-preset.ts similarity index 100% rename from apps/web/src/services/dashboards/constants/dashboard-global-variable-preset.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/constants/dashboard-global-variable-preset.ts diff --git a/apps/web/src/services/dashboards/constants/dashboard-global-variable.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/constants/dashboard-global-variable.ts similarity index 100% rename from apps/web/src/services/dashboards/constants/dashboard-global-variable.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/constants/dashboard-global-variable.ts diff --git a/apps/web/src/services/dashboards/constants/dashboard-managed-variables-schema.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/constants/dashboard-managed-variables-schema.ts similarity index 100% rename from apps/web/src/services/dashboards/constants/dashboard-managed-variables-schema.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/constants/dashboard-managed-variables-schema.ts diff --git a/apps/web/src/services/dashboards/constants/dashboard-vars-schema-preset.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/constants/dashboard-vars-schema-preset.ts similarity index 100% rename from apps/web/src/services/dashboards/constants/dashboard-vars-schema-preset.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/constants/dashboard-vars-schema-preset.ts diff --git a/apps/web/src/services/dashboards/constants/manage-variable-overlay-constant.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/constants/manage-variable-overlay-constant.ts similarity index 100% rename from apps/web/src/services/dashboards/constants/manage-variable-overlay-constant.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/constants/manage-variable-overlay-constant.ts diff --git a/apps/web/src/services/dashboards/constants/widget-container-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/constants/widget-container-config.ts similarity index 87% rename from apps/web/src/services/dashboards/constants/widget-container-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/constants/widget-container-config.ts index ff9613bc5e..b9c1c07cf7 100644 --- a/apps/web/src/services/dashboards/constants/widget-container-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/constants/widget-container-config.ts @@ -1,6 +1,6 @@ import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import type { WidgetTheme } from '@/services/dashboards/widgets/_types/widget-type'; +import type { WidgetTheme } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; export const WIDGET_WIDTH_CRITERIA = 16; diff --git a/apps/web/src/services/dashboards/helpers/__tests__/widget-width-helper.md b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/__tests__/widget-width-helper.md similarity index 100% rename from apps/web/src/services/dashboards/helpers/__tests__/widget-width-helper.md rename to apps/web/src/services/dashboard-shared/dashboard-detail/helpers/__tests__/widget-width-helper.md diff --git a/apps/web/src/services/dashboards/helpers/__tests__/widget-width-helper.test.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/__tests__/widget-width-helper.test.ts similarity index 95% rename from apps/web/src/services/dashboards/helpers/__tests__/widget-width-helper.test.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/helpers/__tests__/widget-width-helper.test.ts index 10d587673e..5b2b05f6da 100644 --- a/apps/web/src/services/dashboards/helpers/__tests__/widget-width-helper.test.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/__tests__/widget-width-helper.test.ts @@ -5,8 +5,8 @@ import type { WidgetSize } from '@/api-clients/dashboard/_types/widget-type'; import { WIDGET_CONTAINER_MAX_WIDTH, WIDGET_CONTAINER_MIN_WIDTH, -} from '@/services/dashboards/constants/widget-container-config'; -import { widgetWidthAssigner } from '@/services/dashboards/helpers/widget-width-helper'; +} from '@/services/dashboard-shared/dashboard-detail/constants/widget-container-config'; +import { widgetWidthAssigner } from '@/services/dashboard-shared/dashboard-detail/helpers/widget-width-helper'; /** diff --git a/apps/web/src/services/dashboards/helpers/dashboard-global-variables-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/dashboard-global-variables-helper.ts similarity index 91% rename from apps/web/src/services/dashboards/helpers/dashboard-global-variables-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/helpers/dashboard-global-variables-helper.ts index d0464b125a..0b1b359357 100644 --- a/apps/web/src/services/dashboards/helpers/dashboard-global-variables-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/dashboard-global-variables-helper.ts @@ -2,7 +2,7 @@ import { orderBy } from 'lodash'; import type { DashboardGlobalVariable } from '@/api-clients/dashboard/_types/dashboard-global-variable-type'; -import { DASHBOARD_VARS_SCHEMA_PRESET } from '@/services/dashboards/constants/dashboard-vars-schema-preset'; +import { DASHBOARD_VARS_SCHEMA_PRESET } from '@/services/dashboard-shared/dashboard-detail/constants/dashboard-vars-schema-preset'; export const getOrderedGlobalVariables = (variables: DashboardGlobalVariable[]): DashboardGlobalVariable[] => { const _presetKeys: string[] = Object.keys(DASHBOARD_VARS_SCHEMA_PRESET.properties); diff --git a/apps/web/src/services/dashboards/helpers/dashboard-widget-info-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/dashboard-widget-info-helper.ts similarity index 91% rename from apps/web/src/services/dashboards/helpers/dashboard-widget-info-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/helpers/dashboard-widget-info-helper.ts index a3a89fb5f3..7b50033292 100644 --- a/apps/web/src/services/dashboards/helpers/dashboard-widget-info-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/dashboard-widget-info-helper.ts @@ -11,9 +11,9 @@ import type { import getRandomId from '@/lib/random-id-generator'; -import { getInheritingOptionKeys } from '@/services/dashboards/widgets/_helpers/widget-inherit-options-helper'; -import { getWidgetOptionKeyByVariableKey } from '@/services/dashboards/widgets/_helpers/widget-schema-helper'; -import type { UpdatableWidgetInfo } from '@/services/dashboards/widgets/_types/widget-type'; +import { getInheritingOptionKeys } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-inherit-options-helper'; +import { getWidgetOptionKeyByVariableKey } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-schema-helper'; +import type { UpdatableWidgetInfo } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; /** * @description get updated widget info. if the property is not changed, it will be declared as undefined. diff --git a/apps/web/src/services/dashboards/helpers/widget-theme-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/widget-theme-helper.ts similarity index 84% rename from apps/web/src/services/dashboards/helpers/widget-theme-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/helpers/widget-theme-helper.ts index f842fa52e9..214d97d895 100644 --- a/apps/web/src/services/dashboards/helpers/widget-theme-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/widget-theme-helper.ts @@ -1,5 +1,5 @@ -import type { WidgetThemeOption, WidgetThemeAssignedList } from '@/services/dashboards/constants/widget-container-config'; -import { WIDGET_THEMES } from '@/services/dashboards/widgets/_types/widget-type'; +import type { WidgetThemeOption, WidgetThemeAssignedList } from '@/services/dashboard-shared/dashboard-detail/constants/widget-container-config'; +import { WIDGET_THEMES } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; const WIDGET_THEME_LEN = WIDGET_THEMES.length; diff --git a/apps/web/src/services/dashboards/helpers/widget-width-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/widget-width-helper.ts similarity index 96% rename from apps/web/src/services/dashboards/helpers/widget-width-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/helpers/widget-width-helper.ts index 5a2e6a3bf3..ab026cb7d7 100644 --- a/apps/web/src/services/dashboards/helpers/widget-width-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/helpers/widget-width-helper.ts @@ -7,7 +7,7 @@ import { WIDGET_WIDTH_RANGE_LIST, WIDGET_GAP, WIDGET_WIDTH_CRITERIA, -} from '@/services/dashboards/constants/widget-container-config'; +} from '@/services/dashboard-shared/dashboard-detail/constants/widget-container-config'; const isEveryWidthMax = (sizeRow: string[], widthRow: number[]): boolean => sizeRow.every((size, idx) => { diff --git a/apps/web/src/services/dashboards/components/legacy/DashboardManageVariableForm.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardManageVariableForm.vue similarity index 98% rename from apps/web/src/services/dashboards/components/legacy/DashboardManageVariableForm.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardManageVariableForm.vue index acd9bc3b1b..4ac24523fd 100644 --- a/apps/web/src/services/dashboards/components/legacy/DashboardManageVariableForm.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardManageVariableForm.vue @@ -15,7 +15,7 @@ import getRandomId from '@/lib/random-id-generator'; import { useFormValidator } from '@/common/composables/form-validator'; import DashboardManageVariableOptionsField - from '@/services/dashboards/components/legacy/DashboardManageVariableOptionsField.vue'; + from '@/services/dashboard-shared/dashboard-detail/legacy/DashboardManageVariableOptionsField.vue'; import type { ManageVariableFormOption, ManageVariableOverlayStatus, diff --git a/apps/web/src/services/dashboards/components/legacy/DashboardManageVariableOptionsField.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardManageVariableOptionsField.vue similarity index 100% rename from apps/web/src/services/dashboards/components/legacy/DashboardManageVariableOptionsField.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardManageVariableOptionsField.vue diff --git a/apps/web/src/services/dashboards/components/legacy/DashboardVariableDropdown.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardVariableDropdown.vue similarity index 99% rename from apps/web/src/services/dashboards/components/legacy/DashboardVariableDropdown.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardVariableDropdown.vue index 19e1fffa32..507a175ae9 100644 --- a/apps/web/src/services/dashboards/components/legacy/DashboardVariableDropdown.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardVariableDropdown.vue @@ -28,7 +28,7 @@ import { getVariableModelMenuHandler } from '@/lib/variable-models/variable-mode import WorkspaceLogoIcon from '@/common/modules/navigations/top-bar/modules/top-bar-header/WorkspaceLogoIcon.vue'; import { getWorkspaceInfo } from '@/services/advanced/composables/refined-table-data'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; interface Props { diff --git a/apps/web/src/services/dashboards/components/legacy/DashboardVariables.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardVariables.vue similarity index 94% rename from apps/web/src/services/dashboards/components/legacy/DashboardVariables.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardVariables.vue index e63f868792..44a404c318 100644 --- a/apps/web/src/services/dashboards/components/legacy/DashboardVariables.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardVariables.vue @@ -10,9 +10,9 @@ import type { DashboardVariables, DashboardVariablesSchema } from '@/api-clients import ChangedMark from '@/common/components/marks/ChangedMark.vue'; -import DashboardVariableDropdown from '@/services/dashboards/components/legacy/DashboardVariableDropdown.vue'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import DashboardVariableDropdown from '@/services/dashboard-shared/dashboard-detail/legacy/DashboardVariableDropdown.vue'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; import { useAllReferenceTypeInfoStore } from '@/services/dashboards/stores/all-reference-type-info-store'; diff --git a/apps/web/src/services/dashboards/components/legacy/DashboardWidgetContainer.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardWidgetContainer.vue similarity index 89% rename from apps/web/src/services/dashboards/components/legacy/DashboardWidgetContainer.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardWidgetContainer.vue index 94dbf7d843..553648239e 100644 --- a/apps/web/src/services/dashboards/components/legacy/DashboardWidgetContainer.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/DashboardWidgetContainer.vue @@ -11,25 +11,20 @@ import { PDataLoader } from '@cloudforet/mirinae'; import type { DashboardLayoutWidgetInfo } from '@/api-clients/dashboard/_types/dashboard-type'; -import WidgetFullModeModal from '@/services/dashboards/components/legacy/WidgetFullModeModal.vue'; -import { - useDashboardContainerWidth, -} from '@/services/dashboards/composables/use-dashboard-container-width'; -import type { ReformedWidgetInfo } from '@/services/dashboards/composables/use-reformed-widget-info-list'; -import { - useReformedWidgetInfoList, -} from '@/services/dashboards/composables/use-reformed-widget-info-list'; -import { getDashboardWidgetInfoList } from '@/services/dashboards/helpers/dashboard-widget-info-helper'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; +import { useDashboardContainerWidth } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-container-width'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import type { ReformedWidgetInfo } from '@/services/dashboard-shared/dashboard-detail/composables/use-reformed-widget-info-list'; +import { useReformedWidgetInfoList } from '@/services/dashboard-shared/dashboard-detail/composables/use-reformed-widget-info-list'; +import { getDashboardWidgetInfoList } from '@/services/dashboard-shared/dashboard-detail/helpers/dashboard-widget-info-helper'; +import type { WidgetFrameProps } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import type { WidgetExpose } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; import type { AllReferenceTypeInfo } from '@/services/dashboards/stores/all-reference-type-info-store'; import { useAllReferenceTypeInfoStore } from '@/services/dashboards/stores/all-reference-type-info-store'; -import type { - WidgetExpose, WidgetProps, -} from '@/services/dashboards/widgets/_types/widget-type'; -type WidgetComponent = ComponentPublicInstance; + +type WidgetComponent = ComponentPublicInstance; const dashboardDetailStore = useDashboardDetailInfoStore(); const dashboardDetailGetters = dashboardDetailStore.getters; diff --git a/apps/web/src/services/dashboards/components/legacy/WidgetFullModeModal.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/WidgetFullModeModal.vue similarity index 91% rename from apps/web/src/services/dashboards/components/legacy/WidgetFullModeModal.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/WidgetFullModeModal.vue index 400028346d..67030db725 100644 --- a/apps/web/src/services/dashboards/components/legacy/WidgetFullModeModal.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/WidgetFullModeModal.vue @@ -21,18 +21,18 @@ import type { WidgetSize } from '@/api-clients/dashboard/_types/widget-type'; import { gray } from '@/styles/colors'; -import DashboardVariables from '@/services/dashboards/components/legacy/DashboardVariables.vue'; -import { getDashboardWidgetInfoList } from '@/services/dashboards/helpers/dashboard-widget-info-helper'; -import DashboardToolsetDateDropdown from '@/services/dashboards/shared/components/DashboardToolsetDateDropdown.vue'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; -import { useAllReferenceTypeInfoStore } from '@/services/dashboards/stores/all-reference-type-info-store'; -import type { AllReferenceTypeInfo } from '@/services/dashboards/stores/all-reference-type-info-store'; -import { useWidgetFormStore } from '@/services/dashboards/stores/widget-form-store'; -import { getWidgetComponent } from '@/services/dashboards/widgets/_helpers/widget-component-helper'; +import DashboardToolsetDateDropdown from '@/services/dashboard-shared/dashboard-detail/components/DashboardToolsetDateDropdown.vue'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import { getDashboardWidgetInfoList } from '@/services/dashboard-shared/dashboard-detail/helpers/dashboard-widget-info-helper'; +import DashboardVariables from '@/services/dashboard-shared/dashboard-detail/legacy/DashboardVariables.vue'; +import { getWidgetComponent } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-component-helper'; import type { WidgetExpose, WidgetProps, WidgetTheme, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; +import { useWidgetFormStore } from '@/services/dashboard-shared/dashboard-detail/stores/widget-form-store'; +import { useAllReferenceTypeInfoStore } from '@/services/dashboards/stores/all-reference-type-info-store'; +import type { AllReferenceTypeInfo } from '@/services/dashboards/stores/all-reference-type-info-store'; interface WidgetFullModeModalProps { diff --git a/apps/web/src/services/dashboards/widgets/_base-widgets/base-count-of-findings/BaseCountOfFindingsWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-count-of-findings/BaseCountOfFindingsWidget.vue similarity index 91% rename from apps/web/src/services/dashboards/widgets/_base-widgets/base-count-of-findings/BaseCountOfFindingsWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-count-of-findings/BaseCountOfFindingsWidget.vue index 0efb27f99f..d1d9bd475f 100644 --- a/apps/web/src/services/dashboards/widgets/_base-widgets/base-count-of-findings/BaseCountOfFindingsWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-count-of-findings/BaseCountOfFindingsWidget.vue @@ -22,17 +22,17 @@ import { useAmcharts5 } from '@/common/composables/amcharts5'; import { setXYSharedTooltipTextWithRate } from '@/common/composables/amcharts5/xy-chart-helper'; import ErrorHandler from '@/common/composables/error/errorHandler'; -import WidgetChartNoDataOverlay from '@/services/dashboards/widgets/_components/WidgetChartNoDataOverlay.vue'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidgetPagination } from '@/services/dashboards/widgets/_composables/use-widget-pagination'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { COMPLIANCE_STATUS_MAP } from '@/services/dashboards/widgets/_constants/compliance-constant'; +import WidgetChartNoDataOverlay from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetChartNoDataOverlay.vue'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidgetPagination } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { COMPLIANCE_STATUS_MAP } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/compliance-constant'; import type { WidgetEmit, WidgetExpose, WidgetProps, Legend, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; import countOfPassAndFailFindingsWidgetConfig - from '@/services/dashboards/widgets/asset-widgets/count-of-pass-and-fail-findings/widget-config'; + from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/count-of-pass-and-fail-findings/widget-config'; interface Data { diff --git a/apps/web/src/services/dashboards/widgets/_base-widgets/base-count-of-findings/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-count-of-findings/widget-config.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_base-widgets/base-count-of-findings/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-count-of-findings/widget-config.ts diff --git a/apps/web/src/services/dashboards/widgets/_base-widgets/base-pie/BasePieWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-pie/BasePieWidget.vue similarity index 88% rename from apps/web/src/services/dashboards/widgets/_base-widgets/base-pie/BasePieWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-pie/BasePieWidget.vue index 09a9dc874f..5fcd09bebb 100644 --- a/apps/web/src/services/dashboards/widgets/_base-widgets/base-pie/BasePieWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-pie/BasePieWidget.vue @@ -23,23 +23,23 @@ import ErrorHandler from '@/common/composables/error/errorHandler'; import { gray } from '@/styles/colors'; -import type { ReferenceType } from '@/services/dashboards/stores/all-reference-type-info-store'; -import WidgetDataTable from '@/services/dashboards/widgets/_components/WidgetDataTable.vue'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetColorSet } from '@/services/dashboards/widgets/_composables/use-widget-color-set'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidgetPagination } from '@/services/dashboards/widgets/_composables/use-widget-pagination'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { getRefinedPieChartData } from '@/services/dashboards/widgets/_helpers/widget-chart-data-helper'; +import WidgetDataTable from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetDataTable.vue'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetColorSet } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidgetPagination } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { getRefinedPieChartData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-data-helper'; import { getPieChartLegends, -} from '@/services/dashboards/widgets/_helpers/widget-chart-helper'; -import { getWidgetDataTableRowLocation } from '@/services/dashboards/widgets/_helpers/widget-location-helper'; -import { getReferenceTypeOfDataField } from '@/services/dashboards/widgets/_helpers/widget-table-helper'; -import type { Field, WidgetTableData } from '@/services/dashboards/widgets/_types/widget-data-table-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper'; +import { getWidgetDataTableRowLocation } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-location-helper'; +import { getReferenceTypeOfDataField } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-table-helper'; +import type { Field, WidgetTableData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type'; import type { WidgetExpose, WidgetProps, WidgetEmit, Legend, CostAnalyzeResponse, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import type { ReferenceType } from '@/services/dashboards/stores/all-reference-type-info-store'; interface SubData { diff --git a/apps/web/src/services/dashboards/widgets/_base-widgets/base-pie/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-pie/widget-config.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_base-widgets/base-pie/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-pie/widget-config.ts diff --git a/apps/web/src/services/dashboards/widgets/_base-widgets/base-trend/BaseTrendWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-trend/BaseTrendWidget.vue similarity index 91% rename from apps/web/src/services/dashboards/widgets/_base-widgets/base-trend/BaseTrendWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-trend/BaseTrendWidget.vue index 632036cced..bd35f2c384 100644 --- a/apps/web/src/services/dashboards/widgets/_base-widgets/base-trend/BaseTrendWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-trend/BaseTrendWidget.vue @@ -34,31 +34,31 @@ import { useProperRouteLocation } from '@/common/composables/proper-route-locati import { DYNAMIC_COST_QUERY_SET_PARAMS } from '@/services/cost-explorer/constants/managed-cost-analysis-query-sets'; import { COST_EXPLORER_ROUTE } from '@/services/cost-explorer/routes/route-constant'; -import WidgetDataTable from '@/services/dashboards/widgets/_components/WidgetDataTable.vue'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetColorSet } from '@/services/dashboards/widgets/_composables/use-widget-color-set'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidgetPagination } from '@/services/dashboards/widgets/_composables/use-widget-pagination'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { getRefinedXYChartData } from '@/services/dashboards/widgets/_helpers/widget-chart-data-helper'; +import WidgetDataTable from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetDataTable.vue'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetColorSet } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidgetPagination } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { getRefinedXYChartData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-data-helper'; import { getDateAxisSettings, getXYChartLegends, -} from '@/services/dashboards/widgets/_helpers/widget-chart-helper'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper'; import { getWidgetDataTableRowLocation, getWidgetLocationFilters, -} from '@/services/dashboards/widgets/_helpers/widget-location-helper'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-location-helper'; import { getRefinedDateTableData, getWidgetTableDateFields, -} from '@/services/dashboards/widgets/_helpers/widget-table-helper'; -import { getWidgetValueLabel } from '@/services/dashboards/widgets/_helpers/widget-value-label-helper'; -import type { Field, WidgetTableData } from '@/services/dashboards/widgets/_types/widget-data-table-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-table-helper'; +import { getWidgetValueLabel } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-value-label-helper'; +import type { Field, WidgetTableData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type'; import type { WidgetExpose, WidgetProps, WidgetEmit, CostAnalyzeResponse, Legend, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; interface SubData { date: string; value: number } diff --git a/apps/web/src/services/dashboards/widgets/_base-widgets/base-trend/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-trend/widget-config.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_base-widgets/base-trend/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-trend/widget-config.ts diff --git a/apps/web/src/services/dashboards/widgets/_components/WidgetChartNoDataOverlay.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetChartNoDataOverlay.vue similarity index 100% rename from apps/web/src/services/dashboards/widgets/_components/WidgetChartNoDataOverlay.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetChartNoDataOverlay.vue diff --git a/apps/web/src/services/dashboards/widgets/_components/WidgetDataTable.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetDataTable.vue similarity index 99% rename from apps/web/src/services/dashboards/widgets/_components/WidgetDataTable.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetDataTable.vue index b34f409e5e..574b196d9f 100644 --- a/apps/web/src/services/dashboards/widgets/_components/WidgetDataTable.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetDataTable.vue @@ -24,11 +24,11 @@ import { useTextOverflowState } from '@/common/composables/text-overflow-state'; import { gray } from '@/styles/colors'; import { MASSIVE_CHART_COLORS, DISABLED_LEGEND_COLOR } from '@/styles/colorsets'; -import type { AllReferenceTypeInfo } from '@/services/dashboards/stores/all-reference-type-info-store'; import type { Field, WidgetTableData, -} from '@/services/dashboards/widgets/_types/widget-data-table-type'; -import type { Legend } from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type'; +import type { Legend } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import type { AllReferenceTypeInfo } from '@/services/dashboards/stores/all-reference-type-info-store'; type TableSize = 'sm' | 'md'; diff --git a/apps/web/src/services/dashboards/widgets/_components/WidgetFrame.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue similarity index 99% rename from apps/web/src/services/dashboards/widgets/_components/WidgetFrame.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue index 4fb9a9ff1d..e583ec0d33 100644 --- a/apps/web/src/services/dashboards/widgets/_components/WidgetFrame.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue @@ -26,7 +26,7 @@ import { useI18nDayjs } from '@/common/composables/i18n-dayjs'; import { red } from '@/styles/colors'; -import type { WidgetTheme } from '@/services/dashboards/widgets/_types/widget-type'; +import type { WidgetTheme } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; export interface WidgetFrameProps { diff --git a/apps/web/src/services/dashboards/widgets/_composables/use-widget-color-set.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set.ts similarity index 89% rename from apps/web/src/services/dashboards/widgets/_composables/use-widget-color-set.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set.ts index 059ae02a65..c269028160 100644 --- a/apps/web/src/services/dashboards/widgets/_composables/use-widget-color-set.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set.ts @@ -3,8 +3,8 @@ import { computed, reactive } from 'vue'; import { palette } from '@/styles/colors'; -import type { WidgetColorSetType, WidgetTheme } from '@/services/dashboards/widgets/_types/widget-type'; -import { WIDGET_THEMES } from '@/services/dashboards/widgets/_types/widget-type'; +import type { WidgetColorSetType, WidgetTheme } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import { WIDGET_THEMES } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; const getColorSet = (theme: WidgetTheme, colorSetType: WidgetColorSetType = 'basic'): string[] => { diff --git a/apps/web/src/services/dashboards/widgets/_composables/use-widget-lifecycle.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle.ts similarity index 94% rename from apps/web/src/services/dashboards/widgets/_composables/use-widget-lifecycle.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle.ts index c42d1335ae..fbb3c35ef7 100644 --- a/apps/web/src/services/dashboards/widgets/_composables/use-widget-lifecycle.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle.ts @@ -19,13 +19,13 @@ import type { Currency } from '@/store/display/type'; import ErrorHandler from '@/common/composables/error/errorHandler'; -import type { WidgetState } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; +import type { WidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; import { validateWidgetByVariablesSchemaUpdate, -} from '@/services/dashboards/widgets/_helpers/widget-validation-helper'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-validation-helper'; import type { WidgetProps, WidgetEmit, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; interface UseWidgetLifecycleOptions { diff --git a/apps/web/src/services/dashboards/widgets/_composables/use-widget-pagination.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination.ts similarity index 84% rename from apps/web/src/services/dashboards/widgets/_composables/use-widget-pagination.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination.ts index 99aa78ccfa..705f2d8c53 100644 --- a/apps/web/src/services/dashboards/widgets/_composables/use-widget-pagination.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination.ts @@ -1,7 +1,7 @@ import type { UnwrapRef } from 'vue'; import { computed, ref } from 'vue'; -import type { MergedBaseWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/merge-base-widget-state'; +import type { MergedBaseWidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/merge-base-widget-state'; export const useWidgetPagination = (mergedState: UnwrapRef) => { const thisPage = ref(1); diff --git a/apps/web/src/services/dashboards/widgets/_composables/use-widget/merge-base-widget-state.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/merge-base-widget-state.ts similarity index 89% rename from apps/web/src/services/dashboards/widgets/_composables/use-widget/merge-base-widget-state.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/merge-base-widget-state.ts index d1ed9ca7ba..95bd9de665 100644 --- a/apps/web/src/services/dashboards/widgets/_composables/use-widget/merge-base-widget-state.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/merge-base-widget-state.ts @@ -10,15 +10,15 @@ import type { } from '@/api-clients/dashboard/_types/dashboard-type'; import type { InheritOptions, WidgetConfig, WidgetOptions } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetConfig } from '@/services/dashboards/widgets/_helpers/widget-config-helper'; -import { getInitialWidgetInheritOptions } from '@/services/dashboards/widgets/_helpers/widget-inherit-options-helper'; +import { getWidgetConfig } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-config-helper'; +import { getInitialWidgetInheritOptions } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-inherit-options-helper'; import { getRefinedWidgetOptions, -} from '@/services/dashboards/widgets/_helpers/widget-options-helper'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-helper'; import { getInitialSchemaProperties, getRefinedSchemaProperties, -} from '@/services/dashboards/widgets/_helpers/widget-schema-helper'; -import { getWidgetInheritOptionsErrorMap } from '@/services/dashboards/widgets/_helpers/widget-validation-helper'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-schema-helper'; +import { getWidgetInheritOptionsErrorMap } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-validation-helper'; export interface MergedBaseWidgetState { diff --git a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-base-widget-state.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-base-widget-state.ts similarity index 92% rename from apps/web/src/services/dashboards/widgets/_composables/use-widget/use-base-widget-state.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-base-widget-state.ts index aea1a05272..6725f54598 100644 --- a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-base-widget-state.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-base-widget-state.ts @@ -10,13 +10,13 @@ import type { import { CURRENCY } from '@/store/display/constant'; import type { Currency } from '@/store/display/type'; -import type { MergedBaseWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/merge-base-widget-state'; +import type { MergedBaseWidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/merge-base-widget-state'; import { mergeBaseWidgetState, -} from '@/services/dashboards/widgets/_composables/use-widget/merge-base-widget-state'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/merge-base-widget-state'; import type { WidgetProps, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; /** * @description It returns states which is among the data generated by widget info and widget config through combination, diff --git a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-console-filters.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-console-filters.ts similarity index 91% rename from apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-console-filters.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-console-filters.ts index 51ada452c9..c0a1f6451b 100644 --- a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-console-filters.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-console-filters.ts @@ -8,9 +8,9 @@ import type { ConsoleFilter } from '@cloudforet/core-lib/query/type'; import type { WidgetFiltersMap } from '@/api-clients/dashboard/_types/widget-type'; -import type { BaseWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/use-base-widget-state'; -import type { OverridableWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import type { WidgetProps } from '@/services/dashboards/widgets/_types/widget-type'; +import type { BaseWidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-base-widget-state'; +import type { OverridableWidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import type { WidgetProps } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; export const useWidgetConsoleFilters = (props: WidgetProps, widgetState: UnwrapRef, overrides: OverridableWidgetState = {}): ComputedRef => { const queryHelper = new QueryHelper(); diff --git a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-date-range.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-date-range.ts similarity index 76% rename from apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-date-range.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-date-range.ts index bfbf55324a..566765ecde 100644 --- a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-date-range.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-date-range.ts @@ -7,9 +7,9 @@ import dayjs from 'dayjs'; import { GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { DateRange } from '@/api-clients/dashboard/_types/dashboard-type'; -import type { BaseWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/use-base-widget-state'; -import type { OverridableWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import type { WidgetProps } from '@/services/dashboards/widgets/_types/widget-type'; +import type { BaseWidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-base-widget-state'; +import type { OverridableWidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import type { WidgetProps } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; export const useWidgetDateRange = (props: WidgetProps, widgetState: UnwrapRef, overrides: OverridableWidgetState = {}): ComputedRef => { if (isRef(overrides.dateRange)) return overrides.dateRange; diff --git a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-frame.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-frame.ts similarity index 92% rename from apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-frame.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-frame.ts index ce84abae61..c80646a96f 100644 --- a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-frame.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-frame.ts @@ -10,10 +10,10 @@ import type { Currency } from '@/store/display/type'; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore +import type { WidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { getNonInheritedWidgetOptionNamesAmongUsedVariables } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-schema-helper'; +import type { WidgetEmit, WidgetProps } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; import type { WidgetFrameProps } from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import type { WidgetState } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { getNonInheritedWidgetOptionNamesAmongUsedVariables } from '@/services/dashboards/widgets/_helpers/widget-schema-helper'; -import type { WidgetEmit, WidgetProps } from '@/services/dashboards/widgets/_types/widget-type'; export interface WidgetFrameOptions { dateRange?: DateRange|ComputedRef; diff --git a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-location.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-location.ts similarity index 92% rename from apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-location.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-location.ts index 20b7b9d67b..9afe71f994 100644 --- a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget-location.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-location.ts @@ -19,10 +19,10 @@ import type { CloudServiceDetailPageUrlQuery } from '@/services/asset-inventory/ import { DYNAMIC_COST_QUERY_SET_PARAMS } from '@/services/cost-explorer/constants/managed-cost-analysis-query-sets'; import { ADMIN_COST_EXPLORER_ROUTE } from '@/services/cost-explorer/routes/admin/route-constant'; import { COST_EXPLORER_ROUTE } from '@/services/cost-explorer/routes/route-constant'; -import type { BaseWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/use-base-widget-state'; -import type { OverridableWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { getWidgetLocationFilters } from '@/services/dashboards/widgets/_helpers/widget-location-helper'; -import type { WidgetProps } from '@/services/dashboards/widgets/_types/widget-type'; +import type { BaseWidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-base-widget-state'; +import type { OverridableWidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { getWidgetLocationFilters } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-location-helper'; +import type { WidgetProps } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; export const useWidgetLocation = (props: WidgetProps, baseState: UnwrapRef, dateRange: ComputedRef, overrides: OverridableWidgetState = {}) => { diff --git a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget.ts similarity index 77% rename from apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget.ts index 1f054f6266..e4c4ead10d 100644 --- a/apps/web/src/services/dashboards/widgets/_composables/use-widget/use-widget.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget.ts @@ -14,13 +14,13 @@ import type { DateRange } from '@/api-clients/dashboard/_types/dashboard-type'; import type { BaseWidgetState, -} from '@/services/dashboards/widgets/_composables/use-widget/use-base-widget-state'; -import { useBaseWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/use-base-widget-state'; -import { useWidgetConsoleFilters } from '@/services/dashboards/widgets/_composables/use-widget/use-widget-console-filters'; -import { useWidgetDateRange } from '@/services/dashboards/widgets/_composables/use-widget/use-widget-date-range'; -import { useWidgetFrame } from '@/services/dashboards/widgets/_composables/use-widget/use-widget-frame'; -import { useWidgetLocation } from '@/services/dashboards/widgets/_composables/use-widget/use-widget-location'; -import type { WidgetEmit, WidgetProps } from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-base-widget-state'; +import { useBaseWidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-base-widget-state'; +import { useWidgetConsoleFilters } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-console-filters'; +import { useWidgetDateRange } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-date-range'; +import { useWidgetFrame } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-frame'; +import { useWidgetLocation } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget-location'; +import type { WidgetEmit, WidgetProps } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; export interface OverridableWidgetState { dateRange?: DateRange|ComputedRef; // overrides dateRange diff --git a/apps/web/src/services/dashboards/widgets/_constants/compliance-constant.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/compliance-constant.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_constants/compliance-constant.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/compliance-constant.ts diff --git a/apps/web/src/services/dashboards/widgets/_constants/managed-widget-options-schema.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/managed-widget-options-schema.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_constants/managed-widget-options-schema.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/managed-widget-options-schema.ts diff --git a/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-components-constant.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-components-constant.ts new file mode 100644 index 0000000000..32fd8c5776 --- /dev/null +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-components-constant.ts @@ -0,0 +1,63 @@ +import type { AsyncComponent } from 'vue'; + +import type { BaseWidgetConfigKey, WidgetConfigKey } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-list-type'; + +const BASE_WIDGET_COMPONENTS: Record = { + baseTrend: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-trend/BaseTrendWidget.vue'), + }), + basePie: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-pie/BasePieWidget.vue'), + }), + baseCountOfFindings: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-count-of-findings/BaseCountOfFindingsWidget.vue'), + }), +}; + +export const WIDGET_COMPONENTS: Record = { + monthlyCost: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/monthly-cost/MonthlyCostWidget.vue'), + }), + budgetUsageSummary: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-summary/BudgetUsageSummaryWidget.vue'), + }), + costMap: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/CostMapWidget.vue'), + }), + costTrend: BASE_WIDGET_COMPONENTS.baseTrend, + costTrendStacked: BASE_WIDGET_COMPONENTS.baseTrend, + costSummaryMultiFields: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-summary-multi-fields/CostSummaryMultiFieldsWidget.vue'), + }), + costPie: BASE_WIDGET_COMPONENTS.basePie, + costDonut: BASE_WIDGET_COMPONENTS.basePie, + costByRegion: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/CostByRegionWidget.vue'), + }), + costByRegionMultiFields: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region-multi-fields/CostByRegionMultiFieldsWidget.vue'), + }), + budgetStatus: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-status/BudgetStatusWidget.vue'), + }), + budgetUsageByTarget: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-by-target/BudgetUsageByTargetWidget.vue'), + }), + severityStatusByService: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/severity-status-by-service/SeverityStatusByServiceWidget.vue'), + }), + countOfFailFindings: BASE_WIDGET_COMPONENTS.baseCountOfFindings, + countOfPassAndFailFindings: BASE_WIDGET_COMPONENTS.baseCountOfFindings, + trendOfPassAndFailFindings: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/trend-of-pass-and-fail-findings/TrendOfPassAndFailFindingsWidget.vue'), + }), + totalFailFindingsStatus: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-status/TotalFailFindingsStatusWidget.vue'), + }), + totalFailFindingsHistory: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-history/TotalFailFindingsHistoryWidget.vue'), + }), + complianceStatus: () => ({ + component: import('@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/compliance-status/ComplianceStatusWidget.vue'), + }), +}; diff --git a/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-config-list-constant.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-config-list-constant.ts new file mode 100644 index 0000000000..8b82f4c084 --- /dev/null +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-config-list-constant.ts @@ -0,0 +1,87 @@ +/* eslint-disable import/order */ +// base widgets +import baseCountOfFindings from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-count-of-findings/widget-config'; +import basePie from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-pie/widget-config'; +import baseTrend from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_base-widgets/base-trend/widget-config'; + +// console widgets +import complianceStatus from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/compliance-status/widget-config'; +import countOfFailFindings from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/count-of-fail-findings/widget-config'; +import countOfPassAndFailFindings from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/count-of-pass-and-fail-findings/widget-config'; +import severityStatusByService from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/severity-status-by-service/widget-config'; +import totalFailFindingsHistory from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-history/widget-config'; +import totalFailFindingsStatus from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-status/widget-config'; +import trendOfPassAndFailFindings from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/trend-of-pass-and-fail-findings/widget-config'; +import budgetStatus from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-status/widget-config'; +import budgetUsageByTarget from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-by-target/widget-config'; +import budgetUsageSummary from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-summary/widget-config'; +import costByRegionMultiFields from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region-multi-fields/widget-config'; +import costByRegion from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/widget-config'; +import costDonut from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-donut/widget-config'; +import costMap from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/widget-config'; +import costPie from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-pie/widget-config'; +import costSummaryMultiFields from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-summary-multi-fields/widget-config'; +import costTrendStacked from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-trend-stacked/widget-config'; +import costTrend from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-trend/widget-config'; +import monthlyCost from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/monthly-cost/widget-config'; + +import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; +import type { BaseWidgetConfigKey, WidgetConfigKey } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-list-type'; + +export const BASE_WIDGET_CONFIG_KEYS = [ + 'baseTrend', + 'basePie', + 'baseCountOfFindings', +] as const; +export const CONSOLE_WIDGET_CONFIG_KEYS = [ + 'monthlyCost', + 'budgetUsageSummary', + 'costMap', + 'costTrend', + 'costTrendStacked', + 'costSummaryMultiFields', + 'costPie', + 'costDonut', + 'costByRegion', + 'costByRegionMultiFields', + 'budgetStatus', + 'budgetUsageByTarget', + 'severityStatusByService', + 'countOfFailFindings', + 'countOfPassAndFailFindings', + 'trendOfPassAndFailFindings', + 'totalFailFindingsStatus', + 'totalFailFindingsHistory', + 'complianceStatus', +] as const; + + +export const CONSOLE_WIDGET_CONFIGS: Record> = { + // Cost Widgets + monthlyCost, + budgetUsageSummary, + costMap, + costTrend, + costTrendStacked, + costSummaryMultiFields, + costPie, + costDonut, + costByRegion, + costByRegionMultiFields, + budgetStatus, + budgetUsageByTarget, + // Asset Widgets + severityStatusByService, + countOfFailFindings, + countOfPassAndFailFindings, + trendOfPassAndFailFindings, + totalFailFindingsStatus, + totalFailFindingsHistory, + complianceStatus, +}; + +export const BASE_WIDGET_CONFIGS: Record> = { + baseTrend, + basePie, + baseCountOfFindings, +}; diff --git a/apps/web/src/services/dashboards/widgets/_constants/widget-constant.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-constant.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_constants/widget-constant.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-constant.ts diff --git a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-chart-data-helper.test.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-chart-data-helper.test.ts similarity index 97% rename from apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-chart-data-helper.test.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-chart-data-helper.test.ts index 9619e60bc5..5965cb2597 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-chart-data-helper.test.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-chart-data-helper.test.ts @@ -1,7 +1,7 @@ import { range } from 'lodash'; import { describe, it, expect } from 'vitest'; -import { getRefinedXYChartData } from '@/services/dashboards/widgets/_helpers/widget-chart-data-helper'; +import { getRefinedXYChartData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-data-helper'; interface SubData { date: string; diff --git a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-config-helper.test.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-config-helper.test.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-config-helper.test.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-config-helper.test.ts diff --git a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-inherit-options-helper.test.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-inherit-options-helper.test.ts similarity index 99% rename from apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-inherit-options-helper.test.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-inherit-options-helper.test.ts index b7f20f2a23..9077d786dc 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-inherit-options-helper.test.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-inherit-options-helper.test.ts @@ -7,7 +7,7 @@ import type { InheritOptions, WidgetConfig, WidgetOptionsSchema } from '@/api-cl import { getInheritingOptionKeys, getInitialWidgetInheritOptions, -} from '@/services/dashboards/widgets/_helpers/widget-inherit-options-helper'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-inherit-options-helper'; diff --git a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-options-filters-helper.test.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-options-filters-helper.test.ts similarity index 96% rename from apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-options-filters-helper.test.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-options-filters-helper.test.ts index 61d4f9a8a7..359560bdc2 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-options-filters-helper.test.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-options-filters-helper.test.ts @@ -1,6 +1,6 @@ import type { WidgetFilterKey, WidgetFiltersMap } from '@/api-clients/dashboard/_types/widget-type'; -import { setFilterAndGetWidgetFiltersMap } from '@/services/dashboards/widgets/_helpers/widget-options-filters-helper'; +import { setFilterAndGetWidgetFiltersMap } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-filters-helper'; describe('[Widget Options Filters Helper] setFilterAndGetWidgetFiltersMap', () => { diff --git a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-schema-helper.test.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-schema-helper.test.ts similarity index 99% rename from apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-schema-helper.test.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-schema-helper.test.ts index 611ed71954..5124b9f446 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-schema-helper.test.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-schema-helper.test.ts @@ -6,7 +6,7 @@ import type { InheritOptions, WidgetConfig, WidgetOptions } from '@/api-clients/ import { getInitialSchemaProperties, getNonInheritedWidgetOptionNamesAmongUsedVariables, getRefinedSchemaProperties, getWidgetOptionKeyByVariableKey, -} from '@/services/dashboards/widgets/_helpers/widget-schema-helper'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-schema-helper'; const DEFAULT_WIDGET_CONFIG = { widget_config_id: 'test', diff --git a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-value-label-helper.test.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-value-label-helper.test.ts similarity index 96% rename from apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-value-label-helper.test.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-value-label-helper.test.ts index 2f2235dbac..fa2d73a449 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/__tests__/widget-value-label-helper.test.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/__tests__/widget-value-label-helper.test.ts @@ -1,7 +1,7 @@ import { describe } from 'vitest'; +import { getWidgetValueLabel } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-value-label-helper'; import type { AllReferenceTypeInfo } from '@/services/dashboards/stores/all-reference-type-info-store'; -import { getWidgetValueLabel } from '@/services/dashboards/widgets/_helpers/widget-value-label-helper'; const mockAllReferenceTypeInfo: AllReferenceTypeInfo = { provider: { diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-chart-data-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-data-helper.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-chart-data-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-data-helper.ts diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-chart-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper.ts similarity index 96% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-chart-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper.ts index 56b8c76c55..2a04ef6a40 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/widget-chart-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper.ts @@ -6,10 +6,10 @@ import { COST_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_const import type { DateRange } from '@/api-clients/dashboard/_types/dashboard-type'; import type { Granularity } from '@/api-clients/dashboard/_types/widget-type'; -import type { AllReferenceTypeInfo } from '@/services/dashboards/stores/all-reference-type-info-store'; import type { Legend, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import type { AllReferenceTypeInfo } from '@/services/dashboards/stores/all-reference-type-info-store'; interface RawData { diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-component-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-component-helper.ts similarity index 66% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-component-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-component-helper.ts index 6b2d7c6b44..19fe2f550c 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/widget-component-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-component-helper.ts @@ -1,7 +1,7 @@ import type { AsyncComponent } from 'vue'; -import { WIDGET_COMPONENTS } from '@/services/dashboards/widgets/_constants/widget-components-constant'; -import { getWidgetConfig } from '@/services/dashboards/widgets/_helpers/widget-config-helper'; +import { WIDGET_COMPONENTS } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-components-constant'; +import { getWidgetConfig } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-config-helper'; export const getWidgetComponent = (widgetConfigId: string): AsyncComponent => { const config = getWidgetConfig(widgetConfigId); diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-config-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-config-helper.ts similarity index 95% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-config-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-config-helper.ts index 95382780f0..3cff00f02b 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/widget-config-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-config-helper.ts @@ -2,7 +2,7 @@ import { mergeWith } from 'lodash'; import type { WidgetConfig, BaseConfigInfo } from '@/api-clients/dashboard/_types/widget-type'; -import { BASE_WIDGET_CONFIGS, CONSOLE_WIDGET_CONFIGS } from '@/services/dashboards/widgets/_constants/widget-config-list-constant'; +import { BASE_WIDGET_CONFIGS, CONSOLE_WIDGET_CONFIGS } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-config-list-constant'; const _mergeCustomizer = (val1, val2) => { if (Array.isArray(val1)) return [...new Set(val1.concat(val2))]; diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-inherit-options-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-inherit-options-helper.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-inherit-options-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-inherit-options-helper.ts diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-location-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-location-helper.ts similarity index 92% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-location-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-location-helper.ts index 33f483d994..9397ac6990 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/widget-location-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-location-helper.ts @@ -8,7 +8,7 @@ import type { WidgetFiltersMap } from '@/api-clients/dashboard/_types/widget-typ import { arrayToQueryString, queryStringToArray } from '@/lib/router-query-string'; -import type { WidgetTableData } from '@/services/dashboards/widgets/_types/widget-data-table-type'; +import type { WidgetTableData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type'; diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-options-filters-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-filters-helper.ts similarity index 94% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-options-filters-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-filters-helper.ts index 7b3afd3aa5..1b172fdc5c 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/widget-options-filters-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-filters-helper.ts @@ -6,7 +6,7 @@ import type { WidgetFiltersMap, WidgetFilterKey } from '@/api-clients/dashboard/ import { MANAGED_VARIABLE_MODELS } from '@/lib/variable-models/managed-model-config/base-managed-model-config'; -import { MANAGED_WIDGET_FILTERS_SCHEMA_PROPERTIES } from '@/services/dashboards/widgets/_constants/managed-widget-options-schema'; +import { MANAGED_WIDGET_FILTERS_SCHEMA_PROPERTIES } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/managed-widget-options-schema'; /** diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-options-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-helper.ts similarity index 96% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-options-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-helper.ts index 693c64929f..870d28d2e3 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/widget-options-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-helper.ts @@ -5,7 +5,7 @@ import type { InheritOptions, WidgetConfig, WidgetOptions, WidgetFilterKey, } from '@/api-clients/dashboard/_types/widget-type'; -import { setFilterAndGetWidgetFiltersMap } from '@/services/dashboards/widgets/_helpers/widget-options-filters-helper'; +import { setFilterAndGetWidgetFiltersMap } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-filters-helper'; export const getRefinedWidgetOptions = ( diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-options-schema-generator.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator.ts similarity index 94% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-options-schema-generator.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator.ts index 23bcb62a2d..ccd685afc3 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/widget-options-schema-generator.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator.ts @@ -3,7 +3,7 @@ import type { WidgetOptionKey, WidgetOptionsSchema, WidgetOptionsSchemaProperty import { MANAGED_WIDGET_FILTERS_SCHEMA_PROPERTIES, MANAGED_WIDGET_OPTIONS_SCHEMA_PROPERTIES, -} from '@/services/dashboards/widgets/_constants/managed-widget-options-schema'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/managed-widget-options-schema'; type CustomOptionTuple = [WidgetOptionKey, Partial]; export const getWidgetOptionsSchema = (options: (WidgetOptionKey|CustomOptionTuple)[]): WidgetOptionsSchema => { diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-schema-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-schema-helper.ts similarity index 95% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-schema-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-schema-helper.ts index 72b4dad4b8..7875d0e142 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/widget-schema-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-schema-helper.ts @@ -5,7 +5,10 @@ import type { InheritOptions, WidgetConfig, WidgetFilterOptionKey, WidgetOptions, WidgetOptionsSchema, } from '@/api-clients/dashboard/_types/widget-type'; -import { MANAGED_WIDGET_FILTERS_SCHEMA_PROPERTIES, MANAGED_WIDGET_OPTIONS_SCHEMA_PROPERTIES } from '@/services/dashboards/widgets/_constants/managed-widget-options-schema'; +import { + MANAGED_WIDGET_FILTERS_SCHEMA_PROPERTIES, + MANAGED_WIDGET_OPTIONS_SCHEMA_PROPERTIES, +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/managed-widget-options-schema'; const VAR_KEY_TO_OPTION_KEY_MAP = {}; Object.entries(MANAGED_WIDGET_FILTERS_SCHEMA_PROPERTIES).forEach(([optionKey, property]) => { diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-table-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-table-helper.ts similarity index 97% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-table-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-table-helper.ts index 52a580f5bd..498ddd2be5 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/widget-table-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-table-helper.ts @@ -8,8 +8,8 @@ import type { Granularity } from '@/api-clients/dashboard/_types/widget-type'; import type { ManagedVariableModelKey } from '@/lib/variable-models/managed-model-config/base-managed-model-config'; +import type { Field } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type'; import type { AllReferenceTypeInfo } from '@/services/dashboards/stores/all-reference-type-info-store'; -import type { Field } from '@/services/dashboards/widgets/_types/widget-data-table-type'; /** * @name getWidgetTableDateFields diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-validation-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-validation-helper.ts similarity index 95% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-validation-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-validation-helper.ts index 75898b3090..03b064aaac 100644 --- a/apps/web/src/services/dashboards/widgets/_helpers/widget-validation-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-validation-helper.ts @@ -10,12 +10,12 @@ import type { WidgetOptionsSchema, } from '@/api-clients/dashboard/_types/widget-type'; -import { getUpdatedWidgetInfo } from '@/services/dashboards/helpers/dashboard-widget-info-helper'; -import { getInheritingOptionKeys } from '@/services/dashboards/widgets/_helpers/widget-inherit-options-helper'; +import { getUpdatedWidgetInfo } from '@/services/dashboard-shared/dashboard-detail/helpers/dashboard-widget-info-helper'; +import { getInheritingOptionKeys } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-inherit-options-helper'; import { getWidgetOptionKeyByVariableKey, -} from '@/services/dashboards/widgets/_helpers/widget-schema-helper'; -import type { UpdatableWidgetInfo } from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-schema-helper'; +import type { UpdatableWidgetInfo } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; export const getWidgetInheritOptionsErrorMap = ( diff --git a/apps/web/src/services/dashboards/widgets/_helpers/widget-value-label-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-value-label-helper.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_helpers/widget-value-label-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-value-label-helper.ts diff --git a/apps/web/src/services/dashboards/widgets/_types/compliance-type.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/compliance-type.ts similarity index 66% rename from apps/web/src/services/dashboards/widgets/_types/compliance-type.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/compliance-type.ts index 481ca5530f..eb0212940d 100644 --- a/apps/web/src/services/dashboards/widgets/_types/compliance-type.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/compliance-type.ts @@ -1,4 +1,4 @@ -import type { SEVERITY_STATUS_MAP, COMPLIANCE_STATUS_MAP } from '@/services/dashboards/widgets/_constants/compliance-constant'; +import type { SEVERITY_STATUS_MAP, COMPLIANCE_STATUS_MAP } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/compliance-constant'; export type Severity = keyof typeof SEVERITY_STATUS_MAP; export type ComplianceStatus = keyof typeof COMPLIANCE_STATUS_MAP; diff --git a/apps/web/src/services/dashboards/widgets/_types/widget-data-table-type.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_types/widget-data-table-type.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type.ts diff --git a/apps/web/src/services/dashboards/widgets/_types/widget-list-type.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-list-type.ts similarity index 67% rename from apps/web/src/services/dashboards/widgets/_types/widget-list-type.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-list-type.ts index a6c62b1fb7..a618123e6b 100644 --- a/apps/web/src/services/dashboards/widgets/_types/widget-list-type.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-list-type.ts @@ -1,7 +1,7 @@ import type { BASE_WIDGET_CONFIG_KEYS, CONSOLE_WIDGET_CONFIG_KEYS, -} from '@/services/dashboards/widgets/_constants/widget-config-list-constant'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/widget-config-list-constant'; export type WidgetConfigKey = typeof CONSOLE_WIDGET_CONFIG_KEYS[number]; export type BaseWidgetConfigKey = typeof BASE_WIDGET_CONFIG_KEYS[number]; diff --git a/apps/web/src/services/dashboards/widgets/_types/widget-type.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/_types/widget-type.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type.ts diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/compliance-status/ComplianceStatusWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/compliance-status/ComplianceStatusWidget.vue similarity index 95% rename from apps/web/src/services/dashboards/widgets/asset-widgets/compliance-status/ComplianceStatusWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/compliance-status/ComplianceStatusWidget.vue index 69ff05fcc9..ff89c88ba7 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/compliance-status/ComplianceStatusWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/compliance-status/ComplianceStatusWidget.vue @@ -19,14 +19,14 @@ import { i18n } from '@/translations'; import { useAmcharts5 } from '@/common/composables/amcharts5'; import ErrorHandler from '@/common/composables/error/errorHandler'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; import { COMPLIANCE_STATUS_MAP, SEVERITY_STATUS_MAP, -} from '@/services/dashboards/widgets/_constants/compliance-constant'; -import type { Severity } from '@/services/dashboards/widgets/_types/compliance-type'; -import type { WidgetExpose, WidgetProps, WidgetEmit } from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/compliance-constant'; +import type { Severity } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/compliance-type'; +import type { WidgetExpose, WidgetProps, WidgetEmit } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; interface SubData { diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/compliance-status/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/compliance-status/widget-config.ts similarity index 86% rename from apps/web/src/services/dashboards/widgets/asset-widgets/compliance-status/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/compliance-status/widget-config.ts index 4ef09eecb0..bc890a9f8e 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/compliance-status/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/compliance-status/widget-config.ts @@ -1,6 +1,6 @@ import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const complianceStatusWidgetConfig: WidgetConfig = { widget_config_id: 'complianceStatus', diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/count-of-fail-findings/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/count-of-fail-findings/widget-config.ts similarity index 90% rename from apps/web/src/services/dashboards/widgets/asset-widgets/count-of-fail-findings/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/count-of-fail-findings/widget-config.ts index 8a7ff243ff..e6bd95b4ea 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/count-of-fail-findings/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/count-of-fail-findings/widget-config.ts @@ -1,7 +1,7 @@ import { ASSET_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const countOfFailFindingsWidgetConfig: WidgetConfig = { widget_config_id: 'countOfFailFindings', diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/count-of-pass-and-fail-findings/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/count-of-pass-and-fail-findings/widget-config.ts similarity index 90% rename from apps/web/src/services/dashboards/widgets/asset-widgets/count-of-pass-and-fail-findings/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/count-of-pass-and-fail-findings/widget-config.ts index 64ee6aaa85..7ef41d2be7 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/count-of-pass-and-fail-findings/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/count-of-pass-and-fail-findings/widget-config.ts @@ -1,7 +1,7 @@ import { ASSET_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const countOfPassAndFailFindingsWidgetConfig: WidgetConfig = { widget_config_id: 'countOfPassAndFailFindings', diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/severity-status-by-service/SeverityStatusByServiceWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/severity-status-by-service/SeverityStatusByServiceWidget.vue similarity index 92% rename from apps/web/src/services/dashboards/widgets/asset-widgets/severity-status-by-service/SeverityStatusByServiceWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/severity-status-by-service/SeverityStatusByServiceWidget.vue index 3779b97896..4a06a08b12 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/severity-status-by-service/SeverityStatusByServiceWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/severity-status-by-service/SeverityStatusByServiceWidget.vue @@ -14,12 +14,12 @@ import type { CloudServiceAnalyzeParameters } from '@/schema/inventory/cloud-ser import ErrorHandler from '@/common/composables/error/errorHandler'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { SEVERITY_STATUS_MAP } from '@/services/dashboards/widgets/_constants/compliance-constant'; -import type { ComplianceStatus, Severity } from '@/services/dashboards/widgets/_types/compliance-type'; -import type { WidgetExpose, WidgetProps, WidgetEmit } from '@/services/dashboards/widgets/_types/widget-type'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { SEVERITY_STATUS_MAP } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/compliance-constant'; +import type { ComplianceStatus, Severity } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/compliance-type'; +import type { WidgetExpose, WidgetProps, WidgetEmit } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; interface Data { diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/severity-status-by-service/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/severity-status-by-service/widget-config.ts similarity index 86% rename from apps/web/src/services/dashboards/widgets/asset-widgets/severity-status-by-service/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/severity-status-by-service/widget-config.ts index 1906823970..ee14b32fe7 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/severity-status-by-service/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/severity-status-by-service/widget-config.ts @@ -1,6 +1,6 @@ import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const severityStatusByServiceWidgetConfig: WidgetConfig = { widget_config_id: 'severityStatusByService', diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-history/TotalFailFindingsHistoryWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-history/TotalFailFindingsHistoryWidget.vue similarity index 94% rename from apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-history/TotalFailFindingsHistoryWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-history/TotalFailFindingsHistoryWidget.vue index 1d40db1693..3fc7ed9b6b 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-history/TotalFailFindingsHistoryWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-history/TotalFailFindingsHistoryWidget.vue @@ -25,14 +25,14 @@ import ErrorHandler from '@/common/composables/error/errorHandler'; import { red, green } from '@/styles/colors'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetColorSet } from '@/services/dashboards/widgets/_composables/use-widget-color-set'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { SEVERITY_STATUS_MAP } from '@/services/dashboards/widgets/_constants/compliance-constant'; -import { getDateAxisSettings } from '@/services/dashboards/widgets/_helpers/widget-chart-helper'; -import type { Severity } from '@/services/dashboards/widgets/_types/compliance-type'; -import type { WidgetProps, WidgetExpose, WidgetEmit } from '@/services/dashboards/widgets/_types/widget-type'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetColorSet } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { SEVERITY_STATUS_MAP } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/compliance-constant'; +import { getDateAxisSettings } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper'; +import type { Severity } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/compliance-type'; +import type { WidgetProps, WidgetExpose, WidgetEmit } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; interface XYChartData { date?: string; diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-history/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-history/widget-config.ts similarity index 88% rename from apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-history/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-history/widget-config.ts index 7002896ba8..eb52b7b214 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-history/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-history/widget-config.ts @@ -1,7 +1,7 @@ import { GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const totalFailFindingsHistoryWidgetConfig: WidgetConfig = { widget_config_id: 'totalFailFindingsHistory', diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-status/TotalFailFindingsStatusWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-status/TotalFailFindingsStatusWidget.vue similarity index 91% rename from apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-status/TotalFailFindingsStatusWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-status/TotalFailFindingsStatusWidget.vue index d04a3fa5f2..fd3c7dc150 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-status/TotalFailFindingsStatusWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-status/TotalFailFindingsStatusWidget.vue @@ -17,13 +17,13 @@ import type { CloudServiceAnalyzeParameters } from '@/schema/inventory/cloud-ser import ErrorHandler from '@/common/composables/error/errorHandler'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetColorSet } from '@/services/dashboards/widgets/_composables/use-widget-color-set'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { SEVERITY_STATUS_MAP } from '@/services/dashboards/widgets/_constants/compliance-constant'; -import type { Severity } from '@/services/dashboards/widgets/_types/compliance-type'; -import type { WidgetProps, WidgetExpose, WidgetEmit } from '@/services/dashboards/widgets/_types/widget-type'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetColorSet } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { SEVERITY_STATUS_MAP } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/compliance-constant'; +import type { Severity } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/compliance-type'; +import type { WidgetProps, WidgetExpose, WidgetEmit } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; interface SubData { diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-status/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-status/widget-config.ts similarity index 87% rename from apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-status/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-status/widget-config.ts index ec0db72670..a554adb8cd 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/total-fail-findings-status/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/total-fail-findings-status/widget-config.ts @@ -1,6 +1,6 @@ import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const totalFailFindingsStatusWidgetConfig: WidgetConfig = { widget_config_id: 'totalFailFindingsStatus', diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/trend-of-pass-and-fail-findings/TrendOfPassAndFailFindingsWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/trend-of-pass-and-fail-findings/TrendOfPassAndFailFindingsWidget.vue similarity index 90% rename from apps/web/src/services/dashboards/widgets/asset-widgets/trend-of-pass-and-fail-findings/TrendOfPassAndFailFindingsWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/trend-of-pass-and-fail-findings/TrendOfPassAndFailFindingsWidget.vue index 1fab8fe3cc..91b15197e9 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/trend-of-pass-and-fail-findings/TrendOfPassAndFailFindingsWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/trend-of-pass-and-fail-findings/TrendOfPassAndFailFindingsWidget.vue @@ -19,27 +19,28 @@ import { useAmcharts5 } from '@/common/composables/amcharts5'; import { setXYSharedTooltipTextWithRate } from '@/common/composables/amcharts5/xy-chart-helper'; import ErrorHandler from '@/common/composables/error/errorHandler'; -import type { ReferenceType } from '@/services/dashboards/stores/all-reference-type-info-store'; -import WidgetChartNoDataOverlay from '@/services/dashboards/widgets/_components/WidgetChartNoDataOverlay.vue'; -import WidgetDataTable from '@/services/dashboards/widgets/_components/WidgetDataTable.vue'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetColorSet } from '@/services/dashboards/widgets/_composables/use-widget-color-set'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidgetPagination } from '@/services/dashboards/widgets/_composables/use-widget-pagination'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { COMPLIANCE_STATUS_MAP } from '@/services/dashboards/widgets/_constants/compliance-constant'; +import WidgetChartNoDataOverlay from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetChartNoDataOverlay.vue'; +import WidgetDataTable from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetDataTable.vue'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetColorSet } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidgetPagination } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { COMPLIANCE_STATUS_MAP } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_constants/compliance-constant'; import { getDateAxisSettings, -} from '@/services/dashboards/widgets/_helpers/widget-chart-helper'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper'; import { getReferenceTypeOfDataField, getRefinedDateTableData, getWidgetTableDateFields, -} from '@/services/dashboards/widgets/_helpers/widget-table-helper'; -import type { Field } from '@/services/dashboards/widgets/_types/widget-data-table-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-table-helper'; +import type { Field } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type'; import type { WidgetExpose, WidgetProps, WidgetEmit, Legend, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import type { ReferenceType } from '@/services/dashboards/stores/all-reference-type-info-store'; + interface ChartDataResult { diff --git a/apps/web/src/services/dashboards/widgets/asset-widgets/trend-of-pass-and-fail-findings/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/trend-of-pass-and-fail-findings/widget-config.ts similarity index 89% rename from apps/web/src/services/dashboards/widgets/asset-widgets/trend-of-pass-and-fail-findings/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/trend-of-pass-and-fail-findings/widget-config.ts index 2a34f114b7..a3d7e28a77 100644 --- a/apps/web/src/services/dashboards/widgets/asset-widgets/trend-of-pass-and-fail-findings/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/asset-widgets/trend-of-pass-and-fail-findings/widget-config.ts @@ -1,7 +1,7 @@ import { ASSET_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const trendOfPassAndFailFindingsWidgetConfig: WidgetConfig = { widget_config_id: 'trendOfPassAndFailFindings', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-status/BudgetStatusWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-status/BudgetStatusWidget.vue similarity index 94% rename from apps/web/src/services/dashboards/widgets/cost-widgets/budget-status/BudgetStatusWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-status/BudgetStatusWidget.vue index 4094e981a7..5480a86322 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-status/BudgetStatusWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-status/BudgetStatusWidget.vue @@ -16,12 +16,12 @@ import ErrorHandler from '@/common/composables/error/errorHandler'; import { indigo, red, yellow } from '@/styles/colors'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; import type { WidgetEmit, WidgetExpose, WidgetProps, Legend, BudgetUsageAnalyzeResponse, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; interface Data { diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-status/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-status/widget-config.ts similarity index 87% rename from apps/web/src/services/dashboards/widgets/cost-widgets/budget-status/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-status/widget-config.ts index c188ba39d5..ed6c1ff4af 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-status/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-status/widget-config.ts @@ -1,7 +1,7 @@ import { CHART_TYPE, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const budgetStatusWidgetConfig: WidgetConfig = { diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-by-target/BudgetUsageByTargetWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-by-target/BudgetUsageByTargetWidget.vue similarity index 89% rename from apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-by-target/BudgetUsageByTargetWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-by-target/BudgetUsageByTargetWidget.vue index f0abe2ca57..b225fa45f5 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-by-target/BudgetUsageByTargetWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-by-target/BudgetUsageByTargetWidget.vue @@ -16,15 +16,15 @@ import { COST_DATA_FIELD_MAP } from '@/api-clients/dashboard/_constants/widget-c import ErrorHandler from '@/common/composables/error/errorHandler'; -import WidgetDataTable from '@/services/dashboards/widgets/_components/WidgetDataTable.vue'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidgetPagination } from '@/services/dashboards/widgets/_composables/use-widget-pagination'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import type { Field, WidgetTableData } from '@/services/dashboards/widgets/_types/widget-data-table-type'; +import WidgetDataTable from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetDataTable.vue'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidgetPagination } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import type { Field, WidgetTableData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type'; import type { WidgetExpose, WidgetProps, WidgetEmit, BudgetUsageAnalyzeResponse, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; interface Data { diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-by-target/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-by-target/widget-config.ts similarity index 90% rename from apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-by-target/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-by-target/widget-config.ts index 379de2dc4c..71c9d90121 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-by-target/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-by-target/widget-config.ts @@ -1,7 +1,7 @@ import { COST_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const budgetUsageByTargetWidgetConfig: WidgetConfig = { widget_config_id: 'budgetUsageByTarget', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-summary/BudgetUsageSummaryWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-summary/BudgetUsageSummaryWidget.vue similarity index 96% rename from apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-summary/BudgetUsageSummaryWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-summary/BudgetUsageSummaryWidget.vue index 489f65c343..a9a47bfac1 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-summary/BudgetUsageSummaryWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-summary/BudgetUsageSummaryWidget.vue @@ -25,11 +25,11 @@ import ErrorHandler from '@/common/composables/error/errorHandler'; import { indigo, red, gray } from '@/styles/colors'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { getDateAxisSettings } from '@/services/dashboards/widgets/_helpers/widget-chart-helper'; -import type { WidgetExpose, WidgetProps, WidgetEmit } from '@/services/dashboards/widgets/_types/widget-type'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { getDateAxisSettings } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper'; +import type { WidgetExpose, WidgetProps, WidgetEmit } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; interface Data { diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-summary/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-summary/widget-config.ts similarity index 87% rename from apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-summary/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-summary/widget-config.ts index 4ebab30add..4c528f24fa 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/budget-usage-summary/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/budget-usage-summary/widget-config.ts @@ -1,7 +1,7 @@ import { GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const budgetUsageSummaryConfig: WidgetConfig = { widget_config_id: 'budgetUsageSummary', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region-multi-fields/CostByRegionMultiFieldsWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region-multi-fields/CostByRegionMultiFieldsWidget.vue similarity index 90% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region-multi-fields/CostByRegionMultiFieldsWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region-multi-fields/CostByRegionMultiFieldsWidget.vue index 835ce5cddf..2af3b92abf 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region-multi-fields/CostByRegionMultiFieldsWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region-multi-fields/CostByRegionMultiFieldsWidget.vue @@ -21,22 +21,23 @@ import type { RegionReferenceMap } from '@/store/reference/region-reference-stor import { useAmcharts5 } from '@/common/composables/amcharts5'; import ErrorHandler from '@/common/composables/error/errorHandler'; -import type { ReferenceType } from '@/services/dashboards/stores/all-reference-type-info-store'; -import WidgetDataTable from '@/services/dashboards/widgets/_components/WidgetDataTable.vue'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetColorSet } from '@/services/dashboards/widgets/_composables/use-widget-color-set'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidgetPagination } from '@/services/dashboards/widgets/_composables/use-widget-pagination'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { getPieChartLegends } from '@/services/dashboards/widgets/_helpers/widget-chart-helper'; -import { getWidgetDataTableRowLocation } from '@/services/dashboards/widgets/_helpers/widget-location-helper'; -import { getReferenceTypeOfDataField } from '@/services/dashboards/widgets/_helpers/widget-table-helper'; -import { getWidgetValueLabel } from '@/services/dashboards/widgets/_helpers/widget-value-label-helper'; -import type { Field, WidgetTableData } from '@/services/dashboards/widgets/_types/widget-data-table-type'; +import WidgetDataTable from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetDataTable.vue'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetColorSet } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidgetPagination } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { getPieChartLegends } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper'; +import { getWidgetDataTableRowLocation } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-location-helper'; +import { getReferenceTypeOfDataField } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-table-helper'; +import { getWidgetValueLabel } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-value-label-helper'; +import type { Field, WidgetTableData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type'; import type { WidgetExpose, WidgetProps, WidgetEmit, Legend, CostAnalyzeResponse, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import type { ReferenceType } from '@/services/dashboards/stores/all-reference-type-info-store'; + interface SubData { diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region-multi-fields/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region-multi-fields/widget-config.ts similarity index 92% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region-multi-fields/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region-multi-fields/widget-config.ts index fb1343ae4d..db7d406095 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region-multi-fields/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region-multi-fields/widget-config.ts @@ -1,7 +1,7 @@ import { CHART_TYPE, COST_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const costByRegionMultiFieldsWidgetConfig: WidgetConfig = { widget_config_id: 'costByRegionMultiFields', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region/CostByRegionWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/CostByRegionWidget.vue similarity index 89% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region/CostByRegionWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/CostByRegionWidget.vue index 73f15ff3e8..e624f73fdc 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region/CostByRegionWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/CostByRegionWidget.vue @@ -24,24 +24,24 @@ import type { RegionReferenceMap } from '@/store/reference/region-reference-stor import { useAmcharts5 } from '@/common/composables/amcharts5'; import ErrorHandler from '@/common/composables/error/errorHandler'; -import WidgetDataTable from '@/services/dashboards/widgets/_components/WidgetDataTable.vue'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidgetPagination } from '@/services/dashboards/widgets/_composables/use-widget-pagination'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { getXYChartLegends } from '@/services/dashboards/widgets/_helpers/widget-chart-helper'; -import { getWidgetDataTableRowLocation } from '@/services/dashboards/widgets/_helpers/widget-location-helper'; -import type { Field, WidgetTableData } from '@/services/dashboards/widgets/_types/widget-data-table-type'; +import WidgetDataTable from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetDataTable.vue'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidgetPagination } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { getXYChartLegends } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper'; +import { getWidgetDataTableRowLocation } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-location-helper'; +import type { Field, WidgetTableData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type'; import type { WidgetExpose, WidgetProps, WidgetEmit, Legend, CostAnalyzeResponse, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; import type { Data, MapChartData, -} from '@/services/dashboards/widgets/cost-widgets/cost-by-region/cost-by-region-data-hleper'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/cost-by-region-data-hleper'; import { getRefinedMapChartData, -} from '@/services/dashboards/widgets/cost-widgets/cost-by-region/cost-by-region-data-hleper'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/cost-by-region-data-hleper'; type FullData = CostAnalyzeResponse; diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region/cost-by-region-data-hleper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/cost-by-region-data-hleper.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region/cost-by-region-data-hleper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/cost-by-region-data-hleper.ts diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/widget-config.ts similarity index 91% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/widget-config.ts index d367986be0..9acc071645 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-by-region/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-by-region/widget-config.ts @@ -1,7 +1,7 @@ import { CHART_TYPE, COST_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const costByRegionWidgetConfig: WidgetConfig = { widget_config_id: 'costByRegion', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-donut/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-donut/widget-config.ts similarity index 90% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-donut/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-donut/widget-config.ts index b655413936..5f6e1f351c 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-donut/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-donut/widget-config.ts @@ -1,7 +1,7 @@ import { CHART_TYPE, COST_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const costDonutWidgetConfig: Partial = { widget_config_id: 'costDonut', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/CostMapWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/CostMapWidget.vue similarity index 92% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/CostMapWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/CostMapWidget.vue index 8fd2a1544f..dbc32d93fb 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/CostMapWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/CostMapWidget.vue @@ -18,12 +18,12 @@ import type { CostDataField } from '@/api-clients/dashboard/_types/widget-type'; import { useAmcharts5 } from '@/common/composables/amcharts5'; import ErrorHandler from '@/common/composables/error/errorHandler'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; import type { WidgetExpose, WidgetProps, WidgetEmit, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; import type { AnalyzeRawData, TreemapChartData, diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/costmap-chart-data-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/costmap-chart-data-helper.ts similarity index 100% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/costmap-chart-data-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/costmap-chart-data-helper.ts diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/costmap-draw-chart-helper.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/costmap-draw-chart-helper.ts similarity index 85% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/costmap-draw-chart-helper.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/costmap-draw-chart-helper.ts index 708871b383..3a0babfe28 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/costmap-draw-chart-helper.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/costmap-draw-chart-helper.ts @@ -2,8 +2,8 @@ import { gray, palette, transparent, white, } from '@/styles/colors'; -import type { WidgetTheme } from '@/services/dashboards/widgets/_types/widget-type'; -import type { TreemapChartData } from '@/services/dashboards/widgets/cost-widgets/cost-map/costmap-chart-data-helper'; +import type { WidgetTheme } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import type { TreemapChartData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/costmap-chart-data-helper'; export const setThemeColorsToTreemapData = (treemapData: TreemapChartData['children'], theme?: WidgetTheme): TreemapChartData['children'] => { const themeColorName: WidgetTheme = theme || 'violet'; diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/widget-config.ts similarity index 90% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/widget-config.ts index fb0c097418..4269f29577 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-map/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-map/widget-config.ts @@ -1,7 +1,7 @@ import { COST_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const costMapWidgetConfig: WidgetConfig = { widget_config_id: 'costMap', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-pie/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-pie/widget-config.ts similarity index 90% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-pie/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-pie/widget-config.ts index f1f9c85423..f90a9c8fad 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-pie/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-pie/widget-config.ts @@ -1,7 +1,7 @@ import { CHART_TYPE, COST_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const costPieWidgetConfig: Partial = { widget_config_id: 'costPie', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-summary-multi-fields/CostSummaryMultiFieldsWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-summary-multi-fields/CostSummaryMultiFieldsWidget.vue similarity index 91% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-summary-multi-fields/CostSummaryMultiFieldsWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-summary-multi-fields/CostSummaryMultiFieldsWidget.vue index 75295a02e5..56a684a064 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-summary-multi-fields/CostSummaryMultiFieldsWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-summary-multi-fields/CostSummaryMultiFieldsWidget.vue @@ -25,23 +25,23 @@ import ErrorHandler from '@/common/composables/error/errorHandler'; import { gray } from '@/styles/colors'; -import type { ReferenceType } from '@/services/dashboards/stores/all-reference-type-info-store'; -import WidgetDataTable from '@/services/dashboards/widgets/_components/WidgetDataTable.vue'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetColorSet } from '@/services/dashboards/widgets/_composables/use-widget-color-set'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidgetPagination } from '@/services/dashboards/widgets/_composables/use-widget-pagination'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { getRefinedXYChartData } from '@/services/dashboards/widgets/_helpers/widget-chart-data-helper'; -import { getXYChartLegends } from '@/services/dashboards/widgets/_helpers/widget-chart-helper'; -import { getWidgetDataTableRowLocation } from '@/services/dashboards/widgets/_helpers/widget-location-helper'; -import { getReferenceTypeOfDataField } from '@/services/dashboards/widgets/_helpers/widget-table-helper'; -import { getWidgetValueLabel } from '@/services/dashboards/widgets/_helpers/widget-value-label-helper'; -import type { Field, WidgetTableData } from '@/services/dashboards/widgets/_types/widget-data-table-type'; +import WidgetDataTable from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetDataTable.vue'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetColorSet } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidgetPagination } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-pagination'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { getRefinedXYChartData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-data-helper'; +import { getXYChartLegends } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper'; +import { getWidgetDataTableRowLocation } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-location-helper'; +import { getReferenceTypeOfDataField } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-table-helper'; +import { getWidgetValueLabel } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-value-label-helper'; +import type { Field, WidgetTableData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-data-table-type'; import type { WidgetEmit, WidgetExpose, WidgetProps, CostAnalyzeResponse, Legend, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import type { ReferenceType } from '@/services/dashboards/stores/all-reference-type-info-store'; interface SubData { diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-summary-multi-fields/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-summary-multi-fields/widget-config.ts similarity index 93% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-summary-multi-fields/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-summary-multi-fields/widget-config.ts index d5e77a4697..95e98565f6 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-summary-multi-fields/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-summary-multi-fields/widget-config.ts @@ -1,7 +1,7 @@ import { CHART_TYPE, COST_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const costSummaryMultiFieldsWidgetConfig: WidgetConfig = { widget_config_id: 'costSummaryMultiFields', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-trend-stacked/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-trend-stacked/widget-config.ts similarity index 91% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-trend-stacked/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-trend-stacked/widget-config.ts index 3706a2a329..e56d8cac0c 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-trend-stacked/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-trend-stacked/widget-config.ts @@ -1,7 +1,7 @@ import { CHART_TYPE, COST_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const costTrendStackedWidgetConfig: Partial = { widget_config_id: 'costTrendStacked', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-trend/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-trend/widget-config.ts similarity index 91% rename from apps/web/src/services/dashboards/widgets/cost-widgets/cost-trend/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-trend/widget-config.ts index 8ad71ca15f..3d78af8be1 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/cost-trend/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/cost-trend/widget-config.ts @@ -1,7 +1,7 @@ import { CHART_TYPE, COST_DATA_FIELD_MAP, GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const costTrendWidgetConfig: Partial = { widget_config_id: 'costTrend', diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/monthly-cost/MonthlyCostWidget.vue b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/monthly-cost/MonthlyCostWidget.vue similarity index 94% rename from apps/web/src/services/dashboards/widgets/cost-widgets/monthly-cost/MonthlyCostWidget.vue rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/monthly-cost/MonthlyCostWidget.vue index 44eccec8f7..e8640c88b9 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/monthly-cost/MonthlyCostWidget.vue +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/monthly-cost/MonthlyCostWidget.vue @@ -27,16 +27,16 @@ import ErrorHandler from '@/common/composables/error/errorHandler'; import { green, red, gray } from '@/styles/colors'; -import WidgetFrame from '@/services/dashboards/widgets/_components/WidgetFrame.vue'; -import { useWidgetColorSet } from '@/services/dashboards/widgets/_composables/use-widget-color-set'; -import { useWidgetLifecycle } from '@/services/dashboards/widgets/_composables/use-widget-lifecycle'; -import { useWidget } from '@/services/dashboards/widgets/_composables/use-widget/use-widget'; -import { getRefinedXYChartData } from '@/services/dashboards/widgets/_helpers/widget-chart-data-helper'; -import { getDateAxisSettings } from '@/services/dashboards/widgets/_helpers/widget-chart-helper'; -import { getRefinedDateTableData } from '@/services/dashboards/widgets/_helpers/widget-table-helper'; +import WidgetFrame from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_components/WidgetFrame.vue'; +import { useWidgetColorSet } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-color-set'; +import { useWidgetLifecycle } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget-lifecycle'; +import { useWidget } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/use-widget'; +import { getRefinedXYChartData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-data-helper'; +import { getDateAxisSettings } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-chart-helper'; +import { getRefinedDateTableData } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-table-helper'; import type { WidgetExpose, WidgetProps, WidgetEmit, CostAnalyzeResponse, -} from '@/services/dashboards/widgets/_types/widget-type'; +} from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; const chartContext = ref(null); diff --git a/apps/web/src/services/dashboards/widgets/cost-widgets/monthly-cost/widget-config.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/monthly-cost/widget-config.ts similarity index 89% rename from apps/web/src/services/dashboards/widgets/cost-widgets/monthly-cost/widget-config.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/monthly-cost/widget-config.ts index fcc061cc82..4b5201036c 100644 --- a/apps/web/src/services/dashboards/widgets/cost-widgets/monthly-cost/widget-config.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/legacy/widgets/cost-widgets/monthly-cost/widget-config.ts @@ -1,7 +1,7 @@ import { GRANULARITY } from '@/api-clients/dashboard/_constants/widget-constant'; import type { WidgetConfig } from '@/api-clients/dashboard/_types/widget-type'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; const monthlyCostWidgetConfig: WidgetConfig = { diff --git a/apps/web/src/services/dashboards/shared/stores/dashboard-detail-info-store.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store.ts similarity index 97% rename from apps/web/src/services/dashboards/shared/stores/dashboard-detail-info-store.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store.ts index c02185ba05..0c145c001c 100644 --- a/apps/web/src/services/dashboards/shared/stores/dashboard-detail-info-store.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store.ts @@ -27,7 +27,7 @@ import { useUserStore } from '@/store/user/user-store'; import getRandomId from '@/lib/random-id-generator'; import WorkspaceVariableModel from '@/lib/variable-models/managed-model/resource-model/workspace-variable-model'; -import { MANAGED_DASHBOARD_VARIABLES_SCHEMA } from '@/services/dashboards/constants/dashboard-managed-variables-schema'; +import { MANAGED_DASHBOARD_VARIABLES_SCHEMA } from '@/services/dashboard-shared/dashboard-detail/constants/dashboard-managed-variables-schema'; // const DEFAULT_REFRESH_INTERVAL = '5m'; const DEFAULT_REFRESH_INTERVAL = 'off'; @@ -95,6 +95,7 @@ export const useDashboardDetailInfoStore = defineStore('dashboard-detail-info', } as DashboardGlobalVariablesSchema, variablesInitMap: {} as Record, showDateRangeNotification: true, + variableImportModalVisible: false, // only for admin selectedWorkspaceId: undefined as string | undefined, // widget info states @@ -168,6 +169,7 @@ export const useDashboardDetailInfoStore = defineStore('dashboard-detail-info', const setProjectId = (projectId?: string) => { state.projectId = projectId; }; const setShowDateRangeNotification = (visible: boolean) => { state.showDateRangeNotification = visible; }; const setSelectedWorkspaceId = (workspaceId?: string) => { state.selectedWorkspaceId = workspaceId; }; + const setVariableImportModalVisible = (visible: boolean) => { state.variableImportModalVisible = visible; }; /* Actions */ const reset = () => { // set default value of all state @@ -282,6 +284,7 @@ export const useDashboardDetailInfoStore = defineStore('dashboard-detail-info', setProjectId, setShowDateRangeNotification, setSelectedWorkspaceId, + setVariableImportModalVisible, }; const actions = { reset, diff --git a/apps/web/src/services/dashboards/stores/widget-form-store.ts b/apps/web/src/services/dashboard-shared/dashboard-detail/stores/widget-form-store.ts similarity index 91% rename from apps/web/src/services/dashboards/stores/widget-form-store.ts rename to apps/web/src/services/dashboard-shared/dashboard-detail/stores/widget-form-store.ts index 3c16520566..7e32138285 100644 --- a/apps/web/src/services/dashboards/stores/widget-form-store.ts +++ b/apps/web/src/services/dashboard-shared/dashboard-detail/stores/widget-form-store.ts @@ -13,13 +13,13 @@ import type { import { useAppContextStore } from '@/store/app-context/app-context-store'; +import { getUpdatedWidgetInfo } from '@/services/dashboard-shared/dashboard-detail/helpers/dashboard-widget-info-helper'; +import { mergeBaseWidgetState } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_composables/use-widget/merge-base-widget-state'; +import { getWidgetOptionsSchema } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_helpers/widget-options-schema-generator'; +import type { UpdatableWidgetInfo } from '@/services/dashboard-shared/dashboard-detail/legacy/widgets/_types/widget-type'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; import { useWidgetTitleInput } from '@/services/dashboards/composables/use-widget-title-input'; -import { getUpdatedWidgetInfo } from '@/services/dashboards/helpers/dashboard-widget-info-helper'; -import { useDashboardDetailInfoStore } from '@/services/dashboards/shared/stores/dashboard-detail-info-store'; import type { MergedBaseWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/merge-base-widget-state'; -import { mergeBaseWidgetState } from '@/services/dashboards/widgets/_composables/use-widget/merge-base-widget-state'; -import { getWidgetOptionsSchema } from '@/services/dashboards/widgets/_helpers/widget-options-schema-generator'; -import type { UpdatableWidgetInfo } from '@/services/dashboards/widgets/_types/widget-type'; /* Description diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardDetailHeader.vue b/apps/web/src/services/dashboards/components/dashboard-detail/DashboardDetailHeader.vue index 83b8a9f0d5..3a2dd74a0f 100644 --- a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardDetailHeader.vue +++ b/apps/web/src/services/dashboards/components/dashboard-detail/DashboardDetailHeader.vue @@ -16,13 +16,13 @@ import { useUserStore } from '@/store/user/user-store'; import { gray } from '@/styles/colors'; +import DashboardLabelsButton from '@/services/dashboard-shared/dashboard-detail/components/DashboardLabelsButton.vue'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; import DashboardControlButtons from '@/services/dashboards/components/dashboard-detail/DashboardControlButtons.vue'; import { useDashboardControlMenuItems } from '@/services/dashboards/composables/use-dashboard-control-menu-items'; import { useDashboardFolderQuery } from '@/services/dashboards/composables/use-dashboard-folder-query'; import { useDashboardManageable } from '@/services/dashboards/composables/use-dashboard-manageable'; import { useDashboardQuery } from '@/services/dashboards/composables/use-dashboard-query'; -import DashboardLabelsButton from '@/services/dashboards/shared/components/DashboardLabelsButton.vue'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; import { useDashboardPageControlStore } from '@/services/dashboards/stores/dashboard-page-control-store'; diff --git a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModal.vue b/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModal.vue index 5db778f6b1..f272a1db7d 100644 --- a/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModal.vue +++ b/apps/web/src/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModal.vue @@ -9,50 +9,38 @@ import { } from '@cloudforet/mirinae'; import type { DashboardGlobalVariable } from '@/api-clients/dashboard/_types/dashboard-global-variable-type'; +import type { DashboardFolderModel, DashboardModel } from '@/api-clients/dashboard/_types/dashboard-type'; import type { PrivateDashboardModel } from '@/api-clients/dashboard/private-dashboard/schema/model'; import type { PublicDashboardModel } from '@/api-clients/dashboard/public-dashboard/schema/model'; import { i18n } from '@/translations'; -import { useAppContextStore } from '@/store/app-context/app-context-store'; import { useUserStore } from '@/store/user/user-store'; import { showSuccessMessage } from '@/lib/helper/notice-alert-helper'; import ErrorHandler from '@/common/composables/error/errorHandler'; -import { useProxyValue } from '@/common/composables/proxy-state'; import LSBCollapsibleMenuItem from '@/common/modules/navigations/lsb/modules/LSBCollapsibleMenuItem.vue'; -// import { useDashboardRouteContext } from '@/services/dashboard-shared/composables/use-dashboard-route-context'; import DashboardManageVariableImportModalTree - from '@/services/dashboards/components/dashboard-detail/DashboardManageVariableImportModalTree.vue'; -import { useDashboardFolderQuery } from '@/services/dashboards/composables/use-dashboard-folder-query'; -import { useDashboardQuery } from '@/services/dashboards/composables/use-dashboard-query'; -import { getOrderedGlobalVariables } from '@/services/dashboards/helpers/dashboard-global-variables-helper'; -import { useDashboardGetQuery } from '@/services/dashboards/shared/composables/use-dashboard-get-query'; + from '@/services/dashboard-shared/dashboard-detail/components/DashboardManageVariableImportModalTree.vue'; +import { useDashboardGetQuery } from '@/services/dashboard-shared/dashboard-detail/composables/use-dashboard-get-query'; +import { getOrderedGlobalVariables } from '@/services/dashboard-shared/dashboard-detail/helpers/dashboard-global-variables-helper'; +import { useDashboardDetailInfoStore } from '@/services/dashboard-shared/dashboard-detail/stores/dashboard-detail-info-store'; interface Props { - visible: boolean; dashboardId: string; + dashboardItems?: Array; + folderItems?: Array; } -const appContextStore = useAppContextStore(); const userStore = useUserStore(); -const props = defineProps(); -const emit = defineEmits<{(e: 'update:visible', value: boolean): void;}>(); +const props = withDefaults(defineProps(), { + dashboardItems: () => [], + folderItems: () => [], +}); +const dashboardDetailStore = useDashboardDetailInfoStore(); +const dashboardDetailState = dashboardDetailStore.state; const dashboardId = computed(() => props.dashboardId); -// const { -// entryPoint, -// } = useDashboardRouteContext(); - -/* Query */ -const { - publicDashboardList, - privateDashboardList, -} = useDashboardQuery(); -const { - publicFolderList, - privateFolderList, -} = useDashboardFolderQuery(); const { dashboard, @@ -63,27 +51,15 @@ const { }); const queryClient = useQueryClient(); -const storeState = reactive({ - isAdminMode: computed(() => appContextStore.getters.isAdminMode), -}); - const state = reactive({ - proxyVisible: useProxyValue('visible', props, emit), currentDashboardId: computed(() => dashboardId.value || ''), currentDashboardVariables: computed(() => Object.values(dashboard.value?.vars_schema?.properties ?? {})), keyword: '', selectedDashboardId: '' as string|undefined, - publicDashboardItems: computed(() => { - const _v2DashboardItems = publicDashboardList.value.filter((d) => d.version !== '1.0' && d.dashboard_id !== state.currentDashboardId); - if (storeState.isAdminMode) return _v2DashboardItems; - return _v2DashboardItems.filter((d) => !(d.resource_group === 'DOMAIN' && !!d.shared && d.scope === 'PROJECT')); - }), - privateDashboardItems: computed(() => privateDashboardList.value.filter((d) => d.version !== '1.0' && d.dashboard_id !== state.currentDashboardId)), - publicFolderItems: computed(() => { - if (storeState.isAdminMode) return publicFolderList.value; - return publicFolderList.value.filter((d) => !(d.resource_group === 'DOMAIN' && !!d.shared && d.scope === 'PROJECT')); - }), - privateFolderItems: computed(() => privateFolderList.value), + publicDashboardItems: computed(() => props.dashboardItems.filter((d) => d.dashboard_id.startsWith('public') && d.dashboard_id !== state.currentDashboardId)), + privateDashboardItems: computed(() => props.dashboardItems.filter((d) => d.dashboard_id.startsWith('private') && d.dashboard_id !== state.currentDashboardId)), + publicFolderItems: computed(() => props.folderItems.filter((d) => d.folder_id.startsWith('public'))), + privateFolderItems: computed(() => props.folderItems.filter((d) => d.folder_id.startsWith('private'))), allDashboardItems: computed(() => [...state.publicDashboardItems, ...state.privateDashboardItems]), selectedDashboardVariables: computed(() => { const selectedDashboard = state.allDashboardItems.find((item) => item.dashboard_id === state.selectedDashboardId); @@ -115,7 +91,7 @@ const { mutate } = useMutation( ErrorHandler.handleRequestError(e, i18n.t('DASHBOARDS.DETAIL.VARIABLES.ALT_E_UPDATE_DASHBOARD_VARS_SCHEMA')); }, onSettled() { - state.proxyVisible = false; + dashboardDetailStore.setVariableImportModalVisible(false); }, }, ); @@ -148,6 +124,9 @@ const handleConfirmImportVariables = () => { }, }); }; +const handleUpdateVariableImportModalVisible = (visible: boolean) => { + dashboardDetailStore.setVariableImportModalVisible(visible); +}; const isDuplicatedVariableName = (variable: DashboardGlobalVariable): boolean => state.currentDashboardVariables.some((currentVariable) => currentVariable.name === variable.name || currentVariable.key === variable.key); @@ -168,8 +147,9 @@ watch(() => state.selectedDashboardId, () => {