aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components
diff options
context:
space:
mode:
authorMatthew Shao <me@matshao.com>2017-06-30 20:46:02 +0800
committerMatthew Shao <me@matshao.com>2017-06-30 20:46:02 +0800
commit7baf3069b169e8196e5d389e655a3a187b4329d9 (patch)
tree131b6b04894d05ed1b19a6cc45ea72ac728b41e9 /web/src/js/components
parent7a50301af322667faff8adc1d5990957df9dc4bb (diff)
downloadmitmproxy-7baf3069b169e8196e5d389e655a3a187b4329d9.tar.gz
mitmproxy-7baf3069b169e8196e5d389e655a3a187b4329d9.tar.bz2
mitmproxy-7baf3069b169e8196e5d389e655a3a187b4329d9.zip
[web] Update the Structure of Modal component.
Diffstat (limited to 'web/src/js/components')
-rw-r--r--web/src/js/components/Modal/Modal.jsx15
-rw-r--r--web/src/js/components/Modal/ModalLayout.jsx16
-rw-r--r--web/src/js/components/Modal/ModalList.jsx12
-rw-r--r--web/src/js/components/Modal/OptionModal.jsx33
4 files changed, 30 insertions, 46 deletions
diff --git a/web/src/js/components/Modal/Modal.jsx b/web/src/js/components/Modal/Modal.jsx
index e39f5415..88e81156 100644
--- a/web/src/js/components/Modal/Modal.jsx
+++ b/web/src/js/components/Modal/Modal.jsx
@@ -1,6 +1,5 @@
import React, { Component } from 'react'
import { connect } from 'react-redux'
-import * as modalAction from '../../ducks/ui/modal'
import ModalList from './ModalList'
class PureModal extends Component {
@@ -10,15 +9,10 @@ class PureModal extends Component {
}
render() {
- const { activeModal, hideModal } = this.props
+ const { activeModal } = this.props
const ActiveModal = ModalList.find(m => m.name === activeModal )
return(
- activeModal ?
- <div>
- <div className="modal-backdrop fade in"></div>
- <ActiveModal hideModal={ hideModal }/>
- </div>
- : <div/>
+ activeModal ? <ActiveModal/> : <div/>
)
}
}
@@ -26,8 +20,5 @@ class PureModal extends Component {
export default connect(
state => ({
activeModal: state.ui.modal.activeModal
- }),
- {
- hideModal: modalAction.hideModal
- }
+ })
)(PureModal)
diff --git a/web/src/js/components/Modal/ModalLayout.jsx b/web/src/js/components/Modal/ModalLayout.jsx
new file mode 100644
index 00000000..cf357b2b
--- /dev/null
+++ b/web/src/js/components/Modal/ModalLayout.jsx
@@ -0,0 +1,16 @@
+import React from 'react'
+
+export default function ModalLayout ({ children }) {
+ return (
+ <div>
+ <div className="modal-backdrop fade in"></div>
+ <div className="modal modal-visible" id="optionsModal" tabIndex="-1" role="dialog" aria-labelledby="options">
+ <div className="modal-dialog modal-lg" role="document">
+ <div className="modal-content">
+ {children}
+ </div>
+ </div>
+ </div>
+ </div>
+ )
+}
diff --git a/web/src/js/components/Modal/ModalList.jsx b/web/src/js/components/Modal/ModalList.jsx
index 8ba46b00..1175d5ea 100644
--- a/web/src/js/components/Modal/ModalList.jsx
+++ b/web/src/js/components/Modal/ModalList.jsx
@@ -1,3 +1,13 @@
-import OptionModal from './OptionModal'
+import React from 'react'
+import ModalLayout from './ModalLayout'
+import OptionContent from './OptionModal'
+
+function OptionModal() {
+ return (
+ <ModalLayout>
+ <OptionContent/>
+ </ModalLayout>
+ )
+}
export default [ OptionModal ]
diff --git a/web/src/js/components/Modal/OptionModal.jsx b/web/src/js/components/Modal/OptionModal.jsx
deleted file mode 100644
index d9e8b829..00000000
--- a/web/src/js/components/Modal/OptionModal.jsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-
-OptionModal.prototype = {
- hideModal: PropTypes.function,
-}
-
-export default function OptionModal( { hideModal }) {
- const title = 'Options'
- return (
- <div className="modal modal-visible" id="optionsModal" tabIndex="-1" role="dialog" aria-labelledby="options">
- <div className="modal-dialog modal-lg" role="document">
- <div className="modal-content">
- <div className="modal-header">
- <button type="button" className="close" data-dismiss="modal" onClick={() => { hideModal() }}>
- <i className="fa fa-fw fa-times"></i>
- </button>
- <div className="modal-title">
- <h4>{ title }</h4>
- </div>
- </div>
-
- <div className="modal-body">
- </div>
-
- <div className="modal-footer">
- <button type="button" className="btn btn-primary">Save Changes</button>
- </div>
- </div>
- </div>
- </div>
- )
-}