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

notifications_dropdown.js.coffee « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0bbd082c156c3d5ac6a3ddb3b4ecc153d6c14cfa (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
class @NotificationsDropdown
  constructor: ->
    $(document)
      .off 'click', '.update-notification'
      .on 'click', '.update-notification', (e) ->
        e.preventDefault()

        return if $(this).is('.is-active') and $(this).data('notification-level') is 'custom'

        notificationLevel = $(@).data 'notification-level'
        label = $(@).data 'notification-title'
        form = $(this).parents('.notification-form:first')
        form.find('.js-notification-loading').toggleClass 'fa-bell fa-spin fa-spinner'
        form.find('#notification_setting_level').val(notificationLevel)
        form.submit()

    $(document)
      .off 'ajax:success', '.notification-form'
      .on 'ajax:success', '.notification-form', (e, data) ->
        if data.saved
          $(e.currentTarget)
            .closest('.notification-dropdown')
            .replaceWith(data.html)
        else
          new Flash('Failed to save new settings', 'alert')