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

web-interface.assets.43.7274e9222d07ea893176.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.6
Show newest version
{"version":3,"sources":["webpack:///43.7274e9222d07ea893176.js","webpack:///./src/pages/ShowDashboardPage.jsx","webpack:///./src/pages/ShowDashboardPage.css?bb46","webpack:///./src/pages/ShowDashboardPage.css"],"names":["webpackJsonp","1367","module","exports","__webpack_require__","_interopRequireDefault","obj","__esModule","default","Object","defineProperty","value","_propTypes","_propTypes2","_react","_react2","_reflux","_reflux2","_reactBootstrap","_plugin","_deepEqual","_deepEqual2","_CombinedProvider","_CombinedProvider2","_StoreProvider","_StoreProvider2","_DocsHelper","_DocsHelper2","_UserNotification","_UserNotification2","_Routes","_Routes2","_common","_PermissionsMixin","_PermissionsMixin2","_DocumentationLink","_DocumentationLink2","_EditDashboardModalTrigger","_EditDashboardModalTrigger2","_Widget","_Widget2","_ShowDashboardPage","_ShowDashboardPage2","StreamsStore","getStore","CurrentUserStore","_CombinedProvider$get","get","DashboardsActions","DashboardsStore","FocusStore","WidgetsStore","ShowDashboardPage","createClass","displayName","propTypes","history","object","isRequired","params","mixins","connect","getInitialState","locked","forceUpdateInBackground","streamIds","componentDidMount","_this","this","loadData","listenTo","removeWidget","load","streams","streamIds2","reduce","stream","id","setState","loadInterval","setInterval","state","currentUser","preferences","updateUnfocussed","componentWillUnmount","clearInterval","DASHBOARDS_EDIT","DEFAULT_HEIGHT","DEFAULT_WIDTH","_this2","dashboardId","props","then","dashboard","isMounted","widgets","sort","w1","w2","localeCompare","response","additional","status","error","pushState","DASHBOARDS","shouldUpdate","Boolean","focus","delete","emptyDashboard","createElement","Row","className","Col","md","Alert","page","PAGES","text","_defaultWidgetDimensions","widget","dimensions","col","row","widgetPlugin","PluginStore","filter","plugin","type","toUpperCase","height","defaultHeight","width","defaultWidth","_dashboardIsEmpty","length","_validDimension","dimension","Number","isInteger","formatDashboard","_this3","positions","forEach","persistedDimensions","defaultDimensions","undefined","widget1","widget2","position1","position2","map","key","widgetContainer","ReactGridContainer","onPositionsChange","_onPositionsChange","_unlockDashboard","event","preventDefault","_toggleUnlock","newPositions","updatePositions","_toggleFullscreen","element","document","documentElement","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","_toggleUpdateInBackground","forceUpdate","success","render","Spinner","actions","Button","bsStyle","onClick","IfPermitted","permissions","supportText","href","role","editDashboardTrigger","action","title","description","buttonClass","dashboardTitle","data-dashboard-id","DocumentTitle","PageHeader","1368","content","i","options","transform","locals","1369","push"],"mappings":"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","file":"43.7274e9222d07ea893176.js","sourcesContent":["webpackJsonp([43],{\n\n/***/ 1367:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(1);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _plugin = __webpack_require__(269);\n\nvar _deepEqual = __webpack_require__(277);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _CombinedProvider = __webpack_require__(68);\n\nvar _CombinedProvider2 = _interopRequireDefault(_CombinedProvider);\n\nvar _StoreProvider = __webpack_require__(23);\n\nvar _StoreProvider2 = _interopRequireDefault(_StoreProvider);\n\nvar _DocsHelper = __webpack_require__(923);\n\nvar _DocsHelper2 = _interopRequireDefault(_DocsHelper);\n\nvar _UserNotification = __webpack_require__(6);\n\nvar _UserNotification2 = _interopRequireDefault(_UserNotification);\n\nvar _Routes = __webpack_require__(76);\n\nvar _Routes2 = _interopRequireDefault(_Routes);\n\nvar _common = __webpack_require__(49);\n\nvar _PermissionsMixin = __webpack_require__(167);\n\nvar _PermissionsMixin2 = _interopRequireDefault(_PermissionsMixin);\n\nvar _DocumentationLink = __webpack_require__(927);\n\nvar _DocumentationLink2 = _interopRequireDefault(_DocumentationLink);\n\nvar _EditDashboardModalTrigger = __webpack_require__(1010);\n\nvar _EditDashboardModalTrigger2 = _interopRequireDefault(_EditDashboardModalTrigger);\n\nvar _Widget = __webpack_require__(1168);\n\nvar _Widget2 = _interopRequireDefault(_Widget);\n\nvar _ShowDashboardPage = __webpack_require__(1368);\n\nvar _ShowDashboardPage2 = _interopRequireDefault(_ShowDashboardPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar StreamsStore = _StoreProvider2.default.getStore('Streams');\nvar CurrentUserStore = _StoreProvider2.default.getStore('CurrentUser');\n\nvar _CombinedProvider$get = _CombinedProvider2.default.get('Dashboards'),\n    DashboardsActions = _CombinedProvider$get.DashboardsActions,\n    DashboardsStore = _CombinedProvider$get.DashboardsStore;\n\nvar FocusStore = _StoreProvider2.default.getStore('Focus');\nvar WidgetsStore = _StoreProvider2.default.getStore('Widgets');\n\nvar ShowDashboardPage = _react2.default.createClass({\n  displayName: 'ShowDashboardPage',\n\n  propTypes: {\n    history: _propTypes2.default.object.isRequired,\n    params: _propTypes2.default.object.isRequired\n  },\n  mixins: [_reflux2.default.connect(CurrentUserStore), _reflux2.default.connect(FocusStore), _PermissionsMixin2.default],\n\n  getInitialState: function getInitialState() {\n    return {\n      locked: true,\n      forceUpdateInBackground: false,\n      streamIds: null\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    this.loadData();\n    this.listenTo(WidgetsStore, this.removeWidget);\n    // we use the stream ids to potentially disable search replay buttons for deleted streams\n    StreamsStore.load(function (streams) {\n      var streamIds2 = streams.reduce(function (streamIds, stream) {\n        // eslint-disable-next-line no-param-reassign\n        streamIds[stream.id] = stream.id;\n        return streamIds;\n      }, {});\n      _this.setState({ streamIds: streamIds2 });\n    });\n    this.loadInterval = setInterval(this.loadData, 2000);\n    // eslint-disable-next-line react/no-did-mount-set-state\n    this.setState({ forceUpdateInBackground: this.state.currentUser.preferences.updateUnfocussed });\n  },\n  componentWillUnmount: function componentWillUnmount() {\n    if (this.loadInterval) {\n      clearInterval(this.loadInterval);\n    }\n  },\n\n  DASHBOARDS_EDIT: 'dashboards:edit',\n  DEFAULT_HEIGHT: 1,\n  DEFAULT_WIDTH: 2,\n  loadData: function loadData() {\n    var _this2 = this;\n\n    var dashboardId = this.props.params.dashboardId;\n    DashboardsStore.get(dashboardId).then(function (dashboard) {\n      if (!_this2.isMounted()) {\n        return;\n      }\n\n      // Compare dashboard in state with the one received, need to sort widgets to avoid that they come in\n      // a different order, affecting the comparison.\n      dashboard.widgets.sort(function (w1, w2) {\n        return w1.id.localeCompare(w2.id);\n      });\n      if (!_this2.state.dashboard || !(0, _deepEqual2.default)(_this2.state.dashboard, dashboard)) {\n        _this2.setState({ dashboard: dashboard });\n      }\n    }, function (response) {\n      if (response.additional && response.additional.status === 404) {\n        _UserNotification2.default.error('Unable to find a dashboard with the id <' + dashboardId + '>. Maybe it was deleted in the meantime.');\n        _this2.props.history.pushState(null, _Routes2.default.DASHBOARDS);\n      }\n    });\n  },\n  shouldUpdate: function shouldUpdate() {\n    return Boolean(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(_DocumentationLink2.default, {\n            page: _DocsHelper2.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 = _plugin.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  _validDimension: function _validDimension(dimension) {\n    return Number.isInteger(dimension) && dimension > 0;\n  },\n  formatDashboard: function formatDashboard(dashboard) {\n    var _this3 = 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 = _this3._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: _this3._validDimension(persistedDimensions.height) ? persistedDimensions.height : defaultDimensions.height,\n        width: _this3._validDimension(persistedDimensions.width) ? persistedDimensions.width : defaultDimensions.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(\n        'div',\n        { key: widget.id, className: _ShowDashboardPage2.default.widgetContainer },\n        _react2.default.createElement(_Widget2.default, { id: widget.id, key: 'widget-' + widget.id, widget: widget, dashboardId: dashboard.id,\n          locked: _this3.state.locked, shouldUpdate: _this3.shouldUpdate(), streamIds: _this3.state.streamIds })\n      );\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          _common.ReactGridContainer,\n          { positions: positions, onPositionsChange: this._onPositionsChange, locked: this.state.locked },\n          widgets\n        )\n      )\n    );\n  },\n  _unlockDashboard: function _unlockDashboard(event) {\n    event.preventDefault();\n    if (this.state.locked) {\n      this._toggleUnlock();\n    }\n  },\n  _toggleUnlock: function _toggleUnlock() {\n    this.setState({ locked: !this.state.locked });\n  },\n  _onPositionsChange: function _onPositionsChange(newPositions) {\n    DashboardsActions.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    _UserNotification2.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(_common.Spinner, null);\n    }\n\n    var dashboard = this.state.dashboard;\n\n    var actions = void 0;\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          _common.IfPermitted,\n          { permissions: this.DASHBOARDS_EDIT + ':' + dashboard.id },\n          ' ',\n          _react2.default.createElement(\n            _reactBootstrap.Button,\n            { bsStyle: 'success', onClick: this._toggleUnlock },\n            this.state.locked ? 'Unlock / Edit' : 'Lock'\n          )\n        )\n      );\n    }\n\n    var supportText = void 0;\n    if (!this._dashboardIsEmpty(dashboard)) {\n      supportText = _react2.default.createElement(\n        _common.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 editDashboardTrigger = !this.state.locked && !this._dashboardIsEmpty(dashboard) ? _react2.default.createElement(\n      _EditDashboardModalTrigger2.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    ) : null;\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      '\\xA0',\n      editDashboardTrigger\n    );\n    return _react2.default.createElement(\n      _common.DocumentTitle,\n      { title: 'Dashboard ' + dashboard.title },\n      _react2.default.createElement(\n        'span',\n        null,\n        _react2.default.createElement(\n          _common.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});\n\nexports.default = ShowDashboardPage;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1368:\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a