@@ -767,9 +767,21 @@ return /******/ (function(modules) { // webpackBootstrap
767767 key: 'isSelectAll',
768768 value: function isSelectAll() {
769769 if (this.store.isEmpty()) return false;
770- var unselectable = this.props.selectRow.unselectable;
770+ var _props$selectRow = this.props.selectRow,
771+ unselectable = _props$selectRow.unselectable,
772+ onlyUnselectVisible = _props$selectRow.onlyUnselectVisible;
773+
774+ var keyField = this.store.getKeyField();
775+ var allRowKeys = onlyUnselectVisible ? this.store.get().map(function (r) {
776+ return r[keyField];
777+ }) : this.store.getAllRowkey();
771778 var defaultSelectRowKeys = this.store.getSelectedRowKeys();
772- var allRowKeys = this.store.getAllRowkey();
779+
780+ if (onlyUnselectVisible) {
781+ defaultSelectRowKeys = defaultSelectRowKeys.filter(function (x) {
782+ return x !== allRowKeys;
783+ });
784+ }
773785
774786 if (defaultSelectRowKeys.length === 0) return false;
775787 var match = 0;
@@ -983,11 +995,11 @@ return /******/ (function(modules) { // webpackBootstrap
983995 value: function __handleSelectAllRow__REACT_HOT_LOADER__(e) {
984996 var isSelected = e.currentTarget.checked;
985997 var keyField = this.store.getKeyField();
986- var _props$selectRow = this.props.selectRow,
987- onSelectAll = _props$selectRow .onSelectAll,
988- unselectable = _props$selectRow .unselectable,
989- selected = _props$selectRow .selected,
990- onlyUnselectVisible = _props$selectRow .onlyUnselectVisible;
998+ var _props$selectRow2 = this.props.selectRow,
999+ onSelectAll = _props$selectRow2 .onSelectAll,
1000+ unselectable = _props$selectRow2 .unselectable,
1001+ selected = _props$selectRow2 .selected,
1002+ onlyUnselectVisible = _props$selectRow2 .onlyUnselectVisible;
9911003
9921004 var selectedRowKeys = onlyUnselectVisible ? this.state.selectedRowKeys : [];
9931005 var result = true;
@@ -1016,9 +1028,19 @@ return /******/ (function(modules) { // webpackBootstrap
10161028
10171029 if (typeof result == 'undefined' || result !== false) {
10181030 if (isSelected) {
1019- selectedRowKeys = Array.isArray(result) ? result : rows.map(function (r) {
1020- return r[keyField];
1021- });
1031+ if (Array.isArray(result)) {
1032+ selectedRowKeys = result;
1033+ } else {
1034+ var currentRowKeys = rows.map(function (r) {
1035+ return r[keyField];
1036+ });
1037+ // onlyUnselectVisible default is false, #1276
1038+ if (onlyUnselectVisible) {
1039+ selectedRowKeys = selectedRowKeys.concat(currentRowKeys);
1040+ } else {
1041+ selectedRowKeys = currentRowKeys;
1042+ }
1043+ }
10221044 } else {
10231045 if (unselectable && selected) {
10241046 selectedRowKeys = selected.filter(function (r) {
@@ -1265,7 +1287,7 @@ return /******/ (function(modules) { // webpackBootstrap
12651287 var currPage = this.state.currPage;
12661288
12671289 if (currPage > currLastPage) currPage = currLastPage;
1268- result = this.store.page(currPage, sizePerPage).get();
1290+ result = this.store.page(_util2.default.getNormalizedPage( currPage) , sizePerPage).get();
12691291 this.setState({
12701292 data: result,
12711293 selectedRowKeys: this.store.getSelectedRowKeys(),
0 commit comments