Class: EasyAdmin::Layouts::Builders::TabsBuilder
- Inherits:
-
Object
- Object
- EasyAdmin::Layouts::Builders::TabsBuilder
- Defined in:
- lib/easy_admin/layouts/builders/base_layout_builder.rb
Overview
Specialized builder for tabs
Instance Method Summary collapse
-
#initialize(parent_builder, tabs_node) ⇒ TabsBuilder
constructor
A new instance of TabsBuilder.
- #tab(name, **attributes, &block) ⇒ Object
Constructor Details
#initialize(parent_builder, tabs_node) ⇒ TabsBuilder
Returns a new instance of TabsBuilder.
224 225 226 227 |
# File 'lib/easy_admin/layouts/builders/base_layout_builder.rb', line 224 def initialize(parent_builder, tabs_node) @parent_builder = parent_builder @tabs_node = tabs_node end |
Instance Method Details
#tab(name, **attributes, &block) ⇒ Object
229 230 231 232 233 234 235 236 237 238 239 240 241 |
# File 'lib/easy_admin/layouts/builders/base_layout_builder.rb', line 229 def tab(name, **attributes, &block) tab_node = Nodes::Tab.new(name, attributes) @tabs_node.add_child(tab_node) if block_given? # Push tab as current container and execute block in parent builder context @parent_builder.current_container_stack.push(tab_node) @parent_builder.instance_exec(&block) @parent_builder.current_container_stack.pop end tab_node end |