wiz-frameworks
Version:
wizlong react framework
172 lines (157 loc) • 4.93 kB
JavaScript
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 };