BigW Consortium Gitlab

_label.html.haml 4.99 KB
Newer Older
1
- label_css_id = dom_id(label)
2 3
- open_issues_count = label.open_issues_count(current_user)
- open_merge_requests_count = label.open_merge_requests_count(current_user)
4
- status = label_subscription_status(label, @project).inquiry if current_user
5
- subject = local_assigns[:subject]
6

Alfredo Sumaran committed
7
%li{id: label_css_id, data: { id: label.id } }
Tap committed
8
  = render "shared/label_row", label: label
9

Phil Hughes committed
10 11 12
  .visible-xs.visible-sm-inline-block.visible-md-inline-block.dropdown
    %button.btn.btn-default.label-options-toggle{ data: { toggle: "dropdown" } }
      Options
13
      = icon('caret-down')
Phil Hughes committed
14 15 16
    .dropdown-menu.dropdown-menu-align-right
      %ul
        %li
17
          = link_to_label(label, subject: subject, type: :merge_request) do
18
            = pluralize open_merge_requests_count, 'merge request'
Phil Hughes committed
19
        %li
20
          = link_to_label(label, subject: subject) do
21
            = pluralize open_issues_count, 'open issue'
22
        - if current_user && defined?(@project)
23
          %li.label-subscription
24
            - if label.is_a?(ProjectLabel)
25
              %a.js-subscribe-button.label-subscribe-button{ role: 'button', href: '#', data: { status: status, url: toggle_subscription_namespace_project_label_path(@project.namespace, @project, label) } }
26 27 28 29 30 31 32 33 34
                %span= label_subscription_toggle_button_text(label, @project)
            - else
              %a.js-unsubscribe-button.label-subscribe-button{ role: 'button', href: '#', class: ('hidden' if status.unsubscribed?), data: { url: group_label_unsubscribe_path(label, @project) } }
                %span Unsubscribe
              %a.js-subscribe-button.label-subscribe-button{ role: 'button', href: '#', class: ('hidden' unless status.unsubscribed?), data: { url: toggle_subscription_namespace_project_label_path(@project.namespace, @project, label) } }
                %span Subscribe at project level
              %a.js-subscribe-button.label-subscribe-button{ role: 'button', href: '#', class: ('hidden' unless status.unsubscribed?), data: { url: toggle_subscription_group_label_path(label.group, label) } }
                %span Subscribe at group level

35
        - if can?(current_user, :admin_label, label)
Phil Hughes committed
36
          %li
37
            = link_to 'Edit', edit_label_path(label)
Phil Hughes committed
38
          %li
39
            = link_to 'Delete', destroy_label_path(label), title: 'Delete', method: :delete, remote: true, data: {confirm: 'Remove this label? Are you sure?'}
Tap committed
40

Phil Hughes committed
41
  .pull-right.hidden-xs.hidden-sm.hidden-md
42
    = link_to_label(label, subject: subject, type: :merge_request, css_class: 'btn btn-transparent btn-action') do
43
      = pluralize open_merge_requests_count, 'merge request'
44
    = link_to_label(label, subject: subject, css_class: 'btn btn-transparent btn-action') do
45
      = pluralize open_issues_count, 'open issue'
46

47
    - if current_user && defined?(@project)
48
      .label-subscription.inline
49
        - if label.is_a?(ProjectLabel)
50
          %button.js-subscribe-button.label-subscribe-button.btn.btn-default.btn-action{ type: 'button', title: label_subscription_toggle_button_text(label, @project), data: { toggle: 'tooltip', status: status, url: toggle_subscription_namespace_project_label_path(@project.namespace, @project, label) } }
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
            %span= label_subscription_toggle_button_text(label, @project)
            = icon('spinner spin', class: 'label-subscribe-button-loading')
        - else
          %button.js-unsubscribe-button.label-subscribe-button.btn.btn-default.btn-action{ type: 'button', class: ('hidden' if status.unsubscribed?), title: 'Unsubscribe', data: { toggle: 'tooltip', url: group_label_unsubscribe_path(label, @project) } }
            %span Unsubscribe
            = icon('spinner spin', class: 'label-subscribe-button-loading')

          .dropdown.dropdown-group-label{ class: ('hidden' unless status.unsubscribed?) }
            %button.dropdown-menu-toggle{type: 'button', 'data-toggle' => 'dropdown'}
              %span Subscribe
              = icon('chevron-down')
            %ul.dropdown-menu
              %li
                %a.js-subscribe-button{ data: { url: toggle_subscription_namespace_project_label_path(@project.namespace, @project, label) } }
                  Project level
                %a.js-subscribe-button{ data: { url: toggle_subscription_group_label_path(label.group, label) } }
                  Group level
68

69
    - if can?(current_user, :admin_label, label)
70
      = link_to edit_label_path(label), title: "Edit", class: 'btn btn-transparent btn-action', data: {toggle: "tooltip"} do
Phil Hughes committed
71
        %span.sr-only Edit
Phil Hughes committed
72
        = icon('pencil-square-o')
73
      = link_to destroy_label_path(label), title: "Delete", class: 'btn btn-transparent btn-action remove-row', method: :delete, remote: true, data: {confirm: label_deletion_confirm_text(label), toggle: "tooltip"} do
Phil Hughes committed
74
        %span.sr-only Delete
Phil Hughes committed
75
        = icon('trash-o')
76

77
  - if current_user && defined?(@project)
78 79
    - if label.is_a?(ProjectLabel)
      :javascript
80
        new gl.ProjectLabelSubscription('##{dom_id(label)} .label-subscription');
81 82 83
    - else
      :javascript
        new gl.GroupLabelSubscription('##{dom_id(label)} .label-subscription');