Skip to content
Prev Previous commit
Next Next commit
filter column by new onFilter
  • Loading branch information
chunming-c committed Apr 4, 2018
commit a1477e2ad38b29f66e9652634caa2d59ee5a6c18
12 changes: 6 additions & 6 deletions packages/react-bootstrap-table2-filter/src/components/number.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class NumberFilter extends Component {
const comparator = this.numberFilterComparator.value;
const number = this.numberFilter.value;
if (comparator && number) {
onFilter(column, { number, comparator }, FILTER_TYPE.NUMBER);
onFilter(column, FILTER_TYPE.NUMBER)({ number, comparator });
}
}

Expand All @@ -53,7 +53,7 @@ class NumberFilter extends Component {
}
const filterValue = e.target.value;
this.timeout = setTimeout(() => {
onFilter(column, { number: filterValue, comparator }, FILTER_TYPE.NUMBER);
onFilter(column, FILTER_TYPE.NUMBER)({ number: filterValue, comparator });
}, delay);
}

Expand All @@ -65,7 +65,7 @@ class NumberFilter extends Component {
// if (comparator === '') {
// return;
// }
onFilter(column, { number: value, comparator }, FILTER_TYPE.NUMBER);
onFilter(column, FILTER_TYPE.NUMBER)({ number: value, comparator });
}

onChangeComparator(e) {
Expand All @@ -75,7 +75,7 @@ class NumberFilter extends Component {
// if (value === '') {
// return;
// }
onFilter(column, { number: value, comparator }, FILTER_TYPE.NUMBER);
onFilter(column, FILTER_TYPE.NUMBER)({ number: value, comparator });
}

getComparatorOptions() {
Expand Down Expand Up @@ -116,7 +116,7 @@ class NumberFilter extends Component {
this.setState(() => ({ isSelected: (number !== '') }));
this.numberFilterComparator.value = comparator;
this.numberFilter.value = number;
onFilter(column, { number, comparator }, FILTER_TYPE.NUMBER);
onFilter(column, FILTER_TYPE.NUMBER)({ number, comparator });
}

cleanFiltered() {
Expand All @@ -126,7 +126,7 @@ class NumberFilter extends Component {
this.setState(() => ({ isSelected: (value !== '') }));
this.numberFilterComparator.value = comparator;
this.numberFilter.value = value;
onFilter(column, { number: value, comparator }, FILTER_TYPE.NUMBER);
onFilter(column, FILTER_TYPE.NUMBER)({ number: value, comparator });
}

render() {
Expand Down
10 changes: 5 additions & 5 deletions packages/react-bootstrap-table2-filter/src/components/select.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class SelectFilter extends Component {
componentDidMount() {
const value = this.selectInput.value;
if (value && value !== '') {
this.props.onFilter(this.props.column, value, FILTER_TYPE.SELECT);
this.props.onFilter(this.props.column, FILTER_TYPE.SELECT)(value);
}
}

Expand All @@ -41,7 +41,7 @@ class SelectFilter extends Component {
if (needFilter) {
const value = this.selectInput.value;
if (value) {
this.props.onFilter(this.props.column, value, FILTER_TYPE.SELECT);
this.props.onFilter(this.props.column, FILTER_TYPE.SELECT)(value);
}
}
}
Expand All @@ -64,19 +64,19 @@ class SelectFilter extends Component {
const value = (this.props.defaultValue !== undefined) ? this.props.defaultValue : '';
this.setState(() => ({ isSelected: value !== '' }));
this.selectInput.value = value;
this.props.onFilter(this.props.column, value, FILTER_TYPE.SELECT);
this.props.onFilter(this.props.column, FILTER_TYPE.SELECT)(value);
}

applyFilter(value) {
this.selectInput.value = value;
this.setState(() => ({ isSelected: value !== '' }));
this.props.onFilter(this.props.column, value, FILTER_TYPE.SELECT);
this.props.onFilter(this.props.column, FILTER_TYPE.SELECT)(value);
}

filter(e) {
const { value } = e.target;
this.setState(() => ({ isSelected: value !== '' }));
this.props.onFilter(this.props.column, value, FILTER_TYPE.SELECT);
this.props.onFilter(this.props.column, FILTER_TYPE.SELECT)(value);
}

render() {
Expand Down
13 changes: 9 additions & 4 deletions packages/react-bootstrap-table2-filter/src/components/text.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,14 @@ class TextFilter extends Component {
value: props.defaultValue
};
}

componentDidMount() {
const { onFilter } = this.props;

const defaultValue = this.input.value;

if (defaultValue) {
this.props.onFilter(this.props.column, defaultValue, FILTER_TYPE.TEXT);
onFilter(this.props.column, FILTER_TYPE.TEXT)(defaultValue);
}
}

Expand All @@ -40,7 +44,7 @@ class TextFilter extends Component {
const filterValue = e.target.value;
this.setState(() => ({ value: filterValue }));
this.timeout = setTimeout(() => {
this.props.onFilter(this.props.column, filterValue, FILTER_TYPE.TEXT);
this.props.onFilter(this.props.column, FILTER_TYPE.TEXT)(filterValue);
}, this.props.delay);
}

Expand All @@ -53,12 +57,12 @@ class TextFilter extends Component {
cleanFiltered() {
const value = this.props.defaultValue;
this.setState(() => ({ value }));
this.props.onFilter(this.props.column, value, FILTER_TYPE.TEXT);
this.props.onFilter(this.props.column, value, FILTER_TYPE.TEXT)();
}

applyFilter(filterText) {
this.setState(() => ({ value: filterText }));
this.props.onFilter(this.props.column, filterText, FILTER_TYPE.TEXT);
this.props.onFilter(this.props.column, FILTER_TYPE.TEXT)(filterText);
}

handleClick(e) {
Expand All @@ -79,6 +83,7 @@ class TextFilter extends Component {
defaultValue,
...rest
} = this.props;

// stopPropagation for onClick event is try to prevent sort was triggered.
return (
<input
Expand Down