BigW Consortium Gitlab

_parallel_view.html.haml 2.35 KB
Newer Older
1
/ Side-by-side diff view
2
%div.text-file.diff-wrap-lines.code.file-content.js-syntax-highlight
3
  %table
4
    - diff_file.parallel_diff_lines.each do |line|
5 6
      - left = line[:left]
      - right = line[:right]
7
      %tr.line_holder.parallel
8 9 10
        - if left[:type] == 'match'
          = render "projects/diffs/match_line_parallel", { line: left[:text],
          line_old: left[:number], line_new: right[:number] }
11
        - elsif left[:type] == 'nonewline'
12 13 14 15
          %td.old_line.diff-line-num
          %td.line_content.parallel.match= left[:text]
          %td.new_line.diff-line-num
          %td.line_content.parallel.match= left[:text]
16
        - else
17
          %td.old_line.diff-line-num{id: left[:line_code], class: "#{left[:type]} #{'empty-cell' if !left[:number]}"}
18
            = link_to raw(left[:number]), "##{left[:line_code]}", id: left[:line_code]
19
            - if !@diff_notes_disabled && can?(current_user, :create_note, @project)
20
              = link_to_new_diff_note(left[:line_code], 'old')
21
          %td.line_content{class: "parallel noteable_line #{left[:type]} #{left[:line_code]} #{'empty-cell' if left[:text].empty?}", data: { line_code: left[:line_code] }}= diff_line_content(left[:text])
22

23
          - if right[:type] == 'new'
24
            - new_line_class = 'new'
25
            - new_line_code = right[:line_code]
26 27
          - else
            - new_line_class = nil
28
            - new_line_code = left[:line_code]
29

30
          %td.new_line.diff-line-num{id: new_line_code, class: "#{new_line_class} #{'empty-cell' if !right[:number]}", data: { linenumber: right[:number] }}
31
            = link_to raw(right[:number]), "##{new_line_code}", id: new_line_code
32
            - if !@diff_notes_disabled && can?(current_user, :create_note, @project)
33
              = link_to_new_diff_note(new_line_code, 'new')
34
          %td.line_content.parallel{class: "noteable_line #{new_line_class} #{new_line_code} #{'empty-cell' if right[:text].empty?}", data: { line_code: new_line_code }}= diff_line_content(right[:text])
35

36
      - unless @diff_notes_disabled
37 38 39
        - notes_left, notes_right = organize_comments(left, right)
        - if notes_left.present? || notes_right.present?
          = render "projects/notes/diff_notes_with_reply_parallel", notes_left: notes_left, notes_right: notes_right
40

41
- if diff_file.diff.diff.blank? && diff_file.mode_changed?
42 43
  .file-mode-changed
    File mode changed