Making Share Target functional

This commit is contained in:
Fabian
2019-06-03 16:51:11 +02:00
parent 7917a628ef
commit 31d9f99b77
13 changed files with 114 additions and 88 deletions

View File

@ -3,10 +3,9 @@
"name": "Secure Notes",
"decription": "A place to store your notes securly",
"share_target": {
"url_template": "/#/share?title={title}&text={text}&url={url}",
"action": "/share",
"method": "GET",
"enctype": "application/x-www-form-urlencoded",
"action": "/",
"params": {
"title": "title",
"text": "text",

View File

@ -6,6 +6,7 @@ const CACHE = "offline";
let precacheFiles = [
"/",
"/index.html",
"/main.js",
"/main.css",
"/serviceworker.js"
@ -46,6 +47,7 @@ var Types;
Types[Types["CACHE"] = 0] = "CACHE";
Types[Types["NOCACHE"] = 1] = "NOCACHE";
Types[Types["REFRESH"] = 2] = "REFRESH";
Types[Types["INDEX"] = 3] = "INDEX";
})(Types || (Types = {}));
let rules = [{
@ -53,6 +55,11 @@ let rules = [{
return url.indexOf("/api/") >= 0;
},
type: Types.NOCACHE
}, {
match: (url) => {
return url.indexOf("/share") >= 0;
},
type: Types.INDEX
},
{
match: () => {
@ -77,6 +84,11 @@ self.addEventListener('fetch', (evt) => {
});
case Types.NOCACHE:
return fetch(evt.request);
case Types.INDEX:
return refresh(new Request("/")).then(r => {
evt.waitUntil(r.refresh.catch(_ => {}));
return r.result;
})
}
})());
});