From 9da7a337a83c20fdaba5f450c473d589883e98a5 Mon Sep 17 00:00:00 2001 From: Matthew Mongeau Date: Tue, 4 Sep 2012 15:27:55 -0400 Subject: [PATCH] Sorting should keep trace of comment and like updates. --- lms/static/coffee/src/discussion/content.coffee | 3 +++ .../discussion/views/discussion_thread_list_view.coffee | 9 +++++---- .../src/discussion/views/discussion_thread_view.coffee | 2 +- .../src/discussion/views/thread_list_item_view.coffee | 4 +++- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lms/static/coffee/src/discussion/content.coffee b/lms/static/coffee/src/discussion/content.coffee index ee6c50ecf7..39bb261136 100644 --- a/lms/static/coffee/src/discussion/content.coffee +++ b/lms/static/coffee/src/discussion/content.coffee @@ -439,6 +439,9 @@ if Backbone? @set('thread', @) super() + comment: -> + @set("comments_count", parseInt(@get("comments_count")) + 1) + follow: -> @set('subscribed', true) @trigger "thread:follow" diff --git a/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee b/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee index e485fbfb60..85e0d8d614 100644 --- a/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee +++ b/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee @@ -10,6 +10,11 @@ class @DiscussionThreadListView extends Backbone.View initialize: -> @displayedCollection = new Discussion(@collection.models) + @collection.on "change", @reloadDisplayedCollection + + reloadDisplayedCollection: => + @displayedCollection.reset(@collection.models) + # Because we want the behavior that when the body is clicked the menu is # closed, we need to ignore clicks in the search field and stop propagation. @@ -96,10 +101,6 @@ class @DiscussionThreadListView extends Backbone.View @displayedCollection.comparator = @displayedCollection.sortByComments @displayedCollection.sort() - delay: (callback, ms) => - clearTimeout(@timer) - @timer = setTimeout(callback, ms) - performSearch: (event) -> if event.which == 13 event.preventDefault() diff --git a/lms/static/coffee/src/discussion/views/discussion_thread_view.coffee b/lms/static/coffee/src/discussion/views/discussion_thread_view.coffee index 37483e49d8..8bb2d663a1 100644 --- a/lms/static/coffee/src/discussion/views/discussion_thread_view.coffee +++ b/lms/static/coffee/src/discussion/views/discussion_thread_view.coffee @@ -62,7 +62,7 @@ class @DiscussionThreadView extends DiscussionContentView @$(".responses").append(view.el) addComment: => - @model.trigger "comment:add" + @model.comment() toggleVote: (event) -> event.preventDefault() diff --git a/lms/static/coffee/src/discussion/views/thread_list_item_view.coffee b/lms/static/coffee/src/discussion/views/thread_list_item_view.coffee index 6f04924dc6..1ca5f33c70 100644 --- a/lms/static/coffee/src/discussion/views/thread_list_item_view.coffee +++ b/lms/static/coffee/src/discussion/views/thread_list_item_view.coffee @@ -1,13 +1,15 @@ class @ThreadListItemView extends Backbone.View tagName: "li" template: _.template($("#thread-list-item-template").html()) + events: "click a": "threadSelected" + initialize: -> @model.on "change", @render @model.on "thread:follow", @follow @model.on "thread:unfollow", @unfollow - @model.on "comment:add", @addComment + render: => @$el.html(@template(@model.toJSON())) if window.user.following(@model)