Class: Headmin::Form::FlatpickrRangeView

Inherits:
ViewModel
  • Object
show all
Includes:
Hintable, InputGroupable, Labelable, Listable, Placeholderable, Validatable, Wrappable
Defined in:
app/models/headmin/form/flatpickr_range_view.rb

Instance Method Summary collapse

Methods inherited from ViewModel

#attributes, #initialize, #to_hash

Constructor Details

This class inherits a constructor from ViewModel

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ViewModel

Instance Method Details

#attributeObject



12
13
14
# File 'app/models/headmin/form/flatpickr_range_view.rb', line 12

def attribute
  @attribute || :period
end

#end_attributeObject



20
21
22
# File 'app/models/headmin/form/flatpickr_range_view.rb', line 20

def end_attribute
  @end.dig(:attribute) || :end_date
end

#end_optionsObject



28
29
30
# File 'app/models/headmin/form/flatpickr_range_view.rb', line 28

def end_options
  default_end_options.deep_merge(@end || {})
end

#input_group_optionsObject



38
39
40
41
42
# File 'app/models/headmin/form/flatpickr_range_view.rb', line 38

def input_group_options
  default_input_group_options
    .deep_merge(label_input_group_options)
    .deep_merge(@input_group || {})
end

#input_optionsObject



32
33
34
35
36
# File 'app/models/headmin/form/flatpickr_range_view.rb', line 32

def input_options
  keys = attributes - %i[append attribute end float form input_group label prepend start validate wrapper]
  options = to_h.slice(*keys)
  default_input_options.deep_merge(options)
end

#start_attributeObject



16
17
18
# File 'app/models/headmin/form/flatpickr_range_view.rb', line 16

def start_attribute
  @start.dig(:attribute) || :start_date
end

#start_optionsObject



24
25
26
# File 'app/models/headmin/form/flatpickr_range_view.rb', line 24

def start_options
  default_start_options.deep_merge(@start || {})
end

#wrapper_optionsObject



44
45
46
47
48
# File 'app/models/headmin/form/flatpickr_range_view.rb', line 44

def wrapper_options
  default_wrapper_options.deep_merge({
    class: ["mb-3", ("form-floating" if float)]
  }).deep_merge(@wrapper || {})
end