Commit 00056c82f20ce900cec9b9fd17e3950e80fbb693

Authored by Dmitriy Zaporozhets
1 parent 32c7310f

Update votes ferom comments dynamically

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/assets/javascripts/notes.js.coffee
... ... @@ -232,6 +232,7 @@ class Notes
232 232 ###
233 233 addNote: (xhr, note, status) =>
234 234 @renderNote(note)
  235 + @updateVotes()
235 236  
236 237 ###
237 238 Called in response to the new note form being submitted
... ... @@ -425,4 +426,7 @@ class Notes
425 426 form = $(e.target).closest(".js-discussion-note-form")
426 427 @removeDiscussionNoteForm(form)
427 428  
  429 + updateVotes: ->
  430 + (new NotesVotes).updateVotes()
  431 +
428 432 @Notes = Notes
... ...
app/assets/javascripts/notes_votes.js.coffee 0 → 100644
... ... @@ -0,0 +1,22 @@
  1 +class NotesVotes
  2 + updateVotes: ->
  3 + votes = $("#votes .votes")
  4 + notes = $("#notes-list .note .vote")
  5 +
  6 + # only update if there is a vote display
  7 + if votes.size()
  8 + upvotes = notes.filter(".upvote").size()
  9 + downvotes = notes.filter(".downvote").size()
  10 + votesCount = upvotes + downvotes
  11 + upvotesPercent = (if votesCount then (100.0 / votesCount * upvotes) else 0)
  12 + downvotesPercent = (if votesCount then (100.0 - upvotesPercent) else 0)
  13 +
  14 + # change vote bar lengths
  15 + votes.find(".bar-success").css "width", upvotesPercent + "%"
  16 + votes.find(".bar-danger").css "width", downvotesPercent + "%"
  17 +
  18 + # replace vote numbers
  19 + votes.find(".upvotes").text votes.find(".upvotes").text().replace(/\d+/, upvotes)
  20 + votes.find(".downvotes").text votes.find(".downvotes").text().replace(/\d+/, downvotes)
  21 +
  22 +@NotesVotes = NotesVotes
... ...