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

subscription.js.coffee « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 08d494aba9fdb2129c9a4327b46882ee5f4be178 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class @Subscription
  constructor: (container) ->
    $container = $(container)
    @url = $container.attr('data-url')
    @subscribe_button = $container.find('.js-subscribe-button')
    @subscription_status = $container.find('.subscription-status')
    @subscribe_button.unbind('click').click(@toggleSubscription)

  toggleSubscription: (event) =>
    btn = $(event.currentTarget)
    action = btn.find('span').text()
    current_status = @subscription_status.attr('data-status')
    btn.addClass('disabled')

    $.post @url, =>
      btn.removeClass('disabled')
      status = if current_status == 'subscribed' then 'unsubscribed' else 'subscribed'
      @subscription_status.attr('data-status', status)
      action = if status == 'subscribed' then 'Unsubscribe' else 'Subscribe'
      btn.find('span').text(action)
      @subscription_status.find('>div').toggleClass('hidden')

      if btn.attr('data-original-title')
        btn.tooltip('hide')
          .attr('data-original-title', action)
          .tooltip('fixTitle')