Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #8120: auto_complete_field_method_option_patch.diff

File auto_complete_field_method_option_patch.diff, 2.5 kB (added by zapnap, 3 years ago)

patch to add :method option to auto_complete_field

  • actionpack/test/template/java_script_macros_helper_test.rb

    old new  
    4040        :after_update_element => "function(element,value){alert('You have chosen: '+value)}"); 
    4141    assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nvar some_input_auto_completer = new Ajax.Autocompleter('some_input', 'some_input_auto_complete', 'http://www.example.com/autocomplete', {paramName:'huidriwusch'})\n//]]>\n</script>), 
    4242      auto_complete_field("some_input", :url => { :action => "autocomplete" }, :param_name => 'huidriwusch'); 
     43    assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nvar some_input_auto_completer = new Ajax.Autocompleter('some_input', 'some_input_auto_complete', 'http://www.example.com/autocomplete', {method:'get'})\n//]]>\n</script>), 
     44      auto_complete_field("some_input", :url => { :action => "autocomplete" }, :method => :get); 
    4345  end 
    4446   
    4547  def test_auto_complete_result 
  • actionpack/lib/action_view/helpers/java_script_macros_helper.rb

    old new  
    139139      # <tt>:select</tt>::               Pick the class of the element from which the value for  
    140140      #                                  insertion should be extracted. If this is not specified, 
    141141      #                                  the entire element is used. 
     142      # <tt>:method</tt>::               Specifies the HTTP verb to use when the autocompletion 
     143      #                                  request is made. Defaults to POST. 
    142144      def auto_complete_field(field_id, options = {}) 
    143145        function =  "var #{field_id}_auto_completer = new Ajax.Autocompleter(" 
    144146        function << "'#{field_id}', " 
     
    152154        js_options[:select]     = "'#{options[:select]}'" if options[:select] 
    153155        js_options[:paramName]  = "'#{options[:param_name]}'" if options[:param_name] 
    154156        js_options[:frequency]  = "#{options[:frequency]}" if options[:frequency] 
     157        js_options[:method]     = "'#{options[:method].to_s}'" if options[:method] 
    155158 
    156159        { :after_update_element => :afterUpdateElement,  
    157160          :on_show => :onShow, :on_hide => :onHide, :min_chars => :minChars }.each do |k,v|