jc-biz-components
Version:
jc component library based on Antd
156 lines (125 loc) • 4.6 kB
JavaScript
;
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'];