aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--templates/web/base/common_scripts.html2
-rw-r--r--templates/web/base/offline/service_worker.html2
-rw-r--r--web/vendor/idb-keyval-iife.min.js1
3 files changed, 3 insertions, 2 deletions
diff --git a/templates/web/base/common_scripts.html b/templates/web/base/common_scripts.html
index f94b3d464..b8c4db343 100644
--- a/templates/web/base/common_scripts.html
+++ b/templates/web/base/common_scripts.html
@@ -46,7 +46,7 @@ IF c.user_exists AND (c.user.from_body OR c.user.is_superuser);
END;
IF c.user.has_body_permission_to('planned_reports');
scripts.push(
- 'https://cdn.jsdelivr.net/npm/idb-keyval@3/dist/idb-keyval-iife.min.js',
+ version('/vendor/idb-keyval-iife.min.js'),
version('/cobrands/fixmystreet/offline.js'),
);
END;
diff --git a/templates/web/base/offline/service_worker.html b/templates/web/base/offline/service_worker.html
index 0feb26ce6..3c480f9b1 100644
--- a/templates/web/base/offline/service_worker.html
+++ b/templates/web/base/offline/service_worker.html
@@ -6,7 +6,7 @@ SET scripts_seen = {};
~%]
-importScripts('https://cdn.jsdelivr.net/npm/idb-keyval@3/dist/idb-keyval-iife.min.js');
+importScripts('[% version('/vendor/idb-keyval-iife.min.js') %]');
const requiredOffline = [
"[% version('/cobrands/' _ c.cobrand.asset_moniker _ '/base.css') %]",
diff --git a/web/vendor/idb-keyval-iife.min.js b/web/vendor/idb-keyval-iife.min.js
new file mode 100644
index 000000000..067a966f6
--- /dev/null
+++ b/web/vendor/idb-keyval-iife.min.js
@@ -0,0 +1 @@
+var idbKeyval=function(e){"use strict";class t{constructor(e="keyval-store",t="keyval"){this.storeName=t,this._dbp=new Promise((r,n)=>{const o=indexedDB.open(e,1);o.onerror=(()=>n(o.error)),o.onsuccess=(()=>r(o.result)),o.onupgradeneeded=(()=>{o.result.createObjectStore(t)})})}_withIDBStore(e,t){return this._dbp.then(r=>new Promise((n,o)=>{const s=r.transaction(this.storeName,e);s.oncomplete=(()=>n()),s.onabort=s.onerror=(()=>o(s.error)),t(s.objectStore(this.storeName))}))}}let r;function n(){return r||(r=new t),r}return e.Store=t,e.get=function(e,t=n()){let r;return t._withIDBStore("readonly",t=>{r=t.get(e)}).then(()=>r.result)},e.set=function(e,t,r=n()){return r._withIDBStore("readwrite",r=>{r.put(t,e)})},e.del=function(e,t=n()){return t._withIDBStore("readwrite",t=>{t.delete(e)})},e.clear=function(e=n()){return e._withIDBStore("readwrite",e=>{e.clear()})},e.keys=function(e=n()){const t=[];return e._withIDBStore("readonly",e=>{(e.openKeyCursor||e.openCursor).call(e).onsuccess=function(){this.result&&(t.push(this.result.key),this.result.continue())}}).then(()=>t)},e}({}); \ No newline at end of file