move some dialogs to xhr loading
This commit is contained in:
parent
71dfc83466
commit
03b85248e6
|
@ -1,9 +1,7 @@
|
|||
<?php
|
||||
class Pref_Feeds extends Handler_Protected {
|
||||
function csrf_ignore($method) {
|
||||
$csrf_ignored = array("index", "getfeedtree", "add", "editcats", "editfeed",
|
||||
"savefeedorder", "uploadicon", "feedswitherrors", "inactivefeeds",
|
||||
"batchsubscribe");
|
||||
$csrf_ignored = array("index", "getfeedtree", "savefeedorder", "uploadicon");
|
||||
|
||||
return array_search($method, $csrf_ignored) !== false;
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
class Pref_Labels extends Handler_Protected {
|
||||
|
||||
function csrf_ignore($method) {
|
||||
$csrf_ignored = array("index", "getlabeltree", "edit");
|
||||
$csrf_ignored = array("index", "getlabeltree");
|
||||
|
||||
return array_search($method, $csrf_ignored) !== false;
|
||||
}
|
||||
|
|
|
@ -185,8 +185,6 @@ const CommonDialogs = {
|
|||
});
|
||||
},
|
||||
showFeedsWithErrors: function() {
|
||||
const query = {op: "pref-feeds", method: "feedsWithErrors"};
|
||||
|
||||
const dialog = new fox.SingleUseDialog({
|
||||
id: "errorFeedsDlg",
|
||||
title: __("Feeds with update errors"),
|
||||
|
@ -221,12 +219,15 @@ const CommonDialogs = {
|
|||
alert(__("No feeds selected."));
|
||||
}
|
||||
},
|
||||
execute: function () {
|
||||
if (this.validate()) {
|
||||
//
|
||||
}
|
||||
},
|
||||
href: "backend.php?" + dojo.objectToQuery(query)
|
||||
content: __("Loading, please wait...")
|
||||
});
|
||||
|
||||
const tmph = dojo.connect(dialog, 'onShow', function () {
|
||||
dojo.disconnect(tmph);
|
||||
|
||||
xhrPost("backend.php", {op: "pref-feeds", method: "feedsWithErrors"}, (transport) => {
|
||||
dialog.attr('content', transport.responseText);
|
||||
})
|
||||
});
|
||||
|
||||
dialog.show();
|
||||
|
@ -313,7 +314,15 @@ const CommonDialogs = {
|
|||
});
|
||||
}
|
||||
},
|
||||
href: "backend.php?" + dojo.objectToQuery(query)
|
||||
content: __("Loading, please wait...")
|
||||
});
|
||||
|
||||
const tmph = dojo.connect(dialog, 'onShow', function () {
|
||||
dojo.disconnect(tmph);
|
||||
|
||||
xhrPost("backend.php", {op: "pref-feeds", method: "editfeed", id: feed}, (transport) => {
|
||||
dialog.attr('content', transport.responseText);
|
||||
})
|
||||
});
|
||||
|
||||
dialog.show();
|
||||
|
|
|
@ -29,7 +29,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
|
|||
const bare_id = parseInt(id.substr(id.indexOf(':')+1));
|
||||
|
||||
if (id.match("CAT:") && bare_id > 0) {
|
||||
var menu = new dijit.Menu();
|
||||
const menu = new dijit.Menu();
|
||||
menu.row_id = bare_id;
|
||||
menu.item = args.item;
|
||||
|
||||
|
@ -49,7 +49,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
|
|||
menu.bindDomNode(tnode.domNode);
|
||||
tnode._menu = menu;
|
||||
} else if (id.match("FEED:")) {
|
||||
var menu = new dijit.Menu();
|
||||
const menu = new dijit.Menu();
|
||||
menu.row_id = bare_id;
|
||||
menu.item = args.item;
|
||||
|
||||
|
@ -76,6 +76,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
|
|||
this.inherited(arguments);
|
||||
this.tree.model.store.save();
|
||||
},
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
getRowClass: function (item, opened) {
|
||||
let rc = (!item.error || item.error == '') ? "dijitTreeRow" :
|
||||
"dijitTreeRow Error";
|
||||
|
@ -85,11 +86,12 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
|
|||
return rc;
|
||||
},
|
||||
getIconClass: function (item, opened) {
|
||||
// eslint-disable-next-line no-nested-ternary
|
||||
return (!item || this.model.store.getValue(item, 'type') == 'category') ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "feed-icon";
|
||||
},
|
||||
reload: function() {
|
||||
const searchElem = $("feed_search");
|
||||
let search = (searchElem) ? searchElem.value : "";
|
||||
const search = (searchElem) ? searchElem.value : "";
|
||||
|
||||
xhrPost("backend.php", { op: "pref-feeds", search: search }, (transport) => {
|
||||
dijit.byId('feedsTab').attr('content', transport.responseText);
|
||||
|
@ -285,7 +287,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
|
|||
/* normalize unchecked checkboxes because [] is not serialized */
|
||||
|
||||
Object.keys(query).each((key) => {
|
||||
let val = query[key];
|
||||
const val = query[key];
|
||||
|
||||
if (typeof val == "object" && val.length == 0)
|
||||
query[key] = ["off"];
|
||||
|
@ -395,7 +397,15 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
|
|||
alert(__("No feeds selected."));
|
||||
}
|
||||
},
|
||||
href: 'backend.php?' + dojo.objectToQuery({op: 'pref-feeds', method: 'inactiveFeeds'})
|
||||
content: __("Loading, please wait...")
|
||||
});
|
||||
|
||||
const tmph = dojo.connect(dialog, 'onShow', function () {
|
||||
dojo.disconnect(tmph);
|
||||
|
||||
xhrPost("backend.php", {op: "pref-feeds", method: "inactivefeeds"}, (transport) => {
|
||||
dialog.attr('content', transport.responseText);
|
||||
})
|
||||
});
|
||||
|
||||
dialog.show();
|
||||
|
|
|
@ -13,10 +13,10 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/f
|
|||
_createTreeNode: function(args) {
|
||||
const tnode = this.inherited(arguments);
|
||||
|
||||
const fg_color = this.model.store.getValue(args.item, 'fg_color');
|
||||
const bg_color = this.model.store.getValue(args.item, 'bg_color');
|
||||
//const fg_color = this.model.store.getValue(args.item, 'fg_color');
|
||||
//const bg_color = this.model.store.getValue(args.item, 'bg_color');
|
||||
const type = this.model.store.getValue(args.item, 'type');
|
||||
const bare_id = this.model.store.getValue(args.item, 'bare_id');
|
||||
//const bare_id = this.model.store.getValue(args.item, 'bare_id');
|
||||
|
||||
if (type == 'label') {
|
||||
const label = dojo.doc.createElement('i');
|
||||
|
@ -59,9 +59,6 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/f
|
|||
});
|
||||
},
|
||||
editLabel: function(id) {
|
||||
const query = "backend.php?op=pref-labels&method=edit&id=" +
|
||||
encodeURIComponent(id);
|
||||
|
||||
const dialog = new fox.SingleUseDialog({
|
||||
id: "labelEditDlg",
|
||||
title: __("Label Editor"),
|
||||
|
@ -114,7 +111,15 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/f
|
|||
});
|
||||
}
|
||||
},
|
||||
href: query
|
||||
content: __("Loading, please wait...")
|
||||
});
|
||||
|
||||
const tmph = dojo.connect(dialog, 'onShow', function () {
|
||||
dojo.disconnect(tmph);
|
||||
|
||||
xhrPost("backend.php", {op: "pref-labels", method: "edit", id: id}, (transport) => {
|
||||
dialog.attr('content', transport.responseText);
|
||||
})
|
||||
});
|
||||
|
||||
dialog.show();
|
||||
|
|
Loading…
Reference in New Issue