Class: EasyAdmin::Layouts::Nodes::Tabs

Inherits:
BaseNode
  • Object
show all
Defined in:
lib/easy_admin/layouts/nodes/tabs.rb

Overview

Container for tab nodes

Instance Attribute Summary

Attributes inherited from BaseNode

#attributes, #children, #metadata, #visible_if

Instance Method Summary collapse

Methods inherited from BaseNode

#[], #[]=, #accept, #add_child, #children?, #node_type, #visible?

Constructor Details

#initialize(attributes = {}) ⇒ Tabs

Returns a new instance of Tabs.



6
7
8
9
10
# File 'lib/easy_admin/layouts/nodes/tabs.rb', line 6

def initialize(attributes = {})
  super
  @attributes[:type] ||= :horizontal
  @attributes[:id] ||= "tabs-#{SecureRandom.hex(4)}"
end

Instance Method Details

#active_tab_index ⇒ Object



24
25
26
# File 'lib/easy_admin/layouts/nodes/tabs.rb', line 24

def active_tab_index
  @attributes[:active_tab] || 0
end

#find_tab(name) ⇒ Object

Find tab by name



34
35
36
# File 'lib/easy_admin/layouts/nodes/tabs.rb', line 34

def find_tab(name)
  tabs.find { |tab| tab[:name] == name.to_s }
end

#horizontal? ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/easy_admin/layouts/nodes/tabs.rb', line 12

def horizontal?
  @attributes[:type] == :horizontal
end

#tabs ⇒ Object

Get all tab children



29
30
31
# File 'lib/easy_admin/layouts/nodes/tabs.rb', line 29

def tabs
  @children.select { |child| child.is_a?(Tab) }
end

#tabs_id ⇒ Object



20
21
22
# File 'lib/easy_admin/layouts/nodes/tabs.rb', line 20

def tabs_id
  @attributes[:id]
end

#vertical? ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/easy_admin/layouts/nodes/tabs.rb', line 16

def vertical?
  @attributes[:type] == :vertical
end