diff options
Diffstat (limited to 'app/assets/javascripts/notifications_dropdown.js.coffee')
-rw-r--r-- | app/assets/javascripts/notifications_dropdown.js.coffee | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/app/assets/javascripts/notifications_dropdown.js.coffee b/app/assets/javascripts/notifications_dropdown.js.coffee index 15daf027c0a..0bbd082c156 100644 --- a/app/assets/javascripts/notifications_dropdown.js.coffee +++ b/app/assets/javascripts/notifications_dropdown.js.coffee @@ -1,21 +1,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('form:first') + 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(); + form.submit() $(document) - .off 'ajax:success', '#notification-form' - .on 'ajax:success', '#notification-form', (e, data) -> + .off 'ajax:success', '.notification-form' + .on 'ajax:success', '.notification-form', (e, data) -> if data.saved - new Flash('Notification settings saved', 'notice') - $(e.currentTarget).closest('.notification-dropdown').replaceWith(data.html) + $(e.currentTarget) + .closest('.notification-dropdown') + .replaceWith(data.html) else new Flash('Failed to save new settings', 'alert') |