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 _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
11 |
|
12 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
13 |
|
14 | var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
15 |
|
16 | var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
17 |
|
18 | var _inherits2 = require('babel-runtime/helpers/inherits');
|
19 |
|
20 | var _inherits3 = _interopRequireDefault(_inherits2);
|
21 |
|
22 | var _class, _temp2;
|
23 |
|
24 | var _react = require('react');
|
25 |
|
26 | var _react2 = _interopRequireDefault(_react);
|
27 |
|
28 | var _propTypes = require('prop-types');
|
29 |
|
30 | var _propTypes2 = _interopRequireDefault(_propTypes);
|
31 |
|
32 | var _icon = require('../../icon');
|
33 |
|
34 | var _icon2 = _interopRequireDefault(_icon);
|
35 |
|
36 | var _util = require('../../util');
|
37 |
|
38 | var _cell = require('../base/cell');
|
39 |
|
40 | var _cell2 = _interopRequireDefault(_cell);
|
41 |
|
42 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
43 |
|
44 | var TreeCell = (_temp2 = _class = function (_React$Component) {
|
45 | (0, _inherits3.default)(TreeCell, _React$Component);
|
46 |
|
47 | function TreeCell() {
|
48 | var _temp, _this, _ret;
|
49 |
|
50 | (0, _classCallCheck3.default)(this, TreeCell);
|
51 |
|
52 | for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
53 | args[_key] = arguments[_key];
|
54 | }
|
55 |
|
56 | return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.onTreeNodeClick = function (record, e) {
|
57 | e.stopPropagation();
|
58 | _this.context.onTreeNodeClick(record);
|
59 | }, _this.expandedKeydown = function (record, e) {
|
60 | e.preventDefault();
|
61 | e.stopPropagation();
|
62 |
|
63 | if (e.keyCode === _util.KEYCODE.ENTER) {
|
64 | _this.onTreeNodeClick(record, e);
|
65 | }
|
66 | }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
67 | }
|
68 |
|
69 | TreeCell.prototype.render = function render() {
|
70 | var _this2 = this;
|
71 |
|
72 | var _props = this.props,
|
73 | colIndex = _props.colIndex,
|
74 | record = _props.record,
|
75 | prefix = _props.prefix,
|
76 | primaryKey = _props.primaryKey,
|
77 | locale = _props.locale,
|
78 | rtl = _props.rtl,
|
79 | children = _props.children;
|
80 | var _context = this.context,
|
81 | openRowKeys = _context.openTreeRowKeys,
|
82 | indent = _context.indent,
|
83 | isTree = _context.isTree,
|
84 | rowSelection = _context.rowSelection;
|
85 |
|
86 | var treeArrowNodeIndex = rowSelection ? 1 : 0;
|
87 | var firstCellStyle = void 0,
|
88 | treeArrowNode = void 0;
|
89 | if (colIndex === treeArrowNodeIndex) {
|
90 | var treeArrowType = void 0;
|
91 | if (isTree) {
|
92 | var _firstCellStyle;
|
93 |
|
94 | var paddingType = rtl ? 'paddingRight' : 'paddingLeft';
|
95 | firstCellStyle = (_firstCellStyle = {}, _firstCellStyle[paddingType] = indent * (record.__level + 1), _firstCellStyle);
|
96 | treeArrowNode = _react2.default.createElement(_icon2.default, {
|
97 | size: 'xs',
|
98 | rtl: rtl,
|
99 | className: prefix + 'table-tree-placeholder'
|
100 | });
|
101 | if (record.children && record.children.length) {
|
102 | var hasExpanded = openRowKeys.indexOf(record[primaryKey]) > -1;
|
103 |
|
104 | treeArrowType = hasExpanded ? 'arrow-down' : 'arrow-right';
|
105 |
|
106 | treeArrowNode = _react2.default.createElement(_icon2.default, {
|
107 | className: prefix + 'table-tree-arrow',
|
108 | type: treeArrowType,
|
109 | size: 'xs',
|
110 | rtl: rtl,
|
111 | onClick: function onClick(e) {
|
112 | return _this2.onTreeNodeClick(record, e);
|
113 | },
|
114 | onKeyDown: function onKeyDown(e) {
|
115 | return _this2.expandedKeydown(record, e);
|
116 | },
|
117 | role: 'button',
|
118 | tabIndex: '0',
|
119 | 'aria-expanded': hasExpanded,
|
120 | 'aria-label': hasExpanded ? locale.expanded : locale.folded
|
121 | });
|
122 | }
|
123 | }
|
124 | }
|
125 | return _react2.default.createElement(
|
126 | _cell2.default,
|
127 | (0, _extends3.default)({}, this.props, {
|
128 | innerStyle: firstCellStyle,
|
129 | isIconLeft: !!treeArrowNode
|
130 | }),
|
131 | children,
|
132 | treeArrowNode
|
133 | );
|
134 | };
|
135 |
|
136 | return TreeCell;
|
137 | }(_react2.default.Component), _class.propTypes = (0, _extends3.default)({
|
138 | indent: _propTypes2.default.number,
|
139 | locale: _propTypes2.default.object
|
140 | }, _cell2.default.propTypes), _class.defaultProps = (0, _extends3.default)({}, _cell2.default.defaultProps, {
|
141 | component: 'td',
|
142 | indent: 20
|
143 | }), _class.contextTypes = {
|
144 | openTreeRowKeys: _propTypes2.default.array,
|
145 | indent: _propTypes2.default.number,
|
146 | onTreeNodeClick: _propTypes2.default.func,
|
147 | isTree: _propTypes2.default.bool,
|
148 | rowSelection: _propTypes2.default.object
|
149 | }, _temp2);
|
150 | TreeCell.displayName = 'TreeCell';
|
151 | exports.default = TreeCell;
|
152 | module.exports = exports['default']; |
\ | No newline at end of file |