diff --git a/packages/react-bootstrap-table2-example/examples/cell-edit/custom-editor-table.js b/packages/react-bootstrap-table2-example/examples/cell-edit/custom-editor-table.js
index e35f521..a75a98a 100644
--- a/packages/react-bootstrap-table2-example/examples/cell-edit/custom-editor-table.js
+++ b/packages/react-bootstrap-table2-example/examples/cell-edit/custom-editor-table.js
@@ -103,7 +103,7 @@ const columns = [{
}, {
dataField: 'quality',
text: 'Product Quality',
- editorRenderer: (editorProps, value, row, rowIndex, columnIndex) => (
+ editorRenderer: (editorProps, value, row, column, rowIndex, columnIndex) => (
)
}];
diff --git a/packages/react-bootstrap-table2-example/examples/columns/column-format-table.js b/packages/react-bootstrap-table2-example/examples/columns/column-format-table.js
index dc5bb29..a3f23a6 100644
--- a/packages/react-bootstrap-table2-example/examples/columns/column-format-table.js
+++ b/packages/react-bootstrap-table2-example/examples/columns/column-format-table.js
@@ -2,9 +2,9 @@ import React from 'react';
import BootstrapTable from 'react-bootstrap-table-next';
import Code from 'components/common/code-block';
-import { productsGenerator } from 'utils/common';
+import { productsGenerator, withOnSale } from 'utils/common';
-const products = productsGenerator();
+const products = withOnSale(productsGenerator());
function priceFormatter(cell, row) {
if (row.onSale) {
diff --git a/packages/react-bootstrap-table2-example/src/utils/common.js b/packages/react-bootstrap-table2-example/src/utils/common.js
index dbf7b7e..a9dff13 100644
--- a/packages/react-bootstrap-table2-example/src/utils/common.js
+++ b/packages/react-bootstrap-table2-example/src/utils/common.js
@@ -1,4 +1,5 @@
/* eslint no-mixed-operators: 0 */
+/* eslint no-param-reassign: 0 */
/**
* products generator for stories
@@ -22,6 +23,12 @@ export const productsGenerator = (quantity = 5, callback) => {
);
};
+export const withOnSale = rows => rows.map((row) => {
+ if (row.id > 2) row.onSale = false;
+ else row.onSale = true;
+ return row;
+});
+
export const productsQualityGenerator = (quantity = 5) =>
Array.from({ length: quantity }, (value, index) => ({
id: index,
diff --git a/packages/react-bootstrap-table2/src/contexts/selection-context.js b/packages/react-bootstrap-table2/src/contexts/selection-context.js
index f266824..2bdd321 100644
--- a/packages/react-bootstrap-table2/src/contexts/selection-context.js
+++ b/packages/react-bootstrap-table2/src/contexts/selection-context.js
@@ -43,12 +43,13 @@ class SelectionProvider extends React.Component {
let currSelected = [...this.state.selected];
+ let result = true;
+ if (onSelect) {
+ const row = dataOperator.getRowByRowId(data, keyField, rowKey);
+ result = onSelect(row, checked, rowIndex, e);
+ }
+
this.setState(() => {
- let result = true;
- if (onSelect) {
- const row = dataOperator.getRowByRowId(data, keyField, rowKey);
- result = onSelect(row, checked, rowIndex, e);
- }
if (result === true || result === undefined) {
if (mode === ROW_SELECT_SINGLE) { // when select mode is radio
currSelected = [rowKey];
@@ -81,24 +82,22 @@ class SelectionProvider extends React.Component {
currSelected = selected.filter(s => typeof data.find(d => d[keyField] === s) === 'undefined');
}
- this.setState(() => {
- let result;
- if (onSelectAll) {
- result = onSelectAll(
- !isUnSelect,
- dataOperator.getSelectedRows(
- data,
- keyField,
- isUnSelect ? this.state.selected : currSelected
- ),
- e
- );
- if (Array.isArray(result)) {
- currSelected = result;
- }
+ let result;
+ if (onSelectAll) {
+ result = onSelectAll(
+ !isUnSelect,
+ dataOperator.getSelectedRows(
+ data,
+ keyField,
+ isUnSelect ? this.state.selected : currSelected
+ ),
+ e
+ );
+ if (Array.isArray(result)) {
+ currSelected = result;
}
- return { selected: currSelected };
- });
+ }
+ this.setState(() => ({ selected: currSelected }));
}
render() {
diff --git a/packages/react-bootstrap-table2/src/header.js b/packages/react-bootstrap-table2/src/header.js
index 3adf213..e8a6fb3 100644
--- a/packages/react-bootstrap-table2/src/header.js
+++ b/packages/react-bootstrap-table2/src/header.js
@@ -18,8 +18,7 @@ const Header = (props) => {
sortOrder,
selectRow,
onExternalFilter,
- expandRow,
- bootstrap4
+ expandRow
} = props;
let SelectionHeaderCellComp = () => null;
@@ -50,7 +49,6 @@ const Header = (props) => {
return (