From ae416a76ff235ad5be5aeb41e8f5d207a9c0d95b Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 14 Feb 2012 00:20:23 +0200 Subject: [PATCH] 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 0000000000000000000000000000000000000000..010da9644822d1406a862b931da5d80d597220ac GIT binary patch literal 1189 zcmV;W1X}xvP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyV; z6)*(jL~b|$00bpTL_t(o!|hdFXdG1({_edqJG-;lO=2g8CY^4DXaZZSzO)z<5DS7L z_$>MqK`4b335YL6pZs~~L#v9oIP^<%>1+K?|${XeCzyk z>nF}0KJJePh1^aOFMs&>(!qm=?%R?DIKoCu8$d5Jap9+L(kGw#^!^Y_&{z-lMw9p~_5Sqf zV?Uk==2JXnVPOHB^Zll2Ug_`e4=aiy0T4n6S^?WZ5JI4-5zxyve);VZgt`TX6_C91 zF?@0DRrH02@jK68^uPlz0?h=dr%X;x!Z3{U@pxRbEDM!Ng;c9maL(a9{ixMybvU*_ zX{(4oiyJt4UK^TNA^8~GQWvXC^Xcn1=Me-s+zPciwGegrG%6copjH3 zgpIHg2dPEy$%R)i{ZRsxFr57I9;7m-07z7-n>V@=@F!{a3_=J2UaMeq=s^s|#=y%G z%<9A9&*#8+FRU6zOdUdIedV>TL%6)WEThqAeYm_H`}KA{Mj77w`UO}vNB-7T*tCQ@ z`uAX;F$QZRgkw*;2OVAQzKwZg_I6zjs?!EFbtz50VOyC9y}33G$iqCZylwy z$;WFI5W89@=>J|v0^VeMy9vf9r7e>N$@3iO)8R!am7MdHb_D9b#@yT-N~O}s z*x1;`fq{XDq9~GVOT)zzypTBO4L(&>p{gnfAyNoI%H?vUP$=B1>v|@cOm@GHXJ==1 zP1B|*rF*>pnlT0d^=sHeC=}YCNF=7h;jk1!5CCu-2f1AC6s5F8DgDE??RO?7CaPU4 z@NZ>)e*Vz#@bKc`;9%6UEaEs0*4EaBM@B}jo2J?I{e~gTX0z~K%4V~Ek{)QlCPIj7 z#bPnBy1IJKG|fk)lu#5!b=NjcpFc-a1>B?*fC@kZ5C#x&(c>cK!m}e%$}nS0=JWZZ zQp$0|Fy3U0l>z((;3j|^fDC|N0aO6gNdyTH03kQA?n5+?Jnq_kZmiEEMF`P_5OG3C z)cuYEfCESacpboZrfG_H=YRxI^XU!%+x6K2SS}&}HeBM0l#&ucgd1yB0pV{$(?R62 z~1_G^=Zr=p}$G_8dGw`2@Z-{s0|1Ez5ZgZ1Bq<0|w00000NkvXXu0mjf DD$yny literal 0 HcmV?d00001 diff --git a/app/assets/stylesheets/notes.css.scss b/app/assets/stylesheets/notes.css.scss index c493c487..d264e5cf 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 609a454a..3058ee1d 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 26e89515..78a225c3 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 00fa3db8..28faa630 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(){