UNPKG

@atlaskit/editor-plugin-user-preferences

Version:

UserPreferences plugin for @atlaskit/editor-core

53 lines (52 loc) 2.17 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useDocumentVisibilityWatcher = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _react = require("react"); var _bindEventListener = require("bind-event-listener"); var _monitoring = require("@atlaskit/editor-common/monitoring"); var useDocumentVisibilityWatcher = exports.useDocumentVisibilityWatcher = function useDocumentVisibilityWatcher(userPreferencesProvider) { (0, _react.useEffect)(function () { if (userPreferencesProvider) { var refreshPreferences = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { return _regenerator.default.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: if (!(document.visibilityState === 'visible')) { _context.next = 9; break; } _context.prev = 1; _context.next = 4; return userPreferencesProvider.loadPreferences(); case 4: _context.next = 9; break; case 6: _context.prev = 6; _context.t0 = _context["catch"](1); (0, _monitoring.logException)(_context.t0, { location: 'editor-plugin-user-preferences/userPreferencesPlugin' }); case 9: case "end": return _context.stop(); } }, _callee, null, [[1, 6]]); })); return function refreshPreferences() { return _ref.apply(this, arguments); }; }(); return (0, _bindEventListener.bind)(document, { type: 'visibilitychange', listener: refreshPreferences }); } }, [userPreferencesProvider]); };