From d1a25647cfd5fb83066638b24994e4fd809d8aba Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Sat, 19 Nov 2022 18:31:09 -0500 Subject: [PATCH] Consistent calling syntax for view renderers --- webcit-ng/static/index.html | 4 +- webcit-ng/static/js/main.js | 2 +- webcit-ng/static/js/view_forum.js | 7 ++++ webcit-ng/static/js/view_mail.js | 4 +- webcit-ng/static/js/views.js | 61 +++++++++++++++++++++++++------ 5 files changed, 61 insertions(+), 17 deletions(-) diff --git a/webcit-ng/static/index.html b/webcit-ng/static/index.html index ce0d4a855..0fc788fb9 100644 --- a/webcit-ng/static/index.html +++ b/webcit-ng/static/index.html @@ -51,8 +51,8 @@
  • -
  • -
  • +
  • +
  • diff --git a/webcit-ng/static/js/main.js b/webcit-ng/static/js/main.js index 03735e816..fd0b40767 100644 --- a/webcit-ng/static/js/main.js +++ b/webcit-ng/static/js/main.js @@ -79,7 +79,7 @@ function gotoroom(roomname) { can_delete_messages = data.can_delete_messages; console.log("new mail: " + data.new_mail); update_banner(); - render_room_view(0, 9999999999); + render_room_view(); } } fetch_room(); diff --git a/webcit-ng/static/js/view_forum.js b/webcit-ng/static/js/view_forum.js index 9375f13c1..aac2d5a2b 100644 --- a/webcit-ng/static/js/view_forum.js +++ b/webcit-ng/static/js/view_forum.js @@ -503,3 +503,10 @@ function forum_close_urlbox(do_save) { function forum_entmsg() { open_reply_box("ctdl-newmsg-here", false, "", ""); } + + +// RENDERER FOR THIS VIEW +function view_render_forums() { + document.getElementById("ctdl-main").innerHTML = "
    "; + forum_readmessages("ctdl-mrp", 0, 9999999999); +} diff --git a/webcit-ng/static/js/view_mail.js b/webcit-ng/static/js/view_mail.js index 298f42786..503eedfc6 100644 --- a/webcit-ng/static/js/view_mail.js +++ b/webcit-ng/static/js/view_mail.js @@ -180,8 +180,8 @@ function mail_render_row(msg) { } -// Set up the mailbox view -function mail_display() { +// RENDERER FOR THIS VIEW +function view_render_mail() { // Put the "enter new message" button into the sidebar document.getElementById("ctdl-newmsg-button").innerHTML = "" + _("Write mail"); document.getElementById("ctdl-newmsg-button").style.display = "block"; diff --git a/webcit-ng/static/js/views.js b/webcit-ng/static/js/views.js index 85a3291a0..15933a334 100644 --- a/webcit-ng/static/js/views.js +++ b/webcit-ng/static/js/views.js @@ -17,27 +17,69 @@ function clear_sidebar_selection() { } -// This function is the dispatcher that determines the correct view for a room, -// and calls the correct renderer. Greater/Less than bounds are accepted. -function render_room_view(gt_msg, lt_msg) { +// This function is the dispatcher that determines the correct view for a room, and calls the correct renderer. +function render_room_view() { document.getElementById("ctdl-newmsg-button").style.display = "none"; // the view renderer will set this clear_sidebar_selection(); + document.getElementById("ctdl-main").innerHTML = _("Loading messages from server, please wait"); switch(current_view) { // The "forum" module displays rooms with the "VIEW_BBS" view as classic style web forums. case views.VIEW_BBS: document.getElementById("ctdl-sidebar-button-forums").classList.add("ctdl-sidebar-button-selected"); - document.getElementById("ctdl-main").innerHTML = "
    "; - forum_readmessages("ctdl-mrp", gt_msg, lt_msg); + view_render_forums(); break; // The "mail" module displays rooms with the VIEW_MAILBOX view as a webmail program. case views.VIEW_MAILBOX: + case views.VIEW_DRAFTS: document.getElementById("ctdl-sidebar-button-mail").classList.add("ctdl-sidebar-button-selected"); - document.getElementById("ctdl-main").innerHTML = ""; - mail_display(); + document.getElementById("ctdl_mail_folder_list").style.display = "block"; // show folder list + view_render_mail(); + break; + + // The "contacts" module displays rooms with the VIEW_ADDRESSBOOK view as a contacts manager. + case views.VIEW_ADDRESSBOOK: + document.getElementById("ctdl-main").innerHTML = + "
    '" + current_room + "' is an address book but there is no renderer.
    "; + break; + + case views.VIEW_CALENDAR: + case views.VIEW_CALBRIEF: + document.getElementById("ctdl-main").innerHTML = + "
    '" + current_room + "' is a calendar but there is no renderer.
    "; + break; + + case views.VIEW_TASKS: + document.getElementById("ctdl-main").innerHTML = + "
    '" + current_room + "' is a task list but there is no renderer.
    "; + break; + + case views.VIEW_NOTES: + document.getElementById("ctdl-main").innerHTML = + "
    '" + current_room + "' is a notes list but there is no renderer.
    "; + break; + + case views.VIEW_WIKI: + document.getElementById("ctdl-main").innerHTML = + "
    '" + current_room + "' is a wiki but there is no renderer.
    "; + break; + + case views.VIEW_JOURNAL: + document.getElementById("ctdl-main").innerHTML = + "
    '" + current_room + "' is a journal but there is no renderer.
    "; + break; + + case views.VIEW_BLOG: + document.getElementById("ctdl-main").innerHTML = + "
    '" + current_room + "' is a blog but there is no renderer.
    "; + break; + + case views.VIEW_QUEUE: + document.getElementById("ctdl-main").innerHTML = + "
    We ought to be displaying the email queue here.
    "; break; default: @@ -46,11 +88,6 @@ function render_room_view(gt_msg, lt_msg) { break; } - // Show the mail folder list only when the Mail view is active. - if (current_view == views.VIEW_MAILBOX) { - document.getElementById("ctdl_mail_folder_list").style.display = "block"; - } - } -- 2.39.2