_text_file.html.haml 1.9 KB
Newer Older
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
1
- too_big = diff_file.diff_lines.count > Commit::DIFF_SAFE_LINES
2
- if too_big
3 4
  .suppressed-container
    %a.show-suppressed-diff.js-show-suppressed-diff Changes suppressed. Click to show.
5

6
%table.text-file.code.js-syntax-highlight{ class: too_big ? 'hide' : '' }
7

skv's avatar
skv committed
8
  - last_line = 0
9
  - diff_file.highlighted_diff_lines.each_with_index do |line, index|
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
10 11
    - type = line.type
    - last_line = line.new_pos
12
    - line_code = generate_line_code(diff_file.file_path, line)
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
13
    - line_old = line.old_pos
14
    %tr.line_holder{ id: line_code, class: "#{type}" }
15
      - if type == "match"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
16
        = render "projects/diffs/match_line", {line: line.text,
17
          line_old: line_old, line_new: line.new_pos, bottom: false, new_file: diff_file.new_file}
18 19 20 21
      - elsif type == 'nonewline'
        %td.old_line.diff-line-num
        %td.new_line.diff-line-num
        %td.line_content.matched= line.text
22
      - else
23
        %td.old_line
24
          = link_to raw(type == "new" ? " " : line_old), "##{line_code}", id: line_code
25
          - if @comments_allowed && can?(current_user, :create_note, @project)
26
            = link_to_new_diff_note(line_code)
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
27
        %td.new_line{data: {linenumber: line.new_pos}}
28
          = link_to raw(type == "old" ? " " : line.new_pos), "##{line_code}", id: line_code
29
        %td.line_content{class: "noteable_line #{type} #{line_code}", data: { line_code: line_code }}= diff_line_content(line.text)
30

31
    - if @reply_allowed
32
      - comments = @line_notes.select { |n| n.line_code == line_code && n.active? }.sort_by(&:created_at)
33
      - unless comments.empty?
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
34
        = render "projects/notes/diff_notes_with_reply", notes: comments, line: line.text
35

skv's avatar
skv committed
36
  - if last_line > 0
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
37
    = render "projects/diffs/match_line", {line: "",
38
      line_old: last_line, line_new: last_line, bottom: true, new_file: diff_file.new_file}
skv's avatar
skv committed
39

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