Class: EasyAdmin::Layouts::Nodes::Tabs
- 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
- #active_tab_index ⇒ Object
-
#find_tab(name) ⇒ Object
Find tab by name.
- #horizontal? ⇒ Boolean
-
#initialize(attributes = {}) ⇒ Tabs
constructor
A new instance of Tabs.
-
#tabs ⇒ Object
Get all tab children.
- #tabs_id ⇒ Object
- #vertical? ⇒ Boolean
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
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
16 17 18 |
# File 'lib/easy_admin/layouts/nodes/tabs.rb', line 16 def vertical? @attributes[:type] == :vertical end |