add experimental clientside headline clamping (refs #479)
This commit is contained in:
parent
18e8dc12d9
commit
26e4b12466
|
@ -378,8 +378,7 @@ class Feeds extends Protected_Handler {
|
|||
$updated_fmt = make_local_datetime($this->link, $line["updated_noms"], false);
|
||||
|
||||
if (get_pref($this->link, 'SHOW_CONTENT_PREVIEW')) {
|
||||
$content_preview = truncate_string(strip_tags($line["content_preview"]),
|
||||
100);
|
||||
$content_preview = strip_tags($line["content_preview"]);
|
||||
}
|
||||
|
||||
$score = $line["score"];
|
||||
|
@ -458,7 +457,7 @@ class Feeds extends Protected_Handler {
|
|||
$reply['content'] .= "<a id=\"RTITLE-$id\"
|
||||
href=\"" . htmlspecialchars($line["link"]) . "\"
|
||||
onclick=\"\">" .
|
||||
truncate_string($line["title"], 200);
|
||||
$line["title"];
|
||||
|
||||
if (get_pref($this->link, 'SHOW_CONTENT_PREVIEW')) {
|
||||
if ($content_preview) {
|
||||
|
|
|
@ -1718,3 +1718,12 @@ function get_radio_checked(radioObj) {
|
|||
}
|
||||
return("");
|
||||
}
|
||||
|
||||
function clamp_element(elem, height) {
|
||||
if (elem && elem.offsetHeight > height) {
|
||||
while (elem.offsetHeight > height)
|
||||
elem.innerHTML = cp.innerHTML.substring(0, elem.innerHTML.length - 50);
|
||||
|
||||
elem.innerHTML += "…";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,6 +81,10 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
|
|||
reply['headlines']['toolbar']);
|
||||
|
||||
$$("#headlines-frame > div[id*=RROW]").each(function(row) {
|
||||
cp = row.getElementsByClassName("contentPreview")[0];
|
||||
|
||||
clamp_element(cp, 50);
|
||||
|
||||
if ($$("#headlines-frame DIV[id="+row.id+"]").length > 1) {
|
||||
row.parentNode.removeChild(row);
|
||||
}
|
||||
|
@ -136,8 +140,13 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
|
|||
|
||||
$$("#headlines-frame > div[id*=RROW]").each(
|
||||
function(child) {
|
||||
if (!Element.visible(child))
|
||||
if (!Element.visible(child)) {
|
||||
new Effect.Appear(child, { duration : 0.5 });
|
||||
|
||||
cp = child.getElementsByClassName("contentPreview")[0];
|
||||
|
||||
clamp_element(cp, 50);
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
|
@ -2047,6 +2056,12 @@ function render_local_headlines(feed, is_cat, obj) {
|
|||
setActiveFeedId(feed, is_cat);
|
||||
initHeadlinesMenu();
|
||||
|
||||
|
||||
$$("#headlines-frame > div[id*=RROW]").each(function(row) {
|
||||
cp = row.getElementsByClassName("contentPreview")[0];
|
||||
clamp_element(cp, 50);
|
||||
});
|
||||
|
||||
precache_headlines();
|
||||
|
||||
} catch (e) {
|
||||
|
|
Loading…
Reference in New Issue