qt-public-ui
Version:
新设计规范下业务组件库
108 lines (107 loc) • 4.35 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.values2array = exports.toValue = exports.mergeValue = exports.mapPropsToFields = exports.formatFields = exports.fields2Array = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _antd = require("antd");
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable no-param-reassign */
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 = (0, _toConsumableArray2["default"])(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;
}
};
var mapPropsToFields = exports.mapPropsToFields = function mapPropsToFields(value) {
return value.reduce(function (flds, val, index) {
var keys = Object.keys(val);
keys.forEach(function (key) {
var _key = "".concat(index, ".").concat(key);
var _field = isField(val[key]) ? val[key] : {
value: val[key]
};
flds[_key] = _antd.Form.createFormField(_field);
});
return flds;
}, {});
};
var toValue = exports.toValue = function toValue() {
var field = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
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;
}, {});
};
var fields2Array = exports.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;
};
var formatFields = exports.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;
});
};
var mergeValue = exports.mergeValue = function mergeValue(fields, value) {
var initialRow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
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] = _objectSpread(_objectSpread({}, field[key]), {}, {
value: value[index][key]
});
} else {
_field[key] = value[index][key];
}
});
} else {
_field = value[index];
}
return _field;
});
};
var values2array = exports.values2array = function values2array(values) {
values.length = Object.keys(values).length;
return Array.from(values);
};