UNPKG

vue-admin-core

Version:
33 lines (28 loc) 860 B
'use strict'; 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