diff options
Diffstat (limited to 'actionpack/lib/action_view/helpers/deprecated_helper.rb')
-rw-r--r-- | actionpack/lib/action_view/helpers/deprecated_helper.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/actionpack/lib/action_view/helpers/deprecated_helper.rb b/actionpack/lib/action_view/helpers/deprecated_helper.rb new file mode 100644 index 0000000000..04392f5b04 --- /dev/null +++ b/actionpack/lib/action_view/helpers/deprecated_helper.rb @@ -0,0 +1,34 @@ +module ActionView + module Helpers + module PrototypeHelper + + def update_element_function(element_id, options = {}, &block) + content = escape_javascript(options[:content] || '') + content = escape_javascript(capture(&block)) if block + + javascript_function = case (options[:action] || :update) + when :update + if options[:position] + "new Insertion.#{options[:position].to_s.camelize}('#{element_id}','#{content}')" + else + "$('#{element_id}').innerHTML = '#{content}'" + end + + when :empty + "$('#{element_id}').innerHTML = ''" + + when :remove + "Element.remove('#{element_id}')" + + else + raise ArgumentError, "Invalid action, choose one of :update, :remove, :empty" + end + + javascript_function << ";\n" + options[:binding] ? concat(javascript_function, options[:binding]) : javascript_function + end + deprecate :update_element_function => "use RJS instead" + + end + end +end
\ No newline at end of file |