Sha256: dd4873c3577fa56ec4fc04049c5d6bf8757d88339900c07711ff5f5e2771a82a
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
module ConstructorPages module TreeviewHelper def render_tree(roots, &block) output = '<ul>' roots.each do |root| level, last = root.level, nil root.self_and_descendants.each do |item| if item.level > level output += '<ul>' elsif item.level < level output += '</li>' output += '</ul></li>' * (level-item.level) elsif !item.root? output += '</li>' end output += '<li>' output += capture(item, &block) level, last = item.level, item end output += '</li>' output += '</ul></li>' * last.level end output.html_safe end def arrow_buttons_for(item) output = "<div class='btn-group'>" {down: :right, up: :left}.each_pair do |a, b| sibling = item.send(b.to_s+'_sibling') if sibling and item.move_possible?(sibling) output += link_to("<i class='icon-arrow-#{a}'></i>".html_safe, "/admin/#{item.class.to_s.demodulize.downcase.pluralize}/move/#{a}/#{item.id}", class: 'btn btn-mini') end end output += "</div>" output.html_safe end end end
Version data entries
3 entries across 3 versions & 1 rubygems