UI improvements
This commit is contained in:
parent
0d32b41e36
commit
42c3291622
|
@ -54,7 +54,7 @@
|
|||
header("Content-Type: application/xml");
|
||||
print_error_xml(7); exit;
|
||||
}
|
||||
|
||||
|
||||
if (!($_SESSION["uid"] && validate_session($link)) && $op != "globalUpdateFeeds"
|
||||
&& $op != "rss" && $op != "getUnread") {
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
|
|||
container.innerHTML = "<div class=\"loadingPrompt\"><img src=\"images/indicator_white.gif\"> " +
|
||||
"Loading, please wait...</div>"; */
|
||||
|
||||
notify("Loading, please wait...", true);
|
||||
notify_progress("Loading, please wait...", true);
|
||||
|
||||
// xmlhttp.abort();
|
||||
|
||||
|
|
91
functions.js
91
functions.js
|
@ -103,34 +103,18 @@ function delay(gap) {
|
|||
}
|
||||
|
||||
var notify_hide_timerid = false;
|
||||
var notify_last_doc = false;
|
||||
|
||||
var notify_effect = false;
|
||||
|
||||
function hide_notify() {
|
||||
if (notify_last_doc) {
|
||||
var n = notify_last_doc.getElementById("notify");
|
||||
var n = document.getElementById("notify");
|
||||
if (n) {
|
||||
n.style.display = "none";
|
||||
|
||||
/* if (browser_has_opacity()) {
|
||||
if (notify_opacity >= 0) {
|
||||
notify_opacity = notify_opacity - 0.1;
|
||||
n.style.opacity = notify_opacity;
|
||||
notify_hide_timerid = window.setTimeout("hide_notify()", 20);
|
||||
} else {
|
||||
n.style.display = "none";
|
||||
n.style.opacity = 1;
|
||||
}
|
||||
} else {
|
||||
n.style.display = "none";
|
||||
} */
|
||||
}
|
||||
}
|
||||
|
||||
function notify_real(msg, doc, no_hide, is_err) {
|
||||
function notify_real(msg, no_hide, n_type) {
|
||||
|
||||
var n = doc.getElementById("notify");
|
||||
var nb = doc.getElementById("notify_body");
|
||||
var n = document.getElementById("notify");
|
||||
var nb = document.getElementById("notify_body");
|
||||
|
||||
if (!n || !nb) return;
|
||||
|
||||
|
@ -138,9 +122,6 @@ function notify_real(msg, doc, no_hide, is_err) {
|
|||
window.clearTimeout(notify_hide_timerid);
|
||||
}
|
||||
|
||||
notify_last_doc = doc;
|
||||
notify_opacity = 1;
|
||||
|
||||
if (msg == "") {
|
||||
if (n.style.display == "block") {
|
||||
notify_hide_timerid = window.setTimeout("hide_notify()", 0);
|
||||
|
@ -150,17 +131,25 @@ function notify_real(msg, doc, no_hide, is_err) {
|
|||
n.style.display = "block";
|
||||
}
|
||||
|
||||
if (is_err) {
|
||||
n.className = "notifyError";
|
||||
// n.style.backgroundColor = "#ffcccc";
|
||||
// n.style.color = "black";
|
||||
// n.style.borderColor = "#ff0000";
|
||||
msg = "<img src='images/sign_excl.png'> " + msg;
|
||||
} else {
|
||||
/* types:
|
||||
|
||||
1 - generic
|
||||
2 - progress
|
||||
3 - error
|
||||
4 - info
|
||||
|
||||
*/
|
||||
|
||||
if (n_type == 1) {
|
||||
n.className = "notify";
|
||||
// n.style.backgroundColor = "#fff7d5";
|
||||
// n.style.borderColor = "#d7c47a";
|
||||
// n.style.color = "black";
|
||||
} else if (n_type == 2) {
|
||||
n.className = "notifyProgress";
|
||||
msg = "<img src='images/indicator_white.gif'> " + msg;
|
||||
} else if (n_type == 3) {
|
||||
n.className = "notifyError";
|
||||
msg = "<img src='images/sign_excl.png'> " + msg;
|
||||
} else if (n_type == 4) {
|
||||
n.className = "notifyInfo";
|
||||
msg = "<img src='images/sign_info.png'> " + msg;
|
||||
}
|
||||
|
||||
|
@ -173,16 +162,26 @@ function notify_real(msg, doc, no_hide, is_err) {
|
|||
}
|
||||
}
|
||||
|
||||
function p_notify(msg, no_hide, is_err) {
|
||||
notify_real(msg, document, no_hide, is_err);
|
||||
function notify(msg, no_hide) {
|
||||
notify_real(msg, no_hide, 1);
|
||||
}
|
||||
|
||||
function notify(msg, no_hide, is_err) {
|
||||
notify_real(msg, document, no_hide, is_err);
|
||||
function notify_progress(msg, no_hide) {
|
||||
notify_real(msg, no_hide, 2);
|
||||
}
|
||||
|
||||
function notify_error(msg, no_hide) {
|
||||
notify_real(msg, no_hide, 3);
|
||||
|
||||
}
|
||||
|
||||
function notify_info(msg, no_hide) {
|
||||
notify_real(msg, no_hide, 4);
|
||||
}
|
||||
|
||||
function printLockingError() {
|
||||
notify("Please wait until operation finishes");}
|
||||
notify_info("Please wait until operation finishes.");
|
||||
}
|
||||
|
||||
function hotkey_handler(e) {
|
||||
|
||||
|
@ -668,14 +667,14 @@ function parse_counters(reply, scheduled_call) {
|
|||
function parse_counters_reply(xmlhttp, scheduled_call) {
|
||||
|
||||
if (!xmlhttp.responseXML) {
|
||||
notify("refetch_callback: backend did not return valid XML", true, true);
|
||||
notify_error("Backend did not return valid XML", true);
|
||||
return;
|
||||
}
|
||||
|
||||
var reply = xmlhttp.responseXML.firstChild;
|
||||
|
||||
if (!reply) {
|
||||
notify("refetch_callback: backend did not return expected XML object", true, true);
|
||||
notify_error("Backend did not return expected XML object", true);
|
||||
updateTitle("");
|
||||
return;
|
||||
}
|
||||
|
@ -1344,7 +1343,7 @@ function infobox_submit_callback() {
|
|||
}
|
||||
} catch (e) { }
|
||||
|
||||
notify(xmlhttp.responseText);
|
||||
// notify_info(xmlhttp.responseText);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1416,7 +1415,7 @@ function qafAdd() {
|
|||
return false;
|
||||
}
|
||||
|
||||
notify("Adding feed...", true);
|
||||
notify_progress("Adding feed...");
|
||||
|
||||
closeInfoBox();
|
||||
|
||||
|
@ -1549,7 +1548,9 @@ function fatalError(code, message) {
|
|||
var fe = document.getElementById("fatal_error");
|
||||
var fc = document.getElementById("fatal_error_msg");
|
||||
|
||||
fc.innerHTML = "Code " + code + ": " + message;
|
||||
if (message == "") message = "Unknown error";
|
||||
|
||||
fc.innerHTML = "<img src='images/sign_excl.png'> " + message + " (Code " + code + ")";
|
||||
|
||||
fe.style.display = "block";
|
||||
}
|
||||
|
@ -1625,7 +1626,7 @@ function logoutUser() {
|
|||
try {
|
||||
if (xmlhttp_ready(xmlhttp_rpc)) {
|
||||
|
||||
notify("Logging out, please wait...");
|
||||
notify_progress("Logging out, please wait...", true);
|
||||
|
||||
xmlhttp_rpc.open("GET", "backend.php?op=rpc&subop=logout", true);
|
||||
xmlhttp_rpc.onreadystatechange=logout_callback;
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.5 KiB |
43
prefs.js
43
prefs.js
|
@ -126,10 +126,9 @@ function gethelp_callback() {
|
|||
|
||||
|
||||
function notify_callback() {
|
||||
var container = document.getElementById('notify');
|
||||
if (xmlhttp.readyState == 4) {
|
||||
container.innerHTML=xmlhttp.responseText;
|
||||
}
|
||||
notify_info(xmlhttp.responseText);
|
||||
}
|
||||
}
|
||||
|
||||
function updateFeedList(sort_key) {
|
||||
|
@ -216,7 +215,7 @@ function addFeed() {
|
|||
} else if (!isValidURL(link.value)) {
|
||||
alert("Error: Invalid feed URL.");
|
||||
} else {
|
||||
notify("Adding feed...");
|
||||
notify_progress("Adding feed...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=add&from=tt-rss&feed_url=" +
|
||||
param_escape(link.value), true);
|
||||
|
@ -241,7 +240,7 @@ function addFeedCat() {
|
|||
if (cat.value.length == 0) {
|
||||
alert("Can't add category: no name specified.");
|
||||
} else {
|
||||
notify("Adding feed category...");
|
||||
notify_progress("Adding feed category...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editCats&action=add&cat=" +
|
||||
param_escape(cat.value), true);
|
||||
|
@ -265,7 +264,7 @@ function addUser() {
|
|||
if (sqlexp.value.length == 0) {
|
||||
alert("Can't add user: no login specified.");
|
||||
} else {
|
||||
notify("Adding user...");
|
||||
notify_progress("Adding user...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-users&subop=add&login=" +
|
||||
param_escape(sqlexp.value), true);
|
||||
|
@ -427,7 +426,7 @@ function removeSelectedLabels() {
|
|||
var ok = confirm("Remove selected labels?");
|
||||
|
||||
if (ok) {
|
||||
notify("Removing selected labels...");
|
||||
notify_progress("Removing selected labels...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-labels&subop=remove&ids="+
|
||||
param_escape(sel_rows.toString()), true);
|
||||
|
@ -455,7 +454,7 @@ function removeSelectedUsers() {
|
|||
var ok = confirm("Remove selected users?");
|
||||
|
||||
if (ok) {
|
||||
notify("Removing selected users...");
|
||||
notify_progress("Removing selected users...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-users&subop=remove&ids="+
|
||||
param_escape(sel_rows.toString()), true);
|
||||
|
@ -484,7 +483,7 @@ function removeSelectedFilters() {
|
|||
var ok = confirm("Remove selected filters?");
|
||||
|
||||
if (ok) {
|
||||
notify("Removing selected filters...");
|
||||
notify_progress("Removing selected filters...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-filters&subop=remove&ids="+
|
||||
param_escape(sel_rows.toString()), true);
|
||||
|
@ -514,7 +513,7 @@ function removeSelectedFeeds() {
|
|||
|
||||
if (ok) {
|
||||
|
||||
notify("Unsubscribing from selected feeds...");
|
||||
notify_progress("Unsubscribing from selected feeds...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=remove&ids="+
|
||||
param_escape(sel_rows.toString()), true);
|
||||
|
@ -545,7 +544,7 @@ function removeSelectedFeedCats() {
|
|||
var ok = confirm("Remove selected categories?");
|
||||
|
||||
if (ok) {
|
||||
notify("Removing selected categories...");
|
||||
notify_progress("Removing selected categories...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editCats&action=remove&ids="+
|
||||
param_escape(sel_rows.toString()), true);
|
||||
|
@ -607,7 +606,7 @@ function feedEditSave() {
|
|||
|
||||
var query = Form.serialize("edit_feed_form");
|
||||
|
||||
notify("Saving feed...");
|
||||
notify_progress("Saving feed...");
|
||||
|
||||
xmlhttp.open("POST", "backend.php", true);
|
||||
xmlhttp.onreadystatechange=feedlist_callback;
|
||||
|
@ -630,7 +629,7 @@ function feedCatEditSave() {
|
|||
return
|
||||
}
|
||||
|
||||
notify("Saving category...");
|
||||
notify_progress("Saving category...");
|
||||
|
||||
var query = Form.serialize("feed_cat_edit_form");
|
||||
|
||||
|
@ -746,7 +745,7 @@ function labelEditSave() {
|
|||
|
||||
closeInfoBox();
|
||||
|
||||
notify("Saving label...");
|
||||
notify_progress("Saving label...");
|
||||
|
||||
active_label = false;
|
||||
|
||||
|
@ -773,7 +772,7 @@ function userEditSave() {
|
|||
return;
|
||||
}
|
||||
|
||||
notify("Saving user...");
|
||||
notify_progress("Saving user...");
|
||||
|
||||
closeInfoBox();
|
||||
|
||||
|
@ -803,7 +802,7 @@ function filterEditSave() {
|
|||
}
|
||||
} */
|
||||
|
||||
notify("Saving filter...");
|
||||
notify_progress("Saving filter...");
|
||||
|
||||
var query = Form.serialize("filter_edit_form");
|
||||
|
||||
|
@ -871,7 +870,7 @@ function resetSelectedUserPass() {
|
|||
var ok = confirm("Reset password of selected user?");
|
||||
|
||||
if (ok) {
|
||||
notify("Resetting password for selected user...");
|
||||
notify_progress("Resetting password for selected user...");
|
||||
|
||||
var id = rows[0];
|
||||
|
||||
|
@ -926,7 +925,7 @@ function selectedFeedDetails() {
|
|||
}
|
||||
|
||||
if (rows.length > 1) {
|
||||
notify("Please select only one feed.");
|
||||
alert("Please select only one feed.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -965,12 +964,12 @@ function editSelectedFeed() {
|
|||
var rows = getSelectedFeeds();
|
||||
|
||||
if (rows.length == 0) {
|
||||
notify("No feeds are selected.");
|
||||
alert("No feeds are selected.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (rows.length > 1) {
|
||||
notify("Please select one feed.");
|
||||
alert("Please select one feed.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1143,7 +1142,7 @@ function selectTab(id, noupdate, subop) {
|
|||
|
||||
debug("selectTab: " + id + "(NU: " + noupdate + ")");
|
||||
|
||||
// notify("Loading, please wait...", true);
|
||||
notify_progress("Loading, please wait...", true);
|
||||
|
||||
// close active infobox if needed
|
||||
closeInfoBox();
|
||||
|
@ -1313,7 +1312,7 @@ function categorizeSelectedFeeds() {
|
|||
|
||||
if (sel_rows.length > 0) {
|
||||
|
||||
notify("Changing category of selected feeds...");
|
||||
notify_progress("Changing category of selected feeds...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=categorize&ids="+
|
||||
param_escape(sel_rows.toString()) + "&cat_id=" + param_escape(cat_id), true);
|
||||
|
|
20
tt-rss.css
20
tt-rss.css
|
@ -238,6 +238,18 @@ input.editbox {
|
|||
vertical-align : middle;
|
||||
}
|
||||
|
||||
.notifyProgress {
|
||||
border-color : #d7c47a;
|
||||
background-color : #fff7d5;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.notifyInfo {
|
||||
border-color : #7AD78E;
|
||||
background-color : #D5FFDB;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.notify {
|
||||
border-color : #d7c47a;
|
||||
background-color : #fff7d5;
|
||||
|
@ -1065,11 +1077,11 @@ a.cdmToggleLink:hover {
|
|||
}
|
||||
|
||||
#fatal_error_msg {
|
||||
border : 1px solid #c0c0c0;
|
||||
background-color : #f0f0f0;
|
||||
color : black;
|
||||
padding : 10px;
|
||||
font-weight : normal;
|
||||
background-color : #ffcccc;
|
||||
border : 1px solid #ff0000;
|
||||
}
|
||||
|
||||
#fatal_error_msg a {
|
||||
|
@ -1081,6 +1093,10 @@ a.cdmToggleLink:hover {
|
|||
text-decoration : underline;
|
||||
}
|
||||
|
||||
#fatal_error_msg img {
|
||||
vertical-align : middle;
|
||||
}
|
||||
|
||||
#noDaemonWarning {
|
||||
position : absolute;
|
||||
background-color : #ecf4ff;
|
||||
|
|
16
tt-rss.js
16
tt-rss.js
|
@ -37,7 +37,7 @@ function toggleTags() {
|
|||
p.innerHTML = "display tags";
|
||||
}
|
||||
|
||||
notify("Loading, please wait...");
|
||||
notify_progress("Loading, please wait...");
|
||||
|
||||
updateFeedList();
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ function refetch_callback() {
|
|||
debug("refetch_callback: done");
|
||||
|
||||
if (!daemon_enabled && !daemon_refresh_only) {
|
||||
notify("All feeds updated.");
|
||||
notify_info("All feeds updated.");
|
||||
updateTitle("");
|
||||
} else {
|
||||
//notify("");
|
||||
|
@ -135,7 +135,7 @@ function backend_sanity_check_callback() {
|
|||
function scheduleFeedUpdate(force) {
|
||||
|
||||
if (!daemon_enabled && !daemon_refresh_only) {
|
||||
notify("Updating feeds, please wait.", true);
|
||||
notify_progress("Updating feeds, please wait.", true);
|
||||
updateTitle("Updating");
|
||||
}
|
||||
|
||||
|
@ -231,7 +231,7 @@ function catchupAllFeeds() {
|
|||
|
||||
var query_str = "backend.php?op=feeds&subop=catchupAll";
|
||||
|
||||
notify("Marking all feeds as read...");
|
||||
notify_progress("Marking all feeds as read...");
|
||||
|
||||
debug("catchupAllFeeds Q=" + query_str);
|
||||
|
||||
|
@ -474,7 +474,7 @@ function quickMenuGo(opid) {
|
|||
|
||||
function qfdDelete(feed_id) {
|
||||
|
||||
notify("Removing feed...");
|
||||
notify_progress("Removing feed...");
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
printLockingError();
|
||||
|
@ -552,7 +552,7 @@ function parse_runtime_info(elem) {
|
|||
}
|
||||
|
||||
if (k == "daemon_is_running" && v != 1) {
|
||||
notify("<span onclick=\"javascript:explainError(1)\">Update daemon is not runing.</span>", true, true);
|
||||
notify_error("<span onclick=\"javascript:explainError(1)\">Update daemon is not runing.</span>");
|
||||
}
|
||||
|
||||
/* var w = document.getElementById("noDaemonWarning");
|
||||
|
@ -634,7 +634,7 @@ function feedEditSave() {
|
|||
|
||||
var query = Form.serialize("edit_feed_form");
|
||||
|
||||
notify("Saving feed...");
|
||||
notify_progress("Saving feed...");
|
||||
|
||||
xmlhttp.open("POST", "backend.php", true);
|
||||
xmlhttp.onreadystatechange=dlg_frefresh_callback;
|
||||
|
@ -701,7 +701,7 @@ function localHotkeyHandler(e) {
|
|||
}
|
||||
|
||||
} else {
|
||||
notify("No operation to undo");
|
||||
notify_error("No operation to undo");
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
@ -514,7 +514,7 @@ function editTagsSave() {
|
|||
printLockingError();
|
||||
}
|
||||
|
||||
notify("Saving article tags...");
|
||||
notify_progress("Saving article tags...");
|
||||
|
||||
var form = document.forms["tag_edit_form"];
|
||||
|
||||
|
|
Loading…
Reference in New Issue