Commit 00056c82f20ce900cec9b9fd17e3950e80fbb693
1 parent
32c7310f
Exists in
spb-stable
and in
3 other branches
Update votes ferom comments dynamically
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
2 changed files
with
26 additions
and
0 deletions
Show diff stats
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 | ... | ... |
... | ... | @@ -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 | ... | ... |