UNPKG

qt-public-ui

Version:

新设计规范下业务组件库

120 lines (119 loc) 4.42 kB
import moment from 'moment'; import { DEFAULT_CUSTOM, DEFAULT_DYNAMIC_DATE, DEFAULT_STATIC_DATE } from './constant'; import { i18n as defaultI18n } from '../utils'; export var DATE_TYPE = 'YYYY-MM-DD'; export var DATE_TIME_TYPE = 'YYYY-MM-DD HH:mm'; export var timeUnitMapping = { week: '周', day: '天', month: '月' }; // 获取快捷选择日期的范围 export var getNewsDateRange = function getNewsDateRange(relativeDate, unit) { var numberRelativeDate = Number(relativeDate); if (numberRelativeDate === 0 && unit === 'day') { // 今天特殊处理 return [moment().startOf('d'), moment().endOf('d')]; } switch (unit) { case 'day': return [moment().subtract(numberRelativeDate, 'd').startOf('d'), moment().subtract(1, 'd').endOf('d')]; case 'week': return [moment().isoWeekday(-numberRelativeDate * 7 + 1).startOf('d'), moment().isoWeekday(0).endOf('d')]; case 'month': return [moment().set('month', moment().get('month') - numberRelativeDate).set('date', 1).startOf('d'), moment().set('date', 1).subtract(1, 'd').endOf('d')]; } }; export var getDefaultTabs = function getDefaultTabs(i18n, dateTypeList) { if (i18n === void 0) { i18n = defaultI18n; } var arrTab = [{ tab: i18n.get('相对时段'), key: 'dynamic' }, { tab: i18n.get('固定时段'), key: 'static' }]; if (dateTypeList.length === 1) { return arrTab.filter(function (d) { return d.key === dateTypeList[0]; }); } return arrTab; }; export var getShortcutText = function getShortcutText(shortcut, i18n) { if (i18n === void 0) { i18n = defaultI18n; } var shortcutDicts = { recent_0_day: i18n.get('今天'), recent_1_day: i18n.get('昨天'), recent_1_week: i18n.get('上周'), recent_1_month: i18n.get('上月'), custom_day: i18n.get('自定义') }; if (shortcutDicts[shortcut]) { return shortcutDicts[shortcut]; } else { var _shortcut$split$1$spl = shortcut.split('recent_')[1].split('_'), offset = _shortcut$split$1$spl[0], unit = _shortcut$split$1$spl[1]; return i18n.get("\u8FC7\u53BB{offset}" + (unit === 'month' ? '个月' : timeUnitMapping[unit]), { offset: offset }); } }; export var getRelatedDateValue = function getRelatedDateValue(newRelatedDate) { var _newRelatedDate$split = newRelatedDate.split('recent_')[1].split('_'), offset = _newRelatedDate$split[0], unit = _newRelatedDate$split[1]; return getNewsDateRange(Number(offset), unit); }; export var getCutomDay = function getCutomDay(relatedDate) { if (relatedDate && relatedDate.indexOf('custom_recent_') !== -1) { return relatedDate.split('custom_recent_').join('').split('_'); } else { return DEFAULT_CUSTOM; } }; export var getStaticDate = function getStaticDate(dateConfig) { var _dateConfig$fromDate = dateConfig.fromDate, fromDate = _dateConfig$fromDate === void 0 ? DEFAULT_STATIC_DATE[0] : _dateConfig$fromDate, _dateConfig$toDate = dateConfig.toDate, toDate = _dateConfig$toDate === void 0 ? DEFAULT_STATIC_DATE[1] : _dateConfig$toDate; return [moment(fromDate), moment(toDate)]; }; export var getDateFromProps = function getDateFromProps(dateConfig, defaultDateType) { if (dateConfig === void 0) { dateConfig = {}; } var _dateConfig = dateConfig, _dateConfig$dateType = _dateConfig.dateType, dateType = _dateConfig$dateType === void 0 ? defaultDateType : _dateConfig$dateType; if (dateType === 'static') { return getStaticDate(dateConfig); } else if (dateType === 'dynamic') { var _dateConfig2 = dateConfig, _dateConfig2$relatedD = _dateConfig2.relatedDate, newRelatedDate = _dateConfig2$relatedD === void 0 ? DEFAULT_DYNAMIC_DATE : _dateConfig2$relatedD; return getRelatedDateValue(newRelatedDate); } }; export var getCustomTips = function getCustomTips(dateType, relatedDate, i18n) { if (i18n === void 0) { i18n = defaultI18n; } if (dateType === 'static') { return ''; } else if (relatedDate === 'recent_0_day') { return i18n.get('今天') + " \uFF5C"; } else if (relatedDate) { var _relatedDate$split$1$ = relatedDate.split('recent_')[1].split('_'), offset = _relatedDate$split$1$[0], unit = _relatedDate$split$1$[1]; return i18n.get("\u8FC7\u53BB{offset}" + (unit === 'month' ? '个月' : timeUnitMapping[unit]), { offset: offset }) + " \uFF5C"; } };