From 678ee78e841c7040ae43e29566bb2f7ca0645530 Mon Sep 17 00:00:00 2001 From: Nate Kelley Date: Wed, 24 Sep 2025 19:44:14 -0600 Subject: [PATCH] move dashboard config to the server --- .../api/asset_interfaces/dashboard/config.ts | 3 --- .../helpers/addMetricToDashboard.ts | 2 +- .../dashboards/mutations/useMetrics.ts | 2 +- .../createDashboardFullConfirmModal.tsx | 2 +- apps/web/src/components/ui/grid/helpers.ts | 22 ++++++++++++++----- .../src/dashboards/dashboard-grid.ts | 9 ++++++++ .../server-shared/src/dashboards/index.ts | 1 + 7 files changed, 29 insertions(+), 12 deletions(-) delete mode 100644 apps/web/src/api/asset_interfaces/dashboard/config.ts create mode 100644 packages/server-shared/src/dashboards/dashboard-grid.ts diff --git a/apps/web/src/api/asset_interfaces/dashboard/config.ts b/apps/web/src/api/asset_interfaces/dashboard/config.ts deleted file mode 100644 index 52987926d..000000000 --- a/apps/web/src/api/asset_interfaces/dashboard/config.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const MAX_NUMBER_OF_ITEMS_ON_DASHBOARD = 25; -export const NUMBER_OF_COLUMNS = 12; -export const MAX_NUMBER_OF_ITEMS = 4; diff --git a/apps/web/src/api/buster_rest/dashboards/helpers/addMetricToDashboard.ts b/apps/web/src/api/buster_rest/dashboards/helpers/addMetricToDashboard.ts index 26df075f8..c52cfdefe 100644 --- a/apps/web/src/api/buster_rest/dashboards/helpers/addMetricToDashboard.ts +++ b/apps/web/src/api/buster_rest/dashboards/helpers/addMetricToDashboard.ts @@ -1,6 +1,6 @@ +import { MAX_NUMBER_OF_ITEMS, NUMBER_OF_COLUMNS } from '@buster/server-shared/dashboards'; import { v4 as uuidv4 } from 'uuid'; import type { BusterDashboard } from '@/api/asset_interfaces/dashboard'; -import { MAX_NUMBER_OF_ITEMS, NUMBER_OF_COLUMNS } from '../../../asset_interfaces/dashboard/config'; export const addMetricToDashboardConfig = ( metricIds: string[], diff --git a/apps/web/src/api/buster_rest/dashboards/mutations/useMetrics.ts b/apps/web/src/api/buster_rest/dashboards/mutations/useMetrics.ts index 982a43b24..6ee1d6889 100644 --- a/apps/web/src/api/buster_rest/dashboards/mutations/useMetrics.ts +++ b/apps/web/src/api/buster_rest/dashboards/mutations/useMetrics.ts @@ -1,7 +1,7 @@ +import { MAX_NUMBER_OF_ITEMS_ON_DASHBOARD } from '@buster/server-shared/dashboards'; import { useMutation, useQueryClient } from '@tanstack/react-query'; import { create } from 'mutative'; import type { BusterDashboardResponse } from '@/api/asset_interfaces/dashboard'; -import { MAX_NUMBER_OF_ITEMS_ON_DASHBOARD } from '@/api/asset_interfaces/dashboard/config'; import { metricsQueryKeys } from '@/api/query_keys/metric'; import { createDashboardFullConfirmModal } from '@/components/features/modals/createDashboardFullConfirmModal'; import { useBusterNotifications } from '@/context/BusterNotifications'; diff --git a/apps/web/src/components/features/modals/createDashboardFullConfirmModal.tsx b/apps/web/src/components/features/modals/createDashboardFullConfirmModal.tsx index f57f202dd..02782bab8 100644 --- a/apps/web/src/components/features/modals/createDashboardFullConfirmModal.tsx +++ b/apps/web/src/components/features/modals/createDashboardFullConfirmModal.tsx @@ -1,4 +1,4 @@ -import { MAX_NUMBER_OF_ITEMS_ON_DASHBOARD } from '@/api/asset_interfaces/dashboard/config'; +import { MAX_NUMBER_OF_ITEMS_ON_DASHBOARD } from '@buster/server-shared/dashboards'; import { cn } from '@/lib/classMerge'; import { Text } from '../../ui/typography/Text'; import { Title } from '../../ui/typography/Title'; diff --git a/apps/web/src/components/ui/grid/helpers.ts b/apps/web/src/components/ui/grid/helpers.ts index 6a3da0591..53aca6607 100644 --- a/apps/web/src/components/ui/grid/helpers.ts +++ b/apps/web/src/components/ui/grid/helpers.ts @@ -1,9 +1,19 @@ -export const NUMBER_OF_COLUMNS = 12; -export const MIN_NUMBER_OF_COLUMNS = 3; -export const MAX_NUMBER_OF_COLUMNS = 12; -export const MAX_NUMBER_OF_ITEMS = 4; -export const MIN_ROW_HEIGHT = 320; -export const MAX_ROW_HEIGHT = 550; +import { + MAX_NUMBER_OF_COLUMNS as SERVER_MAX_NUMBER_OF_COLUMNS, + MAX_NUMBER_OF_ITEMS as SERVER_MAX_NUMBER_OF_ITEMS, + MAX_ROW_HEIGHT as SERVER_MAX_ROW_HEIGHT, + MIN_NUMBER_OF_COLUMNS as SERVER_MIN_NUMBER_OF_COLUMNS, + MIN_ROW_HEIGHT as SERVER_MIN_ROW_HEIGHT, + NUMBER_OF_COLUMNS as SERVER_NUMBER_OF_COLUMNS, +} from '@buster/server-shared/dashboards'; + +export const NUMBER_OF_COLUMNS = SERVER_NUMBER_OF_COLUMNS; +export const MIN_NUMBER_OF_COLUMNS = SERVER_MIN_NUMBER_OF_COLUMNS; +export const MAX_NUMBER_OF_COLUMNS = SERVER_MAX_NUMBER_OF_COLUMNS; +export const MAX_NUMBER_OF_ITEMS = SERVER_MAX_NUMBER_OF_ITEMS; +export const MIN_ROW_HEIGHT = SERVER_MIN_ROW_HEIGHT; +export const MAX_ROW_HEIGHT = SERVER_MAX_ROW_HEIGHT; + export const HEIGHT_OF_DROPZONE = 100; export const SASH_SIZE = 12; diff --git a/packages/server-shared/src/dashboards/dashboard-grid.ts b/packages/server-shared/src/dashboards/dashboard-grid.ts new file mode 100644 index 000000000..7d87eafe8 --- /dev/null +++ b/packages/server-shared/src/dashboards/dashboard-grid.ts @@ -0,0 +1,9 @@ +export const MAX_NUMBER_OF_ITEMS_ON_DASHBOARD = 25; +export const NUMBER_OF_COLUMNS = 12; +export const MIN_NUMBER_OF_COLUMNS = 3; +export const MAX_NUMBER_OF_COLUMNS = 12; + +export const MAX_NUMBER_OF_ITEMS = 4; + +export const MIN_ROW_HEIGHT = 320; +export const MAX_ROW_HEIGHT = 550; diff --git a/packages/server-shared/src/dashboards/index.ts b/packages/server-shared/src/dashboards/index.ts index d86bdfbb1..f53de88e5 100644 --- a/packages/server-shared/src/dashboards/index.ts +++ b/packages/server-shared/src/dashboards/index.ts @@ -2,3 +2,4 @@ export * from './dashboard-response.types'; export * from './dashboard.types'; export * from './dashboard-list.types'; export * from './requests.types'; +export * from './dashboard-grid';