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

web-interface.assets.20.20.0f89f3859126ac0eb741.js Maven / Gradle / Ivy

There is a newer version: 5.2.7
Show newest version
webpackJsonp([20],{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?")},78: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 _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar MessagesStore = _injectionStoreProvider2['default'].getStore('Messages');\n\nvar MessageLoader = _react2['default'].createClass({\n  displayName: 'MessageLoader',\n\n  propTypes: {\n    hidden: _react.PropTypes.bool,\n    hideText: _react.PropTypes.bool,\n    onMessageLoaded: _react.PropTypes.func\n  },\n  getDefaultProps: function getDefaultProps() {\n    return {\n      hidden: true\n    };\n  },\n  getInitialState: function getInitialState() {\n    return {\n      hidden: this.props.hidden\n    };\n  },\n\n  toggleMessageForm: function toggleMessageForm() {\n    this.setState({ hidden: !this.state.hidden }, this._focusMessageLoaderForm);\n  },\n  _focusMessageLoaderForm: function _focusMessageLoaderForm() {\n    if (!this.state.hidden) {\n      this.refs.messageId.focus();\n    }\n  },\n  loadMessage: function loadMessage(event) {\n    var _this = this;\n\n    var messageId = this.refs.messageId.value;\n    var index = this.refs.index.value;\n    if (messageId === '' || index === '') {\n      return;\n    }\n    var promise = MessagesStore.loadMessage(index, messageId);\n    promise.then(function (data) {\n      return _this.props.onMessageLoaded(data);\n    });\n\n    event.preventDefault();\n  },\n  submit: function submit(messageId, index) {\n    this.refs.messageId.value = messageId;\n    this.refs.index.value = index;\n    this.refs.submitButton.click();\n  },\n  render: function render() {\n    var explanatoryText = undefined;\n    if (!this.props.hideText) {\n      explanatoryText = _react2['default'].createElement(\n        'p',\n        null,\n        'Wrong example? You can',\n        ' ',\n        _react2['default'].createElement(\n          'button',\n          { className: 'btn btn-link btn-small btn-text', onClick: this.toggleMessageForm },\n          'load another message'\n        ),\n        '.'\n      );\n    }\n    var loadMessageForm = _react2['default'].createElement(\n      'div',\n      null,\n      _react2['default'].createElement(\n        'form',\n        { className: 'form-inline message-loader-form', onSubmit: this.loadMessage },\n        _react2['default'].createElement('input', { type: 'text', ref: 'messageId', className: 'form-control', placeholder: 'Message ID', required: true }),\n        _react2['default'].createElement('input', { type: 'text', ref: 'index', className: 'form-control', placeholder: 'Index', required: true }),\n        _react2['default'].createElement(\n          'button',\n          { ref: 'submitButton', type: 'submit', className: 'btn btn-info' },\n          'Load message'\n        )\n      )\n    );\n    return _react2['default'].createElement(\n      'div',\n      { className: 'message-loader' },\n      explanatoryText,\n      this.state.hidden ? null : loadMessageForm\n    );\n  }\n});\n\nexports['default'] = MessageLoader;\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 \" + \"MessageLoader.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/MessageLoader.jsx\n ** module id = 78\n ** module chunks = 7 8 19 20\n **/\n//# sourceURL=webpack:///./src/components/extractors/MessageLoader.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?")},236: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 _immutable = __webpack_require__(22);\n\nvar _immutable2 = _interopRequireDefault(_immutable);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _RecentMessageLoader = __webpack_require__(237);\n\nvar _RecentMessageLoader2 = _interopRequireDefault(_RecentMessageLoader);\n\nvar _componentsSearchMessageShow = __webpack_require__(150);\n\nvar _componentsSearchMessageShow2 = _interopRequireDefault(_componentsSearchMessageShow);\n\nvar _componentsExtractorsMessageLoader = __webpack_require__(78);\n\nvar _componentsExtractorsMessageLoader2 = _interopRequireDefault(_componentsExtractorsMessageLoader);\n\nvar InputsStore = _injectionStoreProvider2['default'].getStore('Inputs');\nvar StreamsStore = _injectionStoreProvider2['default'].getStore('Streams');\n\nvar InputsActions = _injectionActionsProvider2['default'].getActions('Inputs');\n\nvar LoaderTabs = _react2['default'].createClass({\n  displayName: 'LoaderTabs',\n\n  propTypes: {\n    messageId: _react.PropTypes.string,\n    index: _react.PropTypes.string,\n    onMessageLoaded: _react.PropTypes.func,\n    selectedInputId: _react.PropTypes.string,\n    customFieldActions: _react.PropTypes.node\n  },\n  mixins: [_reflux2['default'].listenTo(InputsStore, '_formatInputs')],\n  getInitialState: function getInitialState() {\n    return {\n      message: undefined,\n      inputs: undefined\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    this.loadData();\n    if (this.props.messageId && this.props.index) {\n      this.refs.messageLoader.submit(this.props.messageId, this.props.index);\n    }\n  },\n  onMessageLoaded: function onMessageLoaded(message) {\n    this.setState({ message: message });\n    if (this.props.onMessageLoaded) {\n      this.props.onMessageLoaded(message);\n    }\n  },\n  _formatInputs: function _formatInputs(state) {\n    var inputs = InputsStore.inputsAsMap(state.inputs);\n    this.setState({ inputs: _immutable2['default'].Map(inputs) });\n  },\n  loadData: function loadData() {\n    var _this = this;\n\n    InputsActions.list();\n    StreamsStore.listStreams().then(function (response) {\n      var streams = {};\n      response.forEach(function (stream) {\n        streams[stream.id] = stream;\n      });\n      _this.setState({ streams: _immutable2['default'].Map(streams) });\n    });\n  },\n  render: function render() {\n    var displayMessage = undefined;\n    if (this.state.message && this.state.inputs) {\n      displayMessage = _react2['default'].createElement(\n        _reactBootstrap.Col,\n        { md: 12 },\n        _react2['default'].createElement(_componentsSearchMessageShow2['default'], { message: this.state.message, inputs: this.state.inputs,\n          streams: this.state.streams,\n          disableTestAgainstStream: true,\n          disableSurroundingSearch: true,\n          disableFieldActions: !this.props.customFieldActions,\n          customFieldActions: this.props.customFieldActions })\n      );\n    }\n\n    var defaultActiveKey = undefined;\n    if (this.props.messageId && this.props.index) {\n      defaultActiveKey = 2;\n    } else {\n      defaultActiveKey = 1;\n    }\n    return _react2['default'].createElement(\n      'div',\n      null,\n      _react2['default'].createElement(\n        _reactBootstrap.Tabs,\n        { defaultActiveKey: defaultActiveKey, animation: false },\n        _react2['default'].createElement(\n          _reactBootstrap.Tab,\n          { eventKey: 1, title: 'Recent', style: { marginBottom: 10 } },\n          _react2['default'].createElement(_RecentMessageLoader2['default'], { inputs: this.state.inputs,\n            selectedInputId: this.props.selectedInputId,\n            onMessageLoaded: this.onMessageLoaded })\n        ),\n        _react2['default'].createElement(\n          _reactBootstrap.Tab,\n          { eventKey: 2, title: 'Manual', style: { marginBottom: 10 } },\n          _react2['default'].createElement(\n            'div',\n            { style: { marginTop: 5, marginBottom: 15 } },\n            'Please provide the id and index of the message that you want to load in this form:'\n          ),\n          _react2['default'].createElement(_componentsExtractorsMessageLoader2['default'], { ref: 'messageLoader', onMessageLoaded: this.onMessageLoaded, hidden: false, hideText: true })\n        )\n      ),\n      displayMessage\n    );\n  }\n});\n\nexports['default'] = LoaderTabs;\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 \" + \"LoaderTabs.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/messageloaders/LoaderTabs.jsx\n ** module id = 236\n ** module chunks = 19 20\n **/\n//# sourceURL=webpack:///./src/components/messageloaders/LoaderTabs.jsx?")},237: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 _componentsInputsInputDropdown = __webpack_require__(79);\n\nvar _componentsInputsInputDropdown2 = _interopRequireDefault(_componentsInputsInputDropdown);\n\nvar _utilUserNotification = __webpack_require__(8);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar UniversalSearchStore = _injectionStoreProvider2['default'].getStore('UniversalSearch');\n\nvar RecentMessageLoader = _react2['default'].createClass({\n  displayName: 'RecentMessageLoader',\n\n  propTypes: {\n    inputs: _react.PropTypes.object,\n    onMessageLoaded: _react.PropTypes.func.isRequired,\n    selectedInputId: _react.PropTypes.string\n  },\n  onClick: function onClick(inputId) {\n    var _this = this;\n\n    var input = this.props.inputs.get(inputId);\n    if (!input) {\n      _utilUserNotification2['default'].error('Invalid input selected: ' + inputId, 'Could not load message from invalid Input ' + inputId);\n    }\n    UniversalSearchStore.search('relative', 'gl2_source_input:' + inputId + ' OR gl2_source_radio_input:' + inputId, { range: 0 }, undefined, 1, undefined, undefined).then(function (response) {\n      if (response.total_results > 0) {\n        _this.props.onMessageLoaded(response.messages[0]);\n      } else {\n        _utilUserNotification2['default'].error('Input did not return a recent message.');\n        _this.props.onMessageLoaded(undefined);\n      }\n    });\n  },\n  render: function render() {\n    var helpMessage = undefined;\n    if (this.props.selectedInputId) {\n      helpMessage = 'Click on \"Load Message\" to load the most recent message from this input.';\n    } else {\n      helpMessage = 'Select an Input from the list below and click \"Load Message\" to load the most recent message from this input.';\n    }\n    return _react2['default'].createElement(\n      'div',\n      { style: { marginTop: 5 } },\n      helpMessage,\n      _react2['default'].createElement(_componentsInputsInputDropdown2['default'], { inputs: this.props.inputs, preselectedInputId: this.props.selectedInputId, onLoadMessage: this.onClick, title: 'Load Message' })\n    );\n  }\n});\n\nexports['default'] = RecentMessageLoader;\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 \" + \"RecentMessageLoader.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/messageloaders/RecentMessageLoader.jsx\n ** module id = 237\n ** module chunks = 19 20\n **/\n//# sourceURL=webpack:///./src/components/messageloaders/RecentMessageLoader.jsx?")},821: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 _componentsMessageloadersLoaderTabs = __webpack_require__(236);\n\nvar _componentsMessageloadersLoaderTabs2 = _interopRequireDefault(_componentsMessageloadersLoaderTabs);\n\nvar _componentsSearchMessageFieldExtractorActions = __webpack_require__(364);\n\nvar _componentsSearchMessageFieldExtractorActions2 = _interopRequireDefault(_componentsSearchMessageFieldExtractorActions);\n\nvar AddExtractorWizard = _react2['default'].createClass({\n  displayName: 'AddExtractorWizard',\n\n  propTypes: {\n    inputId: _react.PropTypes.string\n  },\n  getInitialState: function getInitialState() {\n    return {\n      showExtractorForm: false\n    };\n  },\n  _showAddExtractorForm: function _showAddExtractorForm() {\n    this.setState({ showExtractorForm: !this.state.showExtractorForm });\n  },\n  render: function render() {\n    var extractorForm = undefined;\n\n    if (this.state.showExtractorForm) {\n      // Components using this component, will give it a proper fieldName and message\n      var extractorFieldActions = _react2['default'].createElement(_componentsSearchMessageFieldExtractorActions2['default'], { fieldName: '', message: {} });\n      extractorForm = _react2['default'].createElement(\n        'div',\n        { className: 'stream-loader' },\n        _react2['default'].createElement(_componentsMessageloadersLoaderTabs2['default'], { selectedInputId: this.props.inputId, customFieldActions: extractorFieldActions })\n      );\n    }\n\n    return _react2['default'].createElement(\n      _reactBootstrap.Row,\n      { className: 'content' },\n      _react2['default'].createElement(\n        _reactBootstrap.Col,\n        { md: 12 },\n        _react2['default'].createElement(\n          'h2',\n          { style: { marginBottom: 5 } },\n          'Add extractor'\n        ),\n        _react2['default'].createElement(\n          'p',\n          null,\n          'Start by loading a message to have an example to work on. You can decide whether to load a recent message received by this input, or manually select a message giving its ID.'\n        ),\n        _react2['default'].createElement(\n          'p',\n          null,\n          _react2['default'].createElement(\n            _reactBootstrap.Button,\n            { bsStyle: 'info', bsSize: 'small', onClick: this._showAddExtractorForm, disabled: this.state.showExtractorForm },\n            'Get started'\n          )\n        ),\n        extractorForm\n      )\n    );\n  }\n});\n\nexports['default'] = AddExtractorWizard;\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 \" + \"AddExtractorWizard.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/AddExtractorWizard.jsx\n ** module id = 821\n ** module chunks = 20\n **/\n//# sourceURL=webpack:///./src/components/extractors/AddExtractorWizard.jsx?")},823: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 _componentsBootstrapBootstrapModalWrapper = __webpack_require__(77);\n\nvar _componentsBootstrapBootstrapModalWrapper2 = _interopRequireDefault(_componentsBootstrapBootstrapModalWrapper);\n\nvar _componentsCommonSortableList = __webpack_require__(353);\n\nvar _componentsCommonSortableList2 = _interopRequireDefault(_componentsCommonSortableList);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar ExtractorsActions = _injectionActionsProvider2['default'].getActions('Extractors');\n\nvar ExtractorSortModal = _react2['default'].createClass({\n  displayName: 'ExtractorSortModal',\n\n  propTypes: {\n    input: _react.PropTypes.object.isRequired,\n    extractors: _react.PropTypes.array.isRequired\n  },\n  open: function open() {\n    this.refs.modal.open();\n  },\n  close: function close() {\n    this.refs.modal.close();\n  },\n  _updateSorting: function _updateSorting(newSorting) {\n    this.sortedExtractors = newSorting;\n  },\n  _saveSorting: function _saveSorting() {\n    var _this = this;\n\n    if (!this.sortedExtractors) {\n      this.close();\n    }\n    var promise = ExtractorsActions.order.triggerPromise(this.props.input.id, this.sortedExtractors);\n    promise.then(function () {\n      return _this.close();\n    });\n  },\n  render: function render() {\n    return _react2['default'].createElement(\n      _componentsBootstrapBootstrapModalWrapper2['default'],\n      { ref: 'modal' },\n      _react2['default'].createElement(\n        _reactBootstrap.Modal.Header,\n        { closeButton: true },\n        _react2['default'].createElement(\n          _reactBootstrap.Modal.Title,\n          null,\n          _react2['default'].createElement(\n            'span',\n            null,\n            'Sort extractors for ',\n            _react2['default'].createElement(\n              'em',\n              null,\n              this.props.input.title\n            )\n          )\n        )\n      ),\n      _react2['default'].createElement(\n        _reactBootstrap.Modal.Body,\n        null,\n        _react2['default'].createElement(\n          'p',\n          null,\n          'Drag and drop the extractors on the list to change the order in which they will be applied.'\n        ),\n        _react2['default'].createElement(\n          _reactBootstrap.Row,\n          { className: 'row-sm' },\n          _react2['default'].createElement(\n            _reactBootstrap.Col,\n            { md: 12 },\n            _react2['default'].createElement(_componentsCommonSortableList2['default'], { items: this.props.extractors, onMoveItem: this._updateSorting })\n          )\n        )\n      ),\n      _react2['default'].createElement(\n        _reactBootstrap.Modal.Footer,\n        null,\n        _react2['default'].createElement(\n          _reactBootstrap.Button,\n          { type: 'button', onClick: this.close },\n          'Close'\n        ),\n        _react2['default'].createElement(\n          _reactBootstrap.Button,\n          { type: 'button', bsStyle: 'info', onClick: this._saveSorting },\n          'Save'\n        )\n      )\n    );\n  }\n});\n\nexports['default'] = ExtractorSortModal;\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 \" + \"ExtractorSortModal.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/ExtractorSortModal.jsx\n ** module id = 823\n ** module chunks = 20\n **/\n//# sourceURL=webpack:///./src/components/extractors/ExtractorSortModal.jsx?");
},824: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 _componentsCommonSpinner = __webpack_require__(23);\n\nvar _componentsCommonSpinner2 = _interopRequireDefault(_componentsCommonSpinner);\n\nvar _componentsExtractorsAddExtractorWizard = __webpack_require__(821);\n\nvar _componentsExtractorsAddExtractorWizard2 = _interopRequireDefault(_componentsExtractorsAddExtractorWizard);\n\nvar _componentsCommonEntityList = __webpack_require__(149);\n\nvar _componentsCommonEntityList2 = _interopRequireDefault(_componentsCommonEntityList);\n\nvar _ExtractorsListItem = __webpack_require__(825);\n\nvar _ExtractorsListItem2 = _interopRequireDefault(_ExtractorsListItem);\n\nvar _ExtractorSortModal = __webpack_require__(823);\n\nvar _ExtractorSortModal2 = _interopRequireDefault(_ExtractorSortModal);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar ExtractorsActions = _injectionActionsProvider2['default'].getActions('Extractors');\n\nvar ExtractorsStore = _injectionStoreProvider2['default'].getStore('Extractors');\n\nvar ExtractorsList = _react2['default'].createClass({\n  displayName: 'ExtractorsList',\n\n  propTypes: {\n    input: _react.PropTypes.object.isRequired,\n    node: _react.PropTypes.object.isRequired\n  },\n  mixins: [_reflux2['default'].connect(ExtractorsStore), _reflux2['default'].ListenerMethods],\n  componentDidMount: function componentDidMount() {\n    ExtractorsActions.list.triggerPromise(this.props.input.id);\n  },\n  _formatExtractor: function _formatExtractor(extractor) {\n    return _react2['default'].createElement(_ExtractorsListItem2['default'], { key: extractor.id, extractor: extractor, inputId: this.props.input.id,\n      nodeId: this.props.node.node_id });\n  },\n  _isLoading: function _isLoading() {\n    return !this.state.extractors;\n  },\n  _openSortModal: function _openSortModal() {\n    this.refs.sortModal.open();\n  },\n  render: function render() {\n    if (this._isLoading()) {\n      return _react2['default'].createElement(_componentsCommonSpinner2['default'], null);\n    }\n\n    var sortExtractorsButton = undefined;\n    if (this.state.extractors.length > 1) {\n      sortExtractorsButton = _react2['default'].createElement(\n        _reactBootstrap.Button,\n        { bsSize: 'xsmall', bsStyle: 'primary', className: 'pull-right', onClick: this._openSortModal },\n        'Sort extractors'\n      );\n    }\n\n    var formattedExtractors = this.state.extractors.sort(function (extractor1, extractor2) {\n      return (0, _javascriptNaturalSort2['default'])(extractor1.order, extractor2.order);\n    }).map(this._formatExtractor);\n\n    return _react2['default'].createElement(\n      'div',\n      null,\n      _react2['default'].createElement(_componentsExtractorsAddExtractorWizard2['default'], { inputId: this.props.input.id }),\n      _react2['default'].createElement(\n        _reactBootstrap.Row,\n        { className: 'content extractor-list' },\n        _react2['default'].createElement(\n          _reactBootstrap.Col,\n          { md: 12 },\n          _react2['default'].createElement(\n            _reactBootstrap.Row,\n            { className: 'row-sm' },\n            _react2['default'].createElement(\n              _reactBootstrap.Col,\n              { md: 8 },\n              _react2['default'].createElement(\n                'h2',\n                null,\n                'Configured extractors'\n              )\n            ),\n            _react2['default'].createElement(\n              _reactBootstrap.Col,\n              { md: 4 },\n              sortExtractorsButton\n            )\n          ),\n          _react2['default'].createElement(_componentsCommonEntityList2['default'], { bsNoItemsStyle: 'info', noItemsText: 'This input has no configured extractors.',\n            items: formattedExtractors })\n        )\n      ),\n      _react2['default'].createElement(_ExtractorSortModal2['default'], { ref: 'sortModal', input: this.props.input, extractors: this.state.extractors })\n    );\n  }\n});\n\nexports['default'] = ExtractorsList;\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 \" + \"ExtractorsList.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/ExtractorsList.jsx\n ** module id = 824\n ** module chunks = 20\n **/\n//# sourceURL=webpack:///./src/components/extractors/ExtractorsList.jsx?")},825: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 _reactRouterBootstrap = __webpack_require__(19);\n\nvar _numeral = __webpack_require__(18);\n\nvar _numeral2 = _interopRequireDefault(_numeral);\n\nvar _componentsCommonEntityListItem = __webpack_require__(352);\n\nvar _componentsCommonEntityListItem2 = _interopRequireDefault(_componentsCommonEntityListItem);\n\nvar _utilExtractorUtils = __webpack_require__(39);\n\nvar _utilExtractorUtils2 = _interopRequireDefault(_utilExtractorUtils);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _routingRoutes = __webpack_require__(13);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar ExtractorsActions = _injectionActionsProvider2['default'].getActions('Extractors');\n\nvar ExtractorsListItem = _react2['default'].createClass({\n  displayName: 'ExtractorsListItem',\n\n  propTypes: {\n    extractor: _react.PropTypes.object.isRequired,\n    inputId: _react.PropTypes.string.isRequired,\n    nodeId: _react.PropTypes.string.isRequired\n  },\n  getInitialState: function getInitialState() {\n    return {\n      showDetails: false\n    };\n  },\n  _toggleDetails: function _toggleDetails() {\n    this.setState({ showDetails: !this.state.showDetails });\n  },\n  _deleteExtractor: function _deleteExtractor() {\n    if (window.confirm('Really remove extractor \"' + this.props.extractor.title + '?\"')) {\n      ExtractorsActions['delete'].triggerPromise(this.props.inputId, this.props.extractor);\n    }\n  },\n  _formatExtractorSubtitle: function _formatExtractorSubtitle() {\n    return _react2['default'].createElement(\n      'span',\n      null,\n      'Trying to extract data from ',\n      _react2['default'].createElement(\n        'em',\n        null,\n        this.props.extractor.source_field\n      ),\n      ' into',\n      ' ',\n      _react2['default'].createElement(\n        'em',\n        null,\n        this.props.extractor.target_field\n      ),\n      ',',\n      ' ',\n      this.props.extractor.cursor_strategy === 'cut' && 'not',\n      ' ',\n      'leaving the original intact.'\n    );\n  },\n  _formatCondition: function _formatCondition() {\n    if (this.props.extractor.condition_type === 'none') {\n      return _react2['default'].createElement('div', null);\n    }\n\n    return _react2['default'].createElement(\n      'div',\n      { className: 'configuration-section' },\n      _react2['default'].createElement(\n        'h4',\n        null,\n        'Condition'\n      ),\n      _react2['default'].createElement(\n        'ul',\n        null,\n        _react2['default'].createElement(\n          'li',\n          null,\n          'Will only attempt to run if the message',\n          ' ',\n          this.props.extractor.condition_type === 'string' ? 'includes the string' : 'matches the regular expression',\n          ' ',\n          _react2['default'].createElement(\n            'em',\n            null,\n            this.props.extractor.condition_value\n          )\n        )\n      )\n    );\n  },\n  _formatActions: function _formatActions() {\n    var actions = [];\n\n    actions.push(_react2['default'].createElement(\n      _reactBootstrap.Button,\n      { key: 'extractor-details-' + this.props.extractor.id, bsStyle: 'info', onClick: this._toggleDetails },\n      'Details'\n    ));\n    actions.push(_react2['default'].createElement(\n      _reactRouterBootstrap.LinkContainer,\n      { key: 'edit-extractor-' + this.props.extractor.id,\n        to: _routingRoutes2['default'].edit_input_extractor(this.props.nodeId, this.props.inputId, this.props.extractor.id) },\n      _react2['default'].createElement(\n        _reactBootstrap.Button,\n        { bsStyle: 'info' },\n        'Edit'\n      )\n    ));\n    actions.push(_react2['default'].createElement(\n      _reactBootstrap.Button,\n      { key: 'delete-extractor-', bsStyle: 'danger', onClick: this._deleteExtractor },\n      'Delete'\n    ));\n\n    return actions;\n  },\n  _formatOptions: function _formatOptions(options) {\n    var _this = this;\n\n    var attributes = Object.keys(options);\n    return attributes.map(function (attribute) {\n      return _react2['default'].createElement(\n        'li',\n        { key: attribute + '-' + _this.props.extractor.id },\n        attribute,\n        ': ',\n        options[attribute]\n      );\n    });\n  },\n  _formatConfiguration: function _formatConfiguration(extractorConfig) {\n    var formattedOptions = this._formatOptions(extractorConfig);\n    if (formattedOptions.length === 0) {\n      formattedOptions = _react2['default'].createElement(\n        'li',\n        null,\n        'No configuration options'\n      );\n    }\n\n    return _react2['default'].createElement(\n      'div',\n      { className: 'configuration-section' },\n      _react2['default'].createElement(\n        'h4',\n        null,\n        'Configuration'\n      ),\n      _react2['default'].createElement(\n        'ul',\n        null,\n        formattedOptions\n      )\n    );\n  },\n  _formatConverter: function _formatConverter(key, converter) {\n    return _react2['default'].createElement(\n      'li',\n      { key: 'converter-' + key },\n      converter.type,\n      converter.config && _react2['default'].createElement(\n        'ul',\n        null,\n        this._formatOptions(converter.config)\n      )\n    );\n  },\n  _formatConverters: function _formatConverters(converters) {\n    var _this2 = this;\n\n    var converterKeys = Object.keys(converters);\n    var formattedConverters = converterKeys.map(function (converterKey) {\n      return _this2._formatConverter(converterKey, converters[converterKey]);\n    });\n    if (formattedConverters.length === 0) {\n      return _react2['default'].createElement('div', null);\n    }\n\n    return _react2['default'].createElement(\n      'div',\n      { className: 'configuration-section' },\n      _react2['default'].createElement(\n        'h4',\n        null,\n        'Converters'\n      ),\n      _react2['default'].createElement(\n        'ul',\n        null,\n        formattedConverters\n      )\n    );\n  },\n  _formatTimingMetrics: function _formatTimingMetrics(timing) {\n    return _react2['default'].createElement(\n      'dl',\n      { className: 'metric-def metric-timer' },\n      _react2['default'].createElement(\n        'dt',\n        null,\n        '95th percentile:'\n      ),\n      _react2['default'].createElement(\n        'dd',\n        null,\n        (0, _numeral2['default'])(timing['95th_percentile']).format('0,0.[00]'),\n        'μs'\n      ),\n      _react2['default'].createElement(\n        'dt',\n        null,\n        '98th percentile:'\n      ),\n      _react2['default'].createElement(\n        'dd',\n        null,\n        (0, _numeral2['default'])(timing['98th_percentile']).format('0,0.[00]'),\n        'μs'\n      ),\n      _react2['default'].createElement(\n        'dt',\n        null,\n        '99th percentile:'\n      ),\n      _react2['default'].createElement(\n        'dd',\n        null,\n        (0, _numeral2['default'])(timing['99th_percentile']).format('0,0.[00]'),\n        'μs'\n      ),\n      _react2['default'].createElement(\n        'dt',\n        null,\n        'Standard deviation:'\n      ),\n      _react2['default'].createElement(\n        'dd',\n        null,\n        (0, _numeral2['default'])(timing.std_dev).format('0,0.[00]'),\n        'μs'\n      ),\n      _react2['default'].createElement(\n        'dt',\n        null,\n        'Mean:'\n      ),\n      _react2['default'].createElement(\n        'dd',\n        null,\n        (0, _numeral2['default'])(timing.mean).format('0,0.[00]'),\n        'μs'\n      ),\n      _react2['default'].createElement(\n        'dt',\n        null,\n        'Minimum:'\n      ),\n      _react2['default'].createElement(\n        'dd',\n        null,\n        (0, _numeral2['default'])(timing.min).format('0,0.[00]'),\n        'μs'\n      ),\n      _react2['default'].createElement(\n        'dt',\n        null,\n        'Maximum:'\n      ),\n      _react2['default'].createElement(\n        'dd',\n        null,\n        (0, _numeral2['default'])(timing.max).format('0,0.[00]'),\n        'μs'\n      )\n    );\n  },\n  _formatMetrics: function _formatMetrics(metrics) {\n    var totalRate = undefined;\n    if (metrics.total.rate) {\n      totalRate = _react2['default'].createElement(\n        'div',\n        { className: 'meter', style: { marginBottom: 10 } },\n        (0, _numeral2['default'])(metrics.total.rate.total).format('0,0'),\n        ' total invocations since boot,',\n        ' ',\n        'averages:',\n        ' ',\n        (0, _numeral2['default'])(metrics.total.rate.one_minute).format('0,0.[00]'),\n        ',',\n        ' ',\n        (0, _numeral2['default'])(metrics.total.rate.five_minute).format('0,0.[00]'),\n        ',',\n        ' ',\n        (0, _numeral2['default'])(metrics.total.rate.fifteen_minute).format('0,0.[00]'),\n        '.'\n      );\n    }\n\n    var totalTime = undefined;\n    if (metrics.total.time) {\n      totalTime = this._formatTimingMetrics(metrics.total.time);\n    } else {\n      totalTime = 'No message passed through here yet.';\n    }\n\n    var convertersTime = undefined;\n    if (metrics.converters.time) {\n      convertersTime = this._formatTimingMetrics(metrics.converters.time);\n    } else {\n      convertersTime = 'No message passed through here yet.';\n    }\n\n    return _react2['default'].createElement(\n      'div',\n      null,\n      totalRate,\n      _react2['default'].createElement(\n        _reactBootstrap.Row,\n        null,\n        _react2['default'].createElement(\n          _reactBootstrap.Col,\n          { md: 6 },\n          _react2['default'].createElement(\n            'h3',\n            { style: { display: 'inline' } },\n            'Total time'\n          ),\n          _react2['default'].createElement('br', null),\n          totalTime\n        ),\n        _react2['default'].createElement(\n          _reactBootstrap.Col,\n          { md: 6 },\n          _react2['default'].createElement(\n            'h3',\n            { style: { display: 'inline' } },\n            'Converter time'\n          ),\n          _react2['default'].createElement('br', null),\n          convertersTime\n        )\n      )\n    );\n  },\n  _formatDetails: function _formatDetails() {\n    return _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          this._formatCondition(),\n          this._formatConfiguration(this.props.extractor.extractor_config),\n          this._formatConverters(this.props.extractor.converters)\n        )\n      ),\n      _react2['default'].createElement(\n        _reactBootstrap.Col,\n        { md: 4 },\n        _react2['default'].createElement(\n          'div',\n          { className: 'graylog-input-metrics' },\n          _react2['default'].createElement(\n            'h3',\n            null,\n            'Metrics'\n          ),\n          this._formatMetrics(this.props.extractor.metrics)\n        )\n      )\n    );\n  },\n  render: function render() {\n    return _react2['default'].createElement(_componentsCommonEntityListItem2['default'], { key: 'entry-list-' + this.props.extractor.id,\n      title: this.props.extractor.title,\n      titleSuffix: _utilExtractorUtils2['default'].getReadableExtractorTypeName(this.props.extractor.type),\n      description: this._formatExtractorSubtitle(),\n      actions: this._formatActions(),\n      contentRow: this.state.showDetails ? this._formatDetails() : null });\n  }\n});\n\nexports['default'] = ExtractorsListItem;\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 \" + \"ExtractorsListItem.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/ExtractorsListItem.jsx\n ** module id = 825\n ** module chunks = 20\n **/\n//# sourceURL=webpack:///./src/components/extractors/ExtractorsListItem.jsx?")},973: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 _componentsCommonPageHeader = __webpack_require__(38);\n\nvar _componentsCommonPageHeader2 = _interopRequireDefault(_componentsCommonPageHeader);\n\nvar _componentsExtractorsExtractorsList = __webpack_require__(824);\n\nvar _componentsExtractorsExtractorsList2 = _interopRequireDefault(_componentsExtractorsExtractorsList);\n\nvar _componentsCommonSpinner = __webpack_require__(23);\n\nvar _componentsCommonSpinner2 = _interopRequireDefault(_componentsCommonSpinner);\n\nvar _componentsSupportDocumentationLink = __webpack_require__(24);\n\nvar _componentsSupportDocumentationLink2 = _interopRequireDefault(_componentsSupportDocumentationLink);\n\nvar _routingRoutes = __webpack_require__(13);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar _utilDocsHelper = __webpack_require__(17);\n\nvar _utilDocsHelper2 = _interopRequireDefault(_utilDocsHelper);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar NodesActions = _injectionActionsProvider2['default'].getActions('Nodes');\nvar InputsActions = _injectionActionsProvider2['default'].getActions('Inputs');\n\nvar NodesStore = _injectionStoreProvider2['default'].getStore('Nodes');\nvar InputsStore = _injectionStoreProvider2['default'].getStore('Inputs');\n\nvar ExtractorsPage = _react2['default'].createClass({\n  displayName: 'ExtractorsPage',\n\n  propTypes: {\n    params: _react.PropTypes.object.isRequired\n  },\n  mixins: [_reflux2['default'].connect(InputsStore), _reflux2['default'].listenTo(NodesStore, 'onNodesChange')],\n  getInitialState: function getInitialState() {\n    return {\n      input: undefined,\n      node: undefined\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    InputsActions.get.triggerPromise(this.props.params.inputId);\n    NodesActions.list.triggerPromise();\n  },\n  onNodesChange: function onNodesChange(nodes) {\n    var inputNode = undefined;\n    if (this.props.params.nodeId) {\n      inputNode = nodes.nodes[this.props.params.nodeId];\n    } else {\n      var nodeIds = Object.keys(nodes.nodes);\n      for (var i = 0; i < nodeIds.length && !inputNode; i++) {\n        var tempNode = nodes.nodes[nodeIds[i]];\n        if (tempNode.is_master) {\n          inputNode = tempNode;\n        }\n      }\n    }\n\n    if (!this.state.node || this.state.node.node_id !== inputNode.node_id) {\n      this.setState({ node: inputNode });\n    }\n  },\n  _isLoading: function _isLoading() {\n    return !(this.state.input && this.state.node);\n  },\n  render: function render() {\n    if (this._isLoading()) {\n      return _react2['default'].createElement(_componentsCommonSpinner2['default'], null);\n    }\n\n    return _react2['default'].createElement(\n      'div',\n      null,\n      _react2['default'].createElement(\n        _componentsCommonPageHeader2['default'],\n        { title: _react2['default'].createElement(\n            'span',\n            null,\n            'Extractors of ',\n            _react2['default'].createElement(\n              'em',\n              null,\n              this.state.input.title\n            )\n          ) },\n        _react2['default'].createElement(\n          'span',\n          null,\n          'Extractors are applied on every message that is received by this input. Use them to extract and transform',\n          ' ',\n          'any text data into fields that allow you easy filtering and analysis later on.',\n          ' ',\n          'Example: Extract the HTTP response code from a log message, transform it to a numeric field and attach it',\n          ' ',\n          'as ',\n          _react2['default'].createElement(\n            'em',\n            null,\n            'http_response_code'\n          ),\n          ' to the message.'\n        ),\n        _react2['default'].createElement(\n          'span',\n          null,\n          'Find more information about extractors in the',\n          ' ',\n          _react2['default'].createElement(_componentsSupportDocumentationLink2['default'], { page: _utilDocsHelper2['default'].PAGES.EXTRACTORS, text: 'documentation' }),\n          '.'\n        ),\n        _react2['default'].createElement(\n          _reactBootstrap.DropdownButton,\n          { bsStyle: 'info', bsSize: 'large', id: 'extractor-actions-dropdown', title: 'Actions', pullRight: true },\n          _react2['default'].createElement(\n            _reactRouterBootstrap.LinkContainer,\n            { to: _routingRoutes2['default'].import_extractors(this.state.node.node_id, this.state.input.id) },\n            _react2['default'].createElement(\n              _reactBootstrap.MenuItem,\n              null,\n              'Import extractors'\n            )\n          ),\n          _react2['default'].createElement(\n            _reactRouterBootstrap.LinkContainer,\n            { to: _routingRoutes2['default'].export_extractors(this.state.node.node_id, this.state.input.id) },\n            _react2['default'].createElement(\n              _reactBootstrap.MenuItem,\n              null,\n              'Export extractors'\n            )\n          )\n        )\n      ),\n      _react2['default'].createElement(_componentsExtractorsExtractorsList2['default'], { input: this.state.input, node: this.state.node })\n    );\n  }\n});\n\nexports['default'] = ExtractorsPage;\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 \" + \"ExtractorsPage.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/ExtractorsPage.jsx\n ** module id = 973\n ** module chunks = 20\n **/\n//# sourceURL=webpack:///./src/pages/ExtractorsPage.jsx?./~/react-hot-loader!./~/babel-loader")}});




© 2015 - 2024 Weber Informatics LLC | Privacy Policy