Fix filtering in alerts table

pull/10616/head
Andrew Watkins 2017-01-20 12:27:00 -08:00
parent 1144047477
commit 855b36cc6c
1 changed files with 13 additions and 10 deletions

View File

@ -30,13 +30,17 @@ const AlertsTable = React.createClass({
this.filterAlerts(newProps.alerts, this.state.searchTerm);
},
filterAlerts(allAlerts, searchTerm) {
const alerts = allAlerts.filter((h) => {
return h.name.toLowerCase().search(searchTerm.toLowerCase()) !== -1 ||
h.host.toLowerCase().search(searchTerm.toLowerCase()) !== -1 ||
h.level.toLowerCase().search(searchTerm.toLowerCase()) !== -1;
filterAlerts(searchTerm) {
const filteredAlerts = this.props.alerts.filter((h) => {
if (h.host === null || h.name === null || h.level === null) {
return false;
}
return h.name.toLowerCase().search((searchTerm).toLowerCase()) !== -1 ||
h.host.toLowerCase().search((searchTerm).toLowerCase()) !== -1 ||
h.level.toLowerCase().search((searchTerm).toLowerCase()) !== -1;
});
this.setState({searchTerm, filteredAlerts: alerts});
this.setState({searchTerm, filteredAlerts});
},
changeSort(key) {
@ -67,7 +71,7 @@ const AlertsTable = React.createClass({
<div className="panel panel-minimal">
<div className="panel-heading u-flex u-ai-center u-jc-space-between">
<h2 className="panel-title">{this.props.alerts.length} Alerts</h2>
<SearchBar onSearch={_.wrap(this.props.alerts, this.filterAlerts)} />
<SearchBar onSearch={this.filterAlerts} />
</div>
<div className="panel-body">
<table className="table v-center">
@ -111,8 +115,8 @@ const SearchBar = React.createClass({
onSearch: PropTypes.func.isRequired,
},
handleChange() {
this.props.onSearch(this.refs.searchInput.value);
handleChange(e) {
this.props.onSearch(e.target.value);
},
render() {
@ -122,7 +126,6 @@ const SearchBar = React.createClass({
type="text"
className="form-control"
placeholder="Filter Alerts by Name..."
ref="searchInput"
onChange={this.handleChange}
/>
<div className="input-group-addon">