_actions.html.haml 2.29 KB
Newer Older
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
- access = note_max_access_for_user(note)
- if access
  %span.note-role= access

- if note.resolvable?
  - can_resolve = can?(current_user, :resolve_note, note)
  %resolve-btn{ "project-path" => project_path(note.project),
      "discussion-id" => note.discussion_id(@noteable),
      ":note-id" => note.id,
      ":resolved" => note.resolved?,
      ":can-resolve" => can_resolve,
      ":author-name" => "'#{j(note.author.name)}'",
      "author-avatar" => note.author.avatar_url,
      ":note-truncated" => "'#{j(truncate(note.note, length: 17))}'",
      ":resolved-by" => "'#{j(note.resolved_by.try(:name))}'",
      "v-show" => "#{can_resolve || note.resolved?}",
      "inline-template" => true,
      "ref" => "note_#{note.id}" }

    %button.note-action-button.line-resolve-btn{ type: "button",
        class: ("is-disabled" unless can_resolve),
        ":class" => "{ 'is-active': isResolved }",
        ":aria-label" => "buttonText",
        "@click" => "resolve",
        ":title" => "buttonText",
        ":ref" => "'button'" }

      = icon('spin spinner', 'v-show' => 'loading', class: 'loading', 'aria-hidden' => 'true', 'aria-label' => 'Loading')
      %div{ 'v-show' => '!loading' }= render 'shared/icons/icon_status_success.svg'

- if current_user
  - if note.emoji_awardable?
    - user_authored = note.user_authored?(current_user)
    = link_to '#', title: 'Award Emoji', class: "note-action-button note-emoji-button js-add-award js-note-emoji #{'js-user-authored' if user_authored}", data: { position: 'right' } do
      = icon('spinner spin')
      %span{ class: 'link-highlight award-control-icon-neutral' }= custom_icon('emoji_slightly_smiling_face')
      %span{ class: 'link-highlight award-control-icon-positive' }= custom_icon('emoji_smiley')
      %span{ class: 'link-highlight award-control-icon-super-positive' }= custom_icon('emoji_smile')

  - if note_editable
    = link_to '#', title: 'Edit comment', class: 'note-action-button js-note-edit' do
      = icon('pencil', class: 'link-highlight')
    = link_to namespace_project_note_path(note.project.namespace, note.project, note), title: 'Remove comment', method: :delete, data: { confirm: 'Are you sure you want to remove this comment?' }, remote: true, class: 'note-action-button js-note-delete danger' do
      = icon('trash-o', class: 'danger-highlight')