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

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

There is a newer version: 6.0.2
Show newest version
webpackJsonp([32],{960: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});\nvar FileSaver = {\n  save: function save(data, filename, mime, charset) {\n    var link = document.createElement('a');\n\n    var effectiveCharset = charset ? ';charset=' + charset : '';\n    var contentType = charset ? '' + mime + effectiveCharset : mime;\n\n    // On modern browsers (Chrome and Firefox), use download property and a temporary link\n    if (link.download !== undefined) {\n      link.download = filename;\n      link.href = 'data:' + contentType + ',' + encodeURIComponent(data);\n      document.body.appendChild(link);\n      link.click();\n      document.body.removeChild(link);\n\n      return;\n    }\n\n    // On IE >= 10, use msSaveOrOpenBlob\n    if (window.navigator && typeof window.navigator.msSaveOrOpenBlob === 'function') {\n      var blob = new Blob([data], { type: contentType });\n      window.navigator.msSaveOrOpenBlob(blob, filename);\n\n      return;\n    }\n\n    try {\n      // On Safari and other browsers, try to open the JSON as attachment\n      location.href = 'data:application/attachment' + effectiveCharset + ',' + encodeURIComponent(data);\n    } catch (e) {\n      // If nothing else works, open the JSON as plain text in the browser\n      location.href = 'data:text/plain' + effectiveCharset + ',' + encodeURIComponent(data);\n    }\n  }\n};\n\nexports['default'] = FileSaver;\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 \" + \"FileSaver.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/logic/files/FileSaver.js\n ** module id = 960\n ** module chunks = 32\n **/\n//# sourceURL=webpack:///./src/logic/files/FileSaver.js?")},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 _reactBootstrap = __webpack_require__(2);\n\nvar _logicFilesFileSaver = __webpack_require__(960);\n\nvar _logicFilesFileSaver2 = _interopRequireDefault(_logicFilesFileSaver);\n\nvar _utilUserNotification = __webpack_require__(8);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _componentsCommonPageHeader = __webpack_require__(38);\n\nvar _componentsCommonPageHeader2 = _interopRequireDefault(_componentsCommonPageHeader);\n\nvar DashboardsStore = _injectionStoreProvider2['default'].getStore('Dashboards');\nvar GrokPatternsStore = _injectionStoreProvider2['default'].getStore('GrokPatterns');\nvar InputsStore = _injectionStoreProvider2['default'].getStore('Inputs');\nvar OutputsStore = _injectionStoreProvider2['default'].getStore('Outputs');\nvar StreamsStore = _injectionStoreProvider2['default'].getStore('Streams');\n// eslint-disable-next-line no-unused-vars\nvar ConfigurationBundlesStore = _injectionStoreProvider2['default'].getStore('ConfigurationBundles');\n\nvar InputsActions = _injectionActionsProvider2['default'].getActions('Inputs');\nvar ConfigurationBundlesActions = _injectionActionsProvider2['default'].getActions('ConfigurationBundles');\n\nvar ExportContentPackPage = _react2['default'].createClass({\n  displayName: 'ExportContentPackPage',\n\n  mixins: [_reflux2['default'].connect(InputsStore)],\n  getInitialState: function getInitialState() {\n    return {};\n  },\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    DashboardsStore.listDashboards().then(function (dashboards) {\n      _this.setState({ dashboards: dashboards });\n    });\n    GrokPatternsStore.loadPatterns(function (grokPatterns) {\n      _this.setState({ grok_patterns: grokPatterns });\n    });\n    InputsActions.list();\n    OutputsStore.load(function (resp) {\n      _this.setState({ outputs: resp.outputs });\n    });\n    StreamsStore.listStreams().then(function (streams) {\n      _this.setState({ streams: streams });\n    });\n  },\n  onSubmit: function onSubmit(evt) {\n    var _this2 = this;\n\n    evt.preventDefault();\n    var request = {\n      streams: [],\n      inputs: [],\n      outputs: [],\n      dashboards: [],\n      grok_patterns: []\n    };\n    Object.keys(this.refs).forEach(function (key) {\n      if (key.indexOf('.') === -1) {\n        request[key] = _this2.refs[key].value;\n      } else {\n        if (_this2.refs[key].checked) {\n          var group = key.split('.')[0];\n          var id = key.split('.')[1];\n\n          request[group].push(id);\n        }\n      }\n    });\n    ConfigurationBundlesActions['export'].triggerPromise(request).then(function (response) {\n      _utilUserNotification2['default'].success('Successfully export content pack. Starting download...', 'Success!');\n      _logicFilesFileSaver2['default'].save(response, 'content_pack.json', 'application/json', 'utf-8');\n    });\n  },\n  isEmpty: function isEmpty(obj) {\n    return obj === undefined || (typeof obj.count === 'function' ? obj.count() === 0 : obj.length === 0);\n  },\n  inputDetails: function inputDetails(input) {\n    var details = input.name;\n    if (input.attributes.bind_address) {\n      details += ' on ' + input.attributes.bind_address;\n      if (input.attributes.port) {\n        details += ' port ' + input.attributes.port;\n      }\n    }\n\n    return details;\n  },\n  formatDashboard: function formatDashboard(dashboard) {\n    return _react2['default'].createElement(\n      'div',\n      { className: 'checkbox', key: 'dashboard_checkbox-' + dashboard.id },\n      _react2['default'].createElement(\n        'label',\n        { className: 'checkbox' },\n        _react2['default'].createElement('input', { ref: 'dashboards.' + dashboard.id, type: 'checkbox', name: 'dashboards', id: 'dashboard_' + dashboard.id, value: dashboard.id }),\n        dashboard.title\n      )\n    );\n  },\n  formatGrokPattern: function formatGrokPattern(grokPattern) {\n    return _react2['default'].createElement(\n      'div',\n      { className: 'checkbox', key: 'grok_pattern_checkbox-' + grokPattern.id },\n      _react2['default'].createElement(\n        'label',\n        { className: 'checkbox' },\n        _react2['default'].createElement('input', { ref: 'grok_patterns.' + grokPattern.id, type: 'checkbox', name: 'grokPatterns', id: 'grokPattern_' + grokPattern.id, value: grokPattern.id }),\n        grokPattern.name\n      ),\n      _react2['default'].createElement(\n        'span',\n        { className: 'help-inline' },\n        'Pattern: ',\n        _react2['default'].createElement(\n          'tt',\n          null,\n          grokPattern.pattern\n        )\n      )\n    );\n  },\n  formatInput: function formatInput(input) {\n    return _react2['default'].createElement(\n      'div',\n      { className: 'checkbox', key: 'input_checkbox-' + input.id },\n      _react2['default'].createElement(\n        'label',\n        { className: 'checkbox' },\n        _react2['default'].createElement('input', { ref: 'inputs.' + input.id, type: 'checkbox', name: 'inputs', id: 'input_' + input.id, value: input.id }),\n        input.title\n      ),\n      _react2['default'].createElement(\n        'span',\n        { className: 'help-inline' },\n        '(',\n        this.inputDetails(input),\n        ')'\n      )\n    );\n  },\n  formatOutput: function formatOutput(output) {\n    return _react2['default'].createElement(\n      'div',\n      { className: 'checkbox', key: 'output_checkbox-' + output.id },\n      _react2['default'].createElement(\n        'label',\n        { className: 'checkbox' },\n        _react2['default'].createElement('input', { ref: 'outputs.' + output.id, type: 'checkbox', name: 'outputs', id: 'output_' + output.id, value: output.id }),\n        output.title\n      )\n    );\n  },\n  formatStream: function formatStream(stream) {\n    return _react2['default'].createElement(\n      'div',\n      { className: 'checkbox', key: 'stream_checkbox-' + stream.id },\n      _react2['default'].createElement(\n        'label',\n        { className: 'checkbox' },\n        _react2['default'].createElement('input', { ref: 'streams.' + stream.id, type: 'checkbox', name: 'streams', id: 'stream_' + stream.id, value: stream.id }),\n        stream.title\n      )\n    );\n  },\n  selectAll: function selectAll(group) {\n    var _this3 = this;\n\n    Object.keys(this.refs).forEach(function (key) {\n      if (key.indexOf(group) === 0) {\n        _this3.refs[key].checked = true;\n      }\n    });\n  },\n  selectAllInputs: function selectAllInputs() {\n    this.selectAll('input');\n  },\n  selectAllGrokPatterns: function selectAllGrokPatterns() {\n    this.selectAll('grok_pattern');\n  },\n  selectAllOutputs: function selectAllOutputs() {\n    this.selectAll('output');\n  },\n  selectAllStreams: function selectAllStreams() {\n    this.selectAll('stream');\n  },\n  selectAllDashboards: function selectAllDashboards() {\n    this.selectAll('dashboard');\n  },\n  render: function render() {\n    return _react2['default'].createElement(\n      'span',\n      null,\n      _react2['default'].createElement(\n        _componentsCommonPageHeader2['default'],\n        { title: 'Create a content pack' },\n        _react2['default'].createElement(\n          'span',\n          null,\n          'Export your inputs, outputs, streams and dashboards as a content pack and share it with the community or other setups.'\n        )\n      ),\n      _react2['default'].createElement(\n        _reactBootstrap.Row,\n        { className: 'content' },\n        _react2['default'].createElement(\n          _reactBootstrap.Col,\n          { md: 6 },\n          _react2['default'].createElement(\n            'form',\n            { className: 'form-horizontal build-content-pack', onSubmit: this.onSubmit },\n            _react2['default'].createElement(\n              'div',\n              { className: 'form-group' },\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 2 },\n                _react2['default'].createElement(\n                  'label',\n                  { className: 'control-label', htmlFor: 'name' },\n                  'Name'\n                )\n              ),\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 10 },\n                _react2['default'].createElement('input', { ref: 'name', type: 'text', id: 'name', className: 'input-xlarge form-control', name: 'name', required: true }),\n                _react2['default'].createElement(\n                  'span',\n                  { className: 'help-block' },\n                  'The name of your configuration bundle.'\n                )\n              )\n            ),\n            _react2['default'].createElement(\n              'div',\n              { className: 'form-group' },\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 2 },\n                _react2['default'].createElement(\n                  'label',\n                  { className: 'control-label', htmlFor: 'description' },\n                  'Description'\n                )\n              ),\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 10 },\n                _react2['default'].createElement('textarea', { ref: 'description', rows: '6', id: 'description', name: 'description', className: 'input-xlarge form-control', required: true }),\n                _react2['default'].createElement(\n                  'span',\n                  { className: 'help-block' },\n                  'A description of what your bundle does and possible special instructions for the user. You can use ',\n                  _react2['default'].createElement(\n                    'a',\n                    { href: 'http://daringfireball.net/projects/markdown/syntax', target: '_blank' },\n                    'Markdown'\n                  ),\n                  ' syntax.'\n                )\n              )\n            ),\n            _react2['default'].createElement(\n              'div',\n              { className: 'form-group' },\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 2 },\n                _react2['default'].createElement(\n                  'label',\n                  { className: 'control-label', htmlFor: 'category' },\n                  'Category'\n                )\n              ),\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 10 },\n                _react2['default'].createElement('input', { ref: 'category', type: 'text', id: 'category', name: 'category', className: 'input-xlarge form-control', required: true }),\n                _react2['default'].createElement(\n                  'span',\n                  { className: 'help-block' },\n                  'A category for your bundle, e.g. Operating Systems, Firewalls or Switches.'\n                )\n              )\n            ),\n            _react2['default'].createElement(\n              'div',\n              { className: 'form-group' },\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 2 },\n                _react2['default'].createElement(\n                  'label',\n                  { className: 'control-label', htmlFor: 'inputs' },\n                  'Inputs'\n                )\n              ),\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 10 },\n                this.isEmpty(this.state.inputs) ? _react2['default'].createElement(\n                  'span',\n                  { className: 'help-block help-standalone' },\n                  'There are no inputs to export.'\n                ) : _react2['default'].createElement(\n                  'span',\n                  null,\n                  _react2['default'].createElement(\n                    _reactBootstrap.Button,\n                    { className: 'btn btn-sm btn-link select-all', onClick: this.selectAllInputs },\n                    'Select all'\n                  ),\n                  this.state.inputs.sort(function (i1, i2) {\n                    return i1.title.localeCompare(i2.title);\n                  }).map(this.formatInput)\n                )\n              )\n            ),\n            _react2['default'].createElement(\n              'div',\n              { className: 'form-group' },\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 2 },\n                _react2['default'].createElement(\n                  'label',\n                  { className: 'control-label', htmlFor: 'grokPatterns' },\n                  'Grok Patterns'\n                )\n              ),\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 10 },\n                this.isEmpty(this.state.grok_patterns) ? _react2['default'].createElement(\n                  'span',\n                  { className: 'help-block help-standalone' },\n                  'There are no grok patterns to export.'\n                ) : _react2['default'].createElement(\n                  'span',\n                  null,\n                  _react2['default'].createElement(\n                    _reactBootstrap.Button,\n                    { className: 'btn btn-sm btn-link select-all', onClick: this.selectAllGrokPatterns },\n                    'Select all'\n                  ),\n                  this.state.grok_patterns.sort(function (g1, g2) {\n                    return g1.name.localeCompare(g2.name);\n                  }).map(this.formatGrokPattern)\n                )\n              )\n            ),\n            _react2['default'].createElement(\n              'div',\n              { className: 'form-group' },\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 2 },\n                _react2['default'].createElement(\n                  'label',\n                  { className: 'control-label', htmlFor: 'outputs' },\n                  'Outputs'\n                )\n              ),\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 10 },\n                this.isEmpty(this.state.outputs) ? _react2['default'].createElement(\n                  'span',\n                  { className: 'help-block help-standalone' },\n                  'There are no outputs to export.'\n                ) : _react2['default'].createElement(\n                  'span',\n                  null,\n                  _react2['default'].createElement(\n                    _reactBootstrap.Button,\n                    { className: 'btn btn-sm btn-link select-all', onClick: this.selectAllOutputs },\n                    'Select all'\n                  ),\n                  this.state.outputs.sort(function (o1, o2) {\n                    return o1.title.localeCompare(o2.title);\n                  }).map(this.formatOutput)\n                )\n              )\n            ),\n            _react2['default'].createElement(\n              'div',\n              { className: 'form-group' },\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 2 },\n                _react2['default'].createElement(\n                  'label',\n                  { className: 'control-label', htmlFor: 'streams' },\n                  'Streams'\n                )\n              ),\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 10 },\n                this.isEmpty(this.state.streams) ? _react2['default'].createElement(\n                  'span',\n                  { className: 'help-block help-standalone' },\n                  'There are no streams to export.'\n                ) : _react2['default'].createElement(\n                  'span',\n                  null,\n                  _react2['default'].createElement(\n                    _reactBootstrap.Button,\n                    { className: 'btn btn-sm btn-link select-all', onClick: this.selectAllStreams },\n                    'Select all'\n                  ),\n                  this.state.streams.sort(function (s1, s2) {\n                    return s1.title.localeCompare(s2.title);\n                  }).map(this.formatStream)\n                )\n              )\n            ),\n            _react2['default'].createElement(\n              'div',\n              { className: 'form-group' },\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 2 },\n                _react2['default'].createElement(\n                  'label',\n                  { className: 'control-label', htmlFor: 'dashboards' },\n                  'Dashboards'\n                )\n              ),\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 10 },\n                this.isEmpty(this.state.dashboards) ? _react2['default'].createElement(\n                  'span',\n                  { className: 'help-block help-standalone' },\n                  'There are no dashboards to export.'\n                ) : _react2['default'].createElement(\n                  'span',\n                  null,\n                  _react2['default'].createElement(\n                    _reactBootstrap.Button,\n                    { className: 'btn btn-sm btn-link select-all', onClick: this.selectAllDashboards },\n                    'Select all'\n                  ),\n                  this.state.dashboards.sort(function (d1, d2) {\n                    return d1.title.localeCompare(d2.title);\n                  }).map(this.formatDashboard)\n                )\n              )\n            ),\n            _react2['default'].createElement(\n              'div',\n              { className: 'form-group' },\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { smOffset: 2, sm: 10 },\n                _react2['default'].createElement(\n                  _reactBootstrap.Button,\n                  { bsStyle: 'success', type: 'submit' },\n                  _react2['default'].createElement('i', { className: 'fa fa-cloud-download' }),\n                  ' Download my content pack'\n                ),\n                _react2['default'].createElement('br', null),\n                _react2['default'].createElement('br', null),\n                _react2['default'].createElement(\n                  'p',\n                  null,\n                  _react2['default'].createElement('i', { className: 'fa fa-lightbulb-o' }),\n                  '  Share your content pack with the community on the ',\n                  _react2['default'].createElement(\n                    'a',\n                    { href: 'https://marketplace.graylog.org/', target: '_blank' },\n                    'Graylog Marketplace'\n                  ),\n                  ' after you have downloaded it.'\n                )\n              )\n            )\n          )\n        )\n      )\n    );\n  }\n});\n\nexports['default'] = ExportContentPackPage;\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 \" + \"ExportContentPackPage.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/ExportContentPackPage.jsx\n ** module id = 969\n ** module chunks = 32\n **/\n//# sourceURL=webpack:///./src/pages/ExportContentPackPage.jsx?./~/react-hot-loader!./~/babel-loader")}});




© 2015 - 2024 Weber Informatics LLC | Privacy Policy