per line comments improved. replaced from dbclick to link

This commit is contained in:
Dmitriy Zaporozhets 2012-02-14 00:20:23 +02:00
parent 6473977a2f
commit ae416a76ff
5 changed files with 76 additions and 29 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -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);
}

View file

@ -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 }

View file

@ -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;
});
});

View file

@ -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(){