Commit ece563296bcac93ce5918a050a70a95ceba0d7f9
1 parent
433d2278
Exists in
master
and in
4 other branches
Fix Notes JS
Also fixes #1983
Showing
2 changed files
with
29 additions
and
26 deletions
Show diff stats
app/assets/javascripts/main.js.coffee
| ... | ... | @@ -58,25 +58,6 @@ $ -> |
| 58 | 58 | $(@).next('table').show() |
| 59 | 59 | $(@).remove() |
| 60 | 60 | |
| 61 | - # Note markdown preview | |
| 62 | - $(document).on 'click', '#preview-link', (e) -> | |
| 63 | - $('#preview-note').text 'Loading...' | |
| 64 | - | |
| 65 | - previewLinkText = if $(@).text() is 'Preview' then 'Edit' else 'Preview' | |
| 66 | - $(@).text previewLinkText | |
| 67 | - | |
| 68 | - note = $('#note_note').val() | |
| 69 | - | |
| 70 | - if note.trim().length is 0 | |
| 71 | - $('#preview-note').text 'Nothing to preview.' | |
| 72 | - else | |
| 73 | - $.post $(@).attr('href'), {note: note}, (data) -> | |
| 74 | - $('#preview-note').html(data) | |
| 75 | - | |
| 76 | - $('#preview-note, #note_note').toggle() | |
| 77 | - e.preventDefault() | |
| 78 | - false | |
| 79 | - | |
| 80 | 61 | (($) -> |
| 81 | 62 | _chosen = $.fn.chosen |
| 82 | 63 | $.fn.extend chosen: (options) -> | ... | ... |
app/assets/javascripts/notes.js
| ... | ... | @@ -14,8 +14,8 @@ var NoteList = { |
| 14 | 14 | this.notes_path = path + ".js"; |
| 15 | 15 | this.target_id = tid; |
| 16 | 16 | this.target_type = tt; |
| 17 | - this.reversed = $("#notes-list").hasClass("reversed"); | |
| 18 | - this.target_params = "&target_type=" + this.target_type + "&target_id=" + this.target_id; | |
| 17 | + this.reversed = $("#notes-list").is(".reversed"); | |
| 18 | + this.target_params = "target_type=" + this.target_type + "&target_id=" + this.target_id; | |
| 19 | 19 | |
| 20 | 20 | // get initial set of notes |
| 21 | 21 | this.getContent(); |
| ... | ... | @@ -33,6 +33,8 @@ var NoteList = { |
| 33 | 33 | |
| 34 | 34 | $(".note-form-holder").on("ajax:complete", function(){ |
| 35 | 35 | $(".submit_note").enable(); |
| 36 | + $('#preview-note').hide(); | |
| 37 | + $('#note_note').show(); | |
| 36 | 38 | }) |
| 37 | 39 | |
| 38 | 40 | disableButtonIfEmptyField(".note-text", ".submit_note"); |
| ... | ... | @@ -52,6 +54,26 @@ var NoteList = { |
| 52 | 54 | $('.note_advanced_opts').show(); |
| 53 | 55 | }); |
| 54 | 56 | } |
| 57 | + | |
| 58 | + // Setup note preview | |
| 59 | + $(document).on('click', '#preview-link', function(e) { | |
| 60 | + $('#preview-note').text('Loading...'); | |
| 61 | + | |
| 62 | + $(this).text($(this).text() === "Edit" ? "Preview" : "Edit"); | |
| 63 | + | |
| 64 | + var note_text = $('#note_note').val(); | |
| 65 | + | |
| 66 | + if(note_text.trim().length === 0) { | |
| 67 | + $('#preview-note').text('Nothing to preview.'); | |
| 68 | + } else { | |
| 69 | + $.post($(this).attr('href'), {note: note_text}).success(function(data) { | |
| 70 | + $('#preview-note').html(data); | |
| 71 | + }); | |
| 72 | + } | |
| 73 | + | |
| 74 | + $('#preview-note, #note_note').toggle(); | |
| 75 | + e.preventDefault(); | |
| 76 | + }); | |
| 55 | 77 | }, |
| 56 | 78 | |
| 57 | 79 | |
| ... | ... | @@ -69,7 +91,7 @@ var NoteList = { |
| 69 | 91 | $.ajax({ |
| 70 | 92 | type: "GET", |
| 71 | 93 | url: this.notes_path, |
| 72 | - data: "?" + this.target_params, | |
| 94 | + data: this.target_params, | |
| 73 | 95 | complete: function(){ $('.notes-status').removeClass("loading")}, |
| 74 | 96 | beforeSend: function() { $('.notes-status').addClass("loading") }, |
| 75 | 97 | dataType: "script"}); |
| ... | ... | @@ -131,7 +153,7 @@ var NoteList = { |
| 131 | 153 | $.ajax({ |
| 132 | 154 | type: "GET", |
| 133 | 155 | url: this.notes_path, |
| 134 | - data: "loading_more=1&" + (this.reversed ? "before_id" : "after_id") + "=" + this.bottom_id + this.target_params, | |
| 156 | + data: this.target_params + "&loading_more=1&" + (this.reversed ? "before_id" : "after_id") + "=" + this.bottom_id, | |
| 135 | 157 | complete: function(){ $('.notes-status').removeClass("loading")}, |
| 136 | 158 | beforeSend: function() { $('.notes-status').addClass("loading") }, |
| 137 | 159 | dataType: "script"}); |
| ... | ... | @@ -192,7 +214,7 @@ var NoteList = { |
| 192 | 214 | $.ajax({ |
| 193 | 215 | type: "GET", |
| 194 | 216 | url: this.notes_path, |
| 195 | - data: "loading_new=1&after_id=" + (this.reversed ? this.top_id : this.bottom_id) + this.target_params, | |
| 217 | + data: this.target_params + "&loading_new=1&after_id=" + (this.reversed ? this.top_id : this.bottom_id), | |
| 196 | 218 | dataType: "script"}); |
| 197 | 219 | }, |
| 198 | 220 | |
| ... | ... | @@ -264,7 +286,7 @@ var PerLineNotes = { |
| 264 | 286 | $(this).closest("tr").after(form); |
| 265 | 287 | form.find("#note_line_code").val($(this).data("lineCode")); |
| 266 | 288 | form.show(); |
| 267 | - return false; | |
| 289 | + e.preventDefault(); | |
| 268 | 290 | }); |
| 269 | 291 | |
| 270 | 292 | disableButtonIfEmptyField(".line-note-text", ".submit_inline_note"); |
| ... | ... | @@ -285,7 +307,7 @@ var PerLineNotes = { |
| 285 | 307 | // elements must really be removed for this to work reliably |
| 286 | 308 | var trLine = trNote.prev(); |
| 287 | 309 | var trRpl = trNote.next(); |
| 288 | - if (trLine.hasClass("line_holder") && trRpl.hasClass("reply")) { | |
| 310 | + if (trLine.is(".line_holder") && trRpl.is(".reply")) { | |
| 289 | 311 | trRpl.fadeOut(function() { $(this).remove(); }); |
| 290 | 312 | } |
| 291 | 313 | }); | ... | ... |