Class: AwesomeAdminLayout::Navigation
- Inherits:
-
Object
- Object
- AwesomeAdminLayout::Navigation
show all
- Defined in:
- lib/awesome_admin_layout/navigation.rb,
lib/awesome_admin_layout/navigation/item.rb,
lib/awesome_admin_layout/navigation/brand.rb,
lib/awesome_admin_layout/navigation/divider.rb,
lib/awesome_admin_layout/navigation/flex_divider.rb
Defined Under Namespace
Classes: Brand, Divider, FlexDivider, Item
Constant Summary
collapse
- @@collection =
{}
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(key = :default, &block) ⇒ Navigation
Returns a new instance of Navigation.
23
24
25
26
|
# File 'lib/awesome_admin_layout/navigation.rb', line 23
def initialize(key = :default, &block)
__add_to_collection(key, block)
@tree = []
end
|
Instance Attribute Details
#parent ⇒ Object
Returns the value of attribute parent.
8
9
10
|
# File 'lib/awesome_admin_layout/navigation.rb', line 8
def parent
@parent
end
|
Class Method Details
.find(key) ⇒ Object
13
14
15
16
17
18
19
20
|
# File 'lib/awesome_admin_layout/navigation.rb', line 13
def find(key)
return unless @@collection
return fail "Navigation '#{key}' was not faound!" unless @@collection.has_key? key
element = @@collection[key]
code = element.delete(:code)
element[:object].instance_eval(&code) if code
element[:object]
end
|
Instance Method Details
#__has_active_item? ⇒ Boolean
54
55
56
|
# File 'lib/awesome_admin_layout/navigation.rb', line 54
def __has_active_item?
__items.any?(&:__active?)
end
|
#__has_active_nested_item? ⇒ Boolean
58
59
60
|
# File 'lib/awesome_admin_layout/navigation.rb', line 58
def __has_active_nested_item?
__items.any?(&:__has_active_nest?)
end
|
#brand(name, &block) ⇒ Object
28
29
30
31
32
|
# File 'lib/awesome_admin_layout/navigation.rb', line 28
def brand(name, &block)
brand = Brand.new(name)
brand.instance_eval(&block) if block_given?
@brand = brand
end
|
#divider ⇒ Object
40
41
42
|
# File 'lib/awesome_admin_layout/navigation.rb', line 40
def divider
@tree << Divider.new
end
|
#flex_divider ⇒ Object
44
45
46
|
# File 'lib/awesome_admin_layout/navigation.rb', line 44
def flex_divider
@tree << FlexDivider.new
end
|
#item(name, &block) ⇒ Object
34
35
36
37
38
|
# File 'lib/awesome_admin_layout/navigation.rb', line 34
def item(name, &block)
item = Item.new(name, parent: self)
item.instance_eval(&block) if block_given?
@tree << item
end
|
#to_s ⇒ Object
48
49
50
51
52
|
# File 'lib/awesome_admin_layout/navigation.rb', line 48
def to_s
__wrapper do
"#{@brand}<ul>#{__convered_nodes}</ul>"
end
end
|