UNPKG

choerodon-ui

Version:

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

82 lines (62 loc) 2.47 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = rangeUnderflow; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _moment = require("moment"); var _isNil = _interopRequireDefault(require("lodash/isNil")); var _bignumber = require("bignumber.js"); var _utils = require("../../utils"); var _ValidationResult = _interopRequireDefault(require("../ValidationResult")); var _localeContext = require("../../locale-context"); var isUnderflow = function isUnderflow(value, min, range, isBigNumber) { if (isBigNumber) { if (range) { return (0, _utils.toRangeValue)(value, range).some(function (item) { return !(0, _utils.isEmpty)(item) && new _bignumber.BigNumber(item).isLessThan(min); }); } return new _bignumber.BigNumber(value).isLessThan(min); } if (range) { return (0, _utils.toRangeValue)(value, range).some(function (item) { return !(0, _utils.isEmpty)(item) && Number(item) < Number(min); }); } return Number(value) < Number(min); }; function rangeUnderflow(value, validatorBaseProps, getProp) { if (!(0, _utils.isEmpty)(value)) { var min = getProp('min'); if (!(0, _isNil["default"])(min)) { var range = getProp('range'); var stringMode = getProp('stringMode'); if (isUnderflow(value, min, range, stringMode)) { var format = getProp('format'); var label = getProp('label'); var injectionOptions = { min: (0, _moment.isMoment)(min) ? min.format(format) : min, label: label }; var ruleName = 'rangeUnderflow'; var _ref = getProp('defaultValidationMessages') || {}, _ref$ruleName = _ref[ruleName], validationMessage = _ref$ruleName === void 0 ? (0, _localeContext.$l)('Validator', 'range_underflow') : _ref$ruleName; return new _ValidationResult["default"]({ validationProps: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, validatorBaseProps), {}, { min: min, range: range }), validationMessage: validationMessage, injectionOptions: injectionOptions, value: value, ruleName: ruleName }); } } } return true; } //# sourceMappingURL=rangeUnderflow.js.map