vue-admin-core
Version:
A Component Library for Vue 3
33 lines (28 loc) • 860 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var isServer = require('../../../utils/isServer.js');
var subscribeReVisible = require('./subscribeReVisible.js');
const listeners = [];
function subscribe(listener) {
listeners.push(listener);
return function unsubscribe() {
const index = listeners.indexOf(listener);
if (index > -1) {
listeners.splice(index, 1);
}
};
}
const revalidate = () => {
if (!subscribeReVisible.isDocumentVisible() || !navigator.onLine)
return;
for (let i = 0; i < listeners.length; i++) {
const listener = listeners[i];
listener();
}
};
if (!isServer.isServer) {
window.addEventListener("visibilitychange", revalidate, false);
window.addEventListener("focus", revalidate, false);
}
exports.default = subscribe;
//# sourceMappingURL=subscribeFocus.js.map