X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit-ng%2Fstatic%2Fjs%2Fviews.js;h=605cb72928bc3e327e619a8deb8a14e97d213b20;hb=75c253ddeebc3421127d4a1987eecc1150dad51f;hp=e0f1a49af1312649af322c1de59b304550baa438;hpb=fb0cd39870e9842c7d4bb5583efff6591ddc4190;p=citadel.git
diff --git a/webcit-ng/static/js/views.js b/webcit-ng/static/js/views.js
index e0f1a49af..605cb7292 100644
--- a/webcit-ng/static/js/views.js
+++ b/webcit-ng/static/js/views.js
@@ -41,7 +41,8 @@ function render_room_view(gt_msg, lt_msg)
forum_readmessages("ctdl-main", gt_msg, lt_msg);
break;
default:
- document.getElementById("ctdl-main").innerHTML = "The view for " + current_room + " is " + current_view + " but there is no renderer." ;
+ document.getElementById("ctdl-main").innerHTML =
+ "The view for " + current_room + " is " + current_view + " but there is no renderer." ;
break;
}
@@ -107,7 +108,10 @@ function forum_readmessages(target_div, gt_msg, lt_msg)
// Render the divs (we will fill them in later)
for (var i in msgs)
{
- document.getElementById(target_div).innerHTML += "
#" + msgs[i] + "
" ;
+ document.getElementById(target_div).innerHTML +=
+ "#" + msgs[i]
+ + "
" ;
}
if (lt_msg == 9999999999)
{
@@ -122,16 +126,35 @@ function forum_readmessages(target_div, gt_msg, lt_msg)
}
document.getElementById(target_div).innerHTML +=
"" ;
+ ""
+ + "link to msgs greater than " + newgt + "" ;
+ }
+
+ // Now figure out where to scroll to after rendering.
+ if (gt_msg > 0)
+ {
+ scroll_to = msgs[0];
+ }
+ else if (lt_msg < 9999999999)
+ {
+ scroll_to = msgs[msgs.length-1];
+ }
+ else if ( (logged_in) && (gt_msg == 0) && (lt_msg == 9999999999) )
+ {
+ scroll_to = msgs[msgs.length-1];
+ }
+ else
+ {
+ scroll_to = msgs[0]; // FIXME this is too naive
}
// Render the individual messages in the divs
- render_messages(msgs, "ctdl_msg_", views.VIEW_BBS);
+ forum_render_messages(msgs, "ctdl_msg_", scroll_to)
}
else
{
- document.getElementById(target_div).innerHTML = original_text; // this will make the link reappear so the user can try again
+ // if xhr fails, this will make the link reappear so the user can try again
+ document.getElementById(target_div).innerHTML = original_text;
}
}
};
@@ -140,19 +163,19 @@ function forum_readmessages(target_div, gt_msg, lt_msg)
}
-// Render a range of messages, in the view specified, with the div prefix specified
+// Render a range of messages, with the div prefix specified
//
-function render_messages(msgs, prefix, view)
+function forum_render_messages(msgs, prefix, scroll_to)
{
for (i=0; i" // begin message wrapper
- + "" // begin avatar FIXME move to a stylesheet
- + "
" // FIXME temporary avatar
+ "
" // begin message wrapper
+ + "
" // begin avatar
+ + "
"
+ "
" // end avatar
- + "
" // begin content
- + "
" // begin header
+ + "
" // begin content
+ + "