mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-19 20:51:42 +00:00
add PlanetSettingModal(Only visible things)
This commit is contained in:
@@ -132,7 +132,7 @@ var BlueprintForm = React.createClass({
|
||||
<div className='modal-footer'>
|
||||
<button onClick={this.togglePreview} className='btn-default'>Toggle Preview</button>
|
||||
<div className='modal-control'>
|
||||
<button onClick={this.props.close} className='btn-default'>Cancle</button>
|
||||
<button onClick={this.props.close} className='btn-default'>Cancel</button>
|
||||
<button onClick={this.submit} className='btn-primary'>Launch</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -9,7 +9,6 @@ var BlueprintForm = require('./BlueprintForm')
|
||||
var LaunchModal = React.createClass({
|
||||
mixins: [Catalyst.LinkedStateMixin, ReactRouter.State],
|
||||
propTypes: {
|
||||
submit: React.PropTypes.func,
|
||||
close: React.PropTypes.func
|
||||
},
|
||||
getInitialState: function () {
|
||||
@@ -39,13 +38,6 @@ var LaunchModal = React.createClass({
|
||||
selectBlueprintTab: function () {
|
||||
this.setState({currentTab: 'blueprint'})
|
||||
},
|
||||
submit: function () {
|
||||
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()
|
||||
|
||||
@@ -2,8 +2,8 @@ var React = require('react/addons')
|
||||
|
||||
var PlanetHeader = React.createClass({
|
||||
propTypes: {
|
||||
openSettingModal: React.PropTypes.func,
|
||||
currentPlanet: React.PropTypes.object,
|
||||
currentUser: React.PropTypes.object,
|
||||
onSearchChange: React.PropTypes.func,
|
||||
search: React.PropTypes.string
|
||||
},
|
||||
@@ -27,7 +27,7 @@ var PlanetHeader = React.createClass({
|
||||
<div className='headerLabel'>
|
||||
<span className='userName'>{currentUserName}</span><br/>
|
||||
<span className='planetName'>{currentPlanetName}</span>
|
||||
<button className={'menuBtn'}>
|
||||
<button onClick={this.props.openSettingModal} className={'menuBtn'}>
|
||||
<i className='fa fa-gears'></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -6,9 +6,6 @@ var PlanetNavigator = React.createClass({
|
||||
name: React.PropTypes.string,
|
||||
Users: React.PropTypes.array
|
||||
}),
|
||||
currentUser: React.PropTypes.shape({
|
||||
name: React.PropTypes.string
|
||||
}),
|
||||
openLaunchModal: React.PropTypes.func,
|
||||
openAddUserModal: React.PropTypes.func
|
||||
},
|
||||
|
||||
106
browser/main/Components/PlanetSettingModal.jsx
Normal file
106
browser/main/Components/PlanetSettingModal.jsx
Normal file
@@ -0,0 +1,106 @@
|
||||
var React = require('react/addons')
|
||||
var Select = require('react-select')
|
||||
var Catalyst = require('../Mixins/Catalyst')
|
||||
|
||||
module.exports = React.createClass({
|
||||
mixins: [Catalyst.LinkedStateMixin],
|
||||
propTypes: {
|
||||
close: React.PropTypes.func,
|
||||
currentPlanet: React.PropTypes.object
|
||||
},
|
||||
getInitialState: function () {
|
||||
return {
|
||||
currentTab: 'planetProfile',
|
||||
planetName: this.props.currentPlanet.name,
|
||||
isDeletePlanetChecked: false
|
||||
}
|
||||
},
|
||||
activePlanetProfile: function () {
|
||||
this.setState({currentTab: 'planetProfile'})
|
||||
|
||||
},
|
||||
activeManageMember: function () {
|
||||
this.setState({currentTab: 'manageMember'})
|
||||
},
|
||||
doubleCheckDeletePlanet: function () {
|
||||
if (this.state.isDeletePlanetChecked) {
|
||||
console.log('delete it')
|
||||
return
|
||||
}
|
||||
this.setState({isDeletePlanetChecked: true})
|
||||
React.findDOMNode(this.refs.deleteCancelButton).focus()
|
||||
},
|
||||
cancelDeletePlanet: function () {
|
||||
this.setState({isDeletePlanetChecked: false})
|
||||
},
|
||||
interceptClick: function (e) {
|
||||
e.stopPropagation()
|
||||
},
|
||||
render: function () {
|
||||
var content
|
||||
if (this.state.currentTab === 'planetProfile') {
|
||||
content = (
|
||||
<div className='planetProfile'>
|
||||
<div className='planetProfileForm'>
|
||||
<label>Planet name </label>
|
||||
<input valueLink={this.linkState('planetName')} className='inline-input'/>
|
||||
<button className='saveButton btn-primary'>Save</button>
|
||||
</div>
|
||||
|
||||
<div className='planetDeleteForm'>
|
||||
<div className='planetDeleteControl'>
|
||||
<div className={'toggle' + (this.state.isDeletePlanetChecked ? '' : ' hide')}>
|
||||
<div className='planetDeleteLabel'>Are you sure to delete this planet?</div>
|
||||
<button ref='deleteCancelButton' onClick={this.cancelDeletePlanet} className='cancelButton btn-default'>Cancel</button>
|
||||
</div>
|
||||
<button onClick={this.doubleCheckDeletePlanet} className='deleteButton btn-primary'>{!this.state.isDeletePlanetChecked ? 'Delete Planet' : 'Confirm'}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
} else {
|
||||
var members = this.props.currentPlanet.Users.map(function (user) {
|
||||
return (
|
||||
<li key={'user-' + user.id}>
|
||||
<img className='userPhoto' width='44' height='44' src='../vendor/dummy.jpg'/>
|
||||
<div className='userName'>{user.name}</div>
|
||||
<div className='userControl'>
|
||||
{this.props.currentPlanet.OwnerId !== user.id ? <button className='btn-default'>Delete</button> : <span className='ownerLabel'>Owner</span>}
|
||||
</div>
|
||||
</li>
|
||||
)
|
||||
}.bind(this))
|
||||
|
||||
content = (
|
||||
<div className='manageMember'>
|
||||
<ul className='userList'>
|
||||
{members}
|
||||
</ul>
|
||||
<div className='addUserForm'>
|
||||
<div className='addUserLabel'>Invite user</div>
|
||||
<div className='addUserControl'>
|
||||
<Select className='addUserSelect'/>
|
||||
<button className='addUserSubmit btn-primary'>Invite</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<div onClick={this.interceptClick} className='PlanetSettingModal modal'>
|
||||
<div className='settingNav'>
|
||||
<h1>Planet setting</h1>
|
||||
<nav>
|
||||
<button className={this.state.currentTab === 'planetProfile' ? 'active' : ''} onClick={this.activePlanetProfile}><i className='fa fa-globe'/> Planet profile</button>
|
||||
<button className={this.state.currentTab === 'manageMember' ? 'active' : ''} onClick={this.activeManageMember}><i className='fa fa-group'/> Manage member</button>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div className='settingBody'>
|
||||
{content}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
})
|
||||
@@ -121,7 +121,7 @@ var SnippetForm = React.createClass({
|
||||
</div>
|
||||
<div className='modal-footer'>
|
||||
<div className='modal-control'>
|
||||
<button onClick={this.props.close} className='btn-default'>Cancle</button>
|
||||
<button onClick={this.props.close} className='btn-default'>Cancel</button>
|
||||
<button onClick={this.submit} className='btn-primary'>{this.props.snippet == null ? 'Launch' : 'Relaunch'}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user