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

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

There is a newer version: 6.0.2
Show newest version
webpackJsonp([42],{986: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 _immutable = __webpack_require__(22);\n\nvar _immutable2 = _interopRequireDefault(_immutable);\n\nvar _moment = __webpack_require__(21);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _componentsSearch = __webpack_require__(116);\n\nvar NodesStore = _injectionStoreProvider2['default'].getStore('Nodes');\nvar CurrentUserStore = _injectionStoreProvider2['default'].getStore('CurrentUser');\nvar InputsStore = _injectionStoreProvider2['default'].getStore('Inputs');\nvar MessageFieldsStore = _injectionStoreProvider2['default'].getStore('MessageFields');\nvar RefreshStore = _injectionStoreProvider2['default'].getStore('Refresh');\nvar StreamsStore = _injectionStoreProvider2['default'].getStore('Streams');\nvar UniversalSearchStore = _injectionStoreProvider2['default'].getStore('UniversalSearch');\nvar SearchStore = _injectionStoreProvider2['default'].getStore('Search');\n\nvar NodesActions = _injectionActionsProvider2['default'].getActions('Nodes');\nvar InputsActions = _injectionActionsProvider2['default'].getActions('Inputs');\n\nvar SearchPage = _react2['default'].createClass({\n  displayName: 'SearchPage',\n\n  propTypes: {\n    location: _react.PropTypes.object.isRequired,\n    searchConfig: _react.PropTypes.object.isRequired,\n    searchInStream: _react.PropTypes.object\n  },\n  mixins: [_reflux2['default'].connect(NodesStore), _reflux2['default'].connect(MessageFieldsStore), _reflux2['default'].connect(CurrentUserStore), _reflux2['default'].listenTo(InputsStore, '_formatInputs'), _reflux2['default'].listenTo(RefreshStore, '_setupTimer', '_setupTimer')],\n  getInitialState: function getInitialState() {\n    return {\n      selectedFields: ['message', 'source'],\n      query: SearchStore.query.length > 0 ? SearchStore.query : '*',\n      error: undefined\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    this._refreshData();\n    InputsActions.list.triggerPromise();\n\n    StreamsStore.listStreams().then(function (streams) {\n      var streamsMap = {};\n      streams.forEach(function (stream) {\n        streamsMap[stream.id] = stream;\n      });\n      _this.setState({ streams: _immutable2['default'].Map(streamsMap) });\n    });\n\n    NodesActions.list();\n  },\n  componentWillUnmount: function componentWillUnmount() {\n    this._stopTimer();\n  },\n  _setupTimer: function _setupTimer(refresh) {\n    this._stopTimer();\n    if (refresh.enabled) {\n      this.timer = setInterval(this._refreshData, refresh.interval);\n    }\n  },\n  _stopTimer: function _stopTimer() {\n    if (this.timer) {\n      clearInterval(this.timer);\n    }\n  },\n  _refreshData: function _refreshData() {\n    var _this2 = this;\n\n    var query = this.state.query;\n    var streamId = this.props.searchInStream ? this.props.searchInStream.id : undefined;\n    UniversalSearchStore.search(SearchStore.rangeType, query, SearchStore.rangeParams.toJS(), streamId, null, SearchStore.page, SearchStore.sortField, SearchStore.sortOrder).then(function (response) {\n      _this2.setState({ searchResult: response, error: undefined });\n\n      var interval = _this2.props.location.query.interval ? _this2.props.location.query.interval : _this2._determineHistogramResolution(response);\n\n      UniversalSearchStore.histogram(SearchStore.rangeType, query, SearchStore.rangeParams.toJS(), interval, streamId).then(function (histogram) {\n        _this2.setState({ histogram: histogram });\n      });\n    }, function (error) {\n      // Treat searches with a malformed query\n      if (error.additional && error.additional.status === 400) {\n        _this2.setState({ error: error.additional.body });\n      }\n    });\n  },\n  _formatInputs: function _formatInputs(state) {\n    var inputs = InputsStore.inputsAsMap(state.inputs);\n    this.setState({ inputs: _immutable2['default'].Map(inputs) });\n  },\n  _determineHistogramResolution: function _determineHistogramResolution(response) {\n    var queryRangeInMinutes = undefined;\n    if (SearchStore.rangeType === 'relative' && SearchStore.rangeParams.get('relative') === 0) {\n      var oldestIndex = response.used_indices.sort(function (i1, i2) {\n        return (0, _moment2['default'])(i2.end) - (0, _moment2['default'])(i1.end);\n      })[0];\n      queryRangeInMinutes = (0, _moment2['default'])(response.to).diff(oldestIndex.begin, 'minutes');\n    } else {\n      queryRangeInMinutes = (0, _moment2['default'])(response.to).diff(response.from, 'minutes');\n    }\n\n    var duration = _moment2['default'].duration(queryRangeInMinutes, 'minutes');\n\n    if (duration.asHours() < 12) {\n      return 'minute';\n    }\n\n    if (duration.asDays() < 3) {\n      return 'hour';\n    }\n\n    if (duration.asDays() < 30) {\n      return 'day';\n    }\n\n    if (duration.asMonths() < 2) {\n      return 'week';\n    }\n\n    if (duration.asMonths() < 18) {\n      return 'month';\n    }\n\n    if (duration.asYears() < 3) {\n      return 'quarter';\n    }\n\n    return 'year';\n  },\n  sortFields: function sortFields(fieldSet) {\n    var newFieldSet = fieldSet;\n    var sortedFields = _immutable2['default'].OrderedSet();\n\n    if (newFieldSet.contains('source')) {\n      sortedFields = sortedFields.add('source');\n    }\n    newFieldSet = newFieldSet['delete']('source');\n    var remainingFieldsSorted = newFieldSet.sort(function (field1, field2) {\n      return field1.toLowerCase().localeCompare(field2.toLowerCase());\n    });\n    return sortedFields.concat(remainingFieldsSorted);\n  },\n\n  _onToggled: function _onToggled(fieldName) {\n    if (this.state.selectedFields.indexOf(fieldName) > 0) {\n      this.setState({ selectedFields: this.state.selectedFields.filter(function (field) {\n          return field !== fieldName;\n        }) });\n    } else {\n      this.setState({ selectedFields: this.state.selectedFields.concat(fieldName) });\n    }\n  },\n\n  _isLoading: function _isLoading() {\n    return !this.state.searchResult || !this.state.inputs || !this.state.streams || !this.state.nodes || !this.state.fields || !this.state.histogram;\n  },\n\n  render: function render() {\n    if (this.state.error) {\n      return _react2['default'].createElement(_componentsSearch.MalformedSearchQuery, { error: this.state.error });\n    }\n\n    if (this._isLoading()) {\n      return _react2['default'].createElement(_componentsCommon.Spinner, null);\n    }\n\n    var searchResult = this.state.searchResult;\n    searchResult.all_fields = this.state.fields;\n    return _react2['default'].createElement(_componentsSearch.SearchResult, { query: SearchStore.query, page: SearchStore.page, builtQuery: searchResult.built_query,\n      result: searchResult, histogram: this.state.histogram,\n      formattedHistogram: this.state.histogram.histogram,\n      streams: this.state.streams, inputs: this.state.inputs, nodes: _immutable2['default'].Map(this.state.nodes),\n      searchInStream: this.props.searchInStream, permissions: this.state.currentUser.permissions,\n      searchConfig: this.props.searchConfig });\n  }\n});\n\nexports['default'] = SearchPage;\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 \" + \"SearchPage.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/SearchPage.jsx\n ** module id = 986\n ** module chunks = 42\n **/\n//# sourceURL=webpack:///./src/pages/SearchPage.jsx?./~/react-hot-loader!./~/babel-loader")}});




© 2015 - 2024 Weber Informatics LLC | Privacy Policy