UNPKG

choerodon-ui

Version:

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

81 lines (62 loc) 2.84 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = stepMismatch; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _moment = require("moment"); var _isEmpty = _interopRequireDefault(require("../../_util/isEmpty")); var _ValidationResult = _interopRequireDefault(require("../ValidationResult")); var _localeContext = require("../../locale-context"); var _utils = require("../../number-field/utils"); var _formatReactTemplate = require("../../formatter/formatReactTemplate"); var _utils2 = require("../../field/utils"); function isStepMismatch(value, step, min, max, range) { if (range) { var nearStepValues; (0, _utils2.toRangeValue)(value, range).every(function (item) { if (!(0, _isEmpty["default"])(item)) { nearStepValues = (0, _utils.getNearStepValues)((0, _moment.isMoment)(item) ? item : Number(item), step, min, max); } return !nearStepValues; }); return nearStepValues; } if (!(0, _isEmpty["default"])(value)) { return (0, _utils.getNearStepValues)((0, _moment.isMoment)(value) ? value : Number(value), step, min, max); } } function stepMismatch(value, props) { var step = props.step, min = props.min, max = props.max, defaultValidationMessages = props.defaultValidationMessages, range = props.range, format = props.format, nonStrictStep = props.nonStrictStep; if (step !== undefined && nonStrictStep === false) { var nearStepValues = isStepMismatch(value, step, min, max, range); if (nearStepValues !== undefined) { var _nearStepValues = (0, _slicedToArray2["default"])(nearStepValues, 2), before = _nearStepValues[0], after = _nearStepValues[1]; var injectionOptions = { 0: (0, _moment.isMoment)(before) ? before.format(format) : before, 1: (0, _moment.isMoment)(after) ? after.format(format) : after }; var ruleName = nearStepValues.length === 2 ? 'stepMismatchBetween' : 'stepMismatch'; var key = nearStepValues.length === 2 ? 'step_mismatch_between' : 'step_mismatch'; var _defaultValidationMes = defaultValidationMessages[ruleName], validationMessage = _defaultValidationMes === void 0 ? (0, _localeContext.$l)('Validator', key) : _defaultValidationMes; return new _ValidationResult["default"]({ validationMessage: (0, _formatReactTemplate.formatReactTemplate)(validationMessage, injectionOptions), injectionOptions: injectionOptions, value: (0, _moment.isMoment)(value) ? value.format(format) : value, ruleName: ruleName }); } } return true; } //# sourceMappingURL=stepMismatch.js.map