aboutsummaryrefslogtreecommitdiffhomepage
path: root/ui/static
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2018-08-25 12:21:54 -0700
committerGravatar Frédéric Guillot <fred@miniflux.net>2018-08-25 12:21:54 -0700
commit551b73acfb6ed4620387c7345b117d32697deb77 (patch)
tree4c46ec045da34d03a3e8230e25e48e0237f0685c /ui/static
parentfebce4f2e3a86da4171783fcc593b25a807c3da8 (diff)
Add remove button in feed edit page
Diffstat (limited to 'ui/static')
-rw-r--r--ui/static/js.go6
-rw-r--r--ui/static/js/bootstrap.js1
-rw-r--r--ui/static/js/confirm_handler.js14
3 files changed, 15 insertions, 6 deletions
diff --git a/ui/static/js.go b/ui/static/js.go
index 555bec6..bd50873 100644
--- a/ui/static/js.go
+++ b/ui/static/js.go
@@ -56,8 +56,8 @@ static saveEntry(element){if(element.dataset.completed){return;}
element.innerHTML=element.dataset.labelLoading;let request=new RequestBuilder(element.dataset.saveUrl);request.withCallback(()=>{element.innerHTML=element.dataset.labelDone;element.dataset.completed=true;});request.execute();}
static fetchOriginalContent(element){if(element.dataset.completed){return;}
element.innerHTML=element.dataset.labelLoading;let request=new RequestBuilder(element.dataset.fetchContentUrl);request.withCallback((response)=>{element.innerHTML=element.dataset.labelDone;element.dataset.completed=true;response.json().then((data)=>{if(data.hasOwnProperty("content")){document.querySelector(".entry-content").innerHTML=data.content;}});});request.execute();}}
-class ConfirmHandler{remove(url){let request=new RequestBuilder(url);request.withCallback(()=>window.location.reload());request.execute();}
-handle(event){let questionElement=document.createElement("span");let linkElement=event.target;let containerElement=linkElement.parentNode;linkElement.style.display="none";let yesElement=document.createElement("a");yesElement.href="#";yesElement.appendChild(document.createTextNode(linkElement.dataset.labelYes));yesElement.onclick=(event)=>{event.preventDefault();let loadingElement=document.createElement("span");loadingElement.className="loading";loadingElement.appendChild(document.createTextNode(linkElement.dataset.labelLoading));questionElement.remove();containerElement.appendChild(loadingElement);this.remove(linkElement.dataset.url);};let noElement=document.createElement("a");noElement.href="#";noElement.appendChild(document.createTextNode(linkElement.dataset.labelNo));noElement.onclick=(event)=>{event.preventDefault();linkElement.style.display="inline";questionElement.remove();};questionElement.className="confirm";questionElement.appendChild(document.createTextNode(linkElement.dataset.labelQuestion+" "));questionElement.appendChild(yesElement);questionElement.appendChild(document.createTextNode(", "));questionElement.appendChild(noElement);containerElement.appendChild(questionElement);}}
+class ConfirmHandler{executeRequest(url,redirectURL){let request=new RequestBuilder(url);request.withCallback(()=>{if(redirectURL){window.location.href=redirectURL;}else{window.location.reload();}});request.execute();}
+handle(event){let questionElement=document.createElement("span");let linkElement=event.target;let containerElement=linkElement.parentNode;linkElement.style.display="none";let yesElement=document.createElement("a");yesElement.href="#";yesElement.appendChild(document.createTextNode(linkElement.dataset.labelYes));yesElement.onclick=(event)=>{event.preventDefault();let loadingElement=document.createElement("span");loadingElement.className="loading";loadingElement.appendChild(document.createTextNode(linkElement.dataset.labelLoading));questionElement.remove();containerElement.appendChild(loadingElement);this.executeRequest(linkElement.dataset.url,linkElement.dataset.redirectUrl);};let noElement=document.createElement("a");noElement.href="#";noElement.appendChild(document.createTextNode(linkElement.dataset.labelNo));noElement.onclick=(event)=>{event.preventDefault();linkElement.style.display="inline";questionElement.remove();};questionElement.className="confirm";questionElement.appendChild(document.createTextNode(linkElement.dataset.labelQuestion+" "));questionElement.appendChild(yesElement);questionElement.appendChild(document.createTextNode(", "));questionElement.appendChild(noElement);containerElement.appendChild(questionElement);}}
class MenuHandler{clickMenuListItem(event){let element=event.target;if(element.tagName==="A"){window.location.href=element.getAttribute("href");}else{window.location.href=element.querySelector("a").getAttribute("href");}}
toggleMainMenu(){let menu=document.querySelector(".header nav ul");if(DomHelper.isVisible(menu)){menu.style.display="none";}else{menu.style.display="block";}
let searchElement=document.querySelector(".header .search");if(DomHelper.isVisible(searchElement)){searchElement.style.display="none";}else{searchElement.style.display="block";}}}
@@ -97,6 +97,6 @@ if("serviceWorker"in navigator){let scriptElement=document.getElementById("servi
}
var JavascriptsChecksums = map[string]string{
- "app": "438cad66af283a59cee674615c851ca105d22be5c92224351574b82716cf5cee",
+ "app": "4c73b3157f06d6b6689daaa8d0ecb7ea4e12945fff16d28bdf6da02ec4aca72c",
"sw": "55fffa223919cc18572788fb9c62fccf92166c0eb5d3a1d6f91c31f24d020be9",
}
diff --git a/ui/static/js/bootstrap.js b/ui/static/js/bootstrap.js
index bd3b09e..3e9004f 100644
--- a/ui/static/js/bootstrap.js
+++ b/ui/static/js/bootstrap.js
@@ -58,6 +58,7 @@ document.addEventListener("DOMContentLoaded", function() {
});
mouseHandler.onClick("a[data-on-click=markPageAsRead]", () => navHandler.markPageAsRead());
+
mouseHandler.onClick("a[data-confirm]", (event) => {
(new ConfirmHandler()).handle(event);
});
diff --git a/ui/static/js/confirm_handler.js b/ui/static/js/confirm_handler.js
index 9fe9133..c0147cd 100644
--- a/ui/static/js/confirm_handler.js
+++ b/ui/static/js/confirm_handler.js
@@ -1,7 +1,15 @@
class ConfirmHandler {
- remove(url) {
+ executeRequest(url, redirectURL) {
let request = new RequestBuilder(url);
- request.withCallback(() => window.location.reload());
+
+ request.withCallback(() => {
+ if (redirectURL) {
+ window.location.href = redirectURL;
+ } else {
+ window.location.reload();
+ }
+ });
+
request.execute();
}
@@ -24,7 +32,7 @@ class ConfirmHandler {
questionElement.remove();
containerElement.appendChild(loadingElement);
- this.remove(linkElement.dataset.url);
+ this.executeRequest(linkElement.dataset.url, linkElement.dataset.redirectUrl);
};
let noElement = document.createElement("a");