var React = require('react/addons') var request = require('superagent') var Select = require('react-select') var Catalyst = require('../Mixins/Catalyst') var ProfileImage = require('./ProfileImage') var PlanetActions = require('../Actions/PlanetActions') var apiUrl = require('../../../config').apiUrl var getOptions = function (input, callback) { request .get(apiUrl + 'users/search') .query({name: input}) .send() .end(function (err, res) { if (err) { callback(err) return } callback(null, { options: res.body.map(function (user) { return { label: user.name, value: user.name } }), complete: false }) }) } 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, userName: '' } }, activePlanetProfile: function () { this.setState({currentTab: 'planetProfile'}) }, activeMembers: function () { this.setState({currentTab: 'members'}) }, saveProfile: function () { var currentPlanet = this.props.currentPlanet PlanetActions.changeName(currentPlanet.userName, currentPlanet.name, this.state.planetName) }, handleChange: function (value) { this.setState({userName: value}) }, addUser: function () { PlanetActions.addUser(this.props.currentPlanet.userName + '/' + this.props.currentPlanet.name, this.state.userName) }, removeUser: function (userName) { return function () { PlanetActions.removeUser(this.props.currentPlanet.userName + '/' + this.props.currentPlanet.name, userName) }.bind(this) }, doubleCheckDeletePlanet: function () { if (this.state.isDeletePlanetChecked) { PlanetActions.deletePlanet(this.props.currentPlanet.userName, this.props.currentPlanet.name) 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 = (
Are you sure to delete this planet?
) } else { var members = this.props.currentPlanet.Users.map(function (user) { return (
  • {user.name}
    {this.props.currentPlanet.OwnerId !== user.id ? : Owner}
  • ) }.bind(this)) content = (
    Invite user