UNPKG

choerodon-ui

Version:

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

90 lines (69 loc) 3.14 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = stepMismatch; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _moment = require("moment"); var _utils = require("../../utils"); var _ValidationResult = _interopRequireDefault(require("../ValidationResult")); var _localeContext = require("../../locale-context"); function isStepMismatch(value, step, min, max, range, isBigNumber) { if (range) { var nearStepValues; (0, _utils.toRangeValue)(value, range).every(function (item) { if (!(0, _utils.isEmpty)(item)) { nearStepValues = (0, _utils.getNearStepValues)((0, _moment.isMoment)(item) ? item : Number(item), step, min, max, isBigNumber); } return !nearStepValues; }); return nearStepValues; } return (0, _utils.getNearStepValues)((0, _moment.isMoment)(value) ? value : Number(value), step, min, max, isBigNumber); } function stepMismatch(value, validatorBaseProps, getProp) { if (!(0, _utils.isEmpty)(value)) { var step = getProp('step'); if (step !== undefined) { var nonStrictStep = getProp('nonStrictStep'); if (nonStrictStep === false) { var min = getProp('min'); var max = getProp('max'); var range = getProp('range'); var stringMode = getProp('stringMode'); var nearStepValues = isStepMismatch(value, step, min, max, range, stringMode); if (nearStepValues !== undefined) { var format = getProp('format'); 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 _ref = getProp('defaultValidationMessages') || {}, _ref$ruleName = _ref[ruleName], validationMessage = _ref$ruleName === void 0 ? (0, _localeContext.$l)('Validator', key) : _ref$ruleName; return new _ValidationResult["default"]({ validationProps: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, validatorBaseProps), {}, { step: step, min: min, max: max, range: range }), validationMessage: validationMessage, injectionOptions: injectionOptions, value: (0, _moment.isMoment)(value) ? value.format(format) : value, ruleName: ruleName }); } } } } return true; } //# sourceMappingURL=stepMismatch.js.map