100 lines
3.2 KiB
JavaScript
100 lines
3.2 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.createStaticRanges = createStaticRanges;
|
|
exports.defaultStaticRanges = exports.defaultInputRanges = void 0;
|
|
var _dateFns = require("date-fns");
|
|
const defineds = {
|
|
startOfWeek: (0, _dateFns.startOfWeek)(new Date()),
|
|
endOfWeek: (0, _dateFns.endOfWeek)(new Date()),
|
|
startOfLastWeek: (0, _dateFns.startOfWeek)((0, _dateFns.addDays)(new Date(), -7)),
|
|
endOfLastWeek: (0, _dateFns.endOfWeek)((0, _dateFns.addDays)(new Date(), -7)),
|
|
startOfToday: (0, _dateFns.startOfDay)(new Date()),
|
|
endOfToday: (0, _dateFns.endOfDay)(new Date()),
|
|
startOfYesterday: (0, _dateFns.startOfDay)((0, _dateFns.addDays)(new Date(), -1)),
|
|
endOfYesterday: (0, _dateFns.endOfDay)((0, _dateFns.addDays)(new Date(), -1)),
|
|
startOfMonth: (0, _dateFns.startOfMonth)(new Date()),
|
|
endOfMonth: (0, _dateFns.endOfMonth)(new Date()),
|
|
startOfLastMonth: (0, _dateFns.startOfMonth)((0, _dateFns.addMonths)(new Date(), -1)),
|
|
endOfLastMonth: (0, _dateFns.endOfMonth)((0, _dateFns.addMonths)(new Date(), -1))
|
|
};
|
|
const staticRangeHandler = {
|
|
range: {},
|
|
isSelected(range) {
|
|
const definedRange = this.range();
|
|
return (0, _dateFns.isSameDay)(range.startDate, definedRange.startDate) && (0, _dateFns.isSameDay)(range.endDate, definedRange.endDate);
|
|
}
|
|
};
|
|
function createStaticRanges(ranges) {
|
|
return ranges.map(range => ({
|
|
...staticRangeHandler,
|
|
...range
|
|
}));
|
|
}
|
|
const defaultStaticRanges = exports.defaultStaticRanges = createStaticRanges([{
|
|
label: 'Today',
|
|
range: () => ({
|
|
startDate: defineds.startOfToday,
|
|
endDate: defineds.endOfToday
|
|
})
|
|
}, {
|
|
label: 'Yesterday',
|
|
range: () => ({
|
|
startDate: defineds.startOfYesterday,
|
|
endDate: defineds.endOfYesterday
|
|
})
|
|
}, {
|
|
label: 'This Week',
|
|
range: () => ({
|
|
startDate: defineds.startOfWeek,
|
|
endDate: defineds.endOfWeek
|
|
})
|
|
}, {
|
|
label: 'Last Week',
|
|
range: () => ({
|
|
startDate: defineds.startOfLastWeek,
|
|
endDate: defineds.endOfLastWeek
|
|
})
|
|
}, {
|
|
label: 'This Month',
|
|
range: () => ({
|
|
startDate: defineds.startOfMonth,
|
|
endDate: defineds.endOfMonth
|
|
})
|
|
}, {
|
|
label: 'Last Month',
|
|
range: () => ({
|
|
startDate: defineds.startOfLastMonth,
|
|
endDate: defineds.endOfLastMonth
|
|
})
|
|
}]);
|
|
const defaultInputRanges = exports.defaultInputRanges = [{
|
|
label: 'days up to today',
|
|
range(value) {
|
|
return {
|
|
startDate: (0, _dateFns.addDays)(defineds.startOfToday, (Math.max(Number(value), 1) - 1) * -1),
|
|
endDate: defineds.endOfToday
|
|
};
|
|
},
|
|
getCurrentValue(range) {
|
|
if (!(0, _dateFns.isSameDay)(range.endDate, defineds.endOfToday)) return '-';
|
|
if (!range.startDate) return '∞';
|
|
return (0, _dateFns.differenceInCalendarDays)(defineds.endOfToday, range.startDate) + 1;
|
|
}
|
|
}, {
|
|
label: 'days starting today',
|
|
range(value) {
|
|
const today = new Date();
|
|
return {
|
|
startDate: today,
|
|
endDate: (0, _dateFns.addDays)(today, Math.max(Number(value), 1) - 1)
|
|
};
|
|
},
|
|
getCurrentValue(range) {
|
|
if (!(0, _dateFns.isSameDay)(range.startDate, defineds.startOfToday)) return '-';
|
|
if (!range.endDate) return '∞';
|
|
return (0, _dateFns.differenceInCalendarDays)(range.endDate, defineds.startOfToday) + 1;
|
|
}
|
|
}]; |