diff options
Diffstat (limited to 'ui/static/js/entry_handler.js')
-rw-r--r-- | ui/static/js/entry_handler.js | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/ui/static/js/entry_handler.js b/ui/static/js/entry_handler.js deleted file mode 100644 index 6392aef..0000000 --- a/ui/static/js/entry_handler.js +++ /dev/null @@ -1,100 +0,0 @@ -class EntryHandler { - static updateEntriesStatus(entryIDs, status, callback) { - let url = document.body.dataset.entriesStatusUrl; - let request = new RequestBuilder(url); - request.withBody({entry_ids: entryIDs, status: status}); - request.withCallback(callback); - request.execute(); - - if (status === "read") { - UnreadCounterHandler.decrement(1); - } else { - UnreadCounterHandler.increment(1); - } - } - - static toggleEntryStatus(element) { - let entryID = parseInt(element.dataset.id, 10); - let link = element.querySelector("a[data-toggle-status]"); - - let currentStatus = link.dataset.value; - let newStatus = currentStatus === "read" ? "unread" : "read"; - - this.updateEntriesStatus([entryID], newStatus); - - 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) { - element.innerHTML = element.dataset.labelLoading; - - let request = new RequestBuilder(element.dataset.bookmarkUrl); - request.withCallback(() => { - if (element.dataset.value === "star") { - element.innerHTML = element.dataset.labelStar; - element.dataset.value = "unstar"; - } else { - element.innerHTML = element.dataset.labelUnstar; - element.dataset.value = "star"; - } - }); - request.execute(); - } - - static markEntryAsRead(element) { - if (element.classList.contains("item-status-unread")) { - element.classList.remove("item-status-unread"); - element.classList.add("item-status-read"); - - let entryID = parseInt(element.dataset.id, 10); - this.updateEntriesStatus([entryID], "read"); - } - } - - 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(); - } -} |