aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components/ProxyApp.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/src/js/components/ProxyApp.jsx')
-rw-r--r--web/src/js/components/ProxyApp.jsx67
1 files changed, 11 insertions, 56 deletions
diff --git a/web/src/js/components/ProxyApp.jsx b/web/src/js/components/ProxyApp.jsx
index 28a91ff3..f0e33330 100644
--- a/web/src/js/components/ProxyApp.jsx
+++ b/web/src/js/components/ProxyApp.jsx
@@ -12,79 +12,35 @@ import { Key } from '../utils.js'
class ProxyAppMain extends Component {
- static childContextTypes = {
- returnFocus: PropTypes.func.isRequired,
- }
-
static contextTypes = {
router: PropTypes.object.isRequired,
}
- constructor(props, context) {
- super(props, context)
-
- this.focus = this.focus.bind(this)
- this.onKeyDown = this.onKeyDown.bind(this)
+ componentWillMount() {
+ this.props.appInit(this.context.router)
+ window.addEventListener('keydown', this.props.onKeyDown);
}
- componentWillMount() {
- this.props.appInit()
+ componentWillUnmount() {
+ this.props.appDestruct(this.context.router)
+ window.removeEventListener('keydown', this.props.onKeyDown);
}
componentWillReceiveProps(nextProps) {
- if(nextProps.query === this.props.query && nextProps.flowId === this.props.flowId && nextProps.panel === this.props.panel) {
+ if (nextProps.query === this.props.query && nextProps.selectedFlowId === this.props.selectedFlowId && nextProps.panel === this.props.panel) {
return
}
- if(nextProps.flowId) {
- this.context.router.replace({ pathname: `/flows/${nextProps.flowId}/${nextProps.panel}`, query: nextProps.query })
+ if (nextProps.selectedFlowId) {
+ this.context.router.replace({ pathname: `/flows/${nextProps.selectedFlowId}/${nextProps.panel}`, query: nextProps.query })
} else {
this.context.router.replace({ pathname: '/flows', query: nextProps.query })
}
}
- /**
- * @todo listen to window's key events
- */
- componentDidMount() {
- this.focus()
- }
-
- componentWillUnmount() {
- this.props.appDestruct()
- }
-
- /**
- * @todo use props
- */
- getChildContext() {
- return { returnFocus: this.focus }
- }
-
- /**
- * @todo remove it
- */
- focus() {
- document.activeElement.blur()
- window.getSelection().removeAllRanges()
- ReactDOM.findDOMNode(this).focus()
- }
-
- /**
- * @todo move to actions
- * @todo bind on window
- */
- onKeyDown(e) {
- if (e.ctrlKey) {
- return
- }
- this.props.onKeyDown(e.keyCode, e.shiftKey)
- e.preventDefault()
- }
-
render() {
const { showEventLog, location, children, query } = this.props
return (
- <div id="container" tabIndex="0" onKeyDown={this.onKeyDown}>
+ <div id="container" tabIndex="0">
<Header ref="header" query={query} />
{React.cloneElement(
children,
@@ -102,10 +58,9 @@ class ProxyAppMain extends Component {
export default connect(
state => ({
showEventLog: state.eventLog.visible,
- settings: state.settings.settings,
query: state.ui.query,
panel: state.ui.panel,
- flowId: state.flows.views.main.selected[0]
+ selectedFlowId: state.flows.views.main.selected[0]
}),
{
appInit,