1 | 'use strict';
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.default = undefined;
|
5 |
|
6 | var _extends2 = require('babel-runtime/helpers/extends');
|
7 |
|
8 | var _extends3 = _interopRequireDefault(_extends2);
|
9 |
|
10 | var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
11 |
|
12 | var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
13 |
|
14 | var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
15 |
|
16 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
17 |
|
18 | var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
19 |
|
20 | var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
21 |
|
22 | var _inherits2 = require('babel-runtime/helpers/inherits');
|
23 |
|
24 | var _inherits3 = _interopRequireDefault(_inherits2);
|
25 |
|
26 | var _class, _temp;
|
27 |
|
28 | var _react = require('react');
|
29 |
|
30 | var _react2 = _interopRequireDefault(_react);
|
31 |
|
32 | var _propTypes = require('prop-types');
|
33 |
|
34 | var _propTypes2 = _interopRequireDefault(_propTypes);
|
35 |
|
36 | var _classnames2 = require('classnames');
|
37 |
|
38 | var _classnames3 = _interopRequireDefault(_classnames2);
|
39 |
|
40 | var _util = require('../../util');
|
41 |
|
42 | var _row = require('../base/row');
|
43 |
|
44 | var _row2 = _interopRequireDefault(_row);
|
45 |
|
46 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
47 |
|
48 | var GroupListRow = (_temp = _class = function (_Row) {
|
49 | (0, _inherits3.default)(GroupListRow, _Row);
|
50 |
|
51 | function GroupListRow() {
|
52 | (0, _classCallCheck3.default)(this, GroupListRow);
|
53 | return (0, _possibleConstructorReturn3.default)(this, _Row.apply(this, arguments));
|
54 | }
|
55 |
|
56 | GroupListRow.prototype.render = function render() {
|
57 | var _classnames;
|
58 |
|
59 |
|
60 | var _props = this.props,
|
61 | prefix = _props.prefix,
|
62 | className = _props.className,
|
63 | onClick = _props.onClick,
|
64 | onMouseEnter = _props.onMouseEnter,
|
65 | onMouseLeave = _props.onMouseLeave,
|
66 | columns = _props.columns,
|
67 | Cell = _props.Cell,
|
68 | rowIndex = _props.rowIndex,
|
69 | __rowIndex = _props.__rowIndex,
|
70 | record = _props.record,
|
71 | children = _props.children,
|
72 | primaryKey = _props.primaryKey,
|
73 | colGroup = _props.colGroup,
|
74 | cellRef = _props.cellRef,
|
75 | getCellProps = _props.getCellProps,
|
76 | locale = _props.locale,
|
77 | wrapper = _props.wrapper,
|
78 | rtl = _props.rtl,
|
79 | tableEl = _props.tableEl,
|
80 | others = (0, _objectWithoutProperties3.default)(_props, ['prefix', 'className', 'onClick', 'onMouseEnter', 'onMouseLeave', 'columns', 'Cell', 'rowIndex', '__rowIndex', 'record', 'children', 'primaryKey', 'colGroup', 'cellRef', 'getCellProps', 'locale', 'wrapper', 'rtl', 'tableEl']);
|
81 |
|
82 | var cls = (0, _classnames3.default)((_classnames = {}, _classnames[prefix + 'table-row'] = true, _classnames[className] = className, _classnames));
|
83 |
|
84 |
|
85 | this.context.notRenderCellIndex = [];
|
86 |
|
87 | return _react2.default.createElement(
|
88 | 'table',
|
89 | (0, _extends3.default)({
|
90 | className: cls,
|
91 | role: 'row'
|
92 | }, others, {
|
93 | onClick: this.onClick,
|
94 | onMouseEnter: this.onMouseEnter,
|
95 | onMouseLeave: this.onMouseLeave
|
96 | }),
|
97 | colGroup,
|
98 | _react2.default.createElement(
|
99 | 'tbody',
|
100 | null,
|
101 | this.renderContent('header'),
|
102 | this.renderChildren(),
|
103 | this.renderContent('footer')
|
104 | )
|
105 | );
|
106 | };
|
107 |
|
108 | GroupListRow.prototype.isChildrenSelection = function isChildrenSelection() {
|
109 | return this.context.listHeader && this.context.listHeader.hasChildrenSelection;
|
110 | };
|
111 |
|
112 | GroupListRow.prototype.isFirstLevelDataWhenNoChildren = function isFirstLevelDataWhenNoChildren() {
|
113 | return this.context.listHeader && this.context.listHeader.useFirstLevelDataWhenNoChildren;
|
114 | };
|
115 |
|
116 | GroupListRow.prototype.isSelection = function isSelection() {
|
117 | return this.context.listHeader && this.context.listHeader.hasSelection;
|
118 | };
|
119 |
|
120 | GroupListRow.prototype.renderChildren = function renderChildren() {
|
121 | var _this2 = this;
|
122 |
|
123 | var _props2 = this.props,
|
124 | record = _props2.record,
|
125 | primaryKey = _props2.primaryKey;
|
126 | var children = record.children;
|
127 |
|
128 |
|
129 | var toRenderList = children;
|
130 | if (this.isFirstLevelDataWhenNoChildren()) {
|
131 | _util.log.warning('useFirstLevelDataWhenNoChildren is deprecated, change your dataSource structure, make sure there is \'children\' in your dataSource.');
|
132 |
|
133 | toRenderList = children || [record];
|
134 | }
|
135 |
|
136 | if (toRenderList) {
|
137 | return toRenderList.map(function (child, index) {
|
138 | var cells = _this2.renderCells(child, index);
|
139 | if (_this2.isChildrenSelection()) {
|
140 | if (!child[primaryKey]) {
|
141 | _util.log.warning('record.children/recored should contains primaryKey when childrenSelection is true.');
|
142 | }
|
143 | return _react2.default.createElement(
|
144 | 'tr',
|
145 | { key: child[primaryKey] },
|
146 | cells
|
147 | );
|
148 | }
|
149 | if (_this2.context.rowSelection) {
|
150 | cells.shift();
|
151 | cells[0] = cells[0] && _react2.default.cloneElement(cells[0], (0, _extends3.default)({
|
152 | colSpan: 2
|
153 | }, cells[0].props));
|
154 | }
|
155 | return _react2.default.createElement(
|
156 | 'tr',
|
157 | { key: index },
|
158 | cells
|
159 | );
|
160 | });
|
161 | }
|
162 | return null;
|
163 | };
|
164 |
|
165 | GroupListRow.prototype.renderContent = function renderContent(type) {
|
166 | var _props3 = this.props,
|
167 | columns = _props3.columns,
|
168 | prefix = _props3.prefix,
|
169 | record = _props3.record,
|
170 | rowIndex = _props3.rowIndex;
|
171 |
|
172 | var cameType = type.charAt(0).toUpperCase() + type.substr(1);
|
173 | var list = this.context['list' + cameType];
|
174 | var listNode = void 0;
|
175 | if (list) {
|
176 | if (_react2.default.isValidElement(list.cell)) {
|
177 | listNode = _react2.default.cloneElement(list.cell, {
|
178 | record: record,
|
179 | index: rowIndex
|
180 | });
|
181 | } else if (typeof list.cell === 'function') {
|
182 | listNode = list.cell(record, rowIndex);
|
183 | }
|
184 | if (listNode) {
|
185 | var cells = this.renderCells(record);
|
186 | if (type === 'header' && this.context.rowSelection && this.isSelection()) {
|
187 | cells = cells.slice(0, 1);
|
188 | cells.push(_react2.default.createElement(
|
189 | 'td',
|
190 | { colSpan: columns.length - 1, key: 'listNode' },
|
191 | _react2.default.createElement(
|
192 | 'div',
|
193 | { className: prefix + 'table-cell-wrapper' },
|
194 | listNode
|
195 | )
|
196 | ));
|
197 | listNode = _react2.default.createElement(
|
198 | 'tr',
|
199 | { className: prefix + 'table-group-' + type },
|
200 | cells
|
201 | );
|
202 | } else {
|
203 | listNode = _react2.default.createElement(
|
204 | 'tr',
|
205 | { className: prefix + 'table-group-' + type },
|
206 | _react2.default.createElement(
|
207 | 'td',
|
208 | { colSpan: columns.length },
|
209 | _react2.default.createElement(
|
210 | 'div',
|
211 | { className: prefix + 'table-cell-wrapper' },
|
212 | listNode
|
213 | )
|
214 | )
|
215 | );
|
216 | }
|
217 | }
|
218 | }
|
219 | return listNode;
|
220 | };
|
221 |
|
222 | return GroupListRow;
|
223 | }(_row2.default), _class.contextTypes = {
|
224 | listHeader: _propTypes2.default.any,
|
225 | listFooter: _propTypes2.default.any,
|
226 | rowSelection: _propTypes2.default.object,
|
227 | notRenderCellIndex: _propTypes2.default.array,
|
228 | lockType: _propTypes2.default.oneOf(['left', 'right'])
|
229 | }, _temp);
|
230 | exports.default = GroupListRow;
|
231 | module.exports = exports.default;
|
232 | module.exports.default = exports.default; |
\ | No newline at end of file |