UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

159 lines (130 loc) 4.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTodayTime = getTodayTime; exports.getTitleString = getTitleString; exports.getTodayTimeStr = getTodayTimeStr; exports.getMonthName = getMonthName; exports.syncTime = syncTime; exports.getTimeConfig = getTimeConfig; exports.isTimeValidByConfig = isTimeValidByConfig; exports.isTimeValid = isTimeValid; exports.isAllowedDate = isAllowedDate; exports.formatDate = formatDate; exports.getMomentObjectIfValid = void 0; var _moment = _interopRequireDefault(require("moment")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var defaultDisabledTime = { disabledHours: function disabledHours() { return []; }, disabledMinutes: function disabledMinutes() { return []; }, disabledSeconds: function disabledSeconds() { return []; } }; function getTodayTime(value) { var today = (0, _moment.default)(); today.locale(value.locale()).utcOffset(value.utcOffset()); return today; } function getTitleString(value) { return value.format('LL'); } function getTodayTimeStr(value) { var today = getTodayTime(value); return getTitleString(today); } function getMonthName(month) { var locale = month.locale(); var localeData = month === null || month === void 0 ? void 0 : month.localeData(); return localeData[locale === 'zh-cn' ? 'months' : 'monthsShort'](month); } function syncTime(from, to) { if (!_moment.default.isMoment(from) || !_moment.default.isMoment(to)) { return; } to.hour(from.hour()); to.minute(from.minute()); to.second(from.second()); to.millisecond(from.millisecond()); } function getTimeConfig(value, disabledTime) { var disabledTimeConfig = disabledTime ? disabledTime(value) : {}; disabledTimeConfig = _extends(_extends({}, defaultDisabledTime), disabledTimeConfig); return disabledTimeConfig; } function isTimeValidByConfig(value, disabledTimeConfig) { var invalidTime = false; if (value) { var hour = value.hour(); var minutes = value.minute(); var seconds = value.second(); var disabledHours = disabledTimeConfig.disabledHours(); if (!disabledHours.includes(hour)) { var disabledMinutes = disabledTimeConfig.disabledMinutes(hour); if (!disabledMinutes.includes(minutes)) { var disabledSeconds = disabledTimeConfig.disabledSeconds(hour, minutes); invalidTime = disabledSeconds.includes(seconds); } else { invalidTime = true; } } else { invalidTime = true; } } return !invalidTime; } function isTimeValid(value, disabledTime) { var disabledTimeConfig = getTimeConfig(value, disabledTime); return isTimeValidByConfig(value, disabledTimeConfig); } function isAllowedDate(value, disabledDate, disabledTime) { if (disabledDate) { if (disabledDate(value)) { return false; } } if (disabledTime) { if (!isTimeValid(value, disabledTime)) { return false; } } return true; } function formatDate(value, format) { if (!value) { return ''; } if (Array.isArray(format)) { format = format[0]; } if (typeof format === 'function') { var result = format(value); if (typeof result === 'string') { return result; } else { throw new TypeError('The function of format does not return a string'); } } return value.format(format); } var getMomentObjectIfValid = function getMomentObjectIfValid(date) { if (Array.isArray(date)) { if (date.length > 0 && date.every(function (oneDate) { return _moment.default.isMoment(oneDate) && oneDate.isValid(); })) { return date; } } else { if (_moment.default.isMoment(date) && date.isValid()) { return date; } } return false; }; exports.getMomentObjectIfValid = getMomentObjectIfValid;