Sha256: 7b5d428cf9a8aecf99808dda8cf87bbaa5fadd5f4cd2a03e7f20e3c94b1d65cb

Contents?: true

Size: 1.24 KB

Versions: 16

Compression:

Stored size: 1.24 KB

Contents

class AdminRelationshipSelectInput < SimpleForm::Inputs::CollectionSelectInput
  def input(wrapper_options)
    super
    input_html_options[:class] << ' carnival-select'
    if input_html_options[:data][:depends_on].nil?
      collection = @builder.object.class.name.constantize.reflect_on_association(attribute_name.to_sym).klass.name.constantize.list_for_select
    else
      depends_on =  @builder.object.class.name.constantize.reflect_on_association(input_html_options[:data][:depends_on]).foreign_key
      depends_on_value = @builder.object.send(depends_on.to_s)
      if depends_on_value.present?
        collection = @builder.object.class.name.constantize.reflect_on_association(attribute_name.to_sym).klass.name.constantize.list_for_select(add_empty_option: true, query: ["#{depends_on} = ?", depends_on_value])
      else
        collection = []
      end
    end

    @builder.collection_select(
      "#{HashWithIndifferentAccess.new(@builder.object.class.name.constantize.reflections)[attribute_name.to_sym].foreign_key}",
      collection,
      :first, :last,
      {prompt: I18n.t("#{@builder.object.class.to_s.gsub(/^.*::/, '').downcase}.lista_#{attribute_name}.selecione", default: I18n.t("messages.select"))},
      input_html_options
    )
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
carnival-0.3.1 app/inputs/admin_relationship_select_input.rb
carnival-0.3.0 app/inputs/admin_relationship_select_input.rb
carnival-0.2.8 app/inputs/admin_relationship_select_input.rb
carnival-0.2.7 app/inputs/admin_relationship_select_input.rb
carnival-0.2.6 app/inputs/admin_relationship_select_input.rb
carnival-0.2.5 app/inputs/admin_relationship_select_input.rb
carnival-0.2.4 app/inputs/admin_relationship_select_input.rb
carnival-0.2.3 app/inputs/admin_relationship_select_input.rb
carnival-0.1.10 app/inputs/admin_relationship_select_input.rb
carnival-0.2.2 app/inputs/admin_relationship_select_input.rb
carnival-0.2.1 app/inputs/admin_relationship_select_input.rb
carnival-0.2.0 app/inputs/admin_relationship_select_input.rb
carnival-0.1.9 app/inputs/admin_relationship_select_input.rb
carnival-0.1.8 app/inputs/admin_relationship_select_input.rb
carnival-0.1.7 app/inputs/admin_relationship_select_input.rb
carnival-0.1.6 app/inputs/admin_relationship_select_input.rb