diff --git a/browser/main/Components/PlanetHeader.jsx b/browser/main/Components/PlanetHeader.jsx index e09b52cd..00fb53f0 100644 --- a/browser/main/Components/PlanetHeader.jsx +++ b/browser/main/Components/PlanetHeader.jsx @@ -9,7 +9,8 @@ var PlanetHeader = React.createClass({ openSettingModal: React.PropTypes.func, currentPlanet: React.PropTypes.object, onSearchChange: React.PropTypes.func, - search: React.PropTypes.string + search: React.PropTypes.string, + openPersonalSettingModal: React.PropTypes.func }, getInitialState: function () { return { @@ -45,7 +46,7 @@ var PlanetHeader = React.createClass({ - + ) diff --git a/browser/main/Components/UserNavigator.jsx b/browser/main/Components/UserNavigator.jsx index dc65a758..af95da12 100644 --- a/browser/main/Components/UserNavigator.jsx +++ b/browser/main/Components/UserNavigator.jsx @@ -3,14 +3,13 @@ var ReactRouter = require('react-router') var Link = ReactRouter.Link var ModalBase = require('./ModalBase') -var PersonalSettingModal = require('./PersonalSettingModal') var PlanetCreateModal = require('./PlanetCreateModal') var ProfileImage = require('./ProfileImage') var AuthStore = require('../Stores/AuthStore') module.exports = React.createClass({ - mixins: [ReactRouter.Navigation], + mixins: [ReactRouter.Navigation, ReactRouter.State], propTypes: { currentPlanet: React.PropTypes.object, currentUser: React.PropTypes.object @@ -73,18 +72,14 @@ module.exports = React.createClass({ return (
- +
    {planets}
- - - - diff --git a/browser/main/Containers/PlanetContainer.jsx b/browser/main/Containers/PlanetContainer.jsx index 56275587..a116cf3b 100644 --- a/browser/main/Containers/PlanetContainer.jsx +++ b/browser/main/Containers/PlanetContainer.jsx @@ -13,6 +13,7 @@ var BlueprintEditModal = require('../Components/BlueprintEditModal') var BlueprintDeleteModal = require('../Components/BlueprintDeleteModal') var PlanetAddUserModal = require('../Components/PlanetAddUserModal') var PlanetSettingModal = require('../Components/PlanetSettingModal') +var PersonalSettingModal = require('../Components/PersonalSettingModal') var PlanetActions = require('../Actions/PlanetActions') @@ -99,7 +100,13 @@ module.exports = React.createClass({ currentUser: AuthStore.getUser(), currentPlanet: null, search: '', - isFetched: false + isFetched: false, + isLaunchModalOpen: false, + isEditModalOpen: false, + isDeleteModalOpen: false, + isAddUserModalOpen: false, + isSettingModalOpen: false, + isPersonalSettingModalOpen: false } }, componentDidMount: function () { @@ -448,6 +455,14 @@ module.exports = React.createClass({ this.focus() }) }, + openPersonalSettingModal: function () { + this.setState({isPersonalSettingModalOpen: true}) + }, + closePersonalSettingModal: function () { + this.setState({isPersonalSettingModalOpen: false}, function () { + this.focus() + }) + }, focus: function () { React.findDOMNode(this).focus() }, @@ -484,6 +499,13 @@ module.exports = React.createClass({ return } + if (this.state.isPersonalSettingModalOpen) { + if (e.keyCode === 27) { + this.closePersonalSettingModal() + } + return + } + // LaunchModal if ((e.keyCode === 13 && e.metaKey)) { e.preventDefault() @@ -604,8 +626,13 @@ module.exports = React.createClass({ + + + + + openSettingModal={this.openSettingModal} + openPersonalSettingModal={this.openPersonalSettingModal} onSearchChange={this.handleSearchChange} currentPlanet={this.state.currentPlanet}/>