Module: Infold::FormColumnConcern

Extended by:
ActiveSupport::Concern
Included in:
FormAssociationColumn, FormColumn
Defined in:
app/models/concerns/infold/form_column_concern.rb

Instance Method Summary collapse

Instance Method Details

#default_sizeObject



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'app/models/concerns/infold/form_column_concern.rb', line 47

def default_size
  return nil unless sizing_form?

  return :md if form_kind_select? || form_kind_reference?
  return :lg if form_kind_textarea?
  return :md if model_column.blank?
  case model_column.kind.to_sym
    when :date, :datetime, :number
      :sm
    when :string
      :md
    else
      :lg
  end
end

#enable_form_kindsObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'app/models/concerns/infold/form_column_concern.rb', line 15

def enable_form_kinds
  return [] if model_column.blank?

  if model_column.kind_reference?
    { self.class.form_kinds_i18n["reference"] => "reference" }
  else
    _kinds = case model_column.kind.to_sym
             when :enum
               [:select, :radio]
             when :boolean
               [:check]
             when :image
               [:image]
             when :file
               [:file]
             when :datetime
               [:datetime]
             when :string
               [:text, :textarea]
             when :text
               [:textarea, :text]
             else
               [:text]
             end
    self.class.form_kinds_i18n.invert.select{ |k,v| _kinds.include?(v.to_sym) }
  end
end

#sizing_form?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'app/models/concerns/infold/form_column_concern.rb', line 43

def sizing_form?
  %w(text reference select textarea).include?(form_kind)
end