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

web-interface.assets.9.9.362ba12fc38f8705dbe5.js Maven / Gradle / Ivy

There is a newer version: 6.0.1
Show newest version
webpackJsonp([9],{25: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 FieldHelpers = {\n  hasAttribute: function hasAttribute(ary, attribute) {\n    return ary.indexOf(attribute) > -1;\n  },\n  optionalMarker: function optionalMarker(field) {\n    return field.is_optional ? _react2["default"].createElement(\n      "span",\n      { className: "configuration-field-optional" },\n      "(optional)"\n    ) : null;\n  }\n};\n\nexports["default"] = FieldHelpers;\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 " + "FieldHelpers.jsx" + ": " + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/configurationforms/FieldHelpers.jsx\n ** module id = 25\n ** module chunks = 5 9 10 16 17\n **/\n//# sourceURL=webpack:///./src/components/configurationforms/FieldHelpers.jsx?')},36: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 _BooleanField = __webpack_require__(62);\n\nexports.BooleanField = _interopRequire(_BooleanField);\n\nvar _ConfigurationForm = __webpack_require__(63);\n\nexports.ConfigurationForm = _interopRequire(_ConfigurationForm);\n\nvar _ConfigurationWell = __webpack_require__(46);\n\nexports.ConfigurationWell = _interopRequire(_ConfigurationWell);\n\nvar _DropdownField = __webpack_require__(64);\n\nexports.DropdownField = _interopRequire(_DropdownField);\n\nvar _FieldHelpers = __webpack_require__(25);\n\nexports.FieldHelpers = _interopRequire(_FieldHelpers);\n\nvar _NumberField = __webpack_require__(65);\n\nexports.NumberField = _interopRequire(_NumberField);\n\nvar _TextField = __webpack_require__(66);\n\nexports.TextField = _interopRequire(_TextField);\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/configurationforms/index.jsx\n ** module id = 36\n ** module chunks = 5 9 10 16 17\n **/\n//# sourceURL=webpack:///./src/components/configurationforms/index.jsx?')},41:function(module,exports,__webpack_require__){eval("module.exports = (__webpack_require__(11))(336);\n\n/*****************\n ** WEBPACK FOOTER\n ** delegated ./node_modules/react-addons-linked-state-mixin/index.js from dll-reference __vendor\n ** module id = 41\n ** module chunks = 5 9 10 14 15 19 20\n **/\n//# sourceURL=webpack:///delegated_./node_modules/react-addons-linked-state-mixin/index.js_from_dll-reference___vendor?")},46: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 ConfigurationWell = _react2['default'].createClass({\n  displayName: 'ConfigurationWell',\n\n  propTypes: {\n    id: _react2['default'].PropTypes.string,\n    configuration: _react2['default'].PropTypes.any,\n    typeDefinition: _react2['default'].PropTypes.object\n  },\n  PASSWORD_PLACEHOLDER: '********',\n  _formatRegularField: function _formatRegularField(value, key) {\n    var finalValue = value === null || value === undefined || value === '' ? _react2['default'].createElement(\n      'i',\n      null,\n      ''\n    ) : String(value);\n    return _react2['default'].createElement(\n      'li',\n      { key: this.props.id + '-' + key },\n      _react2['default'].createElement(\n        'div',\n        { className: 'key' },\n        key,\n        ':'\n      ),\n      ' ',\n      _react2['default'].createElement(\n        'div',\n        { className: 'value' },\n        finalValue\n      )\n    );\n  },\n  _formatPasswordField: function _formatPasswordField(value, key) {\n    return _react2['default'].createElement(\n      'li',\n      { key: this.props.id + '-' + key },\n      _react2['default'].createElement(\n        'div',\n        { className: 'key' },\n        key,\n        ':'\n      ),\n      ' ',\n      _react2['default'].createElement(\n        'div',\n        { className: 'value' },\n        this.PASSWORD_PLACEHOLDER\n      )\n    );\n  },\n  _formatConfiguration: function _formatConfiguration(id, config, typeDefinition) {\n    var _this = this;\n\n    if (!config) {\n      return '';\n    }\n    var formattedItems = Object.keys(config).sort().map(function (key) {\n      var value = config[key];\n      var requestedConfiguration = typeDefinition.requested_configuration[key];\n      if (requestedConfiguration && requestedConfiguration.attributes.indexOf('is_password') > -1) {\n        return _this._formatPasswordField(value, key);\n      }\n      return _this._formatRegularField(value, key);\n    });\n\n    if (formattedItems.length < 1) {\n      formattedItems.push(_react2['default'].createElement(\n        'li',\n        { key: 'placeholder' },\n        '-- no configuration --'\n      ));\n    }\n\n    return _react2['default'].createElement(\n      'ul',\n      null,\n      formattedItems\n    );\n  },\n  render: function render() {\n    return _react2['default'].createElement(\n      'div',\n      { className: 'well well-small configuration-well react-configuration-well' },\n      this._formatConfiguration(this.props.id, this.props.configuration, this.props.typeDefinition)\n    );\n  }\n});\n\nexports['default'] = ConfigurationWell;\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 \" + \"ConfigurationWell.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/configurationforms/ConfigurationWell.jsx\n ** module id = 46\n ** module chunks = 5 9 10 16 17\n **/\n//# sourceURL=webpack:///./src/components/configurationforms/ConfigurationWell.jsx?")},62: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 _FieldHelpers = __webpack_require__(25);\n\nvar _FieldHelpers2 = _interopRequireDefault(_FieldHelpers);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar BooleanField = _react2['default'].createClass({\n  displayName: 'BooleanField',\n\n  propTypes: {\n    autoFocus: _react2['default'].PropTypes.bool,\n    field: _react2['default'].PropTypes.object.isRequired,\n    onChange: _react2['default'].PropTypes.func.isRequired,\n    title: _react2['default'].PropTypes.string.isRequired,\n    typeName: _react2['default'].PropTypes.string.isRequired,\n    value: _react2['default'].PropTypes.any\n  },\n  render: function render() {\n    var field = this.props.field;\n    var typeName = this.props.typeName;\n    var title = this.props.title;\n    return _react2['default'].createElement(\n      'div',\n      { className: 'form-group' },\n      _react2['default'].createElement(\n        'div',\n        { className: 'checkbox' },\n        _react2['default'].createElement(\n          'label',\n          null,\n          _react2['default'].createElement('input', { id: typeName + '-' + title,\n            type: 'checkbox',\n            checked: this.props.value,\n            name: 'configuration[' + title + ']',\n            onChange: this.handleChange }),\n          field.human_name,\n          _FieldHelpers2['default'].optionalMarker(field)\n        )\n      ),\n      _react2['default'].createElement(\n        'p',\n        { className: 'help-block' },\n        field.description\n      )\n    );\n  },\n  handleChange: function handleChange(event) {\n    var newValue = _utilFormsUtils2['default'].getValueFromInput(event.target);\n    this.props.onChange(this.props.title, newValue);\n  }\n});\n\nexports['default'] = BooleanField;\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 \" + \"BooleanField.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/configurationforms/BooleanField.jsx\n ** module id = 62\n ** module chunks = 5 9 10 16 17\n **/\n//# sourceURL=webpack:///./src/components/configurationforms/BooleanField.jsx?")},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 _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _jquery = __webpack_require__(15);\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _componentsBootstrapBootstrapModalForm = __webpack_require__(33);\n\nvar _componentsBootstrapBootstrapModalForm2 = _interopRequireDefault(_componentsBootstrapBootstrapModalForm);\n\nvar _componentsConfigurationforms = __webpack_require__(36);\n\nvar ConfigurationForm = _react2['default'].createClass({\n  displayName: 'ConfigurationForm',\n\n  getDefaultProps: function getDefaultProps() {\n    return {\n      values: {},\n      includeTitleField: true,\n      titleValue: ''\n    };\n  },\n  getInitialState: function getInitialState() {\n    return this._copyStateFromProps(this.props);\n  },\n  componentWillReceiveProps: function componentWillReceiveProps(props) {\n    this.setState(this._copyStateFromProps(props));\n  },\n  getValue: function getValue() {\n    var data = {};\n    var values = this.state.values;\n    if (this.props.includeTitleField) {\n      data.title = this.state.titleValue;\n    }\n    data.type = this.props.typeName;\n    data.configuration = {};\n\n    _jquery2['default'].map(this.state.configFields, function (field, name) {\n      // Replace undefined with null, as JSON.stringify will leave out undefined fields from the DTO sent to the server\n      data.configuration[name] = values[name] === undefined ? null : values[name];\n    });\n\n    return data;\n  },\n  _copyStateFromProps: function _copyStateFromProps(props) {\n    var effectiveTitleValue = this.state && this.state.titleValue !== undefined ? this.state.titleValue : props.titleValue;\n    var defaultValues = {};\n\n    Object.keys(props.configFields).forEach(function (field) {\n      defaultValues[field] = props.configFields[field].default_value;\n    });\n\n    return {\n      configFields: _jquery2['default'].extend({}, props.configFields),\n      values: _jquery2['default'].extend({}, defaultValues, props.values),\n      titleValue: effectiveTitleValue\n    };\n  },\n  _sortByOptionality: function _sortByOptionality(x1, x2) {\n    return this.state.configFields[x1].is_optional - this.state.configFields[x2].is_optional;\n  },\n  _save: function _save() {\n    var data = this.getValue();\n\n    this.props.submitAction(data);\n    this.refs.modal.close();\n  },\n  open: function open() {\n    this.refs.modal.open();\n  },\n  _closeModal: function _closeModal() {\n    if (this.props.cancelAction) {\n      this.props.cancelAction();\n    }\n  },\n  _handleTitleChange: function _handleTitleChange(field, value) {\n    this.setState({ titleValue: value });\n  },\n  _handleChange: function _handleChange(field, value) {\n    var values = this.state.values;\n    values[field] = value;\n    this.setState({ values: values });\n  },\n  _renderConfigField: function _renderConfigField(configField, key, autoFocus) {\n    var value = this.state.values[key];\n    var typeName = this.props.typeName;\n\n    switch (configField.type) {\n      case \"text\":\n        return _react2['default'].createElement(_componentsConfigurationforms.TextField, { key: typeName + \"-\" + key, typeName: typeName, title: key, field: configField,\n          value: value, onChange: this._handleChange, autoFocus: autoFocus });\n      case \"number\":\n        return _react2['default'].createElement(_componentsConfigurationforms.NumberField, { key: typeName + \"-\" + key, typeName: typeName, title: key, field: configField,\n          value: value, onChange: this._handleChange, autoFocus: autoFocus });\n      case \"boolean\":\n        return _react2['default'].createElement(_componentsConfigurationforms.BooleanField, { key: typeName + \"-\" + key, typeName: typeName, title: key, field: configField,\n          value: value, onChange: this._handleChange, autoFocus: autoFocus });\n      case \"dropdown\":\n        return _react2['default'].createElement(_componentsConfigurationforms.DropdownField, { key: typeName + \"-\" + key, typeName: typeName, title: key, field: configField,\n          value: value, onChange: this._handleChange, autoFocus: autoFocus });\n    }\n  },\n  render: function render() {\n    var _this = this;\n\n    var typeName = this.props.typeName;\n    var title = this.props.title;\n    var helpBlock = this.props.helpBlock;\n    var titleField = { is_optional: false, attributes: [], human_name: 'Title', description: helpBlock };\n\n    var shouldAutoFocus = true;\n    var titleElement = undefined;\n    if (this.props.includeTitleField) {\n      titleElement = _react2['default'].createElement(_componentsConfigurationforms.TextField, { key: typeName + \"-title\", typeName: typeName, title: 'title', field: titleField,\n        value: this.state.titleValue, onChange: this._handleTitleChange, autoFocus: true });\n      shouldAutoFocus = false;\n    }\n\n    var configFieldKeys = _jquery2['default'].map(this.state.configFields, function (v, k) {\n      return k;\n    }).sort(this._sortByOptionality);\n    var configFields = configFieldKeys.map(function (key) {\n      var configField = _this._renderConfigField(_this.state.configFields[key], key, shouldAutoFocus);\n      if (shouldAutoFocus) {\n        shouldAutoFocus = false;\n      }\n      return configField;\n    });\n\n    return _react2['default'].createElement(\n      _componentsBootstrapBootstrapModalForm2['default'],\n      { ref: 'modal',\n        title: title,\n        onModalClose: this._closeModal,\n        onSubmitForm: this._save,\n        submitButtonText: 'Save' },\n      _react2['default'].createElement(\n        'fieldset',\n        null,\n        _react2['default'].createElement('input', { type: 'hidden', name: 'type', value: typeName }),\n        titleElement,\n        this.props.children,\n        configFields\n      )\n    );\n  }\n});\n\nexports['default'] = ConfigurationForm;\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 \" + \"ConfigurationForm.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/configurationforms/ConfigurationForm.jsx\n ** module id = 63\n ** module chunks = 5 9 10 16 17\n **/\n//# sourceURL=webpack:///./src/components/configurationforms/ConfigurationForm.jsx?")},64: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 _jquery = __webpack_require__(15);\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _componentsConfigurationformsFieldHelpers = __webpack_require__(25);\n\nvar _componentsConfigurationformsFieldHelpers2 = _interopRequireDefault(_componentsConfigurationformsFieldHelpers);\n\nvar DropdownField = _react2['default'].createClass({\n  displayName: 'DropdownField',\n\n  propTypes: {\n    autoFocus: _react2['default'].PropTypes.bool.isRequired,\n    field: _react2['default'].PropTypes.object.isRequired,\n    onChange: _react2['default'].PropTypes.func.isRequired,\n    title: _react2['default'].PropTypes.string.isRequired,\n    typeName: _react2['default'].PropTypes.string.isRequired,\n    value: _react2['default'].PropTypes.any\n  },\n  getInitialState: function getInitialState() {\n    return {\n      typeName: this.props.typeName,\n      field: this.props.field,\n      title: this.props.title,\n      value: this.props.value\n    };\n  },\n  componentWillReceiveProps: function componentWillReceiveProps(props) {\n    this.setState(props);\n  },\n  _formatOption: function _formatOption(value, key) {\n    return _react2['default'].createElement(\n      'option',\n      { key: this.state.typeName + '-' + this.state.field + '-' + key, value: key, id: key },\n      value\n    );\n  },\n  handleChange: function handleChange(evt) {\n    this.props.onChange(this.state.title, evt.target.value);\n    this.setState({ value: evt.target.value });\n  },\n  render: function render() {\n    var field = this.state.field;\n    var options = _jquery2['default'].map(field.additional_info.values, this._formatOption);\n    var typeName = this.state.typeName;\n    return _react2['default'].createElement(\n      'div',\n      { className: 'form-group' },\n      _react2['default'].createElement(\n        'label',\n        { htmlFor: typeName + '-' + field.title },\n        field.human_name,\n        _componentsConfigurationformsFieldHelpers2['default'].optionalMarker(field)\n      ),\n      _react2['default'].createElement(\n        'select',\n        { id: field.title, value: this.state.value,\n          className: 'input-xlarge form-control', onChange: this.handleChange,\n          autoFocus: this.props.autoFocus, disabled: this.props.disabled },\n        options\n      ),\n      _react2['default'].createElement(\n        'p',\n        { className: 'help-block' },\n        field.description\n      )\n    );\n  }\n});\n\nexports['default'] = DropdownField;\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 \" + \"DropdownField.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/configurationforms/DropdownField.jsx\n ** module id = 64\n ** module chunks = 5 9 10 16 17\n **/\n//# sourceURL=webpack:///./src/components/configurationforms/DropdownField.jsx?")},65: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 _FieldHelpers = __webpack_require__(25);\n\nvar _FieldHelpers2 = _interopRequireDefault(_FieldHelpers);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar NumberField = _react2['default'].createClass({\n  displayName: 'NumberField',\n\n  propTypes: {\n    autoFocus: _react2['default'].PropTypes.bool,\n    field: _react2['default'].PropTypes.object.isRequired,\n    onChange: _react2['default'].PropTypes.func.isRequired,\n    title: _react2['default'].PropTypes.string.isRequired,\n    typeName: _react2['default'].PropTypes.string.isRequired,\n    value: _react2['default'].PropTypes.any\n  },\n  MAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER !== undefined ? Number.MAX_SAFE_INTEGER : Math.pow(2, 53) - 1,\n  MIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER !== undefined ? Number.MIN_SAFE_INTEGER : -1 * (Math.pow(2, 53) - 1),\n  _getDefaultValidationSpecs: function _getDefaultValidationSpecs() {\n    return { min: this.MIN_SAFE_INTEGER, max: this.MAX_SAFE_INTEGER };\n  },\n  mapValidationAttribute: function mapValidationAttribute(attribute) {\n    switch (attribute.toLocaleUpperCase()) {\n      case 'ONLY_NEGATIVE':\n        return { min: this.MIN_SAFE_INTEGER, max: -1 };\n      case 'ONLY_POSITIVE':\n        return { min: 0, max: this.MAX_SAFE_INTEGER };\n      case 'IS_PORT_NUMBER':\n        return { min: 0, max: 65535 };\n      default:\n        return this._getDefaultValidationSpecs();\n    }\n  },\n  validationSpec: function validationSpec(field) {\n    var validationAttributes = field.attributes.map(this.mapValidationAttribute);\n    if (validationAttributes.length > 0) {\n      // The server may return more than one validation attribute, but it doesn't make sense to use more\n      // than one validation for a number field, so we return the first one\n      return validationAttributes[0];\n    }\n\n    return this._getDefaultValidationSpecs();\n  },\n  handleChange: function handleChange(evt) {\n    var numericValue = _utilFormsUtils2['default'].getValueFromInput(evt.target);\n    this.props.onChange(this.props.title, numericValue);\n  },\n  render: function render() {\n    var typeName = this.props.typeName;\n    var field = this.props.field;\n    var isRequired = !field.is_optional;\n    var validationSpecs = this.validationSpec(field);\n\n    // TODO: replace with bootstrap input component\n    return _react2['default'].createElement(\n      'div',\n      { className: 'form-group' },\n      _react2['default'].createElement(\n        'label',\n        { htmlFor: typeName + '-' + field.title },\n        field.human_name,\n        _FieldHelpers2['default'].optionalMarker(field)\n      ),\n      _react2['default'].createElement('input', _extends({ id: field.title, type: 'number', required: isRequired, onChange: this.handleChange,\n        value: this.props.value, className: 'input-xlarge validatable form-control'\n      }, validationSpecs, { autoFocus: this.props.autoFocus })),\n      _react2['default'].createElement(\n        'p',\n        { className: 'help-block' },\n        field.description\n      )\n    );\n  }\n});\n\nexports['default'] = NumberField;\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 \" + \"NumberField.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/configurationforms/NumberField.jsx\n ** module id = 65\n ** module chunks = 5 9 10 16 17\n **/\n//# sourceURL=webpack:///./src/components/configurationforms/NumberField.jsx?");
},66: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 _componentsConfigurationformsFieldHelpers = __webpack_require__(25);\n\nvar _componentsConfigurationformsFieldHelpers2 = _interopRequireDefault(_componentsConfigurationformsFieldHelpers);\n\nvar TextField = _react2['default'].createClass({\n  displayName: 'TextField',\n\n  propTypes: {\n    autoFocus: _react2['default'].PropTypes.bool,\n    field: _react2['default'].PropTypes.object.isRequired,\n    onChange: _react2['default'].PropTypes.func.isRequired,\n    title: _react2['default'].PropTypes.string.isRequired,\n    typeName: _react2['default'].PropTypes.string.isRequired,\n    value: _react2['default'].PropTypes.any\n  },\n  getInitialState: function getInitialState() {\n    return {\n      typeName: this.props.typeName,\n      field: this.props.field,\n      title: this.props.title,\n      value: this.props.value\n    };\n  },\n  componentWillReceiveProps: function componentWillReceiveProps(props) {\n    this.setState(props);\n  },\n  handleChange: function handleChange(evt) {\n    this.props.onChange(this.state.title, evt.target.value);\n    this.setState({ value: evt.target.value });\n  },\n  render: function render() {\n    var field = this.state.field;\n    var title = this.state.title;\n    var typeName = this.state.typeName;\n\n    var inputField = undefined;\n    var isRequired = !field.is_optional;\n    var fieldType = !_componentsConfigurationformsFieldHelpers2['default'].hasAttribute(field.attributes, 'textarea') && _componentsConfigurationformsFieldHelpers2['default'].hasAttribute(field.attributes, 'is_password') ? 'password' : 'text';\n\n    if (_componentsConfigurationformsFieldHelpers2['default'].hasAttribute(field.attributes, 'textarea')) {\n      inputField = _react2['default'].createElement('textarea', { id: title, className: 'form-control', rows: 10,\n        name: 'configuration[' + title + ']', required: isRequired, value: this.state.value,\n        onChange: this.handleChange, autoFocus: this.props.autoFocus });\n    } else {\n      inputField = _react2['default'].createElement('input', { id: title, type: fieldType, className: 'form-control', name: 'configuration[' + title + ']', value: this.state.value,\n        onChange: this.handleChange, required: isRequired, autoFocus: this.props.autoFocus });\n    }\n\n    // TODO: replace with bootstrap input component\n    return _react2['default'].createElement(\n      'div',\n      { className: 'form-group' },\n      _react2['default'].createElement(\n        'label',\n        { htmlFor: typeName + '-' + title + ')' },\n        field.human_name,\n        _componentsConfigurationformsFieldHelpers2['default'].optionalMarker(field)\n      ),\n      inputField,\n      _react2['default'].createElement(\n        'p',\n        { className: 'help-block' },\n        field.description\n      )\n    );\n  }\n});\n\nexports['default'] = TextField;\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 \" + \"TextField.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/configurationforms/TextField.jsx\n ** module id = 66\n ** module chunks = 5 9 10 16 17\n **/\n//# sourceURL=webpack:///./src/components/configurationforms/TextField.jsx?")},67: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__(111);\n\nexports.CreateInputControl = _interopRequire(_CreateInputControl);\n\nvar _InputDropdown = __webpack_require__(79);\n\nexports.InputDropdown = _interopRequire(_InputDropdown);\n\nvar _InputForm = __webpack_require__(227);\n\nexports.InputForm = _interopRequire(_InputForm);\n\nvar _InputListItem = __webpack_require__(112);\n\nexports.InputListItem = _interopRequire(_InputListItem);\n\nvar _InputsList = __webpack_require__(232);\n\nexports.InputsList = _interopRequire(_InputsList);\n\nvar _InputStateBadge = __webpack_require__(228);\n\nexports.InputStateBadge = _interopRequire(_InputStateBadge);\n\nvar _InputStateControl = __webpack_require__(229);\n\nexports.InputStateControl = _interopRequire(_InputStateControl);\n\nvar _InputThroughput = __webpack_require__(231);\n\nexports.InputThroughput = _interopRequire(_InputThroughput);\n\nvar _InputStaticFields = __webpack_require__(230);\n\nexports.InputStaticFields = _interopRequire(_InputStaticFields);\n\nvar _NodeOrGlobalSelect = __webpack_require__(233);\n\nexports.NodeOrGlobalSelect = _interopRequire(_NodeOrGlobalSelect);\n\nvar _StaticFieldForm = __webpack_require__(234);\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 = 67\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/index.jsx?')},79: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__(41);\n\nvar _reactAddonsLinkedStateMixin2 = _interopRequireDefault(_reactAddonsLinkedStateMixin);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _componentsCommonSpinner = __webpack_require__(23);\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  },\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.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 = 79\n ** module chunks = 9 10 19 20\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputDropdown.jsx?")},111: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__(67);\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', 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 = 111\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/CreateInputControl.jsx?")},112: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__(19);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _utilPermissionsMixin = __webpack_require__(27);\n\nvar _utilPermissionsMixin2 = _interopRequireDefault(_utilPermissionsMixin);\n\nvar _routingApiRoutes = __webpack_require__(14);\n\nvar _routingApiRoutes2 = _interopRequireDefault(_routingApiRoutes);\n\nvar _routingRoutes = __webpack_require__(13);\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__(67);\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\n  _getConfigurationOptions: function _getConfigurationOptions(inputAttributes) {\n    var _this = this;\n\n    var attributes = Object.keys(inputAttributes);\n    return attributes.map(function (attribute) {\n      return _react2['default'].createElement(\n        'li',\n        { key: attribute + '-' + _this.props.input.id },\n        attribute,\n        ': ',\n        inputAttributes[attribute]\n      );\n    });\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: _routingApiRoutes2['default'].SearchController.index('gl2_source_input:' + this.props.input.id, 'relative', 28800).url },\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(\n          _reactBootstrap.Well,\n          { bsSize: 'small', className: 'configuration-well' },\n          _react2['default'].createElement(\n            'ul',\n            null,\n            this._getConfigurationOptions(this.props.input.attributes)\n          )\n        ),\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 = 112\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputListItem.jsx?")},196: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 = 196\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/bootstrap/BootstrapAccordion.jsx?');
},197: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 = 197\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/bootstrap/BootstrapAccordionGroup.jsx?")},198: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__(196);\n\nexports.BootstrapAccordion = _interopRequire(_BootstrapAccordion);\n\nvar _BootstrapAccordionGroup = __webpack_require__(197);\n\nexports.BootstrapAccordionGroup = _interopRequire(_BootstrapAccordionGroup);\n\nvar _BootstrapModalForm = __webpack_require__(33);\n\nexports.BootstrapModalForm = _interopRequire(_BootstrapModalForm);\n\nvar _BootstrapModalWrapper = __webpack_require__(77);\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 = 198\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/bootstrap/index.js?')},227: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__(15);\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _componentsInputs = __webpack_require__(67);\n\nvar _componentsConfigurationforms = __webpack_require__(36);\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 = 227\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputForm.jsx?")},228: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__(270);\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 = 228\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputStateBadge.jsx?")},229: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  _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  _startInput: function _startInput() {\n    InputStatesStore.start(this.props.input);\n  },\n  _stopInput: function _stopInput() {\n    InputStatesStore.stop(this.props.input);\n  },\n  render: function render() {\n    if (this._isInputRunning()) {\n      return _react2['default'].createElement(\n        _reactBootstrap.Button,\n        { bsStyle: 'primary', onClick: this._stopInput },\n        'Stop input'\n      );\n    }\n\n    return _react2['default'].createElement(\n      _reactBootstrap.Button,\n      { bsStyle: 'success', onClick: this._startInput },\n      '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 = 229\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputStateControl.jsx?")},230: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 = 230\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputStaticFields.jsx?")},231: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__(18);\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 _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  _formatBytes: function _formatBytes(bytes) {\n    return (0, _numeral2['default'])(bytes).format('0.0b');\n  },\n  _formatNetworkStats: function _formatNetworkStats(writtenBytes1Sec, writtenBytesTotal, readBytes1Sec, readBytesTotal) {\n    // ugh, is there a way of not doing it globally?\n    _numeral2['default'].zeroFormat('0B');\n\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          this._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          this._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          this._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          this._formatBytes(writtenBytesTotal)\n        ),\n        _react2['default'].createElement(\n          'span',\n          null,\n          ' )'\n        )\n      ),\n      _react2['default'].createElement('br', null)\n    );\n    // wow this sucks\n    _numeral2['default'].zeroFormat(null);\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 = 231\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputThroughput.jsx?");
},232: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__(45);\n\nvar _javascriptNaturalSort2 = _interopRequireDefault(_javascriptNaturalSort);\n\nvar _componentsCommonEntityList = __webpack_require__(148);\n\nvar _componentsCommonEntityList2 = _interopRequireDefault(_componentsCommonEntityList);\n\nvar _InputListItem = __webpack_require__(112);\n\nvar _InputListItem2 = _interopRequireDefault(_InputListItem);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _CreateInputControl = __webpack_require__(111);\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 = 232\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputsList.jsx?")},233: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 = 233\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/NodeOrGlobalSelect.jsx?")},234: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__(198);\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 = 234\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/components/inputs/StaticFieldForm.jsx?")},270: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 = 270\n ** module chunks = 9 10\n **/\n//# sourceURL=webpack:///./src/logic/inputs/InputStateComparator.js?")},983: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__(19);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _componentsInputs = __webpack_require__(67);\n\nvar _routingRoutes = __webpack_require__(13);\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 = 983\n ** module chunks = 9\n **/\n//# sourceURL=webpack:///./src/pages/NodeInputsPage.jsx?./~/react-hot-loader!./~/babel-loader")}});




© 2015 - 2024 Weber Informatics LLC | Privacy Policy