diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-06-17 23:28:22 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-06-17 23:28:22 +0000 |
commit | 00906b5bb6cde8cb60281109060a519a54000c61 (patch) | |
tree | f251efc0af4bebc2920c3ac4fc1398759cc490f9 /app/assets/javascripts/notifications_dropdown.js.coffee | |
parent | 33d8972bf96d490e0a67750491249abf3d2e0d54 (diff) | |
parent | 4b204f071e4b626d4034fe431cebc902ae6caa78 (diff) | |
download | gitlab-ce-00906b5bb6cde8cb60281109060a519a54000c61.tar.gz |
Merge branch 'issue_12758' into 'master'
Implement custom notification level options
![Screen_Shot_2016-06-17_at_15.31.43](/uploads/3fc47d2f461b3e8b67bb8acaa304cf99/Screen_Shot_2016-06-17_at_15.31.43.png)
![Screenshot_from_2016-06-15_10-52-27](/uploads/88dbdd21d97e80ee772fe08fa0c9b393/Screenshot_from_2016-06-15_10-52-27.png)
part of #12758
See merge request !4389
Diffstat (limited to 'app/assets/javascripts/notifications_dropdown.js.coffee')
-rw-r--r-- | app/assets/javascripts/notifications_dropdown.js.coffee | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/assets/javascripts/notifications_dropdown.js.coffee b/app/assets/javascripts/notifications_dropdown.js.coffee new file mode 100644 index 00000000000..74d2298c1fa --- /dev/null +++ b/app/assets/javascripts/notifications_dropdown.js.coffee @@ -0,0 +1,24 @@ +class @NotificationsDropdown + $ -> + $(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 + new Flash('Notification settings saved', 'notice') + $(e.currentTarget).closest('.notification-dropdown').replaceWith(data.html) + else + new Flash('Failed to save new settings', 'alert') |