BigW Consortium Gitlab

_note.html.haml 3.59 KB
Newer Older
1 2 3
- return unless note.author
- return if note.cross_reference_not_visible_for?(current_user)

4
- show_image_comment_badge = local_assigns.fetch(:show_image_comment_badge, false)
5
- note_editable = note_editable?(note)
6 7
- note_counter = local_assigns.fetch(:note_counter, 0)

8 9 10 11 12
%li.timeline-entry{ id: dom_id(note),
  class: ["note", "note-row-#{note.id}", ('system-note' if note.system)],
  data: { author_id: note.author.id,
    editable: note_editable,
    note_id: note.id } }
13 14 15 16 17
  .timeline-entry-inner
    .timeline-icon
      - if note.system
        = icon_for_system_note(note)
      - else
18
        %a.image-diff-avatar-link{ href: user_path(note.author) }
19
          = image_tag avatar_icon(note.author), alt: '', class: 'avatar s40'
20 21 22
          - if note.is_a?(DiffNote) && note.on_image?
            - if show_image_comment_badge && note_counter == 0
              -# Only show this for the first comment in the discussion
23 24
              %span.image-comment-badge
                = sprite_icon('image-comment-dark')
25 26 27 28 29
            - elsif note_counter == 0
              - counter = badge_counter if local_assigns[:badge_counter]
              - badge_class = "hidden" if @fresh_discussion || counter.nil?
              %span.badge{ class: badge_class }
                = counter
30 31 32 33
    .timeline-content
      .note-header
        .note-header-info
          %a{ href: user_path(note.author) }
34
            %span.note-header-author-name= sanitize(note.author.name)
35 36 37 38 39 40 41 42
            %span.note-headline-light
              = note.author.to_reference
          %span.note-headline-light
            %span.note-headline-meta
              - unless note.system
                commented
              - if note.system
                %span.system-note-message
43
                  = markdown_field(note, :note)
44 45 46 47 48 49 50 51 52 53
              %a{ href: "##{dom_id(note)}" }
                = time_ago_with_tooltip(note.created_at, placement: 'bottom', html_class: 'note-created-ago')
        - unless note.system?
          .note-actions
            - if note.for_personal_snippet?
              = render 'snippets/notes/actions', note: note, note_editable: note_editable
            - else
              = render 'projects/notes/actions', note: note, note_editable: note_editable
      .note-body{ class: note_editable ? 'js-task-list-container' : '' }
        .note-text.md
54
          = markdown_field(note, :note)
55
        = edited_time_ago_with_tooltip(note, placement: 'bottom', html_class: 'note_edited_ago')
56 57
        .original-note-content.hidden{ data: { post_url: note_url(note), target_id: note.noteable.id, target_type: note.noteable.class.name.underscore } }
          #{note.note}
58
        - if note_editable
59
          = render 'shared/notes/edit', note: note
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
        .note-awards
          = render 'award_emoji/awards_block', awardable: note, inline: false
        - if note.system
          .system-note-commit-list-toggler
            Toggle commit list
            %i.fa.fa-angle-down
      - if note.attachment.url
        .note-attachment
          - if note.attachment.image?
            = link_to note.attachment.url, target: '_blank' do
              = image_tag note.attachment.url, class: 'note-image-attach'
          .attachment
            = link_to note.attachment.url, target: '_blank' do
              = icon('paperclip')
              = note.attachment_identifier
75
              = link_to delete_attachment_project_note_path(note.project, note),
76 77
                title: 'Delete this attachment', method: :delete, remote: true, data: { confirm: 'Are you sure you want to remove the attachment?' }, class: 'danger js-note-attachment-delete' do
                = icon('trash-o', class: 'cred')