From f661a3bc599ac336aeaf643a8d1d388fe905a07d Mon Sep 17 00:00:00 2001 From: "Erik St. Martin" Date: Tue, 26 Jan 2010 12:40:29 -0500 Subject: [PATCH] removing container inline js function of observed elements :function callback --- actionpack/lib/action_view/helpers/ajax_helper.rb | 6 +----- actionpack/test/template/ajax_helper_test.rb | 11 +++++++++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/actionpack/lib/action_view/helpers/ajax_helper.rb b/actionpack/lib/action_view/helpers/ajax_helper.rb index 5b706ba942747..65315fd709716 100644 --- a/actionpack/lib/action_view/helpers/ajax_helper.rb +++ b/actionpack/lib/action_view/helpers/ajax_helper.rb @@ -566,7 +566,7 @@ def extract_observer_attributes!(options) attributes = extract_remote_attributes!(options) attributes["data-observe"] = true attributes["data-observed"] = options.delete(:observed) - attributes["data-onobserve"] = create_js_function(callback, "element", "value") if callback + attributes["data-onobserve"] = callback if callback attributes["data-frequency"] = frequency.to_i if frequency && frequency != 0 attributes.delete("data-remote") @@ -577,10 +577,6 @@ def purge_unused_attributes!(attributes) attributes.delete_if {|key, value| value.nil? } attributes end - - def create_js_function(statements, *arguments) - "function(#{arguments.join(", ")}) {#{statements}}" - end end # TODO: All evaled goes here per wycat diff --git a/actionpack/test/template/ajax_helper_test.rb b/actionpack/test/template/ajax_helper_test.rb index 47d458e4ef243..6d332d4fcab1b 100644 --- a/actionpack/test/template/ajax_helper_test.rb +++ b/actionpack/test/template/ajax_helper_test.rb @@ -171,6 +171,13 @@ def setup ) end + test "periodically_call_remote_with_function" do + assert_dom_equal( + "", + periodically_call_remote(:frequency => 2, :function => "alert('test')") + ) + end + test "form_remote_tag" do assert_dom_equal %(
), form_remote_tag(:update => "glass_of_beer", :url => { :action => :fast }) @@ -297,7 +304,7 @@ def setup end test "observe_field using function for callback" do - assert_dom_equal %(), + assert_dom_equal %(), observe_field("glass", :frequency => 5.minutes, :function => "alert('Element changed')") end @@ -307,7 +314,7 @@ def setup end test "observe_form using function for callback" do - assert_dom_equal %(), + assert_dom_equal %(), observe_form("cart", :frequency => 2, :function => "alert('Form changed')") end