forked from Netsyms/PackageHelper
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
179 lines
6.0 KiB
JavaScript
179 lines
6.0 KiB
JavaScript
/*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*/
|
|
|
|
|
|
var cachedurls = [
|
|
'package.json',
|
|
'settings.js',
|
|
'index.html',
|
|
'.',
|
|
'routes.js',
|
|
'cache.js',
|
|
|
|
'assets/audio/error.mp3',
|
|
'assets/audio/ok.mp3',
|
|
'assets/audio/scan.mp3',
|
|
|
|
'assets/images/icons/logo.svg',
|
|
'assets/images/barcode-dashed.svg',
|
|
'assets/images/boxes.png',
|
|
'assets/images/box-open-dashed.svg',
|
|
'assets/images/box.png',
|
|
'assets/images/check.png',
|
|
'assets/images/envelope.png',
|
|
'assets/images/envelopes.png',
|
|
'assets/images/express.png',
|
|
'assets/images/history-dashed.svg',
|
|
'assets/images/largeboxes.png',
|
|
'assets/images/largebox.png',
|
|
'assets/images/multiple-items.png',
|
|
'assets/images/note-dashed.svg',
|
|
'assets/images/signature.png',
|
|
'assets/images/signatures.png',
|
|
'assets/images/smallpackage.png',
|
|
'assets/images/smallpackages.png',
|
|
'assets/images/bgs/add.svg',
|
|
'assets/images/bgs/list.svg',
|
|
'assets/images/bgs/map.svg',
|
|
'assets/images/bgs/notes.svg',
|
|
'assets/images/bgs/settings.svg',
|
|
'assets/images/bgs/toolbox.svg',
|
|
'assets/images/bgs/toolbox_addrlookup.svg',
|
|
'assets/images/bgs/toolbox_log.svg',
|
|
'assets/images/bgs/toolbox_scanner.svg',
|
|
'assets/images/bgs/toolbox_sharelist.svg',
|
|
'assets/images/bgs/toolbox_track.svg',
|
|
'assets/images/bgs/toolbox_weather.svg',
|
|
|
|
'assets/css/app.css',
|
|
'assets/css/backdrop.css',
|
|
'assets/css/oled.css',
|
|
'assets/css/web-barcode.css',
|
|
|
|
'assets/js/audio.js',
|
|
'assets/js/autofill.js',
|
|
'assets/js/list.js',
|
|
'assets/js/location.js',
|
|
'assets/js/login.js',
|
|
'assets/js/main.js',
|
|
'assets/js/manage.js',
|
|
'assets/js/map.js',
|
|
'assets/js/map_leaflet.js',
|
|
'assets/js/map_mapbox.js',
|
|
'assets/js/notes.js',
|
|
'assets/js/packages.js',
|
|
'assets/js/platform.js',
|
|
'assets/js/settings.js',
|
|
'assets/js/storage.js',
|
|
'assets/js/sync.js',
|
|
'assets/js/toolbox_scannerentries.js',
|
|
'assets/js/toolbox_scanner.js',
|
|
'assets/js/toolbox_sharelist.js',
|
|
'assets/js/toolbox_track.js',
|
|
'assets/js/toolbox_weather.js',
|
|
'assets/js/util.js',
|
|
|
|
'pages/credits.html',
|
|
'pages/home.html',
|
|
'pages/list.html',
|
|
'pages/login.html',
|
|
'pages/manage.html',
|
|
'pages/map.html',
|
|
'pages/myroute.html',
|
|
'pages/settings.html',
|
|
'pages/toolbox.html',
|
|
'pages/help/list.html',
|
|
'pages/help/map.html',
|
|
'pages/myroute/editnote.html',
|
|
'pages/toolbox/scanner.html',
|
|
'pages/toolbox/sharelist.html',
|
|
'pages/toolbox/track.html',
|
|
'pages/toolbox/trackinginfo.html',
|
|
'pages/toolbox/weather.html',
|
|
'pages/toolbox/scanner/entries.html',
|
|
'pages/toolbox/scanner/scanner.html',
|
|
|
|
'node_modules/framework7/css/framework7.bundle.min.css',
|
|
'node_modules/@fortawesome/fontawesome-free/css/all.min.css',
|
|
'node_modules/material-design-icons/iconfont/material-icons.css',
|
|
'node_modules/leaflet/dist/leaflet.css',
|
|
'node_modules/leaflet.markercluster/dist/MarkerCluster.css',
|
|
'node_modules/leaflet.markercluster/dist/MarkerCluster.Default.css',
|
|
'node_modules/leaflet.locatecontrol/dist/L.Control.Locate.min.css',
|
|
'node_modules/mapbox-gl/dist/mapbox-gl.css',
|
|
'node_modules/framework7/js/framework7.bundle.min.js',
|
|
'node_modules/jquery/dist/jquery.min.js',
|
|
'node_modules/leaflet/dist/leaflet.js',
|
|
'node_modules/leaflet.markercluster/dist/leaflet.markercluster.js',
|
|
'node_modules/mapbox-gl/dist/mapbox-gl.js',
|
|
'node_modules/jsbarcode/dist/JsBarcode.all.min.js',
|
|
'node_modules/leaflet.locatecontrol/dist/L.Control.Locate.min.js',
|
|
'node_modules/@zxing/library/umd/index.min.js',
|
|
'node_modules/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf',
|
|
'node_modules/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff',
|
|
'node_modules/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2',
|
|
'node_modules/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf',
|
|
'node_modules/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff',
|
|
'node_modules/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2',
|
|
'node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf',
|
|
'node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff',
|
|
'node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2',
|
|
'node_modules/material-design-icons/iconfont/MaterialIcons-Regular.ttf',
|
|
'node_modules/material-design-icons/iconfont/MaterialIcons-Regular.woff',
|
|
'node_modules/material-design-icons/iconfont/MaterialIcons-Regular.woff2'
|
|
];
|
|
for (i in SETTINGS.maptileurls) {
|
|
cachedurls.push(SETTINGS.maptileurls[i].json);
|
|
}
|
|
|
|
for (i in SETTINGS.alertsounds) {
|
|
cachedurls.push("assets/audio/" + SETTINGS.alertsounds[i].file);
|
|
}
|
|
|
|
for (i in SETTINGS.weathericons) {
|
|
cachedurls.push("assets/images/weather-" + SETTINGS.weathericons[i] + ".svg");
|
|
}
|
|
|
|
var cacheFilled = false;
|
|
|
|
function fillCache(cachename) {
|
|
if ('caches' in window) {
|
|
// delete old caches
|
|
caches.keys().then(function (cacheNames) {
|
|
return Promise.all(cacheNames.map(function (oldCacheName) {
|
|
if (oldCacheName != cachename) {
|
|
return caches.delete(oldCacheName);
|
|
}
|
|
}));
|
|
});
|
|
|
|
cacheFilled = true; // assume good
|
|
caches.open(cachename).then(function (cache) {
|
|
for (i in cachedurls) {
|
|
try {
|
|
cache.add(cachedurls[i]);
|
|
} catch (ex) {
|
|
cacheFilled = false;
|
|
}
|
|
}
|
|
});
|
|
|
|
// Do it again in a little while
|
|
if (!cacheFilled) {
|
|
setTimeout(function () {
|
|
fillCache(cachename);
|
|
}, 1000 * 30);
|
|
}
|
|
}
|
|
}
|
|
|
|
async function clearAllCaches() {
|
|
const keys = await caches.keys();
|
|
|
|
for (const key of keys) {
|
|
caches.delete(key);
|
|
}
|
|
} |