import React, {Component} from 'react'; import {connect} from 'react-redux'; import {Link} from 'react-router-dom'; import { Collapse, Navbar, NavbarToggler, Nav, NavItem, NavLink, Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; import {logout} from '../../actions/login/authActions'; import {setActiveSubModule} from '../../actions/page/pageActions'; import {recieveProfileInfo} from '../../actions/profileSettings/profileSettingsActions'; import CoMarketCatalogSelect from '../../containers/coMarket/components/CoMarketCatalogSelect.jsx'; import {menuTexts} from '../../constants/menuConstants'; const extraSubmenuContent = { 'co-market': CoMarketCatalogSelect, 'cart': CoMarketCatalogSelect }; class Submenu extends Component { constructor(props) { super(props); this.toggle = this.toggle.bind(this); this.toggleSubmenu = this.toggleSubmenu.bind(this); this.toggleDropdown = this.toggleDropdown.bind(this); this.logoutHandle = this.logoutHandle.bind(this); this.state = { isOpen: false, isSubmenuOpen: false, dropdownOpen: false }; } toggle() { this.setState({ isOpen: !this.state.isOpen }); } toggleSubmenu() { this.setState({ isSubmenuOpen: !this.state.isSubmenuOpen }); } toggleDropdown() { this.setState({ dropdownOpen: !this.state.dropdownOpen }); } logoutHandle() { this.props.dispatch(logout()); this.props.dispatch(recieveProfileInfo({})); }; isInMenu(module) { return parseInt(module.isInMenu, 10) === 1; } setActiveSubmodule(submoduleName) { this.props.dispatch(setActiveSubModule(submoduleName)); } render() { const {wiaasModules, userInfo, activeModule, profileInfo, urlParams} = this.props; const TagName = extraSubmenuContent[activeModule] || null; return ( { (wiaasModules && wiaasModules.subModules && wiaasModules.subModules[activeModule]) && } { TagName && } ); } } const mapStateToProps = (state) => ({ wiaasModules: state.auth.modules, userInfo: state.auth.userInfo, profileInfo: state.profileSettingsReducer.profileInfo, urlParams: state.pageReducer.urlParams }); export default connect(mapStateToProps)(Submenu);