Class: Nav::Tree::GroupComponent

Inherits:
GroupComponent
  • Object
show all
Defined in:
app/components/spark/nav/tree/group_component.rb

Instance Method Summary collapse

Instance Method Details

#before_renderObject



6
7
8
9
10
11
12
# File 'app/components/spark/nav/tree/group_component.rb', line 6

def before_render
  super
  add_class "tree-node"
  data_attr(node: node)
  aria_attr(expanded: expanded?)
  @item_role = item.respond_to?(:href) ? "none" : "treeitem"
end

#expand_iconObject



24
25
26
# File 'app/components/spark/nav/tree/group_component.rb', line 24

def expand_icon
  @view.use_svg( 'chevron-down', class: "expand-icon", width: "9px" )
end

#expanded?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'app/components/spark/nav/tree/group_component.rb', line 32

def expanded?
  @expanded || active?
end

#nodeObject



28
29
30
# File 'app/components/spark/nav/tree/group_component.rb', line 28

def node
  @node ||= text.strip.downcase.gsub(/[\W,-]+/, '_')
end

#renderObject



14
15
16
17
18
19
20
21
22
# File 'app/components/spark/nav/tree/group_component.rb', line 14

def render
  unless items.empty?
    root_attr role: "treeitem"
    (:li, tag_attrs) do
      concat component("nav/item", text: text, icon: icon, icon_size: group_icon_size, class: "tree-trigger", tabindex: 0, href: "#") { expand_icon }
      concat super
    end
  end
end