Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 636a3ff

Browse files
implement data operator
1 parent 0a9c9cb commit 636a3ff

File tree

4 files changed

+29
-12
lines changed

4 files changed

+29
-12
lines changed

‎packages/react-bootstrap-table2/src/contexts/selection-context.js‎

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22
import React from 'react';
33
import PropTypes from 'prop-types';
44
import Const from '../const';
5-
import { getRowByRowId } from '../store/rows';
6-
// Consider make selectionHandler become a part of Provider
7-
import * as selectionHandler from '../store/selection';
85

9-
export default () => {
6+
export default (
7+
dataOperator
8+
) => {
109
const SelectionContext = React.createContext();
1110

1211
class SelectionProvider extends React.Component {
@@ -41,7 +40,7 @@ export default () => {
4140
}
4241

4342
if (onSelect) {
44-
const row = getRowByRowId(data, keyField, rowKey);
43+
const row = dataOperator.getRowByRowId(data, keyField, rowKey);
4544
onSelect(row, checked, rowIndex, e);
4645
}
4746

@@ -58,16 +57,16 @@ export default () => {
5857
}
5958
} = this.props;
6059
const { selected } = this.state;
61-
const anySelected = selectionHandler.isAnySelectedRow(selected, nonSelectable);
60+
const anySelected = dataOperator.isAnySelectedRow(selected, nonSelectable);
6261

6362
const result = !anySelected;
6463

6564
const currSelected = result ?
66-
selectionHandler.selectableKeys(data, keyField, nonSelectable) :
67-
selectionHandler.unSelectableKeys(selected, nonSelectable);
65+
dataOperator.selectableKeys(data, keyField, nonSelectable) :
66+
dataOperator.unSelectableKeys(selected, nonSelectable);
6867

6968
if (onSelectAll) {
70-
onSelectAll(result, selectionHandler.getSelectedRows(data, keyField, currSelected), e);
69+
onSelectAll(result, dataOperator.getSelectedRows(data, keyField, currSelected), e);
7170
}
7271

7372
this.setState(() => ({ selected: currSelected }));

‎packages/react-bootstrap-table2/src/contexts/sort-context.js‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
import React from 'react';
33
import PropTypes from 'prop-types';
44
import Const from '../const';
5-
import { sort, nextOrder } from '../store/sort';
65

76
export default (
7+
dataOperator,
88
isRemoteSort,
99
handleSortChange
1010
) => {
@@ -48,7 +48,7 @@ export default (
4848
}
4949

5050
handleSort = (column) => {
51-
const sortOrder = nextOrder(column, this.state, this.props.defaultSortDirection);
51+
const sortOrder = dataOperator.nextOrder(column, this.state, this.props.defaultSortDirection);
5252

5353
if (column.onSort) {
5454
column.onSort(column.dataField, sortOrder);
@@ -67,7 +67,7 @@ export default (
6767
let { data } = this.props;
6868
const { sortOrder, sortColumn } = this.state;
6969
if (!isRemoteSort() && sortColumn) {
70-
data = sort(data, sortOrder, sortColumn);
70+
data = dataOperator.sort(data, sortOrder, sortColumn);
7171
}
7272

7373
return (
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import _ from '../utils';
2+
import { getRowByRowId } from './rows';
3+
4+
export const editCell = (rowId, dataField, newValue) => {
5+
const row = getRowByRowId(this)(rowId);
6+
if (row) _.set(row, dataField, newValue);
7+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import * as rows from './rows';
2+
import * as selection from './selection';
3+
import * as mutate from './mutate';
4+
import * as sort from './sort';
5+
6+
export default {
7+
...rows,
8+
...selection,
9+
...mutate,
10+
...sort
11+
};

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /