diff --git a/lms/static/coffee/src/discussion/content.coffee b/lms/static/coffee/src/discussion/content.coffee index f433df211c..da46d81a83 100644 --- a/lms/static/coffee/src/discussion/content.coffee +++ b/lms/static/coffee/src/discussion/content.coffee @@ -421,6 +421,12 @@ if Backbone? @set('thread', @) super() + follow: -> + @trigger "thread:follow" + + unfollow: -> + @trigger "thread:unfollow" + class @ThreadView extends @ContentView class @Comment extends @Content 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 d46304d5e1..ba03bc61fc 100644 --- a/lms/static/coffee/src/discussion/views/discussion_thread_view.coffee +++ b/lms/static/coffee/src/discussion/views/discussion_thread_view.coffee @@ -44,8 +44,10 @@ class @DiscussionThreadView extends Backbone.View @$(".dogear").toggleClass("is-followed") url = null if @$(".dogear").hasClass("is-followed") + @model.follow() url = @model.urlFor("follow") else + @model.unfollow() url = @model.urlFor("unfollow") DiscussionUtil.safeAjax $elem: $elem 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 0200bd4548..816b2211e5 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 @@ -5,11 +5,17 @@ class @ThreadListItemView extends Backbone.View "click a": "threadSelected" initialize: -> @model.on "change", @render + @model.on "thread:follow", @follow + @model.on "thread:unfollow", @unfollow render: => @$el.html(@template(@model.toJSON())) if window.user.following(@model) - @$("a").addClass("followed") + @follow() @ threadSelected: -> @trigger("thread:selected", @model.id) false + follow: => + @$("a").addClass("followed") + unfollow: => + @$("a").removeClass("followed")