Sha256: ef51e13b029fe6b072901f3e8e308ee81ecfd654a92d75c69fb5e51b8f45e343

Contents?: true

Size: 1.83 KB

Versions: 17

Compression:

Stored size: 1.83 KB

Contents

module Rails3JQueryAutocomplete
  module FormtasticPlugin
    def autocompleted_input(method, options = {})
      if options.key?(:selected) || options.key?(:checked) || options.key?(:default)
        ::ActiveSupport::Deprecation.warn(
        "The :selected, :checked (and :default) options are deprecated in Formtastic and will be removed from 1.0. " <<
        "Please set default values in your models (using an after_initialize callback) or in your controller set-up. " <<
        "See http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html for more information.", caller)
      end

      options[:required] = method_required?(method) unless options.key?(:required)
      options[:as]     ||= "autocompleted_string"

      html_class = [ options[:as], (options[:required] ? :required : :optional) ]
      html_class << 'error' if @object && @object.respond_to?(:errors) && !@object.errors[method.to_sym].blank?

      wrapper_html = options.delete(:wrapper_html) || {}
      wrapper_html[:id]  ||= generate_html_id(method)
      wrapper_html[:class] = (html_class << wrapper_html[:class]).flatten.compact.join(' ')

      if options[:input_html] && options[:input_html][:id]
        options[:label_html] ||= {}
        options[:label_html][:for] ||= options[:input_html][:id]
      end

      input_parts = self.class.inline_order.dup
      input_parts = input_parts - [:errors, :hints] if options[:as] == :hidden

      list_item_content = input_parts.map do |type|
        send(:"inline_#{type}_for", method, options)
      end.compact.join("\n")

      return template.content_tag(:li, Formtastic::Util.html_safe(list_item_content), wrapper_html)
    end


    protected
    def autocompleted_string_input(method, options)
      self.label(method, options_for_label(options)) << autocomplete_field(method, options.delete(:url), options)
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
rails3-jquery-autocomplete-0.9.0 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.8.0 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.7.5 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.7.4 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.7.3 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.7.2 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.7.1 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.7.0 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.6.6 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.6.5 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.6.4 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.6.3 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.6.2 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.6.1 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.6.0 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.5.1 lib/rails3-jquery-autocomplete/formtastic_plugin.rb
rails3-jquery-autocomplete-0.5.0 lib/rails3-jquery-autocomplete/formtastic_plugin.rb