UNPKG

@atlaskit/editor-plugin-selection-toolbar

Version:

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

31 lines 1.35 kB
import { useEffect } from 'react'; import { bind } from 'bind-event-listener'; import { logException } from '@atlaskit/editor-common/monitoring'; export const PageVisibilityWatcher = ({ api, userPreferencesProvider }) => { useEffect(() => { if (!userPreferencesProvider || !api) { return; } const refreshPrefrerence = async () => { if (document.visibilityState === 'visible') { var _api$selectionToolbar, _api$selectionToolbar2, _api$selectionToolbar3; try { await userPreferencesProvider.loadPreferences(); } catch (error) { logException(error, { location: 'editor-plugin-selection-toolbar/PageVisibilityWatcher' }); } api === null || api === void 0 ? void 0 : (_api$selectionToolbar = api.selectionToolbar) === null || _api$selectionToolbar === void 0 ? void 0 : (_api$selectionToolbar2 = _api$selectionToolbar.actions) === null || _api$selectionToolbar2 === void 0 ? void 0 : (_api$selectionToolbar3 = _api$selectionToolbar2.refreshToolbarDocking) === null || _api$selectionToolbar3 === void 0 ? void 0 : _api$selectionToolbar3.call(_api$selectionToolbar2); } }; return bind(document, { type: 'visibilitychange', listener: refreshPrefrerence }); }, [api, userPreferencesProvider]); return null; };