diff --git a/tracks/app/helpers/todos_helper.rb b/tracks/app/helpers/todos_helper.rb index 4e52730e..ec56e756 100644 --- a/tracks/app/helpers/todos_helper.rb +++ b/tracks/app/helpers/todos_helper.rb @@ -8,9 +8,10 @@ module TodosHelper end def form_remote_tag_edit_todo( item, &block ) - form_remote_tag( :url => todo_path(item), :method => :put, - :html => { :id => dom_id(item, 'form'), :class => "inline-form" }, &block - ) + form_tag( todo_path(item), {:method => :put, :id => dom_id(item, 'form'), :class => "edit_todo_form inline-form" }, &block ) + apply_behavior 'form.edit_todo_form:submit', + remote_function(:url => javascript_variable('this.action'), :method => :put, :form => true), + :prevent_default => true end def link_to_remote_todo(item) @@ -134,7 +135,7 @@ module TodosHelper return array_or_string_for_javascript(['Create a new context']) if @contexts.empty? array_or_string_for_javascript( @contexts.collect{|c| escape_javascript(c.name) } ) end - + private def image_tag_for_delete diff --git a/tracks/app/views/contexts/_context_listing.rhtml b/tracks/app/views/contexts/_context_listing.rhtml index 9194aec3..5e1bab92 100644 --- a/tracks/app/views/contexts/_context_listing.rhtml +++ b/tracks/app/views/contexts/_context_listing.rhtml @@ -17,7 +17,10 @@ <%= image_tag( "blank.png", :title => "Delete context", :class=>"delete_item") %> <% apply_behavior "a.delete_context_button:click", :prevent_default => true do |page| page << "if (confirm('Are you sure that you want to ' + this.title + '?')) {" - page << "new Ajax.Updater(this.up('.list'), this.href, {asynchronous:true, evalScripts:true, method:'delete', onLoading:function(request){Effect.Fade(this.up('.list'));}}); };" + page << " new Ajax.Updater($(this).up('.list')," + page << " this.href, {asynchronous:true," + page << " evalScripts:true, method:'delete'," + page << " onLoading:function(request){ Effect.Fade($(this).up('.list'));}}); };" end -%> <%= image_tag( "blank.png", :title => "Edit context", :class=>"edit_item") %> <% apply_behavior 'a.edit_context_button:click', {:prevent_default => true } do |page, element| @@ -41,7 +44,7 @@ <% end -%> <% apply_behavior ".context form.inline-form'", make_remote_form( - :complete => "Effect.Appear(this.up('.list'));" ) %> + :complete => "Effect.Appear($(this).up('.list'));" ) %> <% apply_behavior "a.form_reset:click", :prevent_default => true do |page, element| element.up('.list').down('.context').toggle element.up('.edit-form').toggle diff --git a/tracks/app/views/todos/_item.rhtml b/tracks/app/views/todos/_item.rhtml index 2b98c8af..c567662f 100644 --- a/tracks/app/views/todos/_item.rhtml +++ b/tracks/app/views/todos/_item.rhtml @@ -4,9 +4,10 @@ <%= link_to_remote_todo item %> <% unless source_view_is :deferred -%> - checked="checked" <% end %> /> + checked="checked" <% end %> /> + <% apply_behavior '.item-container input.item-checkbox:click', + remote_function(:url => javascript_variable('this.attributes.url.value'), :with => "{ method : 'post', _source_view : '#{@source_view}' }") %> <% end -%>