From 8e172f13d7f43b999b7028153ac6327ff592c72a Mon Sep 17 00:00:00 2001 From: Bob Remeika Date: Wed, 4 Nov 2009 02:14:30 -0800 Subject: Changed data-name to data-observed on observe_field --- actionpack/lib/action_view/helpers/ajax_helper.rb | 30 ++++++++++++++--------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'actionpack/lib/action_view/helpers') diff --git a/actionpack/lib/action_view/helpers/ajax_helper.rb b/actionpack/lib/action_view/helpers/ajax_helper.rb index 93a79766dc..807c943d2c 100644 --- a/actionpack/lib/action_view/helpers/ajax_helper.rb +++ b/actionpack/lib/action_view/helpers/ajax_helper.rb @@ -55,20 +55,12 @@ module ActionView end def observe_field(name, options = {}) - attributes = extract_remote_attributes!(options) - callback = options.delete(:function) - frequency = options.delete(:frequency) + options[:observed] = name - attributes["data-name"] = name + attributes = extract_remote_attributes!(options) + attributes.merge!(extract_observer_attributes!(options)) attributes["data-js-type"] = "field_observer" - if callback - attributes["data-observer-code"] = create_js_function(callback, "element", "value") - end - if frequency && frequency != 0 - attributes["data-frequency"] = frequency.to_i - end - script_decorator(attributes) end @@ -146,6 +138,22 @@ module ActionView purge_unused_attributes!(attributes) end + def extract_observer_attributes!(options) + attributes = {} + attributes["data-observed"] = options.delete(:observed) + + callback = options.delete(:function) + frequency = options.delete(:frequency) + if callback + attributes["data-observer-code"] = create_js_function(callback, "element", "value") + end + if frequency && frequency != 0 + attributes["data-frequency"] = frequency.to_i + end + + attributes + end + def purge_unused_attributes!(attributes) attributes.delete_if {|key, value| value.nil? } attributes -- cgit v1.2.3