UNPKG

choerodon-ui

Version:

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

190 lines (158 loc) 5.03 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports.argumentContainer = argumentContainer; exports.flattenArray = flattenArray; exports.flattenFields = flattenFields; exports.getErrorStrs = getErrorStrs; exports.getParams = getParams; exports.getValidateTriggers = getValidateTriggers; exports.getValueFromEvent = getValueFromEvent; exports.hasRules = hasRules; exports.identity = identity; exports.isEmptyObject = isEmptyObject; exports.normalizeValidateRules = normalizeValidateRules; exports.startsWith = startsWith; exports.treeTraverse = treeTraverse; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics")); function getDisplayName(WrappedComponent) { return WrappedComponent.displayName || WrappedComponent.name || 'WrappedComponent'; } function argumentContainer(Container, WrappedComponent) { /* eslint no-param-reassign:0 */ Container.displayName = "Form(".concat(getDisplayName(WrappedComponent), ")"); Container.WrappedComponent = WrappedComponent; return (0, _hoistNonReactStatics["default"])(Container, WrappedComponent); } function identity(obj) { return obj; } function flattenArray(arr) { return Array.prototype.concat.apply([], arr); } function treeTraverse() { var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var tree = arguments.length > 1 ? arguments[1] : undefined; var isLeafNode = arguments.length > 2 ? arguments[2] : undefined; var errorMessage = arguments.length > 3 ? arguments[3] : undefined; var callback = arguments.length > 4 ? arguments[4] : undefined; if (isLeafNode(path, tree)) { callback(path, tree); } else if (tree === undefined || tree === null) { return; } else if (Array.isArray(tree)) { tree.forEach(function (subTree, index) { return treeTraverse("".concat(path, "[").concat(index, "]"), subTree, isLeafNode, errorMessage, callback); }); } else { // It's object and not a leaf node if ((0, _typeof2["default"])(tree) !== 'object') { console.error(errorMessage); return; } Object.keys(tree).forEach(function (subTreeKey) { var subTree = tree[subTreeKey]; treeTraverse("".concat(path).concat(path ? '.' : '').concat(subTreeKey), subTree, isLeafNode, errorMessage, callback); }); } } function flattenFields(maybeNestedFields, isLeafNode, errorMessage) { var fields = {}; treeTraverse(undefined, maybeNestedFields, isLeafNode, errorMessage, function (path, node) { fields[path] = node; }); return fields; } function normalizeValidateRules(validate, rules, validateTrigger) { var validateRules = validate.map(function (item) { var newItem = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, item), {}, { trigger: item.trigger || [] }); if (typeof newItem.trigger === 'string') { newItem.trigger = [newItem.trigger]; } return newItem; }); if (rules) { validateRules.push({ trigger: validateTrigger ? [].concat(validateTrigger) : [], rules: rules }); } return validateRules; } function getValidateTriggers(validateRules) { return validateRules.filter(function (item) { return !!item.rules && item.rules.length; }).map(function (item) { return item.trigger; }).reduce(function (pre, curr) { return pre.concat(curr); }, []); } function getValueFromEvent(e) { // To support custom element if (!e || !e.target) { return e; } var target = e.target; return target.type === 'checkbox' ? target.checked : target.value; } function getErrorStrs(errors) { if (errors) { return errors.map(function (e) { if (e && e.message) { return e.message; } return e; }); } return errors; } function getParams(ns, opt, cb) { var names = ns; var options = opt; var callback = cb; if (cb === undefined) { if (typeof names === 'function') { callback = names; options = {}; names = undefined; } else if (Array.isArray(names)) { if (typeof options === 'function') { callback = options; options = {}; } else { options = options || {}; } } else { callback = options; options = names || {}; names = undefined; } } return { names: names, options: options, callback: callback }; } function isEmptyObject(obj) { return Object.keys(obj).length === 0; } function hasRules(validate) { if (validate) { return validate.some(function (item) { return item.rules && item.rules.length; }); } return false; } function startsWith(str, prefix) { return str.lastIndexOf(prefix, 0) === 0; } //# sourceMappingURL=utils.js.map