diff options
author | Riyad Preukschas <riyad@informatik.uni-bremen.de> | 2012-12-03 21:43:17 +0100 |
---|---|---|
committer | Riyad Preukschas <riyad@informatik.uni-bremen.de> | 2012-12-03 22:51:57 +0100 |
commit | 4ed8278870640017b93f18b476532824eba70ac2 (patch) | |
tree | 05470846eeaeea74b2e61b203bf5912c96bc6d8e /app/assets/javascripts/notes.js | |
parent | 7978f8dd2b62baacb0d045b65282b758a76da118 (diff) | |
download | gitlab-ce-4ed8278870640017b93f18b476532824eba70ac2.tar.gz |
Fix a bunch of smaller glitches.
Diffstat (limited to 'app/assets/javascripts/notes.js')
-rw-r--r-- | app/assets/javascripts/notes.js | 72 |
1 files changed, 27 insertions, 45 deletions
diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 8c4577bd1fc..f9dda3c70a1 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -58,12 +58,6 @@ var NoteList = { ".js-close-discussion-note-form", NoteList.removeDiscussionNoteForm); - // do some specific housekeeping when removing a diff or discussion note - $(document).on("click", - ".diff_file .js-note-delete," + - ".discussion .js-note-delete", - NoteList.removeDiscussionNote); - // remove a note (in general) $(document).on("click", ".js-note-delete", @@ -96,9 +90,6 @@ var NoteList = { previewContainer.removeClass("on"); } form.find(".js-note-text").val("").trigger("input"); - - // re-enable submit button - form.find(".js-comment-button").enable(); }, /** @@ -144,8 +135,6 @@ var NoteList = { var preview = form.find('.js-note-preview'); var noteText = form.find('.js-note-text').val(); - console.log("preview", noteText); - if(noteText.trim().length === 0) { preview.text('Nothing to preview.'); } else { @@ -158,35 +147,12 @@ var NoteList = { }, /** - * Called in response to deleting a note on a diff line. - * - * Removes the actual note from view. - * Removes the whole notes row if the last note for that line is being removed. - * - * Note: must be called before removeNote() - */ - removeDiscussionNote: function() { - var notes = $(this).closest(".notes"); - - // check if this is the last note for this line - if (notes.find(".note").length === 1) { - // for discussions - notes.closest(".discussion").remove(); - - // for diff lines - notes.closest("tr").remove(); - } - }, - - /** * Called in response to "cancel" on a diff note form. * * Shows the reply button again. * Removes the form and if necessary it's temporary row. */ - removeDiscussionNoteForm: function(e) { - e.preventDefault(); - + removeDiscussionNoteForm: function() { var form = $(this).closest("form"); var row = form.closest("tr"); @@ -206,9 +172,22 @@ var NoteList = { * Called in response to deleting a note of any kind. * * Removes the actual note from view. + * Removes the whole discussion if the last note is being removed. */ removeNote: function() { - $(this).closest(".note").remove(); + var note = $(this).closest(".note"); + var notes = note.closest(".notes"); + + // check if this is the last note for this line + if (notes.find(".note").length === 1) { + // for discussions + notes.closest(".discussion").remove(); + + // for diff lines + notes.closest("tr").remove(); + } + + note.remove(); NoteList.updateVotes(); }, @@ -274,6 +253,7 @@ var NoteList = { NoteList.setupNoteForm(form); + form.find(".js-note-text").focus(); }, /** @@ -312,16 +292,18 @@ var NoteList = { setupNoteForm: function(form) { disableButtonIfEmptyField(form.find(".js-note-text"), form.find(".js-comment-button")); + form.removeClass("js-new-note-form"); + // setup preview buttons - $(".js-note-edit-button, .js-note-preview-button").tooltip({ placement: 'left' }); + form.find(".js-note-edit-button, .js-note-preview-button") + .tooltip({ placement: 'left' }); - previewButton = $(".js-note-preview-button"); - previewButton.hide(); + previewButton = form.find(".js-note-preview-button"); form.find(".js-note-text").on("input", function() { if ($(this).val().trim() !== "") { - previewButton.fadeIn(); + previewButton.removeClass("turn-off").addClass("turn-on"); } else { - previewButton.fadeOut(); + previewButton.removeClass("turn-on").addClass("turn-off"); } }); @@ -344,8 +326,8 @@ var NoteList = { $.ajax({ url: NoteList.notes_path, data: NoteList.target_params, - complete: function(){ $('.notes-status').removeClass("loading")}, - beforeSend: function() { $('.notes-status').addClass("loading") }, + complete: function(){ $('.js-notes-busy').removeClass("loading")}, + beforeSend: function() { $('.js-notes-busy').addClass("loading") }, dataType: "script" }); }, @@ -404,8 +386,8 @@ var NoteList = { $.ajax({ url: NoteList.notes_path, data: NoteList.target_params + "&loading_more=1&" + (NoteList.reversed ? "before_id" : "after_id") + "=" + NoteList.bottom_id, - complete: function(){ $('.notes-status').removeClass("loading")}, - beforeSend: function() { $('.notes-status').addClass("loading") }, + complete: function(){ $('.js-notes-busy').removeClass("loading")}, + beforeSend: function() { $('.js-notes-busy').addClass("loading") }, dataType: "script" }); }, |