Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
web-interface.assets.7.7.0f89f3859126ac0eb741.js Maven / Gradle / Ivy
webpackJsonp([7],{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?")},203: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 _ExtractorExampleMessage = __webpack_require__(206);\n\nvar _ExtractorExampleMessage2 = _interopRequireDefault(_ExtractorExampleMessage);\n\nvar _EditExtractorConfiguration = __webpack_require__(204);\n\nvar _EditExtractorConfiguration2 = _interopRequireDefault(_EditExtractorConfiguration);\n\nvar _EditExtractorConverters = __webpack_require__(205);\n\nvar _EditExtractorConverters2 = _interopRequireDefault(_EditExtractorConverters);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _utilExtractorUtils = __webpack_require__(39);\n\nvar _utilExtractorUtils2 = _interopRequireDefault(_utilExtractorUtils);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar ExtractorsActions = _injectionActionsProvider2['default'].getActions('Extractors');\n\nvar ToolsStore = _injectionStoreProvider2['default'].getStore('Tools');\n\nvar EditExtractor = _react2['default'].createClass({\n displayName: 'EditExtractor',\n\n propTypes: {\n action: _react.PropTypes.oneOf(['create', 'edit']).isRequired,\n extractor: _react.PropTypes.object.isRequired,\n inputId: _react.PropTypes.string.isRequired,\n exampleMessage: _react.PropTypes.string,\n onSave: _react.PropTypes.func.isRequired\n },\n getInitialState: function getInitialState() {\n return {\n updatedExtractor: this.props.extractor,\n conditionTestResult: undefined,\n exampleMessage: this.props.exampleMessage\n };\n },\n\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n if (this.props.exampleMessage !== nextProps.exampleMessage) {\n this._updateExampleMessage(nextProps.exampleMessage);\n }\n },\n\n _updateExampleMessage: function _updateExampleMessage(nextExample) {\n this.setState({ exampleMessage: nextExample });\n },\n\n // Ensures the target field only contains alphanumeric characters and underscores\n _onTargetFieldChange: function _onTargetFieldChange(event) {\n var value = event.target.value;\n var newValue = value.replace(/[^\\w\\d_]/g, '');\n\n if (value !== newValue) {\n this.refs.targetField.getInputDOMNode().value = newValue;\n }\n\n this._onFieldChange('target_field')(event);\n },\n _onFieldChange: function _onFieldChange(key) {\n var _this = this;\n\n return function (event) {\n var nextState = {};\n var updatedExtractor = _this.state.updatedExtractor;\n updatedExtractor[key] = _utilFormsUtils2['default'].getValueFromInput(event.target);\n nextState.updatedExtractor = updatedExtractor;\n\n // Reset result of testing condition after a change in the input\n if (key === 'condition_value') {\n nextState.conditionTestResult = undefined;\n }\n\n _this.setState(nextState);\n };\n },\n _onConfigurationChange: function _onConfigurationChange(newConfiguration) {\n var updatedExtractor = this.state.updatedExtractor;\n updatedExtractor.extractor_config = newConfiguration;\n this.setState({ updatedExtractor: updatedExtractor });\n },\n _onConverterChange: function _onConverterChange(converterType, newConverter) {\n var updatedExtractor = this.state.updatedExtractor;\n var previousConverter = updatedExtractor.converters.filter(function (converter) {\n return converter.type === converterType;\n })[0];\n\n if (previousConverter) {\n // Remove converter from the list\n var position = updatedExtractor.converters.indexOf(previousConverter);\n updatedExtractor.converters.splice(position, 1);\n }\n\n if (newConverter) {\n updatedExtractor.converters.push(newConverter);\n }\n\n this.setState({ updatedExtractor: updatedExtractor });\n },\n _testCondition: function _testCondition() {\n var _this2 = this;\n\n var promise = ToolsStore.testRegex(this.state.updatedExtractor.condition_value, this.state.exampleMessage);\n promise.then(function (result) {\n return _this2.setState({ conditionTestResult: result.matched });\n });\n },\n _tryButtonDisabled: function _tryButtonDisabled() {\n return this.state.updatedExtractor.condition_value === '' || !this.state.exampleMessage;\n },\n _getExtractorConditionControls: function _getExtractorConditionControls() {\n if (!this.state.updatedExtractor.condition_type || this.state.updatedExtractor.condition_type === 'none') {\n return _react2['default'].createElement('div', null);\n }\n\n var conditionInputLabel = undefined;\n var conditionInputHelp = undefined;\n\n if (this.state.updatedExtractor.condition_type === 'string') {\n conditionInputLabel = 'Field contains string';\n conditionInputHelp = 'Type a string that the field should contain in order to attempt the extraction.';\n } else {\n conditionInputLabel = 'Field matches regular expression';\n conditionInputHelp = 'Type a regular expression that the field should contain in order to attempt the extraction.';\n }\n\n var inputStyle = undefined;\n if (this.state.conditionTestResult === true) {\n inputStyle = 'success';\n conditionInputHelp = 'Matches! Extractor would run against this example.';\n } else if (this.state.conditionTestResult === false) {\n inputStyle = 'error';\n conditionInputHelp = 'Does not match! Extractor would not run.';\n }\n\n return _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { id: 'condition_value', label: conditionInputLabel,\n bsStyle: inputStyle,\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n help: conditionInputHelp },\n _react2['default'].createElement(\n _reactBootstrap.Row,\n { className: 'row-sm' },\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 11 },\n _react2['default'].createElement('input', { type: 'text', id: 'condition_value', className: 'form-control',\n defaultValue: this.state.updatedExtractor.condition_value,\n onChange: this._onFieldChange('condition_value'), required: true })\n ),\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 1, className: 'text-right' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: 'info', onClick: this._testCondition,\n disabled: this._tryButtonDisabled() },\n 'Try'\n )\n )\n )\n )\n );\n },\n _saveExtractor: function _saveExtractor(event) {\n var _this3 = this;\n\n event.preventDefault();\n ExtractorsActions.save.triggerPromise(this.props.inputId, this.state.updatedExtractor).then(function () {\n return _this3.props.onSave();\n });\n },\n render: function render() {\n var conditionTypeHelpMessage = 'Extracting only from messages that match a certain condition helps you ' + 'avoiding wrong or unnecessary extractions and can also save CPU resources.';\n\n var cursorStrategyHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'Do you want to copy or cut from source? You cannot use the cutting feature on standard fields like',\n ' ',\n _react2['default'].createElement(\n 'em',\n null,\n 'message'\n ),\n ' and ',\n _react2['default'].createElement(\n 'em',\n null,\n 'source'\n ),\n '.'\n );\n\n var targetFieldHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'Choose a field name to store the extracted value. It can only contain ',\n _react2['default'].createElement(\n 'b',\n null,\n 'alphanumeric characters and',\n ' ',\n 'underscores'\n ),\n '. Example: ',\n _react2['default'].createElement(\n 'em',\n null,\n 'http_response_code'\n ),\n '.'\n );\n\n var storeAsFieldInput = undefined;\n // Grok and JSON extractors create their required fields, so no need to add an input for them\n if (this.state.updatedExtractor.type !== _utilExtractorUtils2['default'].ExtractorTypes.GROK && this.state.updatedExtractor.type !== _utilExtractorUtils2['default'].ExtractorTypes.JSON) {\n storeAsFieldInput = _react2['default'].createElement(_reactBootstrap.Input, { type: 'text', ref: 'targetField', id: 'target_field', label: 'Store as field',\n defaultValue: this.state.updatedExtractor.target_field,\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n onChange: this._onTargetFieldChange,\n required: true,\n help: targetFieldHelpMessage });\n }\n\n return _react2['default'].createElement(\n 'div',\n null,\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 'h2',\n null,\n 'Example message'\n ),\n _react2['default'].createElement(\n _reactBootstrap.Row,\n { style: { marginTop: 5 } },\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 12 },\n _react2['default'].createElement(_ExtractorExampleMessage2['default'], { field: this.state.updatedExtractor.source_field,\n example: this.state.exampleMessage,\n onExampleLoad: this._updateExampleMessage })\n )\n ),\n _react2['default'].createElement(\n 'h2',\n null,\n 'Extractor configuration'\n ),\n _react2['default'].createElement(\n _reactBootstrap.Row,\n null,\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 8 },\n _react2['default'].createElement(\n 'form',\n { className: 'extractor-form form-horizontal', method: 'POST', onSubmit: this._saveExtractor },\n _react2['default'].createElement(_reactBootstrap.FormControls.Static, { label: 'Extractor type',\n value: _utilExtractorUtils2['default'].getReadableExtractorTypeName(this.state.updatedExtractor.type),\n labelClassName: 'col-md-2', wrapperClassName: 'col-md-10' }),\n _react2['default'].createElement(_reactBootstrap.FormControls.Static, { label: 'Source field', value: this.state.updatedExtractor.source_field,\n labelClassName: 'col-md-2', wrapperClassName: 'col-md-10' }),\n _react2['default'].createElement(_EditExtractorConfiguration2['default'], { ref: 'extractorConfiguration',\n extractorType: this.state.updatedExtractor.type,\n configuration: this.state.updatedExtractor.extractor_config,\n onChange: this._onConfigurationChange,\n exampleMessage: this.state.exampleMessage }),\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { label: 'Condition', labelClassName: 'col-md-2', wrapperClassName: 'col-md-10',\n help: conditionTypeHelpMessage },\n _react2['default'].createElement(\n 'div',\n { className: 'radio' },\n _react2['default'].createElement(\n 'label',\n null,\n _react2['default'].createElement('input', { type: 'radio', name: 'condition_type', value: 'none',\n onChange: this._onFieldChange('condition_type'),\n defaultChecked: !this.state.updatedExtractor.condition_type || this.state.updatedExtractor.condition_type === 'none' }),\n 'Always try to extract'\n )\n ),\n _react2['default'].createElement(\n 'div',\n { className: 'radio' },\n _react2['default'].createElement(\n 'label',\n null,\n _react2['default'].createElement('input', { type: 'radio', name: 'condition_type', value: 'string',\n onChange: this._onFieldChange('condition_type'),\n defaultChecked: this.state.updatedExtractor.condition_type === 'string' }),\n 'Only attempt extraction if field contains string'\n )\n ),\n _react2['default'].createElement(\n 'div',\n { className: 'radio' },\n _react2['default'].createElement(\n 'label',\n null,\n _react2['default'].createElement('input', { type: 'radio', name: 'condition_type', value: 'regex',\n onChange: this._onFieldChange('condition_type'),\n defaultChecked: this.state.updatedExtractor.condition_type === 'regex' }),\n 'Only attempt extraction if field matches regular expression'\n )\n )\n ),\n this._getExtractorConditionControls(),\n storeAsFieldInput,\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { label: 'Extraction strategy', labelClassName: 'col-md-2', wrapperClassName: 'col-md-10',\n help: cursorStrategyHelpMessage },\n _react2['default'].createElement(\n 'label',\n { className: 'radio-inline' },\n _react2['default'].createElement('input', { type: 'radio', name: 'cursor_strategy', value: 'copy',\n onChange: this._onFieldChange('cursor_strategy'),\n defaultChecked: !this.state.updatedExtractor.cursor_strategy || this.state.updatedExtractor.cursor_strategy === 'copy' }),\n 'Copy'\n ),\n _react2['default'].createElement(\n 'label',\n { className: 'radio-inline' },\n _react2['default'].createElement('input', { type: 'radio', name: 'cursor_strategy', value: 'cut',\n onChange: this._onFieldChange('cursor_strategy'),\n defaultChecked: this.state.updatedExtractor.cursor_strategy === 'cut' }),\n 'Cut'\n )\n ),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text', id: 'title', label: 'Extractor title',\n defaultValue: this.state.updatedExtractor.title,\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n onChange: this._onFieldChange('title'),\n required: true,\n help: 'A descriptive name for this extractor.' }),\n _react2['default'].createElement(\n 'div',\n { style: { marginBottom: 20 } },\n _react2['default'].createElement(_EditExtractorConverters2['default'], { extractorType: this.state.updatedExtractor.type,\n converters: this.state.updatedExtractor.converters,\n onChange: this._onConverterChange })\n ),\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { wrapperClassName: 'col-md-offset-2 col-md-10' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { type: 'submit', bsStyle: 'success' },\n this.props.action === 'create' ? 'Create extractor' : 'Update extractor'\n )\n )\n )\n )\n )\n )\n )\n );\n }\n});\n\nexports['default'] = EditExtractor;\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 \" + \"EditExtractor.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/EditExtractor.jsx\n ** module id = 203\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/EditExtractor.jsx?")},204: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 _componentsExtractorsExtractors_configuration = __webpack_require__(227);\n\nvar _utilExtractorUtils = __webpack_require__(39);\n\nvar _utilExtractorUtils2 = _interopRequireDefault(_utilExtractorUtils);\n\nvar EditExtractorConfiguration = _react2['default'].createClass({\n displayName: 'EditExtractorConfiguration',\n\n propTypes: {\n extractorType: _react.PropTypes.oneOf(_utilExtractorUtils2['default'].EXTRACTOR_TYPES).isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired,\n exampleMessage: _react.PropTypes.string\n },\n getInitialState: function getInitialState() {\n return {\n extractorPreview: undefined\n };\n },\n _onExtractorPreviewLoad: function _onExtractorPreviewLoad(extractorPreviewNode) {\n this.setState({ extractorPreview: extractorPreviewNode });\n },\n render: function render() {\n var extractorConfiguration = undefined;\n\n switch (this.props.extractorType) {\n case _utilExtractorUtils2['default'].ExtractorTypes.COPY_INPUT:\n extractorConfiguration = _react2['default'].createElement(_componentsExtractorsExtractors_configuration.CopyInputExtractorConfiguration, null);\n break;\n case _utilExtractorUtils2['default'].ExtractorTypes.GROK:\n extractorConfiguration = _react2['default'].createElement(_componentsExtractorsExtractors_configuration.GrokExtractorConfiguration, { configuration: this.props.configuration,\n exampleMessage: this.props.exampleMessage,\n onChange: this.props.onChange,\n onExtractorPreviewLoad: this._onExtractorPreviewLoad });\n break;\n case _utilExtractorUtils2['default'].ExtractorTypes.JSON:\n extractorConfiguration = _react2['default'].createElement(_componentsExtractorsExtractors_configuration.JSONExtractorConfiguration, { configuration: this.props.configuration,\n exampleMessage: this.props.exampleMessage,\n onChange: this.props.onChange,\n onExtractorPreviewLoad: this._onExtractorPreviewLoad });\n break;\n case _utilExtractorUtils2['default'].ExtractorTypes.REGEX:\n extractorConfiguration = _react2['default'].createElement(_componentsExtractorsExtractors_configuration.RegexExtractorConfiguration, { configuration: this.props.configuration,\n exampleMessage: this.props.exampleMessage,\n onChange: this.props.onChange,\n onExtractorPreviewLoad: this._onExtractorPreviewLoad });\n break;\n case _utilExtractorUtils2['default'].ExtractorTypes.REGEX_REPLACE:\n extractorConfiguration = _react2['default'].createElement(_componentsExtractorsExtractors_configuration.RegexReplaceExtractorConfiguration, { configuration: this.props.configuration,\n exampleMessage: this.props.exampleMessage,\n onChange: this.props.onChange,\n onExtractorPreviewLoad: this._onExtractorPreviewLoad });\n break;\n case _utilExtractorUtils2['default'].ExtractorTypes.SUBSTRING:\n extractorConfiguration = _react2['default'].createElement(_componentsExtractorsExtractors_configuration.SubstringExtractorConfiguration, { configuration: this.props.configuration,\n exampleMessage: this.props.exampleMessage,\n onChange: this.props.onChange,\n onExtractorPreviewLoad: this._onExtractorPreviewLoad });\n break;\n case _utilExtractorUtils2['default'].ExtractorTypes.SPLIT_AND_INDEX:\n extractorConfiguration = _react2['default'].createElement(_componentsExtractorsExtractors_configuration.SplitAndIndexExtractorConfiguration, { configuration: this.props.configuration,\n exampleMessage: this.props.exampleMessage,\n onChange: this.props.onChange,\n onExtractorPreviewLoad: this._onExtractorPreviewLoad });\n break;\n default:\n console.warn('Unsupported extractor type ' + this.props.extractorType);\n }\n\n var extractorPreview = undefined;\n\n if (this.state.extractorPreview !== undefined) {\n extractorPreview = _react2['default'].createElement(\n 'div',\n { className: 'form-group' },\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 10, mdOffset: 2 },\n _react2['default'].createElement(\n _reactBootstrap.Panel,\n { header: 'Extractor preview', bsStyle: 'info' },\n this.state.extractorPreview === '' ? _react2['default'].createElement(\n 'em',\n null,\n 'Nothing will be extracted'\n ) : this.state.extractorPreview\n )\n )\n );\n }\n\n return _react2['default'].createElement(\n 'div',\n null,\n extractorConfiguration,\n extractorPreview\n );\n }\n});\n\nexports['default'] = EditExtractorConfiguration;\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 \" + \"EditExtractorConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/EditExtractorConfiguration.jsx\n ** module id = 204\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/EditExtractorConfiguration.jsx?")},205: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 _componentsCommon = __webpack_require__(5);\n\nvar _componentsExtractorsConverters_configuration = __webpack_require__(219);\n\nvar _utilExtractorUtils = __webpack_require__(39);\n\nvar _utilExtractorUtils2 = _interopRequireDefault(_utilExtractorUtils);\n\nvar EditExtractorConverters = _react2['default'].createClass({\n displayName: 'EditExtractorConverters',\n\n propTypes: {\n extractorType: _react.PropTypes.string.isRequired,\n converters: _react.PropTypes.array.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n getInitialState: function getInitialState() {\n return {\n displayedConverters: this.props.converters.map(function (converter) {\n return converter.type;\n }),\n disabledConverters: {}, // Keep disabled converters configuration, so the user doesn't need to type it again\n selectedConverter: undefined\n };\n },\n _onConverterSelect: function _onConverterSelect(newValue) {\n this.setState({ selectedConverter: newValue });\n },\n _onConverterAdd: function _onConverterAdd() {\n var newDisplayedConverters = this.state.displayedConverters;\n newDisplayedConverters.push(this.state.selectedConverter);\n this.setState({ selectedConverter: undefined, converters: newDisplayedConverters });\n },\n _onConverterChange: function _onConverterChange(converterType, converter) {\n if (converter) {\n var newDisabledConverters = this.state.disabledConverters;\n if (newDisabledConverters.hasOwnProperty(converterType)) {\n delete newDisabledConverters[converterType];\n this.setState({ disabledConverters: newDisabledConverters });\n }\n } else {\n var newDisabledConverters = this.state.disabledConverters;\n newDisabledConverters[converterType] = this._getConverterByType(converterType);\n this.setState({ disabledConverters: newDisabledConverters });\n }\n\n this.props.onChange(converterType, converter);\n },\n _getConverterOptions: function _getConverterOptions() {\n var _this = this;\n\n var converterOptions = [];\n Object.keys(_utilExtractorUtils2['default'].ConverterTypes).forEach(function (converterType) {\n var type = _utilExtractorUtils2['default'].ConverterTypes[converterType];\n var disabled = _this.state.displayedConverters.indexOf(type) !== -1;\n converterOptions.push({\n value: type,\n label: _utilExtractorUtils2['default'].getReadableConverterTypeName(type),\n disabled: disabled\n });\n });\n\n return converterOptions;\n },\n _getConverterByType: function _getConverterByType(converterType) {\n var currentConverter = this.props.converters.filter(function (converter) {\n return converter.type === converterType;\n })[0];\n return currentConverter ? currentConverter.config : {};\n },\n _getConvertersConfiguration: function _getConvertersConfiguration() {\n var _this2 = this;\n\n var controls = this.state.displayedConverters.map(function (converterType) {\n // Get converter configuration from disabledConverters if it was disabled\n var converterConfig = _this2._getConverterByType(converterType);\n if (Object.keys(converterConfig).length === 0 && _this2.state.disabledConverters.hasOwnProperty(converterType)) {\n converterConfig = _this2.state.disabledConverters[converterType];\n }\n\n switch (converterType) {\n case _utilExtractorUtils2['default'].ConverterTypes.NUMERIC:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.NumericConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.DATE:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.DateConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.HASH:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.HashConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.SPLIT_AND_COUNT:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.SplitAndCountConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.IP_ANONYMIZER:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.IpAnonymizerConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.SYSLOG_PRI_LEVEL:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.SyslogPriLevelConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.SYSLOG_PRI_FACILITY:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.SyslogPriFacilityConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.TOKENIZER:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.TokenizerConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.CSV:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.CSVConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.LOWERCASE:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.LowercaseConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.UPPERCASE:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.UppercaseConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n case _utilExtractorUtils2['default'].ConverterTypes.FLEXDATE:\n return _react2['default'].createElement(_componentsExtractorsConverters_configuration.FlexdateConverterConfiguration, { key: converterType,\n type: converterType,\n configuration: converterConfig,\n onChange: _this2._onConverterChange });\n default:\n console.warn('Converter type ' + converterType + ' is not supported.');\n }\n });\n\n return controls;\n },\n render: function render() {\n if (this.props.extractorType === _utilExtractorUtils2['default'].ExtractorTypes.GROK || this.props.extractorType === _utilExtractorUtils2['default'].ExtractorTypes.JSON) {\n return _react2['default'].createElement(\n 'div',\n { className: 'form-group' },\n _react2['default'].createElement(\n 'div',\n { className: 'col-md-offset-2 col-md-10' },\n _react2['default'].createElement(\n _reactBootstrap.Panel,\n { bsStyle: 'info', style: { marginBottom: 0 } },\n 'Cannot add converters to',\n ' ',\n _react2['default'].createElement(\n 'em',\n null,\n _utilExtractorUtils2['default'].getReadableExtractorTypeName(this.props.extractorType)\n ),\n ' extractors.'\n )\n )\n );\n }\n\n return _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { id: 'add-converter',\n label: 'Add converter',\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n help: 'Add converters to transform the extracted value.' },\n _react2['default'].createElement(\n _reactBootstrap.Row,\n { className: 'row-sm' },\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 11 },\n _react2['default'].createElement(_componentsCommon.Select, { ref: 'addConverter',\n id: 'add-converter',\n placeholder: 'Select a converter',\n options: this._getConverterOptions(),\n value: this.state.selectedConverter,\n onChange: this._onConverterSelect })\n ),\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 1, className: 'text-right' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: 'info', onClick: this._onConverterAdd, disabled: !this.state.selectedConverter },\n 'Add'\n )\n )\n )\n ),\n this._getConvertersConfiguration()\n );\n }\n});\n\nexports['default'] = EditExtractorConverters;\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 \" + \"EditExtractorConverters.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/EditExtractorConverters.jsx\n ** module id = 205\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/EditExtractorConverters.jsx?");
},206: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 _MessageLoader = __webpack_require__(78);\n\nvar _MessageLoader2 = _interopRequireDefault(_MessageLoader);\n\nvar ExtractorExampleMessage = _react2['default'].createClass({\n displayName: 'ExtractorExampleMessage',\n\n propTypes: {\n field: _react.PropTypes.string.isRequired,\n example: _react.PropTypes.string,\n onExampleLoad: _react.PropTypes.func\n },\n _onExampleLoad: function _onExampleLoad(message) {\n var newExample = message.fields[this.props.field];\n this.props.onExampleLoad(newExample);\n },\n render: function render() {\n var originalMessage = _react2['default'].createElement(\n 'span',\n { id: 'xtrc-original-example', style: { display: 'none' } },\n this.props.example\n );\n var messagePreview = undefined;\n\n if (this.props.example) {\n messagePreview = _react2['default'].createElement(\n 'div',\n { className: 'well well-sm xtrc-new-example' },\n _react2['default'].createElement(\n 'span',\n { id: 'xtrc-example' },\n this.props.example\n )\n );\n } else {\n messagePreview = _react2['default'].createElement(\n 'div',\n { className: 'alert alert-warning xtrc-no-example' },\n 'Could not load an example of field \\'',\n this.props.field,\n '\\'. It is not possible to test the extractor before updating it.'\n );\n }\n\n return _react2['default'].createElement(\n 'div',\n null,\n originalMessage,\n messagePreview,\n _react2['default'].createElement(_MessageLoader2['default'], { onMessageLoaded: this._onExampleLoad })\n );\n }\n});\n\nexports['default'] = ExtractorExampleMessage;\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 \" + \"ExtractorExampleMessage.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/ExtractorExampleMessage.jsx\n ** module id = 206\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/ExtractorExampleMessage.jsx?")},207: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 _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar CSVConverterConfiguration = _react2['default'].createClass({\n displayName: 'CSVConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject(configuration) {\n return { type: this.props.type, config: configuration || this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n _onChange: function _onChange(key) {\n var _this = this;\n\n return function (event) {\n var newConfig = _this.props.configuration;\n newConfig[key] = _utilFormsUtils2['default'].getValueFromInput(event.target);\n _this.props.onChange(_this.props.type, _this._getConverterObject(newConfig));\n };\n },\n render: function render() {\n var separatorHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'For example ',\n _react2['default'].createElement(\n 'code',\n null,\n ','\n ),\n ', ',\n _react2['default'].createElement(\n 'code',\n null,\n '\\\\n'\n ),\n ', and ',\n _react2['default'].createElement(\n 'code',\n null,\n '\\\\t'\n ),\n ' will be translated to a single character.'\n );\n\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n ref: 'converterEnabled',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Add CSV columns as fields',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter }),\n _react2['default'].createElement(\n _reactBootstrap.Row,\n { className: 'row-sm' },\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 9, mdOffset: 2 },\n _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter-subfields' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: this.props.type + '_converter_column_header',\n label: 'Field names',\n defaultValue: this.props.configuration.column_header,\n labelClassName: 'col-md-3',\n wrapperClassName: 'col-md-9',\n placeholder: 'field1,field2,field3',\n onChange: this._onChange('column_header'),\n required: this.refs.converterEnabled && this.refs.converterEnabled.getChecked() }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: this.props.type + '_converter_separator',\n label: 'Separator character',\n defaultValue: this.props.configuration.separator || ',',\n labelClassName: 'col-md-3',\n wrapperClassName: 'col-md-9',\n maxLength: '2',\n onChange: this._onChange('separator'),\n help: separatorHelpMessage }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: this.props.type + '_converter_quote_char',\n label: 'Quote character',\n defaultValue: this.props.configuration.quote_char || '\"',\n labelClassName: 'col-md-3',\n wrapperClassName: 'col-md-9',\n maxLength: '1',\n onChange: this._onChange('quote_char') }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: this.props.type + '_converter_escape_char',\n label: 'Escape character',\n defaultValue: this.props.configuration.escape_char || '\\\\',\n labelClassName: 'col-md-3',\n wrapperClassName: 'col-md-9',\n maxLength: '1',\n onChange: this._onChange('escape_char'),\n help: 'Character used to escape the separator and quote characters.' }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: this.props.type + '_converter_strict_quotes',\n label: 'Use strict quotes',\n wrapperClassName: 'col-md-offset-3 col-md-9',\n defaultChecked: this.props.configuration.strict_quotes,\n onChange: this._onChange('strict_quotes'),\n help: 'Ignore content outside of quotes.' }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: this.props.type + '_converter_trim_leading_whitespace',\n label: 'Trim leading whitespace',\n wrapperClassName: 'col-md-offset-3 col-md-9',\n defaultChecked: this.props.configuration.trim_leading_whitespace,\n onChange: this._onChange('trim_leading_whitespace') })\n )\n )\n )\n );\n }\n});\n\nexports['default'] = CSVConverterConfiguration;\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 \" + \"CSVConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/CSVConverterConfiguration.jsx\n ** module id = 207\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/CSVConverterConfiguration.jsx?")},208: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 _componentsCommon = __webpack_require__(5);\n\nvar _componentsSupportDocumentationLink = __webpack_require__(24);\n\nvar _componentsSupportDocumentationLink2 = _interopRequireDefault(_componentsSupportDocumentationLink);\n\nvar _utilDocsHelper = __webpack_require__(17);\n\nvar _utilDocsHelper2 = _interopRequireDefault(_utilDocsHelper);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar DateConverterConfiguration = _react2['default'].createClass({\n displayName: 'DateConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject(configuration) {\n return { type: this.props.type, config: configuration || this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n _onChange: function _onChange(key) {\n var _this = this;\n\n return function (data) {\n var newConfig = _this.props.configuration;\n // data can be an event or a value, we need to check its type :sick:\n newConfig[key] = typeof data === 'object' ? _utilFormsUtils2['default'].getValueFromInput(data.target) : data;\n _this.props.onChange(_this.props.type, _this._getConverterObject(newConfig));\n };\n },\n render: function render() {\n var dateFormatHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'String format the date uses. Read more in the ',\n _react2['default'].createElement(_componentsSupportDocumentationLink2['default'], {\n page: _utilDocsHelper2['default'].PAGES.PAGE_STANDARD_DATE_CONVERTER, text: 'documentation' }),\n '.'\n );\n\n var timezoneHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'Time zone to apply to date. Read more in the ',\n _react2['default'].createElement(_componentsSupportDocumentationLink2['default'], {\n page: _utilDocsHelper2['default'].PAGES.PAGE_STANDARD_DATE_CONVERTER, text: 'documentation' }),\n '.'\n );\n\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n ref: 'converterEnabled',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Convert to date type',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter }),\n _react2['default'].createElement(\n _reactBootstrap.Row,\n { className: 'row-sm' },\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 9, mdOffset: 2 },\n _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter-subfields' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: this.props.type + '_converter_date_format',\n label: 'Format string',\n defaultValue: this.props.configuration.date_format,\n labelClassName: 'col-md-3',\n wrapperClassName: 'col-md-9',\n placeholder: 'yyyy-MM-dd HH:mm:ss.SSS',\n onChange: this._onChange('date_format'),\n required: this.refs.converterEnabled && this.refs.converterEnabled.getChecked(),\n help: dateFormatHelpMessage }),\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { label: 'Time Zone',\n id: this.props.type + '_converter_timezone',\n labelClassName: 'col-sm-3',\n wrapperClassName: 'col-sm-9',\n help: timezoneHelpMessage },\n _react2['default'].createElement(_componentsCommon.TimezoneSelect, { ref: 'timezone',\n id: this.props.type + '_converter_timezone',\n className: 'timezone-select',\n value: this.props.configuration.time_zone,\n onChange: this._onChange('time_zone') })\n )\n )\n )\n )\n );\n }\n});\n\nexports['default'] = DateConverterConfiguration;\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 \" + \"DateConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/DateConverterConfiguration.jsx\n ** module id = 208\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/DateConverterConfiguration.jsx?")},209: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 _componentsCommon = __webpack_require__(5);\n\nvar _componentsSupportDocumentationLink = __webpack_require__(24);\n\nvar _componentsSupportDocumentationLink2 = _interopRequireDefault(_componentsSupportDocumentationLink);\n\nvar _utilDocsHelper = __webpack_require__(17);\n\nvar _utilDocsHelper2 = _interopRequireDefault(_utilDocsHelper);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar FlexdateConverterConfiguration = _react2['default'].createClass({\n displayName: 'FlexdateConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject(configuration) {\n return { type: this.props.type, config: configuration || this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n _onChange: function _onChange(key) {\n var _this = this;\n\n return function (data) {\n var newConfig = _this.props.configuration;\n // data can be an event or a value, we need to check its type :sick:\n newConfig[key] = typeof data === 'object' ? _utilFormsUtils2['default'].getValueFromInput(data.target) : data;\n _this.props.onChange(_this.props.type, _this._getConverterObject(newConfig));\n };\n },\n render: function render() {\n var timezoneHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'Time zone to apply to date. Read more in the ',\n _react2['default'].createElement(_componentsSupportDocumentationLink2['default'], {\n page: _utilDocsHelper2['default'].PAGES.PAGE_FLEXIBLE_DATE_CONVERTER, text: 'documentation' }),\n '.'\n );\n\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Flexibly parse date',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter }),\n _react2['default'].createElement(\n _reactBootstrap.Row,\n { className: 'row-sm' },\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 9, mdOffset: 2 },\n _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter-subfields' },\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { label: 'Time Zone',\n id: this.props.type + '_converter_timezone',\n labelClassName: 'col-sm-3',\n wrapperClassName: 'col-sm-9',\n help: timezoneHelpMessage },\n _react2['default'].createElement(_componentsCommon.TimezoneSelect, { ref: 'timezone',\n id: this.props.type + '_converter_timezone',\n className: 'timezone-select',\n value: this.props.configuration.time_zone,\n onChange: this._onChange('time_zone') })\n )\n )\n )\n )\n );\n }\n});\n\nexports['default'] = FlexdateConverterConfiguration;\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 \" + \"FlexdateConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/FlexdateConverterConfiguration.jsx\n ** module id = 209\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/FlexdateConverterConfiguration.jsx?")},210: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 _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar HashConverterConfiguration = _react2['default'].createClass({\n displayName: 'HashConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject() {\n return { type: this.props.type, config: this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n render: function render() {\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Build MD5 hash from value',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter })\n );\n }\n});\n\nexports['default'] = HashConverterConfiguration;\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 \" + \"HashConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/HashConverterConfiguration.jsx\n ** module id = 210\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/HashConverterConfiguration.jsx?")},211: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 _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar IpAnonymizerConverterConfiguration = _react2['default'].createClass({\n displayName: 'IpAnonymizerConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject() {\n return { type: this.props.type, config: this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n render: function render() {\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Anonymize IPv4 addresses by replacing last octet',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter })\n );\n }\n});\n\nexports['default'] = IpAnonymizerConverterConfiguration;\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 \" + \"IpAnonymizerConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/IpAnonymizerConverterConfiguration.jsx\n ** module id = 211\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/IpAnonymizerConverterConfiguration.jsx?")},212: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 _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar LowercaseConverterConfiguration = _react2['default'].createClass({\n displayName: 'LowercaseConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject() {\n return { type: this.props.type, config: this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n render: function render() {\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Transform value to lowercase',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter })\n );\n }\n});\n\nexports['default'] = LowercaseConverterConfiguration;\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 \" + \"LowercaseConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/LowercaseConverterConfiguration.jsx\n ** module id = 212\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/LowercaseConverterConfiguration.jsx?");
},213: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 _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar NumericConverterConfiguration = _react2['default'].createClass({\n displayName: 'NumericConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject() {\n return { type: this.props.type, config: this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n render: function render() {\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Convert to numeric value',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter })\n );\n }\n});\n\nexports['default'] = NumericConverterConfiguration;\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 \" + \"NumericConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/NumericConverterConfiguration.jsx\n ** module id = 213\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/NumericConverterConfiguration.jsx?")},214: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 _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar SplitAndCountConverterConfiguration = _react2['default'].createClass({\n displayName: 'SplitAndCountConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject(configuration) {\n return { type: this.props.type, config: configuration || this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n _onChange: function _onChange(key) {\n var _this = this;\n\n return function (event) {\n var newConfig = _this.props.configuration;\n newConfig[key] = _utilFormsUtils2['default'].getValueFromInput(event.target);\n _this.props.onChange(_this.props.type, _this._getConverterObject(newConfig));\n };\n },\n render: function render() {\n var splitByHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'The Split & Count converter is splitting the extracted part by the defined character and stores the token',\n ' ',\n 'count as field. ',\n _react2['default'].createElement(\n 'strong',\n null,\n 'Example:'\n ),\n ' ',\n _react2['default'].createElement(\n 'em',\n null,\n '?fields=first_name,last_name,zip'\n ),\n ' split by ',\n _react2['default'].createElement(\n 'em',\n null,\n ','\n ),\n ' ',\n 'results in ',\n _react2['default'].createElement(\n 'em',\n null,\n '3'\n ),\n '. You just counted the requested fields of a GET user REST request.'\n );\n\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n ref: 'converterEnabled',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Split & Count',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter }),\n _react2['default'].createElement(\n _reactBootstrap.Row,\n { className: 'row-sm' },\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 9, mdOffset: 2 },\n _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter-subfields' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: this.props.type + '_converter_split_by',\n label: 'Split by',\n defaultValue: this.props.configuration.split_by,\n labelClassName: 'col-md-3',\n wrapperClassName: 'col-md-9',\n onChange: this._onChange('split_by'),\n required: this.refs.converterEnabled && this.refs.converterEnabled.getChecked(),\n help: splitByHelpMessage })\n )\n )\n )\n );\n }\n});\n\nexports['default'] = SplitAndCountConverterConfiguration;\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 \" + \"SplitAndCountConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/SplitAndCountConverterConfiguration.jsx\n ** module id = 214\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/SplitAndCountConverterConfiguration.jsx?")},215: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 _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar SyslogPriFacilityConverterConfiguration = _react2['default'].createClass({\n displayName: 'SyslogPriFacilityConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject() {\n return { type: this.props.type, config: this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n render: function render() {\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Convert from PRI to syslog facility',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter })\n );\n }\n});\n\nexports['default'] = SyslogPriFacilityConverterConfiguration;\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 \" + \"SyslogPriFacilityConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/SyslogPriFacilityConverterConfiguration.jsx\n ** module id = 215\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/SyslogPriFacilityConverterConfiguration.jsx?")},216: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 _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar SyslogPriLevelConverterConfiguration = _react2['default'].createClass({\n displayName: 'SyslogPriLevelConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject() {\n return { type: this.props.type, config: this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n render: function render() {\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Convert from PRI to syslog level',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter })\n );\n }\n});\n\nexports['default'] = SyslogPriLevelConverterConfiguration;\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 \" + \"SyslogPriLevelConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/SyslogPriLevelConverterConfiguration.jsx\n ** module id = 216\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/SyslogPriLevelConverterConfiguration.jsx?")},217: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 _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar TokenizerConverterConfiguration = _react2['default'].createClass({\n displayName: 'TokenizerConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject() {\n return { type: this.props.type, config: this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n render: function render() {\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Add Key=Value pairs as fields',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter })\n );\n }\n});\n\nexports['default'] = TokenizerConverterConfiguration;\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 \" + \"TokenizerConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/TokenizerConverterConfiguration.jsx\n ** module id = 217\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/TokenizerConverterConfiguration.jsx?")},218: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 _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar UppercaseConverterConfiguration = _react2['default'].createClass({\n displayName: 'UppercaseConverterConfiguration',\n\n propTypes: {\n type: _react.PropTypes.string.isRequired,\n configuration: _react.PropTypes.object.isRequired,\n onChange: _react.PropTypes.func.isRequired\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.props.type, this._getConverterObject());\n },\n _getConverterObject: function _getConverterObject() {\n return { type: this.props.type, config: this.props.configuration };\n },\n _toggleConverter: function _toggleConverter(event) {\n var converter = undefined;\n if (_utilFormsUtils2['default'].getValueFromInput(event.target) === true) {\n converter = this._getConverterObject();\n }\n\n this.props.onChange(this.props.type, converter);\n },\n render: function render() {\n return _react2['default'].createElement(\n 'div',\n { className: 'xtrc-converter' },\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'enable-' + this.props.type + '-converter',\n label: 'Transform value to uppercase',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: true,\n onChange: this._toggleConverter })\n );\n }\n});\n\nexports['default'] = UppercaseConverterConfiguration;\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 \" + \"UppercaseConverterConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/UppercaseConverterConfiguration.jsx\n ** module id = 218\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/UppercaseConverterConfiguration.jsx?")},219:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _CSVConverterConfiguration2 = __webpack_require__(207);\n\nvar _CSVConverterConfiguration3 = _interopRequireDefault(_CSVConverterConfiguration2);\n\nexports.CSVConverterConfiguration = _CSVConverterConfiguration3['default'];\n\nvar _DateConverterConfiguration2 = __webpack_require__(208);\n\nvar _DateConverterConfiguration3 = _interopRequireDefault(_DateConverterConfiguration2);\n\nexports.DateConverterConfiguration = _DateConverterConfiguration3['default'];\n\nvar _FlexdateConverterConfiguration2 = __webpack_require__(209);\n\nvar _FlexdateConverterConfiguration3 = _interopRequireDefault(_FlexdateConverterConfiguration2);\n\nexports.FlexdateConverterConfiguration = _FlexdateConverterConfiguration3['default'];\n\nvar _HashConverterConfiguration2 = __webpack_require__(210);\n\nvar _HashConverterConfiguration3 = _interopRequireDefault(_HashConverterConfiguration2);\n\nexports.HashConverterConfiguration = _HashConverterConfiguration3['default'];\n\nvar _IpAnonymizerConverterConfiguration2 = __webpack_require__(211);\n\nvar _IpAnonymizerConverterConfiguration3 = _interopRequireDefault(_IpAnonymizerConverterConfiguration2);\n\nexports.IpAnonymizerConverterConfiguration = _IpAnonymizerConverterConfiguration3['default'];\n\nvar _LowercaseConverterConfiguration2 = __webpack_require__(212);\n\nvar _LowercaseConverterConfiguration3 = _interopRequireDefault(_LowercaseConverterConfiguration2);\n\nexports.LowercaseConverterConfiguration = _LowercaseConverterConfiguration3['default'];\n\nvar _NumericConverterConfiguration2 = __webpack_require__(213);\n\nvar _NumericConverterConfiguration3 = _interopRequireDefault(_NumericConverterConfiguration2);\n\nexports.NumericConverterConfiguration = _NumericConverterConfiguration3['default'];\n\nvar _SplitAndCountConverterConfiguration2 = __webpack_require__(214);\n\nvar _SplitAndCountConverterConfiguration3 = _interopRequireDefault(_SplitAndCountConverterConfiguration2);\n\nexports.SplitAndCountConverterConfiguration = _SplitAndCountConverterConfiguration3['default'];\n\nvar _SyslogPriFacilityConverterConfiguration2 = __webpack_require__(215);\n\nvar _SyslogPriFacilityConverterConfiguration3 = _interopRequireDefault(_SyslogPriFacilityConverterConfiguration2);\n\nexports.SyslogPriFacilityConverterConfiguration = _SyslogPriFacilityConverterConfiguration3['default'];\n\nvar _SyslogPriLevelConverterConfiguration2 = __webpack_require__(216);\n\nvar _SyslogPriLevelConverterConfiguration3 = _interopRequireDefault(_SyslogPriLevelConverterConfiguration2);\n\nexports.SyslogPriLevelConverterConfiguration = _SyslogPriLevelConverterConfiguration3['default'];\n\nvar _TokenizerConverterConfiguration2 = __webpack_require__(217);\n\nvar _TokenizerConverterConfiguration3 = _interopRequireDefault(_TokenizerConverterConfiguration2);\n\nexports.TokenizerConverterConfiguration = _TokenizerConverterConfiguration3['default'];\n\nvar _UppercaseConverterConfiguration2 = __webpack_require__(218);\n\nvar _UppercaseConverterConfiguration3 = _interopRequireDefault(_UppercaseConverterConfiguration2);\n\nexports.UppercaseConverterConfiguration = _UppercaseConverterConfiguration3['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 \" + \"index.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/converters_configuration/index.jsx\n ** module id = 219\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/converters_configuration/index.jsx?")},220:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar CopyInputExtractorConfiguration = _react2['default'].createClass({\n displayName: 'CopyInputExtractorConfiguration',\n\n render: function render() {\n return _react2['default'].createElement(\n 'div',\n { className: 'form-group' },\n _react2['default'].createElement(\n 'div',\n { className: 'col-md-offset-2 col-md-10' },\n _react2['default'].createElement(\n _reactBootstrap.Panel,\n { bsStyle: 'info', style: { marginBottom: 0 } },\n 'The entire input will be copied verbatim.'\n )\n )\n );\n }\n});\nexports['default'] = CopyInputExtractorConfiguration;\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 \" + \"CopyInputExtractorConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/extractors_configuration/CopyInputExtractorConfiguration.jsx\n ** module id = 220\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/extractors_configuration/CopyInputExtractorConfiguration.jsx?");
},221:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _reactRouterBootstrap = __webpack_require__(19);\n\nvar _routingRoutes = __webpack_require__(13);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar _utilUserNotification = __webpack_require__(8);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar ToolsStore = _injectionStoreProvider2['default'].getStore('Tools');\n\nvar GrokExtractorConfiguration = _react2['default'].createClass({\n displayName: 'GrokExtractorConfiguration',\n\n propTypes: {\n configuration: _react.PropTypes.object.isRequired,\n exampleMessage: _react.PropTypes.string,\n onChange: _react.PropTypes.func.isRequired,\n onExtractorPreviewLoad: _react.PropTypes.func.isRequired\n },\n getInitialState: function getInitialState() {\n return {\n trying: false\n };\n },\n _onChange: function _onChange(key) {\n var _this = this;\n\n return function (event) {\n _this.props.onExtractorPreviewLoad(undefined);\n var newConfig = _this.props.configuration;\n newConfig[key] = _utilFormsUtils2['default'].getValueFromInput(event.target);\n _this.props.onChange(newConfig);\n };\n },\n _onTryClick: function _onTryClick() {\n var _this2 = this;\n\n this.setState({ trying: true });\n\n var promise = ToolsStore.testGrok(this.props.configuration.grok_pattern, this.props.exampleMessage);\n promise.then(function (result) {\n if (!result.matched) {\n _utilUserNotification2['default'].warning('We were not able to run the grok extraction. Please check your parameters.');\n return;\n }\n\n var matches = [];\n result.matches.map(function (match) {\n matches.push(_react2['default'].createElement(\n 'dt',\n { key: match.name + '-name' },\n match.name\n ));\n matches.push(_react2['default'].createElement(\n 'dd',\n { key: match.name + '-value' },\n _react2['default'].createElement(\n 'samp',\n null,\n match.match\n )\n ));\n });\n\n var preview = matches.length === 0 ? '' : _react2['default'].createElement(\n 'dl',\n null,\n matches\n );\n _this2.props.onExtractorPreviewLoad(preview);\n });\n\n promise['finally'](function () {\n return _this2.setState({ trying: false });\n });\n },\n _isTryButtonDisabled: function _isTryButtonDisabled() {\n return this.state.trying || !this.props.configuration.grok_pattern || !this.props.exampleMessage;\n },\n render: function render() {\n var helpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'Matches the field against the current Grok pattern list, use ',\n _react2['default'].createElement(\n 'b',\n null,\n '%{PATTERN-NAME}'\n ),\n ' to refer to a',\n ' ',\n _react2['default'].createElement(\n _reactRouterBootstrap.LinkContainer,\n { to: _routingRoutes2['default'].SYSTEM.GROKPATTERNS },\n _react2['default'].createElement(\n 'a',\n null,\n 'stored pattern'\n )\n ),\n '.'\n );\n\n return _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { id: 'grok_pattern',\n label: 'Grok pattern',\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n help: helpMessage },\n _react2['default'].createElement(\n _reactBootstrap.Row,\n { className: 'row-sm' },\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 11 },\n _react2['default'].createElement('input', { type: 'text', id: 'grok_pattern', className: 'form-control',\n defaultValue: this.props.configuration.grok_pattern,\n onChange: this._onChange('grok_pattern'),\n required: true })\n ),\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 1, className: 'text-right' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: 'info', onClick: this._onTryClick, disabled: this._isTryButtonDisabled() },\n this.state.trying ? _react2['default'].createElement('i', { className: 'fa fa-spin fa-spinner' }) : 'Try'\n )\n )\n )\n )\n );\n }\n});\n\nexports['default'] = GrokExtractorConfiguration;\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 \" + \"GrokExtractorConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/extractors_configuration/GrokExtractorConfiguration.jsx\n ** module id = 221\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/extractors_configuration/GrokExtractorConfiguration.jsx?")},222:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _utilExtractorUtils = __webpack_require__(39);\n\nvar _utilExtractorUtils2 = _interopRequireDefault(_utilExtractorUtils);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar ToolsStore = _injectionStoreProvider2['default'].getStore('Tools');\n\nvar JSONExtractorConfiguration = _react2['default'].createClass({\n displayName: 'JSONExtractorConfiguration',\n\n propTypes: {\n configuration: _react.PropTypes.object.isRequired,\n exampleMessage: _react.PropTypes.string,\n onChange: _react.PropTypes.func.isRequired,\n onExtractorPreviewLoad: _react.PropTypes.func.isRequired\n },\n getInitialState: function getInitialState() {\n return {\n trying: false,\n configuration: this._getEffectiveConfiguration(this.props.configuration)\n };\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.state.configuration);\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n this.setState({ configuration: this._getEffectiveConfiguration(nextProps.configuration) });\n },\n DEFAULT_CONFIGURATION: { list_separator: ', ', key_separator: '_', kv_separator: '=' },\n _getEffectiveConfiguration: function _getEffectiveConfiguration(configuration) {\n return _utilExtractorUtils2['default'].getEffectiveConfiguration(this.DEFAULT_CONFIGURATION, configuration);\n },\n _onChange: function _onChange(key) {\n var _this = this;\n\n return function (event) {\n _this.props.onExtractorPreviewLoad(undefined);\n var newConfig = _this.state.configuration;\n newConfig[key] = _utilFormsUtils2['default'].getValueFromInput(event.target);\n _this.props.onChange(newConfig);\n };\n },\n _onTryClick: function _onTryClick() {\n var _this2 = this;\n\n this.setState({ trying: true });\n\n var configuration = this.state.configuration;\n var promise = ToolsStore.testJSON(configuration.flatten, configuration.list_separator, configuration.key_separator, configuration.kv_separator, this.props.exampleMessage);\n\n promise.then(function (result) {\n var matches = [];\n for (var match in result.matches) {\n if (result.matches.hasOwnProperty(match)) {\n matches.push(_react2['default'].createElement(\n 'dt',\n { key: match + '-name' },\n match\n ));\n matches.push(_react2['default'].createElement(\n 'dd',\n { key: match + '-value' },\n _react2['default'].createElement(\n 'samp',\n null,\n result.matches[match]\n )\n ));\n }\n }\n\n var preview = matches.length === 0 ? '' : _react2['default'].createElement(\n 'dl',\n null,\n matches\n );\n _this2.props.onExtractorPreviewLoad(preview);\n });\n\n promise['finally'](function () {\n return _this2.setState({ trying: false });\n });\n },\n _isTryButtonDisabled: function _isTryButtonDisabled() {\n return this.state.trying || !this.props.exampleMessage;\n },\n render: function render() {\n return _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'flatten',\n label: 'Flatten structures',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: this.state.configuration.flatten,\n onChange: this._onChange('flatten'),\n help: 'Whether to flatten JSON objects into a single message field or to expand into multiple fields.' }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: 'list_separator',\n label: 'List item separator',\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n defaultValue: this.state.configuration.list_separator,\n required: true,\n onChange: this._onChange('list_separator'),\n help: 'What string to use to concatenate items of a JSON list.' }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: 'key_separator',\n label: 'Key separator',\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n defaultValue: this.state.configuration.key_separator,\n required: true,\n onChange: this._onChange('key_separator'),\n help: _react2['default'].createElement(\n 'span',\n null,\n 'What string to use to concatenate different keys of a nested JSON object (only used if ',\n _react2['default'].createElement(\n 'em',\n null,\n 'not'\n ),\n ' flattened).'\n ) }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: 'kv_separator',\n label: 'Key/value separator',\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n defaultValue: this.state.configuration.kv_separator,\n required: true,\n onChange: this._onChange('kv_separator'),\n help: 'What string to use when concatenating key/value pairs of a JSON object (only used if flattened).' }),\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { wrapperClassName: 'col-md-offset-2 col-md-10' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: 'info', onClick: this._onTryClick, disabled: this._isTryButtonDisabled() },\n this.state.trying ? _react2['default'].createElement('i', { className: 'fa fa-spin fa-spinner' }) : 'Try'\n )\n )\n );\n }\n});\n\nexports['default'] = JSONExtractorConfiguration;\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 \" + \"JSONExtractorConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/extractors_configuration/JSONExtractorConfiguration.jsx\n ** module id = 222\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/extractors_configuration/JSONExtractorConfiguration.jsx?")},223:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _componentsSupportDocumentationLink = __webpack_require__(24);\n\nvar _componentsSupportDocumentationLink2 = _interopRequireDefault(_componentsSupportDocumentationLink);\n\nvar _utilDocsHelper = __webpack_require__(17);\n\nvar _utilDocsHelper2 = _interopRequireDefault(_utilDocsHelper);\n\nvar _utilUserNotification = __webpack_require__(8);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar ToolsStore = _injectionStoreProvider2['default'].getStore('Tools');\n\nvar RegexExtractorConfiguration = _react2['default'].createClass({\n displayName: 'RegexExtractorConfiguration',\n\n propTypes: {\n configuration: _react.PropTypes.object.isRequired,\n exampleMessage: _react.PropTypes.string,\n onChange: _react.PropTypes.func.isRequired,\n onExtractorPreviewLoad: _react.PropTypes.func.isRequired\n },\n getInitialState: function getInitialState() {\n return {\n trying: false\n };\n },\n _onChange: function _onChange(key) {\n var _this = this;\n\n return function (event) {\n _this.props.onExtractorPreviewLoad(undefined);\n var newConfig = _this.props.configuration;\n newConfig[key] = _utilFormsUtils2['default'].getValueFromInput(event.target);\n _this.props.onChange(newConfig);\n };\n },\n _onTryClick: function _onTryClick() {\n var _this2 = this;\n\n this.setState({ trying: true });\n\n var promise = ToolsStore.testRegex(this.props.configuration.regex_value, this.props.exampleMessage);\n promise.then(function (result) {\n if (!result.matched) {\n _utilUserNotification2['default'].warning('Regular expression did not match.');\n return;\n }\n\n if (!result.match) {\n _utilUserNotification2['default'].warning('Regular expression does not contain any matcher group to extract.');\n return;\n }\n\n var preview = result.match.match ? _react2['default'].createElement(\n 'samp',\n null,\n result.match.match\n ) : '';\n _this2.props.onExtractorPreviewLoad(preview);\n });\n\n promise['finally'](function () {\n return _this2.setState({ trying: false });\n });\n },\n _isTryButtonDisabled: function _isTryButtonDisabled() {\n return this.state.trying || !this.props.configuration.regex_value || !this.props.exampleMessage;\n },\n render: function render() {\n var helpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'The regular expression used for extraction. First matcher group is used.',\n ' ',\n 'Learn more in the ',\n _react2['default'].createElement(_componentsSupportDocumentationLink2['default'], { page: _utilDocsHelper2['default'].PAGES.EXTRACTORS, text: 'documentation' }),\n '.'\n );\n\n return _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { label: 'Regular expression',\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n help: helpMessage },\n _react2['default'].createElement(\n _reactBootstrap.Row,\n { className: 'row-sm' },\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 11 },\n _react2['default'].createElement('input', { type: 'text', id: 'regex_value', className: 'form-control',\n defaultValue: this.props.configuration.regex_value,\n placeholder: '^.*string(.+)$',\n onChange: this._onChange('regex_value'),\n required: true })\n ),\n _react2['default'].createElement(\n _reactBootstrap.Col,\n { md: 1, className: 'text-right' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: 'info', onClick: this._onTryClick, disabled: this._isTryButtonDisabled() },\n this.state.trying ? _react2['default'].createElement('i', { className: 'fa fa-spin fa-spinner' }) : 'Try'\n )\n )\n )\n )\n );\n }\n});\n\nexports['default'] = RegexExtractorConfiguration;\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 \" + \"RegexExtractorConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/extractors_configuration/RegexExtractorConfiguration.jsx\n ** module id = 223\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/extractors_configuration/RegexExtractorConfiguration.jsx?")},224:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _componentsSupportDocumentationLink = __webpack_require__(24);\n\nvar _componentsSupportDocumentationLink2 = _interopRequireDefault(_componentsSupportDocumentationLink);\n\nvar _utilDocsHelper = __webpack_require__(17);\n\nvar _utilDocsHelper2 = _interopRequireDefault(_utilDocsHelper);\n\nvar _utilUserNotification = __webpack_require__(8);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar ToolsStore = _injectionStoreProvider2['default'].getStore('Tools');\n\nvar RegexReplaceExtractorConfiguration = _react2['default'].createClass({\n displayName: 'RegexReplaceExtractorConfiguration',\n\n propTypes: {\n configuration: _react.PropTypes.object.isRequired,\n exampleMessage: _react.PropTypes.string,\n onChange: _react.PropTypes.func.isRequired,\n onExtractorPreviewLoad: _react.PropTypes.func.isRequired\n },\n getInitialState: function getInitialState() {\n return {\n trying: false\n };\n },\n _onChange: function _onChange(key) {\n var _this = this;\n\n return function (event) {\n _this.props.onExtractorPreviewLoad(undefined);\n var newConfig = _this.props.configuration;\n newConfig[key] = _utilFormsUtils2['default'].getValueFromInput(event.target);\n _this.props.onChange(newConfig);\n };\n },\n _onTryClick: function _onTryClick() {\n var _this2 = this;\n\n this.setState({ trying: true });\n\n var configuration = this.props.configuration;\n var promise = ToolsStore.testRegexReplace(configuration.regex, configuration.replacement, configuration.replace_all, this.props.exampleMessage);\n promise.then(function (result) {\n if (!result.matched) {\n _utilUserNotification2['default'].warning('Regular expression did not match.');\n return;\n }\n\n if (!result.match) {\n _utilUserNotification2['default'].warning('Regular expression does not contain any matcher group to extract.');\n return;\n }\n\n var preview = result.match.match ? _react2['default'].createElement(\n 'samp',\n null,\n result.match.match\n ) : '';\n _this2.props.onExtractorPreviewLoad(preview);\n });\n\n promise['finally'](function () {\n return _this2.setState({ trying: false });\n });\n },\n _isTryButtonDisabled: function _isTryButtonDisabled() {\n return this.state.trying || !this.props.configuration.regex || !this.props.configuration.replacement || !this.props.exampleMessage;\n },\n render: function render() {\n var regexHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'The regular expression used for extraction.',\n ' ',\n 'Learn more in the ',\n _react2['default'].createElement(_componentsSupportDocumentationLink2['default'], { page: _utilDocsHelper2['default'].PAGES.EXTRACTORS, text: 'documentation' }),\n '.'\n );\n\n var replacementHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'The replacement used for the matching text. Please refer to the',\n ' ',\n _react2['default'].createElement(\n 'a',\n { target: '_blank',\n href: 'https://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html#replaceAll(java.lang.String)' },\n 'Matcher'\n ),\n ' ',\n 'API documentation for the possible options.'\n );\n\n return _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: 'regex',\n label: 'Regular expression',\n labelClassName: 'col-md-2',\n placeholder: '^.*string(.+)$',\n onChange: this._onChange('regex'),\n wrapperClassName: 'col-md-10',\n defaultValue: this.props.configuration.regex,\n required: true,\n help: regexHelpMessage }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: 'replacement',\n label: 'Replacement',\n labelClassName: 'col-md-2',\n placeholder: '$1',\n onChange: this._onChange('replacement'),\n wrapperClassName: 'col-md-10',\n defaultValue: this.props.configuration.replacement,\n required: true,\n help: replacementHelpMessage }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox',\n id: 'replace_all',\n label: 'Replace all occurrences of the pattern',\n wrapperClassName: 'col-md-offset-2 col-md-10',\n defaultChecked: this.props.configuration.replace_all,\n onChange: this._onChange('replace_all'),\n help: 'Whether to replace all occurrences of the given pattern or only the first occurrence.' }),\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { wrapperClassName: 'col-md-offset-2 col-md-10' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: 'info', onClick: this._onTryClick, disabled: this._isTryButtonDisabled() },\n this.state.trying ? _react2['default'].createElement('i', { className: 'fa fa-spin fa-spinner' }) : 'Try'\n )\n )\n );\n }\n});\n\nexports['default'] = RegexReplaceExtractorConfiguration;\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 \" + \"RegexReplaceExtractorConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/extractors_configuration/RegexReplaceExtractorConfiguration.jsx\n ** module id = 224\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/extractors_configuration/RegexReplaceExtractorConfiguration.jsx?")},225:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _utilUserNotification = __webpack_require__(8);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar _utilExtractorUtils = __webpack_require__(39);\n\nvar _utilExtractorUtils2 = _interopRequireDefault(_utilExtractorUtils);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar ToolsStore = _injectionStoreProvider2['default'].getStore('Tools');\n\nvar SplitAndIndexExtractorConfiguration = _react2['default'].createClass({\n displayName: 'SplitAndIndexExtractorConfiguration',\n\n propTypes: {\n configuration: _react.PropTypes.object.isRequired,\n exampleMessage: _react.PropTypes.string,\n onChange: _react.PropTypes.func.isRequired,\n onExtractorPreviewLoad: _react.PropTypes.func.isRequired\n },\n getInitialState: function getInitialState() {\n return {\n trying: false,\n configuration: this._getEffectiveConfiguration(this.props.configuration)\n };\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.state.configuration);\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n this.setState({ configuration: this._getEffectiveConfiguration(nextProps.configuration) });\n },\n DEFAULT_CONFIGURATION: { index: 1 },\n _getEffectiveConfiguration: function _getEffectiveConfiguration(configuration) {\n return _utilExtractorUtils2['default'].getEffectiveConfiguration(this.DEFAULT_CONFIGURATION, configuration);\n },\n _onChange: function _onChange(key) {\n var _this = this;\n\n return function (event) {\n _this.props.onExtractorPreviewLoad(undefined);\n var newConfig = _this.state.configuration;\n newConfig[key] = _utilFormsUtils2['default'].getValueFromInput(event.target);\n _this.props.onChange(newConfig);\n };\n },\n _onTryClick: function _onTryClick() {\n var _this2 = this;\n\n this.setState({ trying: true });\n\n var promise = ToolsStore.testSplitAndIndex(this.state.configuration.split_by, this.state.configuration.index, this.props.exampleMessage);\n\n promise.then(function (result) {\n if (!result.successful) {\n _utilUserNotification2['default'].warning('We were not able to run the split and index extraction. Please check your parameters.');\n return;\n }\n\n var preview = result.cut ? _react2['default'].createElement(\n 'samp',\n null,\n result.cut\n ) : '';\n _this2.props.onExtractorPreviewLoad(preview);\n });\n\n promise['finally'](function () {\n return _this2.setState({ trying: false });\n });\n },\n _isTryButtonDisabled: function _isTryButtonDisabled() {\n var configuration = this.state.configuration;\n return this.state.trying || configuration.split_by === '' || configuration.index === undefined || configuration.index < 1 || !this.props.exampleMessage;\n },\n render: function render() {\n var splitByHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'What character to split on. ',\n _react2['default'].createElement(\n 'strong',\n null,\n 'Example:'\n ),\n ' A whitespace character will split',\n ' ',\n _react2['default'].createElement(\n 'em',\n null,\n 'foo bar baz'\n ),\n ' to ',\n _react2['default'].createElement(\n 'em',\n null,\n '[foo,bar,baz]'\n ),\n '.'\n );\n\n var indexHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'What part of the split string to you want to use? ',\n _react2['default'].createElement(\n 'strong',\n null,\n 'Example:'\n ),\n ' ',\n _react2['default'].createElement(\n 'em',\n null,\n '2'\n ),\n ' selects ',\n _react2['default'].createElement(\n 'em',\n null,\n 'bar'\n ),\n ' ',\n 'from ',\n _react2['default'].createElement(\n 'em',\n null,\n 'foo bar baz'\n ),\n ' when split by whitespace.'\n );\n\n return _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'text',\n id: 'split_by',\n label: 'Split by',\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n defaultValue: this.state.configuration.split_by,\n onChange: this._onChange('split_by'),\n required: true,\n help: splitByHelpMessage }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'number',\n id: 'index',\n label: 'Target index',\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n defaultValue: this.state.configuration.index,\n onChange: this._onChange('index'),\n min: '1',\n required: true,\n help: indexHelpMessage }),\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { wrapperClassName: 'col-md-offset-2 col-md-10' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: 'info', onClick: this._onTryClick, disabled: this._isTryButtonDisabled() },\n this.state.trying ? _react2['default'].createElement('i', { className: 'fa fa-spin fa-spinner' }) : 'Try'\n )\n )\n );\n }\n});\n\nexports['default'] = SplitAndIndexExtractorConfiguration;\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 \" + \"SplitAndIndexExtractorConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/extractors_configuration/SplitAndIndexExtractorConfiguration.jsx\n ** module id = 225\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/extractors_configuration/SplitAndIndexExtractorConfiguration.jsx?");
},226:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _utilUserNotification = __webpack_require__(8);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar _utilExtractorUtils = __webpack_require__(39);\n\nvar _utilExtractorUtils2 = _interopRequireDefault(_utilExtractorUtils);\n\nvar _utilFormsUtils = __webpack_require__(12);\n\nvar _utilFormsUtils2 = _interopRequireDefault(_utilFormsUtils);\n\nvar ToolsStore = _injectionStoreProvider2['default'].getStore('Tools');\n\nvar SubstringExtractorConfiguration = _react2['default'].createClass({\n displayName: 'SubstringExtractorConfiguration',\n\n propTypes: {\n configuration: _react.PropTypes.object.isRequired,\n exampleMessage: _react.PropTypes.string,\n onChange: _react.PropTypes.func.isRequired,\n onExtractorPreviewLoad: _react.PropTypes.func.isRequired\n },\n getInitialState: function getInitialState() {\n return {\n trying: false,\n configuration: this._getEffectiveConfiguration(this.props.configuration)\n };\n },\n componentDidMount: function componentDidMount() {\n this.props.onChange(this.state.configuration);\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n this.setState({ configuration: this._getEffectiveConfiguration(nextProps.configuration) });\n },\n DEFAULT_CONFIGURATION: { begin_index: 0, end_index: 1 },\n _getEffectiveConfiguration: function _getEffectiveConfiguration(configuration) {\n return _utilExtractorUtils2['default'].getEffectiveConfiguration(this.DEFAULT_CONFIGURATION, configuration);\n },\n _onChange: function _onChange(key) {\n var _this = this;\n\n return function (event) {\n _this.props.onExtractorPreviewLoad(undefined);\n var newConfig = _this.state.configuration;\n newConfig[key] = _utilFormsUtils2['default'].getValueFromInput(event.target);\n _this.props.onChange(newConfig);\n };\n },\n _verifySubstringInputs: function _verifySubstringInputs() {\n var beginIndex = this.refs.beginIndex.getInputDOMNode();\n var endIndex = this.refs.endIndex.getInputDOMNode();\n\n if (this.state.configuration.begin_index === undefined || this.state.configuration.begin_index < 0) {\n beginIndex.value = 0;\n this._onChange('begin_index')({ target: beginIndex });\n }\n\n if (this.state.configuration.end_index === undefined || this.state.configuration.end_index < 0) {\n endIndex.value = 0;\n this._onChange('end_index')({ target: endIndex });\n }\n\n if (this.state.configuration.begin_index > this.state.configuration.end_index) {\n beginIndex.value = this.state.configuration.end_index;\n this._onChange('begin_index')({ target: beginIndex });\n }\n },\n _onTryClick: function _onTryClick() {\n var _this2 = this;\n\n this.setState({ trying: true });\n\n this._verifySubstringInputs();\n\n if (this.state.configuration.begin_index === this.state.configuration.end_index) {\n this.props.onExtractorPreviewLoad('');\n this.setState({ trying: false });\n } else {\n var promise = ToolsStore.testSubstring(this.state.configuration.begin_index, this.state.configuration.end_index, this.props.exampleMessage);\n\n promise.then(function (result) {\n if (!result.successful) {\n _utilUserNotification2['default'].warning('We were not able to run the substring extraction. Please check index boundaries.');\n return;\n }\n _this2.props.onExtractorPreviewLoad(_react2['default'].createElement(\n 'samp',\n null,\n result.cut\n ));\n });\n\n promise['finally'](function () {\n return _this2.setState({ trying: false });\n });\n }\n },\n _isTryButtonDisabled: function _isTryButtonDisabled() {\n var configuration = this.state.configuration;\n return this.state.trying || configuration.begin_index === undefined || configuration.begin_index < 0 || configuration.end_index === undefined || configuration.end_index < 0 || !this.props.exampleMessage;\n },\n render: function render() {\n var endIndexHelpMessage = _react2['default'].createElement(\n 'span',\n null,\n 'Where to end extracting. (Exclusive)',\n ' ',\n _react2['default'].createElement(\n 'strong',\n null,\n 'Example:'\n ),\n ' ',\n _react2['default'].createElement(\n 'em',\n null,\n '1,5'\n ),\n ' cuts ',\n _react2['default'].createElement(\n 'em',\n null,\n 'love'\n ),\n ' from the string ',\n _react2['default'].createElement(\n 'em',\n null,\n 'ilovelogs'\n ),\n '.'\n );\n return _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'number',\n ref: 'beginIndex',\n id: 'begin_index',\n label: 'Begin index',\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n defaultValue: this.state.configuration.begin_index,\n onChange: this._onChange('begin_index'),\n min: '0',\n required: true,\n help: 'Character position from where to start extracting. (Inclusive)' }),\n _react2['default'].createElement(_reactBootstrap.Input, { type: 'number',\n ref: 'endIndex',\n id: 'end_index',\n label: 'End index',\n labelClassName: 'col-md-2',\n wrapperClassName: 'col-md-10',\n defaultValue: this.state.configuration.end_index,\n onChange: this._onChange('end_index'),\n min: '0',\n required: true,\n help: endIndexHelpMessage }),\n _react2['default'].createElement(\n _reactBootstrap.Input,\n { wrapperClassName: 'col-md-offset-2 col-md-10' },\n _react2['default'].createElement(\n _reactBootstrap.Button,\n { bsStyle: 'info', onClick: this._onTryClick, disabled: this._isTryButtonDisabled() },\n this.state.trying ? _react2['default'].createElement('i', { className: 'fa fa-spin fa-spinner' }) : 'Try'\n )\n )\n );\n }\n});\n\nexports['default'] = SubstringExtractorConfiguration;\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 \" + \"SubstringExtractorConfiguration.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/extractors_configuration/SubstringExtractorConfiguration.jsx\n ** module id = 226\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/extractors_configuration/SubstringExtractorConfiguration.jsx?")},227:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _CopyInputExtractorConfiguration2 = __webpack_require__(220);\n\nvar _CopyInputExtractorConfiguration3 = _interopRequireDefault(_CopyInputExtractorConfiguration2);\n\nexports.CopyInputExtractorConfiguration = _CopyInputExtractorConfiguration3['default'];\n\nvar _GrokExtractorConfiguration2 = __webpack_require__(221);\n\nvar _GrokExtractorConfiguration3 = _interopRequireDefault(_GrokExtractorConfiguration2);\n\nexports.GrokExtractorConfiguration = _GrokExtractorConfiguration3['default'];\n\nvar _JSONExtractorConfiguration2 = __webpack_require__(222);\n\nvar _JSONExtractorConfiguration3 = _interopRequireDefault(_JSONExtractorConfiguration2);\n\nexports.JSONExtractorConfiguration = _JSONExtractorConfiguration3['default'];\n\nvar _RegexExtractorConfiguration2 = __webpack_require__(223);\n\nvar _RegexExtractorConfiguration3 = _interopRequireDefault(_RegexExtractorConfiguration2);\n\nexports.RegexExtractorConfiguration = _RegexExtractorConfiguration3['default'];\n\nvar _RegexReplaceExtractorConfiguration2 = __webpack_require__(224);\n\nvar _RegexReplaceExtractorConfiguration3 = _interopRequireDefault(_RegexReplaceExtractorConfiguration2);\n\nexports.RegexReplaceExtractorConfiguration = _RegexReplaceExtractorConfiguration3['default'];\n\nvar _SplitAndIndexExtractorConfiguration2 = __webpack_require__(225);\n\nvar _SplitAndIndexExtractorConfiguration3 = _interopRequireDefault(_SplitAndIndexExtractorConfiguration2);\n\nexports.SplitAndIndexExtractorConfiguration = _SplitAndIndexExtractorConfiguration3['default'];\n\nvar _SubstringExtractorConfiguration2 = __webpack_require__(226);\n\nvar _SubstringExtractorConfiguration3 = _interopRequireDefault(_SubstringExtractorConfiguration2);\n\nexports.SubstringExtractorConfiguration = _SubstringExtractorConfiguration3['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 \" + \"index.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/extractors/extractors_configuration/index.jsx\n ** module id = 227\n ** module chunks = 7 8\n **/\n//# sourceURL=webpack:///./src/components/extractors/extractors_configuration/index.jsx?")},969: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 _componentsCommonSpinner = __webpack_require__(23);\n\nvar _componentsCommonSpinner2 = _interopRequireDefault(_componentsCommonSpinner);\n\nvar _componentsCommonPageHeader = __webpack_require__(38);\n\nvar _componentsCommonPageHeader2 = _interopRequireDefault(_componentsCommonPageHeader);\n\nvar _componentsSupportDocumentationLink = __webpack_require__(24);\n\nvar _componentsSupportDocumentationLink2 = _interopRequireDefault(_componentsSupportDocumentationLink);\n\nvar _componentsExtractorsEditExtractor = __webpack_require__(203);\n\nvar _componentsExtractorsEditExtractor2 = _interopRequireDefault(_componentsExtractorsEditExtractor);\n\nvar _utilDocsHelper = __webpack_require__(17);\n\nvar _utilDocsHelper2 = _interopRequireDefault(_utilDocsHelper);\n\nvar _routingRoutes = __webpack_require__(13);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar InputsActions = _injectionActionsProvider2['default'].getActions('Inputs');\nvar ExtractorsActions = _injectionActionsProvider2['default'].getActions('Extractors');\n\nvar ExtractorsStore = _injectionStoreProvider2['default'].getStore('Extractors');\nvar InputsStore = _injectionStoreProvider2['default'].getStore('Inputs');\nvar UniversalSearchstore = _injectionStoreProvider2['default'].getStore('UniversalSearch');\n\nvar EditExtractorsPage = _react2['default'].createClass({\n displayName: 'EditExtractorsPage',\n\n propTypes: {\n params: _react.PropTypes.object.isRequired,\n history: _react.PropTypes.object.isRequired\n },\n mixins: [_reflux2['default'].connect(ExtractorsStore), _reflux2['default'].connect(InputsStore)],\n getInitialState: function getInitialState() {\n return {\n extractor: undefined,\n input: undefined,\n exampleMessage: undefined\n };\n },\n componentDidMount: function componentDidMount() {\n var _this = this;\n\n InputsActions.get.triggerPromise(this.props.params.inputId);\n ExtractorsActions.get.triggerPromise(this.props.params.inputId, this.props.params.extractorId);\n UniversalSearchstore.search('relative', 'gl2_source_input:' + this.props.params.inputId + ' OR gl2_source_radio_input:' + this.props.params.inputId, { range: 0 }, undefined, 1).then(function (response) {\n if (response.total_results > 0) {\n _this.setState({ exampleMessage: response.messages[0] });\n } else {\n _this.setState({ exampleMessage: {} });\n }\n });\n },\n _isLoading: function _isLoading() {\n return !(this.state.input && this.state.extractor && this.state.exampleMessage);\n },\n _extractorSaved: function _extractorSaved() {\n var url = undefined;\n if (this.state.input.global) {\n url = _routingRoutes2['default'].global_input_extractors(this.props.params.inputId);\n } else {\n url = _routingRoutes2['default'].local_input_extractors(this.props.params.nodeId, this.props.params.inputId);\n }\n\n this.props.history.pushState(null, url);\n },\n render: function render() {\n // TODO:\n // - Redirect when extractor or input were deleted\n\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 {\n title: _react2['default'].createElement(\n 'span',\n null,\n 'Edit extractor ',\n _react2['default'].createElement(\n 'em',\n null,\n this.state.extractor.title\n ),\n ' for input ',\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 an 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 _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 ),\n _react2['default'].createElement(_componentsExtractorsEditExtractor2['default'], { action: 'edit',\n extractor: this.state.extractor,\n inputId: this.state.input.id,\n exampleMessage: this.state.exampleMessage.fields ? this.state.exampleMessage.fields[this.state.extractor.source_field] : undefined,\n onSave: this._extractorSaved })\n );\n }\n});\n\nexports['default'] = EditExtractorsPage;\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 \" + \"EditExtractorsPage.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/EditExtractorsPage.jsx\n ** module id = 969\n ** module chunks = 7\n **/\n//# sourceURL=webpack:///./src/pages/EditExtractorsPage.jsx?./~/react-hot-loader!./~/babel-loader")}});