aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components/Header.js
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-06-15 13:40:03 -0700
committerMaximilian Hils <git@maximilianhils.com>2016-06-15 13:40:03 -0700
commitc7a891b652f4f85877c4dc8ee04fcd45d9e20a74 (patch)
treef80bdafc25555b459bd618ff20273b6b8eddc627 /web/src/js/components/Header.js
parent7de5d7b2984db3c835d3ef2ec3f81ba26a4e458a (diff)
parent94e2929b3fd6dc335d1c787167956df18f05494e (diff)
downloadmitmproxy-c7a891b652f4f85877c4dc8ee04fcd45d9e20a74.tar.gz
mitmproxy-c7a891b652f4f85877c4dc8ee04fcd45d9e20a74.tar.bz2
mitmproxy-c7a891b652f4f85877c4dc8ee04fcd45d9e20a74.zip
Merge branch 'add_flow_to_options'
Diffstat (limited to 'web/src/js/components/Header.js')
-rw-r--r--web/src/js/components/Header.js42
1 files changed, 27 insertions, 15 deletions
diff --git a/web/src/js/components/Header.js b/web/src/js/components/Header.js
index 7134f7d9..8aaa6411 100644
--- a/web/src/js/components/Header.js
+++ b/web/src/js/components/Header.js
@@ -1,42 +1,46 @@
import React, { Component, PropTypes } from 'react'
+import { connect } from 'react-redux'
+import { bindActionCreators } from 'redux'
import classnames from 'classnames'
import { toggleEventLogVisibility } from '../ducks/eventLog'
import MainMenu from './Header/MainMenu'
import ViewMenu from './Header/ViewMenu'
import OptionMenu from './Header/OptionMenu'
import FileMenu from './Header/FileMenu'
+import FlowMenu from './Header/FlowMenu'
+import {setActiveMenu} from '../ducks/ui.js'
-export default class Header extends Component {
-
+class Header extends Component {
static entries = [MainMenu, ViewMenu, OptionMenu]
static propTypes = {
settings: PropTypes.object.isRequired,
}
- constructor(props, context) {
- super(props, context)
- this.state = { active: Header.entries[0] }
- }
-
handleClick(active, e) {
e.preventDefault()
- this.props.updateLocation(active.route)
- this.setState({ active })
+ this.props.setActiveMenu(active.title)
+ // this.props.updateLocation(active.route)
+ // this.setState({ active })
}
render() {
- const { active: Active } = this.state
- const { settings, updateLocation, query } = this.props
+ const { settings, updateLocation, query, selectedFlow, activeMenu} = this.props
+
+ let entries = [...Header.entries]
+ if(selectedFlow)
+ entries.push(FlowMenu)
+
+ const Active = _.find(entries, (e) => e.title == activeMenu)
return (
<header>
<nav className="nav-tabs nav-tabs-lg">
<FileMenu/>
- {Header.entries.map(Entry => (
+ {entries.map(Entry => (
<a key={Entry.title}
href="#"
- className={classnames({ active: Entry === Active })}
+ className={classnames({ active: Entry === Active})}
onClick={e => this.handleClick(Entry, e)}>
{Entry.title}
</a>
@@ -44,13 +48,21 @@ export default class Header extends Component {
</nav>
<div className="menu">
<Active
- ref="active"
settings={settings}
updateLocation={updateLocation}
query={query}
- />
+ />
</div>
</header>
)
}
}
+export default connect(
+ (state) => ({
+ selectedFlow: state.flows.selected[0],
+ activeMenu: state.ui.activeMenu
+ }),
+ dispatch => bindActionCreators({
+ setActiveMenu,
+ }, dispatch)
+)(Header)