dojo.provide("fox.FeedStoreModel");
dojo.require("dijit.Tree");
+dojo.require("dijit.Menu");
dojo.declare("fox.FeedStoreModel", dijit.tree.ForestStoreModel, {
getItemById: function(id) {
dojo.declare("fox.FeedTree", dijit.Tree, {
_createTreeNode: function(args) {
var tnode = new dijit._TreeNode(args);
-
+
if (args.item.icon)
tnode.iconNode.src = args.item.icon[0];
+ var id = args.item.id[0];
+ var bare_id = parseInt(id.substr(id.indexOf(':')+1));
+
+ if (id.match("FEED:") && bare_id > 0) {
+ var menu = new dijit.Menu();
+ menu.row_id = bare_id;
+
+ menu.addChild(new dijit.MenuItem({
+ label: __("Edit feed"),
+ onClick: function() {
+ editFeedDlg(this.getParent().row_id);
+ }}));
+
+ menu.addChild(new dijit.MenuItem({
+ label: __("Update feed"),
+ onClick: function() {
+ scheduleFeedUpdate(this.getParent().row_id, false);
+ }}));
+
+ menu.bindDomNode(tnode.domNode);
+ tnode._menu = menu;
+ }
+
//tnode.labelNode.innerHTML = args.label;
return tnode;
},
if ($subop == "scheduleFeedUpdate") {
$feed_id = db_escape_string($_REQUEST["id"]);
- $is_cat = db_escape_string($_REQUEST['is_cat']);
+ $is_cat = db_escape_string($_REQUEST['is_cat']) == 'true';
$message = __("Your request could not be completed.");
id: "feedTree",
}, "feedTree");
+/* var menu = new dijit.Menu({id: 'feedMenu'});
+
+ menu.addChild(new dijit.MenuItem({
+ label: "Simple menu item"
+ }));
+
+// menu.bindDomNode(tree.domNode); */
+
+ var tmph = dojo.connect(dijit.byId('feedMenu'), '_openMyself', function (event) {
+ console.log(dijit.getEnclosingWidget(event.target));
+ dojo.disconnect(tmph);
+ });
+
$("feeds-holder").appendChild(tree.domNode);
var tmph = dojo.connect(tree, 'onLoad', function() {
dojo.disconnect(tmph);
Element.hide("feedlistLoading");
+
+// var node = dijit.byId("feedTree")._itemNodesMap['FEED:-2'][0].domNode
+// menu.bindDomNode(node);
+
loading_set_progress(25);
});
return true;
}
-function scheduleFeedUpdate() {
+function scheduleFeedUpdate(id, is_cat) {
try {
+ if (!id) {
+ id = getActiveFeedId();
+ is_cat = activeFeedIsCat();
+ }
- if (!getActiveFeedId()) {
+ if (!id) {
alert(__("Please select some feed first."));
return;
}
var query = "?op=rpc&subop=scheduleFeedUpdate&id=" +
- param_escape(getActiveFeedId()) +
- "&is_cat=" + param_escape(activeFeedIsCat());
+ param_escape(id) +
+ "&is_cat=" + param_escape(is_cat);
console.log(query);