diff options
Diffstat (limited to 'app/assets/javascripts/label_subscription.js.es6')
-rw-r--r-- | app/assets/javascripts/label_subscription.js.es6 | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/app/assets/javascripts/label_subscription.js.es6 b/app/assets/javascripts/label_subscription.js.es6 index 26bb8419f6b..4ee8e02b088 100644 --- a/app/assets/javascripts/label_subscription.js.es6 +++ b/app/assets/javascripts/label_subscription.js.es6 @@ -2,7 +2,10 @@ (function(global) { class LabelSubscription { constructor(container) { - $(container).on('click', '.js-subscribe-button', this.toggleSubscription); + this.$container = $(container); + this.$buttons = this.$container.find('.js-subscribe-button'); + + this.$buttons.on('click', this.toggleSubscription.bind(this)); } toggleSubscription(event) { @@ -28,11 +31,19 @@ [newStatus, newAction] = ['subscribed', 'Unsubscribe']; } - $span.text(newAction); $span.toggleClass('hidden'); $btn.removeClass('disabled'); - $btn.tooltip('hide').attr('data-original-title', newAction).tooltip('fixTitle'); - $btn.attr('data-status', newStatus); + + this.$buttons.attr('data-status', newStatus); + this.$buttons.find('> span').text(newAction); + + for (let button of this.$buttons) { + let $button = $(button); + + if ($button.attr('data-original-title')) { + $button.tooltip('hide').attr('data-original-title', newAction).tooltip('fixTitle'); + } + } }); } } |