Class: GovukComponent::SummaryListComponent::ActionComponent

Inherits:
Base
  • Object
show all
Defined in:
app/components/govuk_component/summary_list_component/action_component.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#html_attributes

Attributes included from Traits::CustomHtmlAttributes

#html_attributes

Instance Method Summary collapse

Methods inherited from Base

#default_classes

Methods included from Traits::CustomClasses

#default_classes

Methods included from Govuk::Components::Helpers::CssUtilities

#combine_classes

Constructor Details

#initialize(href: nil, text: 'Change', visually_hidden_text: nil, classes: [], html_attributes: {}) ⇒ ActionComponent

Returns a new instance of ActionComponent.



4
5
6
7
8
9
10
# File 'app/components/govuk_component/summary_list_component/action_component.rb', line 4

def initialize(href: nil, text: 'Change', visually_hidden_text: nil, classes: [], html_attributes: {})
  super(classes: classes, html_attributes: html_attributes)

  @href                 = href
  @text                 = text
  @visually_hidden_text = visually_hidden_text
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



2
3
4
# File 'app/components/govuk_component/summary_list_component/action_component.rb', line 2

def attributes
  @attributes
end

#classesObject (readonly)

Returns the value of attribute classes.



2
3
4
# File 'app/components/govuk_component/summary_list_component/action_component.rb', line 2

def classes
  @classes
end

#hrefObject (readonly)

Returns the value of attribute href.



2
3
4
# File 'app/components/govuk_component/summary_list_component/action_component.rb', line 2

def href
  @href
end

#textObject (readonly)

Returns the value of attribute text.



2
3
4
# File 'app/components/govuk_component/summary_list_component/action_component.rb', line 2

def text
  @text
end

#visually_hidden_textObject (readonly)

Returns the value of attribute visually_hidden_text.



2
3
4
# File 'app/components/govuk_component/summary_list_component/action_component.rb', line 2

def visually_hidden_text
  @visually_hidden_text
end

Instance Method Details

#callObject



16
17
18
19
20
21
22
# File 'app/components/govuk_component/summary_list_component/action_component.rb', line 16

def call
  link_classes = govuk_link_classes.append(classes).flatten

  link_to(href, class: link_classes, **html_attributes) do
    safe_join([action_text, visually_hidden_span].compact, " ")
  end
end

#render?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'app/components/govuk_component/summary_list_component/action_component.rb', line 12

def render?
  href.present?
end