Class: GovukComponent::HeaderComponent::NavigationItem
- Inherits:
-
Base
- Object
- ViewComponent::Base
- Base
- GovukComponent::HeaderComponent::NavigationItem
- Defined in:
- app/components/govuk_component/header_component.rb
Instance Attribute Summary collapse
-
#active ⇒ Object
readonly
Returns the value of attribute active.
-
#href ⇒ Object
readonly
Returns the value of attribute href.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#text ⇒ Object
readonly
Returns the value of attribute text.
Attributes inherited from Base
Instance Method Summary collapse
- #active_class ⇒ Object
- #before_render ⇒ Object
- #call ⇒ Object
-
#initialize(text:, href: nil, options: {}, active: nil, classes: [], html_attributes: {}) ⇒ NavigationItem
constructor
A new instance of NavigationItem.
- #link? ⇒ Boolean
Methods inherited from Base
Constructor Details
#initialize(text:, href: nil, options: {}, active: nil, classes: [], html_attributes: {}) ⇒ NavigationItem
Returns a new instance of NavigationItem.
62 63 64 65 66 67 68 69 |
# File 'app/components/govuk_component/header_component.rb', line 62 def initialize(text:, href: nil, options: {}, active: nil, classes: [], html_attributes: {}) @text = text @href = href @options = @active_override = active super(classes:, html_attributes:) end |
Instance Attribute Details
#active ⇒ Object (readonly)
Returns the value of attribute active.
60 61 62 |
# File 'app/components/govuk_component/header_component.rb', line 60 def active @active end |
#href ⇒ Object (readonly)
Returns the value of attribute href.
60 61 62 |
# File 'app/components/govuk_component/header_component.rb', line 60 def href @href end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
60 61 62 |
# File 'app/components/govuk_component/header_component.rb', line 60 def @options end |
#text ⇒ Object (readonly)
Returns the value of attribute text.
60 61 62 |
# File 'app/components/govuk_component/header_component.rb', line 60 def text @text end |
Instance Method Details
#active_class ⇒ Object
77 78 79 |
# File 'app/components/govuk_component/header_component.rb', line 77 def active_class ["#{brand}-header__navigation-item--active"] if active? end |
#before_render ⇒ Object
71 72 73 74 75 |
# File 'app/components/govuk_component/header_component.rb', line 71 def before_render if active? html_attributes[:class] << active_class end end |
#call ⇒ Object
85 86 87 88 89 90 91 92 93 |
# File 'app/components/govuk_component/header_component.rb', line 85 def call tag.li(**html_attributes) do if link? link_to(text, href, class: "#{brand}-header__link", **) else text end end end |
#link? ⇒ Boolean
81 82 83 |
# File 'app/components/govuk_component/header_component.rb', line 81 def link? href.present? end |