aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rwxr-xr-xlocale/translations.go5
-rw-r--r--locale/translations/fr_FR.json3
-rw-r--r--template/html/edit_feed.html11
-rw-r--r--template/views.go13
-rw-r--r--ui/static/js.go6
-rw-r--r--ui/static/js/bootstrap.js1
-rw-r--r--ui/static/js/confirm_handler.js14
7 files changed, 43 insertions, 10 deletions
diff --git a/locale/translations.go b/locale/translations.go
index c1174e4..09fdb3d 100755
--- a/locale/translations.go
+++ b/locale/translations.go
@@ -500,7 +500,8 @@ var translations = map[string]string{
"There is no result for this search.": "Il n'y a aucun résultat pour cette recherche.",
"Search...": "Recherche...",
"Set focus on search form": "Mettre le focus sur le champ de recherche",
- "Search": "Recherche"
+ "Search": "Recherche",
+ "Remove this feed": "Supprimer cet abonnement"
}
`,
"nl_NL": `{
@@ -1175,7 +1176,7 @@ var translations = map[string]string{
var translationsChecksums = map[string]string{
"de_DE": "c87a08365c81ec478d705d8e1110cd1b864476d35b5b281f1e76e7a21afc1ae7",
"en_US": "6fe95384260941e8a5a3c695a655a932e0a8a6a572c1e45cb2b1ae8baa01b897",
- "fr_FR": "343a148eed375a593023c30597ef7280d18222756c5062e6a85e1006c7b12d14",
+ "fr_FR": "c61316e5862fc9d7118bb555679714200b3a5c560241e755ade8f85fcdcb3fdb",
"nl_NL": "05cca4936bd3b0fa44057c4dab64acdef3aed32fbb682393f254cfe2f686ef1f",
"pl_PL": "2295f35a98c8f60cfc6bab241d26b224c06979cc9ca3740bb89c63c7596a0431",
"zh_CN": "f5fb0a9b7336c51e74d727a2fb294bab3514e3002376da7fd904e0d7caed1a1c",
diff --git a/locale/translations/fr_FR.json b/locale/translations/fr_FR.json
index 534432c..5ef2ce7 100644
--- a/locale/translations/fr_FR.json
+++ b/locale/translations/fr_FR.json
@@ -240,5 +240,6 @@
"There is no result for this search.": "Il n'y a aucun résultat pour cette recherche.",
"Search...": "Recherche...",
"Set focus on search form": "Mettre le focus sur le champ de recherche",
- "Search": "Recherche"
+ "Search": "Recherche",
+ "Remove this feed": "Supprimer cet abonnement"
}
diff --git a/template/html/edit_feed.html b/template/html/edit_feed.html
index 41c3c80..9c57590 100644
--- a/template/html/edit_feed.html
+++ b/template/html/edit_feed.html
@@ -85,6 +85,17 @@
<li><strong>{{ t "LastModified header:" }} </strong>{{ if .feed.LastModifiedHeader }}{{ .feed.LastModifiedHeader }}{{ else }}{{ t "None" }}{{ end }}</li>
</ul>
</div>
+
+ <div class="alert alert-error">
+ <a href="#"
+ data-confirm="true"
+ data-label-question="{{ t "Are you sure?" }}"
+ data-label-yes="{{ t "yes" }}"
+ data-label-no="{{ t "no" }}"
+ data-label-loading="{{ t "Work in progress..." }}"
+ data-url="{{ route "removeFeed" "feedID" .feed.ID }}"
+ data-redirect-url="{{ route "feeds" }}">{{ t "Remove this feed" }}</a>
+ </div>
{{ end }}
{{ end }} \ No newline at end of file
diff --git a/template/views.go b/template/views.go
index 2912f22..1591b69 100644
--- a/template/views.go
+++ b/template/views.go
@@ -471,6 +471,17 @@ var templateViewsMap = map[string]string{
<li><strong>{{ t "LastModified header:" }} </strong>{{ if .feed.LastModifiedHeader }}{{ .feed.LastModifiedHeader }}{{ else }}{{ t "None" }}{{ end }}</li>
</ul>
</div>
+
+ <div class="alert alert-error">
+ <a href="#"
+ data-confirm="true"
+ data-label-question="{{ t "Are you sure?" }}"
+ data-label-yes="{{ t "yes" }}"
+ data-label-no="{{ t "no" }}"
+ data-label-loading="{{ t "Work in progress..." }}"
+ data-url="{{ route "removeFeed" "feedID" .feed.ID }}"
+ data-redirect-url="{{ route "feeds" }}">{{ t "Remove this feed" }}</a>
+ </div>
{{ end }}
{{ end }}`,
@@ -1320,7 +1331,7 @@ var templateViewsMapChecksums = map[string]string{
"create_category": "2b82af5d2dcd67898dc5daa57a6461e6ff8121a6089b2a2a1be909f35e4a2275",
"create_user": "1ef0a1f9bf119d44929c81f13073a257d69650cf5064960cf06a63fe51923e86",
"edit_category": "cee720faadcec58289b707ad30af623d2ee66c1ce23a732965463250d7ff41c5",
- "edit_feed": "992e315c244da588d5e9e6912d12d933534c2a86e8e771e7dbd5908564abf616",
+ "edit_feed": "1a8e342e4fac80e8b9c73537c7fe8aaf7f9e3e7af22f411927010897dd37e9c3",
"edit_user": "7373e09f805e6c017167001519b9feb04226be6c81c2875cbacd5ce94f2c24bf",
"entry": "c838ae7f19d775d473ee92c4999eb28a5063869411c834d26a3f4b686ce88dbf",
"feed_entries": "76e7e32cdd6552304e38931459fe12cefdb5354f65a7ac3bbed52a2979896d3e",
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");