From 47aa41b8fa5df35085ac3dfa6547b24bedce7807 Mon Sep 17 00:00:00 2001 From: Chun-MingChen Date: Sun, 18 Nov 2018 17:55:27 +0800 Subject: [PATCH 1/5] Remove unnecessary props 'bootstrap4' --- packages/react-bootstrap-table2/src/header.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/react-bootstrap-table2/src/header.js b/packages/react-bootstrap-table2/src/header.js index 3adf213e3..e8a6fb357 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 ( Date: Sun, 2 Dec 2018 00:48:52 -0700 Subject: [PATCH 2/5] Fix typo in doc example code (#691) --- .../examples/cell-edit/custom-editor-table.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e35f52133..a75a98a7b 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) => ( ) }]; From a23599f52fe91c03251e6bff9e6df819f338e380 Mon Sep 17 00:00:00 2001 From: AllenFang Date: Sun, 2 Dec 2018 17:04:32 +0800 Subject: [PATCH 3/5] fix #669 --- packages/react-bootstrap-table2/src/row-expand/expand-cell.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-bootstrap-table2/src/row-expand/expand-cell.js b/packages/react-bootstrap-table2/src/row-expand/expand-cell.js index 4e626ee68..5aa33f53b 100644 --- a/packages/react-bootstrap-table2/src/row-expand/expand-cell.js +++ b/packages/react-bootstrap-table2/src/row-expand/expand-cell.js @@ -33,7 +33,7 @@ export default class ExpandCell extends Component { handleClick(e) { const { rowKey, expanded, onRowExpand, rowIndex } = this.props; - + e.stopPropagation(); onRowExpand(rowKey, !expanded, rowIndex, e); } From a7ae524c49da23cc00c071bfb8497c21103ed20d Mon Sep 17 00:00:00 2001 From: AllenFang Date: Sun, 2 Dec 2018 17:29:25 +0800 Subject: [PATCH 4/5] fix #675 --- .../src/contexts/selection-context.js | 43 +++++++++---------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/packages/react-bootstrap-table2/src/contexts/selection-context.js b/packages/react-bootstrap-table2/src/contexts/selection-context.js index f2668249f..2bdd3216e 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() { From 5a6b7e122ddb326734cea30169cdcd0f96cd2d59 Mon Sep 17 00:00:00 2001 From: AllenFang Date: Sun, 2 Dec 2018 17:45:42 +0800 Subject: [PATCH 5/5] fix #680 --- .../examples/columns/column-format-table.js | 4 ++-- .../react-bootstrap-table2-example/src/utils/common.js | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) 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 dc5bb2918..a3f23a6bc 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 dbf7b7e81..a9dff13a9 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,