Skip to content

Commit 5fa5af2

Browse files
authored
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+
return true;
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)