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
Attributes included from Traits::CustomHtmlAttributes
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 included from Traits::CustomClasses
Methods included from Govuk::Components::Helpers::CssUtilities
Constructor Details
#initialize(text:, href: nil, options: {}, active: nil, classes: [], html_attributes: {}) ⇒ NavigationItem
Returns a new instance of NavigationItem.
69 70 71 72 73 74 75 76 77 |
# File 'app/components/govuk_component/header_component.rb', line 69 def initialize(text:, href: nil, options: {}, active: nil, classes: [], html_attributes: {}) super(classes: classes, html_attributes: html_attributes) @text = text @href = href = @active_override = active end |
Instance Attribute Details
#active ⇒ Object (readonly)
Returns the value of attribute active.
67 68 69 |
# File 'app/components/govuk_component/header_component.rb', line 67 def active @active end |
#href ⇒ Object (readonly)
Returns the value of attribute href.
67 68 69 |
# File 'app/components/govuk_component/header_component.rb', line 67 def href @href end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
67 68 69 |
# File 'app/components/govuk_component/header_component.rb', line 67 def end |
#text ⇒ Object (readonly)
Returns the value of attribute text.
67 68 69 |
# File 'app/components/govuk_component/header_component.rb', line 67 def text @text end |
Instance Method Details
#active_class ⇒ Object
83 84 85 |
# File 'app/components/govuk_component/header_component.rb', line 83 def active_class %w(govuk-header__navigation-item--active) if @active end |
#before_render ⇒ Object
79 80 81 |
# File 'app/components/govuk_component/header_component.rb', line 79 def before_render @active = active?(@active_override) end |
#call ⇒ Object
91 92 93 94 95 96 97 98 99 |
# File 'app/components/govuk_component/header_component.rb', line 91 def call tag.li(class: classes.append(active_class), **html_attributes) do if link? link_to(text, href, **, class: "govuk-header__link") else text end end end |
#link? ⇒ Boolean
87 88 89 |
# File 'app/components/govuk_component/header_component.rb', line 87 def link? href.present? end |