kibana-with-account
Version:
kibana-with-account is develop based kibana project
101 lines (85 loc) • 2.72 kB
JSX
var React = require('react/addons');
var ReactRouter = require('react-router');
var ControlGroup = require('../../../../components/form/ControlGroup');
var LinkedState = React.addons.LinkedStateMixin;
var Link = ReactRouter.Link;
var Component = React.createClass({
mixins: [LinkedState],
render: function () {
var notice;
if (!this.props.data.hydrated) {
notice = <div className="alert alert-info">
Loading data...
</div>;
}
var formElements;
if (this.props.data.hydrated) {
var roles = this.props.data.roles || {};
var rolesUi = [];
if (roles.account) {
rolesUi.push(
<ControlGroup key="account" label="Account" hideHelp={true}>
<div className="input-group">
<input
type="text"
className="form-control"
disabled={true}
value={roles.account.name}
/>
<span className="input-group-btn">
<Link
to="accountDetails"
params={{id: roles.account.id}}
className="btn btn-default">
View
</Link>
</span>
</div>
</ControlGroup>
);
}
if (roles.admin) {
rolesUi.push(
<ControlGroup key="admin" label="Admin" hideHelp={true}>
<div className="input-group">
<input
type="text"
className="form-control"
disabled={true}
value={roles.admin.name}
/>
<span className="input-group-btn">
<Link
to="adminDetails"
params={{id: roles.admin.id}}
className="btn btn-default">
View
</Link>
</span>
</div>
</ControlGroup>
);
}
if (rolesUi.length === 0) {
rolesUi.push(
<ControlGroup key="empty" hideLabel={true} hideHelp={true}>
<span className="label label-default">
no roles defined
</span>
</ControlGroup>
);
}
formElements = <fieldset>
<legend>Roles</legend>
{rolesUi}
</fieldset>;
}
return (
<form>
{notice}
{formElements}
</form>
);
}
});
module.exports = Component;