aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/helpers/deprecated_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_view/helpers/deprecated_helper.rb')
-rw-r--r--actionpack/lib/action_view/helpers/deprecated_helper.rb34
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