add experimental support for feedlist popup menu
This commit is contained in:
parent
7b5e74c75c
commit
997429c228
26
FeedTree.js
26
FeedTree.js
|
@ -2,6 +2,7 @@ dojo.provide("fox.FeedTree");
|
|||
dojo.provide("fox.FeedStoreModel");
|
||||
|
||||
dojo.require("dijit.Tree");
|
||||
dojo.require("dijit.Menu");
|
||||
|
||||
dojo.declare("fox.FeedStoreModel", dijit.tree.ForestStoreModel, {
|
||||
getItemById: function(id) {
|
||||
|
@ -45,10 +46,33 @@ dojo.declare("fox.FeedStoreModel", dijit.tree.ForestStoreModel, {
|
|||
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;
|
||||
},
|
||||
|
|
|
@ -962,7 +962,7 @@
|
|||
|
||||
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.");
|
||||
|
||||
|
|
29
tt-rss.js
29
tt-rss.js
|
@ -115,11 +115,28 @@ function updateFeedList() {
|
|||
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);
|
||||
});
|
||||
|
||||
|
@ -1100,17 +1117,21 @@ function handle_rpc_reply(transport, scheduled_call) {
|
|||
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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue