Class: Fluxbit::Form::FieldComponent

Inherits:
Component
  • Object
show all
Defined in:
app/components/fluxbit/form/field_component.rb

Instance Method Summary collapse

Constructor Details

#initialize(**props) ⇒ FieldComponent

Returns a new instance of FieldComponent.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/components/fluxbit/form/field_component.rb', line 4

def initialize(**props)
  super
  @props = props
  @form = @props.delete(:form)
  @attribute = @props.delete(:attribute)
  @name = @props.delete(:name) || (@attribute if @form.present?)
  @value = @props.delete(:value)
  @id = @props.delete(:id)

  @object = @form&.object
  @help_text = define_help_text(props.delete(:help_text), @object, @attribute)
  @helper_popover = define_helper_popover(props.delete(:helper_popover), @object, @attribute)
  @helper_popover_placement = props.delete(:helper_popover_placement) || "right"
  @label = label_value(props.delete(:label), @object, @attribute, @id)
  @wrapper_html = props.delete(:wrapper_html) || {}
  define_wrapper_options
end

Instance Method Details

#define_wrapper_optionsObject



22
23
24
25
# File 'app/components/fluxbit/form/field_component.rb', line 22

def define_wrapper_options
  add(to: @wrapper_html, class: "required") if @props[:required].present?
  add(to: @wrapper_html, class: @name) if @name.present?
end