UNPKG

@atlaskit/editor-plugin-selection-toolbar

Version:

@atlaskit/editor-plugin-selection-toolbar for @atlaskit/editor-core

53 lines 2.3 kB
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _regeneratorRuntime from "@babel/runtime/regenerator"; import { useEffect } from 'react'; import { bind } from 'bind-event-listener'; import { logException } from '@atlaskit/editor-common/monitoring'; export var PageVisibilityWatcher = function PageVisibilityWatcher(_ref) { var api = _ref.api, userPreferencesProvider = _ref.userPreferencesProvider; useEffect(function () { if (!userPreferencesProvider || !api) { return; } var refreshPrefrerence = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { var _api$selectionToolbar, _api$selectionToolbar2, _t; return _regeneratorRuntime.wrap(function (_context) { while (1) switch (_context.prev = _context.next) { case 0: if (!(document.visibilityState === 'visible')) { _context.next = 5; break; } _context.prev = 1; _context.next = 2; return userPreferencesProvider.loadPreferences(); case 2: _context.next = 4; break; case 3: _context.prev = 3; _t = _context["catch"](1); logException(_t, { location: 'editor-plugin-selection-toolbar/PageVisibilityWatcher' }); case 4: api === null || api === void 0 || (_api$selectionToolbar = api.selectionToolbar) === null || _api$selectionToolbar === void 0 || (_api$selectionToolbar = _api$selectionToolbar.actions) === null || _api$selectionToolbar === void 0 || (_api$selectionToolbar2 = _api$selectionToolbar.refreshToolbarDocking) === null || _api$selectionToolbar2 === void 0 || _api$selectionToolbar2.call(_api$selectionToolbar); case 5: case "end": return _context.stop(); } }, _callee, null, [[1, 3]]); })); return function refreshPrefrerence() { return _ref2.apply(this, arguments); }; }(); return bind(document, { type: 'visibilitychange', listener: refreshPrefrerence }); }, [api, userPreferencesProvider]); return null; };