Class: Fluxbit::Form::TextareaInputComponent
- Inherits:
-
Component
- Object
- Component
- Fluxbit::Form::TextareaInputComponent
- Defined in:
- app/components/fluxbit/form/textarea_input_component.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(form: nil, field: nil, color: nil, label: nil, helper_text: nil, helper_popover: nil, helper_popover_placement: "right", shadow: false, **props) ⇒ TextareaInputComponent
constructor
rubocop: enable Layout/LineLength.
- #textarea ⇒ Object
- #valid_color(color) ⇒ Object
Constructor Details
#initialize(form: nil, field: nil, color: nil, label: nil, helper_text: nil, helper_popover: nil, helper_popover_placement: "right", shadow: false, **props) ⇒ TextareaInputComponent
rubocop: enable Layout/LineLength
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/components/fluxbit/form/textarea_input_component.rb', line 20 def initialize(form: nil, field: nil, color: nil, label: nil, helper_text: nil, helper_popover: nil, helper_popover_placement: "right", shadow: false, **props) super @form = form @object = form&.object @field = field @shadow = shadow @color = valid_color(color) @props = props @label = label_value(label, @object, field, id) @helper_text = define_helper_text(helper_text, @object, field) @helper_popover = define_helper_popover(helper_popover, @object, field) @helper_popover_placement = helper_popover_placement add(class: styles[:shadow], to: @props, first_element: true) if shadow add(class: styles[:bg][@color], to: @props, first_element: true) add(class: styles[:base], to: @props, first_element: true) end |
Instance Method Details
#call ⇒ Object
54 55 56 |
# File 'app/components/fluxbit/form/textarea_input_component.rb', line 54 def call safe_join([ label, textarea, helper_text ]) end |
#textarea ⇒ Object
46 47 48 49 50 51 52 |
# File 'app/components/fluxbit/form/textarea_input_component.rb', line 46 def textarea if @form.nil? content_tag :textarea, content, @props else @form.text_area(@field, **@props) end end |
#valid_color(color) ⇒ Object
39 40 41 42 43 44 |
# File 'app/components/fluxbit/form/textarea_input_component.rb', line 39 def valid_color(color) return color if styles[:bg].key?(color) return :failure if errors.present? :default end |