UNPKG

kibana-with-account

Version:

kibana-with-account is develop based kibana project

91 lines (76 loc) 2.39 kB
var React = require('react/addons'); var ReactRouter = require('react-router'); var IdentityForm = require('./IdentityForm'); var RolesForm = require('./RolesForm'); var PasswordForm = require('./PasswordForm'); var DeleteForm = require('./DeleteForm'); var UserStore = require('../../stores/User'); var Actions = require('../../actions/User'); var LinkedState = React.addons.LinkedStateMixin; var Link = ReactRouter.Link; var Component = React.createClass({ mixins: [LinkedState], contextTypes: { router: React.PropTypes.func }, getInitialState: function () { UserStore.resetIdentity(); UserStore.resetPassword(); UserStore.resetDelete(); Actions.getIdentity(this.context.router.getCurrentParams()); return { identity: UserStore.getIdentity(), password: UserStore.getPassword(), delete: UserStore.getDelete() }; }, componentDidMount: function () { UserStore.addChangeListener(this.onStoreChange); }, componentWillUnmount: function () { UserStore.removeChangeListener(this.onStoreChange); }, onStoreChange: function () { this.setState({ identity: UserStore.getIdentity(), password: UserStore.getPassword(), delete: UserStore.getDelete() }); }, render: function () { if (this.state.identity.hydrated && this.state.identity.fetchFailure) { return ( <section className="section-user-details container"> <h1 className="page-header"> <Link to="users">Users</Link> / Error </h1> <div className="alert alert-danger"> {this.state.identity.error} </div> </section> ); } return ( <section className="section-user-details container"> <h1 className="page-header"> <Link to="users">Users</Link> / {this.state.identity.username} </h1> <div className="row"> <div className="col-sm-6"> <IdentityForm data={this.state.identity}/> <RolesForm data={this.state.identity}/> <PasswordForm data={this.state.password} identity={this.state.identity} /> <DeleteForm data={this.state.delete} details={this.state.identity} /> </div> </div> </section> ); } }); module.exports = Component;