disable pref toolbars when nothing is selected

This commit is contained in:
Andrew Dolgov 2006-05-18 13:01:09 +01:00
parent 2371c520c7
commit ce3bf4089f
4 changed files with 211 additions and 134 deletions

View file

@ -1888,10 +1888,8 @@
class=\"prefFeedList\" id=\"prefFeedList\">";
print "<tr><td class=\"selectPrompt\" colspan=\"8\">
Select:
<a href=\"javascript:selectTableRowsByIdPrefix('prefFeedList',
'FEEDR-', 'FRCHK-', true)\">All</a>,
<a href=\"javascript:selectTableRowsByIdPrefix('prefFeedList',
'FEEDR-', 'FRCHK-', false)\">None</a>
<a href=\"javascript:selectPrefRows('feed', true)\">All</a>,
<a href=\"javascript:selectPrefRows('feed', false)\">None</a>
</td</tr>";
if (!get_pref($link, 'ENABLE_FEED_CATS')) {
@ -1958,7 +1956,7 @@
$feed_icon = "<img class=\"tinyFeedIcon\" src=\"images/blank_icon.gif\">";
}
print "<td class='feedSelect'><input onclick='toggleSelectRow(this);'
print "<td class='feedSelect'><input onclick='toggleSelectPrefRow(this, \"feed\");'
type=\"checkbox\" id=\"FRCHK-".$line["id"]."\"></td>";
if (get_pref($link, 'ENABLE_FEED_ICONS')) {
@ -1980,17 +1978,6 @@
print "<td><a href=\"javascript:editFeed($feed_id);\">" .
$edit_link . "</a></td>";
/* if (get_pref($link, 'ENABLE_FEED_CATS')) {
print "<td><a href=\"javascript:editFeed($feed_id);\">" .
$edit_cat . "</a></td>";
} */
/* print "<td><a href=\"javascript:editFeed($feed_id);\">" .
$update_intervals[$line["update_interval"]] . "</a></td>";
print "<td><a href=\"javascript:editFeed($feed_id);\">" .
$purge_intervals[$line["purge_interval"]] . "</a></td>"; */
print "<td align='right'><a href=\"javascript:editFeed($feed_id);\">" .
"$last_updated</a></td>";
@ -2001,7 +1988,7 @@
print "</table>";
print "<p>";
print "<p><span id=\"feedOpToolbar\">";
if ($subop == "edit") {
print "Edit feed:&nbsp;
@ -2013,11 +2000,9 @@
print "
Selection:&nbsp;
<!-- <input type=\"submit\" class=\"button\"
onclick=\"javascript:selectedFeedDetails()\" value=\"Details\"> -->
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:editSelectedFeed()\" value=\"Edit\">
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:removeSelectedFeeds()\" value=\"Unsubscribe\">";
if (get_pref($link, 'ENABLE_FEED_CATS')) {
@ -2028,7 +2013,7 @@
WHERE owner_uid = ".$_SESSION["uid"]."
ORDER BY title");
print "<select id=\"sfeed_set_fcat\">";
print "<select id=\"sfeed_set_fcat\" disabled=\"true\">";
print "<option id=\"0\">Uncategorized</option>";
if (db_num_rows($result) != 0) {
@ -2043,12 +2028,12 @@
print "</select>";
print " <input type=\"submit\" class=\"button\"
print " <input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:categorizeSelectedFeeds()\" value=\"Recategorize\">";
}
print "
print "</span>
&nbsp;All feeds: <input type=\"submit\"
class=\"button\" onclick=\"gotoExportOpml()\"
value=\"Export OPML\">";
@ -2068,9 +2053,10 @@
print "<div class=\"prefGenericAddBox\">
<input id=\"fadd_cat\"
onchange=\"javascript:addFeedCat()\"
onkeyup=\"toggleSubmitNotEmpty(this, 'catadd_submit_btn')\"
size=\"40\">&nbsp;
<input
type=\"submit\" class=\"button\"
type=\"submit\" class=\"button\" disabled=\"true\" id=\"catadd_submit_btn\"
onclick=\"javascript:addFeedCat()\" value=\"Create category\"></div>";
$result = db_query($link, "SELECT title,id FROM ttrss_feed_categories
@ -2084,10 +2070,8 @@
print "<tr><td class=\"selectPrompt\" colspan=\"8\">
Select:
<a href=\"javascript:selectTableRowsByIdPrefix('prefFeedCatList',
'FCATR-', 'FCCHK-', true)\">All</a>,
<a href=\"javascript:selectTableRowsByIdPrefix('prefFeedCatList',
'FCATR-', 'FCCHK-', false)\">None</a>
<a href=\"javascript:selectPrefRows('fcat', true)\">All</a>,
<a href=\"javascript:selectPrefRows('fcat', false)\">None</a>
</td</tr>";
print "<tr class=\"title\">
@ -2117,8 +2101,8 @@
if (!$edit_cat_id || $subop != "editCat") {
print "<td align='center'><input onclick='toggleSelectRow(this);'
type=\"checkbox\" id=\"FCCHK-".$line["id"]."\"></td>";
print "<td align='center'><input onclick='toggleSelectPrefRow(this, \"fcat\");'
type=\"checkbox\" id=\"FCCHK-".$line["id"]."\"></td>";
print "<td><a href=\"javascript:editFeedCat($cat_id);\">" .
$edit_title . "</a></td>";
@ -2145,21 +2129,21 @@
print "</table>";
print "<p>";
print "<p id=\"catOpToolbar\">";
if ($subop == "editCat") {
print "Edit category:&nbsp;
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\"
onclick=\"javascript:feedCatEditCancel()\" value=\"Cancel\">
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\"
onclick=\"javascript:feedCatEditSave()\" value=\"Save\">";
} else {
print "
Selection:&nbsp;
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:editSelectedFeedCat()\" value=\"Edit\">
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:removeSelectedFeedCats()\" value=\"Remove\">";
}
@ -2332,10 +2316,8 @@
print "<tr><td class=\"selectPrompt\" colspan=\"8\">
Select:
<a href=\"javascript:selectTableRowsByIdPrefix('prefFilterList',
'FILRR-', 'FICHK-', true)\">All</a>,
<a href=\"javascript:selectTableRowsByIdPrefix('prefFilterList',
'FILRR-', 'FICHK-', false)\">None</a>
<a href=\"javascript:selectPrefRows('filter', true)\">All</a>,
<a href=\"javascript:selectPrefRows('filter', false)\">None</a>
</td</tr>";
print "<tr class=\"title\">
@ -2369,7 +2351,7 @@
if (!$edit_filter_id || $subop != "edit") {
print "<td align='center'><input onclick='toggleSelectRow(this);'
print "<td align='center'><input onclick='toggleSelectPrefRow(this, \"filter\");'
type=\"checkbox\" id=\"FICHK-".$line["id"]."\"></td>";
print "<td><a href=\"javascript:editFilter($filter_id);\">" .
@ -2462,7 +2444,7 @@
print "</table>";
print "<p>";
print "<p id=\"filterOpToolbar\">";
if ($subop == "edit") {
print "Edit filter:
@ -2475,9 +2457,9 @@
print "
Selection:
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:editSelectedFilter()\" value=\"Edit\">
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:removeSelectedFilters()\" value=\"Remove\">";
}
@ -2620,10 +2602,8 @@
print "<tr><td class=\"selectPrompt\" colspan=\"8\">
Select:
<a href=\"javascript:selectTableRowsByIdPrefix('prefLabelList',
'LILRR-', 'LICHK-', true)\">All</a>,
<a href=\"javascript:selectTableRowsByIdPrefix('prefLabelList',
'LILRR-', 'LICHK-', false)\">None</a>
<a href=\"javascript:selectPrefRows('label', true)\">All</a>,
<a href=\"javascript:selectPrefRows('label', false)\">None</a>
</td</tr>";
print "<tr class=\"title\">
@ -2658,7 +2638,7 @@
if (!$line["description"]) $line["description"] = "[No caption]";
print "<td align='center'><input onclick='toggleSelectRow(this);'
print "<td align='center'><input onclick='toggleSelectPrefRow(this, \"label\");'
type=\"checkbox\" id=\"LICHK-".$line["id"]."\"></td>";
print "<td><a href=\"javascript:editLabel($label_id);\">" .
@ -2685,8 +2665,7 @@
"\"></td>";
print "<td><input id=\"iedit_descr\" value=\"".$line["description"].
"\"></td>";
"\"></td>";
}
@ -2701,7 +2680,7 @@
print "</table>";
print "<p>";
print "<p id=\"labelOpToolbar\">";
if ($subop == "edit") {
print "Edit label:
@ -2712,13 +2691,12 @@
<input type=\"submit\" class=\"button\"
onclick=\"javascript:labelEditCancel()\" value=\"Cancel\">";
} else {
} else {
print "
Selection:
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:editSelectedLabel()\" value=\"Edit\">
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:removeSelectedLabels()\" value=\"Remove\">";
}
} else {
@ -3394,28 +3372,37 @@
$tmp_user_pwd = make_password(8);
$pwd_hash = 'SHA1:' . sha1($tmp_user_pwd);
db_query($link, "INSERT INTO ttrss_users
(login,pwd_hash,access_level,last_login)
VALUES ('$login', '$pwd_hash', 0, NOW())");
$result = db_query($link, "SELECT id FROM ttrss_users WHERE
login = '$login' AND pwd_hash = '$pwd_hash'");
login = '$login'");
if (db_num_rows($result) == 1) {
$new_uid = db_fetch_result($result, 0, "id");
print "<div class=\"notice\">Added user <b>".$_GET["login"].
"</b> with password <b>$tmp_user_pwd</b>.</div>";
initialize_user($link, $new_uid);
if (db_num_rows($result) == 0) {
db_query($link, "INSERT INTO ttrss_users
(login,pwd_hash,access_level,last_login)
VALUES ('$login', '$pwd_hash', 0, NOW())");
$result = db_query($link, "SELECT id FROM ttrss_users WHERE
login = '$login' AND pwd_hash = '$pwd_hash'");
if (db_num_rows($result) == 1) {
$new_uid = db_fetch_result($result, 0, "id");
print "<div class=\"notice\">Added user <b>".$_GET["login"].
"</b> with password <b>$tmp_user_pwd</b>.</div>";
initialize_user($link, $new_uid);
} else {
print "<div class=\"warning\">Could not create user <b>".
$_GET["login"]."</b></div>";
}
} else {
print "<div class=\"warning\">Error while adding user <b>".
$_GET["login"].".</b></div>";
print "<div class=\"warning\">User <b>".
$_GET["login"]."</b> already exists.</div>";
}
}
} else if ($subop == "resetPass") {
@ -3481,10 +3468,8 @@
print "<tr><td class=\"selectPrompt\" colspan=\"8\">
Select:
<a href=\"javascript:selectTableRowsByIdPrefix('prefUserList',
'UMRR-', 'UMCHK-', true)\">All</a>,
<a href=\"javascript:selectTableRowsByIdPrefix('prefUserList',
'UMRR-', 'UMCHK-', false)\">None</a>
<a href=\"javascript:selectPrefRows('user', true)\">All</a>,
<a href=\"javascript:selectPrefRows('user', false)\">None</a>
</td</tr>";
print "<tr class=\"title\">
@ -3519,18 +3504,9 @@
$access_level_names = array(0 => "User", 10 => "Administrator");
/* if ($uid == $_SESSION["uid"]) {
if (!$edit_uid || $subop != "edit") {
print "<td align='center'><input disabled=\"true\" type=\"checkbox\"
id=\"UMCHK-".$line["id"]."\"></td>";
print "<td>".$line["login"]."</td>";
print "<td>".$line["email"]."</td>";
print "<td>".$line["access_level"]."</td>";
} else */ if (!$edit_uid || $subop != "edit") {
print "<td align='center'><input onclick='toggleSelectRow(this);'
print "<td align='center'><input onclick='toggleSelectPrefRow(this, \"user\");'
type=\"checkbox\" id=\"UMCHK-$uid\"></td>";
print "<td><a href=\"javascript:editUser($uid);\">" .
@ -3566,9 +3542,6 @@
print "<td><input id=\"iedit_email\" value=\"".$line["email"].
"\"></td>";
// print "<td><input id=\"iedit_ulevel\" value=\"".$line["access_level"].
// "\"></td>";
print "<td>";
print "<select id=\"iedit_ulevel\">";
foreach (array_keys($access_level_names) as $al) {
@ -3594,7 +3567,7 @@
print "</table>";
print "<p>";
print "<p id='userOpToolbar'>";
if ($subop == "edit") {
print "Edit user:
@ -3607,13 +3580,13 @@
print "
Selection:
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:selectedUserDetails()\" value=\"User details\">
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:editSelectedUser()\" value=\"Edit\">
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:removeSelectedUsers()\" value=\"Remove\">
<input type=\"submit\" class=\"button\"
<input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:resetSelectedUserPass()\" value=\"Reset password\">";
}

View file

@ -28,7 +28,6 @@ function xmlhttp_ready(obj) {
return obj.readyState == 4 || obj.readyState == 0 || !obj.readyState;
}
function notify_callback() {
var container = document.getElementById('notify');
if (xmlhttp.readyState == 4) {
@ -73,10 +72,31 @@ function delay(gap) {
}
}
function p_notify(msg) {
var notify_hide_timerid = false;
var notify_last_doc = false;
var n = parent.document.getElementById("notify");
var nb = parent.document.getElementById("notify_body");
function hide_notify() {
if (notify_last_doc) {
var n = notify_last_doc.getElementById("notify");
if (navigator.userAgent.match("Firefox")) {
if (notify_opacity >= 0) {
notify_opacity = notify_opacity - 0.2;
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) {
var n = doc.getElementById("notify");
var nb = doc.getElementById("notify_body");
if (!n || !nb) return;
@ -85,25 +105,25 @@ function p_notify(msg) {
} else {
n.style.display = "block";
}
nb.innerHTML = msg;
if (notify_hide_timerid) {
window.clearTimeout(notify_hide_timerid);
}
notify_last_doc = doc;
notify_opacity = 1;
notify_hide_timerid = window.setTimeout(hide_notify, 3000);
}
function p_notify(msg) {
notify_real(msg, parent.document);
}
function notify(msg) {
var n = document.getElementById("notify");
var nb = document.getElementById("notify_body");
if (!n || !nb) return;
if (msg == "") {
n.style.display = "none";
} else {
n.style.display = "block";
}
nb.innerHTML = msg;
notify_real(msg, document);
}
function printLockingError() {

View file

@ -182,7 +182,7 @@ function updateFeedList(sort_key) {
// document.getElementById("prefContent").innerHTML = "Loading feeds, please wait...";
p_notify("Loading, please wait...");
// p_notify("Loading, please wait...");
var feed_search = document.getElementById("feed_search");
var search = "";
@ -205,7 +205,7 @@ function updateUsersList() {
// document.getElementById("prefContent").innerHTML = "Loading feeds, please wait...";
p_notify("Loading, please wait...");
// p_notify("Loading, please wait...");
xmlhttp.open("GET", "backend.php?op=pref-users", true);
xmlhttp.onreadystatechange=userlist_callback;
@ -1220,7 +1220,7 @@ function updateFilterList() {
// document.getElementById("prefContent").innerHTML = "Loading filters, please wait...";
p_notify("Loading, please wait...");
// p_notify("Loading, please wait...");
xmlhttp.open("GET", "backend.php?op=pref-filters", true);
xmlhttp.onreadystatechange=filterlist_callback;
@ -1235,7 +1235,7 @@ function updateLabelList() {
return
}
p_notify("Loading, please wait...");
// p_notify("Loading, please wait...");
// document.getElementById("prefContent").innerHTML = "Loading labels, please wait...";
@ -1251,7 +1251,7 @@ function updatePrefsList() {
return
}
p_notify("Loading, please wait...");
// p_notify("Loading, please wait...");
xmlhttp.open("GET", "backend.php?op=pref-prefs", true);
xmlhttp.onreadystatechange=prefslist_callback;
@ -1417,7 +1417,7 @@ function updateBigFeedBrowser(limit) {
return
}
p_notify("Loading, please wait...");
// p_notify("Loading, please wait...");
var query = "backend.php?op=pref-feed-browser";
@ -1471,3 +1471,81 @@ function validateNewPassword(form) {
}
return true;
}
function selectPrefRows(kind, select) {
if (kind) {
var opbarid = false;
var nchk = false;
var nrow = false;
var lname = false;
if (kind == "feed") {
opbarid = "feedOpToolbar";
nrow = "FEEDR-";
nchk = "FRCHK-";
lname = "prefFeedList";
} else if (kind == "fcat") {
opbarid = "catOpToolbar";
nrow = "FCATR-";
nchk = "FCHK-";
lname = "prefFeedCatList";
} else if (kind == "filter") {
opbarid = "filterOpToolbar";
nrow = "FILRR-";
nchk = "FICHK-";
lname = "prefFilterList";
} else if (kind == "label") {
opbarid = "labelOpToolbar";
nrow = "LILRR-";
nchk = "LCHK-";
lname = "prefLabelList";
} else if (kind == "user") {
opbarid = "userOpToolbar";
nrow = "UMRR-";
nchk = "UMCHK-";
lname = "prefUserList";
}
if (opbarid) {
selectTableRowsByIdPrefix(lname, nrow, nchk, select);
disableContainerChildren(opbarid, !select);
}
}
}
function toggleSelectPrefRow(sender, kind) {
toggleSelectRow(sender);
if (kind) {
var opbarid = false;
var nsel = -1;
if (kind == "feed") {
opbarid = "feedOpToolbar";
nsel = getSelectedFeeds();
} else if (kind == "fcat") {
opbarid = "catOpToolbar";
nsel = getSelectedFeedCats();
} else if (kind == "filter") {
opbarid = "filterOpToolbar";
nsel = getSelectedFilters();
} else if (kind == "label") {
opbarid = "labelOpToolbar";
nsel = getSelectedLabels();
} else if (kind == "user") {
opbarid = "userOpToolbar";
nsel = getSelectedUsers();
}
if (opbarid && nsel != -1) {
disableContainerChildren(opbarid, nsel == false);
}
}
}

View file

@ -299,13 +299,16 @@ td.notifyBox {
background : #fff7d5;
border : 1px solid #d7c47a;
padding : 3px;
top : 2px;
right : 2px;
float : right;
top : 25px;
right : 150px;
min-width : 300px;
position : absolute;
-moz-border-radius : 3px;
font-size : x-small;
font-weight : bold;
text-align : center;
float : right;
padding : 3px 20px 3px 20px;
}
#dispSwitch {
@ -522,23 +525,26 @@ div.helpResponse {
#infoBoxTitle {
border-width : 1px 1px 1px 1px;
border-style : solid;
border-color : #88b0f0;
background-color : #88b0f0;
padding : 2px;
color : white;
border-style : solid;
border-color : #88b0f0;
background-color : #88b0f0;
padding : 2px;
color : white;
}
#infoBox {
border-width : 1px 1px 1px 1px;
border-style : solid;
border-color : #88b0f0;
border-style : solid;
border-color : #88b0f0;
font-size : small;
position : relative;
bottom : 2px;
right : 2px;
background-color : #ecf4ff;
padding-bottom : 5px;
padding-bottom : 5px;
background-image : url("images/prefs-content.png");
background-position : top left;
background-repeat : repeat-x;
background-color : white;
}
#infoBoxShadow {