All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.13.13.9b1252c5f7bacb32b7e6.js Maven / Gradle / Ivy

There is a newer version: 6.0.6
Show newest version
webpackJsonp([13],{43:function(module,exports,__webpack_require__){eval("module.exports = (__webpack_require__(12))(336);\n\n/*****************\n ** WEBPACK FOOTER\n ** delegated ./node_modules/react-addons-linked-state-mixin/index.js from dll-reference __vendor\n ** module id = 43\n ** module chunks = 6 12 13 14 15 17 19\n **/\n//# sourceURL=webpack:///delegated_./node_modules/react-addons-linked-state-mixin/index.js_from_dll-reference___vendor?")},63: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 _interopRequire(obj) { return obj && obj.__esModule ? obj[\'default\'] : obj; }\n\nvar _CreateInputControl = __webpack_require__(105);\n\nexports.CreateInputControl = _interopRequire(_CreateInputControl);\n\nvar _InputDropdown = __webpack_require__(75);\n\nexports.InputDropdown = _interopRequire(_InputDropdown);\n\nvar _InputForm = __webpack_require__(219);\n\nexports.InputForm = _interopRequire(_InputForm);\n\nvar _InputListItem = __webpack_require__(106);\n\nexports.InputListItem = _interopRequire(_InputListItem);\n\nvar _InputsList = __webpack_require__(224);\n\nexports.InputsList = _interopRequire(_InputsList);\n\nvar _InputStateBadge = __webpack_require__(220);\n\nexports.InputStateBadge = _interopRequire(_InputStateBadge);\n\nvar _InputStateControl = __webpack_require__(221);\n\nexports.InputStateControl = _interopRequire(_InputStateControl);\n\nvar _InputThroughput = __webpack_require__(223);\n\nexports.InputThroughput = _interopRequire(_InputThroughput);\n\nvar _InputStaticFields = __webpack_require__(222);\n\nexports.InputStaticFields = _interopRequire(_InputStaticFields);\n\nvar _NodeOrGlobalSelect = __webpack_require__(225);\n\nexports.NodeOrGlobalSelect = _interopRequire(_NodeOrGlobalSelect);\n\nvar _StaticFieldForm = __webpack_require__(226);\n\nexports.StaticFieldForm = _interopRequire(_StaticFieldForm);\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 " + "index.jsx" + ": " + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/index.jsx\n ** module id = 63\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/index.jsx?')},75: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 _reactAddonsLinkedStateMixin = __webpack_require__(43);\n\nvar _reactAddonsLinkedStateMixin2 = _interopRequireDefault(_reactAddonsLinkedStateMixin);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _componentsCommonSpinner = __webpack_require__(26);\n\nvar _componentsCommonSpinner2 = _interopRequireDefault(_componentsCommonSpinner);\n\nvar InputDropdown = _react2['default'].createClass({\n  displayName: 'InputDropdown',\n\n  propTypes: {\n    inputs: _react.PropTypes.object,\n    title: _react.PropTypes.string,\n    preselectedInputId: _react.PropTypes.string,\n    onLoadMessage: _react.PropTypes.func,\n    disabled: _react.PropTypes.bool\n  },\n  mixins: [_reactAddonsLinkedStateMixin2['default']],\n  getInitialState: function getInitialState() {\n    return {\n      selectedInput: this.props.preselectedInputId || this.PLACEHOLDER\n    };\n  },\n  PLACEHOLDER: 'placeholder',\n  _formatInput: function _formatInput(input) {\n    return _react2['default'].createElement(\n      'option',\n      { key: input.id, value: input.id },\n      input.title,\n      ' (',\n      input.type,\n      ')'\n    );\n  },\n  _sortByTitle: function _sortByTitle(input1, input2) {\n    return input1.title.localeCompare(input2.title);\n  },\n  _onLoadMessage: function _onLoadMessage() {\n    this.props.onLoadMessage(this.state.selectedInput);\n  },\n  _formatStaticInput: function _formatStaticInput(input) {\n    return _react2['default'].createElement(\n      _reactBootstrap.Input,\n      { type: 'select', style: { float: 'left', width: 400, marginRight: 10 }, disabled: true },\n      _react2['default'].createElement(\n        'option',\n        null,\n        input.title + ' (' + input.type + ')'\n      )\n    );\n  },\n  render: function render() {\n    // When an input is pre-selected, show a static dropdown\n    if (this.props.inputs && this.props.preselectedInputId) {\n      return _react2['default'].createElement(\n        'div',\n        null,\n        this._formatStaticInput(this.props.inputs.get(this.props.preselectedInputId)),\n        _react2['default'].createElement(\n          _reactBootstrap.Button,\n          { bsStyle: 'info', disabled: this.state.selectedInput === this.PLACEHOLDER,\n            onClick: this._onLoadMessage },\n          this.props.title\n        )\n      );\n    }\n\n    if (this.props.inputs) {\n      var inputs = this.props.inputs.sort(this._sortByTitle).map(this._formatInput);\n      return _react2['default'].createElement(\n        'div',\n        null,\n        _react2['default'].createElement(\n          _reactBootstrap.Input,\n          { type: 'select', style: { float: 'left', width: 400, marginRight: 10 },\n            valueLink: this.linkState('selectedInput'), placeholder: this.PLACEHOLDER },\n          _react2['default'].createElement(\n            'option',\n            { value: this.PLACEHOLDER },\n            'Select an input'\n          ),\n          inputs.toArray()\n        ),\n        _react2['default'].createElement(\n          _reactBootstrap.Button,\n          { bsStyle: 'info', disabled: this.props.disabled || this.state.selectedInput === this.PLACEHOLDER,\n            onClick: this._onLoadMessage },\n          this.props.title\n        )\n      );\n    }\n\n    return _react2['default'].createElement(_componentsCommonSpinner2['default'], null);\n  }\n});\n\nexports['default'] = InputDropdown;\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 \" + \"InputDropdown.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/InputDropdown.jsx\n ** module id = 75\n ** module chunks = 13 14 17 19\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputDropdown.jsx?")},105: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 _reflux = __webpack_require__(4);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _componentsInputs = __webpack_require__(63);\n\nvar InputTypesActions = _injectionActionsProvider2['default'].getActions('InputTypes');\nvar InputsActions = _injectionActionsProvider2['default'].getActions('Inputs');\n\nvar InputTypesStore = _injectionStoreProvider2['default'].getStore('InputTypes');\n\nvar CreateInputControl = _react2['default'].createClass({\n  displayName: 'CreateInputControl',\n\n  mixins: [_reflux2['default'].connect(InputTypesStore)],\n  getInitialState: function getInitialState() {\n    return {\n      selectedInput: undefined,\n      selectedInputDefinition: undefined\n    };\n  },\n  _formatSelectOptions: function _formatSelectOptions() {\n    var _this = this;\n\n    var options = [];\n\n    if (this.state.inputTypes) {\n      var inputTypesIds = Object.keys(this.state.inputTypes);\n      options = inputTypesIds.map(function (id) {\n        return { value: id, label: _this.state.inputTypes[id] };\n      });\n      options.sort(function (inputTypeA, inputTypeB) {\n        return inputTypeA.label.toLowerCase().localeCompare(inputTypeB.label.toLowerCase());\n      });\n    } else {\n      options.push({ value: 'none', label: 'No inputs available', disabled: true });\n    }\n\n    return options;\n  },\n  _onInputSelect: function _onInputSelect(selectedInput) {\n    var _this2 = this;\n\n    if (selectedInput === '') {\n      this.setState(this.getInitialState());\n    }\n\n    this.setState({ selectedInput: selectedInput });\n    InputTypesActions.get.triggerPromise(selectedInput).then(function (inputDefinition) {\n      return _this2.setState({ selectedInputDefinition: inputDefinition });\n    });\n  },\n  _openModal: function _openModal(event) {\n    event.preventDefault();\n    this.refs.configurationForm.open();\n  },\n  _createInput: function _createInput(data) {\n    var _this3 = this;\n\n    InputsActions.create(data).then(function () {\n      _this3.setState(_this3.getInitialState());\n    });\n  },\n  render: function render() {\n    var inputModal = undefined;\n    if (this.state.selectedInputDefinition) {\n      var inputTypeName = this.state.inputTypes[this.state.selectedInput];\n      inputModal = _react2['default'].createElement(_componentsInputs.InputForm, { ref: 'configurationForm',\n        key: 'configuration-form-input',\n        configFields: this.state.selectedInputDefinition.requested_configuration,\n        title: _react2['default'].createElement(\n          'span',\n          null,\n          'Launch new ',\n          _react2['default'].createElement(\n            'em',\n            null,\n            inputTypeName\n          ),\n          ' input'\n        ),\n        helpBlock: \"Select a name of your new input that describes it.\",\n        typeName: this.state.selectedInput,\n        submitAction: this._createInput });\n    }\n    return _react2['default'].createElement(\n      _reactBootstrap.Row,\n      { className: 'content input-new' },\n      _react2['default'].createElement(\n        _reactBootstrap.Col,\n        { md: 12 },\n        _react2['default'].createElement(\n          'form',\n          { className: 'form-inline', onSubmit: this._openModal },\n          _react2['default'].createElement(\n            'div',\n            { className: 'form-group', style: { width: 300 } },\n            _react2['default'].createElement(_componentsCommon.Select, { placeholder: 'Select input', options: this._formatSelectOptions(), matchProp: 'label',\n              onValueChange: this._onInputSelect, value: this.state.selectedInput })\n          ),\n          ' ',\n          _react2['default'].createElement(\n            _reactBootstrap.Button,\n            { bsStyle: 'success', type: 'submit', disabled: !this.state.selectedInput },\n            'Launch new input'\n          ),\n          _react2['default'].createElement(\n            _reactBootstrap.Button,\n            { href: 'https://marketplace.graylog.org/', target: '_blank', bsStyle: 'info', style: { marginLeft: 10 } },\n            _react2['default'].createElement('i', { className: 'fa fa-external-link' }),\n            ' Find more inputs'\n          )\n        ),\n        inputModal\n      )\n    );\n  }\n});\n\nexports['default'] = CreateInputControl;\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 \" + \"CreateInputControl.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/CreateInputControl.jsx\n ** module id = 105\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/CreateInputControl.jsx?")},106: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 _reflux = __webpack_require__(4);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _reactRouterBootstrap = __webpack_require__(18);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _componentsConfigurationforms = __webpack_require__(42);\n\nvar _utilPermissionsMixin = __webpack_require__(27);\n\nvar _utilPermissionsMixin2 = _interopRequireDefault(_utilPermissionsMixin);\n\nvar _routingRoutes = __webpack_require__(11);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _componentsInputs = __webpack_require__(63);\n\nvar InputTypesStore = _injectionStoreProvider2['default'].getStore('InputTypes');\n\nvar InputsActions = _injectionActionsProvider2['default'].getActions('Inputs');\n\nvar InputListItem = _react2['default'].createClass({\n  displayName: 'InputListItem',\n\n  propTypes: {\n    input: _react.PropTypes.object.isRequired,\n    currentNode: _react.PropTypes.object.isRequired,\n    permissions: _react.PropTypes.array.isRequired\n  },\n  mixins: [_utilPermissionsMixin2['default'], _reflux2['default'].connect(InputTypesStore)],\n  _deleteInput: function _deleteInput() {\n    if (window.confirm('Do you really want to delete input \\'' + this.props.input.title + '\\'?')) {\n      InputsActions['delete'](this.props.input);\n    }\n  },\n\n  _openStaticFieldForm: function _openStaticFieldForm() {\n    this.refs.staticFieldForm.open();\n  },\n  _editInput: function _editInput() {\n    this.refs.configurationForm.open();\n  },\n  _updateInput: function _updateInput(data) {\n    InputsActions.update(this.props.input.id, data);\n  },\n  render: function render() {\n    if (!this.state.inputTypes) {\n      return _react2['default'].createElement(_componentsCommon.Spinner, null);\n    }\n\n    var input = this.props.input;\n    var definition = this.state.inputDescriptions[input.type];\n\n    var titleSuffix = _react2['default'].createElement(\n      'span',\n      null,\n      this.props.input.name,\n      ' ',\n      _react2['default'].createElement(_componentsInputs.InputStateBadge, { input: this.props.input })\n    );\n\n    var actions = [];\n\n    if (this.isPermitted(this.props.permissions, ['searches:relative'])) {\n      actions.push(_react2['default'].createElement(\n        _reactRouterBootstrap.LinkContainer,\n        { key: 'received-messages-' + this.props.input.id,\n          to: _routingRoutes2['default'].search_with_query('gl2_source_input:' + this.props.input.id, 'relative', 28800) },\n        _react2['default'].createElement(\n          _reactBootstrap.Button,\n          { bsStyle: 'info' },\n          'Show received messages'\n        )\n      ));\n    }\n\n    if (this.isPermitted(this.props.permissions, ['inputs:edit:' + this.props.input.id])) {\n      var extractorRoute = undefined;\n\n      if (this.props.input.global) {\n        extractorRoute = _routingRoutes2['default'].global_input_extractors(this.props.input.id);\n      } else {\n        extractorRoute = _routingRoutes2['default'].local_input_extractors(this.props.currentNode.node_id, this.props.input.id);\n      }\n\n      actions.push(_react2['default'].createElement(\n        _reactRouterBootstrap.LinkContainer,\n        { key: 'manage-extractors-' + this.props.input.id, to: extractorRoute },\n        _react2['default'].createElement(\n          _reactBootstrap.Button,\n          { bsStyle: 'info' },\n          'Manage extractors'\n        )\n      ));\n\n      actions.push(_react2['default'].createElement(_componentsInputs.InputStateControl, { key: 'input-state-control-' + this.props.input.id, input: this.props.input }));\n    }\n\n    var showMetricsMenuItem = undefined;\n    if (!this.props.input.global) {\n      showMetricsMenuItem = _react2['default'].createElement(\n        _reactRouterBootstrap.LinkContainer,\n        { to: _routingRoutes2['default'].filtered_metrics(this.props.input.node, this.props.input.id) },\n        _react2['default'].createElement(\n          _reactBootstrap.MenuItem,\n          { key: 'show-metrics-' + this.props.input.id },\n          'Show metrics'\n        )\n      );\n    }\n\n    actions.push(_react2['default'].createElement(\n      _reactBootstrap.DropdownButton,\n      { key: 'more-actions-' + this.props.input.id,\n        title: 'More actions',\n        id: 'more-actions-dropdown-' + this.props.input.id,\n        pullRight: true },\n      _react2['default'].createElement(\n        _componentsCommon.IfPermitted,\n        { permissions: 'inputs:edit:' + this.props.input.id },\n        _react2['default'].createElement(\n          _reactBootstrap.MenuItem,\n          { key: 'edit-input-' + this.props.input.id,\n            onSelect: this._editInput,\n            disabled: definition === undefined },\n          'Edit input'\n        )\n      ),\n      showMetricsMenuItem,\n      _react2['default'].createElement(\n        _componentsCommon.IfPermitted,\n        { permissions: 'inputs:edit:' + this.props.input.id },\n        _react2['default'].createElement(\n          _reactBootstrap.MenuItem,\n          { key: 'add-static-field-' + this.props.input.id, onSelect: this._openStaticFieldForm },\n          'Add static field'\n        )\n      ),\n      _react2['default'].createElement(\n        _componentsCommon.IfPermitted,\n        { permissions: 'inputs:terminate' },\n        _react2['default'].createElement(_reactBootstrap.MenuItem, { key: 'divider-' + this.props.input.id, divider: true })\n      ),\n      _react2['default'].createElement(\n        _componentsCommon.IfPermitted,\n        { permissions: 'inputs:terminate' },\n        _react2['default'].createElement(\n          _reactBootstrap.MenuItem,\n          { key: 'delete-input-' + this.props.input.id, onSelect: this._deleteInput },\n          'Delete input'\n        )\n      )\n    ));\n\n    var subtitle = undefined;\n\n    if (!this.props.input.global && this.props.input.node) {\n      subtitle = _react2['default'].createElement(\n        'span',\n        null,\n        'On node',\n        ' ',\n        _react2['default'].createElement(_componentsCommon.LinkToNode, { nodeId: this.props.input.node })\n      );\n    }\n\n    var inputForm = definition ? _react2['default'].createElement(_componentsInputs.InputForm, { ref: 'configurationForm', key: 'edit-form-input-' + input.id,\n      globalValue: input.global, nodeValue: input.node,\n      configFields: definition.requested_configuration,\n      title: 'Editing Input ' + input.title,\n      titleValue: input.title,\n      typeName: input.type, includeTitleField: true,\n      submitAction: this._updateInput, values: input.attributes }) : null;\n\n    var additionalContent = _react2['default'].createElement(\n      'div',\n      null,\n      _react2['default'].createElement(\n        _reactBootstrap.Col,\n        { md: 8 },\n        _react2['default'].createElement(_componentsConfigurationforms.ConfigurationWell, { className: 'configuration-well',\n          id: input.id,\n          configuration: input.attributes,\n          typeDefinition: definition || {} }),\n        _react2['default'].createElement(_componentsInputs.StaticFieldForm, { ref: 'staticFieldForm', input: this.props.input }),\n        _react2['default'].createElement(_componentsInputs.InputStaticFields, { input: this.props.input })\n      ),\n      _react2['default'].createElement(\n        _reactBootstrap.Col,\n        { md: 4 },\n        _react2['default'].createElement(_componentsInputs.InputThroughput, { input: input })\n      ),\n      inputForm\n    );\n\n    return _react2['default'].createElement(_componentsCommon.EntityListItem, { key: 'entry-list-' + this.props.input.id,\n      title: this.props.input.title,\n      titleSuffix: titleSuffix,\n      description: subtitle,\n      createdFromContentPack: !!this.props.input.content_pack,\n      actions: actions,\n      contentRow: additionalContent });\n  }\n});\n\nexports['default'] = InputListItem;\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 \" + \"InputListItem.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/InputListItem.jsx\n ** module id = 106\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputListItem.jsx?")},188: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 BootstrapAccordion = _react2["default"].createClass({\n  displayName: "BootstrapAccordion",\n\n  propTypes: {\n    children: _react.PropTypes.oneOfType([_react.PropTypes.arrayOf(_react.PropTypes.element), _react.PropTypes.element]).isRequired\n  },\n  render: function render() {\n    return _react2["default"].createElement(\n      "div",\n      { id: "bundles", className: "panel-group" },\n      this.props.children\n    );\n  }\n});\n\nexports["default"] = BootstrapAccordion;\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 " + "BootstrapAccordion.jsx" + ": " + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/bootstrap/BootstrapAccordion.jsx\n ** module id = 188\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/bootstrap/BootstrapAccordion.jsx?')},189: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 BootstrapAccordionGroup = _react2['default'].createClass({\n  displayName: 'BootstrapAccordionGroup',\n\n  propTypes: {\n    name: _react.PropTypes.string,\n    children: _react.PropTypes.oneOfType([_react.PropTypes.arrayOf(_react.PropTypes.element), _react.PropTypes.element]).isRequired\n  },\n  render: function render() {\n    var name = undefined;\n    var id = undefined;\n\n    if (this.props.name) {\n      name = this.props.name;\n      id = name.replace(/[^0-9a-zA-Z]/g, '-').toLowerCase();\n    }\n\n    return _react2['default'].createElement(\n      'div',\n      { className: 'panel panel-default' },\n      _react2['default'].createElement(\n        'div',\n        { className: 'panel-heading' },\n        _react2['default'].createElement(\n          'h4',\n          { className: 'panel-title' },\n          _react2['default'].createElement(\n            'a',\n            { href: '#' + id, 'data-parent': '#bundles', 'data-toggle': 'collapse', className: 'collapsed' },\n            name\n          )\n        )\n      ),\n      _react2['default'].createElement(\n        'div',\n        { className: 'panel-collapse collapse', id: id },\n        _react2['default'].createElement(\n          'div',\n          { className: 'panel-body' },\n          this.props.children\n        )\n      )\n    );\n  }\n});\n\nexports['default'] = BootstrapAccordionGroup;\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 \" + \"BootstrapAccordionGroup.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/bootstrap/BootstrapAccordionGroup.jsx\n ** module id = 189\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/bootstrap/BootstrapAccordionGroup.jsx?");
},190: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 _interopRequire(obj) { return obj && obj.__esModule ? obj[\'default\'] : obj; }\n\nvar _BootstrapAccordion = __webpack_require__(188);\n\nexports.BootstrapAccordion = _interopRequire(_BootstrapAccordion);\n\nvar _BootstrapAccordionGroup = __webpack_require__(189);\n\nexports.BootstrapAccordionGroup = _interopRequire(_BootstrapAccordionGroup);\n\nvar _BootstrapModalForm = __webpack_require__(37);\n\nexports.BootstrapModalForm = _interopRequire(_BootstrapModalForm);\n\nvar _BootstrapModalWrapper = __webpack_require__(72);\n\nexports.BootstrapModalWrapper = _interopRequire(_BootstrapModalWrapper);\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 " + "index.js" + ": " + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/bootstrap/index.js\n ** module id = 190\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/bootstrap/index.js?')},219: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\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _jquery = __webpack_require__(13);\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _componentsInputs = __webpack_require__(63);\n\nvar _componentsConfigurationforms = __webpack_require__(42);\n\nvar InputForm = _react2['default'].createClass({\n  displayName: 'InputForm',\n\n  propTypes: {\n    globalValue: _react2['default'].PropTypes.bool,\n    nodeValue: _react2['default'].PropTypes.string,\n    titleValue: _react2['default'].PropTypes.string,\n    submitAction: _react2['default'].PropTypes.func.isRequired,\n    values: _react2['default'].PropTypes.object\n  },\n  getInitialState: function getInitialState() {\n    return {\n      global: this.props.globalValue !== undefined ? this.props.globalValue : false,\n      node: this.props.nodeValue !== undefined ? this.props.nodeValue : undefined\n    };\n  },\n  _handleChange: function _handleChange(field, value) {\n    var state = {};\n    state[field] = value;\n    this.setState(state);\n  },\n  _onSubmit: function _onSubmit(data) {\n    var newData = _jquery2['default'].extend(data, { global: this.state.global, node: this.state.node });\n    this.props.submitAction(newData);\n  },\n  open: function open() {\n    this.refs.configurationForm.open();\n  },\n  render: function render() {\n    var values = this.props.values ? this.props.values : this.refs.configurationForm ? this.refs.configurationForm.getValue().configuration : {};\n    var titleValue = this.props.titleValue ? this.props.titleValue : this.refs.configurationForm ? this.refs.configurationForm.getValue().titleValue : '';\n    return _react2['default'].createElement(\n      _componentsConfigurationforms.ConfigurationForm,\n      _extends({}, this.props, { ref: 'configurationForm', values: values, titleValue: titleValue,\n        submitAction: this._onSubmit }),\n      _react2['default'].createElement(_componentsInputs.NodeOrGlobalSelect, { onChange: this._handleChange, global: this.state.global, node: this.state.node })\n    );\n  }\n});\n\nexports['default'] = InputForm;\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 \" + \"InputForm.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/InputForm.jsx\n ** module id = 219\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputForm.jsx?")},220: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 _reflux = __webpack_require__(4);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _logicInputsInputStateComparator = __webpack_require__(267);\n\nvar _logicInputsInputStateComparator2 = _interopRequireDefault(_logicInputsInputStateComparator);\n\nvar InputStatesStore = _injectionStoreProvider2['default'].getStore('InputStates');\nvar NodesStore = _injectionStoreProvider2['default'].getStore('Nodes');\n\nvar InputStateBadge = _react2['default'].createClass({\n  displayName: 'InputStateBadge',\n\n  propTypes: {\n    input: _react2['default'].PropTypes.object.isRequired\n  },\n  mixins: [_reflux2['default'].connect(InputStatesStore), _reflux2['default'].connect(NodesStore)],\n  comparator: new _logicInputsInputStateComparator2['default'](),\n  _labelClassForState: function _labelClassForState(sortedStates) {\n    var nodesWithKnownState = sortedStates.reduce(function (numberOfNodes, state) {\n      return numberOfNodes + state.count;\n    }, 0);\n\n    if (this.props.input.global && nodesWithKnownState !== Object.keys(this.state.nodes).length) {\n      return 'warning';\n    }\n\n    var state = sortedStates[0].state;\n    switch (state) {\n      case 'RUNNING':\n        return 'success';\n      case 'FAILED':\n        return 'danger';\n      case 'STARTING':\n        return 'info';\n      default:\n        return 'warning';\n    }\n  },\n  _textForState: function _textForState(sortedStates) {\n    if (this.props.input.global) {\n      return sortedStates.map(function (state) {\n        return state.count + ' ' + state.state;\n      }).join(', ');\n    }\n    return sortedStates[0].state;\n  },\n  _isLoading: function _isLoading() {\n    return !(this.state.inputStates && this.state.nodes);\n  },\n  render: function render() {\n    var _this = this;\n\n    if (this._isLoading()) {\n      return _react2['default'].createElement(_componentsCommon.Spinner, null);\n    }\n\n    var input = this.props.input;\n    var inputId = input.id;\n\n    var inputStates = {};\n    if (this.state.inputStates[inputId]) {\n      Object.keys(this.state.inputStates[inputId]).forEach(function (node) {\n        var state = _this.state.inputStates[inputId][node].state;\n        if (!inputStates[state]) {\n          inputStates[state] = [];\n        }\n        inputStates[state].push(node);\n      });\n    }\n\n    var sorted = Object.keys(inputStates).sort(this.comparator.compare.bind(this.comparator)).map(function (state) {\n      return { state: state, count: inputStates[state].length };\n    });\n\n    if (sorted.length > 0) {\n      var popOverText = sorted.map(function (state) {\n        return inputStates[state.state].map(function (node) {\n          return _react2['default'].createElement(\n            'span',\n            null,\n            _react2['default'].createElement(_componentsCommon.LinkToNode, { nodeId: node }),\n            ': ',\n            state.state,\n            _react2['default'].createElement('br', null)\n          );\n        });\n      });\n      var popover = _react2['default'].createElement(\n        _reactBootstrap.Popover,\n        { id: 'inputstate-badge-details', title: 'Input States for ' + input.title, style: { fontSize: 12 } },\n        popOverText\n      );\n      return _react2['default'].createElement(\n        _reactBootstrap.OverlayTrigger,\n        { trigger: 'click', placement: 'bottom', overlay: popover, rootClose: true },\n        _react2['default'].createElement(\n          _reactBootstrap.Label,\n          { bsStyle: this._labelClassForState(sorted), title: 'Click to show details',\n            bsSize: 'xsmall', style: { cursor: 'pointer' } },\n          this._textForState(sorted)\n        )\n      );\n    } else {\n      var text = input.global || input.node === undefined ? '0 RUNNING' : 'NOT RUNNING';\n      return _react2['default'].createElement(\n        _reactBootstrap.Label,\n        { bsStyle: 'danger', bsSize: 'xsmall' },\n        text\n      );\n    }\n  }\n});\n\nexports['default'] = InputStateBadge;\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 \" + \"InputStateBadge.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/InputStateBadge.jsx\n ** module id = 220\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputStateBadge.jsx?")},221: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 _reflux = __webpack_require__(4);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar InputStatesStore = _injectionStoreProvider2['default'].getStore('InputStates');\n\nfunction inputStateFilter(state) {\n  return state.inputStates ? state.inputStates[this.props.input.id] : undefined;\n}\n\nvar InputStateControl = _react2['default'].createClass({\n  displayName: 'InputStateControl',\n\n  propTypes: {\n    input: _react.PropTypes.object.isRequired\n  },\n  mixins: [_reflux2['default'].connectFilter(InputStatesStore, 'inputState', inputStateFilter)],\n\n  getInitialState: function getInitialState() {\n    return {\n      loading: false\n    };\n  },\n\n  _isInputRunning: function _isInputRunning() {\n    var _this = this;\n\n    if (!this.state.inputState) {\n      return false;\n    }\n\n    var nodeIDs = Object.keys(this.state.inputState);\n    if (nodeIDs.length === 0) {\n      return false;\n    }\n\n    return nodeIDs.some(function (nodeID) {\n      var nodeState = _this.state.inputState[nodeID];\n      return nodeState.state === 'RUNNING';\n    });\n  },\n\n  _startInput: function _startInput() {\n    var _this2 = this;\n\n    this.setState({ loading: true });\n    InputStatesStore.start(this.props.input)['finally'](function () {\n      return _this2.setState({ loading: false });\n    });\n  },\n\n  _stopInput: function _stopInput() {\n    var _this3 = this;\n\n    this.setState({ loading: true });\n    InputStatesStore.stop(this.props.input)['finally'](function () {\n      return _this3.setState({ loading: false });\n    });\n  },\n\n  render: function render() {\n    if (this._isInputRunning()) {\n      return _react2['default'].createElement(\n        _reactBootstrap.Button,\n        { bsStyle: 'primary', onClick: this._stopInput, disabled: this.state.loading },\n        this.state.loading ? 'Stopping...' : 'Stop input'\n      );\n    }\n\n    return _react2['default'].createElement(\n      _reactBootstrap.Button,\n      { bsStyle: 'success', onClick: this._startInput, disabled: this.state.loading },\n      this.state.loading ? 'Starting...' : 'Start input'\n    );\n  }\n});\n\nexports['default'] = InputStateControl;\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 \" + \"InputStateControl.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/InputStateControl.jsx\n ** module id = 221\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputStateControl.jsx?")},222: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 _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar InputStaticFieldsStore = _injectionStoreProvider2['default'].getStore('InputStaticFields');\n\nvar InputStaticFields = _react2['default'].createClass({\n  displayName: 'InputStaticFields',\n\n  propTypes: {\n    input: _react.PropTypes.object.isRequired\n  },\n  _deleteStaticField: function _deleteStaticField(fieldName) {\n    var _this = this;\n\n    return function () {\n      if (window.confirm('Are you sure you want to remove static field \\'' + fieldName + '\\' from \\'' + _this.props.input.title + '\\'?')) {\n        InputStaticFieldsStore.destroy(_this.props.input, fieldName);\n      }\n    };\n  },\n  _deleteButton: function _deleteButton(fieldName) {\n    return _react2['default'].createElement(\n      _reactBootstrap.Button,\n      { bsStyle: 'link', bsSize: 'xsmall', style: { verticalAlign: 'baseline' }, onClick: this._deleteStaticField(fieldName) },\n      _react2['default'].createElement('i', { className: 'fa fa-remove' })\n    );\n  },\n  _formatStaticFields: function _formatStaticFields(staticFields) {\n    var _this2 = this;\n\n    var formattedFields = [];\n    var staticFieldNames = Object.keys(staticFields);\n\n    staticFieldNames.forEach(function (fieldName) {\n      formattedFields.push(_react2['default'].createElement(\n        'li',\n        { key: fieldName + '-field' },\n        _react2['default'].createElement(\n          'strong',\n          null,\n          fieldName,\n          ':'\n        ),\n        ' ',\n        staticFields[fieldName],\n        ' ',\n        _this2._deleteButton(fieldName)\n      ));\n    });\n\n    return formattedFields;\n  },\n  render: function render() {\n    var staticFieldNames = Object.keys(this.props.input.static_fields);\n    if (staticFieldNames.length === 0) {\n      return _react2['default'].createElement('div', null);\n    }\n\n    return _react2['default'].createElement(\n      'div',\n      { className: 'static-fields' },\n      _react2['default'].createElement(\n        'h3',\n        { style: { marginBottom: 5 } },\n        'Static fields'\n      ),\n      _react2['default'].createElement(\n        'ul',\n        null,\n        this._formatStaticFields(this.props.input.static_fields)\n      )\n    );\n  }\n});\n\nexports['default'] = InputStaticFields;\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 \" + \"InputStaticFields.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/InputStaticFields.jsx\n ** module id = 222\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputStaticFields.jsx?")},223: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 _reflux = __webpack_require__(4);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _numeral = __webpack_require__(19);\n\nvar _numeral2 = _interopRequireDefault(_numeral);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _utilNumberUtils = __webpack_require__(35);\n\nvar _utilNumberUtils2 = _interopRequireDefault(_utilNumberUtils);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar MetricsStore = _injectionStoreProvider2['default'].getStore('Metrics');\n\nvar MetricsActions = _injectionActionsProvider2['default'].getActions('Metrics');\n\nvar InputThroughput = _react2['default'].createClass({\n  displayName: 'InputThroughput',\n\n  propTypes: {\n    input: _react2['default'].PropTypes.object.isRequired\n  },\n  mixins: [_reflux2['default'].connect(MetricsStore)],\n  getInitialState: function getInitialState() {\n    return {\n      showDetails: false\n    };\n  },\n  componentWillMount: function componentWillMount() {\n    this._metricNames().forEach(function (metricName) {\n      return MetricsActions.addGlobal(metricName);\n    });\n  },\n  componentWillUnmount: function componentWillUnmount() {\n    this._metricNames().forEach(function (metricName) {\n      return MetricsActions.removeGlobal(metricName);\n    });\n  },\n  _metricNames: function _metricNames() {\n    return [this._prefix('incomingMessages'), this._prefix('emptyMessages'), this._prefix('open_connections'), this._prefix('total_connections'), this._prefix('written_bytes_1sec'), this._prefix('written_bytes_total'), this._prefix('read_bytes_1sec'), this._prefix('read_bytes_total')];\n  },\n  _prefix: function _prefix(metric) {\n    var input = this.props.input;\n    return input.type + '.' + input.id + '.' + metric;\n  },\n  _getValueFromMetric: function _getValueFromMetric(metric) {\n    if (metric === null || metric === undefined) {\n      return undefined;\n    }\n\n    switch (metric.type) {\n      case 'meter':\n        return metric.metric.rate.mean;\n      case 'gauge':\n        return metric.metric.value;\n      case 'counter':\n        return metric.metric.count;\n      default:\n        return undefined;\n    }\n  },\n  _calculateMetrics: function _calculateMetrics(metrics) {\n    var _this = this;\n\n    var result = {};\n    this._metricNames().forEach(function (metricName) {\n      result[metricName] = Object.keys(metrics).reduce(function (previous, nodeId) {\n        if (!metrics[nodeId][metricName]) {\n          return previous;\n        }\n        var value = _this._getValueFromMetric(metrics[nodeId][metricName]);\n        if (value !== undefined) {\n          return isNaN(previous) ? value : previous + value;\n        }\n        return previous;\n      }, NaN);\n    });\n\n    return result;\n  },\n  _formatCount: function _formatCount(count) {\n    return (0, _numeral2['default'])(count).format('0,0');\n  },\n  _formatNetworkStats: function _formatNetworkStats(writtenBytes1Sec, writtenBytesTotal, readBytes1Sec, readBytesTotal) {\n    var network = _react2['default'].createElement(\n      'span',\n      { className: 'input-io' },\n      _react2['default'].createElement(\n        'span',\n        null,\n        'Network IO: '\n      ),\n      _react2['default'].createElement(\n        'span',\n        { className: 'persec' },\n        _react2['default'].createElement('i', { className: 'fa fa-caret-down channel-direction channel-direction-down' }),\n        _react2['default'].createElement(\n          'span',\n          { className: 'rx value' },\n          _utilNumberUtils2['default'].formatBytes(readBytes1Sec),\n          ' '\n        ),\n        _react2['default'].createElement('i', { className: 'fa fa-caret-up channel-direction channel-direction-up' }),\n        _react2['default'].createElement(\n          'span',\n          { className: 'tx value' },\n          _utilNumberUtils2['default'].formatBytes(writtenBytes1Sec)\n        )\n      ),\n      _react2['default'].createElement(\n        'span',\n        { className: 'total' },\n        _react2['default'].createElement(\n          'span',\n          null,\n          ' (total: '\n        ),\n        _react2['default'].createElement('i', { className: 'fa fa-caret-down channel-direction channel-direction-down' }),\n        _react2['default'].createElement(\n          'span',\n          { className: 'rx value' },\n          _utilNumberUtils2['default'].formatBytes(readBytesTotal),\n          ' '\n        ),\n        _react2['default'].createElement('i', { className: 'fa fa-caret-up channel-direction channel-direction-up' }),\n        _react2['default'].createElement(\n          'span',\n          { className: 'tx value' },\n          _utilNumberUtils2['default'].formatBytes(writtenBytesTotal)\n        ),\n        _react2['default'].createElement(\n          'span',\n          null,\n          ' )'\n        )\n      ),\n      _react2['default'].createElement('br', null)\n    );\n\n    return network;\n  },\n  _formatConnections: function _formatConnections(openConnections, totalConnections) {\n    return _react2['default'].createElement(\n      'span',\n      null,\n      'Active connections: ',\n      _react2['default'].createElement(\n        'span',\n        { className: 'active' },\n        this._formatCount(openConnections),\n        ' '\n      ),\n      '(',\n      _react2['default'].createElement(\n        'span',\n        { className: 'total' },\n        this._formatCount(totalConnections)\n      ),\n      ' total)',\n      _react2['default'].createElement('br', null)\n    );\n  },\n  _formatAllNodeDetails: function _formatAllNodeDetails(metrics) {\n    var _this2 = this;\n\n    return _react2['default'].createElement(\n      'span',\n      null,\n      _react2['default'].createElement('hr', { key: 'separator' }),\n      Object.keys(metrics).map(function (nodeId) {\n        return _this2._formatNodeDetails(nodeId, metrics[nodeId]);\n      })\n    );\n  },\n  _formatNodeDetails: function _formatNodeDetails(nodeId, metrics) {\n    var openConnections = this._getValueFromMetric(metrics[this._prefix('open_connections')]);\n    var totalConnections = this._getValueFromMetric(metrics[this._prefix('total_connections')]);\n    var emptyMessages = this._getValueFromMetric(metrics[this._prefix('emptyMessages')]);\n    var writtenBytes1Sec = this._getValueFromMetric(metrics[this._prefix('written_bytes_1sec')]);\n    var writtenBytesTotal = this._getValueFromMetric(metrics[this._prefix('written_bytes_total')]);\n    var readBytes1Sec = this._getValueFromMetric(metrics[this._prefix('read_bytes_1sec')]);\n    var readBytesTotal = this._getValueFromMetric(metrics[this._prefix('read_bytes_total')]);\n\n    return _react2['default'].createElement(\n      'span',\n      { key: this.props.input.id + nodeId },\n      _react2['default'].createElement(_componentsCommon.LinkToNode, { nodeId: nodeId }),\n      _react2['default'].createElement('br', null),\n      !isNaN(writtenBytes1Sec) && this._formatNetworkStats(writtenBytes1Sec, writtenBytesTotal, readBytes1Sec, readBytesTotal),\n      !isNaN(openConnections) && this._formatConnections(openConnections, totalConnections),\n      !isNaN(emptyMessages) && _react2['default'].createElement(\n        'span',\n        null,\n        'Empty messages discarded: ',\n        this._formatCount(emptyMessages),\n        _react2['default'].createElement('br', null)\n      ),\n      isNaN(writtenBytes1Sec) && isNaN(openConnections) && _react2['default'].createElement(\n        'span',\n        null,\n        'No metrics available for this node'\n      ),\n      _react2['default'].createElement('br', null)\n    );\n  },\n  _toggleShowDetails: function _toggleShowDetails(evt) {\n    evt.preventDefault();\n    this.setState({ showDetails: !this.state.showDetails });\n  },\n  render: function render() {\n    if (!this.state.metrics) {\n      return _react2['default'].createElement(_componentsCommon.Spinner, null);\n    }\n    var metrics = this._calculateMetrics(this.state.metrics);\n    var incomingMessages = metrics[this._prefix('incomingMessages')];\n    var emptyMessages = metrics[this._prefix('emptyMessages')];\n    var openConnections = metrics[this._prefix('open_connections')];\n    var totalConnections = metrics[this._prefix('total_connections')];\n    var writtenBytes1Sec = metrics[this._prefix('written_bytes_1sec')];\n    var writtenBytesTotal = metrics[this._prefix('written_bytes_total')];\n    var readBytes1Sec = metrics[this._prefix('read_bytes_1sec')];\n    var readBytesTotal = metrics[this._prefix('read_bytes_total')];\n    return _react2['default'].createElement(\n      'div',\n      { className: 'graylog-input-metrics' },\n      _react2['default'].createElement(\n        'h3',\n        null,\n        'Throughput / Metrics'\n      ),\n      _react2['default'].createElement(\n        'span',\n        null,\n        isNaN(incomingMessages) && isNaN(writtenBytes1Sec) && isNaN(openConnections) && _react2['default'].createElement(\n          'i',\n          null,\n          'No metrics available for this input'\n        ),\n        !isNaN(incomingMessages) && _react2['default'].createElement(\n          'span',\n          null,\n          '1 minute average rate: ',\n          this._formatCount(incomingMessages),\n          ' msg/s',\n          _react2['default'].createElement('br', null)\n        ),\n        !isNaN(writtenBytes1Sec) && this._formatNetworkStats(writtenBytes1Sec, writtenBytesTotal, readBytes1Sec, readBytesTotal),\n        !isNaN(openConnections) && this._formatConnections(openConnections, totalConnections),\n        !isNaN(emptyMessages) && _react2['default'].createElement(\n          'span',\n          null,\n          'Empty messages discarded: ',\n          this._formatCount(emptyMessages),\n          _react2['default'].createElement('br', null)\n        ),\n        !isNaN(writtenBytes1Sec) && this.props.input.global && _react2['default'].createElement(\n          'a',\n          { href: '', onClick: this._toggleShowDetails },\n          this.state.showDetails ? 'Hide' : 'Show',\n          ' details'\n        ),\n        !isNaN(writtenBytes1Sec) && this.state.showDetails && this._formatAllNodeDetails(this.state.metrics)\n      )\n    );\n  }\n});\n\nexports['default'] = InputThroughput;\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 \" + \"InputThroughput.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/InputThroughput.jsx\n ** module id = 223\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputThroughput.jsx?");
},224: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 _reflux = __webpack_require__(4);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _javascriptNaturalSort = __webpack_require__(41);\n\nvar _javascriptNaturalSort2 = _interopRequireDefault(_javascriptNaturalSort);\n\nvar _componentsCommonEntityList = __webpack_require__(142);\n\nvar _componentsCommonEntityList2 = _interopRequireDefault(_componentsCommonEntityList);\n\nvar _InputListItem = __webpack_require__(106);\n\nvar _InputListItem2 = _interopRequireDefault(_InputListItem);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _CreateInputControl = __webpack_require__(105);\n\nvar _CreateInputControl2 = _interopRequireDefault(_CreateInputControl);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar InputsActions = _injectionActionsProvider2['default'].getActions('Inputs');\nvar SingleNodeActions = _injectionActionsProvider2['default'].getActions('SingleNode');\nvar InputTypesActions = _injectionActionsProvider2['default'].getActions('InputTypes');\n\nvar InputsStore = _injectionStoreProvider2['default'].getStore('Inputs');\nvar SingleNodeStore = _injectionStoreProvider2['default'].getStore('SingleNode');\n\nvar InputsList = _react2['default'].createClass({\n  displayName: 'InputsList',\n\n  propTypes: {\n    permissions: _react.PropTypes.array.isRequired,\n    node: _react.PropTypes.object\n  },\n  mixins: [_reflux2['default'].connect(SingleNodeStore), _reflux2['default'].listenTo(InputsStore, '_splitInputs')],\n  getInitialState: function getInitialState() {\n    return {\n      globalInputs: undefined,\n      localInputs: undefined\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    InputTypesActions.list();\n    InputsActions.list();\n    SingleNodeActions.get();\n  },\n  _splitInputs: function _splitInputs(state) {\n    var _this = this;\n\n    var inputs = state.inputs;\n    var globalInputs = inputs.filter(function (input) {\n      return input.global === true;\n    }).sort(function (inputA, inputB) {\n      return (0, _javascriptNaturalSort2['default'])(inputA.title, inputB.title);\n    });\n    var localInputs = inputs.filter(function (input) {\n      return input.global === false;\n    }).sort(function (inputA, inputB) {\n      return (0, _javascriptNaturalSort2['default'])(inputA.title, inputB.title);\n    });\n\n    if (this.props.node) {\n      localInputs = localInputs.filter(function (input) {\n        return input.node === _this.props.node.node_id;\n      });\n    }\n\n    this.setState({ globalInputs: globalInputs, localInputs: localInputs });\n  },\n  _isLoading: function _isLoading() {\n    return !(this.state.localInputs && this.state.globalInputs && this.state.node);\n  },\n  _formatInput: function _formatInput(input) {\n    return _react2['default'].createElement(_InputListItem2['default'], { key: input.id, input: input, currentNode: this.state.node, permissions: this.props.permissions });\n  },\n  _nodeAffix: function _nodeAffix() {\n    return this.props.node ? ' on this node' : '';\n  },\n  render: function render() {\n    var _this2 = this;\n\n    if (this._isLoading()) {\n      return _react2['default'].createElement(_componentsCommon.Spinner, null);\n    }\n\n    return _react2['default'].createElement(\n      'div',\n      null,\n      !this.props.node && _react2['default'].createElement(\n        _componentsCommon.IfPermitted,\n        { permissions: 'inputs:create' },\n        _react2['default'].createElement(_CreateInputControl2['default'], null)\n      ),\n      _react2['default'].createElement(\n        _reactBootstrap.Row,\n        { id: 'global-inputs', className: 'content input-list' },\n        _react2['default'].createElement(\n          _reactBootstrap.Col,\n          { md: 12 },\n          _react2['default'].createElement(\n            'h2',\n            null,\n            'Global inputs  ',\n            _react2['default'].createElement(\n              'small',\n              null,\n              this.state.globalInputs.length,\n              ' configured',\n              this._nodeAffix()\n            )\n          ),\n          _react2['default'].createElement(_componentsCommonEntityList2['default'], { bsNoItemsStyle: 'info', noItemsText: 'There are no global inputs.',\n            items: this.state.globalInputs.map(function (input) {\n              return _this2._formatInput(input);\n            }) })\n        )\n      ),\n      _react2['default'].createElement(\n        _reactBootstrap.Row,\n        { id: 'local-inputs', className: 'content input-list' },\n        _react2['default'].createElement(\n          _reactBootstrap.Col,\n          { md: 12 },\n          _react2['default'].createElement(\n            'h2',\n            null,\n            'Local inputs  ',\n            _react2['default'].createElement(\n              'small',\n              null,\n              this.state.localInputs.length,\n              ' configured',\n              this._nodeAffix()\n            )\n          ),\n          _react2['default'].createElement(_componentsCommonEntityList2['default'], { bsNoItemsStyle: 'info', noItemsText: 'There are no local inputs' + this._nodeAffix() + '.',\n            items: this.state.localInputs.map(function (input) {\n              return _this2._formatInput(input);\n            }) })\n        )\n      )\n    );\n  }\n});\n\nexports['default'] = InputsList;\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 \" + \"InputsList.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/InputsList.jsx\n ** module id = 224\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputsList.jsx?")},225: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 _reflux = __webpack_require__(4);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar NodesStore = _injectionStoreProvider2['default'].getStore('Nodes');\n\nvar NodeOrGlobalSelect = _react2['default'].createClass({\n  displayName: 'NodeOrGlobalSelect',\n\n  propTypes: {\n    global: _react2['default'].PropTypes.bool,\n    onChange: _react2['default'].PropTypes.func.isRequired,\n    node: _react2['default'].PropTypes.string\n  },\n  mixins: [_reflux2['default'].connect(NodesStore)],\n  getInitialState: function getInitialState() {\n    return {\n      global: this.props.global !== undefined ? this.props.global : false,\n      node: this.props.node\n    };\n  },\n  _onChangeGlobal: function _onChangeGlobal(evt) {\n    var global = evt.target.checked;\n    this.setState({ global: global });\n    if (global) {\n      this.setState({ node: 'placeholder' });\n      this.props.onChange('node', undefined);\n    } else {\n      this.props.onChange('node', this.state.node);\n    }\n    this.props.onChange('global', global);\n  },\n  _onChangeNode: function _onChangeNode(evt) {\n    this.setState({ node: evt.target.value });\n    this.props.onChange('node', evt.target.value);\n  },\n  render: function render() {\n    var _this = this;\n\n    if (!this.state.nodes) {\n      return _react2['default'].createElement(_componentsCommon.Spinner, null);\n    }\n\n    var options = Object.keys(this.state.nodes).map(function (nodeId) {\n      return _react2['default'].createElement(\n        'option',\n        { key: nodeId, value: nodeId },\n        _this.state.nodes[nodeId].short_node_id,\n        ' / ',\n        _this.state.nodes[nodeId].hostname\n      );\n    });\n\n    var nodeSelect = !this.state.global ? _react2['default'].createElement(\n      _reactBootstrap.Input,\n      { type: 'select', label: 'Node', placeholder: 'placeholder', value: this.state.node,\n        help: 'On which node should this input start', onChange: this._onChangeNode, required: true },\n      _react2['default'].createElement(\n        'option',\n        { key: 'placeholder', value: '' },\n        'Select Node'\n      ),\n      options\n    ) : null;\n\n    return _react2['default'].createElement(\n      'span',\n      null,\n      _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox', label: 'Global', help: 'Should this input start on all nodes',\n        checked: this.state.global, onChange: this._onChangeGlobal }),\n      nodeSelect\n    );\n  }\n});\n\nexports['default'] = NodeOrGlobalSelect;\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 \" + \"NodeOrGlobalSelect.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/NodeOrGlobalSelect.jsx\n ** module id = 225\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/NodeOrGlobalSelect.jsx?")},226: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 _componentsBootstrap = __webpack_require__(190);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar InputStaticFieldsStore = _injectionStoreProvider2['default'].getStore('InputStaticFields');\n\nvar StaticFieldForm = _react2['default'].createClass({\n  displayName: 'StaticFieldForm',\n\n  propTypes: {\n    input: _react.PropTypes.object.isRequired\n  },\n  open: function open() {\n    this.refs.modal.open();\n  },\n  _addStaticField: function _addStaticField() {\n    var _this = this;\n\n    var fieldName = this.refs.fieldName.getValue();\n    var fieldValue = this.refs.fieldValue.getValue();\n\n    InputStaticFieldsStore.create(this.props.input, fieldName, fieldValue).then(function () {\n      return _this.refs.modal.close();\n    });\n  },\n  render: function render() {\n    return _react2['default'].createElement(\n      _componentsBootstrap.BootstrapModalForm,\n      { ref: 'modal', title: 'Add static field', submitButtonText: 'Add field',\n        onSubmitForm: this._addStaticField },\n      _react2['default'].createElement(\n        'p',\n        null,\n        'Define a static field that is added to every message that comes in via this input. The field is not overwritten If the message already has that key. Key must only contain alphanumeric characters or underscores and not be a reserved field.'\n      ),\n      _react2['default'].createElement(_reactBootstrap.Input, { ref: 'fieldName', type: 'text', id: 'field-name', label: 'Field name', className: 'validatable',\n        'data-validate': 'alphanum_underscore', required: true, autoFocus: true }),\n      _react2['default'].createElement(_reactBootstrap.Input, { ref: 'fieldValue', type: 'text', id: 'field-value', label: 'Field value', required: true })\n    );\n  }\n});\n\nexports['default'] = StaticFieldForm;\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 \" + \"StaticFieldForm.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/inputs/StaticFieldForm.jsx\n ** module id = 226\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/components/inputs/StaticFieldForm.jsx?")},267: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\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar InputStateComparator = (function () {\n  function InputStateComparator() {\n    _classCallCheck(this, InputStateComparator);\n\n    this.mapping = {\n      'CREATED': 0,\n      'INITIALIZED': 1,\n      'INVALID_CONFIGURATION': 2,\n      'STARTING': 3,\n      'RUNNING': 4,\n      'FAILED': 2,\n      'STOPPING': 1,\n      'STOPPED': 0,\n      'TERMINATED': 0\n    };\n  }\n\n  _createClass(InputStateComparator, [{\n    key: 'compare',\n    value: function compare(state1, state2) {\n      return this.mapping[state1.toUpperCase()] - this.mapping[state2.toUpperCase()];\n    }\n  }]);\n\n  return InputStateComparator;\n})();\n\nexports['default'] = InputStateComparator;\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 \" + \"InputStateComparator.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/logic/inputs/InputStateComparator.js\n ** module id = 267\n ** module chunks = 13 14\n **/\n//# sourceURL=webpack:///./src/logic/inputs/InputStateComparator.js?")},1046: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 _reflux = __webpack_require__(4);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactRouterBootstrap = __webpack_require__(18);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _componentsInputs = __webpack_require__(63);\n\nvar _routingRoutes = __webpack_require__(11);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar NodesStore = _injectionStoreProvider2['default'].getStore('Nodes');\nvar CurrentUserStore = _injectionStoreProvider2['default'].getStore('CurrentUser');\nvar InputStatesStore = _injectionStoreProvider2['default'].getStore('InputStates');\n\nfunction nodeFilter(state) {\n  return state.nodes ? state.nodes[this.props.params.nodeId] : state.nodes;\n}\n\nvar NodeInputsPage = _react2['default'].createClass({\n  displayName: 'NodeInputsPage',\n\n  propTypes: {\n    params: _react.PropTypes.object.isRequired\n  },\n  mixins: [_reflux2['default'].connect(CurrentUserStore), _reflux2['default'].connectFilter(NodesStore, 'node', nodeFilter)],\n  componentDidMount: function componentDidMount() {\n    this.interval = setInterval(InputStatesStore.list, 2000);\n  },\n  componentWillUnmount: function componentWillUnmount() {\n    clearInterval(this.interval);\n  },\n  _isLoading: function _isLoading() {\n    return !this.state.node;\n  },\n  render: function render() {\n    if (this._isLoading()) {\n      return _react2['default'].createElement(_componentsCommon.Spinner, null);\n    }\n\n    var title = _react2['default'].createElement(\n      'span',\n      null,\n      'Inputs of node ',\n      this.state.node.short_node_id,\n      ' / ',\n      this.state.node.hostname\n    );\n\n    return _react2['default'].createElement(\n      'div',\n      null,\n      _react2['default'].createElement(\n        _componentsCommon.PageHeader,\n        { title: title },\n        _react2['default'].createElement(\n          'span',\n          null,\n          'Graylog nodes accept data via inputs. On this page you can see which inputs are running on this specific node.'\n        ),\n        _react2['default'].createElement(\n          'span',\n          null,\n          'You can launch and terminate inputs on your cluster ',\n          _react2['default'].createElement(\n            _reactRouterBootstrap.LinkContainer,\n            { to: _routingRoutes2['default'].SYSTEM.INPUTS },\n            _react2['default'].createElement(\n              'a',\n              null,\n              'here'\n            )\n          ),\n          '.'\n        )\n      ),\n      _react2['default'].createElement(_componentsInputs.InputsList, { permissions: this.state.currentUser.permissions, node: this.state.node })\n    );\n  }\n});\n\nexports['default'] = NodeInputsPage;\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 \" + \"NodeInputsPage.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/NodeInputsPage.jsx\n ** module id = 1046\n ** module chunks = 13\n **/\n//# sourceURL=webpack:///./src/pages/NodeInputsPage.jsx?./~/react-hot-loader!./~/babel-loader")}});




© 2015 - 2024 Weber Informatics LLC | Privacy Policy