Sha256: 2671b38b74d8ce6f97d9f94b6b2c26b9f2144b1c4a606e88cc356b30366d46dc

Contents?: true

Size: 1.87 KB

Versions: 14

Compression:

Stored size: 1.87 KB

Contents

##
#  <%= f.input :city,
#                :as => :bs_autocomplete,
#                :url => tikal_core.autocomplete_city_nome_autoclts_cities,
#                :display_field => :nome,
#                :value_field => :city_id %>
#
#
# -- display_field
#     serve per indicare quale campo utilizzare come metodo per estrapolare i dati dal record associato
#     può anche essere una proc a cui passiamo l'oggetto
# -- value_field
#     indica quale campo utilizzare per estrapolare il dato del valore del record associato
#     e quale nome dare al campo per creare una form corretta
#
#se è presente il Formtastic::Inputs::AutocompleteInput
begin
  class BsAutocompleteInput < Formtastic::Inputs::AutocompleteInput

    include FormtasticBootstrap::Inputs::Base

    def input_html_options
      id = super[:id]

      opts = {class: "form-control", id: "autocomplete_#{id}"}

      ##Setto valore utilizzando le impostazioni di identificativo del campo per autocomplete  :display_field
      unless options[:display_field].nil?
        opts[:value] = object.send(method).try(options[:display_field])
      end

      super.merge(opts)
    end

    def to_html
      bootstrap_wrapping do
        buffer = ActiveSupport::SafeBuffer.new

        html_options = input_html_options

        hidden_field = nil
        unless options[:value_field].nil?
          hidden_id = "hidden_#{html_options[:id]}_#{SecureRandom.hex}"
          html_options[:id_element] = "##{hidden_id}"
          hidden_field =  builder.hidden_field(options[:value_field], id: hidden_id)
        end

        buffer << builder.autocomplete_field(method, options.delete(:url), html_options)

        buffer << hidden_field unless hidden_field.nil?

        buffer
      end
    end
  end
rescue Exception => e
  if defined?(Rails)
    Rails.logger.debug {"Non riesco a caricare questa input BsAutocompleteInput #{__FILE__}"}
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
kono_utils-1.0.1 app/input/bs_autocomplete_input.rb
kono_utils-1.0.0 app/input/bs_autocomplete_input.rb
kono_utils-0.15.16 app/input/bs_autocomplete_input.rb
kono_utils-0.15.15 app/input/bs_autocomplete_input.rb
kono_utils-0.15.14 app/input/bs_autocomplete_input.rb
kono_utils-0.15.13 app/input/bs_autocomplete_input.rb
kono_utils-0.15.12 app/input/bs_autocomplete_input.rb
kono_utils-0.15.11 app/input/bs_autocomplete_input.rb
kono_utils-0.15.10 app/input/bs_autocomplete_input.rb
kono_utils-0.15.9 app/input/bs_autocomplete_input.rb
kono_utils-0.15.8 app/input/bs_autocomplete_input.rb
kono_utils-0.15.7 app/input/bs_autocomplete_input.rb
kono_utils-0.15.6 app/input/bs_autocomplete_input.rb
kono_utils-0.15.5 app/input/bs_autocomplete_input.rb