summaryrefslogtreecommitdiff
path: root/mobile
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2008-08-01 05:15:36 +0100
committerAndrew Dolgov <[email protected]>2008-08-01 05:15:36 +0100
commit8f3151a0f7fd6dccdfab0af7efe8021febd4b356 (patch)
treef0a967482313b1303c2c0b554ad185c3e276c718 /mobile
parent1ab5fe9e37981c1d528e8cabfd5e2525ac558a57 (diff)
mobile: add js links to batch select headlines
Diffstat (limited to 'mobile')
-rw-r--r--mobile/functions.php16
-rw-r--r--mobile/tt-rss.js98
2 files changed, 100 insertions, 14 deletions
diff --git a/mobile/functions.php b/mobile/functions.php
index 606a42a2f..e5904d7b2 100644
--- a/mobile/functions.php
+++ b/mobile/functions.php
@@ -468,7 +468,7 @@
print "<input type=\"hidden\" name=\"id\" value=\"$feed\">";
print "<input type=\"hidden\" name=\"cat\" value=\"$cat_view\">";
- print "<ul class=\"headlines\">";
+ print "<ul class=\"headlines\" id=\"headlines\">";
$page_art_ids = array();
@@ -529,8 +529,8 @@
print "<li class='$class' id=\"HROW-$id\">";
- print "<input type=\"checkbox\" name=\"sel_ids[$id]\"
- onchange=\"toggleSelectRow(this, $id)\">";
+ print "<input type=\"checkbox\" name=\"sel_ids[$id]\"
+ id=\"HSCB-$id\" onchange=\"toggleSelectRow(this, $id)\">";
print "<a href=\"?go=vf&id=$feed&ts=$id&cat=$cat_view\">$marked_pic</a>";
print "<a href=\"?go=vf&id=$feed&tp=$id&cat=$cat_view\">$published_pic</a>";
@@ -559,13 +559,21 @@
/* print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=MarkPageRead\">Page</a>, ";
print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=MarkAllRead\">Feed</a></div>"; */
+ print "Select:
+ <a href=\"javascript:selectHeadlines(1)\">All</a>,
+ <a href=\"javascript:selectHeadlines(2)\">Unread</a>,
+ <a href=\"javascript:selectHeadlines(3)\">None</a>,
+ <a href=\"javascript:selectHeadlines(4)\">Invert</a>";
+
+ print " ";
+
print "<select name=\"catchup_op\">
<option value=\"selection\">Selection</option>
<option value=\"page\">Page</option>
<option value=\"feed\">Entire feed</option>
</select>
<input type=\"hidden\" name=\"cat\" value=\"$cat_view\">
- <input type=\"submit\" value=\"Mark as read\">";
+ <input type=\"submit\" value=\"Mark as read\">";
print "</form>";
diff --git a/mobile/tt-rss.js b/mobile/tt-rss.js
index 942122c7a..599e00725 100644
--- a/mobile/tt-rss.js
+++ b/mobile/tt-rss.js
@@ -1,16 +1,94 @@
function toggleSelectRow(cb, id) {
- var row = document.getElementById("HROW-" + id);
- var checked = cb.checked;
- if (row) {
- var unread = row.className.match("Unread");
- var new_classname = row.className;
+ try {
- new_classname = new_classname.replace("Selected", "");
- new_classname = new_classname.replace("Unread", "");
+ var row = document.getElementById("HROW-" + id);
+ var checked = cb.checked;
+ if (row) {
+ var unread = row.className.match("Unread");
+ var new_classname = row.className;
- if (unread) new_classname = new_classname + "Unread";
- if (checked) new_classname = new_classname + "Selected";
+ new_classname = new_classname.replace("Selected", "");
+ new_classname = new_classname.replace("Unread", "");
- row.className = new_classname;
+ if (unread) new_classname = new_classname + "Unread";
+ if (checked) new_classname = new_classname + "Selected";
+
+ row.className = new_classname;
+ }
+ } catch (e) {
+ exception_error("toggleSelectRow", e);
+ }
+}
+
+function selectHeadlines(mode) {
+ try {
+
+ var cboxes = document.getElementsByTagName("INPUT");
+
+ for (var i = 0; i < cboxes.length; i++) {
+ if (cboxes[i].id && cboxes[i].id.match("HSCB-")) {
+ var row_id = cboxes[i].id.replace("HSCB-", "")
+ var row = document.getElementById("HROW-" + row_id);
+
+ if (row) {
+
+ if (mode == 1) {
+ cboxes[i].checked = true;
+ toggleSelectRow(cboxes[i], row_id);
+ }
+
+ if (mode == 2) {
+
+ var unread = row.className.match("Unread");
+
+ if (unread) {
+ cboxes[i].checked = true;
+ } else {
+ cboxes[i].checked = false;
+ }
+ }
+
+ if (mode == 3) {
+ cboxes[i].checked = false;
+ }
+
+ if (mode == 4) {
+ cboxes[i].checked = !cboxes[i].checked;
+ }
+
+ toggleSelectRow(cboxes[i], row_id);
+
+ }
+
+ }
+
+ }
+
+ } catch (e) {
+ exception_error("selectHeadlines", e);
+ }
+}
+
+function exception_error(location, e, silent) {
+ var msg;
+
+ if (e.fileName) {
+ var base_fname = e.fileName.substring(e.fileName.lastIndexOf("/") + 1);
+
+ msg = "Exception: " + e.name + ", " + e.message +
+ "\nFunction: " + location + "()" +
+ "\nLocation: " + base_fname + ":" + e.lineNumber;
+
+ } else if (e.description) {
+ msg = "Exception: " + e.description + "\nFunction: " + location + "()";
+ } else {
+ msg = "Exception: " + e + "\nFunction: " + location + "()";
+ }
+
+ debug("<b>EXCEPTION: " + msg + "</b>");
+
+ if (!silent) {
+ alert(msg);
}
}
+