| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import React, { Component } from 'react';
- import PropTypes from 'prop-types';
- class HeaderSearch extends Component {
- componentDidMount() {
- document.addEventListener('keydown', this.closeNavSearchKey);
- }
- componentWillUnmount() {
- document.removeEventListener('keydown', this.closeNavSearchKey);
- }
- setInputSearch = isOpen => input => {
- if (input) input[isOpen ? 'focus' : 'blur']();
- };
- closeNavSearchKey = e => {
- if (e.keyCode === 27) this.props.onClose(e);
- };
- render() {
- const { isOpen, onClose } = this.props;
- return (
- <form
- className={'navbar-form ' + (isOpen ? 'open' : '')}
- role="search"
- action="search.html"
- >
- <div className="form-group">
- <input
- ref={this.setInputSearch(isOpen)}
- className="form-control"
- type="text"
- placeholder="Type and hit enter ..."
- />
- <div className="fa fa-times navbar-form-close" onClick={onClose} />
- </div>
- <button className="d-none" type="submit">
- Submit
- </button>
- </form>
- );
- }
- }
- HeaderSearch.propTypes = {
- isOpen: PropTypes.bool,
- onClose: PropTypes.func
- };
- export default HeaderSearch;
|