@alifd/meet-react
Version:
Fusion Mobile React UI System Component
57 lines • 1.53 kB
JavaScript
import dayjs from 'dayjs';
import { range } from '../utils';
export 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);
}
export function rangeOptions(min, max, suffix) {
return range(min, max + 1, 1).map(function (it) {
return {
label: "".concat(it).concat(suffix || ''),
value: it
};
});
}
export function rangeMonthOptions(start, end, suffix) {
start = dayjs(start);
end = dayjs(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 = +dayjs(startOfMonth).format('M');
ret.push({
label: "".concat(m).concat(suffix || ''),
value: m
});
startOfMonth = dayjs(startOfMonth).add(1, 'month');
} while (startOfMonth.isBefore(endOfMonth) && ret.length < 12);
}
return ret;
}
export function resetMonth(d) {
d.setDate(1);
d.setMonth(0);
}
export function resetTime(d) {
d.setHours(0);
d.setMinutes(0);
d.setSeconds(0);
d.setMilliseconds(0);
}
export function getFormatType(format) {
var unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 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';
}