From ae416a76ff235ad5be5aeb41e8f5d207a9c0d95b Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 14 Feb 2012 00:20:23 +0200 Subject: per line comments improved. replaced from dbclick to link --- app/assets/images/comment_add.png | Bin 0 -> 1189 bytes app/assets/stylesheets/notes.css.scss | 33 ++++++++++++++++++++++++++ app/views/commits/_text_file.html.haml | 28 +++++++++++----------- app/views/commits/show.html.haml | 5 ++-- app/views/notes/_per_line_form.html.haml | 39 ++++++++++++++++++++----------- 5 files changed, 76 insertions(+), 29 deletions(-) create mode 100644 app/assets/images/comment_add.png diff --git a/app/assets/images/comment_add.png b/app/assets/images/comment_add.png new file mode 100644 index 00000000000..010da964482 Binary files /dev/null and b/app/assets/images/comment_add.png 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" ? " " : line_old), "##{line_code}", :id => line_code - %td.new_line= link_to raw(type == "old" ? " " : line_new) , "##{line_code}", :id => line_code - %td.line_content{:class => "noteable_line #{type} #{line_code}", "line_code" => line_code}= raw "#{line}  " + - if type == "match" + %td.old_line= "..." + %td.new_line= "..." + %td.line_content.matched= line + - else + %td.old_line + = link_to raw(type == "new" ? " " : 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" ? " " : line_new) , "##{line_code}", :id => line_code + %td.line_content{:class => "noteable_line #{type} #{line_code}", "line_code" => line_code}= raw "#{line}  " - - 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(){ -- cgit v1.2.1