46 lines
1.6 KiB
Ruby
46 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 << "<i class='icons-moves'></i>"
|
|
ret << "<div class='with_action'><i class='icons-cplus'></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
|