Class: TaoForm::Components::DateRangePickerComponent

Inherits:
FieldComponent
  • Object
show all
Defined in:
lib/tao_form/components/date_range_picker_component.rb

Instance Attribute Summary collapse

Attributes inherited from FieldComponent

#attribute_name, #builder

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(view, builder, attribute_name, options = {}) ⇒ DateRangePickerComponent

Returns a new instance of DateRangePickerComponent.



7
8
9
10
11
12
13
# File 'lib/tao_form/components/date_range_picker_component.rb', line 7

def initialize view, builder, attribute_name, options = {}
  super view, builder, attribute_name, options
  @value = @options.delete(:value)
  @disabled = @options[:disabled].presence || false

  init_date_picker_options
end

Instance Attribute Details

#date_picker_optionsObject (readonly)

Returns the value of attribute date_picker_options.



5
6
7
# File 'lib/tao_form/components/date_range_picker_component.rb', line 5

def date_picker_options
  @date_picker_options
end

#disabledObject (readonly)

Returns the value of attribute disabled.



5
6
7
# File 'lib/tao_form/components/date_range_picker_component.rb', line 5

def disabled
  @disabled
end

#valueObject (readonly)

Returns the value of attribute value.



5
6
7
# File 'lib/tao_form/components/date_range_picker_component.rb', line 5

def value
  @value
end

Class Method Details

.component_nameObject



35
36
37
# File 'lib/tao_form/components/date_range_picker_component.rb', line 35

def self.component_name
  :date_range_picker
end

Instance Method Details

#render(&block) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/tao_form/components/date_range_picker_component.rb', line 15

def render &block
  if block_given?
    super
  else
    super {
      builder.hidden_field attribute_name, field_options
    }
  end
end

#render_date_picker(name) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/tao_form/components/date_range_picker_component.rb', line 25

def render_date_picker name
  opts = merge_options date_picker_options, {
    class: "#{name}-date-picker",
    placeholder: t("#{name}_placeholder")
  }
  view.tao_date_picker opts do
    view.date_field_tag nil, nil, class: "#{name}-date-field", disabled: disabled
  end
end