aboutsummaryrefslogtreecommitdiffhomepage
path: root/ui/static/js/entry_handler.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/static/js/entry_handler.js')
-rw-r--r--ui/static/js/entry_handler.js30
1 files changed, 10 insertions, 20 deletions
diff --git a/ui/static/js/entry_handler.js b/ui/static/js/entry_handler.js
index 25d45c7..6392aef 100644
--- a/ui/static/js/entry_handler.js
+++ b/ui/static/js/entry_handler.js
@@ -15,35 +15,25 @@ class EntryHandler {
static toggleEntryStatus(element) {
let entryID = parseInt(element.dataset.id, 10);
- let statuses = {read: "unread", unread: "read"};
+ let link = element.querySelector("a[data-toggle-status]");
- for (let currentStatus in statuses) {
- let newStatus = statuses[currentStatus];
+ let currentStatus = link.dataset.value;
+ let newStatus = currentStatus === "read" ? "unread" : "read";
- if (element.classList.contains("item-status-" + currentStatus)) {
- element.classList.remove("item-status-" + currentStatus);
- element.classList.add("item-status-" + newStatus);
+ this.updateEntriesStatus([entryID], newStatus);
- this.updateEntriesStatus([entryID], newStatus);
-
- let link = element.querySelector("a[data-toggle-status]");
- if (link) {
- this.toggleLinkStatus(link);
- }
-
- break;
- }
- }
- }
-
- static toggleLinkStatus(link) {
- if (link.dataset.value === "read") {
+ if (currentStatus === "read") {
link.innerHTML = link.dataset.labelRead;
link.dataset.value = "unread";
} else {
link.innerHTML = link.dataset.labelUnread;
link.dataset.value = "read";
}
+
+ if (element.classList.contains("item-status-" + currentStatus)) {
+ element.classList.remove("item-status-" + currentStatus);
+ element.classList.add("item-status-" + newStatus);
+ }
}
static toggleBookmark(element) {