summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-02-14 00:20:23 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-02-14 00:20:23 +0200
commitae416a76ff235ad5be5aeb41e8f5d207a9c0d95b (patch)
treebc84f815594a3c1a9f695c0c17122c48f8c21aef
parent6473977a2f50f2154452c8a213dfc287f033edd4 (diff)
downloadgitlab-ce-ae416a76ff235ad5be5aeb41e8f5d207a9c0d95b.tar.gz
per line comments improved. replaced from dbclick to link
-rw-r--r--app/assets/images/comment_add.pngbin0 -> 1189 bytes
-rw-r--r--app/assets/stylesheets/notes.css.scss33
-rw-r--r--app/views/commits/_text_file.html.haml28
-rw-r--r--app/views/commits/show.html.haml5
-rw-r--r--app/views/notes/_per_line_form.html.haml39
5 files changed, 76 insertions, 29 deletions
diff --git a/app/assets/images/comment_add.png b/app/assets/images/comment_add.png
new file mode 100644
index 00000000000..010da964482
--- /dev/null
+++ b/app/assets/images/comment_add.png
Binary files differ
diff --git a/app/assets/stylesheets/notes.css.scss b/app/assets/stylesheets/notes.css.scss
index c493c487a23..d264e5cfac9 100644
--- a/app/assets/stylesheets/notes.css.scss
+++ b/app/assets/stylesheets/notes.css.scss
@@ -62,3 +62,36 @@ tr.line_notes_row {
}
}
+.line_notes_row, .per_line_form { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
+
+.per_line_form {
+ background:#f5f5f5;
+ form { margin: 0; }
+ td {
+ border-bottom:1px solid #ddd;
+ }
+}
+
+td .line_note_link {
+ position:absolute;
+ margin-left:-70px;
+ margin-top:-10px;
+ z-index:10;
+ background: url("comment_add.png") no-repeat left 0;
+ width:32px;
+ height:32px;
+
+ opacity: 0.0;
+ filter: alpha(opacity=0);
+
+ &:hover {
+ opacity: 1.0;
+ filter: alpha(opacity=100);
+ }
+}
+
+.diff_file_content tr.line_holder:hover > td { background: $hover !important; }
+.diff_file_content tr.line_holder:hover > td .line_note_link {
+ opacity: 1.0;
+ filter: alpha(opacity=100);
+}
diff --git a/app/views/commits/_text_file.html.haml b/app/views/commits/_text_file.html.haml
index 609a454a1c6..3058ee1d9bf 100644
--- a/app/views/commits/_text_file.html.haml
+++ b/app/views/commits/_text_file.html.haml
@@ -1,17 +1,19 @@
%table
- each_diff_line(diff.diff.lines.to_a, index) do |line, type, line_code, line_new, line_old|
%tr.line_holder
- - if type == "match"
- %td.old_line= "..."
- %td.new_line= "..."
- %td.line_content.matched= line
- - else
- %td.old_line= link_to raw(type == "new" ? "&nbsp;" : line_old), "##{line_code}", :id => line_code
- %td.new_line= link_to raw(type == "old" ? "&nbsp;" : line_new) , "##{line_code}", :id => line_code
- %td.line_content{:class => "noteable_line #{type} #{line_code}", "line_code" => line_code}= raw "#{line} &nbsp;"
+ - if type == "match"
+ %td.old_line= "..."
+ %td.new_line= "..."
+ %td.line_content.matched= line
+ - else
+ %td.old_line
+ = link_to raw(type == "new" ? "&nbsp;" : line_old), "##{line_code}", :id => line_code
+ = link_to "", "#", :class => "line_note_link", "line_code" => line_code, :title => "Add note for this line"
+ %td.new_line= link_to raw(type == "old" ? "&nbsp;" : line_new) , "##{line_code}", :id => line_code
+ %td.line_content{:class => "noteable_line #{type} #{line_code}", "line_code" => line_code}= raw "#{line} &nbsp;"
- - comments = @line_notes.select { |n| n.line_code == line_code }.sort_by(&:created_at).reverse
- - unless comments.empty?
- - comments.each do |note|
- = render "notes/per_line_show", :note => note
- - @line_notes.reject!{ |n| n == note }
+ - comments = @line_notes.select { |n| n.line_code == line_code }.sort_by(&:created_at).reverse
+ - unless comments.empty?
+ - comments.each do |note|
+ = render "notes/per_line_show", :note => note
+ - @line_notes.reject!{ |n| n == note }
diff --git a/app/views/commits/show.html.haml b/app/views/commits/show.html.haml
index 26e89515b29..78a225c30e5 100644
--- a/app/views/commits/show.html.haml
+++ b/app/views/commits/show.html.haml
@@ -22,10 +22,11 @@
:javascript
$(document).ready(function(){
- $(".noteable_line").live("dblclick", function(e) {
+ $(".line_note_link").live("click", function(e) {
var form = $(".per_line_form");
- $(this).parent().after(form);
+ $(this).parent().parent().after(form);
form.find("#note_line_code").val($(this).attr("line_code"));
form.show();
+ return false;
});
});
diff --git a/app/views/notes/_per_line_form.html.haml b/app/views/notes/_per_line_form.html.haml
index 00fa3db82cd..28faa6301c0 100644
--- a/app/views/notes/_per_line_form.html.haml
+++ b/app/views/notes/_per_line_form.html.haml
@@ -1,22 +1,33 @@
%table{:style => "display:none;"}
%tr.per_line_form
%td{:colspan => 3 }
- %div.well
- = form_for [@project, @note], :remote => "true", :multipart => true do |f|
- %h3 Leave a note
- -if @note.errors.any?
- .alert-message.block-message.error
- - @note.errors.full_messages.each do |msg|
- %div= msg
+ = form_for [@project, @note], :remote => "true", :multipart => true do |f|
+ %h3 Leave a note
+ .row
+ .span16
+ -if @note.errors.any?
+ .alert-message.block-message.error
+ - @note.errors.full_messages.each do |msg|
+ %div= msg
- = f.hidden_field :noteable_id
- = f.hidden_field :noteable_type
- = f.hidden_field :line_code
- = f.text_area :note, :size => 255
- .prepend-top-10
- = f.submit 'Add note', :class => "btn primary", :id => "submit_note"
- .right
+ = f.hidden_field :noteable_id
+ = f.hidden_field :noteable_type
+ = f.hidden_field :line_code
+ = f.text_area :note, :size => 255
+ .actions
+ = f.submit 'Add note', :class => "btn primary", :id => "submit_note"
= link_to "Close", "#", :class => "btn hide-button"
+ .span6.entry
+ %h5 Notify via email:
+ .clearfix
+ = label_tag :notify do
+ = check_box_tag :notify, 1, @note.noteable_type != "Commit"
+ %span Project team
+
+ - if @note.notify_only_author?(current_user)
+ = label_tag :notify_author do
+ = check_box_tag :notify_author, 1 , @note.noteable_type == "Commit"
+ %span Commit author
:javascript
$(function(){