Sha256: 24281007ddf7f68bdfcdff23ff07c74716890e25317bfe71020b3231eb38f2e6
Contents?: true
Size: 1.05 KB
Versions: 3
Compression:
Stored size: 1.05 KB
Contents
module ActiveAdmin module Views class Tabs < ActiveAdmin::Component builder_method :tabs def tab(title, options = {}, &block) title = title.to_s.titleize if title.is_a? Symbol @menu << build_menu_item(title, options, &block) @tabs_content << build_content_item(title, options, &block) end def build(&block) @menu = ul(class: 'nav nav-tabs', role: "tablist") @tabs_content = div(class: 'tab-content') end def build_menu_item(title, options, &block) fragment = options.fetch(:id, fragmentize(title)) html_options = options.fetch(:html_options, {}) li html_options do link_to title, "##{fragment}" end end def build_content_item(title, options, &block) options = options.reverse_merge(id: fragmentize(title)) div(options, &block) end private def fragmentize(string) result = string.parameterize result = CGI.escape(string) if result.blank? result end end end end
Version data entries
3 entries across 3 versions & 2 rubygems