UNPKG

1.59 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _omit2 = require('lodash/omit');
8
9var _omit3 = _interopRequireDefault(_omit2);
10
11var _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; };
12
13var _countRowSpan = require('./count-row-span');
14
15var _countRowSpan2 = _interopRequireDefault(_countRowSpan);
16
17function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19function resolveHeaderRows(_ref) {
20 var columns = _ref.columns,
21 _ref$childrenField = _ref.childrenField,
22 childrenField = _ref$childrenField === undefined ? 'children' : _ref$childrenField;
23
24 var resolvedChildren = [];
25
26 var ret = columns.map(function (column) {
27 var children = column[childrenField];
28 var col = (0, _omit3.default)(column, [childrenField]);
29
30 if (children && children.length) {
31 resolvedChildren = resolvedChildren.concat(resolveHeaderRows({
32 columns: children,
33 childrenField: childrenField
34 })[0]);
35
36 return _extends({}, col, {
37 props: _extends({
38 colSpan: children.length
39 }, col.props)
40 });
41 }
42
43 return _extends({}, col, {
44 props: _extends({
45 rowSpan: (0, _countRowSpan2.default)(columns)
46 }, col.props)
47 });
48 });
49
50 return resolvedChildren.length ? [ret].concat([resolvedChildren]) : [ret];
51}
52
53exports.default = resolveHeaderRows;
\No newline at end of file