Skip to content

Commit

Permalink
fix ##1276
Browse files Browse the repository at this point in the history
  • Loading branch information
AllenFang committed May 6, 2017
1 parent 178ed3e commit b15475a
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions src/BootstrapTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -618,12 +618,15 @@ class BootstrapTable extends Component {
handleSelectAllRow = e => {
const isSelected = e.currentTarget.checked;
const keyField = this.store.getKeyField();
const { selectRow: { onSelectAll, unselectable, selected } } = this.props;
let selectedRowKeys = [];
const { selectRow: { onSelectAll, unselectable, selected, onlyUnselectVisible } } = this.props;
let selectedRowKeys = onlyUnselectVisible ? this.state.selectedRowKeys : [];
let result = true;
let rows = isSelected ?
this.store.get() :
this.store.getRowByKey(this.state.selectedRowKeys);
let rows = this.store.get();

// onlyUnselectVisible default is false, #1276
if (!isSelected && !onlyUnselectVisible) {
rows = this.store.getRowByKey(this.state.selectedRowKeys);
}

if (unselectable && unselectable.length > 0) {
if (isSelected) {
Expand All @@ -647,7 +650,10 @@ class BootstrapTable extends Component {
rows.map(r => r[keyField]);
} else {
if (unselectable && selected) {
selectedRowKeys = selected.filter(r => unselectable.indexOf(r) > -1 );
selectedRowKeys = selected.filter(r => unselectable.indexOf(r) > -1);
} else if (onlyUnselectVisible) {
const currentRowKeys = rows.map(r => r[keyField]);
selectedRowKeys = selectedRowKeys.filter(k => currentRowKeys.indexOf(k) === -1);
}
}

Expand Down Expand Up @@ -1311,7 +1317,8 @@ BootstrapTable.propTypes = {
clickToExpand: PropTypes.bool,
showOnlySelected: PropTypes.bool,
unselectable: PropTypes.array,
columnWidth: PropTypes.oneOfType([ PropTypes.number, PropTypes.string ])
columnWidth: PropTypes.oneOfType([ PropTypes.number, PropTypes.string ]),
onlyUnselectVisible: PropTypes.bool
}),
cellEdit: PropTypes.shape({
mode: PropTypes.string,
Expand Down Expand Up @@ -1462,7 +1469,8 @@ BootstrapTable.defaultProps = {
clickToExpand: false,
showOnlySelected: false,
unselectable: [],
customComponent: undefined
customComponent: undefined,
onlyUnselectVisible: false
},
cellEdit: {
mode: Const.CELL_EDIT_NONE,
Expand Down

0 comments on commit b15475a

Please sign in to comment.