diff --git a/frontend/app/components/Dashboard/Widgets/CustomMetricsWidgets/BarChart.tsx b/frontend/app/components/Dashboard/Widgets/CustomMetricsWidgets/BarChart.tsx
index ac1df5e77..135553d67 100644
--- a/frontend/app/components/Dashboard/Widgets/CustomMetricsWidgets/BarChart.tsx
+++ b/frontend/app/components/Dashboard/Widgets/CustomMetricsWidgets/BarChart.tsx
@@ -48,8 +48,8 @@ const PillBar = (props) => {
{striped && (
diff --git a/frontend/app/mstore/dashboardStore.ts b/frontend/app/mstore/dashboardStore.ts
index 610547270..4c2edc59f 100644
--- a/frontend/app/mstore/dashboardStore.ts
+++ b/frontend/app/mstore/dashboardStore.ts
@@ -453,6 +453,7 @@ export default class DashboardStore {
isComparison?: boolean
): Promise {
period = period.toTimestamps();
+ const density = data.density;
const params = { ...period, ...data, key: metric.predefinedKey };
if (!isComparison && metric.page && metric.limit) {
@@ -469,7 +470,7 @@ export default class DashboardStore {
try {
const data = await metricService.getMetricChartData(metric, params, isSaved);
- resolve(metric.setData(data, period, isComparison));
+ resolve(metric.setData(data, period, isComparison, density));
} catch (error) {
reject(error);
} finally {
diff --git a/frontend/app/mstore/types/widget.ts b/frontend/app/mstore/types/widget.ts
index 140db5455..ee9c94ea8 100644
--- a/frontend/app/mstore/types/widget.ts
+++ b/frontend/app/mstore/types/widget.ts
@@ -294,7 +294,7 @@ export default class Widget {
this.page = page;
}
- setData(data: { timestamp: number, [seriesName: string]: number}[], period: any, isComparison?: boolean) {
+ setData(data: { timestamp: number, [seriesName: string]: number}[], period: any, isComparison: boolean = false, density?: number) {
if (!data) return;
const _data: any = {};
if (isComparison && this.metricType === TIMESERIES) {
@@ -335,7 +335,7 @@ export default class Widget {
if (data.hasOwnProperty('chart')) {
_data['value'] = data.value;
_data['unit'] = data.unit;
- _data['chart'] = getChartFormatter(period)(data.chart);
+ _data['chart'] = getChartFormatter(period, density)(data.chart);
_data['namesMap'] = data.chart
.map((i: any) => Object.keys(i))
.flat()
@@ -347,7 +347,7 @@ export default class Widget {
return unique;
}, []);
} else {
- _data['chart'] = getChartFormatter(period)(data);
+ _data['chart'] = getChartFormatter(period, density)(data);
_data['namesMap'] = Array.isArray(data)
? data
.map((i) => Object.keys(i))
diff --git a/frontend/app/types/dashboard/helper.ts b/frontend/app/types/dashboard/helper.ts
index 97a7c17e8..f1bd7be1f 100644
--- a/frontend/app/types/dashboard/helper.ts
+++ b/frontend/app/types/dashboard/helper.ts
@@ -4,21 +4,26 @@ const WEEK = DAY * 8;
const startWithZero = (num: number) => (num < 10 ? `0${ num }` : `${ num }`);
const weekdays = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ];
-export const getTimeString = (ts, period) => {
+export const getTimeString = (ts, period, density,) => {
const date = new Date(ts);
const diff = period.endTimestamp - period.startTimestamp;
if (diff <= DAY) {
- var isPM = date.getHours() >= 12;
+ const isPM = date.getHours() >= 12;
return `${ isPM ? date.getHours() - 12 : date.getHours() }:${ startWithZero(date.getMinutes()) } ${isPM? 'pm' : 'am'}`;
}
if (diff <= WEEK) {
- return weekdays[ date.getDay() ];
+ if (density < 20) {
+ return weekdays[ date.getDay() ];
+ } else {
+ const isPM = date.getHours() >= 12;
+ return `${ isPM ? date.getHours() - 12 : date.getHours() }:${ startWithZero(date.getMinutes()) } ${isPM? 'pm' : 'am'}`;
+ }
}
return `${ date.getDate() }/${ startWithZero(date.getMonth() + 1) } `;
};
-export const getChartFormatter = period => (data = []) =>
- data.map(({ timestamp, ...rest }) => ({ time: getTimeString(timestamp, period), ...rest, timestamp }));
+export const getChartFormatter = (period, density) => (data = []) =>
+ data.map(({ timestamp, ...rest }) => ({ time: getTimeString(timestamp, period, density), ...rest, timestamp }));
export const getStartAndEndTimestampsByDensity = (current: number, start: number, end: number, density: number) => {
const diff = end - start;