summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/label_subscription.js.es6
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/label_subscription.js.es6')
-rw-r--r--app/assets/javascripts/label_subscription.js.es619
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');
+ }
+ }
});
}
}