Class: Coco::App::Blocks::SidebarNavItem::SidebarNavMenuItem

Inherits:
Component
  • Object
show all
Defined in:
app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.rb

Constant Summary

Constants included from Concerns::AcceptsTagAttributes

Concerns::AcceptsTagAttributes::TAG_ATTRIBUTE_NAMES

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Component

#accepts_options?, after_initialize, before_initialize, before_render, new

Methods included from Coco::AlpineHelper

#x_attrs, #x_data

Methods included from TagHelper

#prefix_attr_keys, #random_id, #style_str

Methods included from ComponentHelper

#coco_component, #resolve_component

Methods included from Coco::AppHelper

#coco_app_header, #coco_button, #coco_button_group, #coco_color_picker_button, #coco_confirm_button, #coco_dropdown_button, #coco_fields, #coco_form_for, #coco_form_with, #coco_image_picker_button, #coco_layout, #coco_layout_picker_button, #coco_link, #coco_menu_button, #coco_menu_item, #coco_notice, #coco_seamless_textarea, #coco_sidebar_nav, #coco_snackbar, #coco_system_banner, #coco_toast, #coco_toolbar

Methods included from BookHelper

#coco_editable_slide, #coco_media_slide

Methods included from BaseHelper

#coco_avatar, #coco_embed, #coco_icon, #coco_image, #coco_link_to_modal, #coco_modal, #coco_modal_data_attributes, #coco_modal_dialog, #coco_modal_frame_id, #coco_modal_lightbox, #coco_placeholder, #coco_svg, #coco_tag

Methods included from Concerns::Translatable

#tt

Methods included from Concerns::HasName

#component_name

Methods included from Concerns::AcceptsTagAttributes

#tag_attrs

Constructor Details

#initialize(label:, href:, icon: nil, modal: nil, qualifier: nil) ⇒ SidebarNavMenuItem

Returns a new instance of SidebarNavMenuItem.



79
80
81
82
83
84
85
# File 'app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.rb', line 79

def initialize(label:, href:, icon: nil, modal: nil, qualifier: nil, **)
  @label = label
  @href = href
  @icon = icon
  @modal = modal
  @qualifier = qualifier
end

Instance Attribute Details

#hrefObject (readonly)

Returns the value of attribute href.



77
78
79
# File 'app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.rb', line 77

def href
  @href
end

#iconObject (readonly)

Returns the value of attribute icon.



77
78
79
# File 'app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.rb', line 77

def icon
  @icon
end

Returns the value of attribute modal.



77
78
79
# File 'app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.rb', line 77

def modal
  @modal
end

Instance Method Details

#callObject



87
88
89
90
91
# File 'app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.rb', line 87

def call
  coco_link(href, theme: nil, modal: modal, class: "sidebar-nav-menu-item") do
    label
  end
end

#labelObject



93
94
95
# File 'app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.rb', line 93

def label
  tag.span(@label, class: "sidebar-nav-menu-item-text") + qualifier
end

#qualifierObject



97
98
99
100
101
102
103
# File 'app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.rb', line 97

def qualifier
  if @icon || @qualifier
    tag.span(class: "sidebar-nav-menu-item-qualifier") do
      @icon ? coco_icon(icon, size: :sm) : @qualifier
    end
  end
end