45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| module Admin::ItemsHelper
 | |
|   
 | |
|   def render_node_and_children(node)
 | |
|     ret = ''
 | |
|     if node
 | |
|       case node.class.to_s
 | |
|         when 'Page'
 | |
|           dest = admin_page_path(node)
 | |
|         when 'Link'
 | |
|           dest = admin_link_path(node)
 | |
|           no_nested = 'no-nest'
 | |
|       end
 | |
|       ret << "<li id='#{node.id}' class='#{no_nested}'>"
 | |
|       ret << "<div class='with_action'><i class='icons-plus-3'></i>"
 | |
|       ret << (link_to node.title, dest, :class => 'js_history')
 | |
|       ret << "<div class='quick-edit hide'>"
 | |
|       ret << (link_to t(:edit), eval("edit_admin_#{node.class.to_s.downcase}_path(node)"), :class => 'js_history') if node.class.to_s.eql?('Page')
 | |
|       ret << (link_to t('new.page'), new_admin_page_path(:parent_id => node.id), :class => 'new_page js_history') if node.class.to_s.eql?('Page')
 | |
|       ret << (link_to t('new.link'), new_admin_link_path(:parent_id => node.id), :class => 'new_link js_history') if node.class.to_s.eql?('Page')
 | |
|       ret << (link_to t(:delete_), eval("delete_admin_#{node.class.to_s.downcase}_path(node, :authenticity_token => form_authenticity_token)"), :confirm => t('sure?'), :class => 'delete js_history')
 | |
|       ret << "</div>"
 | |
|       ret << "</div>"
 | |
|       ret << render_children(node)
 | |
|       ret << "</li>"
 | |
|     end
 | |
|     ret.html_safe
 | |
|   end
 | |
|   
 | |
|   def render_children(parent)
 | |
|     children = parent.children
 | |
|     if !parent.children.entries.blank?
 | |
|       ret = ''
 | |
|       ret << "<ol class='#{'sortable' if parent.parent.nil?}'>"
 | |
|       children.each do |child|
 | |
|         ret << render_node_and_children(child)
 | |
|       end
 | |
|       ret << '</ol>'
 | |
|       ret
 | |
|     else
 | |
|       ''
 | |
|     end
 | |
|   end
 | |
|   
 | |
| end
 |