Custom date range selection.

This commit is contained in:
Mike Cao 2020-09-13 01:26:54 -07:00
parent 7a8ab94bba
commit 4e103152b2
19 changed files with 545 additions and 40 deletions

11
lib/array.js Normal file
View file

@ -0,0 +1,11 @@
export function chunk(arr, size) {
const chunks = [];
let index = 0;
while (index < arr.length) {
chunks.push(arr.slice(index, size + index));
index += size;
}
return chunks;
}

View file

@ -18,7 +18,7 @@ import {
endOfYear,
differenceInHours,
differenceInCalendarDays,
differenceInMonths,
differenceInCalendarMonths,
} from 'date-fns';
export function getTimezone() {
@ -85,10 +85,21 @@ export function getDateRange(value) {
}
}
export function getDateRangeValues(startDate, endDate) {
if (differenceInHours(endDate, startDate) <= 48) {
return { startDate: startOfHour(startDate), endDate: endOfHour(endDate), unit: 'hour' };
} else if (differenceInCalendarDays(endDate, startDate) <= 90) {
return { startDate: startOfDay(startDate), endDate: endOfDay(endDate), unit: 'day' };
} else if (differenceInCalendarMonths(endDate, startDate) <= 12) {
return { startDate: startOfMonth(startDate), endDate: endOfMonth(endDate), unit: 'month' };
}
return { startDate: startOfYear(startDate), endDate: endOfYear(endDate), unit: 'year' };
}
const dateFuncs = {
hour: [differenceInHours, addHours, startOfHour],
day: [differenceInCalendarDays, addDays, startOfDay],
month: [differenceInMonths, addMonths, startOfMonth],
month: [differenceInCalendarMonths, addMonths, startOfMonth],
};
export function getDateArray(data, startDate, endDate, unit) {

View file

@ -9,7 +9,7 @@ import deDEMessages from 'lang-compiled/de-DE.json';
import jaMessages from 'lang-compiled/ja-JP.json';
export const messages = {
en: enMessages,
'en-US': enMessages,
'nl-NL': nlMessages,
'zh-CN': zhCNMessages,
'de-DE': deDEMessages,
@ -19,7 +19,7 @@ export const messages = {
};
export const dateLocales = {
en: enUS,
'en-US': enUS,
'nl-NL': nl,
'zh-CN': zhCN,
'de-DE': de,