vue-offline
Version:
Offline states and storage for Vue.js apps and Progressive Web Apps
2 lines • 2.52 kB
JavaScript
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("vue-offline",[],n):"object"==typeof exports?exports["vue-offline"]=n():e["vue-offline"]=n()}(window,function(){return function(e){var n={};function t(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(o,i,function(n){return e[n]}.bind(null,i));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=0)}([function(e,n,t){"use strict";t.r(n),t.d(n,"VueOfflineMixin",function(){return o}),t.d(n,"VueOfflineStorage",function(){return i}),t.d(n,"VueOfflinePlugin",function(){return r});var o={data:function(){return{isOnline:!1,isOffline:!1}},mounted:function(){var e=this;if("undefined"!=typeof window){navigator.onLine?this.isOnline=!0:this.isOffline=!0;var n=function(){e.$emit("online"),e.isOnline=!0,e.isOffline=!1},t=function(){e.$emit("offline"),e.isOffline=!0,e.isOnline=!1};window.addEventListener("online",n),window.addEventListener("offline",t),this.$once("hook:beforeDestroy",function(){window.removeEventListener("online",n),window.removeEventListener("offline",t)})}}};var i={keys:"undefined"!=typeof window?localStorage.getItem("VueOfflineStorageKeys"):null,set:function(e,n){"undefined"!=typeof window&&(localStorage.setItem(e,JSON.stringify(n)),function(e){var n=JSON.parse(localStorage.getItem("VueOfflineStorageKeys"))||[];n.includes(e)||n.push(e),localStorage.setItem("VueOfflineStorageKeys",JSON.stringify(n))}(e))},get:function(e){return"undefined"!=typeof window?JSON.parse(localStorage.getItem(e)):null}},r={install:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{mixin:!0,storage:!0},t=n.mixin;n.storage&&(e.prototype.$offlineStorage=i),t&&e.mixin(o)}};n.default=r}])});
//# sourceMappingURL=vue-offline.min.js.map