Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/group_label_subscription.js')
-rw-r--r--app/assets/javascripts/group_label_subscription.js76
1 files changed, 0 insertions, 76 deletions
diff --git a/app/assets/javascripts/group_label_subscription.js b/app/assets/javascripts/group_label_subscription.js
deleted file mode 100644
index 378259eb9c8..00000000000
--- a/app/assets/javascripts/group_label_subscription.js
+++ /dev/null
@@ -1,76 +0,0 @@
-import $ from 'jquery';
-import { __ } from '~/locale';
-import { fixTitle, hide } from '~/tooltips';
-import createFlash from './flash';
-import axios from './lib/utils/axios_utils';
-
-const tooltipTitles = {
- group: __('Unsubscribe at group level'),
- project: __('Unsubscribe at project level'),
-};
-
-export default class GroupLabelSubscription {
- constructor(container) {
- const $container = $(container);
- this.$dropdown = $container.find('.dropdown');
- this.$subscribeButtons = $container.find('.js-subscribe-button');
- this.$unsubscribeButtons = $container.find('.js-unsubscribe-button');
-
- this.$subscribeButtons.on('click', this.subscribe.bind(this));
- this.$unsubscribeButtons.on('click', this.unsubscribe.bind(this));
- }
-
- unsubscribe(event) {
- event.preventDefault();
-
- const url = this.$unsubscribeButtons.attr('data-url');
- axios
- .post(url)
- .then(() => {
- this.toggleSubscriptionButtons();
- this.$unsubscribeButtons.removeAttr('data-url');
- })
- .catch(() =>
- createFlash({
- message: __('There was an error when unsubscribing from this label.'),
- }),
- );
- }
-
- subscribe(event) {
- event.preventDefault();
-
- const $btn = $(event.currentTarget);
- const url = $btn.attr('data-url');
-
- this.$unsubscribeButtons.attr('data-url', url);
-
- axios
- .post(url)
- .then(() => GroupLabelSubscription.setNewTooltip($btn))
- .then(() => this.toggleSubscriptionButtons())
- .catch(() =>
- createFlash({
- message: __('There was an error when subscribing to this label.'),
- }),
- );
- }
-
- toggleSubscriptionButtons() {
- this.$dropdown.toggleClass('hidden');
- this.$subscribeButtons.toggleClass('hidden');
- this.$unsubscribeButtons.toggleClass('hidden');
- }
-
- static setNewTooltip($button) {
- if (!$button.hasClass('js-subscribe-button')) return;
-
- const type = $button.hasClass('js-group-level') ? 'group' : 'project';
- const newTitle = tooltipTitles[type];
-
- const $el = $('.js-unsubscribe-button', $button.closest('.label-actions-list'));
- hide($el);
- $el.attr('title', `${newTitle}`);
- fixTitle($el);
- }
-}