module Adminterface::Extensions::Views::Pages::Base

Public Instance Methods

build(*args) click to toggle source
Calls superclass method
# File lib/adminterface/extensions/views/pages/base.rb, line 6
def build(*args)
  super
  set_attribute :dir,
    render_or_call_method_or_proc_on(self, active_admin_config.lang_dir(self))
  build_breakpoint_helpers
  build_meta_tags_for_js
end

Private Instance Methods

body_classes() click to toggle source
Calls superclass method
# File lib/adminterface/extensions/views/pages/base.rb, line 89
def body_classes
  super.add "#{html_css_classes[:body]} layout-navigation-#{header_position} #{sidebar_class}".squish
end
build_body_content() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 54
def build_body_content
  div main_html_options do
    div class: content_wrapper_class do
      build_main_content_wrapper
      footer active_admin_namespace
    end
  end
end
build_breakpoint_helpers() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 26
def build_breakpoint_helpers
  div id: "breakpoint-helpers" do
    span class: "breakpoint-up-helper"
    span class: "breakpoint-down-helper"
  end
end
build_flash_messages() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 101
def build_flash_messages
  return if flash_messages.blank?

  div class: "flashes" do
    flash_messages.each do |type, messages|
      [*messages].each do |message|
        div class: "flash flash_#{type} alert #{flash_css_classes[type.to_sym]} #{flash_dismissible_class}".squish,
            role: "alert" do
          text_node(message)
          button(class: "btn-close", "data-bs-dismiss": "alert", "aria-label": "Close") if flash_dismissible?
        end
      end
    end
  end
end
build_left_sidebar_content() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 63
def build_left_sidebar_content
  return if skip_left_sidebar?

  div sidebar(sidebar_sections_for_action_for_position("left"), class: "container"), id: "sidebar-left"
end
build_meta_tags_for_js() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 16
def build_meta_tags_for_js
  div id: "meta-tags-for-js" do
    meta name: "countries", content: ::Adminterface::Data::Countries.call(I18n.locale).to_json
    meta name: "time_zones", content: ::Adminterface::Data::TimeZones.call(I18n.locale).to_json
    meta name: "translations", content: I18n.t("active_admin").to_json
    meta name: "components", content: {inputs: inputs_components}.to_json
    meta name: "css_classes", content: {confirm_dialog: confirm_dialog_css_classes}.to_json
  end
end
build_page() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 33
def build_page
  within body(class: body_classes) do
    header(active_admin_namespace, current_menu)
    title_bar(active_admin_namespace, title, action_items_for_action)

    div id: "wrapper" do
      build_flash_messages
      build_unsupported_browser
      build_page_content
    end
  end
end
build_page_content() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 46
def build_page_content
  div id: "active_admin_content" do
    build_left_sidebar_content
    build_body_content
    build_right_sidebar_content
  end
end
build_right_sidebar_content() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 69
def build_right_sidebar_content
  return if skip_right_sidebar?

  div sidebar(sidebar_sections_for_action_for_position("right"), class: "container"), id: "sidebar-right"
end
content_wrapper_class() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 133
def content_wrapper_class
  klass =
    case self.class.to_s
    when "ActiveAdmin::Views::Pages::Index"
      html_css_classes.dig(:container, :index)
    when "ActiveAdmin::Views::Pages::Form"
      html_css_classes.dig(:container, :form)
    when "ActiveAdmin::Views::Pages::Show"
      html_css_classes.dig(:container, :show)
    when "ActiveAdmin::Views::Pages::Page"
      html_css_classes.dig(:container, :page)
    end
  klass || "container"
end
flash_dismissible?() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 117
def flash_dismissible?
  flash_components[:dismissible].eql?(true)
end
flash_dismissible_class() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 121
def flash_dismissible_class
  return unless flash_dismissible?
  "alert-dismissible"
end
header_position() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 152
def header_position
  header_components[:position]
end
main_html_options() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 126
def main_html_options
  options = config[:main] || {}
  options[:class] = "#{sidebar_class} #{options[:class]}".squish
  options[:id] = "main"
  options
end
sidebar_class() click to toggle source
sidebar_position() click to toggle source
sidebar_sections_for_action_for_position(position) click to toggle source
skip_left_sidebar?() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 75
def skip_left_sidebar?
  skip_sidebar? || sidebar_sections_for_action_for_position("left").empty?
end
skip_right_sidebar?() click to toggle source
# File lib/adminterface/extensions/views/pages/base.rb, line 79
def skip_right_sidebar?
  skip_sidebar? || sidebar_sections_for_action_for_position("right").empty?
end