qt-public-ui
Version:
新设计规范下业务组件库
123 lines (121 loc) • 5.83 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.timeUnitMapping = exports.getStaticDate = exports.getShortcutText = exports.getRelatedDateValue = exports.getNewsDateRange = exports.getDefaultTabs = exports.getDateFromProps = exports.getCutomDay = exports.getCustomTips = exports.DATE_TYPE = exports.DATE_TIME_TYPE = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _moment = _interopRequireDefault(require("moment"));
var _constant = require("./constant");
var _utils = require("../utils");
var DATE_TYPE = exports.DATE_TYPE = 'YYYY-MM-DD';
var DATE_TIME_TYPE = exports.DATE_TIME_TYPE = 'YYYY-MM-DD HH:mm';
var timeUnitMapping = exports.timeUnitMapping = {
week: '周',
day: '天',
month: '月'
};
// 获取快捷选择日期的范围
var getNewsDateRange = exports.getNewsDateRange = function getNewsDateRange(relativeDate, unit) {
var numberRelativeDate = Number(relativeDate);
if (numberRelativeDate === 0 && unit === 'day') {
// 今天特殊处理
return [(0, _moment["default"])().startOf('d'), (0, _moment["default"])().endOf('d')];
}
switch (unit) {
case 'day':
return [(0, _moment["default"])().subtract(numberRelativeDate, 'd').startOf('d'), (0, _moment["default"])().subtract(1, 'd').endOf('d')];
case 'week':
return [(0, _moment["default"])().isoWeekday(-numberRelativeDate * 7 + 1).startOf('d'), (0, _moment["default"])().isoWeekday(0).endOf('d')];
case 'month':
return [(0, _moment["default"])().set('month', (0, _moment["default"])().get('month') - numberRelativeDate).set('date', 1).startOf('d'), (0, _moment["default"])().set('date', 1).subtract(1, 'd').endOf('d')];
}
};
var getDefaultTabs = exports.getDefaultTabs = function getDefaultTabs() {
var i18n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _utils.i18n;
var dateTypeList = arguments.length > 1 ? arguments[1] : undefined;
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;
};
var getShortcutText = exports.getShortcutText = function getShortcutText(shortcut) {
var i18n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _utils.i18n;
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('_'),
_shortcut$split$1$spl2 = (0, _slicedToArray2["default"])(_shortcut$split$1$spl, 2),
offset = _shortcut$split$1$spl2[0],
unit = _shortcut$split$1$spl2[1];
return i18n.get("\u8FC7\u53BB{offset}".concat(unit === 'month' ? '个月' : timeUnitMapping[unit]), {
offset: offset
});
}
};
var getRelatedDateValue = exports.getRelatedDateValue = function getRelatedDateValue(newRelatedDate) {
var _newRelatedDate$split = newRelatedDate.split('recent_')[1].split('_'),
_newRelatedDate$split2 = (0, _slicedToArray2["default"])(_newRelatedDate$split, 2),
offset = _newRelatedDate$split2[0],
unit = _newRelatedDate$split2[1];
return getNewsDateRange(Number(offset), unit);
};
var getCutomDay = exports.getCutomDay = function getCutomDay(relatedDate) {
if (relatedDate && relatedDate.indexOf('custom_recent_') !== -1) {
return relatedDate.split('custom_recent_').join('').split('_');
} else {
return _constant.DEFAULT_CUSTOM;
}
};
var getStaticDate = exports.getStaticDate = function getStaticDate(dateConfig) {
var _dateConfig$fromDate = dateConfig.fromDate,
fromDate = _dateConfig$fromDate === void 0 ? _constant.DEFAULT_STATIC_DATE[0] : _dateConfig$fromDate,
_dateConfig$toDate = dateConfig.toDate,
toDate = _dateConfig$toDate === void 0 ? _constant.DEFAULT_STATIC_DATE[1] : _dateConfig$toDate;
return [(0, _moment["default"])(fromDate), (0, _moment["default"])(toDate)];
};
var getDateFromProps = exports.getDateFromProps = function getDateFromProps() {
var dateConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var defaultDateType = arguments.length > 1 ? arguments[1] : undefined;
var _dateConfig$dateType = dateConfig.dateType,
dateType = _dateConfig$dateType === void 0 ? defaultDateType : _dateConfig$dateType;
if (dateType === 'static') {
return getStaticDate(dateConfig);
} else if (dateType === 'dynamic') {
var _dateConfig$relatedDa = dateConfig.relatedDate,
newRelatedDate = _dateConfig$relatedDa === void 0 ? _constant.DEFAULT_DYNAMIC_DATE : _dateConfig$relatedDa;
return getRelatedDateValue(newRelatedDate);
}
};
var getCustomTips = exports.getCustomTips = function getCustomTips(dateType, relatedDate) {
var i18n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _utils.i18n;
if (dateType === 'static') {
return '';
} else if (relatedDate === 'recent_0_day') {
return "".concat(i18n.get('今天'), " \uFF5C");
} else if (relatedDate) {
var _relatedDate$split$1$ = relatedDate.split('recent_')[1].split('_'),
_relatedDate$split$1$2 = (0, _slicedToArray2["default"])(_relatedDate$split$1$, 2),
offset = _relatedDate$split$1$2[0],
unit = _relatedDate$split$1$2[1];
return "".concat(i18n.get("\u8FC7\u53BB{offset}".concat(unit === 'month' ? '个月' : timeUnitMapping[unit]), {
offset: offset
}), " \uFF5C");
}
};