fix(dashboard): add weekly interval #154
This commit is contained in:
@@ -37,6 +37,10 @@ export function OverviewInterval() {
|
|||||||
value: 'day',
|
value: 'day',
|
||||||
label: 'Day',
|
label: 'Day',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: 'week',
|
||||||
|
label: 'Week',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
value: 'month',
|
value: 'month',
|
||||||
label: 'Month',
|
label: 'Month',
|
||||||
|
|||||||
@@ -62,6 +62,15 @@ export function ReportInterval({
|
|||||||
value: 'day',
|
value: 'day',
|
||||||
label: 'Day',
|
label: 'Day',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: 'week',
|
||||||
|
label: 'Week',
|
||||||
|
disabled:
|
||||||
|
range === 'today' ||
|
||||||
|
range === 'lastHour' ||
|
||||||
|
range === '30min' ||
|
||||||
|
range === '7d',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
value: 'month',
|
value: 'month',
|
||||||
label: 'Month',
|
label: 'Month',
|
||||||
|
|||||||
@@ -13,6 +13,14 @@ export function formatDateInterval(interval: IInterval, date: Date): string {
|
|||||||
return new Intl.DateTimeFormat('en-GB', { month: 'short' }).format(date);
|
return new Intl.DateTimeFormat('en-GB', { month: 'short' }).format(date);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (interval === 'week') {
|
||||||
|
return new Intl.DateTimeFormat('en-GB', {
|
||||||
|
weekday: 'short',
|
||||||
|
day: '2-digit',
|
||||||
|
month: '2-digit',
|
||||||
|
}).format(date);
|
||||||
|
}
|
||||||
|
|
||||||
if (interval === 'day') {
|
if (interval === 'day') {
|
||||||
return new Intl.DateTimeFormat('en-GB', {
|
return new Intl.DateTimeFormat('en-GB', {
|
||||||
weekday: 'short',
|
weekday: 'short',
|
||||||
|
|||||||
@@ -3,12 +3,14 @@ import {
|
|||||||
addHours,
|
addHours,
|
||||||
addMinutes,
|
addMinutes,
|
||||||
addMonths,
|
addMonths,
|
||||||
|
addWeeks,
|
||||||
format,
|
format,
|
||||||
parseISO,
|
parseISO,
|
||||||
startOfDay,
|
startOfDay,
|
||||||
startOfHour,
|
startOfHour,
|
||||||
startOfMinute,
|
startOfMinute,
|
||||||
startOfMonth,
|
startOfMonth,
|
||||||
|
startOfWeek,
|
||||||
} from 'date-fns';
|
} from 'date-fns';
|
||||||
|
|
||||||
import { NOT_SET_VALUE } from '@openpanel/constants';
|
import { NOT_SET_VALUE } from '@openpanel/constants';
|
||||||
@@ -39,6 +41,8 @@ function roundDate(date: Date, interval: IInterval): Date {
|
|||||||
return startOfHour(date);
|
return startOfHour(date);
|
||||||
case 'day':
|
case 'day':
|
||||||
return startOfDay(date);
|
return startOfDay(date);
|
||||||
|
case 'week':
|
||||||
|
return startOfWeek(date);
|
||||||
case 'month':
|
case 'month':
|
||||||
return startOfMonth(date);
|
return startOfMonth(date);
|
||||||
default:
|
default:
|
||||||
@@ -125,6 +129,9 @@ export function completeSerie(
|
|||||||
case 'day':
|
case 'day':
|
||||||
currentDate = addDays(currentDate, 1);
|
currentDate = addDays(currentDate, 1);
|
||||||
break;
|
break;
|
||||||
|
case 'week':
|
||||||
|
currentDate = addWeeks(currentDate, 1);
|
||||||
|
break;
|
||||||
case 'month':
|
case 'month':
|
||||||
currentDate = addMonths(currentDate, 1);
|
currentDate = addMonths(currentDate, 1);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user