diff options
author | Andrew Dolgov <[email protected]> | 2005-11-25 16:14:45 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2005-11-25 16:14:45 +0100 |
commit | 35f3c923c47a94af018ff2b41d8c37a5956a9d37 (patch) | |
tree | b443eb4f10c750d02bef2abd97386a7025963d12 | |
parent | 04f6df27b991f9811ab4ee1b79151f7c1667df36 (diff) |
select all/none prompt for pref tables + related API
-rw-r--r-- | backend.php | 50 | ||||
-rw-r--r-- | functions.js | 39 | ||||
-rw-r--r-- | tt-rss.css | 5 |
3 files changed, 89 insertions, 5 deletions
diff --git a/backend.php b/backend.php index a831028aa..aa0c271a1 100644 --- a/backend.php +++ b/backend.php @@ -1187,8 +1187,16 @@ if (db_num_rows($result) != 0) { print "<div id=\"infoBoxShadow\"><div id=\"infoBox\">PLACEHOLDER</div></div>"; - + print "<p><table width=\"100%\" class=\"prefFeedList\" id=\"prefFeedList\">"; + print "<tr><td class=\"selectPrompt\" colspan=\"8\"> + Select: + <a href=\"javascript:selectTableRowsByIdPrefix('prefFeedList', + 'FEEDR-', true)\">All</a>, + <a href=\"javascript:selectTableRowsByIdPrefix('prefFeedList', + 'FEEDR-', false)\">None</a> + </td</tr>"; + print "<tr class=\"title\"> <td width=\"3%\"> </td> <td width=\"3%\">Select</td> @@ -1415,7 +1423,17 @@ if (db_num_rows($result) != 0) { - print "<p><table width=\"100%\" class=\"prefFeedCatList\" id=\"prefFeedCatList\">"; + print "<p><table width=\"100%\" class=\"prefFeedCatList\" + id=\"prefFeedCatList\">"; + + print "<tr><td class=\"selectPrompt\" colspan=\"8\"> + Select: + <a href=\"javascript:selectTableRowsByIdPrefix('prefFeedCatList', + 'FCATR-', true)\">All</a>, + <a href=\"javascript:selectTableRowsByIdPrefix('prefFeedCatList', + 'FCATR-', false)\">None</a> + </td</tr>"; + print "<tr class=\"title\"> <td width=\"10%\">Select</td><td width=\"80%\">Title</td> </tr>"; @@ -1614,7 +1632,15 @@ if (db_num_rows($result) != 0) { print "<p><table width=\"100%\" class=\"prefFilterList\" id=\"prefFilterList\">"; - + + print "<tr><td class=\"selectPrompt\" colspan=\"8\"> + Select: + <a href=\"javascript:selectTableRowsByIdPrefix('prefFilterList', + 'FILRR-', true)\">All</a>, + <a href=\"javascript:selectTableRowsByIdPrefix('prefFilterList', + 'FILRR-', false)\">None</a> + </td</tr>"; + print "<tr class=\"title\"> <td width=\"5%\">Select</td><td width=\"30%\">Filter expression</td> <td width=\"30%\">Feed</td><td width=\"10%\">Match</td> @@ -1865,7 +1891,15 @@ if (db_num_rows($result) != 0) { print "<p><table width=\"100%\" class=\"prefLabelList\" id=\"prefLabelList\">"; - + + print "<tr><td class=\"selectPrompt\" colspan=\"8\"> + Select: + <a href=\"javascript:selectTableRowsByIdPrefix('prefLabelList', + 'LILRR-', true)\">All</a>, + <a href=\"javascript:selectTableRowsByIdPrefix('prefLabelList', + 'LILRR-', false)\">None</a> + </td</tr>"; + print "<tr class=\"title\"> <td width=\"5%\">Select</td><td width=\"40%\">SQL expression <a class=\"helpLink\" href=\"javascript:popupHelp(1)\">(?)</a> @@ -2468,6 +2502,14 @@ print "<p><table width=\"100%\" class=\"prefUserList\" id=\"prefUserList\">"; + print "<tr><td class=\"selectPrompt\" colspan=\"8\"> + Select: + <a href=\"javascript:selectTableRowsByIdPrefix('prefUserList', + 'UMRR-', true)\">All</a>, + <a href=\"javascript:selectTableRowsByIdPrefix('prefUserList', + 'UMRR-', false)\">None</a> + </td</tr>"; + print "<tr class=\"title\"> <td width=\"5%\">Select</td> <td width='30%'>Username</td> diff --git a/functions.js b/functions.js index fcf22b73b..c03e623f2 100644 --- a/functions.js +++ b/functions.js @@ -199,7 +199,21 @@ function getLastVisibleHeadlineId() { function markHeadline(id) { var row = document.getElementById("RROW-" + id); if (row) { - row.className = row.className + "Selected"; + var is_active = false; + + if (row.className.match("Active")) { + is_active = true; + } + row.className = row.className.replace("Selected", ""); + row.className = row.className.replace("Active", ""); + row.className = row.className.replace("Insensitive", ""); + + if (is_active) { + row.className = row.className = "Active"; + } + + row.className = row.className + "Selected"; + } } @@ -427,7 +441,30 @@ function hideOrShowFeeds(doc, hide) { function fatalError(code) { window.location = "error.php?c=" + param_escape(code); +} + +function selectTableRow(r, do_select) { + r.className = r.className.replace("Selected", ""); + + if (do_select) { + r.className = r.className + "Selected"; + } +} + +function selectTableRowsByIdPrefix(content_id, prefix, do_select) { + var content = document.getElementById(content_id); + + if (!content) { + alert("[selectTableRows] Element " + content_id + " not found."); + return; + } + + for (i = 0; i < content.rows.length; i++) { + if (content.rows[i].id.match(prefix)) { + selectTableRow(content.rows[i], do_select); + } + } } function getSelectedTableRowIds(content_id, prefix) { diff --git a/tt-rss.css b/tt-rss.css index 6c9735c4c..d32a39088 100644 --- a/tt-rss.css +++ b/tt-rss.css @@ -666,3 +666,8 @@ table.innerFeedTable td { margin : 0px; padding : 0px; } + +td.selectPrompt { + font-size : x-small; + color : gray; +} |