summaryrefslogtreecommitdiff
path: root/app/views/projects/diffs/_parallel_view.html.haml
blob: 8fa2d8b4a74fa8b6e1bd75a8e9f81decbb840f74 (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
/ Side-by-side diff view
%div.text-file.diff-wrap-lines.code.file-content.js-syntax-highlight{ data: diff_view_data }
  %table
    - last_line = 0
    - diff_file.parallel_diff_lines.each do |line|
      - left = line[:left]
      - right = line[:right]
      - last_line = right.new_pos if right
      %tr.line_holder.parallel
        - if left
          - if left.meta?
            = diff_match_line left.old_pos, nil, text: left.text, view: :parallel
          - else
            - left_line_code = diff_file.line_code(left)
            - left_position = diff_file.position(left)
            %td.old_line.diff-line-num{id: left_line_code, class: left.type, data: { linenumber: left.old_pos }}
              %a{href: "##{left_line_code}" }= raw(left.old_pos)
            %td.line_content.parallel.noteable_line{class: left.type, data: diff_view_line_data(left_line_code, left_position, 'old')}= diff_line_content(left.text)
        - else
          %td.old_line.diff-line-num.empty-cell
          %td.line_content.parallel

        - if right
          - if right.meta?
            = diff_match_line nil, right.new_pos, text: left.text, view: :parallel
          - else
            - right_line_code = diff_file.line_code(right)
            - right_position = diff_file.position(right)
            %td.new_line.diff-line-num{id: right_line_code, class: right.type, data: { linenumber: right.new_pos }}
              %a{href: "##{right_line_code}" }= raw(right.new_pos)
            %td.line_content.parallel.noteable_line{class: right.type, data: diff_view_line_data(right_line_code, right_position, 'new')}= diff_line_content(right.text)
        - else
          %td.old_line.diff-line-num.empty-cell
          %td.line_content.parallel

      - if left_line_code || right_line_code
        /
          = "inject discussions #{left_line_code} | #{right_line_code}"
    - if !diff_file.new_file && last_line > 0
      = diff_match_line last_line, last_line, bottom: true, view: :parallel