partial_menu 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c2f7cfdeda9acf5869bd136fced7856ee245acc7
4
- data.tar.gz: 3f39a8d84a7ec4b7d534c95dd4f2ec9b9b2b0506
3
+ metadata.gz: 181659250bbe125e352f139681dbdf5855a62aed
4
+ data.tar.gz: da2392d9ffc6df62a0184b5a3d02ec21e8087891
5
5
  SHA512:
6
- metadata.gz: ba658e35aa77abdb76429d4e3aec439fc1f5363f5c1b701597e5fed5e92d4bc34d2ce67747ced90052eaeb60e931e53cd975eda99f69cfca3e784e99d3e953d4
7
- data.tar.gz: 7093377f04f556579552643905f303de8e2f1bbffffc342ce1a062bb822ffa3cd177ed70a2cb3df4b9a1aae73bc9b6391a94d4206cf7e1c60069003e6d19b013
6
+ metadata.gz: 6ba35a2ce2d2a94896ed3a3abd36c366e0bd2b14b3c1a9268b62ff0225bcfaf0a418fd0bc2e068c23bd0f3a6743270b6606124102d2cfaef9038590f5668081d
7
+ data.tar.gz: e60fdc41de3c4ba83b0ab7898b6f88f0d1305825ea3d34109510c5edd69ff24f7bd805e9868f685c346d56a942fbf906754a7a8244637167c234acbdbc82aee9
@@ -1,4 +1,4 @@
1
- <li class="<%= 'active' if is_active_link?(url_for(item.uri), :inclusive) %>">
1
+ <li class="<%= 'active' if item.active?(self) %>">
2
2
  <% if item.try(:icon).present? -%>
3
3
  <i class="<%= item.try(:icontype) || 'fa' %> <%= item.try(:icontype) || 'fa'%>-fw <%= item.icon %>"></i>
4
4
  <% end -%>
@@ -1,4 +1,4 @@
1
- <ul>
1
+ <ul class="<%= 'active' if menu.active?(self) %>">
2
2
  <% menu.items.each do |item| -%>
3
3
  <% if item.submenu? -%>
4
4
  <%= render "#{menu.layout}_menu/submenu", menu: item.submenu -%>
@@ -1,5 +1,5 @@
1
1
  <li class="nav-item" title="<%= menu.parent.title %>" data-original-title="<%= menu.parent.title %>">
2
- <a class="nav-link nav-link-collapse collapsed" data-toggle="collapse"
2
+ <a class="nav-link nav-link-collapse collapsed" data-toggle="<%= 'collapse' unless menu.active?(self)%>"
3
3
  href="#collapse<%= menu.id %>" data-parent="#<%= menu.layout %>">
4
4
  <% if menu.parent.try(:icon).present? %>
5
5
  <i class="<%= menu.parent.try(:icontype) || 'fa'%> <%= menu.parent.try(:icontype) || 'fa'%>-fw <%= menu.parent.icon %>"></i>
@@ -1,4 +1,4 @@
1
- <li class="<%= 'active' if is_active_link?(item.uri, :inclusive) %>">
1
+ <li class="<%= 'active' if item.active?(self) %>">
2
2
  <% if item.try(:icon).present? -%>
3
3
  <i class="fa fa-fw <%= item.icon %>"></i>
4
4
  <% end -%>
@@ -28,6 +28,20 @@ module PartialMenu
28
28
  end
29
29
  # rubocop:enable Metrics/MethodLength
30
30
 
31
+ ##
32
+ # True if current url relates to any child menu item's uri
33
+ #
34
+ # @params [ActionView] Needs view context to get current request details
35
+ #
36
+ # @retrun [boolean]
37
+ #
38
+ def active?(view)
39
+ @items.each do |item|
40
+ return true if item.active?(view)
41
+ end
42
+ false
43
+ end
44
+
31
45
  private
32
46
 
33
47
  def add_items(items)
@@ -1,9 +1,7 @@
1
- require 'active_link_to'
2
-
3
1
  module PartialMenu
4
2
  # Represents menu item in a menu
5
3
  class MenuItem
6
- include ActiveLinkTo
4
+ include ActionView::Helpers::UrlHelper
7
5
 
8
6
  attr_reader :type
9
7
  attr_reader :parent
@@ -45,12 +43,23 @@ module PartialMenu
45
43
  ##
46
44
  # True if menu item is a separator
47
45
  #
48
- # @ return [boolean]
46
+ # @return [boolean]
49
47
  #
50
48
  def separator?
51
49
  @type == :separator
52
50
  end
53
51
 
52
+ ##
53
+ # True if current url relates to the menu item's uri
54
+ #
55
+ # @params [ActionView] Needs view context to get current request details
56
+ #
57
+ # @retrun [boolean]
58
+ #
59
+ def active?(view)
60
+ view.current_page? @uri
61
+ end
62
+
54
63
  private
55
64
 
56
65
  ##
@@ -1,3 +1,3 @@
1
1
  module PartialMenu
2
- VERSION = '1.1.0'.freeze
2
+ VERSION = '1.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: partial_menu
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Nagy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-20 00:00:00.000000000 Z
11
+ date: 2018-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: active_link_to
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rails
29
15
  requirement: !ruby/object:Gem::Requirement