vue-admin-core
Version:
A Component Library for Vue 3
32 lines (27 loc) • 820 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var isServer = require('../../../utils/isServer.js');
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.isServer)
window.addEventListener("visibilitychange", revalidate, false);
exports.default = subscribeReVisible;
exports.isDocumentVisible = isDocumentVisible;
//# sourceMappingURL=subscribeReVisible.js.map