diff options
| author | elijah <elijah@riseup.net> | 2013-11-05 15:56:47 -0800 | 
|---|---|---|
| committer | elijah <elijah@riseup.net> | 2013-11-05 15:56:47 -0800 | 
| commit | 755767b7158e34b73df02d94c1aea1e995c8c240 (patch) | |
| tree | 4c45abf72e997b20a4761aaeb3ed51ba19567b27 | |
| parent | ac7c35a84a6cc88807ab582517c731b1fb21aee6 (diff) | |
expand side navigation only when in current in path
| -rw-r--r-- | app/helpers/navigation_helper.rb | 12 | 
1 files changed, 9 insertions, 3 deletions
| diff --git a/app/helpers/navigation_helper.rb b/app/helpers/navigation_helper.rb index 48b57e4..54a52ff 100644 --- a/app/helpers/navigation_helper.rb +++ b/app/helpers/navigation_helper.rb @@ -76,15 +76,17 @@ module NavigationHelper      menu.each do |item|        title = menu_item_title(item)        if title -        haml 'li', :class => path_active(current_page_path, item) do +        haml 'li', :class => path_active_class(current_page_path, item) do            haml 'a', menu_item_title(item), :href => menu_item_path(item), :class => "level#{level}"          end -        display_menu(item.submenu, level+1) +        if path_open?(current_page_path, item) +          display_menu(item.submenu, level+1) +        end        end      end    end -  def path_active(page_path, menu_item) +  def path_active_class(page_path, menu_item)      active = ''      if menu_item.path == page_path        active = 'active' @@ -98,6 +100,10 @@ module NavigationHelper      active    end +  def path_open?(page_path, menu_item) +    menu_item.path == page_path || menu_item.path_prefix_of?(page_path) +  end +    def current_page_path      @current_page_path ||= begin        if @page | 
