@alifd/meet-react
Version:
Fusion Mobile React UI System Component
69 lines (68 loc) • 1.89 kB
JavaScript
;
exports.__esModule = true;
exports.getFormatType = getFormatType;
exports.rangeMonthOptions = rangeMonthOptions;
exports.rangeOptions = rangeOptions;
exports.resetMonth = resetMonth;
exports.resetTime = resetTime;
exports.withTime = withTime;
var _dayjs = _interopRequireDefault(require("dayjs"));
var _utils = require("../utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function withTime(format) {
return /H{1,2}|h{1,2}|m{1,2}|s{1,2}|S{1,3}|Z{1,2}|A|a/.test(format);
}
function rangeOptions(min, max, suffix) {
return (0, _utils.range)(min, max + 1, 1).map(function (it) {
return {
label: "" + it + (suffix || ''),
value: it
};
});
}
function rangeMonthOptions(start, end, suffix) {
start = (0, _dayjs.default)(start);
end = (0, _dayjs.default)(end);
var endOfMonth = end.endOf('month');
var startOfMonth = start.startOf('month');
var ret = rangeOptions(1, 12, suffix);
if (!end.subtract(1, 'year').isAfter(start)) {
ret = [];
do {
var m = +(0, _dayjs.default)(startOfMonth).format('M');
ret.push({
label: "" + m + (suffix || ''),
value: m
});
startOfMonth = (0, _dayjs.default)(startOfMonth).add(1, 'month');
} while (startOfMonth.isBefore(endOfMonth) && ret.length < 12);
}
return ret;
}
function resetMonth(d) {
d.setDate(1);
d.setMonth(0);
}
function resetTime(d) {
d.setHours(0);
d.setMinutes(0);
d.setSeconds(0);
d.setMilliseconds(0);
}
function getFormatType(format, unit) {
if (unit === void 0) {
unit = false;
}
if (format) {
if (/D{1,2}|d{1,4}/.test(format)) {
return unit ? 'd' : 'date';
}
if (/M{1,4}/.test(format)) {
return unit ? 'M' : 'month';
}
if (/YY|YYYY/.test(format)) {
return unit ? 'y' : 'year';
}
}
return unit ? 'd' : 'date';
}