prefs: some async work (2)
This commit is contained in:
parent
350468d018
commit
a796bfc18a
229
prefs.js
229
prefs.js
|
@ -55,36 +55,12 @@ function replace_pubkey_callback() {
|
||||||
|
|
||||||
function feedlist_callback() {
|
function feedlist_callback() {
|
||||||
if (xmlhttp.readyState == 4) {
|
if (xmlhttp.readyState == 4) {
|
||||||
try {
|
return feedlist_callback2(xmlhttp);
|
||||||
var container = document.getElementById('prefContent');
|
|
||||||
container.innerHTML=xmlhttp.responseText;
|
|
||||||
selectTab("feedConfig", true);
|
|
||||||
|
|
||||||
if (caller_subop) {
|
|
||||||
var tuple = caller_subop.split(":");
|
|
||||||
if (tuple[0] == 'editFeed') {
|
|
||||||
window.setTimeout('editFeed('+tuple[1]+')', 100);
|
|
||||||
}
|
|
||||||
|
|
||||||
caller_subop = false;
|
|
||||||
}
|
|
||||||
if (typeof correctPNG != 'undefined') {
|
|
||||||
correctPNG();
|
|
||||||
}
|
|
||||||
notify("");
|
|
||||||
remove_splash();
|
|
||||||
|
|
||||||
} catch (e) {
|
|
||||||
exception_error("feedlist_callback", e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* stub for subscription dialog */
|
function feedlist_callback2(transport) {
|
||||||
|
try {
|
||||||
function dlg_frefresh_callback(transport) {
|
|
||||||
|
|
||||||
try {
|
|
||||||
var container = document.getElementById('prefContent');
|
var container = document.getElementById('prefContent');
|
||||||
container.innerHTML=transport.responseText;
|
container.innerHTML=transport.responseText;
|
||||||
selectTab("feedConfig", true);
|
selectTab("feedConfig", true);
|
||||||
|
@ -101,10 +77,17 @@ function dlg_frefresh_callback(transport) {
|
||||||
correctPNG();
|
correctPNG();
|
||||||
}
|
}
|
||||||
notify("");
|
notify("");
|
||||||
} catch (e) {
|
remove_splash();
|
||||||
exception_error("feedlist_callback", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
} catch (e) {
|
||||||
|
exception_error("feedlist_callback2", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* stub for subscription dialog */
|
||||||
|
|
||||||
|
function dlg_frefresh_callback(transport) {
|
||||||
|
return feedlist_callback2(transport);
|
||||||
}
|
}
|
||||||
|
|
||||||
function filterlist_callback() {
|
function filterlist_callback() {
|
||||||
|
@ -119,14 +102,13 @@ function filterlist_callback() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function labellist_callback() {
|
function labellist_callback2(transport) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
var container = document.getElementById('prefContent');
|
var container = document.getElementById('prefContent');
|
||||||
if (xmlhttp.readyState == 4) {
|
|
||||||
closeInfoBox();
|
closeInfoBox();
|
||||||
container.innerHTML=xmlhttp.responseText;
|
container.innerHTML=transport.responseText;
|
||||||
|
|
||||||
if (document.getElementById("prefLabelList")) {
|
if (document.getElementById("prefLabelList")) {
|
||||||
var elems = document.getElementById("prefLabelList").getElementsByTagName("SPAN");
|
var elems = document.getElementById("prefLabelList").getElementsByTagName("SPAN");
|
||||||
|
@ -147,10 +129,9 @@ function labellist_callback() {
|
||||||
}
|
}
|
||||||
notify("");
|
notify("");
|
||||||
remove_splash();
|
remove_splash();
|
||||||
}
|
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
exception_error("labellist_callback", e);
|
exception_error("labellist_callback2", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -304,30 +285,27 @@ function addLabel() {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
if (!xmlhttp_ready(xmlhttp)) {
|
var caption = prompt(__("Please enter label caption:"), "");
|
||||||
printLockingError();
|
|
||||||
return
|
if (caption == null) {
|
||||||
}
|
return false;
|
||||||
|
}
|
||||||
var caption = prompt(__("Please enter label caption:"), "");
|
|
||||||
|
if (caption == "") {
|
||||||
if (caption == null) {
|
alert(__("Can't create label: missing caption."));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (caption == "") {
|
// we can be called from some other tab
|
||||||
alert(__("Can't create label: missing caption."));
|
active_tab = "labelConfig";
|
||||||
return false;
|
|
||||||
}
|
query = "backend.php?op=pref-labels&subop=add&caption=" +
|
||||||
|
param_escape(caption);
|
||||||
// we can be called from some other tab
|
|
||||||
active_tab = "labelConfig";
|
new Ajax.Request(query, {
|
||||||
|
onComplete: function(transport) {
|
||||||
var query = "caption=" + param_escape(caption);
|
infobox_submit_callback2(transport);
|
||||||
|
} });
|
||||||
xmlhttp.open("GET", "backend.php?op=pref-labels&subop=add&" + query, true);
|
|
||||||
xmlhttp.onreadystatechange=infobox_submit_callback;
|
|
||||||
xmlhttp.send(null);
|
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
exception_error("addLabel", e);
|
exception_error("addLabel", e);
|
||||||
|
@ -336,27 +314,31 @@ function addLabel() {
|
||||||
|
|
||||||
function addFeed() {
|
function addFeed() {
|
||||||
|
|
||||||
if (!xmlhttp_ready(xmlhttp)) {
|
try {
|
||||||
printLockingError();
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
var link = document.getElementById("fadd_link");
|
var link = document.getElementById("fadd_link");
|
||||||
|
|
||||||
if (link.value.length == 0) {
|
if (link.value.length == 0) {
|
||||||
alert(__("Error: No feed URL given."));
|
alert(__("Error: No feed URL given."));
|
||||||
} else if (!isValidURL(link.value)) {
|
} else if (!isValidURL(link.value)) {
|
||||||
alert(__("Error: Invalid feed URL."));
|
alert(__("Error: Invalid feed URL."));
|
||||||
} else {
|
} else {
|
||||||
notify_progress("Adding feed...");
|
notify_progress("Adding feed...");
|
||||||
|
|
||||||
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=add&from=tt-rss&feed_url=" +
|
var query = "backend.php?op=pref-feeds&subop=add&from=tt-rss&feed_url=" +
|
||||||
param_escape(link.value), true);
|
param_escape(link.value);
|
||||||
xmlhttp.onreadystatechange=feedlist_callback;
|
|
||||||
xmlhttp.send(null);
|
new Ajax.Request(query, {
|
||||||
|
onComplete: function(transport) {
|
||||||
link.value = "";
|
feedlist_callback2(transport);
|
||||||
|
} });
|
||||||
|
|
||||||
|
link.value = "";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (e) {
|
||||||
|
exception_error("addFeed", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -515,11 +497,6 @@ function getSelectedFeedCats() {
|
||||||
|
|
||||||
function removeSelectedLabels() {
|
function removeSelectedLabels() {
|
||||||
|
|
||||||
if (!xmlhttp_ready(xmlhttp)) {
|
|
||||||
printLockingError();
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
var sel_rows = getSelectedLabels();
|
var sel_rows = getSelectedLabels();
|
||||||
|
|
||||||
if (sel_rows.length > 0) {
|
if (sel_rows.length > 0) {
|
||||||
|
@ -529,10 +506,14 @@ function removeSelectedLabels() {
|
||||||
if (ok) {
|
if (ok) {
|
||||||
notify_progress("Removing selected labels...");
|
notify_progress("Removing selected labels...");
|
||||||
|
|
||||||
xmlhttp.open("GET", "backend.php?op=pref-labels&subop=remove&ids="+
|
var query = "backend.php?op=pref-labels&subop=remove&ids="+
|
||||||
param_escape(sel_rows.toString()), true);
|
param_escape(sel_rows.toString());
|
||||||
xmlhttp.onreadystatechange=labellist_callback;
|
|
||||||
xmlhttp.send(null);
|
new Ajax.Request(query, {
|
||||||
|
onComplete: function(transport) {
|
||||||
|
labellist_callback2(transport);
|
||||||
|
} });
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
alert(__("No labels are selected."));
|
alert(__("No labels are selected."));
|
||||||
|
@ -601,31 +582,33 @@ function removeSelectedFilters() {
|
||||||
|
|
||||||
function removeSelectedFeeds() {
|
function removeSelectedFeeds() {
|
||||||
|
|
||||||
if (!xmlhttp_ready(xmlhttp)) {
|
try {
|
||||||
printLockingError();
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
var sel_rows = getSelectedFeeds();
|
var sel_rows = getSelectedFeeds();
|
||||||
|
|
||||||
if (sel_rows.length > 0) {
|
|
||||||
|
|
||||||
var ok = confirm(__("Unsubscribe from selected feeds?"));
|
|
||||||
|
|
||||||
if (ok) {
|
|
||||||
|
|
||||||
notify_progress("Unsubscribing from selected feeds...");
|
|
||||||
|
|
||||||
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=remove&ids="+
|
if (sel_rows.length > 0) {
|
||||||
param_escape(sel_rows.toString()), true);
|
|
||||||
xmlhttp.onreadystatechange=feedlist_callback;
|
var ok = confirm(__("Unsubscribe from selected feeds?"));
|
||||||
xmlhttp.send(null);
|
|
||||||
|
if (ok) {
|
||||||
|
|
||||||
|
notify_progress("Unsubscribing from selected feeds...");
|
||||||
|
|
||||||
|
var query = "backend.php?op=pref-feeds&subop=remove&ids="+
|
||||||
|
param_escape(sel_rows.toString());
|
||||||
|
|
||||||
|
new Ajax.Request(query, {
|
||||||
|
onComplete: function(transport) {
|
||||||
|
feedlist_callback2(transport);
|
||||||
|
} });
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
alert(__("No feeds are selected."));
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} catch (e) {
|
||||||
|
exception_error("removeSelectedFeeds", e);
|
||||||
alert(__("No feeds are selected."));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -1064,20 +1047,24 @@ function updateFilterList(sort_key) {
|
||||||
|
|
||||||
function updateLabelList(sort_key) {
|
function updateLabelList(sort_key) {
|
||||||
|
|
||||||
if (!xmlhttp_ready(xmlhttp)) {
|
try {
|
||||||
printLockingError();
|
|
||||||
return
|
var label_search = document.getElementById("label_search");
|
||||||
|
var search = "";
|
||||||
|
if (label_search) { search = label_search.value; }
|
||||||
|
|
||||||
|
var query = "backend.php?op=pref-labels&sort=" +
|
||||||
|
param_escape(sort_key) +
|
||||||
|
"&search=" + param_escape(search);
|
||||||
|
|
||||||
|
new Ajax.Request(query, {
|
||||||
|
onComplete: function(transport) {
|
||||||
|
labellist_callback2(transport);
|
||||||
|
} });
|
||||||
|
|
||||||
|
} catch (e) {
|
||||||
|
exception_error("updateLabelList", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
var label_search = document.getElementById("label_search");
|
|
||||||
var search = "";
|
|
||||||
if (label_search) { search = label_search.value; }
|
|
||||||
|
|
||||||
xmlhttp.open("GET", "backend.php?op=pref-labels&sort=" +
|
|
||||||
param_escape(sort_key) +
|
|
||||||
"&search=" + param_escape(search), true);
|
|
||||||
xmlhttp.onreadystatechange=labellist_callback;
|
|
||||||
xmlhttp.send(null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updatePrefsList() {
|
function updatePrefsList() {
|
||||||
|
|
Loading…
Reference in New Issue