UNPKG

qt-public-ui

Version:

新设计规范下业务组件库

103 lines 2.97 kB
import _extends from "@babel/runtime/helpers/esm/extends"; /* eslint-disable no-param-reassign */ import { Form } from 'antd'; var isField = function isField(obj) { if (!(obj instanceof Object)) return false; return Object.keys(obj).length === 1 && 'name' in obj || 'value' in obj; }; var smooth = function smooth(target, source, defaultValue) { var _target = [].concat(target); if (target.length > source.length) { return _target.slice(0, source.length); } else if (target.length === source.length) { return _target; } else { var diff = source.length - target.length; var diffEle = new Array(diff).fill(defaultValue); _target.push.apply(_target, diffEle); return _target; } }; export var mapPropsToFields = function mapPropsToFields(value) { return value.reduce(function (flds, val, index) { var keys = Object.keys(val); keys.forEach(function (key) { var _key = index + "." + key; var _field = isField(val[key]) ? val[key] : { value: val[key] }; flds[_key] = Form.createFormField(_field); }); return flds; }, {}); }; export var toValue = function toValue(field) { if (field === void 0) { field = {}; } return Object.keys(field).reduce(function (result, key) { var prop = field[key]; if (isField(prop)) { result[key] = field[key].value; } else { result[key] = prop; } return result; }, {}); }; export var fields2Array = function fields2Array(fields) { var allKeys = Object.keys(fields).sort(function (a, b) { return Number(a) - Number(b); }); var value = []; allKeys.forEach(function (k) { var field = fields[k]; var keys = Object.keys(field); var _field = {}; keys.forEach(function (key) { delete field[key].name; _field[key] = field[key]; }); value.push(_field); }); return value; }; export var formatFields = function formatFields(fields) { return fields.map(function (field) { var keys = Object.keys(field); var _field = {}; keys.forEach(function (key) { _field[key] = isField(field[key]) ? field[key].value : field[key]; }); return _field; }); }; export var mergeValue = function mergeValue(fields, value, initialRow) { if (initialRow === void 0) { initialRow = {}; } if (!fields) return []; var _fields = smooth(fields, value, initialRow); return _fields.map(function (field, index) { var keys = Object.keys(field); var _field = {}; if (keys.length > 0) { keys.forEach(function (key) { if (isField(field[key])) { _field[key] = _extends({}, field[key], { value: value[index][key] }); } else { _field[key] = value[index][key]; } }); } else { _field = value[index]; } return _field; }); }; export var values2array = function values2array(values) { values.length = Object.keys(values).length; return Array.from(values); };