Module: Cms::Admin::PagesHelper
- Defined in:
- app/helpers/cms/admin/pages_helper.rb
Instance Method Summary collapse
- #make_tree_recursive(tree, parent_id = nil, nested = false) ⇒ Object
- #sortable_tree(collection, model) ⇒ Object
Instance Method Details
#make_tree_recursive(tree, parent_id = nil, nested = false) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/helpers/cms/admin/pages_helper.rb', line 20 def make_tree_recursive(tree, parent_id=nil, nested=false) ret = "<ul id=\"tree_#{parent_id || 'root'}\" class=\"#{parent_id ? '' : 'tree'}\">" tree.each do |node| if node.parent_id == parent_id ret += "<li id=\"nav_#{node.id}\">" ret += yield node ret += node.children.empty? ? '' : make_tree_recursive(tree, node.id, true) {|n| yield n} ret += '</li>' end end ret += '</ul>' ret end |
#sortable_tree(collection, model) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'app/helpers/cms/admin/pages_helper.rb', line 3 def sortable_tree(collection, model) make_tree_recursive(collection) do |item| controls = %{ #{link_to('', send("edit_cms_admin_#{model}_path", item), {:class => 'edit'} )} #{link_to('', send("cms_admin_#{model}_path", item), {:method => :delete, :confirm => t('form_global.delete_warning'), :class => 'delete'})} } toggle = item.children.empty? ? '<span class="spacer"> </span>': link_to_function(image_tag('icons/folder.png'), "$(this).next('ul').toggle()") buffer = <<-"end;" #{toggle} <span class="tree-controls">#{controls}<a class="move">t('form_global.delete_warning')</a></span> <span>#{item.title} (/#{item.path})</span> end; end end |