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

web-interface.assets.41.41.8701985bb0448f528696.js Maven / Gradle / Ivy

There is a newer version: 5.2.7
Show newest version
webpackJsonp([41],{1022: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 _graylogWebPluginPlugin = __webpack_require__(44);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _utilDocsHelper = __webpack_require__(18);\n\nvar _utilDocsHelper2 = _interopRequireDefault(_utilDocsHelper);\n\nvar _utilUserNotification = __webpack_require__(8);\n\nvar _utilUserNotification2 = _interopRequireDefault(_utilUserNotification);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _utilPermissionsMixin = __webpack_require__(27);\n\nvar _utilPermissionsMixin2 = _interopRequireDefault(_utilPermissionsMixin);\n\nvar _componentsSupportDocumentationLink = __webpack_require__(24);\n\nvar _componentsSupportDocumentationLink2 = _interopRequireDefault(_componentsSupportDocumentationLink);\n\nvar _componentsDashboardEditDashboardModalTrigger = __webpack_require__(102);\n\nvar _componentsDashboardEditDashboardModalTrigger2 = _interopRequireDefault(_componentsDashboardEditDashboardModalTrigger);\n\nvar _componentsWidgetsWidget = __webpack_require__(371);\n\nvar _componentsWidgetsWidget2 = _interopRequireDefault(_componentsWidgetsWidget);\n\nvar CurrentUserStore = _injectionStoreProvider2['default'].getStore('CurrentUser');\nvar DashboardsStore = _injectionStoreProvider2['default'].getStore('Dashboards');\nvar FocusStore = _injectionStoreProvider2['default'].getStore('Focus');\nvar WidgetsStore = _injectionStoreProvider2['default'].getStore('Widgets');\n\nvar ShowDashboardPage = _react2['default'].createClass({\n  displayName: 'ShowDashboardPage',\n\n  mixins: [_reflux2['default'].connect(CurrentUserStore), _reflux2['default'].connect(FocusStore), _utilPermissionsMixin2['default']],\n\n  getInitialState: function getInitialState() {\n    return {\n      locked: true,\n      forceUpdateInBackground: false\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    this.loadData();\n    this.listenTo(WidgetsStore, this.removeWidget);\n    this.loadInterval = setInterval(this.loadData, 2000);\n  },\n  componentWillUnmount: function componentWillUnmount() {\n    if (this.loadInterval) {\n      clearInterval(this.loadInterval);\n    }\n  },\n  DASHBOARDS_EDIT: 'dashboards:edit',\n  DEFAULT_HEIGHT: 1,\n  DEFAULT_WIDTH: 2,\n  loadData: function loadData() {\n    var _this = this;\n\n    DashboardsStore.get(this.props.params.dashboardId).then(function (dashboard) {\n      if (_this.isMounted()) {\n        _this.setState({ dashboard: dashboard });\n      }\n    });\n  },\n  updateUnFocussed: function updateUnFocussed() {\n    return this.state.currentUser.preferences.updateUnfocussed;\n  },\n  shouldUpdate: function shouldUpdate() {\n    return Boolean(this.updateUnFocussed() || this.state.forceUpdateInBackground || this.state.focus);\n  },\n  removeWidget: function removeWidget(props) {\n    if (props['delete']) {\n      this.loadData();\n    }\n  },\n  emptyDashboard: function emptyDashboard() {\n    return _react2['default'].createElement(\n      _reactBootstrap.Row,\n      { className: 'content' },\n      _react2['default'].createElement(\n        _reactBootstrap.Col,\n        { md: 12 },\n        _react2['default'].createElement(\n          _reactBootstrap.Alert,\n          { className: 'no-widgets' },\n          'This dashboard has no widgets yet. Learn how to add widgets in the ',\n          _react2['default'].createElement(_componentsSupportDocumentationLink2['default'], {\n            page: _utilDocsHelper2['default'].PAGES.DASHBOARDS, text: 'documentation' }),\n          '.'\n        )\n      )\n    );\n  },\n  _defaultWidgetDimensions: function _defaultWidgetDimensions(widget) {\n    var dimensions = { col: 0, row: 0 };\n\n    var widgetPlugin = _graylogWebPluginPlugin.PluginStore.exports('widgets').filter(function (plugin) {\n      return plugin.type.toUpperCase() === widget.type.toUpperCase();\n    })[0];\n    if (widgetPlugin) {\n      dimensions.height = widgetPlugin.defaultHeight;\n      dimensions.width = widgetPlugin.defaultWidth;\n    } else {\n      dimensions.height = this.DEFAULT_HEIGHT;\n      dimensions.width = this.DEFAULT_WIDTH;\n    }\n\n    return dimensions;\n  },\n  _dashboardIsEmpty: function _dashboardIsEmpty(dashboard) {\n    return dashboard.widgets.length === 0;\n  },\n  formatDashboard: function formatDashboard(dashboard) {\n    var _this2 = this;\n\n    if (this._dashboardIsEmpty(dashboard)) {\n      return this.emptyDashboard();\n    }\n\n    var positions = {};\n    dashboard.widgets.forEach(function (widget) {\n      var persistedDimensions = dashboard.positions[widget.id] || {};\n      var defaultDimensions = _this2._defaultWidgetDimensions(widget);\n      positions[widget.id] = {\n        col: persistedDimensions.col === undefined ? defaultDimensions.col : persistedDimensions.col,\n        row: persistedDimensions.row === undefined ? defaultDimensions.row : persistedDimensions.row,\n        height: persistedDimensions.height === undefined ? defaultDimensions.height : persistedDimensions.height,\n        width: persistedDimensions.width === undefined ? defaultDimensions.width : persistedDimensions.width\n      };\n    });\n\n    var widgets = dashboard.widgets.sort(function (widget1, widget2) {\n      var position1 = positions[widget1.id];\n      var position2 = positions[widget2.id];\n      if (position1.col === position2.col) {\n        return position1.row - position2.row;\n      }\n\n      return position1.col - position2.col;\n    }).map(function (widget) {\n      return _react2['default'].createElement(_componentsWidgetsWidget2['default'], { id: widget.id, key: 'widget-' + widget.id, widget: widget, dashboardId: dashboard.id,\n        locked: _this2.state.locked, shouldUpdate: _this2.shouldUpdate() });\n    });\n\n    return _react2['default'].createElement(\n      _reactBootstrap.Row,\n      null,\n      _react2['default'].createElement(\n        'div',\n        { className: 'dashboard' },\n        _react2['default'].createElement(\n          _componentsCommon.GridsterContainer,\n          { ref: 'gridsterContainer', positions: positions, onPositionsChange: this._onPositionsChange },\n          widgets\n        )\n      )\n    );\n  },\n  _unlockDashboard: function _unlockDashboard(event) {\n    event.preventDefault();\n    this.setState({ locked: false });\n  },\n  _onUnlock: function _onUnlock() {\n    var locked = !this.state.locked;\n    this.setState({ locked: locked });\n\n    if (locked) {\n      this.refs.gridsterContainer.lockGrid();\n    } else {\n      this.refs.gridsterContainer.unlockGrid();\n    }\n  },\n  _onPositionsChange: function _onPositionsChange(newPositions) {\n    DashboardsStore.updatePositions(this.state.dashboard, newPositions);\n  },\n  _toggleFullscreen: function _toggleFullscreen() {\n    var element = document.documentElement;\n    if (element.requestFullscreen) {\n      element.requestFullscreen();\n    } else if (element.mozRequestFullScreen) {\n      element.mozRequestFullScreen();\n    } else if (element.webkitRequestFullscreen) {\n      element.webkitRequestFullscreen();\n    } else if (element.msRequestFullscreen) {\n      element.msRequestFullscreen();\n    }\n  },\n  _toggleUpdateInBackground: function _toggleUpdateInBackground() {\n    var forceUpdate = !this.state.forceUpdateInBackground;\n    this.setState({ forceUpdateInBackground: forceUpdate });\n    _utilUserNotification2['default'].success('Graphs will be updated ' + (forceUpdate ? 'even' : 'only') + ' when the browser is in the ' + (forceUpdate ? 'background' : 'foreground'), '');\n  },\n  render: function render() {\n    if (!this.state.dashboard) {\n      return _react2['default'].createElement(_componentsCommon.Spinner, null);\n    }\n\n    var dashboard = this.state.dashboard;\n\n    var actions = undefined;\n    if (!this._dashboardIsEmpty(dashboard)) {\n      actions = _react2['default'].createElement(\n        'div',\n        null,\n        _react2['default'].createElement(\n          _reactBootstrap.Button,\n          { id: 'update-unfocussed', bsStyle: 'info', onClick: this._toggleUpdateInBackground },\n          'Update in ',\n          this.state.forceUpdateInBackground ? 'foreground' : 'background'\n        ),\n        ' ',\n        _react2['default'].createElement(\n          _reactBootstrap.Button,\n          { className: 'toggle-fullscreen', bsStyle: 'info', onClick: this._toggleFullscreen },\n          'Fullscreen'\n        ),\n        _react2['default'].createElement(\n          _componentsCommon.IfPermitted,\n          { permissions: this.DASHBOARDS_EDIT + ':' + dashboard.id },\n          ' ',\n          _react2['default'].createElement(\n            _reactBootstrap.Button,\n            { bsStyle: 'success', onClick: this._onUnlock },\n            this.state.locked ? 'Unlock / Edit' : 'Lock'\n          )\n        )\n      );\n    }\n\n    var supportText = undefined;\n    if (!this._dashboardIsEmpty(dashboard)) {\n      supportText = _react2['default'].createElement(\n        _componentsCommon.IfPermitted,\n        { permissions: this.DASHBOARDS_EDIT + ':' + dashboard.id },\n        _react2['default'].createElement(\n          'div',\n          { id: 'drag-widgets-description' },\n          'Drag widgets to any position you like in ',\n          _react2['default'].createElement(\n            'a',\n            { href: '#', role: 'button', onClick: this._unlockDashboard },\n            'unlock / edit'\n          ),\n          ' mode.'\n        )\n      );\n    }\n\n    var dashboardTitle = _react2['default'].createElement(\n      'span',\n      null,\n      _react2['default'].createElement(\n        'span',\n        { 'data-dashboard-id': dashboard.id, className: 'dashboard-title' },\n        dashboard.title\n      ),\n      ' ',\n      !this.state.locked && !this._dashboardIsEmpty(dashboard) && _react2['default'].createElement(\n        _componentsDashboardEditDashboardModalTrigger2['default'],\n        { id: dashboard.id, action: 'edit', title: dashboard.title,\n          description: dashboard.description, buttonClass: 'btn-info btn-xs' },\n        _react2['default'].createElement('i', { className: 'fa fa-pencil' })\n      )\n    );\n    return _react2['default'].createElement(\n      'span',\n      null,\n      _react2['default'].createElement(\n        _componentsCommon.PageHeader,\n        { title: dashboardTitle },\n        _react2['default'].createElement(\n          'span',\n          { 'data-dashboard-id': dashboard.id, className: 'dashboard-description' },\n          dashboard.description\n        ),\n        supportText,\n        actions\n      ),\n      this.formatDashboard(dashboard),\n      _react2['default'].createElement('div', { className: 'clearfix' })\n    );\n  }\n});\n\nexports['default'] = ShowDashboardPage;\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 \" + \"ShowDashboardPage.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/ShowDashboardPage.jsx\n ** module id = 1022\n ** module chunks = 41\n **/\n//# sourceURL=webpack:///./src/pages/ShowDashboardPage.jsx?./~/react-hot-loader!./~/babel-loader")}});




© 2015 - 2024 Weber Informatics LLC | Privacy Policy