From 16b60ada50822445bbfde0a51adbb58eff6abd93 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Sun, 19 Jul 2015 03:19:41 +0900 Subject: [PATCH] add hotkey --- browser/main/Components/BlueprintForm.jsx | 7 ++++++- browser/main/Components/LaunchModal.jsx | 11 +++++++++-- browser/main/Components/PlanetNavigator.jsx | 13 ++++++++++++- browser/main/Components/SnippetForm.jsx | 7 ++++++- browser/main/Containers/PlanetContainer.jsx | 2 +- 5 files changed, 34 insertions(+), 6 deletions(-) diff --git a/browser/main/Components/BlueprintForm.jsx b/browser/main/Components/BlueprintForm.jsx index 05aaf1da..2422a81f 100644 --- a/browser/main/Components/BlueprintForm.jsx +++ b/browser/main/Components/BlueprintForm.jsx @@ -91,6 +91,11 @@ var BlueprintForm = React.createClass({ PlanetActions.updateBlueprint(blueprintId, blueprint) } }, + handleKeyDown: function (e) { + if (e.keyCode === 13 && e.metaKey) { + this.submit() + } + }, render: function () { var content = this.state.mode === BlueprintForm.EDIT_MODE ? (
@@ -104,7 +109,7 @@ var BlueprintForm = React.createClass({ ) return ( -
+
diff --git a/browser/main/Components/LaunchModal.jsx b/browser/main/Components/LaunchModal.jsx index a610655a..ceddafa5 100644 --- a/browser/main/Components/LaunchModal.jsx +++ b/browser/main/Components/LaunchModal.jsx @@ -40,13 +40,20 @@ var LaunchModal = React.createClass({ this.setState({currentTab: 'blueprint'}) }, submit: function () { - // this.props.submit('yolo') if (this.state.currentTab === 'snippet') { console.log(this.state.snippet) } else { console.log(this.state.blueprint) } }, + handleKeyDown: function (e) { + if (e.keyCode === 37 && e.metaKey) { + this.selectSnippetTab() + } + if (e.keyCode === 39 && e.metaKey) { + this.selectBlueprintTab() + } + }, render: function () { var modalBody if (this.state.currentTab === 'snippet') { @@ -60,7 +67,7 @@ var LaunchModal = React.createClass({ } return ( -
+
diff --git a/browser/main/Components/PlanetNavigator.jsx b/browser/main/Components/PlanetNavigator.jsx index ee42b80b..57a6255e 100644 --- a/browser/main/Components/PlanetNavigator.jsx +++ b/browser/main/Components/PlanetNavigator.jsx @@ -17,8 +17,19 @@ var PlanetNavigator = React.createClass({ isLaunchModalOpen: false } }, + handleKeyDown: function (e) { + if (e.keyCode === 13 && e.metaKey) { + e.preventDefault() + this.openLaunchModal() + } + }, + componentDidMount: function () { + document.addEventListener('keydown', this.handleKeyDown, false) + }, + componentWillUnmount: function () { + document.removeEventListener('keydown', this.handleKeyDown, false) + }, openLaunchModal: function () { - console.log('and...OPEN!!') this.setState({isLaunchModalOpen: true}) }, closeLaunchModal: function () { diff --git a/browser/main/Components/SnippetForm.jsx b/browser/main/Components/SnippetForm.jsx index c15081b2..d5c6732f 100644 --- a/browser/main/Components/SnippetForm.jsx +++ b/browser/main/Components/SnippetForm.jsx @@ -83,9 +83,14 @@ var SnippetForm = React.createClass({ PlanetActions.updateSnippet(snippetId, snippet) } }, + handleKeyDown: function (e) { + if (e.keyCode === 13 && e.metaKey) { + this.submit() + } + }, render: function () { return ( -
+