From: Andrew Dolgov Date: Wed, 10 Jul 2013 18:11:24 +0000 (+0400) Subject: rework floatingtitle X-Git-Tag: 1.9~52 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=8ee5e9e5e69e9a54dabad9abc580cc2391198464;p=tt-rss.git rework floatingtitle --- diff --git a/css/cdm.css b/css/cdm.css index 7e85cbff..2d0797db 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -230,39 +230,71 @@ div.cdmHeader span.author { div#floatingTitle { position : absolute; z-index : 5; - top : 30px; - right : 20px; - border : 1px solid #ccc; - background : white; - border-radius : 3px; - box-shadow : 0px 0px 3px 0px rgba(0,0,0,0.1); + top : 26px; + right : 0px; + left : 0px; + border-color : #ccc; + border-width : 0px 0px 1px 0px; + border-style : solid; + background : #fcfcfc; color : #555; - font-size : 10px; - padding : 3px; + box-shadow : 0px 1px 1px 0px rgba(0,0,0,0.1); } div#floatingTitle > * { display : table-cell; white-space : nowrap; vertical-align : middle; + padding : 9px 5px; } -div#floatingTitle span.titleWrap { - max-width : 200px; - overflow : hidden; - text-overflow : ellipsis; +div#floatingTitle img { + margin-right : 4px; + margin-left : 4px; } -div#floatingTitle img { - padding-right : 3px; +div#floatingTitle span.author { + color : #555; + font-size : 11px; + font-weight : normal; +} + +div#floatingTitle a.title { + font-size : 14px; + color : #999; + font-weight : bold; +} +div#floatingTitle img.anchor { + margin-right : 1px; + margin-left : 0px; +} + +div#floatingTitle div.hlFeed { + padding-right : 10px; + color : #555; + font-weight : normal; + font-style : italic; + font-size : 11px; + white-space : nowrap; +} + +div#floatingTitle span.updated { + padding-right : 10px; + white-space : nowrap; + color : #555; + font-size : 11px; +} + +div#floatingTitle div.hlFeed a { + color : #555; +} + +div#floatingTitle span.titleWrap { + width : 100%; } -div#floatingTitle .dijit, -div#floatingTitle span.updated, -div#floatingTitle div.scoreWrap, -div#floatingTitle div.hlFeed, -div#floatingTitle span.author, -div#floatingTitle img.tinyFeedIcon { +div#floatingTitle .dijit, +div#floatingTitle img.hlScorePic { display : none; } diff --git a/images/page_white_go.png b/images/page_white_go.png new file mode 100644 index 00000000..7e62a924 Binary files /dev/null and b/images/page_white_go.png differ diff --git a/js/viewfeed.js b/js/viewfeed.js index 0cdb0942..ec770654 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -2215,27 +2215,54 @@ function openSelectedAttachment(elem) { } } +function scrollToRowId(id) { + try { + var row = $(id); + + if (row) + $("headlines-frame").scrollTop = row.offsetTop; + + } catch (e) { + exception_error("scrollToRowId", e); + } +} + function updateFloatingTitle() { try { var hf = $("headlines-frame"); var child = $("RROW-" + _active_article_id); - if (child && child.offsetTop + child.offsetHeight > hf.scrollTop) { + var elems; - var header = child.getElementsByClassName("cdmHeader")[0]; + if (getInitParam("cdm_auto_catchup")) + elems = [$$("RROW-" + _active_article_id)]; + else + elems = $$("#headlines-frame > div[id*=RROW]"); - if (child.id != $("floatingTitle").getAttribute("rowid")) { - $("floatingTitle").setAttribute("rowid", child.id); - $("floatingTitle").innerHTML = header.innerHTML; + for (var i = 0; i < elems.length; i++) { - PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child); - } + var child = elems[i]; - if (child.offsetTop < hf.scrollTop - header.offsetHeight - 100 && - child.offsetTop + child.offsetHeight - hf.scrollTop > 100) - Element.show("floatingTitle"); - else - Element.hide("floatingTitle"); + if (child && child.offsetTop + child.offsetHeight > hf.scrollTop) { + + var header = child.getElementsByClassName("cdmHeader")[0]; + + if (child.id != $("floatingTitle").getAttribute("rowid")) { + $("floatingTitle").setAttribute("rowid", child.id); + $("floatingTitle").innerHTML = header.innerHTML; + $("floatingTitle").firstChild.innerHTML = "" + $("floatingTitle").firstChild.innerHTML; + + PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child); + } + + if (child.offsetTop < hf.scrollTop - header.offsetHeight) + Element.show("floatingTitle"); + else + Element.hide("floatingTitle"); + + return; + + } } } catch (e) {