Sha256: 55bb24f16562825973bc64d7ce46564aa0e481dbbcb575e527eb564e7ee56ade
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 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 unless template.option_conditions_met?(@options) 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 = @options[:badge].is_a?(Symbol) ? template.public_send(@options[:badge]) : template.instance_exec(&@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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ab_admin-0.11.0 | lib/ab_admin/menu/group.rb |
ab_admin-0.10.0 | lib/ab_admin/menu/group.rb |