diff options
author | Noah Loomans <noahloomans@gmail.com> | 2017-12-11 19:43:23 +0100 |
---|---|---|
committer | Noah Loomans <noahloomans@gmail.com> | 2017-12-11 19:43:23 +0100 |
commit | 00d4e5241e220f8f1df4f3d5b796bc70d5fcd3fe (patch) | |
tree | 0cc0a4e628944d96c7138ef8827a3cc128d7a50b /src | |
parent | 62fa943784167db5a22e386774e7408ff25924b4 (diff) |
Move PresentationalSearch back to the container
Diffstat (limited to 'src')
-rw-r--r-- | src/client/react/components/container/Search.js | 30 | ||||
-rw-r--r-- | src/client/react/components/container/Search.jsx (renamed from src/client/react/components/presentational/Search.jsx) | 30 |
2 files changed, 27 insertions, 33 deletions
diff --git a/src/client/react/components/container/Search.js b/src/client/react/components/container/Search.js deleted file mode 100644 index 4517191..0000000 --- a/src/client/react/components/container/Search.js +++ /dev/null @@ -1,30 +0,0 @@ -import { connect } from 'react-redux'; -import { inputChange, focusChange } from '../../actions/search'; -import PresentationalSearch from '../presentational/Search'; - -const mapStateToProps = state => ({ - results: state.search.results, - value: state.search.input, - hasFocus: state.search.hasFocus, - exactMatch: state.search.exactMatch, -}); - -const mapDispatchToProps = dispatch => ({ - onInputChange: (event) => { - dispatch(inputChange(event.target.value)); - }, - onFocus: () => { - dispatch(focusChange(true)); - document.querySelector('#search__input').select(); - }, - onBlur: () => { - dispatch(focusChange(false)); - }, -}); - -const Search = connect( - mapStateToProps, - mapDispatchToProps, -)(PresentationalSearch); - -export default Search; diff --git a/src/client/react/components/presentational/Search.jsx b/src/client/react/components/container/Search.jsx index 096cdf3..7a2822f 100644 --- a/src/client/react/components/presentational/Search.jsx +++ b/src/client/react/components/container/Search.jsx @@ -1,10 +1,14 @@ import React from 'react'; import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; import classnames from 'classnames'; + import SearchIcon from 'react-icons/lib/md/search'; -import IconFromUserType from './IconFromUserType'; -import Result from './Result'; +import { inputChange, focusChange } from '../../actions/search'; + +import IconFromUserType from '../presentational/IconFromUserType'; +import Result from '../presentational/Result'; const userShape = { value: PropTypes.string.isRequired, @@ -58,4 +62,24 @@ Search.defaultProps = { exactMatch: null, }; -export default Search; +const mapStateToProps = state => ({ + results: state.search.results, + value: state.search.input, + hasFocus: state.search.hasFocus, + exactMatch: state.search.exactMatch, +}); + +const mapDispatchToProps = dispatch => ({ + onInputChange: (event) => { + dispatch(inputChange(event.target.value)); + }, + onFocus: () => { + dispatch(focusChange(true)); + document.querySelector('#search__input').select(); + }, + onBlur: () => { + dispatch(focusChange(false)); + }, +}); + +export default connect(mapStateToProps, mapDispatchToProps)(Search); |