diff --git a/css/cdm.css b/css/cdm.css index 2d0797db..98fd4edf 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -110,6 +110,10 @@ div.cdm.expandable div.cdmHeader span.titleWrap { max-width : 500px; } +div.cdm.expandable.active div.cdmHeader span.titleWrap { + white-space : normal; +} + div.cdm.expandable div.cdmHeader a.title { font-weight : bold; color : #555; @@ -230,11 +234,11 @@ div.cdmHeader span.author { div#floatingTitle { position : absolute; z-index : 5; - top : 26px; + top : 25px; right : 0px; left : 0px; border-color : #ccc; - border-width : 0px 0px 1px 0px; + border-width : 1px 0px 1px 0px; border-style : solid; background : #fcfcfc; color : #555; @@ -278,6 +282,12 @@ div#floatingTitle div.hlFeed { white-space : nowrap; } +div#floatingTitle div.hlFeed a { + border-radius : 4px; + display : inline-block; + padding : 1px 4px 1px 4px; +} + div#floatingTitle span.updated { padding-right : 10px; white-space : nowrap; @@ -291,6 +301,7 @@ div#floatingTitle div.hlFeed a { div#floatingTitle span.titleWrap { width : 100%; + white-space : normal; } div#floatingTitle .dijit, diff --git a/js/viewfeed.js b/js/viewfeed.js index ec770654..1785fe3f 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1315,7 +1315,7 @@ function headlines_scroll_handler(e) { if (hsp) hsp.innerHTML = ""; } - if (getInitParam("cdm_expanded") && isCdmMode()) { + if (isCdmMode()) { updateFloatingTitle(); } @@ -1489,6 +1489,12 @@ function cdmCollapseArticle(event, id, unmark) { if (event) Event.stop(event); PluginHost.run(PluginHost.HOOK_ARTICLE_COLLAPSED, id); + + if (row.offsetTop < $("headlines-frame").scrollTop) + scrollToRowId(row.id); + + Element.hide("floatingTitle"); + $("floatingTitle").setAttribute("rowid", false); } } catch (e) { @@ -2230,14 +2236,8 @@ function scrollToRowId(id) { function updateFloatingTitle() { try { var hf = $("headlines-frame"); - var child = $("RROW-" + _active_article_id); - var elems; - - if (getInitParam("cdm_auto_catchup")) - elems = [$$("RROW-" + _active_article_id)]; - else - elems = $$("#headlines-frame > div[id*=RROW]"); + var elems = $$("#headlines-frame > div[id*=RROW]"); for (var i = 0; i < elems.length; i++) { @@ -2255,7 +2255,8 @@ function updateFloatingTitle() { PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child); } - if (child.offsetTop < hf.scrollTop - header.offsetHeight) + if (child.offsetTop < hf.scrollTop - header.offsetHeight && + child.offsetTop + child.offsetHeight - hf.scrollTop > header.offsetHeight) Element.show("floatingTitle"); else Element.hide("floatingTitle");