UNPKG

nowrapper-json

Version:

nowrapper

216 lines (175 loc) 7.51 kB
var _typeof = require("@babel/runtime/helpers/typeof"); (function (global, factory) { if (typeof define === "function" && define.amd) { define(["exports", "@babel/runtime/helpers/defineProperty", "react"], factory); } else if (typeof exports !== "undefined") { factory(exports, require("@babel/runtime/helpers/defineProperty"), require("react")); } else { var mod = { exports: {} }; factory(mod.exports, global.defineProperty, global.react); global.util = mod.exports; } })((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object" ? globalThis : (typeof self === "undefined" ? "undefined" : _typeof(self)) === "object" ? self : this, function (_exports, _defineProperty2, _react) { "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(_exports, "__esModule", { value: true }); _exports.formatValue = formatValue; _exports.formatArray = formatArray; _exports.formatBoolValue = formatBoolValue; _exports.formatArrayNumber = formatArrayNumber; _exports.getValueProps = getValueProps; _exports.formatDate = formatDate; _exports.log = log; _exports.getCleanProps = getCleanProps; _exports.formatNumber = formatNumber; _exports.transferNumber = transferNumber; _exports.insetify = _exports.renderOption = _exports.renderValue = _exports.noop = void 0; _defineProperty2 = _interopRequireDefault(_defineProperty2); _react = _interopRequireDefault(_react); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var noop = function noop(v) { return v; }; _exports.noop = noop; var isEmpty = function isEmpty(value) { return [undefined, null].indexOf(value) !== -1; }; var inpuNumberReg = /(\-?\d+\.\d+)|(\-?\d+)|Infinity/; var renderValue = function renderValue(value) { var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var _opts$format = opts.format, format = _opts$format === void 0 ? noop : _opts$format; var hasDefaultValue = "defaultValue" in opts; var defaultEmptyValue = hasDefaultValue ? opts.defaultValue : null; if (isEmpty(value)) return defaultEmptyValue; // 空值直接返回 if (Array.isArray(value)) { // 数组需要判断版本号返回 var arrValue = value.map(function (valItem, idx) { return _react["default"].createElement("span", { key: "".concat(valItem).concat(idx), className: "multi-value-item" }, valItem); }); return _react["default"].createElement("span", { className: "multi-value-item-wrapper" }, arrValue); } var singleFormatValue = format(value); return _react["default"].createElement("span", { className: "multi-value-item" }, singleFormatValue); }; _exports.renderValue = renderValue; var renderOption = function renderOption() { var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; // 处理 var value = formatValue(props.value); // 格式化值 var arrValue = [].concat(value); // 处理多选, 如checkbox if (Array.isArray(props.dataSource) || Array.isArray(props.options)) { // dataSource模式 var dataSource = props.dataSource || props.options; var hitLabel = []; dataSource.forEach(function (item) { if (arrValue.indexOf(item.value) !== -1) { hitLabel.push(item.label); } }); return renderValue(hitLabel); } else if (Array.isArray(props.children)) { // children模式 var _hitLabel = []; props.children.forEach(function (item) { if (item.props && item.props.children && arrValue.indexOf(item.props.value) !== -1) { _hitLabel.push(item.props.children); } }); return renderValue(_hitLabel); } return null; }; _exports.renderOption = renderOption; var insetify = function insetify(props) { var insetProps = {}; var _ref = props || {}, className = _ref.className, inset = _ref.inset; if (inset) insetProps.className = "".concat(className || "", " inset-component"); return insetProps; }; _exports.insetify = insetify; function getCleanProps(props) { var otherProps = _objectSpread({}, props); delete otherProps.status; delete otherProps.value; delete otherProps.inset; delete otherProps.error; return otherProps; } function getValueProps(props) { var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var valueProps = {}; var _opts$keyname = opts.keyname, keyname = _opts$keyname === void 0 ? "value" : _opts$keyname, _opts$format2 = opts.format, format = _opts$format2 === void 0 ? noop : _opts$format2; // @fix var defaultValue = "defaultValue" in opts ? opts.defaultValue : undefined; if ("value" in props) { var propVal = props.value; // null if ([null, undefined].indexOf(propVal) !== -1) { valueProps[keyname] = format(defaultValue); } else { valueProps[keyname] = format(propVal); } } return valueProps; } function formatValue(value) { var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var hasDefaultValue = "defaultValue" in opts; var defaultEmptyValue = hasDefaultValue ? opts.defaultValue : null; if (isEmpty(value)) return defaultEmptyValue; return value; // 0 或 []直接返回 } function formatArray(value) { if (isEmpty(value)) return []; return value; } function formatArrayNumber(value) { if (isEmpty(value)) return undefined; return value.map(function (item) { return formatNumber(item); }); } function formatBoolValue(value) { if (isEmpty(value)) return undefined; if ("".concat(value) === "true") { return true; } else if ("".concat(value) === "false") { return false; } return false; } function formatDate(value) { if (isEmpty(value)) return undefined; if (Next && Next.moment) { return Next.moment(value).format("YYYY-MM-DD"); } return value; } function log() {} function formatNumber(value) { if (isEmpty(value)) return undefined; if (["0", 0, ""].indexOf(value) !== -1) return 0; return Number(value); } function transferNumber(value) { if (isEmpty(value)) return undefined; if (value === "") return undefined; return String(value).match(inpuNumberReg) && String(value).match(inpuNumberReg)[0] ? Number(String(value).match(inpuNumberReg)[0]) : undefined; } });