Skip to content

Commit

Permalink
Added a onSuggestNoResults callback function to be triggered when the…
Browse files Browse the repository at this point in the history
…re are no suggests. non intrusive, allows the developer to decide what to do with this case
  • Loading branch information
dimafeldman committed Jun 19, 2016
1 parent b42c40d commit f51cacc
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 0 deletions.
8 changes: 8 additions & 0 deletions example/src/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ var App = React.createClass({ // eslint-disable-line
onBlur={this.onBlur}
onChange={this.onChange}
onSuggestSelect={this.onSuggestSelect}
onSuggestNoResults={this.onSuggestNoResults}
location={new google.maps.LatLng(53.558572, 9.9278215)}
radius="20" />
</div>
Expand Down Expand Up @@ -59,6 +60,13 @@ var App = React.createClass({ // eslint-disable-line
*/
onSuggestSelect: function(suggest) {
console.log(suggest); // eslint-disable-line
},

/**
* When there are no suggest results
*/
onSuggestNoResults: function(value) {
console.log('onSuggestNoResults for :' + value); // eslint-disable-line
}
});

Expand Down
5 changes: 5 additions & 0 deletions src/Geosuggest.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,10 @@ class Geosuggest extends React.Component {

onSuggestMouseOut = () => this.setState({ignoreBlur: false})

onSuggestNoResults = () => {
this.props.onSuggestNoResults(this.state.userInput);
}

/**
* Focus the input
*/
Expand Down Expand Up @@ -379,6 +383,7 @@ class Geosuggest extends React.Component {
suggestItemStyle={this.props.style.suggestItem}
suggests={this.state.suggests}
activeSuggest={this.state.activeSuggest}
onSuggestNoResults={this.onSuggestNoResults}
onSuggestMouseDown={this.onSuggestMouseDown}
onSuggestMouseOut={this.onSuggestMouseOut}
onSuggestSelect={this.selectSuggest}/>;
Expand Down
1 change: 1 addition & 0 deletions src/defaults.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export default {
googleMaps: null,
onActivateSuggest: () => {},
onSuggestSelect: () => {},
onSuggestNoResults: () => {},
onFocus: () => {},
onBlur: () => {},
onChange: () => {},
Expand Down
8 changes: 8 additions & 0 deletions src/suggest-list.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@ export default class SuggestList extends React.Component {
return this.props.isHidden || this.props.suggests.length === 0;
}

componentWillReceiveProps(newProps) {
if (newProps != this.props) {
if (newProps.suggests.length === 0) {
this.props.onSuggestNoResults();
}
}
}

render() {
const classes = classnames(
'geosuggest__suggests',
Expand Down

0 comments on commit f51cacc

Please sign in to comment.