From a403a08c11bfb458fa60450f37b3b8ea9b1d240e Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Wed, 20 Mar 2013 22:32:10 -0400 Subject: [PATCH] mark as read when "direct link" is clicked --- miniflux/assets/js/app.js | 27 +++++++++++++++++++++++++-- miniflux/index.php | 10 ++++++++++ miniflux/templates/app_header.php | 2 +- miniflux/templates/unread_items.php | 4 ++-- 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/miniflux/assets/js/app.js b/miniflux/assets/js/app.js index e5dbf22..9250382 100644 --- a/miniflux/assets/js/app.js +++ b/miniflux/assets/js/app.js @@ -5,6 +5,25 @@ var queue_length = 5; + function mark_as_read(item_id) + { + var request = new XMLHttpRequest(); + + request.onload = function() { + + var article = document.getElementById("item-" + item_id); + + if (article) { + + article.style.display = "none"; + } + }; + + request.open("POST", "?action=read&id=" + item_id, true); + request.send(); + } + + function show_refresh_icon(feed_id) { var container = document.getElementById("loading-feed-" + feed_id); @@ -124,16 +143,20 @@ if (action) { - e.preventDefault(); - switch (action) { case 'refresh-all': + e.preventDefault(); refresh_all(); break; case 'refresh-feed': + e.preventDefault(); var feed_id = e.target.getAttribute("data-feed-id"); refresh_feed(feed_id); break; + case 'mark-read': + var item_id = e.target.getAttribute("data-item-id"); + mark_as_read(item_id); + break; } } }; diff --git a/miniflux/index.php b/miniflux/index.php index d156635..872e0cc 100644 --- a/miniflux/index.php +++ b/miniflux/index.php @@ -86,6 +86,16 @@ Router\get_action('read', function() { }); +Router\post_action('read', function() { + + $id = Request\param('id'); + + Model\set_item_read($id); + + Response\json(array('Ok')); +}); + + Router\get_action('history', function() { Response\html(Template\layout('read_items', array( diff --git a/miniflux/templates/app_header.php b/miniflux/templates/app_header.php index fcd81d2..343850e 100644 --- a/miniflux/templates/app_header.php +++ b/miniflux/templates/app_header.php @@ -5,7 +5,7 @@ miniflux - +
diff --git a/miniflux/templates/unread_items.php b/miniflux/templates/unread_items.php index 1789ef2..decc987 100644 --- a/miniflux/templates/unread_items.php +++ b/miniflux/templates/unread_items.php @@ -13,14 +13,14 @@
-