summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/subscription.js
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-10-20 08:54:33 +0100
committerPhil Hughes <me@iamphill.com>2016-10-20 08:54:33 +0100
commit29645f06e7889fe85bb155abaa0f361f8680311b (patch)
tree6dc442e40471790e0b74babc165618b4e095a068 /app/assets/javascripts/subscription.js
parent344154e9068945af2874d6cb253457fb90fef3f3 (diff)
downloadgitlab-ce-29645f06e7889fe85bb155abaa0f361f8680311b.tar.gz
Hides/shows the boards sidebar
Rather than constructing & then deconstructing, we know just hide & show the sidebar. This is done so we dont' have a memory leak on the frontend with objects getting created.
Diffstat (limited to 'app/assets/javascripts/subscription.js')
-rw-r--r--app/assets/javascripts/subscription.js15
1 files changed, 10 insertions, 5 deletions
diff --git a/app/assets/javascripts/subscription.js b/app/assets/javascripts/subscription.js
index bfef9532d2b..bfa3663bca3 100644
--- a/app/assets/javascripts/subscription.js
+++ b/app/assets/javascripts/subscription.js
@@ -5,10 +5,10 @@
function Subscription(container) {
this.toggleSubscription = bind(this.toggleSubscription, this);
var $container;
- $container = $(container);
- this.url = $container.attr('data-url');
- this.subscribe_button = $container.find('.js-subscribe-button');
- this.subscription_status = $container.find('.subscription-status');
+ this.$container = $(container);
+ this.url = this.$container.attr('data-url');
+ this.subscribe_button = this.$container.find('.js-subscribe-button');
+ this.subscription_status = this.$container.find('.subscription-status');
this.subscribe_button.unbind('click').click(this.toggleSubscription);
}
@@ -18,12 +18,17 @@
action = btn.find('span').text();
current_status = this.subscription_status.attr('data-status');
btn.addClass('disabled');
+
+ if ($('html').hasClass('issue-boards-page')) {
+ this.url = this.$container.attr('data-url');
+ }
+
return $.post(this.url, (function(_this) {
return function() {
var status;
btn.removeClass('disabled');
- if ($('body').data('page') === 'projects:boards:show') {
+ if ($('html').hasClass('issue-boards-page')) {
Vue.set(gl.issueBoards.BoardsStore.detail.issue, 'subscribed', !gl.issueBoards.BoardsStore.detail.issue.subscribed);
} else {
status = current_status === 'subscribed' ? 'unsubscribed' : 'subscribed';