Sha256: 753386812d1856d31968bd0cde3cb030340dc02b563570ba9588e88b761171c2
Contents?: true
Size: 1.21 KB
Versions: 6
Compression:
Stored size: 1.21 KB
Contents
module AbAdmin module Menu class Group < BaseGroup def initialize(title, options, &block) @menu_tree = [] @raw_title = title @title = title.is_a?(Symbol) ? I18n.t(title, scope: [:admin, :navigation]) : title @options = options instance_eval &block if block_given? end def render(template) return if @options[:if] && !call_method_or_proc_on(template, @options[:if]) return if @options[:unless] && call_method_or_proc_on(template, @options[:unless]) wrapper_class = "dropdown-wrap-#{@raw_title}" if @raw_title.is_a?(Symbol) <<-HTML.html_safe <li class="dropdown #{wrapper_class}"> <a class="dropdown-toggle" href="#{@options[:url] || '#'}" >#{title(template)}<b class="caret"></b></a> <ul class="dropdown-menu">#{render_nested(template)}</ul> <li> HTML end private def title(template) return @title unless @options[:badge] badge = call_method_or_proc_on(template, @options[:badge]) return @title if !badge || badge == 0 "#{@title} <span class='badge badge-#{@options[:badge_type] || 'important'}'>#{badge}</span>".html_safe end end end end
Version data entries
6 entries across 6 versions & 1 rubygems