wiz-frameworks
Version:
wizlong react framework
116 lines (107 loc) • 3.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
/**
* author:davy_mll
* date:2019-5-7
* 处理表头拼接
* keys 是处理数据的key 默认是:‘key’,'name','list'
*/
var handleTabelHeader = exports.handleTabelHeader = function handleTabelHeader() {
var headList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { key: 'key', name: 'name', list: 'list' };
var data = [];
if (headList && headList.length > 0) {
headList.forEach(function (e) {
data.push(_handleOuterLayer(e, keys));
});
}
return data;
};
var _handleOuterLayer = function _handleOuterLayer(e, keys) {
var data = {
title: e[keys['name']],
name: e[keys['key']],
formItem: {}
};
if (e.type) {
data.formItem['type'] = e.type;
}
if (e.width && e.width > 0) {
data['tableItem'] = {
width: e.width
};
}
if (e[keys['list']] && e[keys['list']].length > 0) {
var chlidren = [];
e[keys['list']].forEach(function (children) {
chlidren.push(_handleChildren(children, keys));
});
data['tableItem']['children'] = chlidren;
}
return data;
};
var _handleChildren = function _handleChildren(e, keys) {
var data = {
dataIndex: e[keys['key']],
key: e[keys['key']],
title: e[keys['name']],
width: e.width ? e.width : 60
};
if (e[keys['list']] && e[keys['list']].length > 0) {
var chlidren = [];
e[keys['list']].forEach(function (_e) {
chlidren.push(_handleChildren(_e, keys));
});
data['children'] = chlidren;
}
return data;
};
var handleExportHeader = exports.handleExportHeader = function handleExportHeader() {
var headList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { key: 'key', name: 'name', list: 'list' };
var children = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var data = [];
if (!children) {
data.push({
headerName: '',
width: 30,
field: 'rowIndex',
hidden: true,
suppressMovable: true,
cellStyle: {
textAlign: 'center',
padding: '5px 0',
color: '#595959',
backgroundColor: '#f0f0f0',
display: 'inline-flex',
alignItems: 'center',
justifyContent: 'center',
fontWeight: '500',
boxShadow: '0 2px 0px 0 rgba(0,0,0,0.15)'
}
});
}
if (headList && headList.length > 0) {
headList.forEach(function (e) {
if (e.type && e.type === 'hidden') {
return;
}
data.push(_handleExportChildren(e, keys));
});
}
return data;
};
var _handleExportChildren = function _handleExportChildren(e, keys) {
var data = {
headerName: e[keys['name']]
};
if (e[keys['list']] && e[keys['list']].length > 0) {
data['children'] = handleExportHeader(e[keys['list']], keys, true);
} else {
data['field'] = e[keys['key']];
data['width'] = e.width;
}
return data;
};