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.
54 55 56 57 58 59 60 61 |
# File 'app/components/govuk_component/header_component.rb', line 54 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.
52 53 54 |
# File 'app/components/govuk_component/header_component.rb', line 52 def active @active end |
#href ⇒ Object (readonly)
Returns the value of attribute href.
52 53 54 |
# File 'app/components/govuk_component/header_component.rb', line 52 def href @href end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
52 53 54 |
# File 'app/components/govuk_component/header_component.rb', line 52 def @options end |
#text ⇒ Object (readonly)
Returns the value of attribute text.
52 53 54 |
# File 'app/components/govuk_component/header_component.rb', line 52 def text @text end |
Instance Method Details
#active_class ⇒ Object
69 70 71 |
# File 'app/components/govuk_component/header_component.rb', line 69 def active_class ["#{brand}-header__navigation-item--active"] if active? end |
#before_render ⇒ Object
63 64 65 66 67 |
# File 'app/components/govuk_component/header_component.rb', line 63 def before_render if active? html_attributes[:class] << active_class end end |
#call ⇒ Object
77 78 79 80 81 82 83 84 85 |
# File 'app/components/govuk_component/header_component.rb', line 77 def call tag.li(**html_attributes) do if link? link_to(text, href, class: "#{brand}-header__link", **) else text end end end |
#link? ⇒ Boolean
73 74 75 |
# File 'app/components/govuk_component/header_component.rb', line 73 def link? href.present? end |