Sha256: b823ae287e34eefb40a37f461f2b22a6831db0602f3bd3d58880873b614929ab

Contents?: true

Size: 923 Bytes

Versions: 3

Compression:

Stored size: 923 Bytes

Contents

module EtabliocmsCore::PagesHelper

  def render_tree(nodes = [])
    html = ""
    nodes.select { |node| node.visible }.each do |node|
      html << "<li class='#{'no-divider' if node == nodes.last && node.level == 0 }'>"
      html << page_link(node)
      html << render_tree(node.children) if node.children.present? && actual?(node)
      html << "</li>"
    end
    content_tag(:ul, html.html_safe)
  end

  def page_link(node)
    link_to(node.title, node.url.present? ? node.url : page_path(node),
            :class => node_class(node),
            :style => "padding-left: #{node.level*10 + 15}px").html_safe
  end

  def actual?(node)
    if node.url.present?
      (node.url =~ /zeptejte-se/ && params[:controller] == 'questions') || false
    else
      @page.present? ? @page.self_and_ancestors.include?(node) : false
    end

  end

  def node_class(node)
    actual?(node) ? 'active' : 'inactive'
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
etabliocms_core-0.0.3 app/helpers/etabliocms_core/pages_helper.rb
etabliocms_core-0.0.2 app/helpers/etabliocms_core/pages_helper.rb
etabliocms_core-0.0.1 app/helpers/etabliocms_core/pages_helper.rb