aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components/proxyapp.js
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-03-29 01:45:37 +0100
committerMaximilian Hils <git@maximilianhils.com>2015-03-29 01:45:37 +0100
commitfd911b75e6a59c1050815a6c183c4eb32aaabb98 (patch)
tree18900dfaaef7ae2b788b9774e94903e44a428701 /web/src/js/components/proxyapp.js
parent1913975fa60c76bfb7e79a908b18e7e93793f71f (diff)
downloadmitmproxy-fd911b75e6a59c1050815a6c183c4eb32aaabb98.tar.gz
mitmproxy-fd911b75e6a59c1050815a6c183c4eb32aaabb98.tar.bz2
mitmproxy-fd911b75e6a59c1050815a6c183c4eb32aaabb98.zip
web: global key handling
Diffstat (limited to 'web/src/js/components/proxyapp.js')
-rw-r--r--web/src/js/components/proxyapp.js24
1 files changed, 22 insertions, 2 deletions
diff --git a/web/src/js/components/proxyapp.js b/web/src/js/components/proxyapp.js
index 411e1be8..4013c3e4 100644
--- a/web/src/js/components/proxyapp.js
+++ b/web/src/js/components/proxyapp.js
@@ -9,6 +9,7 @@ var header = require("./header.js");
var EventLog = require("./eventlog.js");
var store = require("../store/store.js");
var Query = require("../actions.js").Query;
+var Key = require("../utils.js").Key;
//TODO: Move out of here, just a stub.
@@ -26,6 +27,9 @@ var ProxyAppMain = React.createClass({
flowStore: React.PropTypes.object.isRequired,
eventStore: React.PropTypes.object.isRequired
},
+ componentDidMount: function () {
+ React.findDOMNode(this).focus();
+ },
getChildContext: function () {
return {
settingsStore: this.state.settingsStore,
@@ -46,6 +50,22 @@ var ProxyAppMain = React.createClass({
eventStore: eventStore
};
},
+ getMainComponent: function () {
+ return this.refs.view.refs.__routeHandler__;
+ },
+ onKeydown: function (e) {
+ switch(e.keyCode){
+ case Key.I:
+ console.error("unimplemented: intercept");
+ break;
+ default:
+ var main = this.getMainComponent();
+ if(main && main.onMainKeyDown){
+ main.onMainKeyDown(e);
+ }
+ }
+
+ },
render: function () {
var eventlog;
if (this.getQuery()[Query.SHOW_EVENTLOG]) {
@@ -57,9 +77,9 @@ var ProxyAppMain = React.createClass({
eventlog = null;
}
return (
- <div id="container">
+ <div id="container" tabIndex="0" onKeyDown={this.onKeydown}>
<header.Header/>
- <RouteHandler query={this.getQuery()}/>
+ <RouteHandler ref="view" query={this.getQuery()}/>
{eventlog}
<Footer/>
</div>