Class: SdrViewComponents::Elements::Navigation::DropdownLinkComponent

Inherits:
BaseComponent
  • Object
show all
Defined in:
app/components/sdr_view_components/elements/navigation/dropdown_link_component.rb

Overview

Component for rendering a link within a dropdown menu.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from BaseComponent

#args_for, #mark_label_required, #merge_actions, #merge_classes

Constructor Details

#initialize(label:, link:, classes: [], disabled: false, **options) ⇒ DropdownLinkComponent

Returns a new instance of DropdownLinkComponent.



8
9
10
11
12
13
14
15
# File 'app/components/sdr_view_components/elements/navigation/dropdown_link_component.rb', line 8

def initialize(label:, link:, classes: [], disabled: false, **options)
  @label = label
  @link = link
  @classes = classes
  @disabled = disabled
  @options = options
  super()
end

Instance Attribute Details

#disabledObject (readonly)

Returns the value of attribute disabled.



17
18
19
# File 'app/components/sdr_view_components/elements/navigation/dropdown_link_component.rb', line 17

def disabled
  @disabled
end

#labelObject (readonly)

Returns the value of attribute label.



17
18
19
# File 'app/components/sdr_view_components/elements/navigation/dropdown_link_component.rb', line 17

def label
  @label
end

Returns the value of attribute link.



17
18
19
# File 'app/components/sdr_view_components/elements/navigation/dropdown_link_component.rb', line 17

def link
  @link
end

Instance Method Details

#callObject



19
20
21
# File 'app/components/sdr_view_components/elements/navigation/dropdown_link_component.rb', line 19

def call
  link_to label, link, class: classes, **@options
end

#classesObject



23
24
25
# File 'app/components/sdr_view_components/elements/navigation/dropdown_link_component.rb', line 23

def classes
  merge_classes('dropdown-item', disabled ? 'disabled' : nil, @classes)
end