kits-core
Version:
Kits core module
173 lines (149 loc) • 6.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getUnixTimestampByQuickSelectionDate = exports.optsDateRange = exports.dateRangeQuickSelection = exports.dateRange = undefined;
var _moment = require('moment');
var _moment2 = _interopRequireDefault(_moment);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// TODO add timezone moment to support this feature
// import moment from 'moment-timezone';
// const timezone = "Asia/Ho_Chi_Minh";
var dateRange = exports.dateRange = {
today: [(0, _moment2.default)().startOf('day'), (0, _moment2.default)().endOf('day')],
yesterday: [(0, _moment2.default)().subtract(1, 'days').startOf('day'), (0, _moment2.default)().subtract(1, 'days').endOf('day')],
lifetime: [(0, _moment2.default)(), (0, _moment2.default)()],
thisWeek: [(0, _moment2.default)().startOf('week'), (0, _moment2.default)().endOf('day')],
lastWeek: [(0, _moment2.default)().subtract(1, 'weeks').startOf('week').startOf('day'), (0, _moment2.default)().subtract(1, 'weeks').endOf('week').endOf('day')],
last7Days: [(0, _moment2.default)().subtract(7, 'days').startOf('day'), (0, _moment2.default)()],
last14Days: [(0, _moment2.default)().subtract(2, 'weeks').startOf('day'), (0, _moment2.default)()],
last30Days: [(0, _moment2.default)().subtract(30, 'days').startOf('day'), (0, _moment2.default)()],
thisMonth: [(0, _moment2.default)().startOf('month'), (0, _moment2.default)().endOf('day')],
lastMonth: [(0, _moment2.default)().subtract(1, 'months').startOf('month'), (0, _moment2.default)().subtract(1, 'months').endOf('month')],
lastQuarter: [(0, _moment2.default)().subtract(3, 'months').startOf('month'), (0, _moment2.default)().subtract(1, 'months').endOf('month')],
last90Days: [(0, _moment2.default)().subtract(90, 'days'), (0, _moment2.default)()],
lastHaftYear: [(0, _moment2.default)().startOf('years'), (0, _moment2.default)().startOf('years').add(5, 'months').endOf('month')],
lastHaftBeginYear: [(0, _moment2.default)().startOf('years'), (0, _moment2.default)().startOf('years').add(5, 'months').endOf('month')],
lastHaftEndYear: [(0, _moment2.default)().startOf('years'), (0, _moment2.default)().startOf('years').add(5, 'months').endOf('month')],
thisYear: [(0, _moment2.default)().startOf('year'), (0, _moment2.default)().endOf('day')],
lastYear: [(0, _moment2.default)().subtract(1, 'years').startOf('year'), (0, _moment2.default)().subtract(1, 'years').endOf('year')],
last2Year: [(0, _moment2.default)().subtract(2, 'years').startOf('year'), (0, _moment2.default)().subtract(1, 'years').endOf('year')]
};
//TODO: test something
var dateRangeQuickSelection = exports.dateRangeQuickSelection = {
Lifetime: dateRange.today,
'This week': dateRange.thisWeek,
'Last week': dateRange.lastWeek,
'Last Month': dateRange.lastMonth,
'This Month': dateRange.thisMonth,
'Last 7 Days': dateRange.last7Days,
'Last 30 Days': dateRange.last30Days,
'Last 90 days': dateRange.last90Days
};
var optsDateRange = exports.optsDateRange = [{
id: '1',
name: 'Last 7 days',
value: 'last_7_day',
description: 'Last 7 days'
}, {
id: '2',
name: 'Last 14 days',
value: 'last_14_day',
description: 'Last 14 days'
}, {
id: '3',
name: 'Last 30 days',
value: 'last_30_day',
description: 'Last 30 days'
}, {
id: '4',
name: 'Last Month',
value: 'last_month',
description: 'Last Month'
}, {
id: '5',
name: 'Last Quarter',
value: 'last_quarter',
description: 'Last Quarter'
}, {
id: '6',
name: 'Last Half Year',
value: 'last_half_year',
description: 'Last Half Year'
}, {
id: '7',
name: 'Last Year',
value: 'last_year',
description: 'Last Year'
}, {
id: '8',
name: 'Last 2 Year',
value: 'last_2_year',
description: 'Last 2 Year'
}];
var getUnixTimestampByQuickSelectionDate = exports.getUnixTimestampByQuickSelectionDate = function getUnixTimestampByQuickSelectionDate(rangeValue) {
var dataBody = {
timeRange: rangeValue,
startTime: 0,
endTime: 0
};
switch (rangeValue) {
case 'last_7_day':
dataBody.startTime = dateRange.last7Days[0].unix();
dataBody.endTime = dateRange.last7Days[1].unix();
return dataBody;
case 'last_week':
dataBody.startTime = dateRange.lastWeek[0].unix();
dataBody.endTime = dateRange.lastWeek[1].unix();
return dataBody;
case 'last_14_day':
case 'last_2_week':
dataBody.startTime = dateRange.last14Days[0].unix();
dataBody.endTime = dateRange.last14Days[1].unix();
return dataBody;
case 'last_month':
dataBody.startTime = dateRange.lastMonth[0].unix();
dataBody.endTime = dateRange.lastMonth[1].unix();
return dataBody;
case 'last_30_day':
dataBody.startTime = dateRange.last30Days[0].unix();
dataBody.endTime = dateRange.last30Days[1].unix();
return dataBody;
case 'last_quarter':
dataBody.startTime = dateRange.lastQuarter[0].unix();
dataBody.endTime = dateRange.lastQuarter[1].unix();
return dataBody;
case 'last_half_year':
var month = (0, _moment2.default)().month() + 1; // jan=0, dec=11
if (month >= 7) {
dataBody.startTime = (0, _moment2.default)().startOf('years').unix();
dataBody.endTime = (0, _moment2.default)().startOf('years').add(5, 'months').endOf('month').unix();
}
if (month < 7) {
dataBody.startTime = (0, _moment2.default)().subtract(1, "year").startOf('years').add(5, 'months').endOf('month').add(1, "day").unix();
dataBody.endTime = (0, _moment2.default)().subtract(1, "year").endOf('years').unix();
}
return dataBody;
case 'last_year':
dataBody.startTime = dateRange.lastYear[0].unix();
dataBody.endTime = dateRange.lastYear[1].unix();
return dataBody;
case 'last_2_year':
dataBody.startTime = dateRange.last2Year[0].unix();
dataBody.endTime = dateRange.last2Year[1].unix();
return dataBody;
case 'today':
dataBody.startTime = dateRange.today[0].unix();
dataBody.endTime = dateRange.today[1].unix();
return dataBody;
case 'yesterday':
dataBody.startTime = dateRange.yesterday[0].unix();
dataBody.endTime = dateRange.yesterday[1].unix();
return dataBody;
default:
return dataBody;
}
};
exports.default = {
dateRangeQuickSelection: dateRangeQuickSelection
};