Sha256: 3303d640320a5768594111645281d15ea557cb385d69c0c73ecc69bc322013c7

Contents?: true

Size: 1.22 KB

Versions: 3

Compression:

Stored size: 1.22 KB

Contents

# = simple_form_for @thing do |f|
#   = f.input :breakfast, :as => :effective_radio_buttons, :collection => ['Eggs', 'Bacon'], images => [asset_path('eggs.png'), asset_path('bacon.png')]

if defined?(SimpleForm)

  class EffectiveRadioButtonsInput < SimpleForm::Inputs::CollectionRadioButtonsInput
    def input(wrapper_options = nil)
      label_method, value_method = (detect_collection_methods rescue [:first, :last])

      options[:collection] = collection
      options[:label_method] = label_method
      options[:value_method] = value_method
      options[:nested_boolean_style] = :nested if nested_boolean_style?

      if options[:images]
        options[:wrapper_html] ||= {}
        options[:wrapper_html][:class] = "#{options[:wrapper_html][:class]} image_radio_buttons".strip
      elsif options[:buttons]
        options[:wrapper_html] ||= {}
        options[:wrapper_html][:class] = "#{options[:wrapper_html][:class]} button_radio_buttons btn-group".strip
        options[:wrapper_html][:data] = { toggle: 'buttons' }
      end

      Inputs::EffectiveRadioButtons::Input.new(object, object_name, template, attribute_name, input_options, (merge_wrapper_options(input_html_options, wrapper_options) || {})).to_html
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
effective_form_inputs-1.0.4 app/models/inputs/effective_radio_buttons_input.rb
effective_form_inputs-1.0.3 app/models/inputs/effective_radio_buttons_input.rb
effective_form_inputs-1.0.2 app/models/inputs/effective_radio_buttons_input.rb