UNPKG

wiz-frameworks

Version:

wizlong react framework

172 lines (157 loc) 4.93 kB
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } import PageHelper from './pageHelper'; import omit from 'object.omit'; import { utils_tool } from '../../tool'; var log = utils_tool.log, isType = utils_tool.isType; /** * 格式化分页数据 * @param {*} data * @param {*} format */ var formatPage = function formatPage(data, format) { var r = PageHelper.create(); for (var key in format) { if (data[format[key]]) { r[key] = data[format[key]]; } } return r; }; /** * 逆向格式化分页数据 * @param {*} data * @param {*} format */ var reverseFormatPage = function reverseFormatPage(data, format) { var r = {}; for (var key in data) { var e = format[key]; if (e) { r[e] = data[key]; } else { r[key] = data[key]; } } if (data['filters']) { r = _extends({}, r, data['filters']); } r = omit(r, ['list', 'headList', 'filters', 'records', 'pages', 'reasonable', 'total', 'orders']); return r; }; /** * 构造columns,处理替换属性 {wizReplaceData:'key',default:{}} * @param {*} columns * @param {*} _datas * @param {*} defaultType */ var _buildColumns = function _buildColumns(columns, _datas) { var defaultType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; var data = void 0; if (isType(columns, 'Object')) { data = {}; if (columns['wizReplaceData']) { var d = _datas && _datas[columns['wizReplaceData']]; if (d) { if (d['@isDefault'] === 'Yes') { data = columns['defaultType'] ? columns['defaultType'] : []; } else { data = d['data'] ? d['data'] : []; } } else { data = columns['defaultType'] ? columns['defaultType'] : []; } } else { for (var key in columns) { data[key] = _buildColumns(columns[key], _datas); } } } else if (isType(columns, 'Array')) { data = []; columns.forEach(function (e) { data.push(_buildColumns(e, _datas)); }); } else { data = columns; } return data; }; /** * 构建按钮功能 * @param {*} buttons */ var _buildButtons = function _buildButtons(buttons, typeMethod) { if (isType(buttons, 'Array')) { var r = []; buttons.forEach(function (btn) { r.push(btn, typeMethod); }); } else if (isType(buttons, 'Object')) { return _buildBtn(buttons); } }; var _buildBtn = function _buildBtn(btn, typeMethod) { if (btn && isType(btn, 'Object')) { var onClick = btn['onClick']; if (isType(onClick, 'Object')) { var type = onClick.type, other = _objectWithoutProperties(onClick, ['type']); if (type) { typeMethod && typeMethod(type, other); } else { log.error('wizTabList: _buildBtn 自定义btn需要传入type'); } } else { return btn; } } else { log.error('wizTabList: _buildBtn 按钮参数必须是一个对象'); return null; } }; /** * 构建查看的参数 * @param {*} obj * @param {*} typeArr */ var _buildLookModalProps = function _buildLookModalProps(modalFrom, _this) { //按钮 delete modalFrom['onCancel']; modalFrom['onSubmit'] = function () { _this.setState({ record: null, visible: false, look: false }); }; modalFrom['_onCancel'] = function () { _this.setState({ record: null, visible: false, look: false }); }; //from禁用 if (modalFrom['columns'] && modalFrom['columns'].length > 0) { modalFrom['columns'].forEach(function (val) { if (val && val['formItem']) { val['formItem']['disabled'] = true; } }); } return modalFrom; }; /** * 格式化删除的参数 格式为 {ids:[ ... ]} */ var _formatDeleteRecord = function _formatDeleteRecord(arr) { var ids = []; arr.forEach(function (e) { if (e['rowKey']) { ids.push(e['rowKey']); } }); return { ids: ids }; }; export { formatPage, reverseFormatPage, _buildColumns, _buildButtons, _buildLookModalProps, _formatDeleteRecord };