vue-admin-core
Version:
A Component Library for Vue 3
27 lines (24 loc) • 711 B
JavaScript
import { isServer } from '../../../utils/isServer.mjs';
function isDocumentVisible() {
return document.visibilityState !== "hidden";
}
const listeners = [];
function subscribeReVisible(listener) {
listeners.push(listener);
return function unsubscribe() {
const index = listeners.indexOf(listener);
listeners.splice(index, 1);
};
}
const revalidate = () => {
if (!isDocumentVisible())
return;
for (let i = 0; i < listeners.length; i++) {
const listener = listeners[i];
listener();
}
};
if (!isServer)
window.addEventListener("visibilitychange", revalidate, false);
export { subscribeReVisible as default, isDocumentVisible };
//# sourceMappingURL=subscribeReVisible.mjs.map