add experimental clientside headline clamping (refs #479)
This commit is contained in:
@@ -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 += "…";
|
||||
}
|
||||
}
|
||||
|
||||
+16
-1
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user