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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U|>t~ zc6VX;4}uH!E}zW6z`$AH5n0T@z%2~Ij105pNH8!ku$OrHy0YJ4;uSSudF+yB!N9gnPb5^?x#Xl#Z|sK~!}dyTDkZ@%f9q~4}BH?K8=DSGw3EfT^4+)YY9bbg6AYP5=Q zcIdm#|5N$Gd2Nt@q1_5m69uPL8-6q!M$}HoarTPdeK6&2+1*!CyJx?-cXMWS?TIr+ z*1yG}+?@CGil4;rp2TW#$jwLELEpIW;qv@T>hphn`6nyru{5Y_-Rs~f zmlTi9STdz4h|7t?X0GA22gyATKYw|-`?t`emo;CNLZl8Vm-{|$zr%hZg8!S_OT@w6=e=KA-UA0JA>RS(X*cef<0m8T5SqSP`>XhkL45Ysl)*f^!dT z|E{>2Rcf)#A#-(yeYdnlRRWv7Z4IZB)eOo1V(#B;n~nB&256XES;cxKf5oaZB2$qPrGW5*7h7CQ6l@T2q34^-%{k#hHubxNy!x^qV^NUHac{m;3R%ziQWUfo#n zGdbpDZNKm8jv09gCGRcx`fWNZ^8L%1yuH0knchwc+I4s91F8M~!O96ftyB22`dH7c zHsD#T%BX6=EN3I=WTNshCtr5ymXpV`MFn<8slWIi=gxF5rFu8#F^#3Vli5!GI$7Dg zOPT55%Wv;(W-N$pjavKLUG&AZCO^CS)?0$_JPyRSE_l=8v0AL+U)iM#FV3DlE9x4U zvi$J!&^4DIx@u0H^Lc6+%d7pz?%a{_T6*ckjT<+PHa0ePEYg^i<9+z3@SX`4&w1@a zLl>^n;!q6Ya6I+2Xla1Poz<_a)MomW?e9xZPcQYoyi8+h^`8H;4A~gIX5Vnu5VzH~}} zh->L}GvE34?!l~gmWVWPIWP;b2^3y@tn}>AX62w$2FX6pKL1=CbgJ;M!M&88sf>SE zAE-6RH1IUUGlno+@nqo?U{EyQ_|Dm6g3Y^IwRvmKE4y-BY!xVU^0@N1kEwy#gSkTX zK>4!FuCnJ1ECHWi@-f{0dXq6iPl>@S=26#_NkUF7(%GSm5A&TbJ3iU;_-4*D<{eja y*_hT&$-B?WaD4yeGUE^PJM%lrpZ?daXU;30?69O<;V%ON1B0ilpUXO@geCwg(Iy%I 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(){