summaryrefslogtreecommitdiff
path: root/app/assets
diff options
context:
space:
mode:
authorJason Lee <huacnlee@gmail.com>2015-11-12 13:16:35 +0800
committerJason Lee <huacnlee@gmail.com>2015-11-12 13:16:35 +0800
commit1974087114f3f365d16547c8a5c3ec2e03a66104 (patch)
treebdb754d87349cb4ae7629f537ead5dff8edcebb1 /app/assets
parentca25289b78e1b49148438831ad6bf165fa0ce56e (diff)
downloadgitlab-ce-1974087114f3f365d16547c8a5c3ec2e03a66104.tar.gz
Avoid render edit_form in each notes.
Use RJS to render edit note feature. Before: ``` Rendered projects/notes/_note.html.haml (27.9ms) Rendered projects/_zen.html.haml (0.3ms) Rendered projects/notes/_hints.html.haml (0.7ms) Rendered projects/_md_preview.html.haml (3.9ms) Rendered projects/notes/_edit_form.html.haml (6.9ms) Rendered projects/notes/_note.html.haml (17.7ms) Rendered projects/_zen.html.haml (0.3ms) Rendered projects/notes/_hints.html.haml (0.6ms) Rendered projects/_md_preview.html.haml (3.4ms) Rendered projects/notes/_edit_form.html.haml (7.0ms) ``` After: ``` Rendered projects/notes/_note.html.haml (13.8ms) Rendered projects/notes/_note.html.haml (7.1ms) Rendered projects/notes/_note.html.haml (9.5ms) Rendered projects/notes/_note.html.haml (8.5ms) ``` This change reduce at least 6ms * N ('N' - number of notes).
Diffstat (limited to 'app/assets')
-rw-r--r--app/assets/javascripts/notes.js.coffee13
1 files changed, 6 insertions, 7 deletions
diff --git a/app/assets/javascripts/notes.js.coffee b/app/assets/javascripts/notes.js.coffee
index ea75c656bcc..b0682f16845 100644
--- a/app/assets/javascripts/notes.js.coffee
+++ b/app/assets/javascripts/notes.js.coffee
@@ -29,7 +29,6 @@ class @Notes
$(document).on "ajax:success", "form.edit_note", @updateNote
# Edit note link
- $(document).on "click", ".js-note-edit", @showEditForm
$(document).on "click", ".note-edit-cancel", @cancelEdit
# Reopen and close actions for Issue/MR combined with note form submit
@@ -67,7 +66,6 @@ class @Notes
$(document).off "ajax:success", ".js-main-target-form"
$(document).off "ajax:success", ".js-discussion-note-form"
$(document).off "ajax:success", "form.edit_note"
- $(document).off "click", ".js-note-edit"
$(document).off "click", ".note-edit-cancel"
$(document).off "click", ".js-note-delete"
$(document).off "click", ".js-note-attachment-delete"
@@ -287,13 +285,14 @@ class @Notes
Adds a hidden div with the original content of the note to fill the edit note form with
if the user cancels
###
- showEditForm: (e) ->
- e.preventDefault()
- note = $(this).closest(".note")
+ showEditForm: (note, formHTML) ->
+ nodeText = note.find(".note-text");
+ nodeText.hide()
+ note.find('.note-edit-form').remove()
+ nodeText.after(formHTML)
note.find(".note-body > .note-text").hide()
note.find(".note-header").hide()
- base_form = note.find(".note-edit-form")
- form = base_form.clone().insertAfter(base_form)
+ form = note.find(".note-edit-form")
form.addClass('current-note-edit-form gfm-form')
form.find('.div-dropzone').remove()