var React = require('react'), Router = require('react-router'); var NavigationActions = require('../../actions/navigationActions'); var SearchActions = require('../../actions/searchActions'); var SearchStore = require('../../stores/searchStore'); var SearchBox = React.createClass({ getInitialState: function() { return SearchStore.getSearchBoxState(); }, onSearchClick: function(e) { this.doSearch(); e.preventDefault(); }, componentDidMount: function() { SearchStore.addChangeListener(this.onSearchStoreChange); }, componentWillUnmount: function() { SearchStore.removeChangeListener(this.onSearchStoreChange); }, onSearchStoreChange: function() { if(this.isMounted()) { this.setState(SearchStore.getSearchBoxState()); } }, onSearchBoxChange: function(e) { SearchActions.searchBoxChange(e.currentTarget.value); }, doSearch: function() { if(this.state.q.trim() !== '') { NavigationActions.goToSearchResults(this.state.q); } }, onKeyPress: function(e) { var enterKeyCode = 13; var whichKey = e.key || e.which; if(whichKey == enterKeyCode) { this.doSearch(); e.preventDefault(); } }, render: function() { var large = (
); var small = (
); if (this.props.small === 'true') { return small; } else { return large; } } } ); module.exports = SearchBox;