lib/cm_admin/models/form_field.rb in cm-admin-1.3.3 vs lib/cm_admin/models/form_field.rb in cm-admin-1.3.4
- old
+ new
@@ -8,11 +8,11 @@
attr_accessor :field_name, :label, :header, :input_type, :collection, :disabled, :helper_method,
:placeholder, :display_if, :html_attr, :target, :col_size
VALID_INPUT_TYPES = %i[
integer decimal string single_select multi_select date date_time text
- single_file_upload multi_file_upload hidden rich_text check_box radio_button
+ single_file_upload multi_file_upload hidden rich_text check_box radio_button custom_string custom_date custom_single_select
].freeze
def initialize(field_name, input_type, attributes = {})
@field_name = field_name
set_default_values
@@ -23,10 +23,10 @@
self.display_if = lambda { |arg| return true } if display_if.nil?
raise ArgumentError, "Kindly select a valid input type like #{VALID_INPUT_TYPES.sort.to_sentence(last_word_connector: ', or ')} instead of #{self.input_type} for form field #{field_name}" unless VALID_INPUT_TYPES.include?(self.input_type.to_sym)
end
def set_default_values
- self.disabled = false
+ self.disabled = lambda { |arg| return false } if display_if.nil?
self.label = self.field_name.to_s.titleize
self.input_type = :string
self.html_attr = {}
self.target = {}
self.col_size = nil