diff --git a/browser/main/Components/BlueprintDeleteModal.jsx b/browser/main/Components/BlueprintDeleteModal.jsx index d5b4a852..5c4509f8 100644 --- a/browser/main/Components/BlueprintDeleteModal.jsx +++ b/browser/main/Components/BlueprintDeleteModal.jsx @@ -9,6 +9,7 @@ var BlueprintDeleteModal = React.createClass({ }, componentDidMount: function () { this.unsubscribe = PlanetStore.listen(this.onListen) + React.findDOMNode(this.refs.submit).focus() }, componentWillUnmount: function () { this.unsubscribe() @@ -23,12 +24,18 @@ var BlueprintDeleteModal = React.createClass({ stopPropagation: function (e) { e.stopPropagation() }, + handleKeyDown: function (e) { + if ((e.keyCode === 13 && e.metaKey)) { + e.preventDefault() + this.submit() + } + }, submit: function () { PlanetActions.deleteBlueprint(this.props.blueprint.id) }, render: function () { return ( -
+

Delete Blueprint

@@ -37,8 +44,8 @@ var BlueprintDeleteModal = React.createClass({
- - + +
diff --git a/browser/main/Components/BlueprintForm.jsx b/browser/main/Components/BlueprintForm.jsx index 2422a81f..34c643eb 100644 --- a/browser/main/Components/BlueprintForm.jsx +++ b/browser/main/Components/BlueprintForm.jsx @@ -94,6 +94,7 @@ var BlueprintForm = React.createClass({ handleKeyDown: function (e) { if (e.keyCode === 13 && e.metaKey) { this.submit() + e.stopPropagation() } }, render: function () { diff --git a/browser/main/Components/ModalBase.jsx b/browser/main/Components/ModalBase.jsx index 0a18a31b..c28866dd 100644 --- a/browser/main/Components/ModalBase.jsx +++ b/browser/main/Components/ModalBase.jsx @@ -9,7 +9,7 @@ var ModalBase = React.createClass({ render: function () { if (this.props.isOpen) { return ( -
+
{this.props.children}
) diff --git a/browser/main/Components/PlanetArticleDetail.jsx b/browser/main/Components/PlanetArticleDetail.jsx index 743fdbce..3ef7ad3a 100644 --- a/browser/main/Components/PlanetArticleDetail.jsx +++ b/browser/main/Components/PlanetArticleDetail.jsx @@ -2,11 +2,6 @@ var React = require('react/addons') var moment = require('moment') var CodeViewer = require('../Components/CodeViewer') -var ModalBase = require('../Components/ModalBase') -var SnippetEditModal = require('../Components/SnippetEditModal') -var SnippetDeleteModal = require('../Components/SnippetDeleteModal') -var BlueprintEditModal = require('../Components/BlueprintEditModal') -var BlueprintDeleteModal = require('../Components/BlueprintDeleteModal') var ForceUpdate = require('../Mixins/ForceUpdate') var Markdown = require('../Mixins/Markdown') @@ -14,31 +9,15 @@ var Markdown = require('../Mixins/Markdown') var PlanetArticleDetail = React.createClass({ mixins: [ForceUpdate(60000), Markdown], propTypes: { - article: React.PropTypes.object + article: React.PropTypes.object, + onOpenEditModal: React.PropTypes.func, + onOpenDeleteModal: React.PropTypes.func }, getInitialState: function () { return { isEditModalOpen: false } }, - openEditModal: function () { - this.setState({isEditModalOpen: true}) - }, - closeEditModal: function () { - this.setState({isEditModalOpen: false}) - }, - submitEditModal: function () { - this.setState({isEditModalOpen: false}) - }, - openDeleteModal: function () { - this.setState({isDeleteModalOpen: true}) - }, - closeDeleteModal: function () { - this.setState({isDeleteModalOpen: false}) - }, - submitDeleteModal: function () { - this.setState({isDeleteModalOpen: false}) - }, render: function () { var article = this.props.article @@ -55,17 +34,9 @@ var PlanetArticleDetail = React.createClass({
{article.callSign} {moment(article.updatedAt).fromNow()} - - + + - - - - - - - -
@@ -84,17 +55,9 @@ var PlanetArticleDetail = React.createClass({
{article.title} {moment(article.updatedAt).fromNow()} - - + + - - - - - - - -
{tags}
diff --git a/browser/main/Components/PlanetArticleList.jsx b/browser/main/Components/PlanetArticleList.jsx index 2fe6474b..6ace43b5 100644 --- a/browser/main/Components/PlanetArticleList.jsx +++ b/browser/main/Components/PlanetArticleList.jsx @@ -8,20 +8,10 @@ var Markdown = require('../Mixins/Markdown') var PlanetArticleList = React.createClass({ mixins: [ReactRouter.Navigation, ReactRouter.State, ForceUpdate(60000), Markdown], propTypes: { - articles: React.PropTypes.array, - onPressDown: React.PropTypes.func, - onPressUp: React.PropTypes.func + articles: React.PropTypes.array }, handleKeyDown: function (e) { - switch (e.keyCode) { - case 38: - e.preventDefault() - this.props.onPressUp() - break - case 40: - e.preventDefault() - this.props.onPressDown() - } + e.preventDefault() }, render: function () { var articles = this.props.articles.map(function (article) { diff --git a/browser/main/Components/PlanetHeader.jsx b/browser/main/Components/PlanetHeader.jsx index 3de10cc6..72cef356 100644 --- a/browser/main/Components/PlanetHeader.jsx +++ b/browser/main/Components/PlanetHeader.jsx @@ -8,7 +8,8 @@ var PlanetHeader = React.createClass({ }, getInitialState: function () { return { - isMenuDropDownOpen: false + isMenuDropDownOpen: false, + search: '' } }, componentDidMount: function () { @@ -32,6 +33,11 @@ var PlanetHeader = React.createClass({ this.setState({search: e.target.value}) this.props.onSearchChange(e.target.value) }, + handleKeyDown: function (e) { + if (e.keyCode === 27) { + React.findDOMNode(this.refs.search).blur() + } + }, render: function () { var currentPlanetName = this.props.currentPlanet.name @@ -48,7 +54,7 @@ var PlanetHeader = React.createClass({
- + Download Mac app
diff --git a/browser/main/Components/PlanetNavigator.jsx b/browser/main/Components/PlanetNavigator.jsx index 57a6255e..318d3515 100644 --- a/browser/main/Components/PlanetNavigator.jsx +++ b/browser/main/Components/PlanetNavigator.jsx @@ -1,8 +1,5 @@ var React = require('react/addons') -var ModalBase = require('../Components/ModalBase') -var LaunchModal = require('../Components/LaunchModal') - var PlanetNavigator = React.createClass({ propTypes: { currentPlanet: React.PropTypes.shape({ @@ -10,31 +7,14 @@ var PlanetNavigator = React.createClass({ }), currentUser: React.PropTypes.shape({ name: React.PropTypes.string - }) + }), + onOpenLaunchModal: React.PropTypes.func }, getInitialState: function () { return { 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 () { - this.setState({isLaunchModalOpen: true}) - }, - closeLaunchModal: function () { - this.setState({isLaunchModalOpen: false}) - }, submitLaunchModal: function (ret) { console.log(ret) this.setState({isLaunchModalOpen: false}) @@ -42,12 +22,9 @@ var PlanetNavigator = React.createClass({ render: function () { return (
- - - -