From 00d21acd790bfaf28acd579e25ee229b027bbd01 Mon Sep 17 00:00:00 2001 From: Ibrahim Awwal Date: Thu, 6 Sep 2012 01:33:40 -0700 Subject: [PATCH] Add newly posted threads to the inline thread list. --- ...e.coffee => discussion_module_view.coffee} | 27 +++++++++++-------- .../mustache/_inline_discussion.mustache | 11 ++++---- 2 files changed, 22 insertions(+), 16 deletions(-) rename lms/static/coffee/src/discussion/{discussion_module.coffee => discussion_module_view.coffee} (67%) diff --git a/lms/static/coffee/src/discussion/discussion_module.coffee b/lms/static/coffee/src/discussion/discussion_module_view.coffee similarity index 67% rename from lms/static/coffee/src/discussion/discussion_module.coffee rename to lms/static/coffee/src/discussion/discussion_module_view.coffee index 1bbac70396..2018518785 100644 --- a/lms/static/coffee/src/discussion/discussion_module.coffee +++ b/lms/static/coffee/src/discussion/discussion_module_view.coffee @@ -15,7 +15,6 @@ if Backbone? @newPostForm.slideUp(300) toggleDiscussion: (event) -> - console.log "doing stuff yo" if @showed @$("section.discussion").hide() $(event.target).html("Show Discussion") @@ -38,22 +37,28 @@ if Backbone? success: (response, textStatus, jqXHR) => @createDiscussion(event, response, textStatus) createDiscussion: (event, response, textStatus) => - console.log "HI" - console.log response window.user = new DiscussionUser(response.user_info) Content.loadContentInfos(response.annotated_content_info) - console.log "infod" $(event.target).html("Hide Discussion") - discussion = new Discussion() - discussion.reset(response.discussion_data, {silent: false}) + @discussion = new Discussion() + @discussion.reset(response.discussion_data, {silent: false}) $discussion = $(Mustache.render $("script#_inline_discussion").html(), {'threads':response.discussion_data}) $(".discussion-module").append($discussion) @newPostForm = $('.new-post-article') - discussion.each (thread) -> - element = $("article#thread_#{thread.id}") - dtv = new DiscussionThreadInlineView el: element, model: thread - dtv.render() + @threadviews = @discussion.map (thread) -> + new DiscussionThreadInlineView el: @$("article#thread_#{thread.id}"), model: thread + _.each @threadviews, (dtv) -> dtv.render() DiscussionUtil.bulkUpdateContentInfo(window.$$annotated_content_info) - @newPostView = new NewPostInlineView el: $('.new-post-article'), collection: discussion + @newPostView = new NewPostInlineView el: @$('.new-post-article'), collection: @discussion + @discussion.on "add", @addThread @retrieved = true @showed = true + + addThread: (thread, collection, options) => + # TODO: When doing pagination, this will need to repaginate + article = $("
") + @$('section.discussion > .threads').prepend(article) + threadView = new DiscussionThreadInlineView el: article, model: thread + threadView.render() + @threadviews.unshift threadView + diff --git a/lms/templates/discussion/mustache/_inline_discussion.mustache b/lms/templates/discussion/mustache/_inline_discussion.mustache index ed1fc65ab9..a82e25ac51 100644 --- a/lms/templates/discussion/mustache/_inline_discussion.mustache +++ b/lms/templates/discussion/mustache/_inline_discussion.mustache @@ -29,9 +29,10 @@ - - {{#threads}} -
-
- {{/threads}} +
+ {{#threads}} +
+
+ {{/threads}} +