Sha256: 97f156f03cc73339c9b95c174f73e028275d3778048fa4f3c0ead331129d613f
Contents?: true
Size: 796 Bytes
Versions: 7
Compression:
Stored size: 796 Bytes
Contents
module PushType class SelectField < PushType::FieldType options template: 'select', choices: [], field_options: { include_blank: 'Please select...' }, multiple: false def multiple? @opts[:multiple] end def param multiple? ? { json_key => [] } : super end def choices if @opts[:choices].respond_to? :call @opts[:choices].call else @opts[:choices] end end def field_options @opts[:field_options] end def html_options super.merge(multiple: multiple?) end def to_json(val) return if val.blank? multiple? ? Array(val).reject(&:blank?) : super end def from_json(val) return if val.blank? multiple? ? Array(val).reject(&:blank?) : super end end end
Version data entries
7 entries across 7 versions & 1 rubygems