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 5fa5af2

Browse files
Merge pull request #1368 from CYBAI/refactor-filter
Refactor a little for filter.js in react-bootstrap-table2-filter
2 parents ba9ea8e + b8ac424 commit 5fa5af2

File tree

1 file changed

+15
-40
lines changed
  • packages/react-bootstrap-table2-filter/src

1 file changed

+15
-40
lines changed

‎packages/react-bootstrap-table2-filter/src/filter.js

Lines changed: 15 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -39,55 +39,36 @@ export const filterByNumber = _ => (
3939
) => (
4040
data.filter((row) => {
4141
if (number === '' || !comparator) return true;
42-
let valid = true;
4342
let cell = _.get(row, dataField);
43+
4444
if (customFilterValue) {
4545
cell = customFilterValue(cell, row);
4646
}
4747

4848
switch (comparator) {
4949
case EQ: {
50-
if (cell != number) {
51-
valid = false;
52-
}
53-
break;
50+
return cell == number;
5451
}
5552
case GT: {
56-
if (cell <= number) {
57-
valid = false;
58-
}
59-
break;
53+
return cell > number;
6054
}
6155
case GE: {
62-
if (cell < number) {
63-
valid = false;
64-
}
65-
break;
56+
return cell >= number;
6657
}
6758
case LT: {
68-
if (cell >= number) {
69-
valid = false;
70-
}
71-
break;
59+
return cell < number;
7260
}
7361
case LE: {
74-
if (cell > number) {
75-
valid = false;
76-
}
77-
break;
62+
return cell <= number;
7863
}
7964
case NE: {
80-
if (cell == number) {
81-
valid = false;
82-
}
83-
break;
65+
return cell != number;
8466
}
8567
default: {
8668
console.error('Number comparator provided is not supported');
87-
break;
69+
returntrue;
8870
}
8971
}
90-
return valid;
9172
})
9273
);
9374

@@ -208,25 +189,19 @@ export const filterByArray = _ => (
208189
};
209190

210191
export const filterFactory = _ => (filterType) => {
211-
let filterFn;
212192
switch (filterType) {
213-
case FILTER_TYPE.TEXT:
214-
case FILTER_TYPE.SELECT:
215-
filterFn = filterByText(_);
216-
break;
217193
case FILTER_TYPE.MULTISELECT:
218-
filterFn = filterByArray(_);
219-
break;
194+
return filterByArray(_);
220195
case FILTER_TYPE.NUMBER:
221-
filterFn = filterByNumber(_);
222-
break;
196+
return filterByNumber(_);
223197
case FILTER_TYPE.DATE:
224-
filterFn = filterByDate(_);
225-
break;
198+
return filterByDate(_);
199+
case FILTER_TYPE.TEXT:
200+
case FILTER_TYPE.SELECT:
226201
default:
227-
filterFn = filterByText(_);
202+
// Use `text` filter as default filter
203+
return filterByText(_);
228204
}
229-
return filterFn;
230205
};
231206

232207
export const filters = (data, columns, _) => (currFilters, clearFilters = {}) => {

0 commit comments

Comments
(0)

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