Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
web-interface.assets.29.29.398f142459d9edb998e6.js Maven / Gradle / Ivy
webpackJsonp([29],{987:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nvar React = __webpack_require__(1);\nvar Immutable = __webpack_require__(21);\nvar Row = __webpack_require__(2).Row;\nvar Col = __webpack_require__(2).Col;\nvar Button = __webpack_require__(2).Button;\nvar Input = __webpack_require__(2).Input;\nvar FormControls = __webpack_require__(2).FormControls;\nvar Alert = __webpack_require__(2).Alert;\n\nvar PermissionSelector = __webpack_require__(990);\nvar PermissionsMixin = __webpack_require__(25);\n\nvar EditRole = React.createClass({\n displayName: 'EditRole',\n\n mixins: [PermissionsMixin],\n\n propTypes: {\n initialRole: React.PropTypes.object,\n onSave: React.PropTypes.func.isRequired,\n cancelEdit: React.PropTypes.func.isRequired,\n streams: React.PropTypes.object,\n dashboards: React.PropTypes.object\n },\n\n getInitialState: function getInitialState() {\n var role = this.props.initialRole;\n if (role === null) {\n // for the create dialog\n role = { name: null, description: null, permissions: [] };\n }\n return {\n role: role,\n initialName: this._safeRoleName(this.props.initialRole)\n };\n },\n\n _safeRoleName: function _safeRoleName(role) {\n return role === null ? null : role.name;\n },\n\n componentWillReceiveProps: function componentWillReceiveProps(newProps) {\n this.setState({ role: newProps.initialRole, initialName: this._safeRoleName(newProps.initialRole) });\n },\n\n _setName: function _setName(ev) {\n var role = this.state.role;\n role.name = ev.target.value;\n this.setState({ role: this.state.role });\n },\n _setDescription: function _setDescription(ev) {\n var role = this.state.role;\n role.description = ev.target.value;\n this.setState({ role: this.state.role });\n },\n\n _updatePermissions: function _updatePermissions(addedPerms, deletedPerms) {\n var role = this.state.role;\n role.permissions = Immutable.Set(role.permissions).subtract(deletedPerms).union(addedPerms).toJS();\n this.setState({ role: role });\n },\n\n _saveDisabled: function _saveDisabled() {\n return this.state.role === null || this.state.role.name === null || this.state.role.name === '' || this.state.role.permissions.length === 0;\n },\n\n render: function render() {\n var _this = this;\n\n var titleText = undefined;\n if (this.state.initialName === null) {\n titleText = 'Create a new role';\n } else {\n titleText = 'Edit role ' + this.state.initialName;\n }\n\n var saveDisabled = this._saveDisabled();\n var saveDisabledAlert = null;\n if (saveDisabled) {\n saveDisabledAlert = React.createElement(\n Alert,\n { bsStyle: 'warning', style: { marginBottom: 10 } },\n 'Please name the role and select at least one permission to save it.'\n );\n }\n\n return React.createElement(\n Row,\n null,\n React.createElement(\n Col,\n { md: 12 },\n React.createElement(\n 'h1',\n null,\n titleText\n ),\n React.createElement(\n 'div',\n { style: { marginTop: 10 } },\n React.createElement(Input, { id: 'role-name', type: 'text', label: 'Name', onChange: this._setName, value: this.state.role.name,\n required: true }),\n React.createElement(Input, { id: 'role-description', type: 'text', label: 'Description', onChange: this._setDescription,\n value: this.state.role.description }),\n React.createElement(FormControls.Static, { label: 'Permissions', help: 'Select the permissions for this role', className: 'hidden' }),\n React.createElement(PermissionSelector, { streams: this.props.streams,\n dashboards: this.props.dashboards,\n permissions: Immutable.Set(this.state.role.permissions),\n onChange: this._updatePermissions\n }),\n React.createElement('hr', null),\n saveDisabledAlert,\n React.createElement(\n Button,\n { onClick: function (ev) {\n return _this.props.onSave(_this.state.initialName, _this.state.role);\n }, style: { marginRight: 5 }, bsStyle: 'primary', disabled: saveDisabled },\n 'Save'\n ),\n React.createElement(\n Button,\n { onClick: this.props.cancelEdit },\n 'Cancel'\n )\n )\n )\n );\n }\n});\n\nmodule.exports = EditRole;\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"EditRole.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/users/EditRole.jsx\n ** module id = 987\n ** module chunks = 29\n **/\n//# sourceURL=webpack:///./src/components/users/EditRole.jsx?")},990:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _immutable = __webpack_require__(21);\n\nvar _immutable2 = _interopRequireDefault(_immutable);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _commonTableList = __webpack_require__(359);\n\nvar _commonTableList2 = _interopRequireDefault(_commonTableList);\n\nvar PermissionSelector = _react2['default'].createClass({\n displayName: 'PermissionSelector',\n\n propTypes: {\n onChange: _react2['default'].PropTypes.func,\n streams: _react2['default'].PropTypes.object,\n dashboards: _react2['default'].PropTypes.object,\n permissions: _react2['default'].PropTypes.object\n },\n\n render: function render() {\n var _this = this;\n\n var streamItemButtons = function streamItemButtons(stream) {\n var isRead = _this.props.permissions.contains('streams:read:' + stream.id);\n var isEdit = _this.props.permissions.contains('streams:edit:' + stream.id);\n return _react2['default'].createElement(\n _reactBootstrap.ButtonGroup,\n { bsSize: 'small' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: isRead ? 'info' : 'default', onClick: function () {\n return _this._toggleStreamReadPermissions(stream);\n },\n active: isRead },\n 'Allow reading'\n ),\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: isEdit ? 'info' : 'default', onClick: function () {\n return _this._toggleStreamEditPermissions(stream);\n },\n active: isEdit },\n 'Allow editing'\n )\n );\n };\n\n var multiStreamButtons = function multiStreamButtons(streamIds) {\n return _react2['default'].createElement(\n 'div',\n { className: 'pull-right', style: { marginTop: 10, marginBottom: 10 } },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsSize: 'xsmall', bsStyle: 'info', onClick: function () {\n return _this._toggleAllStreamsRead(streamIds);\n } },\n 'Toggle read permissions'\n ),\n ' ',\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsSize: 'xsmall', bsStyle: 'info', onClick: function () {\n return _this._toggleAllStreamsEdit(streamIds);\n } },\n 'Toggle edit permissions'\n )\n );\n };\n\n var dashboardItemButtons = function dashboardItemButtons(dashboard) {\n var isRead = _this.props.permissions.contains('dashboards:read:' + dashboard.id);\n var isEdit = _this.props.permissions.contains('dashboards:edit:' + dashboard.id);\n return _react2['default'].createElement(\n _reactBootstrap.ButtonGroup,\n { bsSize: 'small' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: isRead ? 'info' : 'default', onClick: function () {\n return _this._toggleDashboardReadPermissions(dashboard);\n },\n active: isRead },\n 'Allow reading'\n ),\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: isEdit ? 'info' : 'default', onClick: function () {\n return _this._toggleDashboardEditPermissions(dashboard);\n },\n active: isEdit },\n 'Allow editing'\n )\n );\n };\n\n var multiDashboardButtons = function multiDashboardButtons(dashboardIds) {\n return _react2['default'].createElement(\n 'div',\n { className: 'pull-right', style: { marginTop: 10, marginBottom: 10 } },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsSize: 'xsmall', bsStyle: 'info', onClick: function () {\n return _this._toggleAllDashboardsRead(dashboardIds);\n } },\n 'Toggle read permissions'\n ),\n ' ',\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsSize: 'xsmall', bsStyle: 'info', onClick: function () {\n return _this._toggleAllDashboardsEdit(dashboardIds);\n } },\n 'Toggle edit permissions'\n )\n );\n };\n\n return _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(\n _reactBootstrap.Tabs,\n { defaultActiveKey: 1, animation: false },\n _react2['default'].createElement(\n _reactBootstrap.Tab,\n { eventKey: 1, title: 'Streams' },\n _react2['default'].createElement(\n 'div',\n { style: { marginTop: 10 } },\n _react2['default'].createElement(_commonTableList2['default'], {\n items: this.props.streams,\n filterLabel: 'Filter Streams',\n filterKeys: ['title'],\n itemActionsFactory: streamItemButtons,\n headerActionsFactory: multiStreamButtons\n })\n )\n ),\n _react2['default'].createElement(\n _reactBootstrap.Tab,\n { eventKey: 2, title: 'Dashboards' },\n _react2['default'].createElement(\n 'div',\n { style: { marginTop: 10 } },\n _react2['default'].createElement(_commonTableList2['default'], {\n items: this.props.dashboards,\n filterLabel: 'Filter Dashboards',\n filterKeys: ['title'],\n itemActionsFactory: dashboardItemButtons,\n headerActionsFactory: multiDashboardButtons\n })\n )\n )\n )\n );\n },\n\n /*\n * onClick actions for single edits\n */\n _toggleStreamReadPermissions: function _toggleStreamReadPermissions(stream) {\n this._toggleReadPermissions('streams', _immutable2['default'].Set.of(stream.id));\n },\n\n _toggleStreamEditPermissions: function _toggleStreamEditPermissions(stream) {\n this._toggleEditPermissions('streams', _immutable2['default'].Set.of(stream.id));\n },\n\n _toggleDashboardReadPermissions: function _toggleDashboardReadPermissions(dashboard) {\n this._toggleReadPermissions('dashboards', _immutable2['default'].Set.of(dashboard.id));\n },\n\n _toggleDashboardEditPermissions: function _toggleDashboardEditPermissions(dashboard) {\n this._toggleEditPermissions('dashboards', _immutable2['default'].Set.of(dashboard.id));\n },\n\n /*\n * onClick actions for bulk edits\n */\n\n _toggleAllStreamsRead: function _toggleAllStreamsRead(streamIds) {\n this._toggleReadPermissions('streams', streamIds);\n },\n\n _toggleAllStreamsEdit: function _toggleAllStreamsEdit(streamIds) {\n this._toggleEditPermissions('streams', streamIds);\n },\n\n _toggleAllDashboardsRead: function _toggleAllDashboardsRead(dashboardIds) {\n this._toggleReadPermissions('dashboards', dashboardIds);\n },\n\n _toggleAllDashboardsEdit: function _toggleAllDashboardsEdit(dashboardIds) {\n this._toggleEditPermissions('dashboards', dashboardIds);\n },\n\n _toggleReadPermissions: function _toggleReadPermissions(target, idList) {\n var _this2 = this;\n\n var added = _immutable2['default'].Set.of();\n var deleted = _immutable2['default'].Set.of();\n\n idList.forEach(function (id) {\n var readTarget = target + ':read:' + id;\n var editTarget = target + ':edit:' + id;\n\n if (_this2.props.permissions.contains(readTarget)) {\n deleted = deleted.add(readTarget).add(editTarget);\n } else {\n added = added.add(readTarget);\n }\n }, this);\n this.props.onChange(added, deleted);\n },\n _toggleEditPermissions: function _toggleEditPermissions(target, idList) {\n var _this3 = this;\n\n var added = _immutable2['default'].Set.of();\n var deleted = _immutable2['default'].Set.of();\n\n idList.forEach(function (id) {\n var readTarget = target + ':read:' + id;\n var editTarget = target + ':edit:' + id;\n\n if (_this3.props.permissions.contains(editTarget)) {\n deleted = deleted.add(editTarget);\n } else {\n added = added.add(readTarget).add(editTarget);\n }\n }, this);\n this.props.onChange(added, deleted);\n }\n});\n\nexports['default'] = PermissionSelector;\nmodule.exports = exports['default'];\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"PermissionSelector.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/users/PermissionSelector.jsx\n ** module id = 990\n ** module chunks = 29\n **/\n//# sourceURL=webpack:///./src/components/users/PermissionSelector.jsx?")},991:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nvar React = __webpack_require__(1);\nvar Immutable = __webpack_require__(21);\n\nvar Button = __webpack_require__(2).Button;\n\nvar DataTable = __webpack_require__(142);\nvar PermissionsMixin = __webpack_require__(25);\n\nvar RoleList = React.createClass({\n displayName: 'RoleList',\n\n mixins: [PermissionsMixin],\n\n propTypes: {\n roles: React.PropTypes.instanceOf(Immutable.Set).isRequired,\n showEditRole: React.PropTypes.func.isRequired,\n deleteRole: React.PropTypes.func.isRequired,\n createRole: React.PropTypes.func.isRequired\n },\n\n _headerCellFormatter: function _headerCellFormatter(header) {\n var className = header === 'Actions' ? 'actions' : '';\n return React.createElement(\n 'th',\n { className: className },\n header\n );\n },\n _roleInfoFormatter: function _roleInfoFormatter(role) {\n var _this = this;\n\n var actions = [React.createElement(\n 'button',\n { key: 'delete', className: 'btn btn-primary btn-xs', onClick: function () {\n return _this.props.deleteRole(role);\n }, title: 'Delete role' },\n 'Delete'\n ), React.createElement(\n 'span',\n { key: 'space' },\n ' '\n ), React.createElement(\n 'button',\n { key: 'edit', className: 'btn btn-info btn-xs', onClick: function () {\n return _this.props.showEditRole(role);\n }, title: 'Edit role' },\n 'Edit'\n )];\n\n return React.createElement(\n 'tr',\n { key: role.name },\n React.createElement(\n 'td',\n null,\n role.name\n ),\n React.createElement(\n 'td',\n { className: 'limited' },\n role.description\n ),\n React.createElement(\n 'td',\n null,\n role.read_only ? null : actions\n )\n );\n },\n render: function render() {\n var filterKeys = [\"name\", \"description\"];\n var headers = [\"Name\", \"Description\", \"Actions\"];\n\n return React.createElement(\n 'div',\n null,\n React.createElement(\n DataTable,\n { id: 'role-list',\n className: 'table-hover',\n headers: headers,\n headerCellFormatter: this._headerCellFormatter,\n sortByKey: \"name\",\n rows: this.props.roles.toJS(),\n filterBy: 'Name',\n dataRowFormatter: this._roleInfoFormatter,\n filterLabel: 'Filter Roles',\n filterKeys: filterKeys },\n React.createElement(\n 'div',\n { className: 'pull-right' },\n React.createElement(\n Button,\n { bsStyle: 'success', onClick: this.props.createRole },\n 'Add new role'\n )\n )\n )\n );\n }\n});\n\nmodule.exports = RoleList;\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"RoleList.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/users/RoleList.jsx\n ** module id = 991\n ** module chunks = 29\n **/\n//# sourceURL=webpack:///./src/components/users/RoleList.jsx?")},992:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _immutable = __webpack_require__(21);\n\nvar _immutable2 = _interopRequireDefault(_immutable);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _utilUserNotification = __webpack_require__(7);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar _componentsUsersRoleList = __webpack_require__(991);\n\nvar _componentsUsersRoleList2 = _interopRequireDefault(_componentsUsersRoleList);\n\nvar _componentsUsersEditRole = __webpack_require__(987);\n\nvar _componentsUsersEditRole2 = _interopRequireDefault(_componentsUsersEditRole);\n\nvar StreamsStore = _injectionStoreProvider2['default'].getStore('Streams');\nvar DashboardsStore = _injectionStoreProvider2['default'].getStore('Dashboards');\nvar RolesStore = _injectionStoreProvider2['default'].getStore('Roles');\n\nvar RolesComponent = _react2['default'].createClass({\n displayName: 'RolesComponent',\n\n getInitialState: function getInitialState() {\n return {\n roles: _immutable2['default'].Set(),\n rolesLoaded: false,\n editRole: null,\n streams: _immutable2['default'].List(),\n dashboards: _immutable2['default'].List()\n };\n },\n componentDidMount: function componentDidMount() {\n var _this = this;\n\n this.loadRoles();\n StreamsStore.load(function (streams) {\n return _this.setState({ streams: _immutable2['default'].List(streams) });\n });\n DashboardsStore.listDashboards().then(function (dashboards) {\n return _this.setState({ dashboards: dashboards });\n });\n },\n\n loadRoles: function loadRoles() {\n var _this2 = this;\n\n var promise = RolesStore.loadRoles();\n promise.then(function (roles) {\n _this2.setState({ roles: _immutable2['default'].Set(roles), rolesLoaded: true });\n });\n },\n\n _showCreateRole: function _showCreateRole() {\n this.setState({ showEditRole: true });\n },\n _showEditRole: function _showEditRole(role) {\n this.setState({ showEditRole: true, editRole: role });\n },\n _deleteRole: function _deleteRole(role) {\n var _this3 = this;\n\n if (window.confirm('Do you really want to delete role ' + role.name + '?')) {\n RolesStore.getMembers(role.name).then(function (membership) {\n if (membership.users.length !== 0) {\n _utilUserNotification2['default'].error('Cannot delete role ' + role.name + '. It is still assigned to ' + membership.users.length + ' users.');\n } else {\n RolesStore.deleteRole(role.name).then(_this3.loadRoles);\n }\n });\n }\n },\n _saveRole: function _saveRole(initialName, role) {\n if (initialName === null) {\n RolesStore.createRole(role).then(this._clearEditRole).then(this.loadRoles);\n } else {\n RolesStore.updateRole(initialName, role).then(this._clearEditRole).then(this.loadRoles);\n }\n },\n _clearEditRole: function _clearEditRole() {\n this.setState({ showEditRole: false, editRole: null });\n },\n\n render: function render() {\n var content = null;\n if (!this.state.rolesLoaded) {\n content = _react2['default'].createElement(\n 'span',\n null,\n 'Loading roles...'\n );\n } else if (this.state.showEditRole) {\n content = _react2['default'].createElement(_componentsUsersEditRole2['default'], { initialRole: this.state.editRole, streams: this.state.streams, dashboards: this.state.dashboards,\n onSave: this._saveRole, cancelEdit: this._clearEditRole });\n } else {\n content = _react2['default'].createElement(_componentsUsersRoleList2['default'], { roles: this.state.roles,\n showEditRole: this._showEditRole,\n deleteRole: this._deleteRole,\n createRole: this._showCreateRole });\n }\n return _react2['default'].createElement(\n _reactBootstrap.Row,\n null,\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 12 },\n content\n )\n );\n }\n});\n\nexports['default'] = RolesComponent;\nmodule.exports = exports['default'];\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"RolesComponent.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/users/RolesComponent.jsx\n ** module id = 992\n ** module chunks = 29\n **/\n//# sourceURL=webpack:///./src/components/users/RolesComponent.jsx?")},1049:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _utilDocsHelper = __webpack_require__(17);\n\nvar _utilDocsHelper2 = _interopRequireDefault(_utilDocsHelper);\n\nvar _componentsCommonPageHeader = __webpack_require__(38);\n\nvar _componentsCommonPageHeader2 = _interopRequireDefault(_componentsCommonPageHeader);\n\nvar _componentsSupportDocumentationLink = __webpack_require__(22);\n\nvar _componentsSupportDocumentationLink2 = _interopRequireDefault(_componentsSupportDocumentationLink);\n\nvar _componentsUsersRolesComponent = __webpack_require__(992);\n\nvar _componentsUsersRolesComponent2 = _interopRequireDefault(_componentsUsersRolesComponent);\n\nvar RolesPage = _react2['default'].createClass({\n displayName: 'RolesPage',\n\n render: function render() {\n return _react2['default'].createElement(\n 'span',\n null,\n _react2['default'].createElement(\n _componentsCommonPageHeader2['default'],\n { title: 'Roles', subpage: true },\n _react2['default'].createElement(\n 'span',\n null,\n 'Roles bundle permissions which can be assigned to multiple users at once'\n )\n ),\n _react2['default'].createElement(\n _reactBootstrap.Row,\n null,\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 12 },\n _react2['default'].createElement(_componentsUsersRolesComponent2['default'], null)\n )\n )\n );\n }\n});\n\nexports['default'] = RolesPage;\nmodule.exports = exports['default'];\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"RolesPage.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-loader!./~/babel-loader!./src/pages/RolesPage.jsx\n ** module id = 1049\n ** module chunks = 29\n **/\n//# sourceURL=webpack:///./src/pages/RolesPage.jsx?./~/react-hot-loader!./~/babel-loader")}});