summaryrefslogtreecommitdiff
path: root/app/views/projects/merge_requests/show/_versions.html.haml
blob: 11b0c55be0bb800b8e239ebb4b5cf292f1703431 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
- if @merge_request_diffs.size > 1
  .mr-version-controls
    .mr-version-menus-container.content-block
      Changes between
      %span.dropdown.inline.mr-version-dropdown
        %a.dropdown-toggle.btn.btn-default{ data: {toggle: :dropdown} }
          %span
            - if @merge_request_diff.latest?
              latest version
            - else
              version #{version_index(@merge_request_diff)}
          = icon('caret-down')
        .dropdown-menu.dropdown-select.dropdown-menu-selectable
          .dropdown-title
            %span Version:
            %button.dropdown-title-button.dropdown-menu-close{ aria: { label: "Close" } }
              = icon('times', class: 'dropdown-menu-close-icon')
          .dropdown-content
            %ul
              - @merge_request_diffs.each do |merge_request_diff|
                %li
                  = link_to merge_request_version_path(@project, @merge_request, merge_request_diff, @start_sha), class: ('is-active' if merge_request_diff == @merge_request_diff) do
                    %strong
                      - if merge_request_diff.latest?
                        latest version
                      - else
                        version #{version_index(merge_request_diff)}
                    .monospace= short_sha(merge_request_diff.head_commit_sha)
                    %small
                      #{number_with_delimiter(merge_request_diff.commits_count)} #{'commit'.pluralize(merge_request_diff.commits_count)},
                      = time_ago_with_tooltip(merge_request_diff.created_at)

      - if @merge_request_diff.base_commit_sha
        and
        %span.dropdown.inline.mr-version-compare-dropdown
          %a.btn.btn-default.dropdown-toggle{ data: {toggle: :dropdown} }
            %span
              - if @start_version
                version #{version_index(@start_version)}
              - else
                #{@merge_request.target_branch}
            = icon('caret-down')
          .dropdown-menu.dropdown-select.dropdown-menu-selectable
            .dropdown-title
              %span Compared with:
              %button.dropdown-title-button.dropdown-menu-close{ aria: { label: "Close" } }
                = icon('times', class: 'dropdown-menu-close-icon')
            .dropdown-content
              %ul
                - @comparable_diffs.each do |merge_request_diff|
                  %li
                    = link_to merge_request_version_path(@project, @merge_request, @merge_request_diff, merge_request_diff.head_commit_sha), class: ('is-active' if merge_request_diff == @start_version) do
                      %strong
                        - if merge_request_diff.latest?
                          latest version
                        - else
                          version #{version_index(merge_request_diff)}
                      .monospace= short_sha(merge_request_diff.head_commit_sha)
                      %small
                        = time_ago_with_tooltip(merge_request_diff.created_at)
                %li
                  = link_to merge_request_version_path(@project, @merge_request, @merge_request_diff), class: ('is-active' unless @start_version) do
                    %strong
                      #{@merge_request.target_branch} (base)
                    .monospace= short_sha(@merge_request_diff.base_commit_sha)

    - if different_base?(@start_version, @merge_request_diff)
      .content-block
        = icon('info-circle')
        Selected versions have different base commits.
        Changes will include
        = link_to namespace_project_compare_path(@project.namespace, @project, from: @start_version.base_commit_sha, to: @merge_request_diff.base_commit_sha) do
          new commits
        from
        = succeed '.' do
          %code= @merge_request.target_branch

    - if @start_version || !@merge_request_diff.latest?
      .comments-disabled-notif.content-block
        = icon('info-circle')
        Not all comments are displayed because you're
        - if @start_version
          comparing two versions
        - else
          viewing an old version
        of this merge request.

        .pull-right
          = link_to 'Show latest version', diffs_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), class: 'btn btn-sm'