import React, { Component } from 'react'; import PropTypes from 'prop-types'; import Link from 'next/link'; import { UncontrolledDropdown, DropdownToggle, DropdownMenu, DropdownItem, ListGroup, ListGroupItem } from 'reactstrap'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import * as actions from '../../store/actions/actions'; import ToggleFullscreen from '../Common/ToggleFullscreen'; import HeaderSearch from './HeaderSearch'; class Header extends Component { state = { navSearchOpen: false }; toggleNavSearch = e => { e.preventDefault(); this.setState({ navSearchOpen: !this.state.navSearchOpen }); }; closeNavSearch = e => { e.preventDefault(); this.setState({ navSearchOpen: false }); }; toggleUserblock = e => { e.preventDefault(); this.props.actions.toggleSetting('showUserBlock'); }; toggleOffsidebar = e => { e.preventDefault(); this.props.actions.toggleSetting('offsidebarOpen'); }; toggleCollapsed = e => { e.preventDefault(); this.props.actions.toggleSetting('isCollapsed'); this.resize(); }; toggleAside = e => { e.preventDefault(); this.props.actions.toggleSetting('asideToggled'); }; resize() { // all IE friendly dispatchEvent var evt = document.createEvent('UIEvents'); evt.initUIEvent('resize', true, false, window, 0); window.dispatchEvent(evt); // modern dispatchEvent way // window.dispatchEvent(new Event('resize')); } render() { return (
{/* START Top Navbar */} {/* END Top Navbar */}
); } } Header.propTypes = { actions: PropTypes.object, settings: PropTypes.object }; const mapStateToProps = state => ({ settings: state.settings }); const mapDispatchToProps = dispatch => ({ actions: bindActionCreators(actions, dispatch) }); export default connect( mapStateToProps, mapDispatchToProps )(Header);