UNPKG

shineout

Version:

Shein 前端组件库

147 lines (124 loc) 4.44 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _utils = _interopRequireDefault(require("./utils")); var TIME_FORMAT = _utils.default.TIME_FORMAT, compareAsc = _utils.default.compareAsc, format = _utils.default.format; var handleOnChangeParams = function handleOnChangeParams(type) { return function (date, change, blur, isEnd, isQuickSelect) { return [date, change, blur, isEnd, isQuickSelect, type]; }; }; var yearHandleChangeParams = handleOnChangeParams('year'); var monthHandleChangeParams = handleOnChangeParams('month'); var quarterHandleChangeParams = handleOnChangeParams('quarter'); var dayHandleChangeParams = handleOnChangeParams('day'); var weekHandleChangeParams = handleOnChangeParams('week'); var timeHandleChangeParams = handleOnChangeParams('time'); var quickHandleChangeParams = handleOnChangeParams('quick'); function handleTimeDisabled(date, disabledTime, options) { if (typeof disabledTime === 'string') return format(date, TIME_FORMAT, options) === disabledTime; if (typeof disabledTime === 'function') return disabledTime(format(date, TIME_FORMAT, options)); return undefined; } function handleDisabled(params) { var date = params.date, min = params.min, max = params.max, range = params.range, disabled = params.disabled, disabledTime = params.disabledTime, options = params.options, index = params.index, rangeDate = params.rangeDate; var isDisabled; if (disabled && typeof disabled === 'function') isDisabled = disabled(date); if (disabledTime) isDisabled = isDisabled || handleTimeDisabled(date, disabledTime); if (isDisabled) return true; if (!isDisabled && min) { if (compareAsc(date, min) < 0) return true; } if (!isDisabled && max) { if (compareAsc(date, max) > 0) return true; } if (!isDisabled && index === 1 && rangeDate && rangeDate[0]) { if (typeof range === 'number' && _utils.default.compareAsc(date, _utils.default.addSeconds(rangeDate[0], range, options)) > 0) { return true; } } return false; } function judgeTimeByRange(params) { var target = params.target, value = params.value, mode = params.mode, min = params.min, max = params.max, range = params.range, disabled = params.disabled, disabledTime = params.disabledTime, index = params.index, rangeDate = params.rangeDate, options = params.options; var date = new Date(value.getTime()); switch (mode) { case 'H': date = _utils.default.changeDate(date, 'hour', target, options); break; case 'h': if (_utils.default.getDateInfo(date, 'hour', options) >= 12) { date = _utils.default.changeDate(date, 'hour', target + 12, options); break; } date = _utils.default.changeDate(date, 'hour', target, options); break; case 'm': case 'minute': date = _utils.default.changeDate(date, 'minute', target, options); break; case 's': case 'second': date = _utils.default.changeDate(date, 'second', target, options); break; case 'ampm': { var hours = _utils.default.getDateInfo(date, 'hour', options); if (target === 1 && hours < 12) { date = _utils.default.changeDate(date, 'hour', hours + 12, options); } else if (target === 0 && hours >= 12) { date = _utils.default.changeDate(date, 'hour', hours - 12, options); } } break; default: break; } var isDisabled = handleDisabled({ date: date, min: min, max: max, range: range, disabled: disabled, disabledTime: disabledTime, options: options, index: index, rangeDate: rangeDate }); return [isDisabled, date]; } var _default = { handleOnChangeParams: handleOnChangeParams, yearHandleChangeParams: yearHandleChangeParams, monthHandleChangeParams: monthHandleChangeParams, dayHandleChangeParams: dayHandleChangeParams, timeHandleChangeParams: timeHandleChangeParams, quickHandleChangeParams: quickHandleChangeParams, weekHandleChangeParams: weekHandleChangeParams, quarterHandleChangeParams: quarterHandleChangeParams, judgeTimeByRange: judgeTimeByRange, handleTimeDisabled: handleTimeDisabled, handleDisabled: handleDisabled }; exports.default = _default;