diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-08-15 11:14:58 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-08-26 11:30:14 +0300 |
commit | 207d798dc4b82da319d962b4ce0ec2111e79ba31 (patch) | |
tree | b8a58e37b252c95fd317d8866a42db9d910ac0db /app/views/projects/notes | |
parent | b5cc8136127326b953663abda962985d111fa250 (diff) | |
download | gitlab-ce-207d798dc4b82da319d962b4ce0ec2111e79ba31.tar.gz |
Basic UI implememntation of comments in timeline style
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/views/projects/notes')
-rw-r--r-- | app/views/projects/notes/_note.html.haml | 117 | ||||
-rw-r--r-- | app/views/projects/notes/_notes_with_form.html.haml | 2 |
2 files changed, 61 insertions, 58 deletions
diff --git a/app/views/projects/notes/_note.html.haml b/app/views/projects/notes/_note.html.haml index 5e84aed0cc4..223abe5da78 100644 --- a/app/views/projects/notes/_note.html.haml +++ b/app/views/projects/notes/_note.html.haml @@ -1,66 +1,69 @@ -%li{ id: dom_id(note), class: dom_class(note), data: { discussion: note.discussion_id } } - .note-header - .note-actions - = link_to "##{dom_id(note)}", name: dom_id(note) do - %i.icon-link - Link here - - - if(note.author_id == current_user.try(:id)) || can?(current_user, :admin_note, @project) - = link_to "#", title: "Edit comment", class: "js-note-edit" do - %i.icon-edit - Edit - - = link_to project_note_path(@project, note), title: "Remove comment", method: :delete, data: { confirm: 'Are you sure you want to remove this comment?' }, remote: true, class: "danger js-note-delete" do - %i.icon-trash.cred - Remove - = image_tag avatar_icon(note.author_email), class: "avatar s32" - = link_to_member(@project, note.author, avatar: false) - %span.note-last-update - = note_timestamp(note) +%li.timeline-entry{ id: dom_id(note), class: dom_class(note), data: { discussion: note.discussion_id } } + .timeline-entry-inner + .timeline-icon + = image_tag avatar_icon(note.author_email), class: "avatar s32" + .timeline-content + .note-header + .note-actions + = link_to "##{dom_id(note)}", name: dom_id(note) do + %i.icon-link + Link here + + - if(note.author_id == current_user.try(:id)) || can?(current_user, :admin_note, @project) + = link_to "#", title: "Edit comment", class: "js-note-edit" do + %i.icon-edit + Edit + + = link_to project_note_path(@project, note), title: "Remove comment", method: :delete, data: { confirm: 'Are you sure you want to remove this comment?' }, remote: true, class: "danger js-note-delete" do + %i.icon-trash.cred + Remove + = link_to_member(@project, note.author, avatar: false) + %span.note-last-update + = note_timestamp(note) - - if note.upvote? - %span.vote.upvote.label.label-success - %i.icon-thumbs-up - \+1 - - if note.downvote? - %span.vote.downvote.label.label-danger - %i.icon-thumbs-down - \-1 + - if note.upvote? + %span.vote.upvote.label.label-success + %i.icon-thumbs-up + \+1 + - if note.downvote? + %span.vote.downvote.label.label-danger + %i.icon-thumbs-down + \-1 - .note-body - .note-text - = preserve do - = markdown(note.note, {no_header_anchors: true}) + .note-body + .note-text + = preserve do + = markdown(note.note, {no_header_anchors: true}) - .note-edit-form - = form_for note, url: project_note_path(@project, note), method: :put, remote: true, authenticity_token: true do |f| - = f.text_area :note, class: 'note_text js-note-text js-gfm-input turn-on' + .note-edit-form + = form_for note, url: project_note_path(@project, note), method: :put, remote: true, authenticity_token: true do |f| + = f.text_area :note, class: 'note_text js-note-text js-gfm-input turn-on' - .form-actions.clearfix - = f.submit 'Save changes', class: "btn btn-primary btn-save js-comment-button" + .form-actions.clearfix + = f.submit 'Save changes', class: "btn btn-primary btn-save js-comment-button" - .note-form-option - %a.choose-btn.btn.js-choose-note-attachment-button - %i.icon-paper-clip - %span Choose File ... - - %span.file_name.js-attachment-filename File name... - = f.file_field :attachment, class: "js-note-attachment-input hidden" + .note-form-option + %a.choose-btn.btn.js-choose-note-attachment-button + %i.icon-paper-clip + %span Choose File ... + + %span.file_name.js-attachment-filename File name... + = f.file_field :attachment, class: "js-note-attachment-input hidden" - = link_to 'Cancel', "#", class: "btn btn-cancel note-edit-cancel" + = link_to 'Cancel', "#", class: "btn btn-cancel note-edit-cancel" - - if note.attachment.url - .note-attachment - - if note.attachment.image? - = link_to note.attachment.secure_url, target: '_blank' do - = image_tag note.attachment.secure_url, class: 'note-image-attach' - .attachment.pull-right - = link_to note.attachment.secure_url, target: "_blank" do - %i.icon-paper-clip - = note.attachment_identifier - = link_to delete_attachment_project_note_path(@project, note), - 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 - %i.icon-trash.cred - .clear + - if note.attachment.url + .note-attachment + - if note.attachment.image? + = link_to note.attachment.secure_url, target: '_blank' do + = image_tag note.attachment.secure_url, class: 'note-image-attach' + .attachment.pull-right + = link_to note.attachment.secure_url, target: "_blank" do + %i.icon-paper-clip + = note.attachment_identifier + = link_to delete_attachment_project_note_path(@project, note), + 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 + %i.icon-trash.cred + .clear diff --git a/app/views/projects/notes/_notes_with_form.html.haml b/app/views/projects/notes/_notes_with_form.html.haml index 052661962e4..04ee17a40a0 100644 --- a/app/views/projects/notes/_notes_with_form.html.haml +++ b/app/views/projects/notes/_notes_with_form.html.haml @@ -1,4 +1,4 @@ -%ul#notes-list.notes.main-notes-list +%ul#notes-list.notes.main-notes-list.timeline = render "projects/notes/notes" .js-notes-busy |