1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _omit2 = require('lodash/omit');
|
8 |
|
9 | var _omit3 = _interopRequireDefault(_omit2);
|
10 |
|
11 | 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; };
|
12 |
|
13 | var _countRowSpan = require('./count-row-span');
|
14 |
|
15 | var _countRowSpan2 = _interopRequireDefault(_countRowSpan);
|
16 |
|
17 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18 |
|
19 | function 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 |
|
53 | exports.default = resolveHeaderRows; |
\ | No newline at end of file |