Commit e1499513 by Rocky Duan

fixed close threads

parent 245bb7ce
......@@ -8,7 +8,6 @@ DiscussionApp =
threads = element.data("threads")
content_info = element.data("content-info")
window.user = new DiscussionUser(user_info)
console.log content_info
Content.loadContentInfos(content_info)
discussion = new Discussion(threads)
new DiscussionRouter({discussion: discussion})
......
......@@ -8,6 +8,16 @@ class @DiscussionContentView extends Backbone.View
@$(".action-endorse").removeClass("is-endorsed")
closed: (closed) ->
return if not @$(".action-openclose").length
return if not @$(".post-status-closed").length
if closed
@$(".post-status-closed").show()
@$(".action-openclose").html(@$(".action-openclose").html().replace("Close", "Open"))
@$(".discussion-reply-new").hide()
else
@$(".post-status-closed").hide()
@$(".action-openclose").html(@$(".action-openclose").html().replace("Open", "Close"))
@$(".discussion-reply-new").show()
voted: (voted) ->
......@@ -38,6 +48,9 @@ class @DiscussionContentView extends Backbone.View
can_endorse:
enable: -> @$(".action-endorse").css("cursor", "auto")
disable: -> @$(".action-endorse").css("cursor", "default")
can_openclose:
enable: -> @$(".action-openclose").closest("li").show()
disable: -> @$(".action-openclose").closest("li").hide()
renderPartialAttrs: ->
for attr, value of @model.changedAttributes()
......
class @DiscussionThreadView extends DiscussionContentView
abilityRenderer:
editable:
enable: -> @$(".action-edit").closest("li").show()
disable: -> @$(".action-edit").closest("li").hide()
can_delete:
enable: -> @$(".action-delete").closest("li").show()
disable: -> @$(".action-delete").closest("li").hide()
can_endorse:
enable: ->
@$(".action-endorse").css("cursor", "auto")
disable: ->
@$(".action-endorse").css("cursor", "default")
events:
"click .discussion-vote": "toggleVote"
"click .action-follow": "toggleFollowing"
"click .discussion-submit-post": "submitComment"
"click .action-edit": "edit"
"click .action-delete": "delete"
"click .action-openclose": "toggleClosed"
template: _.template($("#thread-template").html())
......@@ -137,7 +125,21 @@ class @DiscussionThreadView extends DiscussionContentView
delete: ->
toggleEndorse: ->
toggleClosed: (event) ->
$elem = $(event.target)
url = @model.urlFor('close')
closed = @model.get('closed')
data = { closed: not closed }
DiscussionUtil.safeAjax
$elem: $elem
url: url
data: data
type: "POST"
success: (response, textStatus) =>
@model.set('closed', not closed)
@model.set('ability', response.ability)
toggleEndorse: (event) ->
$elem = $(event.target)
url = @model.urlFor('endorse')
endorsed = @model.get('endorsed')
......
......@@ -13,14 +13,13 @@
<div class="post-body">
${'<%- body %>'}
</div>
<div class="post-status">
${'<% if (closed) { %>'}
This thread is closed.
${'<% } %>'}
<div class="post-status-closed" style="display: none">
This thread is closed.
</div>
<ul class="moderator-actions">
<li style="display: none"><a class="action-edit" href="javascript:void(0)"><span class="edit-icon"></span> Edit</a></li>
<li style="display: none"><a class="action-delete" href="javascript:void(0)"><span class="delete-icon"></span> Delete</a></li>
<li style="display: none"><a class="action-openclose" href="javascript:void(0)"><span class="edit-icon"></span> Close</a></li>
</ul>
</div>
<ol class="responses">
......
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