aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components/Header/FileMenu.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/src/js/components/Header/FileMenu.jsx')
-rw-r--r--web/src/js/components/Header/FileMenu.jsx80
1 files changed, 24 insertions, 56 deletions
diff --git a/web/src/js/components/Header/FileMenu.jsx b/web/src/js/components/Header/FileMenu.jsx
index 392cc163..6053b2d3 100644
--- a/web/src/js/components/Header/FileMenu.jsx
+++ b/web/src/js/components/Header/FileMenu.jsx
@@ -2,6 +2,7 @@ import React, { Component, PropTypes } from 'react'
import { connect } from 'react-redux'
import classnames from 'classnames'
import FileChooser from '../common/FileChooser'
+import Dropdown from '../common/Dropdown'
import * as flowsActions from '../../ducks/flows'
@@ -16,44 +17,20 @@ class FileMenu extends Component {
constructor(props, context) {
super(props, context)
- this.state = { show: false }
- this.close = this.close.bind(this)
- this.onFileClick = this.onFileClick.bind(this)
this.onNewClick = this.onNewClick.bind(this)
this.onOpenClick = this.onOpenClick.bind(this)
this.onOpenFile = this.onOpenFile.bind(this)
this.onSaveClick = this.onSaveClick.bind(this)
}
- close() {
- this.setState({ show: false })
- document.removeEventListener('click', this.close)
- }
-
- onFileClick(e) {
- e.preventDefault()
-
- if (this.state.show) {
- return
- }
-
- document.addEventListener('click', this.close)
- this.setState({ show: true })
- }
-
onNewClick(e) {
e.preventDefault()
if (confirm('Delete all flows?')) {
this.props.clearFlows()
}
}
-
- onOpenClick(e) {
- e.preventDefault()
- this.fileInput.click()
- }
-
+
onOpenFile(file) {
this.props.loadFlows(file)
}
@@ -65,37 +42,28 @@ class FileMenu extends Component {
render() {
return (
- <div className={classnames('dropdown pull-left', { open: this.state.show })}>
- <a href="#" className="special" onClick={this.onFileClick}>mitmproxy</a>
- <ul className="dropdown-menu" role="menu">
- <li>
- <a href="#" onClick={this.onNewClick}>
- <i className="fa fa-fw fa-file"></i>
- New
- </a>
- </li>
- <li>
- <FileChooser
- icon="fa-folder-open"
- text="Open..."
- onOpenFile={this.onOpenFile}
- />
- </li>
- <li>
- <a href="#" onClick={this.onSaveClick}>
- <i className="fa fa-fw fa-floppy-o"></i>
- Save...
- </a>
- </li>
- <li role="presentation" className="divider"></li>
- <li>
- <a href="http://mitm.it/" target="_blank">
- <i className="fa fa-fw fa-external-link"></i>
- Install Certificates...
- </a>
- </li>
- </ul>
- </div>
+ <Dropdown className="pull-left" btnClass="special" text="mitmproxy">
+ <a href="#" onClick={this.onNewClick}>
+ <i className="fa fa-fw fa-file"></i>
+ New
+ </a>
+ <FileChooser
+ icon="fa-folder-open"
+ text="Open..."
+ onOpenFile={this.onOpenFile}
+ />
+ <a href="#" onClick={this.onSaveClick}>
+ <i className="fa fa-fw fa-floppy-o"></i>
+ Save...
+ </a>
+
+ <span name="divider"/>
+
+ <a href="http://mitm.it/" target="_blank">
+ <i className="fa fa-fw fa-external-link"></i>
+ Install Certificates...
+ </a>
+ </Dropdown>
)
}
}