From e43a9c4a01bf095b740e35711c79f6a0ca3374ba Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 15 Apr 2013 13:16:14 +0400 Subject: add a %d articles selected element --- js/viewfeed.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index da5ded64f..519ab3449 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -639,11 +639,33 @@ function toggleSelected(id, force_on) { if (cb) cb.attr("checked", true); } } + + updateSelectedPrompt(); } catch (e) { exception_error("toggleSelected", e); } } +function updateSelectedPrompt() { + try { + var count = getSelectedArticleIds2().size(); + var elem = $("selected_prompt"); + + if (elem) { + elem.innerHTML = ngettext("%d article selected", + "%d articles selected", count).replace("%d", count); + + if (count > 0) + Element.show(elem); + else + Element.hide(elem); + } + + } catch (e) { + exception_error("updateSelectedPrompt", e); + } +} + function toggleUnread_afh(effect) { try { @@ -960,6 +982,8 @@ function selectArticles(mode) { } }); + updateSelectedPrompt(); + } catch (e) { exception_error("selectArticles", e); } -- cgit v1.2.3 From 40fe2d73821788e7c202191dc7b94b025585d338 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 16 Apr 2013 15:44:38 +0400 Subject: remove js-based player, better mp3 support detection for html5 audio --- js/viewfeed.js | 28 ---------------------------- 1 file changed, 28 deletions(-) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index 519ab3449..ddee1e461 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -2027,34 +2027,6 @@ function initHeadlinesMenu() { } } - -function player(elem) { - var aid = elem.getAttribute("audio-id"); - var status = elem.getAttribute("status"); - - var audio = $(aid); - - if (audio) { - if (status == 0) { - audio.play(); - status = 1; - elem.innerHTML = __("Playing..."); - elem.title = __("Click to pause"); - elem.addClassName("playing"); - } else { - audio.pause(); - status = 0; - elem.innerHTML = __("Play"); - elem.title = __("Click to play"); - elem.removeClassName("playing"); - } - - elem.setAttribute("status", status); - } else { - alert("Your browser doesn't seem to support HTML5 audio."); - } -} - function cache_set(id, obj) { //console.log("cache_set: " + id); if (has_storage) -- cgit v1.2.3 From 8d388f321b22691246393e3f812d42ab388c8c42 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 24 Apr 2013 19:49:37 +0400 Subject: add a simple JS-based hook host --- js/viewfeed.js | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index ddee1e461..14ef2f816 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -232,6 +232,8 @@ function render_article(article) { c.domNode.scrollTop = 0; } catch (e) { }; + PluginHost.run(PluginHost.HOOK_ARTICLE_RENDERED, article); + c.attr('content', article); correctHeadlinesOffset(getActiveArticleId()); @@ -1193,6 +1195,7 @@ function cdmScrollToArticleId(id, force) { function setActiveArticleId(id) { _active_article_id = id; + PluginHost.run(PluginHost.HOOK_ARTICLE_SET_ACTIVE, _active_article_id); } function getActiveArticleId() { @@ -1219,6 +1222,8 @@ function unpackVisibleHeadlines() { var cencw = $("CENCW-" + child.id.replace("RROW-", "")); if (cencw) { + PluginHost.run(PluginHost.HOOK_ARTICLE_RENDERED_CDM, child); + cencw.innerHTML = htmlspecialchars_decode(cencw.innerHTML); cencw.setAttribute('id', ''); Element.show(cencw); -- cgit v1.2.3 From 06a02265c47fc17bc45fe5222581873fc652ab61 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 25 Apr 2013 09:43:36 +0400 Subject: inject headlines-spacer even if cdm auto catchup is disabled --- js/viewfeed.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index 14ef2f816..96919dc01 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -43,9 +43,7 @@ function headlines_callback2(transport, offset, background, infscroll_req) { if (background) { var content = reply['headlines']['content']; - if (getInitParam("cdm_auto_catchup") == 1) { - content = content + "
"; - } + content = content + "
"; return; } @@ -93,11 +91,9 @@ function headlines_callback2(transport, offset, background, infscroll_req) { } }); - if (getInitParam("cdm_auto_catchup") == 1) { - var hsp = $("headlines-spacer"); - if (!hsp) hsp = new Element("DIV", {"id": "headlines-spacer"}); - dijit.byId('headlines-frame').domNode.appendChild(hsp); - } + var hsp = $("headlines-spacer"); + if (!hsp) hsp = new Element("DIV", {"id": "headlines-spacer"}); + dijit.byId('headlines-frame').domNode.appendChild(hsp); initHeadlinesMenu(); -- cgit v1.2.3 From 2779e22bf5eb8eab0af91138e0d613f604a60a1a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 25 Apr 2013 10:09:40 +0400 Subject: js: add collapsed and expanded hooks --- js/viewfeed.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index 96919dc01..da869d92a 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1416,6 +1416,8 @@ function cdmCollapseArticle(event, id) { } if (event) Event.stop(event); + + PluginHost.run(PluginHost.HOOK_ARTICLE_COLLAPSED, id); } } catch (e) { @@ -1503,6 +1505,8 @@ function cdmExpandArticle(id, noexpand) { toggleSelected(id); $("RROW-" + id).addClassName("active"); + PluginHost.run(PluginHost.HOOK_ARTICLE_EXPANDED, id); + } catch (e) { exception_error("cdmExpandArticle", e); } -- cgit v1.2.3 From 204f9b186ff903bb5638320ba73614a6a89e2d6d Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 25 Apr 2013 14:04:49 +0400 Subject: remove cdmUnexpandArticle --- js/viewfeed.js | 36 ++++++++++-------------------------- 1 file changed, 10 insertions(+), 26 deletions(-) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index da869d92a..ada225cbf 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1395,8 +1395,10 @@ function catchupRelativeToArticle(below, id) { } } -function cdmCollapseArticle(event, id) { +function cdmCollapseArticle(event, id, unmark) { try { + if (unmark == undefined) unmark = true; + var row = $("RROW-" + id); var elem = $("CICD-" + id); @@ -1407,12 +1409,15 @@ function cdmCollapseArticle(event, id) { Element.hide(elem); Element.show("CEXC-" + id); Element.hide(collapse); - row.removeClassName("active"); - markHeadline(id, false); + if (unmark) { + row.removeClassName("active"); + + markHeadline(id, false); - if (id == getActiveArticleId()) { - setActiveArticleId(0); + if (id == getActiveArticleId()) { + setActiveArticleId(0); + } } if (event) Event.stop(event); @@ -1425,27 +1430,6 @@ function cdmCollapseArticle(event, id) { } } -function cdmUnexpandArticle(event, id) { - try { - var row = $("RROW-" + id); - var elem = $("CICD-" + id); - - if (elem && row) { - var collapse = $$("div#RROW-" + id + - " span[class='collapseBtn']")[0]; - - Element.hide(elem); - Element.show("CEXC-" + id); - Element.hide(collapse); - - if (event) Event.stop(event); - } - - } catch (e) { - exception_error("cdmUnexpandArticle", e); - } -} - function cdmExpandArticle(id, noexpand) { try { console.log("cdmExpandArticle " + id); -- cgit v1.2.3 From ea18cceaca2fb7562f07a78248fcc15469413629 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 2 May 2013 09:48:38 +0400 Subject: remove splash before freshfeed is loaded --- js/viewfeed.js | 2 -- 1 file changed, 2 deletions(-) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index ada225cbf..3e78f4ca9 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -20,8 +20,6 @@ function headlines_callback2(transport, offset, background, infscroll_req) { try { handle_rpc_json(transport); - loading_set_progress(25); - console.log("headlines_callback2 [offset=" + offset + "] B:" + background + " I:" + infscroll_req); var is_cat = false; -- cgit v1.2.3 From b43b92928a37a5fa431a2f11ac5d3b4abf692fbc Mon Sep 17 00:00:00 2001 From: Jeffrey Tolar Date: Thu, 2 May 2013 18:15:41 -0500 Subject: Update selected count when collapsing an article --- js/viewfeed.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index 3e78f4ca9..75dd64f11 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1416,6 +1416,8 @@ function cdmCollapseArticle(event, id, unmark) { if (id == getActiveArticleId()) { setActiveArticleId(0); } + + updateSelectedPrompt(); } if (event) Event.stop(event); -- cgit v1.2.3 From 8d090a910b7e2d4d1b26e734c09eaa773b853804 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 4 May 2013 12:01:53 +0400 Subject: use css nth-child instead of old even/odd class hacks for normal mode --- js/viewfeed.js | 25 ------------------------- 1 file changed, 25 deletions(-) (limited to 'js/viewfeed.js') diff --git a/js/viewfeed.js b/js/viewfeed.js index 3e78f4ca9..0e1e9cdba 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -134,8 +134,6 @@ function headlines_callback2(transport, offset, background, infscroll_req) { if (!hsp) hsp = new Element("DIV", {"id": "headlines-spacer"}); - fixHeadlinesOrder(getLoadedArticleIds()); - if (getInitParam("cdm_auto_catchup") == 1) { c.domNode.appendChild(hsp); } @@ -1496,26 +1494,6 @@ function cdmExpandArticle(id, noexpand) { return false; } -function fixHeadlinesOrder(ids) { - try { - for (var i = 0; i < ids.length; i++) { - var e = $("RROW-" + ids[i]); - - if (e) { - if (i % 2 == 0) { - e.removeClassName("even"); - e.addClassName("odd"); - } else { - e.removeClassName("odd"); - e.addClassName("even"); - } - } - } - } catch (e) { - exception_error("fixHeadlinesOrder", e); - } -} - function getArticleUnderPointer() { return post_under_pointer; } @@ -1596,7 +1574,6 @@ function dismissSelectedArticles() { if (sel.length > 0) selectionToggleUnread(false); - fixHeadlinesOrder(tmp); } catch (e) { exception_error("dismissSelectedArticles", e); @@ -1621,8 +1598,6 @@ function dismissReadArticles() { } } - fixHeadlinesOrder(tmp); - } catch (e) { exception_error("dismissSelectedArticles", e); } -- cgit v1.2.3