Module: Admin::MenusHelper

Defined in:
app/helpers/admin/menus_helper.rb

Instance Method Summary collapse

Instance Method Details

#display_tree(tree, parent_id) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/helpers/admin/menus_helper.rb', line 2

def display_tree(tree, parent_id)
  ret = "<ul>"
  tree.each do |node|
    if node.parent_id == parent_id
      begin
        unless node.resource.blank?
          ret += "<li rel='#{node.resource.class.name}' url='#{node.url}' resource_url='#{url_for [:edit, :admin, node.resource]}' id='list_#{node.id}'>"
        else
          ret += "<li rel='#{node.resource.class.name}' url='#{node.resource}' resource_url='#{url_for [:admin, node]}' id='list_#{node.id}'>"
        end
      rescue Exception => e
        raise Cable::Errors::ResourceAssociationError , "A node has a corrupt resource #{node.inspect}"
      end
      ret += "<a>"
      ret += node.title
      ret += "</a>"
      ret += display_tree(node.children, node.id)
      ret += "</li>"
    end
  end
  ret += "</ul>"
end

#display_tree_plain(tree, parent_id) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/helpers/admin/menus_helper.rb', line 25

def display_tree_plain(tree, parent_id)
  unless tree.count <= 0
  ret = "<ul>"
  tree.each do |node|
    if node.parent_id == parent_id
      ret += "<li id='#{dom_id(node)}'>"
      ret += "#{node.title}"
      unless node.children.count <= 0
        ret += display_tree_plain(node.children, node.id)
      end
      ret += "</li>"
    end
  end
  ret += "</ul>"
  end
end