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

web-interface.assets.19.19.bed853b49cad62de1f58.js Maven / Gradle / Ivy

There is a newer version: 6.0.6
Show newest version
webpackJsonp([19],{49:function(module,exports,__webpack_require__){eval("module.exports = (__webpack_require__(9))(336);\n\n/*****************\n ** WEBPACK FOOTER\n ** delegated ./node_modules/react-addons-linked-state-mixin/index.js from dll-reference __vendor\n ** module id = 49\n ** module chunks = 5 9 10 12 15 19 20\n **/\n//# sourceURL=webpack:///delegated_./node_modules/react-addons-linked-state-mixin/index.js_from_dll-reference___vendor?")},93: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 _storesMessagesMessagesStore = __webpack_require__(79);\n\nvar _storesMessagesMessagesStore2 = _interopRequireDefault(_storesMessagesMessagesStore);\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 = _storesMessagesMessagesStore2['default'].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 = 93\n ** module chunks = 7 8 19 20\n **/\n//# sourceURL=webpack:///./src/components/extractors/MessageLoader.jsx?")},94: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__(49);\n\nvar _reactAddonsLinkedStateMixin2 = _interopRequireDefault(_reactAddonsLinkedStateMixin);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _componentsCommonSpinner = __webpack_require__(19);\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 = 94\n ** module chunks = 9 10 19 20\n **/\n//# sourceURL=webpack:///./src/components/inputs/InputDropdown.jsx?")},144:function(module,exports,__webpack_require__){eval('/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require("/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js"), RootInstanceProvider = require("/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js"), ReactMount = require("react/lib/ReactMount"), React = require("react"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n\'use strict\';\n\nvar React = __webpack_require__(1);\n\nvar HumanReadableStreamRule = React.createClass({\n    displayName: \'HumanReadableStreamRule\',\n\n    FIELD_PRESENCE_RULE_TYPE: 5,\n    _getTypeForInteger: function _getTypeForInteger(type, streamRuleTypes) {\n        if (streamRuleTypes) {\n            return streamRuleTypes.filter(function (streamRuleType) {\n                return String(streamRuleType.id) === String(type);\n            })[0];\n        } else {\n            return undefined;\n        }\n    },\n    _formatRuleValue: function _formatRuleValue(streamRule) {\n        if (String(streamRule.type) !== String(this.FIELD_PRESENCE_RULE_TYPE)) {\n            if (streamRule.value) {\n                return streamRule.value;\n            } else {\n                return "";\n            }\n        } else {\n            return null;\n        }\n    },\n    _formatRuleField: function _formatRuleField(streamRule) {\n        if (streamRule.field) {\n            return streamRule.field;\n        } else {\n            return "";\n        }\n    },\n    render: function render() {\n        var streamRule = this.props.streamRule;\n        var streamRuleType = this._getTypeForInteger(streamRule.type, this.props.streamRuleTypes);\n        var negation = streamRule.inverted ? "not " : null;\n        var longDesc = streamRuleType ? streamRuleType.long_desc : null;\n        return React.createElement(\n            \'span\',\n            null,\n            React.createElement(\n                \'em\',\n                null,\n                this._formatRuleField(streamRule)\n            ),\n            \' must \',\n            negation,\n            longDesc,\n            \' \',\n            React.createElement(\n                \'em\',\n                null,\n                this._formatRuleValue(streamRule)\n            )\n        );\n    }\n});\n\nmodule.exports = HumanReadableStreamRule;\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 " + "HumanReadableStreamRule.jsx" + ": " + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/streamrules/HumanReadableStreamRule.jsx\n ** module id = 144\n ** module chunks = 15 19\n **/\n//# sourceURL=webpack:///./src/components/streamrules/HumanReadableStreamRule.jsx?')},145:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nvar React = __webpack_require__(1);\nvar LinkedStateMixin = __webpack_require__(49);\nvar BootstrapModalForm = __webpack_require__(34);\nvar Input = __webpack_require__(2).Input;\nvar HumanReadableStreamRule = __webpack_require__(144);\nvar Col = __webpack_require__(2).Col;\nvar TypeAheadFieldInput = __webpack_require__(256);\n\nvar DocumentationLink = __webpack_require__(23);\nvar DocsHelper = __webpack_require__(16);\nvar Version = __webpack_require__(156);\n\nvar StreamRuleForm = React.createClass({\n    displayName: 'StreamRuleForm',\n\n    mixins: [LinkedStateMixin],\n    FIELD_PRESENCE_RULE_TYPE: 5,\n    getInitialState: function getInitialState() {\n        return this.props.streamRule;\n    },\n    getDefaultProps: function getDefaultProps() {\n        return {\n            streamRule: { field: \"\", type: 1, value: \"\", inverted: false }\n        };\n    },\n    _resetValues: function _resetValues() {\n        this.setState(this.props.streamRule);\n    },\n    _onSubmit: function _onSubmit(evt) {\n        if (this.state.type === this.FIELD_PRESENCE_RULE_TYPE) {\n            this.state.value = \"\";\n        }\n        this.props.onSubmit(this.props.streamRule.id, this.state);\n        this.refs.modal.close();\n    },\n    _formatStreamRuleType: function _formatStreamRuleType(streamRuleType) {\n        return React.createElement(\n            'option',\n            { key: 'streamRuleType' + streamRuleType.id,\n                value: streamRuleType.id },\n            streamRuleType.short_desc\n        );\n    },\n    open: function open() {\n        this._resetValues();\n        this.refs.modal.open();\n    },\n    close: function close() {\n        this.refs.modal.close();\n    },\n    render: function render() {\n        var streamRuleTypes = this.props.streamRuleTypes.map(this._formatStreamRuleType);\n        var valueBox = String(this.state.type) !== String(this.FIELD_PRESENCE_RULE_TYPE) ? React.createElement(Input, { type: 'text', required: true, label: 'Value', valueLink: this.linkState('value') }) : \"\";\n        return React.createElement(\n            BootstrapModalForm,\n            { ref: 'modal',\n                title: this.props.title,\n                onSubmitForm: this._onSubmit,\n                submitButtonText: 'Save' },\n            React.createElement(\n                'div',\n                null,\n                React.createElement(\n                    Col,\n                    { md: 8 },\n                    React.createElement(TypeAheadFieldInput, { ref: 'fieldInput',\n                        type: 'text',\n                        required: true,\n                        label: 'Field',\n                        valueLink: this.linkState('field'),\n                        autoFocus: true }),\n                    React.createElement(\n                        Input,\n                        { type: 'select', required: true, label: 'Type', valueLink: this.linkState('type') },\n                        streamRuleTypes\n                    ),\n                    valueBox,\n                    React.createElement(Input, { type: 'checkbox', label: 'Inverted', checkedLink: this.linkState('inverted') }),\n                    React.createElement(\n                        'p',\n                        null,\n                        React.createElement(\n                            'strong',\n                            null,\n                            'Result:'\n                        ),\n                        ' ',\n                        'Field ',\n                        React.createElement(HumanReadableStreamRule, { streamRule: this.state,\n                            streamRuleTypes: this.props.streamRuleTypes })\n                    )\n                ),\n                React.createElement(\n                    Col,\n                    { md: 4 },\n                    React.createElement(\n                        'div',\n                        { className: 'well well-sm matcher-github' },\n                        'The server will try to convert to strings or numbers based on the matcher type as good as it can.',\n                        React.createElement('br', null),\n                        React.createElement('br', null),\n                        React.createElement('i', { className: 'fa fa-github' }),\n                        React.createElement(\n                            'a',\n                            { href: \"https://github.com/Graylog2/graylog2-server/tree/\" + Version.getMajorAndMinorVersion() + \"/graylog2-server/src/main/java/org/graylog2/streams/matchers\",\n                                target: '_blank' },\n                            ' Take a look at the matcher code on GitHub'\n                        ),\n                        React.createElement('br', null),\n                        React.createElement('br', null),\n                        'Regular expressions use Java syntax. ',\n                        React.createElement(DocumentationLink, { page: DocsHelper.PAGES.STREAMS,\n                            title: 'More information',\n                            text: React.createElement('i', { className: 'fa fa-lightbulb-o' }) })\n                    )\n                )\n            )\n        );\n    }\n});\n\nmodule.exports = StreamRuleForm;\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 \" + \"StreamRuleForm.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/streamrules/StreamRuleForm.jsx\n ** module id = 145\n ** module chunks = 15 19\n **/\n//# sourceURL=webpack:///./src/components/streamrules/StreamRuleForm.jsx?")},290: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__(3);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _immutable = __webpack_require__(21);\n\nvar _immutable2 = _interopRequireDefault(_immutable);\n\nvar _actionsInputsInputsActions = __webpack_require__(38);\n\nvar _actionsInputsInputsActions2 = _interopRequireDefault(_actionsInputsInputsActions);\n\nvar _storesInputsInputsStore = __webpack_require__(48);\n\nvar _storesInputsInputsStore2 = _interopRequireDefault(_storesInputsInputsStore);\n\nvar _storesStreamsStreamsStore = __webpack_require__(27);\n\nvar _storesStreamsStreamsStore2 = _interopRequireDefault(_storesStreamsStreamsStore);\n\nvar _RecentMessageLoader = __webpack_require__(291);\n\nvar _RecentMessageLoader2 = _interopRequireDefault(_RecentMessageLoader);\n\nvar _componentsSearchMessageShow = __webpack_require__(190);\n\nvar _componentsSearchMessageShow2 = _interopRequireDefault(_componentsSearchMessageShow);\n\nvar _componentsExtractorsMessageLoader = __webpack_require__(93);\n\nvar _componentsExtractorsMessageLoader2 = _interopRequireDefault(_componentsExtractorsMessageLoader);\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(_storesInputsInputsStore2['default'], '_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 = _storesInputsInputsStore2['default'].inputsAsMap(state.inputs);\n    this.setState({ inputs: _immutable2['default'].Map(inputs) });\n  },\n  loadData: function loadData() {\n    var _this = this;\n\n    _actionsInputsInputsActions2['default'].list();\n    _storesStreamsStreamsStore2['default'].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 = 290\n ** module chunks = 19 20\n **/\n//# sourceURL=webpack:///./src/components/messageloaders/LoaderTabs.jsx?")},291: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__(94);\n\nvar _componentsInputsInputDropdown2 = _interopRequireDefault(_componentsInputsInputDropdown);\n\nvar _utilUserNotification = __webpack_require__(5);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar _storesSearchUniversalSearchStore = __webpack_require__(115);\n\nvar _storesSearchUniversalSearchStore2 = _interopRequireDefault(_storesSearchUniversalSearchStore);\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    _storesSearchUniversalSearchStore2['default'].search('relative', 'gl2_source_input:' + inputId + ' OR gl2_source_radio_input:' + inputId, { range: 0 }, undefined, 1).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 = 291\n ** module chunks = 19 20\n **/\n//# sourceURL=webpack:///./src/components/messageloaders/RecentMessageLoader.jsx?");
},315:function(module,exports,__webpack_require__){eval('/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require("/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js"), RootInstanceProvider = require("/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js"), ReactMount = require("react/lib/ReactMount"), React = require("react"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n\'use strict\';\n\nvar React = __webpack_require__(1);\nvar StreamRuleForm = __webpack_require__(145);\nvar PermissionsMixin = __webpack_require__(25);\nvar HumanReadableStreamRule = __webpack_require__(144);\nvar StreamRulesStore = __webpack_require__(98);\nvar UserNotification = __webpack_require__(5);\n\nvar StreamRule = React.createClass({\n    displayName: \'StreamRule\',\n\n    mixins: [PermissionsMixin],\n    _onEdit: function _onEdit(event) {\n        event.preventDefault();\n        this.refs.streamRuleForm.open();\n    },\n    _onDelete: function _onDelete(event) {\n        var _this = this;\n\n        event.preventDefault();\n        if (window.confirm("Do you really want to delete this stream rule?")) {\n            StreamRulesStore.remove(this.props.stream.id, this.props.streamRule.id, function () {\n                if (_this.props.onDelete) {\n                    _this.props.onDelete(_this.props.streamRule.id);\n                }\n                UserNotification.success("Stream rule has been successfully deleted.", "Success");\n            });\n        }\n    },\n    _onSubmit: function _onSubmit(streamRuleId, data) {\n        var _this2 = this;\n\n        StreamRulesStore.update(this.props.stream.id, streamRuleId, data, function () {\n            if (_this2.props.onSubmit) {\n                _this2.props.onSubmit(streamRuleId, data);\n            }\n            UserNotification.success("Stream rule has been successfully updated.", "Success");\n        });\n    },\n    _formatActionItems: function _formatActionItems() {\n        return React.createElement(\n            \'span\',\n            null,\n            React.createElement(\n                \'a\',\n                { href: \'#\', onClick: this._onDelete },\n                React.createElement(\'i\', { className: \'fa fa-trash-o\' })\n            ),\n            \' \',\n            React.createElement(\n                \'a\',\n                { href: \'#\', onClick: this._onEdit },\n                React.createElement(\'i\', { className: \'fa fa-edit\' })\n            )\n        );\n    },\n    _getMatchDataClassNames: function _getMatchDataClassNames() {\n        return this.props.matchData.rules[this.props.streamRule.id] ? "alert-success" : "alert-danger";\n    },\n    render: function render() {\n        var streamRule = this.props.streamRule;\n        var streamRuleTypes = this.props.streamRuleTypes;\n        var actionItems = this.isPermitted(this.props.permissions, [\'streams:edit:\' + this.props.stream.id]) ? this._formatActionItems() : "";\n        var className = this.props.matchData ? this._getMatchDataClassNames() : "";\n        return React.createElement(\n            \'li\',\n            { className: className },\n            actionItems,\n            \' \',\n            React.createElement(HumanReadableStreamRule, { streamRule: streamRule, streamRuleTypes: streamRuleTypes }),\n            React.createElement(StreamRuleForm, { ref: \'streamRuleForm\', streamRule: streamRule, streamRuleTypes: streamRuleTypes,\n                title: \'Edit Stream Rule\', onSubmit: this._onSubmit })\n        );\n    }\n});\n\nmodule.exports = StreamRule;\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 " + "StreamRule.jsx" + ": " + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/streamrules/StreamRule.jsx\n ** module id = 315\n ** module chunks = 15 19\n **/\n//# sourceURL=webpack:///./src/components/streamrules/StreamRule.jsx?')},316:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nvar React = __webpack_require__(1);\nvar StreamRule = __webpack_require__(315);\n\nvar StreamRuleList = React.createClass({\n    displayName: 'StreamRuleList',\n\n    _formatStreamRules: function _formatStreamRules(streamRules) {\n        var _this = this;\n\n        if (streamRules && streamRules.length > 0) {\n            return streamRules.map(function (streamRule) {\n                return React.createElement(StreamRule, { key: streamRule.id, permissions: _this.props.permissions, matchData: _this.props.matchData,\n                    onSubmit: _this.props.onSubmit, onDelete: _this.props.onDelete,\n                    stream: _this.props.stream, streamRule: streamRule, streamRuleTypes: _this.props.streamRuleTypes });\n            });\n        } else {\n            return React.createElement(\n                'li',\n                null,\n                'No rules defined.'\n            );\n        }\n    },\n    render: function render() {\n        if (this.props.stream) {\n            var streamRules = this._formatStreamRules(this.props.stream.rules);\n            return React.createElement(\n                'ul',\n                { className: 'streamrules-list' },\n                streamRules\n            );\n        } else {\n            return React.createElement(\n                'div',\n                null,\n                React.createElement('i', { className: 'fa fa-spin fa-spinner' }),\n                ' Loading'\n            );\n        }\n    }\n});\n\nmodule.exports = StreamRuleList;\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 \" + \"StreamRuleList.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/streamrules/StreamRuleList.jsx\n ** module id = 316\n ** module chunks = 15 19\n **/\n//# sourceURL=webpack:///./src/components/streamrules/StreamRuleList.jsx?")},940: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/* global ApiRoutes */\n\n'use strict';\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__(17);\n\nvar _routingRoutes = __webpack_require__(11);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar _componentsMessageloadersLoaderTabs = __webpack_require__(290);\n\nvar _componentsMessageloadersLoaderTabs2 = _interopRequireDefault(_componentsMessageloadersLoaderTabs);\n\nvar _componentsStreamsMatchingTypeSwitcher = __webpack_require__(941);\n\nvar _componentsStreamsMatchingTypeSwitcher2 = _interopRequireDefault(_componentsStreamsMatchingTypeSwitcher);\n\nvar _StreamRuleList = __webpack_require__(316);\n\nvar _StreamRuleList2 = _interopRequireDefault(_StreamRuleList);\n\nvar _StreamRuleForm = __webpack_require__(145);\n\nvar _StreamRuleForm2 = _interopRequireDefault(_StreamRuleForm);\n\nvar _componentsCommonSpinner = __webpack_require__(19);\n\nvar _componentsCommonSpinner2 = _interopRequireDefault(_componentsCommonSpinner);\n\nvar _storesStreamsStreamsStore = __webpack_require__(27);\n\nvar _storesStreamsStreamsStore2 = _interopRequireDefault(_storesStreamsStreamsStore);\n\nvar _storesStreamsStreamRulesStore = __webpack_require__(98);\n\nvar _storesStreamsStreamRulesStore2 = _interopRequireDefault(_storesStreamsStreamRulesStore);\n\nvar StreamRulesEditor = _react2['default'].createClass({\n  displayName: 'StreamRulesEditor',\n\n  propTypes: function propTypes() {\n    return {\n      currentUser: _react.PropTypes.object.isRequired,\n      streamId: _react.PropTypes.string.isRequired,\n      messageId: _react.PropTypes.string,\n      index: _react.PropTypes.string\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    this.loadData();\n    _storesStreamsStreamsStore2['default'].onChange(this.loadData);\n    _storesStreamsStreamRulesStore2['default'].onChange(this.loadData);\n  },\n  getInitialState: function getInitialState() {\n    return {};\n  },\n  onMessageLoaded: function onMessageLoaded(message) {\n    var _this = this;\n\n    this.setState({ message: message });\n    if (message !== undefined) {\n      _storesStreamsStreamsStore2['default'].testMatch(this.props.streamId, { message: message.fields }, function (resultData) {\n        _this.setState({ matchData: resultData });\n      });\n    } else {\n      this.setState({ matchData: undefined });\n    }\n  },\n  render: function render() {\n    var styles = this.state.matchData ? this._getListClassName(this.state.matchData) : 'info';\n    if (this.state.stream && this.state.streamRuleTypes) {\n      return _react2['default'].createElement(\n        'div',\n        { className: 'row content' },\n        _react2['default'].createElement(\n          'div',\n          { className: 'col-md-12 streamrule-sample-message' },\n          _react2['default'].createElement(\n            'h2',\n            null,\n            '1. Load a message to test rules'\n          ),\n          _react2['default'].createElement(\n            'div',\n            { className: 'stream-loader' },\n            _react2['default'].createElement(_componentsMessageloadersLoaderTabs2['default'], { messageId: this.props.messageId, index: this.props.index, onMessageLoaded: this.onMessageLoaded })\n          ),\n          _react2['default'].createElement(\n            'div',\n            { className: 'spinner', style: { display: 'none' } },\n            _react2['default'].createElement(\n              'h2',\n              null,\n              _react2['default'].createElement('i', {\n                className: 'fa fa-spinner fa-spin' }),\n              '  Loading message'\n            )\n          ),\n          _react2['default'].createElement(\n            'div',\n            { className: 'sample-message-display', style: { display: 'none', marginTop: '5px' } },\n            _react2['default'].createElement(\n              'strong',\n              null,\n              'Next step:'\n            ),\n            'Add/delete/modify stream rules in step 2 and see if the example message would have been routed into the stream or not. Use the button on the right to add a stream rule.'\n          ),\n          _react2['default'].createElement('hr', null),\n          _react2['default'].createElement(\n            'div',\n            { className: 'buttons pull-right' },\n            _react2['default'].createElement(\n              'button',\n              { className: 'btn btn-success show-stream-rule', onClick: this._onAddStreamRule },\n              'Add stream rule'\n            ),\n            _react2['default'].createElement(_StreamRuleForm2['default'], { ref: 'newStreamRuleForm', title: 'New Stream Rule',\n              streamRuleTypes: this.state.streamRuleTypes, onSubmit: this._onStreamRuleFormSubmit })\n          ),\n          _react2['default'].createElement(\n            'h2',\n            null,\n            '2. Manage stream rules'\n          ),\n          this._explainMatchResult(),\n          _react2['default'].createElement(_componentsStreamsMatchingTypeSwitcher2['default'], { stream: this.state.stream, onChange: this.loadData }),\n          _react2['default'].createElement(\n            _reactBootstrap.Alert,\n            { ref: 'well', bsStyle: styles },\n            _react2['default'].createElement(_StreamRuleList2['default'], { stream: this.state.stream, streamRuleTypes: this.state.streamRuleTypes,\n              permissions: this.props.currentUser.permissions, matchData: this.state.matchData })\n          ),\n          _react2['default'].createElement(\n            'p',\n            { style: { marginTop: '10px' } },\n            _react2['default'].createElement(\n              _reactRouterBootstrap.LinkContainer,\n              { to: _routingRoutes2['default'].STREAMS },\n              _react2['default'].createElement(\n                _reactBootstrap.Button,\n                { bsStyle: 'success' },\n                'I\\'m done!'\n              )\n            )\n          )\n        )\n      );\n    } else {\n      return _react2['default'].createElement(\n        'div',\n        { className: 'row content' },\n        _react2['default'].createElement(\n          'div',\n          { style: { marginLeft: 10 } },\n          _react2['default'].createElement(_componentsCommonSpinner2['default'], null)\n        )\n      );\n    }\n  },\n  loadData: function loadData() {\n    var _this2 = this;\n\n    _storesStreamsStreamRulesStore2['default'].types().then(function (types) {\n      _this2.setState({ streamRuleTypes: types });\n    });\n\n    _storesStreamsStreamsStore2['default'].get(this.props.streamId, function (stream) {\n      _this2.setState({ stream: stream });\n    });\n\n    if (this.state.message) {\n      this.onMessageLoaded(this.state.message);\n    }\n  },\n  _onStreamRuleFormSubmit: function _onStreamRuleFormSubmit(streamRuleId, data) {\n    _storesStreamsStreamRulesStore2['default'].create(this.props.streamId, data, function () {});\n  },\n  _onAddStreamRule: function _onAddStreamRule(event) {\n    event.preventDefault();\n    this.refs.newStreamRuleForm.open();\n  },\n  _getListClassName: function _getListClassName(matchData) {\n    return matchData.matches ? 'success' : 'danger';\n  },\n  _explainMatchResult: function _explainMatchResult() {\n    if (this.state.matchData) {\n      if (this.state.matchData.matches) {\n        return _react2['default'].createElement(\n          'span',\n          null,\n          _react2['default'].createElement('i', { className: 'fa fa-check', style: { 'color': 'green' } }),\n          ' This message would be routed to this stream.'\n        );\n      } else {\n        return _react2['default'].createElement(\n          'span',\n          null,\n          _react2['default'].createElement('i', { className: 'fa fa-remove', style: { 'color': 'red' } }),\n          ' This message would not be routed to this stream.'\n        );\n      }\n    } else {\n      return 'Please load a message to check if it would match against these rules and therefore be routed into this stream.';\n    }\n  }\n});\n\nmodule.exports = StreamRulesEditor;\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 \" + \"StreamRulesEditor.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/streamrules/StreamRulesEditor.jsx\n ** module id = 940\n ** module chunks = 19\n **/\n//# sourceURL=webpack:///./src/components/streamrules/StreamRulesEditor.jsx?")},941: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\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _storesStreamsStreamsStore = __webpack_require__(27);\n\nvar _storesStreamsStreamsStore2 = _interopRequireDefault(_storesStreamsStreamsStore);\n\nvar _utilUserNotification = __webpack_require__(5);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar MatchingTypeSwitcher = (function (_Component) {\n  _inherits(MatchingTypeSwitcher, _Component);\n\n  function MatchingTypeSwitcher() {\n    _classCallCheck(this, MatchingTypeSwitcher);\n\n    _get(Object.getPrototypeOf(MatchingTypeSwitcher.prototype), 'constructor', this).apply(this, arguments);\n  }\n\n  _createClass(MatchingTypeSwitcher, [{\n    key: 'render',\n    value: function render() {\n      return _react2['default'].createElement(\n        'div',\n        { className: 'streamrule-connector-type-form' },\n        _react2['default'].createElement(\n          'div',\n          null,\n          _react2['default'].createElement(_reactBootstrap.Input, { type: 'radio', label: 'A message must match all of the following rules',\n            checked: this.props.stream.matching_type === 'AND', onChange: this.handleTypeChangeToAnd.bind(this) }),\n          _react2['default'].createElement(_reactBootstrap.Input, { type: 'radio', label: 'A message must match at least one of the following rules',\n            checked: this.props.stream.matching_type === 'OR', onChange: this.handleTypeChangeToOr.bind(this) })\n        )\n      );\n    }\n  }, {\n    key: 'handleTypeChangeToAnd',\n    value: function handleTypeChangeToAnd() {\n      this.handleTypeChange('AND');\n    }\n  }, {\n    key: 'handleTypeChangeToOr',\n    value: function handleTypeChangeToOr() {\n      this.handleTypeChange('OR');\n    }\n  }, {\n    key: 'handleTypeChange',\n    value: function handleTypeChange(newValue) {\n      var _this = this;\n\n      if (window.confirm('You are about to change how rules are applied to this stream, do you want to continue? Changes will take effect immediately.')) {\n        _storesStreamsStreamsStore2['default'].update(this.props.stream.id, { 'matching_type': newValue }, function () {\n          _this.props.onChange();\n          _utilUserNotification2['default'].success('Messages will now be routed into the stream when ' + (newValue === 'AND' ? 'all' : 'any') + ' rules are matched', 'Success');\n        });\n      }\n    }\n  }], [{\n    key: 'propTypes',\n    value: {\n      stream: _react.PropTypes.object.isRequired,\n      onChange: _react.PropTypes.func.isRequired\n    },\n    enumerable: true\n  }]);\n\n  return MatchingTypeSwitcher;\n})(_react.Component);\n\nexports['default'] = MatchingTypeSwitcher;\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 \" + \"MatchingTypeSwitcher.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/streams/MatchingTypeSwitcher.jsx\n ** module id = 941\n ** module chunks = 19\n **/\n//# sourceURL=webpack:///./src/components/streams/MatchingTypeSwitcher.jsx?")},1033: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__(3);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _componentsStreamrulesStreamRulesEditor = __webpack_require__(940);\n\nvar _componentsStreamrulesStreamRulesEditor2 = _interopRequireDefault(_componentsStreamrulesStreamRulesEditor);\n\nvar _componentsCommon = __webpack_require__(4);\n\nvar _storesUsersCurrentUserStore = __webpack_require__(26);\n\nvar _storesUsersCurrentUserStore2 = _interopRequireDefault(_storesUsersCurrentUserStore);\n\nvar _storesStreamsStreamsStore = __webpack_require__(27);\n\nvar _storesStreamsStreamsStore2 = _interopRequireDefault(_storesStreamsStreamsStore);\n\nvar StreamEditPage = _react2['default'].createClass({\n  displayName: 'StreamEditPage',\n\n  propTypes: {\n    params: _react.PropTypes.object.isRequired,\n    location: _react.PropTypes.object.isRequired\n  },\n  mixins: [_reflux2['default'].connect(_storesUsersCurrentUserStore2['default'])],\n\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    _storesStreamsStreamsStore2['default'].get(this.props.params.streamId, function (stream) {\n      _this.setState({ stream: stream });\n    });\n  },\n\n  _isLoading: function _isLoading() {\n    return !this.state.currentUser || !this.state.stream;\n  },\n\n  render: function render() {\n    if (this._isLoading()) {\n      return _react2['default'].createElement(_componentsCommon.Spinner, null);\n    }\n\n    return _react2['default'].createElement(\n      'div',\n      null,\n      _react2['default'].createElement(\n        _componentsCommon.PageHeader,\n        { title: _react2['default'].createElement(\n            'span',\n            null,\n            'Rules of Stream »',\n            this.state.stream.title,\n            '»'\n          ) },\n        _react2['default'].createElement(\n          'span',\n          null,\n          'This screen is dedicated to an easy and comfortable creation and manipulation of stream rules. You can',\n          ' ',\n          'see the effect configured stream rules have on message matching here.'\n        )\n      ),\n      _react2['default'].createElement(_componentsStreamrulesStreamRulesEditor2['default'], { currentUser: this.state.currentUser, streamId: this.props.params.streamId,\n        messageId: this.props.location.query.message_id, index: this.props.location.query.index })\n    );\n  }\n});\n\nexports['default'] = StreamEditPage;\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 \" + \"StreamEditPage.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/StreamEditPage.jsx\n ** module id = 1033\n ** module chunks = 19\n **/\n//# sourceURL=webpack:///./src/pages/StreamEditPage.jsx?./~/react-hot-loader!./~/babel-loader")}});




© 2015 - 2024 Weber Informatics LLC | Privacy Policy