Sha256: 64329f5319f12838e78077ecdc7385042408916e3d8d7cec33d0ea3df9afb355

Contents?: true

Size: 1.24 KB

Versions: 1

Compression:

Stored size: 1.24 KB

Contents

<%# TODO: refactor this logic to exist in a MenuItem class -%>
<% item_name = item['name'] %>
<% if item['url'].present? %>
  <% item_url = item['url'] %>
<% else %>
  <% item_url = '' %>
<% end %>
<% classes = ['menu__item'] %>
<% classes.push 'menu__item--with-children' if item['children'].present? %>
<% classes.push "menu__item--#{item_name.parameterize}" if item_name %>
<% classes.push 'menu__item--active' if item_url.sub(/^\//, '') == request.path.sub(/^\//, '') %>
<% classes.push 'menu__item--active' if item_url == '/' && request.path == '' %>
<% classes.push 'menu__item--active-child' if item_url.sub(/^\//, '') == request.path.split('/').reject(&:blank?).first %>
<%= content_tag :li, class: classes.join(' ') do -%>
  <% if item_url.present? %>
    <% link = item_url %>
  <% else %>
    <% link = nil %>
  <% end %>
  <% if link.present? %>
    <%= link_to md(item_name), link, class: 'menu__item__link' -%>
  <% else %>
    <%= content_tag :span, md(item_name), class: 'menu__item__link menu__item__link--no-link' -%>
  <% end %>
  <% if item['children'].present? %>
    <%= content_tag :ul, class: "menu__sub-menu" do -%>
      <%= render partial: 'shared/menu_item', collection: item['children'], as: 'item' -%>
    <% end %>
  <% end %>
<% end %>

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
forest_cms-0.98.1 app/views/shared/_menu_item.html.erb