From 8f028d9dd4d57ec38e64bcfe0d259d1aa45ed31d Mon Sep 17 00:00:00 2001 From: AllenFang Date: Sat, 29 Sep 2018 15:12:27 +0800 Subject: [PATCH] fix #567, add selectRow.hideSelectAll --- .../src/bootstrap-table.js | 1 + .../src/row-selection/selection-header-cell.js | 6 +++++- .../row-selection/selection-header-cell.test.js | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/react-bootstrap-table2/src/bootstrap-table.js b/packages/react-bootstrap-table2/src/bootstrap-table.js index 50ec912..75b7e4f 100644 --- a/packages/react-bootstrap-table2/src/bootstrap-table.js +++ b/packages/react-bootstrap-table2/src/bootstrap-table.js @@ -146,6 +146,7 @@ BootstrapTable.propTypes = { mode: PropTypes.oneOf([Const.ROW_SELECT_SINGLE, Const.ROW_SELECT_MULTIPLE]).isRequired, clickToSelect: PropTypes.bool, clickToEdit: PropTypes.bool, + hideSelectAll: PropTypes.bool, onSelect: PropTypes.func, onSelectAll: PropTypes.func, style: PropTypes.oneOfType([PropTypes.object, PropTypes.func]), diff --git a/packages/react-bootstrap-table2/src/row-selection/selection-header-cell.js b/packages/react-bootstrap-table2/src/row-selection/selection-header-cell.js index 3658e0a..8635bd5 100644 --- a/packages/react-bootstrap-table2/src/row-selection/selection-header-cell.js +++ b/packages/react-bootstrap-table2/src/row-selection/selection-header-cell.js @@ -27,6 +27,7 @@ export default class SelectionHeaderCell extends Component { mode: PropTypes.string.isRequired, checkedStatus: PropTypes.string, onAllRowsSelect: PropTypes.func, + hideSelectAll: PropTypes.bool, selectionHeaderRenderer: PropTypes.func } @@ -63,7 +64,10 @@ export default class SelectionHeaderCell extends Component { CHECKBOX_STATUS_CHECKED, CHECKBOX_STATUS_INDETERMINATE, ROW_SELECT_MULTIPLE } = Const; - const { mode, checkedStatus, selectionHeaderRenderer } = this.props; + const { mode, checkedStatus, selectionHeaderRenderer, hideSelectAll } = this.props; + if (hideSelectAll) { + return ; + } const checked = checkedStatus === CHECKBOX_STATUS_CHECKED; diff --git a/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js b/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js index be9a519..da89009 100644 --- a/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js +++ b/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js @@ -104,6 +104,22 @@ describe('', () => { }); describe('render', () => { + describe('when props.hideSelectAll is true', () => { + beforeEach(() => { + const checkedStatus = Const.CHECKBOX_STATUS_CHECKED; + + wrapper = shallow( + + ); + }); + + it('should render empty th element', () => { + expect(wrapper.find('th').length).toBe(1); + expect(wrapper.find('th[data-row-selection]').length).toBe(1); + expect(wrapper.find(CheckBox).length).toBe(0); + }); + }); + describe('when props.mode is radio', () => { beforeEach(() => { const checkedStatus = Const.CHECKBOX_STATUS_CHECKED;