Sha256: f01f49ef84352894b6453a19777a3fd40b6d010fa368e4a42e90c2005c984cc4

Contents?: true

Size: 566 Bytes

Versions: 30

Compression:

Stored size: 566 Bytes

Contents

module PushType
  class SelectField < PushType::FieldType

    options template:       'select',
            choices:        [], 
            field_options:  { include_blank: 'Please select...' }

    def choices
      if @opts[:choices].respond_to? :call
        model.instance_exec(&@opts[:choices])
      else
        @opts[:choices]
      end
    end

    def multiple?
      @opts[:multiple]
    end

    def json_primitive
       multiple? ? :array : super 
    end

    def html_options
      @opts[:html_options].merge(multiple: multiple?)
    end

  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
push_type_core-0.12.1 app/fields/push_type/select_field.rb
push_type_core-0.12.0 app/fields/push_type/select_field.rb
push_type_core-0.12.0.beta.1 app/fields/push_type/select_field.rb
push_type_core-0.11.2 app/fields/push_type/select_field.rb
push_type_core-0.11.1 app/fields/push_type/select_field.rb
push_type_core-0.11.0.beta.2 app/fields/push_type/select_field.rb
push_type_core-0.11.0.beta.1 app/fields/push_type/select_field.rb
push_type_core-0.10.4 app/fields/push_type/select_field.rb
push_type_core-0.10.3 app/fields/push_type/select_field.rb
push_type_core-0.10.2 app/fields/push_type/select_field.rb
push_type_core-0.10.1 app/fields/push_type/select_field.rb
push_type_core-0.10.0 app/fields/push_type/select_field.rb
push_type_core-0.10.0.beta.5 app/fields/push_type/select_field.rb
push_type_core-0.10.0.beta.3 app/fields/push_type/select_field.rb
push_type_core-0.9.5 app/fields/push_type/select_field.rb
push_type_core-0.9.3 app/fields/push_type/select_field.rb
push_type_core-0.9.2 app/fields/push_type/select_field.rb
push_type_core-0.9.1 app/fields/push_type/select_field.rb
push_type_core-0.9.0 app/fields/push_type/select_field.rb
push_type_core-0.9.0.beta.4 app/fields/push_type/select_field.rb