Destroy discussion form

This commit is contained in:
Phil Hughes 2016-04-05 10:28:10 +01:00
parent 82164a9f77
commit 5dd01f572c
2 changed files with 22 additions and 8 deletions

View File

@ -1,18 +1,30 @@
class @GLForm
constructor: (@form) ->
@textarea = @form.find(".js-note-text")
@textarea = @form.find('.js-note-text')
@setupForm()
@form.data 'gl-form', @
destroy: ->
# Destroy actions
actions = @form.data 'form-actions'
actions.clearEventListeners()
@form.data 'form-actions', null
# Clean form listeners
@clearEventListeners()
@form.data 'gl-form', null
setupForm: ->
isNewForm = @form.is(':not(.gfm-form)')
@form.removeClass "js-new-note-form"
@form.removeClass 'js-new-note-form'
if isNewForm
@form.find('.div-dropzone').remove()
@form.addClass('gfm-form')
disableButtonIfEmptyField @form.find(".js-note-text"), @form.find(".js-comment-button")
disableButtonIfEmptyField @form.find('.js-note-text'), @form.find('.js-comment-button')
# remove notify commit author checkbox for non-commit notes
GitLab.GfmAutoComplete.setup()
@ -32,6 +44,10 @@ class @GLForm
@form.show()
clearEventListeners: ->
@textarea.off 'focus'
@textarea.off 'blur'
addEventListeners: ->
@textarea.on 'focus', ->
$(@).closest('.md-area').addClass 'is-focused'

View File

@ -513,6 +513,9 @@ class @Notes
removeDiscussionNoteForm: (form)->
row = form.closest("tr")
glForm = form.data 'gl-form'
glForm.destroy()
form.find(".js-note-text").data("autosave").reset()
# show the reply button (will only work for replies)
@ -524,11 +527,6 @@ class @Notes
# only remove the form
form.remove()
# Remove the note actions
actions = form.data('form-actions')
actions.clearEventListeners()
form.data('form-actions', null)
cancelDiscussionForm: (e) =>
e.preventDefault()
form = $(e.target).closest(".js-discussion-note-form")