Sha256: 686479a206b6f19810dad3b3b47f6fcb49561826d06395daa25cd09676271d55

Contents?: true

Size: 1.32 KB

Versions: 4

Compression:

Stored size: 1.32 KB

Contents

module ActionView
  module Helpers
    module PrototypeHelper

      # Method to execute an element update using Prototype.
      # DEPRECATION WARNING: This helper has been depercated; use RJS instead.
      # See ActionView::Helpers::PrototypeHelper::JavaScriptGenerator::GeneratorMethods for more information.
      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

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
actionpack-1.13.6 lib/action_view/helpers/deprecated_helper.rb
actionpack-1.13.5 lib/action_view/helpers/deprecated_helper.rb
actionpack-1.13.4 lib/action_view/helpers/deprecated_helper.rb
radiant-0.6.4 vendor/rails/actionpack/lib/action_view/helpers/deprecated_helper.rb