From b685ba25b732b41e1a493bb55ce3141d56572452 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 20 Aug 2007 13:37:46 +0100 Subject: properly request counters when starring/publishing article --- viewfeed.js | 138 +++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 76 insertions(+), 62 deletions(-) diff --git a/viewfeed.js b/viewfeed.js index b507b62e8..a9a413acb 100644 --- a/viewfeed.js +++ b/viewfeed.js @@ -374,70 +374,79 @@ function tPub_afh_off(effect) { function toggleMark(id) { - if (!xmlhttp_ready(xmlhttp_rpc)) { - printLockingError(); - return; - } - - var query = "backend.php?op=rpc&id=" + id + "&subop=mark"; - - query = query + "&afid=" + getActiveFeedId(); - - if (tagsAreDisplayed()) { - query = query + "&omode=tl"; - } else { - query = query + "&omode=flc"; - } - - var mark_img = document.getElementById("FMPIC-" + id); - var vfeedu = document.getElementById("FEEDU--1"); - var crow = document.getElementById("RROW-" + id); - - if (mark_img.alt != "Reset mark") { - mark_img.src = "images/mark_set.png"; - mark_img.alt = "Reset mark"; - query = query + "&mark=1"; + try { - if (vfeedu && crow.className.match("Unread")) { - vfeedu.innerHTML = (+vfeedu.innerHTML) + 1; + if (!xmlhttp_ready(xmlhttp_rpc)) { + printLockingError(); + return; } - - } else { - //mark_img.src = "images/mark_unset.png"; - mark_img.alt = "Please wait..."; - query = query + "&mark=0"; - - if (vfeedu && crow.className.match("Unread")) { - vfeedu.innerHTML = (+vfeedu.innerHTML) - 1; + + var query = "backend.php?op=rpc&id=" + id + "&subop=mark"; + + query = query + "&afid=" + getActiveFeedId(); + + if (tagsAreDisplayed()) { + query = query + "&omode=tl"; + } else { + query = query + "&omode=flc"; } - - if (document.getElementById("headlinesList")) { - Effect.Puff(mark_img, {duration : 0.25, afterFinish: tMark_afh_off}); - } else { - mark_img.src = "images/mark_unset.png"; - mark_img.alt = "Set mark"; + + var mark_img = document.getElementById("FMPIC-" + id); + var vfeedu = document.getElementById("FEEDU--1"); + var crow = document.getElementById("RROW-" + id); + + if (mark_img.alt != "Reset mark") { + mark_img.src = "images/mark_set.png"; + mark_img.alt = "Reset mark"; + query = query + "&mark=1"; + +/* if (vfeedu && crow.className.match("Unread")) { + vfeedu.innerHTML = (+vfeedu.innerHTML) + 1; + } */ + + } else { + //mark_img.src = "images/mark_unset.png"; + mark_img.alt = "Please wait..."; + query = query + "&mark=0"; + +/* if (vfeedu && crow.className.match("Unread")) { + vfeedu.innerHTML = (+vfeedu.innerHTML) - 1; + } */ + + if (document.getElementById("headlinesList")) { + Effect.Puff(mark_img, {duration : 0.25, afterFinish: tMark_afh_off}); + } else { + mark_img.src = "images/mark_unset.png"; + mark_img.alt = "Set mark"; + } } - } - - var vfeedctr = document.getElementById("FEEDCTR--1"); - var vfeedr = document.getElementById("FEEDR--1"); - - if (vfeedu && vfeedctr) { - if ((+vfeedu.innerHTML) > 0) { - if (crow.className.match("Unread") && !vfeedr.className.match("Unread")) { - vfeedr.className = vfeedr.className + "Unread"; - vfeedctr.className = "odd"; + +/* var vfeedctr = document.getElementById("FEEDCTR--1"); + var vfeedr = document.getElementById("FEEDR--1"); + + if (vfeedu && vfeedctr) { + if ((+vfeedu.innerHTML) > 0) { + if (crow.className.match("Unread") && !vfeedr.className.match("Unread")) { + vfeedr.className = vfeedr.className + "Unread"; + vfeedctr.className = "odd"; + } + } else { + vfeedctr.className = "invisible"; + vfeedr.className = vfeedr.className.replace("Unread", ""); } - } else { - vfeedctr.className = "invisible"; - vfeedr.className = vfeedr.className.replace("Unread", ""); } - } - - debug("toggle starred for aid " + id); + + debug("toggle starred for aid " + id); + + //new Ajax.Request(query); */ - new Ajax.Request(query); + xmlhttp_rpc.open("GET", query, true); + xmlhttp_rpc.onreadystatechange=all_counters_callback; + xmlhttp_rpc.send(null); + } catch (e) { + exception_error("toggleMark", e); + } } function togglePub(id) { @@ -468,18 +477,18 @@ function togglePub(id) { mark_img.alt = "Unpublish"; query = query + "&pub=1"; - if (vfeedu && crow.className.match("Unread")) { +/* if (vfeedu && crow.className.match("Unread")) { vfeedu.innerHTML = (+vfeedu.innerHTML) + 1; - } + } */ } else { //mark_img.src = "images/pub_unset.png"; mark_img.alt = "Please wait..."; query = query + "&pub=0"; - if (vfeedu && crow.className.match("Unread")) { +/* if (vfeedu && crow.className.match("Unread")) { vfeedu.innerHTML = (+vfeedu.innerHTML) - 1; - } + } */ if (document.getElementById("headlinesList")) { Effect.Puff(mark_img, {duration : 0.25, afterFinish: tPub_afh_off}); @@ -489,7 +498,7 @@ function togglePub(id) { } } - var vfeedctr = document.getElementById("FEEDCTR--2"); +/* var vfeedctr = document.getElementById("FEEDCTR--2"); var vfeedr = document.getElementById("FEEDR--2"); if (vfeedu && vfeedctr) { @@ -506,7 +515,12 @@ function togglePub(id) { debug("toggle published for aid " + id); - new Ajax.Request(query); + new Ajax.Request(query); */ + + xmlhttp_rpc.open("GET", query, true); + xmlhttp_rpc.onreadystatechange=all_counters_callback; + xmlhttp_rpc.send(null); + } catch (e) { exception_error("togglePub", e); -- cgit v1.2.3