Welcome to mirror list, hosted at ThFree Co, Russian Federation.

issuable_edit.js.coffee « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 3792d202b06ec24081a11f8c16a95722971aa165 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class @IssuableEdit
  constructor: ->
    @getElements()
    @removeEventListeners()
    @initEventListeners()

    new GLForm(@$form)

  getElements: ->
    @$form = $('.js-issuable-inline-form')
    @$details = $('.js-issuable-details')
    @$title = $('.js-issuable-title')
    @$description = $('.js-issuable-description')
    @$taskList = $('.detail-page-description .js-task-list-container')

  removeEventListeners: ->
    $(document).off 'ajax:success', '.js-issuable-inline-form', @afterSave

    $(document).off 'click', '.js-inline-edit', @toggleForm
    $(document).off 'click', '.js-issuable-edit-cancel', @toggleForm

  initEventListeners: ->
    $(document).on 'ajax:success', '.js-issuable-inline-form', @afterSave

    $(document).on 'click', '.js-inline-edit', @toggleForm
    $(document).on 'click', '.js-issuable-edit-cancel', @toggleForm

  toggleForm: =>
    @$details.toggleClass('hidden')
    @$form.toggleClass('hidden')

  afterSave: (e, data) =>
    $('[type="submit"]', @$form).enable()

    @toggleForm()

    # Update the HTML
    # We need HTML returned so that the markdown can be correctly created on server side
    @$title.html data.title
    @$description.html data.description

    @$taskList.taskList('enable')