UNPKG

3.88 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4exports.default = undefined;
5
6var _extends2 = require('babel-runtime/helpers/extends');
7
8var _extends3 = _interopRequireDefault(_extends2);
9
10var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
11
12var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
13
14var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
15
16var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
17
18var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
19
20var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
21
22var _inherits2 = require('babel-runtime/helpers/inherits');
23
24var _inherits3 = _interopRequireDefault(_inherits2);
25
26var _class, _temp;
27
28var _react = require('react');
29
30var _react2 = _interopRequireDefault(_react);
31
32var _reactDom = require('react-dom');
33
34var _propTypes = require('prop-types');
35
36var _propTypes2 = _interopRequireDefault(_propTypes);
37
38var _header = require('../base/header');
39
40var _header2 = _interopRequireDefault(_header);
41
42function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
43
44/* eslint-disable react/prefer-stateless-function */
45var FixedHeader = (_temp = _class = function (_React$Component) {
46 (0, _inherits3.default)(FixedHeader, _React$Component);
47
48 function FixedHeader() {
49 (0, _classCallCheck3.default)(this, FixedHeader);
50 return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments));
51 }
52
53 FixedHeader.prototype.componentDidMount = function componentDidMount() {
54 this.context.getNode('header', (0, _reactDom.findDOMNode)(this));
55 };
56
57 // 这里的 style={{overflow: 'unset'}} 可以删掉,只是为了解决用户js升级但是样式没升级的情况
58 // 这里的 style={{position: 'absolute', right: 0}} 也可以删掉,是为了兼容用户js升级但是样式没升级的情况
59
60
61 FixedHeader.prototype.render = function render() {
62 var _props = this.props,
63 prefix = _props.prefix,
64 className = _props.className,
65 colGroup = _props.colGroup,
66 tableWidth = _props.tableWidth,
67 others = (0, _objectWithoutProperties3.default)(_props, ['prefix', 'className', 'colGroup', 'tableWidth']);
68 var _context = this.context,
69 onFixedScrollSync = _context.onFixedScrollSync,
70 lockType = _context.lockType;
71
72
73 return _react2.default.createElement(
74 'div',
75 { className: className, onScroll: onFixedScrollSync },
76 _react2.default.createElement(
77 'div',
78 { className: prefix + 'table-header-inner', style: { overflow: 'unset' } },
79 _react2.default.createElement(
80 'table',
81 { style: { width: tableWidth } },
82 colGroup,
83 _react2.default.createElement(_header2.default, (0, _extends3.default)({}, others, { prefix: prefix }))
84 )
85 ),
86 !lockType && _react2.default.createElement('div', { className: prefix + 'table-header-fixer', style: { position: 'absolute', right: 0 } })
87 );
88 };
89
90 return FixedHeader;
91}(_react2.default.Component), _class.propTypes = {
92 children: _propTypes2.default.any,
93 prefix: _propTypes2.default.string,
94 className: _propTypes2.default.string,
95 colGroup: _propTypes2.default.any,
96 tableWidth: _propTypes2.default.number
97}, _class.contextTypes = {
98 getNode: _propTypes2.default.func,
99 onFixedScrollSync: _propTypes2.default.func,
100 lockType: _propTypes2.default.oneOf(['left', 'right'])
101}, _temp);
102FixedHeader.displayName = 'FixedHeader';
103exports.default = FixedHeader;
104module.exports = exports['default'];
\No newline at end of file