@atlaskit/editor-plugin-user-preferences
Version:
UserPreferences plugin for @atlaskit/editor-core
24 lines • 792 B
JavaScript
import { useEffect } from 'react';
import { bind } from 'bind-event-listener';
import { logException } from '@atlaskit/editor-common/monitoring';
export const useDocumentVisibilityWatcher = userPreferencesProvider => {
useEffect(() => {
if (userPreferencesProvider) {
const refreshPreferences = async () => {
if (document.visibilityState === 'visible') {
try {
await userPreferencesProvider.loadPreferences();
} catch (error) {
logException(error, {
location: 'editor-plugin-user-preferences/userPreferencesPlugin'
});
}
}
};
return bind(document, {
type: 'visibilitychange',
listener: refreshPreferences
});
}
}, [userPreferencesProvider]);
};