summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2007-08-11 04:29:51 +0100
committerAndrew Dolgov <[email protected]>2007-08-11 04:29:51 +0100
commit731b05f4a236cbdf7043464d5aa9eee1bee95114 (patch)
treef546f5f293eb2530841f5551c29ba1f5f8ec774e
parent7a64852c8e4136b4eadd0523d0a4386421392b6c (diff)
simplify getRelativeFeedId
-rw-r--r--feedlist.js8
-rw-r--r--functions.js49
2 files changed, 51 insertions, 6 deletions
diff --git a/feedlist.js b/feedlist.js
index 8c0420d0e..eca867870 100644
--- a/feedlist.js
+++ b/feedlist.js
@@ -208,6 +208,14 @@ function toggleCollapseCat(cat) {
} */
+ if (cat == 0) {
+ if (Element.visible("FCATLIST-" + cat)) {
+ setCookie("ttrss_vf_uclps", "1");
+ } else {
+ setCookie("ttrss_vf_uclps", "0");
+ }
+ }
+
Effect.toggle('FCATLIST-' + cat, 'blind', { duration: 0.5 });
new Ajax.Request("backend.php?op=feeds&subop=collapse&cid=" +
diff --git a/functions.js b/functions.js
index 0a65903c4..15ebdb816 100644
--- a/functions.js
+++ b/functions.js
@@ -1208,8 +1208,45 @@ function openExternalUrl(url) {
}
function getRelativeFeedId(list, id, direction, unread_only) {
+ var rows = list.getElementsByTagName("LI");
+ var feeds = new Array();
+
+ for (var i = 0; i < rows.length; i++) {
+ if (rows[i].id.match("FEEDR-")) {
+
+ if (Element.visible(rows[i]) && Element.visible(rows[i].parentNode)) {
+
+ if (!unread_only ||
+ (rows[i].className.match("Unread") || rows[i].id == "FEEDR-" + id)) {
+ feeds.push(rows[i].id.replace("FEEDR-", ""));
+ }
+ }
+ }
+ }
+
if (!id) {
if (direction == "next") {
+ return feeds.shift();
+ } else {
+ return feeds.pop();
+ }
+ } else {
+ if (direction == "next") {
+ var idx = feeds.indexOf(id);
+ if (idx != -1 && idx < feeds.length) {
+ return feeds[idx+1];
+ }
+ } else {
+ var idx = feeds.indexOf(id);
+ if (idx > 0) {
+ return feeds[idx-1];
+ }
+ }
+
+ }
+
+/* if (!id) {
+ if (direction == "next") {
for (i = 0; i < list.childNodes.length; i++) {
var child = list.childNodes[i];
if (child.id && child.id == "feedCatHolder") {
@@ -1228,7 +1265,7 @@ function getRelativeFeedId(list, id, direction, unread_only) {
if (direction == "prev") {
for (i = list.childNodes.length-1; i >= 0; i--) {
var child = list.childNodes[i];
- if (child.id == "feedCatHolder" && child.className != "invisible") {
+ if (child.id == "feedCatHolder" && Element.visible(child)) {
if (child.firstChild) {
var cr = getRelativeFeedId(child.firstChild, id, direction);
if (cr) return cr;
@@ -1286,8 +1323,8 @@ function getRelativeFeedId(list, id, direction, unread_only) {
if (e) {
if (!unread_only || (unread_only && e.className != "feed" &&
e.className.match("feed"))) {
- if (e.parentNode.parentNode && e.parentNode.parentNode.className
- != "invisible") {
+ if (e.parentNode.parentNode &&
+ Element.visible(e.parentNode.parentNode)) {
return e.id.replace("FEEDR-", "");
}
}
@@ -1326,15 +1363,15 @@ function getRelativeFeedId(list, id, direction, unread_only) {
if (e) {
if (!unread_only || (unread_only && e.className != "feed" &&
e.className.match("feed"))) {
- if (e.parentNode.parentNode && e.parentNode.parentNode.className
- != "invisible") {
+ if (e.parentNode.parentNode &&
+ Element.visible(e.parentNode.parentNode)) {
return e.id.replace("FEEDR-", "");
}
}
}
}
}
- }
+ } */
}
function showBlockElement(id, h_id) {