choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
60 lines (45 loc) • 1.91 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = rangeOverflow;
var _moment = require("moment");
var _isNil = _interopRequireDefault(require("lodash/isNil"));
var _isEmpty = _interopRequireDefault(require("../../_util/isEmpty"));
var _ValidationResult = _interopRequireDefault(require("../ValidationResult"));
var _localeContext = require("../../locale-context");
var _formatReactTemplate = require("../../formatter/formatReactTemplate");
var _utils = require("../../field/utils");
var isOverflow = function isOverflow(value, max, range) {
if (range) {
return (0, _utils.toRangeValue)(value, range).some(function (item) {
return !(0, _isEmpty["default"])(item) && Number(item) > Number(max);
});
}
return !(0, _isEmpty["default"])(value) && Number(value) > Number(max);
};
function rangeOverflow(value, props) {
var max = props.max,
label = props.label,
format = props.format,
defaultValidationMessages = props.defaultValidationMessages,
range = props.range;
if (!(0, _isNil["default"])(max) && isOverflow(value, max, range)) {
var injectionOptions = {
max: (0, _moment.isMoment)(max) ? max.format(format) : max,
label: label
};
var ruleName = 'rangeOverflow';
var _defaultValidationMes = defaultValidationMessages[ruleName],
validationMessage = _defaultValidationMes === void 0 ? (0, _localeContext.$l)('Validator', 'range_overflow') : _defaultValidationMes;
return new _ValidationResult["default"]({
validationMessage: (0, _formatReactTemplate.formatReactTemplate)(validationMessage, injectionOptions),
injectionOptions: injectionOptions,
value: value,
ruleName: ruleName
});
}
return true;
}
//# sourceMappingURL=rangeOverflow.js.map