dojo.require("dijit.Menu");
dojo.declare("fox.FeedStoreModel", dijit.tree.ForestStoreModel, {
+ getItemsInCategory: function (id) {
+ if (!this.store._itemsByIdentity) return undefined;
+
+ cat = this.store._itemsByIdentity['CAT:' + id];
+
+ if (cat && cat.items)
+ return cat.items;
+ else
+ return undefined;
+
+ },
getItemById: function(id) {
return this.store._itemsByIdentity[id];
},
var tmph = dojo.connect(tree, 'onLoad', function() {
dojo.disconnect(tmph);
Element.hide("feedlistLoading");
+ feedlist_init();
// var node = dijit.byId("feedTree")._itemNodesMap['FEED:-2'][0].domNode
// menu.bindDomNode(node);
if (has_local_storage())
localStorage.clear();
- feedlist_init();
setTimeout("timeout()", 3000);
console.log("second stage ok");
}
}
-function selectionRemoveLabel(id) {
+function selectionRemoveLabel(id, ids) {
try {
- var ids = getSelectedArticleIds2();
+ if (!ids) var ids = getSelectedArticleIds2();
if (ids.length == 0) {
alert(__("No articles are selected."));
}
}
-function selectionAssignLabel(id) {
+function selectionAssignLabel(id, ids) {
try {
- var ids = getSelectedArticleIds2();
+ if (!ids) ids = getSelectedArticleIds2();
if (ids.length == 0) {
alert(__("No articles are selected."));
label: __("View in a new tab"),
onClick: function(event) {
hlOpenInNewTab(event, this.getParent().callerRowId);
- }}));
+ }}));
+
+ menu.addChild(new dijit.MenuSeparator());
menu.addChild(new dijit.MenuItem({
label: __("Open original article"),
openArticleInNewWindow(this.getParent().callerRowId);
}}));
+ var labels = dijit.byId("feedTree").model.getItemsInCategory(-2);
+
+ if (labels) {
+
+ menu.addChild(new dijit.MenuSeparator());
+
+ var labelsMenu = new dijit.Menu({ownerMenu: menu});
+
+ labels.each(function(label) {
+ var id = label.id[0];
+ var bare_id = id.substr(id.indexOf(":")+1);
+ var name = label.name[0];
+
+ bare_id = -11-bare_id;
+
+ labelsMenu.addChild(new dijit.MenuItem({
+ label: name,
+ labelId: bare_id,
+ onClick: function(event) {
+ //console.log(this.labelId);
+ //console.log(this.getParent().ownerMenu.callerRowId);
+ selectionAssignLabel(this.labelId,
+ [this.getParent().ownerMenu.callerRowId]);
+ }}));
+ });
+
+ menu.addChild(new dijit.PopupMenuItem({
+ label: __("Labels"),
+ popup: labelsMenu,
+ }));
+ }
+
menu.startup();
} catch (e) {