fix counters not being updated

This commit is contained in:
Andrew Dolgov 2013-05-07 16:28:49 +04:00
parent 69970d5b88
commit 8d4b5b466a
2 changed files with 45 additions and 1 deletions

View File

@ -186,13 +186,38 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
ctr = dojo.doc.createElement('span');
ctr.className = 'counterNode';
ctr.innerHTML = '0';
ctr.innerHTML = args.item.unread;
args.item.unread > 0 ? ctr.addClassName("unread") : ctr.removeClassName("unread");
dojo.place(ctr, tnode.labelNode, 'after');
tnode.counterNode = ctr;
//tnode.labelNode.innerHTML = args.label;
return tnode;
},
postCreate: function() {
this.connect(this.model, "onChange", "updateCounter");
this.inherited(arguments);
},
updateCounter: function (item) {
var tree = this;
//console.log("updateCounter: " + item.id[0] + " " + item.unread + " " + tree);
var node = tree._itemNodesMap[item.id];
if (node) {
node = node[0];
if (node.counterNode) {
node.counterNode.innerHTML = item.unread;
item.unread > 0 ? node.counterNode.addClassName("unread") : node.counterNode.removeClassName("unread");
}
}
},
getTooltip: function (item) {
if (item.updated)
return item.updated;

View File

@ -1032,3 +1032,22 @@ div.hl.active a.title {
height : 100%;
overflow-x : hidden;
}
#feedTree span.counterNode {
display : none;
}
#feedTree span.counterNode.unread {
font-weight : bold;
display : inline-block;
font-size : 9px;
text-align : center;
border : 1px solid #88b0f0;
color : white;
background : #88b0f0;
border-radius : 4px;
padding : 0px 4px 0px 4px;
vertical-align : middle;
}