Commit 0581df29 authored by Phil Hughes's avatar Phil Hughes

Discussion form

parent f0d2f370
...@@ -254,6 +254,9 @@ class @Notes ...@@ -254,6 +254,9 @@ class @Notes
# find the form # find the form
form = $(".js-new-note-form") form = $(".js-new-note-form")
# Set a global clone of the form for later cloning
@formClone = form.clone()
# show the form # show the form
@setupNoteForm(form) @setupNoteForm(form)
...@@ -452,15 +455,15 @@ class @Notes ...@@ -452,15 +455,15 @@ class @Notes
Shows the note form below the notes. Shows the note form below the notes.
### ###
replyToDiscussionNote: (e) => replyToDiscussionNote: (e) =>
form = $(".js-new-note-form") form = @formClone.clone()
replyLink = $(e.target).closest(".js-discussion-reply-button") replyLink = $(e.target).closest(".js-discussion-reply-button")
replyLink.hide() replyLink.hide()
# insert the form after the button # insert the form after the button
form.clone().insertAfter replyLink replyLink.after form
# show the form # show the form
@setupDiscussionNoteForm(replyLink, replyLink.next("form")) @setupDiscussionNoteForm(replyLink, form)
### ###
Shows the diff or discussion form and does some setup on it. Shows the diff or discussion form and does some setup on it.
...@@ -485,7 +488,9 @@ class @Notes ...@@ -485,7 +488,9 @@ class @Notes
.text(form.find('.js-close-discussion-note-form').data('cancel-text')) .text(form.find('.js-close-discussion-note-form').data('cancel-text'))
@setupNoteForm form @setupNoteForm form
form.find(".js-note-text").focus() form.find(".js-note-text").focus()
form.addClass "js-discussion-note-form" form
.removeClass('js-main-target-form')
.addClass("discussion-form js-discussion-note-form")
### ###
Called when clicking on the "add a comment" button on the side of a diff line. Called when clicking on the "add a comment" button on the side of a diff line.
......
...@@ -73,6 +73,11 @@ ...@@ -73,6 +73,11 @@
} }
} }
.discussion-form {
padding: $gl-padding-top $gl-padding;
background-color: #fff;
}
.note-edit-form { .note-edit-form {
display: none; display: none;
font-size: 15px; font-size: 15px;
......
%ul#notes-list.notes.main-notes-list.timeline %ul#notes-list.notes.main-notes-list.timeline
= render "projects/notes/notes" = render "projects/notes/notes"
%ul.notes.timeline
%li.timeline-entry %li.timeline-entry
.timeline-icon.hidden-xs.hidden-sm .timeline-icon.hidden-xs.hidden-sm
- if can? current_user, :create_note, @project - if can? current_user, :create_note, @project
%a.author_link{ href: user_path(current_user) } %a.author_link{ href: user_path(current_user) }
= image_tag avatar_icon(current_user), alt: current_user.to_reference, class: 'avatar s40' = image_tag avatar_icon(current_user), alt: current_user.to_reference, class: 'avatar s40'
.timeline-content.timeline-content-form .timeline-content.timeline-content-form
.js-main-target-form - if can? current_user, :create_note, @project
- if can? current_user, :create_note, @project = render "projects/notes/form", view: diff_view
= render "projects/notes/form", view: diff_view - else
- else .disabled-comment-area
.disabled-comment-area .disabled-profile
.disabled-profile .disabled-comment
.disabled-comment %span
%span Please
Please = link_to "register",new_user_session_path
= link_to "register",new_user_session_path or
or = link_to "login",new_user_session_path
= link_to "login",new_user_session_path to post a comment
to post a comment
:javascript :javascript
var notes = new Notes("#{namespace_project_notes_path(namespace_id: @project.namespace, target_id: @noteable.id, target_type: @noteable.class.name.underscore)}", #{@notes.map(&:id).to_json}, #{Time.now.to_i}, "#{diff_view}") var notes = new Notes("#{namespace_project_notes_path(namespace_id: @project.namespace, target_id: @noteable.id, target_type: @noteable.class.name.underscore)}", #{@notes.map(&:id).to_json}, #{Time.now.to_i}, "#{diff_view}")
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment