48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
module ParserCommon
 | 
						|
 
 | 
						|
  def menu_level(page, current, menu, edit = false)
 | 
						|
    res = ''
 | 
						|
    if current <= menu.levels
 | 
						|
      if current != 0
 | 
						|
        res << "<div class='rc_dm'>"
 | 
						|
        item = rand(100000)
 | 
						|
        res << "<a href='#{edit ? admin_page_path(page.id) : page.full_name}' class='dm_ctrl' rel='#{item}'>#{page.i18n_variable[I18n.locale]}<span class='down'></span></a>"
 | 
						|
        if page.children.size > 0
 | 
						|
          res << "<div id='#{item}' class='dm_list #{menu.values['class_#{current}']}'>"
 | 
						|
          res << "<ul class='ini_list'>"
 | 
						|
          i = nil
 | 
						|
          i = 1 if menu.values["li_incremental_#{current}"]
 | 
						|
          page.children.each do |child|
 | 
						|
            res << menu_li(child, current, menu, i, edit)
 | 
						|
            i += 1 if i
 | 
						|
          end
 | 
						|
          res << "</ul>"
 | 
						|
        res << "</div>"
 | 
						|
        end
 | 
						|
        res << "</div>"
 | 
						|
      else
 | 
						|
        res << '<ul>'
 | 
						|
        res << "<li>" + "<a href='#{edit ? admin_page_path(page.id) : page.full_name}' class='dm_ctrl'>#{page.i18n_variable[I18n.locale]}</a>" + "</li>"
 | 
						|
        page.children.each do |child|
 | 
						|
          res << "<li>" + menu_level(child, current + 1, menu, edit) + "</li>"
 | 
						|
        end
 | 
						|
        res << '</ul>'
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
  
 | 
						|
  def menu_li(page, current, menu, i, edit)
 | 
						|
    res = "<li class="
 | 
						|
    res << menu.values["li_class_#{current}"]
 | 
						|
    res << "_#{i}" if i
 | 
						|
    res << ">"
 | 
						|
    if page.children.size > 0 
 | 
						|
      res << menu_level(page, current + 1, menu, edit)
 | 
						|
    else
 | 
						|
      res << "<a href='#{edit ? admin_page_path(page.id) : page.full_name}' class='nav dm_ctrl'>#{page.i18n_variable[I18n.locale]}</a>"
 | 
						|
    end
 | 
						|
    res << "</li>"
 | 
						|
  end
 | 
						|
 | 
						|
end
 |