class ActiveAdmin::Views::Pages::Base

Public Instance Methods

build(*args) click to toggle source
# File lib/active_admin/views/pages/base.rb, line 7
def build(*args)
  set_attribute :lang, I18n.locale
  build_active_admin_head
  build_page
end
html_title()
Alias for: title
main_content() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 18
def main_content
  I18n.t("active_admin.main_content", model: title).html_safe
end
title() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 14
def title
  self.class.name
end
Also aliased as: html_title

Private Instance Methods

action_items_for_action() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 119
def action_items_for_action
  if active_admin_config && active_admin_config.action_items?
    active_admin_config.action_items_for(params[:action], self)
  else
    []
  end
end
body_classes() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 69
def body_classes
  Arbre::HTML::ClassList.new [
    params[:action],
    params[:controller].tr("/", "_"),
    "active_admin", "logged_in",
    active_admin_namespace.name.to_s + "_namespace"
  ]
end
build_active_admin_head() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 26
def build_active_admin_head
  within head do
    html_title [title, helpers.active_admin_namespace.site_title(self)].compact.join(" | ")

    text_node(active_admin_namespace.head)

    active_admin_application.stylesheets.each do |style, options|
      stylesheet_tag = active_admin_namespace.use_webpacker ? stylesheet_pack_tag(style, **options) : stylesheet_link_tag(style, **options)
      text_node(stylesheet_tag.html_safe) if stylesheet_tag
    end

    active_admin_namespace.meta_tags.each do |name, content|
      text_node(meta(name: name, content: content))
    end

    active_admin_application.javascripts.each do |path, options|
      javascript_tag = active_admin_namespace.use_webpacker ? javascript_pack_tag(path, **options) : javascript_include_tag(path, **options)
      text_node(javascript_tag)
    end

    if active_admin_namespace.favicon
      favicon = active_admin_namespace.favicon
      favicon_tag = active_admin_namespace.use_webpacker ? favicon_pack_tag(favicon) : favicon_link_tag(favicon)
      text_node(favicon_tag)
    end

    text_node csrf_meta_tags
    text_node csp_meta_tag
  end
end
build_flash_messages() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 92
def build_flash_messages
  div class: "flashes" do
    flash_messages.each do |type, messages|
      [*messages].each do |message|
        div message, class: "flash flash_#{type}"
      end
    end
  end
end
build_main_content_wrapper() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 102
def build_main_content_wrapper
  div id: "main_content_wrapper" do
    div id: "main_content" do
      main_content
    end
  end
end
build_page() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 57
def build_page
  within body(class: body_classes) do
    div id: "wrapper" do
      build_unsupported_browser
      header active_admin_namespace, current_menu
      title_bar title, action_items_for_action
      build_page_content
      footer active_admin_namespace
    end
  end
end
build_page_content() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 84
def build_page_content
  build_flash_messages
  div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
    build_main_content_wrapper
    sidebar sidebar_sections_for_action, id: "sidebar" unless skip_sidebar?
  end
end
build_unsupported_browser() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 78
def build_unsupported_browser
  if active_admin_namespace.unsupported_browser_matcher =~ controller.request.user_agent
    unsupported_browser
  end
end
sidebar_sections_for_action() click to toggle source

Returns the sidebar sections to render for the current action

skip_sidebar?() click to toggle source
# File lib/active_admin/views/pages/base.rb, line 127
def skip_sidebar?
  sidebar_sections_for_action.empty? || assigns[:skip_sidebar] == true
end