Commit 4dae36cd by Rocky Duan

only execude code when backbone is defined

parent 45431ae7
class @DiscussionModuleView extends Backbone.View if Backbone?
events: class @DiscussionModuleView extends Backbone.View
"click .discussion-show": "toggleDiscussion" events:
toggleDiscussion: (event) -> "click .discussion-show": "toggleDiscussion"
if @showed toggleDiscussion: (event) ->
@$("section.discussion").hide() if @showed
$(event.target).html("Show Discussion") @$("section.discussion").hide()
@showed = false $(event.target).html("Show Discussion")
else @showed = false
if @retrieved
@$("section.discussion").show()
$(event.target).html("Hide Discussion")
@showed = true
else else
$elem = $(event.target) if @retrieved
discussion_id = $elem.attr("discussion_id") @$("section.discussion").show()
url = DiscussionUtil.urlFor 'retrieve_discussion', discussion_id $(event.target).html("Hide Discussion")
Discussion.safeAjax @showed = true
$elem: $elem else
url: url $elem = $(event.target)
type: "GET" discussion_id = $elem.attr("discussion_id")
dataType: 'json' url = DiscussionUtil.urlFor 'retrieve_discussion', discussion_id
success: (response, textStatus) => Discussion.safeAjax
@$el.append(response.html) $elem: $elem
$discussion = @$el.find("section.discussion") url: url
$(event.target).html("Hide Discussion") type: "GET"
discussion = new Discussion() dataType: 'json'
discussion.reset(response.discussionData, {silent: false}) success: (response, textStatus) =>
view = new DiscussionView(el: $discussion[0], model: discussion) @$el.append(response.html)
DiscussionUtil.bulkUpdateContentInfo(window.$$annotated_content_info) $discussion = @$el.find("section.discussion")
@retrieved = true $(event.target).html("Hide Discussion")
@showed = true discussion = new Discussion()
discussion.reset(response.discussionData, {silent: false})
view = new DiscussionView(el: $discussion[0], model: discussion)
DiscussionUtil.bulkUpdateContentInfo(window.$$annotated_content_info)
@retrieved = true
@showed = true
...@@ -12,4 +12,5 @@ $ -> ...@@ -12,4 +12,5 @@ $ ->
discussion.reset(discussionData, {silent: false}) discussion.reset(discussionData, {silent: false})
view = new DiscussionView(el: elem, model: discussion) view = new DiscussionView(el: elem, model: discussion)
DiscussionUtil.bulkUpdateContentInfo(window.$$annotated_content_info) if window.$$annotated_content_info?
DiscussionUtil.bulkUpdateContentInfo(window.$$annotated_content_info)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment