fix editing a note from the notes page

This commit is contained in:
Reinier Balt 2010-11-19 22:45:18 +01:00
parent 77e2ff0751
commit 94b5aa2346
10 changed files with 133 additions and 61 deletions

View file

@ -4,39 +4,12 @@
<h2><%= link_to(t('notes.note_header', :id => note.id.to_s), note_path(note), :title => t('notes.note_link_title', :id => note.id.to_s)) %></h2>
<div class="project_notes" id="<%= dom_id(note) %>">
<div class="note_boby"><%= format_note(note.body) %></div>
<div class="note_footer">
<% # = link_to_remote(
#image_tag("blank.png", :title =>t('notes.delete_note_title'), :class=>"delete_item", :id => "delete_note_"+note.id.to_s),
#:url => note_path(note),
#:html => {:class => 'delete_note', :title => "delete note"},
#:method => :delete,
#:confirm => t('notes.delete_confirmation', :id => note.id.to_s),
#:before => visual_effect(:fade, dom_id(note, 'container'))) -
%>
<%= link_to_delete_note(note, image_tag( "blank.png",:title => t('notes.delete_item_title'), :class=>"delete_item")) %> &nbsp;
<%= link_to_edit_note(note, image_tag( "blank.png", :title => t('notes.edit_item_title'), :class=>"edit_item") ) %>
<%# link_to_function(image_tag( "blank.png", :title => t('notes.edit_item_title'), :class=>"edit_item"),
#"$('##{dom_id(note)}').toggle(); $('##{dom_id(note, 'edit')}').show(); $('##{dom_id(note, 'edit_form')} textarea').focus();" ) + " | "
%>
| <%= link_to("In: " + note.project.name, project_path(note.project), :class=>"footer_link" ) %>&nbsp;|&nbsp;
<%= Note.human_attribute_name('created_at') %>: <%= format_date(note.created_at) %>
<% if note.updated_at? -%>
&nbsp;|&nbsp;<%= Note.human_attribute_name('updated_at') %>: <%= format_date(note.updated_at) %>
<% end -%>
</div>
<%= render :partial => "notes/note_details", :object => note %>
</div>
<div id="<%= dom_id(note, 'edit') %>" class="edit-form" style="display:none;">
<div id="<%= dom_id(note, 'edit') %>" class="note-edit-form" style="display:none;">
<%= render :partial => "notes/note_edit_form", :object => note %>
</div>
</div>
</div>

View file

@ -0,0 +1,16 @@
<% note = note_details -%>
<div class="note_boby"><%= format_note(note.body) %></div>
<div class="note_footer">
<%= link_to_delete_note(note, image_tag( "blank.png",:title => t('notes.delete_item_title'), :class=>"delete_item")) %> &nbsp;
<%= link_to_edit_note(note, image_tag( "blank.png", :title => t('notes.edit_item_title'), :class=>"edit_item") ) %>
| <%= link_to("In: " + note.project.name, project_path(note.project), :class=>"footer_link" ) %>&nbsp;|&nbsp;
<%= Note.human_attribute_name('created_at') %>: <%= format_date(note.created_at) %>
<% if note.updated_at? -%>
&nbsp;|&nbsp;<%= Note.human_attribute_name('updated_at') %>: <%= format_date(note.updated_at) %>
<% end -%>
</div>

View file

@ -1,21 +1,13 @@
<%
#form_remote_tag :url => note_path(note),
#:method => :put,
#:html => { :id => dom_id(note, 'edit_form'), :class => "inline-form" },
#:update => dom_id(note, 'container'),
#:complete => visual_effect(:appear, dom_id(note, 'container')) do
-%>
<% form_for(note_edit_form, :html => {
:id => dom_id(note_edit_form, 'edit_form'),
:class => "inline-form edit-note-form",
:method => :put }) do
:method => :put }) do |f|
-%>
<%= hidden_field( "note", "project_id" ) %>
<%= text_area( "note", "body", "cols" => 70, "rows" => 15, "tabindex" => 1 ) %>
<br /><br />
<input type="submit" value="<%= t('common.update') %>" tabindex="2" />
<div id="error_status"><%= error_messages_for("note") %></div>
<%= f.hidden_field( "project_id" ) %>
<%= f.text_area( "body", "cols" => 70, "rows" => 15, "tabindex" => 1 ) %>
<div class="submit_box">
<div class="widgets">
@ -23,11 +15,13 @@
<%=image_tag("accept.png", :alt => "") %>
<%= t 'common.update' %>
</button>
<a href="" onclick="" class="negative">
<a href="" class="negative" id="neg_<%=dom_id(note_edit_form, 'edit_form')%>">
<%=image_tag("cancel.png", :alt => "") %>
<%= t 'common.cancel' %>
</a>
</div>
</div>
<% end -%>
<br/><br/>
<% end -%>

View file

@ -0,0 +1,33 @@
<% if @saved -%>
page_notify('notice', 'Note <%=@note.id %> saved', 5);
replace_note_form_with_updated_note();
<% else -%>
show_errors();
<% end %>
function show_errors() {
$('div#edit_error_status').html(html_for_error_messages());
$('div#edit_error_status').show();
}
function replace_note_form_with_updated_note() {
$('#<%= dom_id(@note, 'edit')%>').fadeOut(250, function() {
$('#<%= dom_id(@note, 'edit')%>').html(html_for_updated_note_form());
$('div.project_notes#<%= dom_id(@note)%>').html(html_for_updated_note_details());
$('#<%= dom_id(@note)%>').fadeIn(500);
});
}
function html_for_error_messages() {
return "<%= escape_javascript(error_messages_for('note')) %>";
}
function html_for_updated_note_form(){
return "<%= escape_javascript(render(:partial => 'note_edit_form', :object => @note)) %>";
}
function html_for_updated_note_details(){
return "<%= escape_javascript(render(:partial => 'note_details', :object => @note)) %>";
}