UNPKG

@arco-design/web-react

Version:

Arco Design React UI Library.

109 lines (108 loc) 3.98 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFormatByIndex = exports.getLocaleDayjsValue = exports.getDefaultWeekStart = exports.isDisabledDate = exports.getAvailableDayjsLength = exports.isTimeArrayChange = void 0; var dayjs_1 = __importDefault(require("dayjs")); var is_1 = require("../_util/is"); var dayjs_2 = require("../_util/dayjs"); function getFormat(time) { return (0, is_1.isDayjs)(time) && time.format('HH:mm:ss'); } function isTimeArrayChange(prevTime, nextTime) { return (getFormat(prevTime[0]) !== getFormat(nextTime[0]) || getFormat(prevTime[1]) !== getFormat(nextTime[1])); } exports.isTimeArrayChange = isTimeArrayChange; function getAvailableDayjsLength(value) { if (!value) { return 0; } if ((0, is_1.isArray)(value)) { if ((0, is_1.isDayjs)(value[0]) && (0, is_1.isDayjs)(value[1])) { return 2; } if (!(0, is_1.isDayjs)(value[0]) && !(0, is_1.isDayjs)(value[1])) { return 0; } return 1; } return 0; } exports.getAvailableDayjsLength = getAvailableDayjsLength; // https://github.com/react-component/picker/blob/master/src/utils/dateUtil.ts#L234 function isDisabledDate(cellDate, disabledDate, mode) { if (typeof disabledDate !== 'function') { return false; } // Whether cellDate is disabled in range var getDisabledFromRange = function (currentMode, start, end) { var current = start; while (current <= end) { var date = void 0; switch (currentMode) { case 'date': { date = dayjs_2.methods.set(cellDate, 'date', current); if (!disabledDate(date)) { return false; } break; } case 'month': { date = dayjs_2.methods.set(cellDate, 'month', current); if (!isDisabledDate(date, disabledDate, 'month')) { return false; } break; } case 'year': { date = dayjs_2.methods.set(cellDate, 'year', current); if (!isDisabledDate(date, disabledDate, 'year')) { return false; } break; } default: break; } current += 1; } return true; }; switch (mode) { case 'date': case 'week': { return disabledDate(cellDate); } case 'month': { var startDate = 1; var endDate = cellDate.endOf('month').get('date'); return getDisabledFromRange('date', startDate, endDate); } case 'quarter': { var startMonth = Math.floor(cellDate.get('month') / 3) * 3; var endMonth = startMonth + 2; return getDisabledFromRange('month', startMonth, endMonth); } case 'year': { return getDisabledFromRange('month', 0, 11); } default: return false; } } exports.isDisabledDate = isDisabledDate; function getDefaultWeekStart(dayjsLocale) { var _a, _b; return ((_b = (_a = dayjs_1.default.Ls) === null || _a === void 0 ? void 0 : _a[dayjsLocale]) === null || _b === void 0 ? void 0 : _b.weekStart) || 0; } exports.getDefaultWeekStart = getDefaultWeekStart; function getLocaleDayjsValue(date, dayjsLocale) { return date ? date.locale(dayjsLocale) : date; } exports.getLocaleDayjsValue = getLocaleDayjsValue; function getFormatByIndex(format, index) { return (0, is_1.isArray)(format) ? format[index] : format; } exports.getFormatByIndex = getFormatByIndex;