From f06f201f1ec4fb749c4ae4500f97517ca9883945 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 21 Mar 2013 09:21:14 +0400 Subject: tweak cdmExpandArticle behavior with scrolling (refs #604) --- js/viewfeed.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index 4c6d90366..a557b1b18 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1348,7 +1348,6 @@ function cdmCollapseArticle(event, id) { function cdmExpandArticle(id) { try { - console.log("cdmExpandArticle " + id); hideAuxDlg(); @@ -1373,10 +1372,6 @@ function cdmExpandArticle(id) { setActiveArticleId(id); - if (!getInitParam("cdm_expanded")) { - cdmScrollToArticleId(id, true); - } - elem = $("CICD-" + id); var collapse = $$("div#RROW-" + id + @@ -1395,12 +1390,12 @@ function cdmExpandArticle(id) { Element.show(collapse); } - /* var new_offset = $("RROW-" + id).offsetTop; + var new_offset = $("RROW-" + id).offsetTop; $("headlines-frame").scrollTop += (new_offset-old_offset); - if ($("RROW-" + id).offsetTop != old_offset) - $("headlines-frame").scrollTop = new_offset; */ +// if ($("RROW-" + id).offsetTop != old_offset) +// $("headlines-frame").scrollTop = new_offset; toggleUnread(id, 0, true); toggleSelected(id); -- cgit v1.2.3-54-g00ecf From 5b9cb07d0169e0b1888398c0473c690d7476e12b Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 21 Mar 2013 09:32:04 +0400 Subject: tweak cdmExpandArticle behavior with scrolling (refs #604) (2) --- js/viewfeed.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index a557b1b18..014946af8 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1392,10 +1392,8 @@ function cdmExpandArticle(id) { var new_offset = $("RROW-" + id).offsetTop; - $("headlines-frame").scrollTop += (new_offset-old_offset); - -// if ($("RROW-" + id).offsetTop != old_offset) -// $("headlines-frame").scrollTop = new_offset; + if (old_offset > new_offset) + $("headlines-frame").scrollTop -= (old_offset-new_offset); toggleUnread(id, 0, true); toggleSelected(id); -- cgit v1.2.3-54-g00ecf From 7b7daed93bef10c96043c8c2d1ea0d8f39037e79 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 21 Mar 2013 09:36:13 +0400 Subject: moveToPost: tweak unexpanded 'next' behavior --- js/viewfeed.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index 014946af8..e09a3a5ee 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -541,7 +541,7 @@ function moveToPost(mode, noscroll) { } else if (next_id) { cdmExpandArticle(next_id); - cdmScrollToArticleId(next_id, noscroll); + cdmScrollToArticleId(next_id, true); } } else if (next_id) { -- cgit v1.2.3-54-g00ecf From 24c215e2bb7ffeebbfb974c8cc20ebbe959e7bdb Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 21 Mar 2013 09:38:25 +0400 Subject: moveToPost: tweak unexpanded 'prev' behavior --- js/viewfeed.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index e09a3a5ee..eee8df772 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -560,8 +560,13 @@ function moveToPost(mode, noscroll) { var ctr = $("headlines-frame"); if (!getInitParam("cdm_expanded")) { - cdmExpandArticle(prev_id); - cdmScrollToArticleId(prev_id, true); + + if (!noscroll && article.offsetTop < ctr.scrollTop) { + scrollArticle(-ctr.offsetHeight/3); + } else { + cdmExpandArticle(prev_id); + cdmScrollToArticleId(prev_id, true); + } } else { if (!noscroll && article && article.offsetTop < ctr.scrollTop) { -- cgit v1.2.3-54-g00ecf From b74c51342896f4f01a742dcad82fc8afa753c036 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 21 Mar 2013 10:34:36 +0400 Subject: experimental: limit initialized html content for expanded cdm --- classes/feeds.php | 10 +++++----- js/viewfeed.js | 22 +++++++++++++++++++++- 2 files changed, 26 insertions(+), 6 deletions(-) (limited to 'js/viewfeed.js') diff --git a/classes/feeds.php b/classes/feeds.php index caf22322c..79aaa8e55 100644 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -624,14 +624,14 @@ class Feeds extends Handler_Protected { $reply['content'] .= ""; - if (!$expand_cdm) { - $reply['content'] .= ""; +// if (!$expand_cdm) { + $reply['content'] .= ""; $reply['content'] .= htmlspecialchars($line["content"]); $reply['content'] .= " div[id*=RROW]").each( + function(child) { + if (child.offsetTop <= $("headlines-frame").scrollTop + + $("headlines-frame").offsetHeight) { + + var cencw = $("CENCW-" + child.id.replace("RROW-", "")); + + if (cencw) { + cencw.innerHTML = htmlspecialchars_decode(cencw.innerHTML); + cencw.setAttribute('id', ''); + Element.show(cencw); + } + } + } + ); + + if (!_infscroll_disable) { if ((hsp && e.scrollTop + e.offsetHeight >= hsp.offsetTop - hsp.offsetHeight) || (e.scrollHeight != 0 && @@ -1197,7 +1216,7 @@ function headlines_scroll_handler(e) { $$("#headlines-frame > div[id*=RROW][class*=Unread]").each( function(child) { - if ($("headlines-frame").scrollTop > + if (child.hasClassName("Unread") && $("headlines-frame").scrollTop > (child.offsetTop + child.offsetHeight/2)) { var id = child.id.replace("RROW-", ""); @@ -1388,6 +1407,7 @@ function cdmExpandArticle(id) { if (cencw) { cencw.innerHTML = htmlspecialchars_decode(cencw.innerHTML); cencw.setAttribute('id', ''); + Element.show(cencw); } Element.show(elem); -- cgit v1.2.3-54-g00ecf