Class: SdrViewComponents::Forms::InvalidFeedbackComponent

Inherits:
BaseComponent
  • Object
show all
Defined in:
app/components/sdr_view_components/forms/invalid_feedback_component.rb

Overview

Component for rendering invalid feedback for a form field.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from BaseComponent

#args_for, #merge_actions, #merge_classes

Constructor Details

#initialize(field_name:, form:, classes: [], **args) ⇒ InvalidFeedbackComponent

Returns a new instance of InvalidFeedbackComponent.



7
8
9
10
11
12
13
# File 'app/components/sdr_view_components/forms/invalid_feedback_component.rb', line 7

def initialize(field_name:, form:, classes: [], **args)
  @field_name = field_name
  @form = form
  @classes = classes
  @args = args
  super()
end

Instance Attribute Details

#argsObject (readonly)

Returns the value of attribute args.



15
16
17
# File 'app/components/sdr_view_components/forms/invalid_feedback_component.rb', line 15

def args
  @args
end

#field_nameObject (readonly)

Returns the value of attribute field_name.



15
16
17
# File 'app/components/sdr_view_components/forms/invalid_feedback_component.rb', line 15

def field_name
  @field_name
end

#formObject (readonly)

Returns the value of attribute form.



15
16
17
# File 'app/components/sdr_view_components/forms/invalid_feedback_component.rb', line 15

def form
  @form
end

Instance Method Details

#callObject



17
18
19
20
21
# File 'app/components/sdr_view_components/forms/invalid_feedback_component.rb', line 17

def call
  tag.div(class: classes, id:, **args) do
    errors.join(', ')
  end
end

#render?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'app/components/sdr_view_components/forms/invalid_feedback_component.rb', line 23

def render?
  field_name.present? && errors.present?
end