Update votes ferom comments dynamically
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
32c7310f4a
commit
00056c82f2
2 changed files with 26 additions and 0 deletions
|
@ -232,6 +232,7 @@ class Notes
|
|||
###
|
||||
addNote: (xhr, note, status) =>
|
||||
@renderNote(note)
|
||||
@updateVotes()
|
||||
|
||||
###
|
||||
Called in response to the new note form being submitted
|
||||
|
@ -425,4 +426,7 @@ class Notes
|
|||
form = $(e.target).closest(".js-discussion-note-form")
|
||||
@removeDiscussionNoteForm(form)
|
||||
|
||||
updateVotes: ->
|
||||
(new NotesVotes).updateVotes()
|
||||
|
||||
@Notes = Notes
|
||||
|
|
22
app/assets/javascripts/notes_votes.js.coffee
Normal file
22
app/assets/javascripts/notes_votes.js.coffee
Normal file
|
@ -0,0 +1,22 @@
|
|||
class NotesVotes
|
||||
updateVotes: ->
|
||||
votes = $("#votes .votes")
|
||||
notes = $("#notes-list .note .vote")
|
||||
|
||||
# only update if there is a vote display
|
||||
if votes.size()
|
||||
upvotes = notes.filter(".upvote").size()
|
||||
downvotes = notes.filter(".downvote").size()
|
||||
votesCount = upvotes + downvotes
|
||||
upvotesPercent = (if votesCount then (100.0 / votesCount * upvotes) else 0)
|
||||
downvotesPercent = (if votesCount then (100.0 - upvotesPercent) else 0)
|
||||
|
||||
# change vote bar lengths
|
||||
votes.find(".bar-success").css "width", upvotesPercent + "%"
|
||||
votes.find(".bar-danger").css "width", downvotesPercent + "%"
|
||||
|
||||
# replace vote numbers
|
||||
votes.find(".upvotes").text votes.find(".upvotes").text().replace(/\d+/, upvotes)
|
||||
votes.find(".downvotes").text votes.find(".downvotes").text().replace(/\d+/, downvotes)
|
||||
|
||||
@NotesVotes = NotesVotes
|
Loading…
Reference in a new issue