UNPKG

kits-core

Version:
173 lines (149 loc) 6.45 kB
'use strict'; 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 };