+
+
+
+
-
+ {tDashboardTexts(title)}
+
+
+
-
-
-
+
+ {
+ !regionAvailable && (
+
+
+
+
+ {t(`${NAMESPACES.MODULE}:metrics_region_not_available`, { region: regionLabel })}
+
+
+
+ )
+ }
+
+
+ {
+ regionAvailable ? <>
+ {
+ globalLoading ?
+
+
+ : (
+
+
+ type={chart.type}
+ chartConfig={chart}
+ id={id}
+ title={title}
+ data={data ?? []}
+ isLoading={false}
+ isFullscreen={true}
+ state={dashboardState}
+ />
+
+ )
+ }
+ >
+ : null
+ }
+
+
+
+
+
+
+
+
+
);
};
export default DashboardWidgetModal;
diff --git a/packages/manager/modules/metrics-to-customer/src/types/region.type.ts b/packages/manager/modules/metrics-to-customer/src/types/region.type.ts
index 5f890271f1de..b6705a56e881 100644
--- a/packages/manager/modules/metrics-to-customer/src/types/region.type.ts
+++ b/packages/manager/modules/metrics-to-customer/src/types/region.type.ts
@@ -1,4 +1,5 @@
export type Region = {
code: string;
+ name: string;
label: string;
};
diff --git a/packages/manager/modules/metrics-to-customer/src/utils/__tests__/metrics.utils.spec.ts b/packages/manager/modules/metrics-to-customer/src/utils/__tests__/metrics.utils.spec.ts
index 51fc01ce6cc0..5d6fcd25f4ca 100644
--- a/packages/manager/modules/metrics-to-customer/src/utils/__tests__/metrics.utils.spec.ts
+++ b/packages/manager/modules/metrics-to-customer/src/utils/__tests__/metrics.utils.spec.ts
@@ -460,8 +460,9 @@ describe('metrics.utils', () => {
// Arrange
const regions: Region[] = [
{
- code: 'eu-west-gra',
- name: 'Gravelines',
+ code: 'gra',
+ label: 'Gravelines',
+ name: 'eu-west-gra',
},
];
@@ -519,12 +520,14 @@ describe('metrics.utils', () => {
// Arrange
const regions: Region[] = [
{
- code: 'us-east-1',
- name: 'US East',
+ code: 'us',
+ label: 'US East',
+ name: 'us-east-1',
},
{
- code: 'eu-west-gra',
- name: 'Gravelines',
+ code: 'gra',
+ label: 'Gravelines',
+ name: 'eu-west-gra',
},
];
@@ -540,11 +543,13 @@ describe('metrics.utils', () => {
const regions: Region[] = [
{
code: 'us-east-1',
- name: 'US East',
+ label: 'US East',
+ name: 'us-east-1',
},
{
- code: 'ap-south-1',
- name: 'Asia Pacific',
+ code: 'ap',
+ label: 'Asia Pacific',
+ name: 'ap-south-1',
},
];
diff --git a/packages/manager/modules/metrics-to-customer/src/utils/metrics.utils.ts b/packages/manager/modules/metrics-to-customer/src/utils/metrics.utils.ts
index 20e69400af72..a109722ae8a2 100644
--- a/packages/manager/modules/metrics-to-customer/src/utils/metrics.utils.ts
+++ b/packages/manager/modules/metrics-to-customer/src/utils/metrics.utils.ts
@@ -9,7 +9,7 @@ import { Region } from '@/types/region.type';
* @returns true if at least one region supports metric data, false otherwise
*/
export const isRegionAvailable = (regions: Region[]): boolean => {
- return regions.some((region) => REGIONS_AVAILABLES.includes(region.code ?? ''));
+ return regions.some((region) => REGIONS_AVAILABLES.includes(region.name ?? ''));
};
// TODO: update the chart adapter when wired to the real metric APIs.