UNPKG

jc-biz-components

Version:

jc component library based on Antd

156 lines (125 loc) 4.6 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _table = require('antd/lib/table'); var _table2 = _interopRequireDefault(_table); var _alert = require('antd/lib/alert'); var _alert2 = _interopRequireDefault(_alert); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); require('antd/lib/table/style'); require('antd/lib/alert/style'); var _react = require('react'); var _react2 = _interopRequireDefault(_react); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } // import styles from './index.less' var StandardTable = function (_PureComponent) { (0, _inherits3['default'])(StandardTable, _PureComponent); function StandardTable(props) { (0, _classCallCheck3['default'])(this, StandardTable); var _this = (0, _possibleConstructorReturn3['default'])(this, (StandardTable.__proto__ || Object.getPrototypeOf(StandardTable)).call(this, props)); _this.handleRowSelectChange = function (selectedRowKeys, selectedRows) { if (_this.props.onSelectRow) { _this.props.onSelectRow(selectedRows, selectedRowKeys); } _this.setState({ selectedRowKeys: selectedRowKeys }); }; _this.handleTableChange = function (pagination, filters, sorter) { _this.props.onChange(pagination, filters, sorter); }; _this.cleanSelectedKeys = function () { _this.handleRowSelectChange([], []); }; _this.state = { selectedRowKeys: [] }; return _this; } (0, _createClass3['default'])(StandardTable, [{ key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextProps) { // clean state if (nextProps.selectedRows.length === 0) { this.setState({ selectedRowKeys: [] }); } } }, { key: 'render', value: function render() { var selectedRowKeys = this.state.selectedRowKeys; var _props = this.props, _props$data = _props.data, list = _props$data.list, pagination = _props$data.pagination, columns = _props.columns, rowKey = _props.rowKey, scroll = _props.scroll; var rowSelection = { selectedRowKeys: selectedRowKeys, onChange: this.handleRowSelectChange, getCheckboxProps: function getCheckboxProps(record) { return { disabled: record.disabled }; } }; return _react2['default'].createElement( 'div', { className: this.props.prefixCls }, _react2['default'].createElement( 'div', { className: this.props.prefixCls + '-alert' }, _react2['default'].createElement(_alert2['default'], { message: _react2['default'].createElement( 'span', null, '\u5DF2\u9009\u62E9 ', _react2['default'].createElement( 'a', { style: { fontWeight: 600 } }, selectedRowKeys.length ), ' \u9879\xA0\xA0', _react2['default'].createElement( 'a', { onClick: this.cleanSelectedKeys, style: { marginLeft: 12 } }, '\u6E05\u7A7A' ), _react2['default'].createElement( 'span', { style: { marginLeft: 24 } }, this.props.message ) ), type: this.props.message ? 'warning' : 'info', showIcon: true }) ), _react2['default'].createElement(_table2['default'], { scroll: scroll, rowKey: rowKey || 'key', rowSelection: rowSelection, dataSource: list, columns: columns, pagination: pagination // onChange={this.handleTableChange} }) ); } }]); return StandardTable; }(_react.PureComponent); StandardTable.defaultProps = { prefixCls: 'jc-standard-table' }; exports['default'] = StandardTable; module.exports = exports['default'];