implement additional counter mode for virtual feeds when there's 0 unread articles
This commit is contained in:
parent
96ce71f35f
commit
c594eca0de
|
@ -54,6 +54,7 @@ class Pref_Feeds extends Handler_Protected {
|
|||
$cat['type'] = 'category';
|
||||
$cat['unread'] = 0;
|
||||
$cat['child_unread'] = 0;
|
||||
$cat['auxcounter'] = 0;
|
||||
|
||||
$cat['items'] = $this->get_category_items($line['id']);
|
||||
|
||||
|
@ -74,6 +75,7 @@ class Pref_Feeds extends Handler_Protected {
|
|||
$feed = array();
|
||||
$feed['id'] = 'FEED:' . $feed_line['id'];
|
||||
$feed['bare_id'] = (int)$feed_line['id'];
|
||||
$feed['auxcounter'] = 0;
|
||||
$feed['name'] = $feed_line['title'];
|
||||
$feed['checkbox'] = false;
|
||||
$feed['unread'] = 0;
|
||||
|
@ -132,6 +134,7 @@ class Pref_Feeds extends Handler_Protected {
|
|||
$item = array();
|
||||
$item['id'] = 'FEED:' . $feed_id;
|
||||
$item['bare_id'] = (int)$feed_id;
|
||||
$item['auxcounter'] = 0;
|
||||
$item['name'] = $feed['title'];
|
||||
$item['checkbox'] = false;
|
||||
$item['error'] = '';
|
||||
|
@ -193,6 +196,7 @@ class Pref_Feeds extends Handler_Protected {
|
|||
$cat = array();
|
||||
$cat['id'] = 'CAT:' . $line['id'];
|
||||
$cat['bare_id'] = (int)$line['id'];
|
||||
$cat['auxcounter'] = 0;
|
||||
$cat['name'] = $line['title'];
|
||||
$cat['items'] = array();
|
||||
$cat['checkbox'] = false;
|
||||
|
@ -215,6 +219,7 @@ class Pref_Feeds extends Handler_Protected {
|
|||
$cat = array();
|
||||
$cat['id'] = 'CAT:0';
|
||||
$cat['bare_id'] = 0;
|
||||
$cat['auxcounter'] = 0;
|
||||
$cat['name'] = __("Uncategorized");
|
||||
$cat['items'] = array();
|
||||
$cat['type'] = 'category';
|
||||
|
@ -232,6 +237,7 @@ class Pref_Feeds extends Handler_Protected {
|
|||
$feed = array();
|
||||
$feed['id'] = 'FEED:' . $feed_line['id'];
|
||||
$feed['bare_id'] = (int)$feed_line['id'];
|
||||
$feed['auxcounter'] = 0;
|
||||
$feed['name'] = $feed_line['title'];
|
||||
$feed['checkbox'] = false;
|
||||
$feed['error'] = $feed_line['last_error'];
|
||||
|
@ -263,6 +269,7 @@ class Pref_Feeds extends Handler_Protected {
|
|||
$feed = array();
|
||||
$feed['id'] = 'FEED:' . $feed_line['id'];
|
||||
$feed['bare_id'] = (int)$feed_line['id'];
|
||||
$feed['auxcounter'] = 0;
|
||||
$feed['name'] = $feed_line['title'];
|
||||
$feed['checkbox'] = false;
|
||||
$feed['error'] = $feed_line['last_error'];
|
||||
|
@ -1541,6 +1548,7 @@ class Pref_Feeds extends Handler_Protected {
|
|||
$obj['updated'] = $updated;
|
||||
$obj['icon'] = getFeedIcon($feed_id);
|
||||
$obj['bare_id'] = $feed_id;
|
||||
$obj['auxcounter'] = 0;
|
||||
|
||||
return $obj;
|
||||
}
|
||||
|
|
|
@ -1459,8 +1459,14 @@
|
|||
|
||||
$count = getFeedUnread($i);
|
||||
|
||||
if ($i == 0 || $i == -1 || $i == -2)
|
||||
$auxctr = getFeedArticles($i, false);
|
||||
else
|
||||
$auxctr = 0;
|
||||
|
||||
$cv = array("id" => $i,
|
||||
"counter" => (int) $count);
|
||||
"counter" => (int) $count,
|
||||
"auxcounter" => $auxctr);
|
||||
|
||||
// if (get_pref('EXTENDED_FEEDLIST'))
|
||||
// $cv["xmsg"] = getFeedArticles($i)." ".__("total");
|
||||
|
|
|
@ -186,11 +186,13 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
|
|||
|
||||
ctr = dojo.doc.createElement('span');
|
||||
ctr.className = 'counterNode';
|
||||
ctr.innerHTML = args.item.unread;
|
||||
ctr.innerHTML = args.item.unread > 0 ? args.item.unread : args.item.auxcounter;
|
||||
|
||||
//args.item.unread > 0 ? ctr.addClassName("unread") : ctr.removeClassName("unread");
|
||||
|
||||
args.item.unread > 0 ? Element.show(ctr) : Element.hide(ctr);
|
||||
args.item.unread > 0 || args.item.auxcounter > 0 ? Element.show(ctr) : Element.hide(ctr);
|
||||
|
||||
args.item.unread == 0 && args.item.auxcounter > 0 ? ctr.addClassName("aux") : ctr.removeClassName("aux");
|
||||
|
||||
dojo.place(ctr, tnode.rowNode, 'first');
|
||||
tnode.counterNode = ctr;
|
||||
|
@ -218,10 +220,14 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
|
|||
|
||||
if (node.counterNode) {
|
||||
ctr = node.counterNode;
|
||||
ctr.innerHTML = item.unread;
|
||||
item.unread > 0 ? Effect.Appear(ctr, {duration : 0.3,
|
||||
ctr.innerHTML = item.unread > 0 ? item.unread : item.auxcounter;
|
||||
item.unread > 0 || item.auxcounter > 0 ?
|
||||
Effect.Appear(ctr, {duration : 0.3,
|
||||
queue: { position: 'end', scope: 'CAPPEAR-' + item.id, limit: 1 }}) :
|
||||
Element.hide(ctr);
|
||||
|
||||
item.unread == 0 && item.auxcounter > 0 ? ctr.addClassName("aux") : ctr.removeClassName("aux");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -219,6 +219,7 @@ function parse_counters(elems, scheduled_call) {
|
|||
var error = elems[l].error;
|
||||
var has_img = elems[l].has_img;
|
||||
var updated = elems[l].updated;
|
||||
var auxctr = parseInt(elems[l].auxcounter);
|
||||
|
||||
if (id == "global-unread") {
|
||||
global_unread = ctr;
|
||||
|
@ -236,6 +237,7 @@ function parse_counters(elems, scheduled_call) {
|
|||
}
|
||||
|
||||
setFeedUnread(id, (kind == "cat"), ctr);
|
||||
setFeedValue(id, (kind == "cat"), 'auxcounter', auxctr);
|
||||
|
||||
if (kind != "cat") {
|
||||
setFeedValue(id, false, 'error', error);
|
||||
|
|
|
@ -1067,6 +1067,12 @@ div.hl.active {
|
|||
font-family : "Segoe UI", Tahoma, sans-serif;
|
||||
}
|
||||
|
||||
#feedTree .counterNode.aux {
|
||||
background : #f0f0f0;
|
||||
color : #999;
|
||||
border-color : #f0f0f0;
|
||||
}
|
||||
|
||||
#feedTree .counterNode {
|
||||
font-weight : bold;
|
||||
display : inline-block;
|
||||
|
|
Loading…
Reference in New Issue