Class: ActiveAdmin::Page

Inherits:
Object
  • Object
show all
Includes:
Base, Resource::ActionItems, Resource::Controllers, Resource::Menu, Resource::Naming, Resource::PagePresenters, Resource::Routes, Resource::Sidebars
Defined in:
lib/active_admin/page.rb

Overview

Page is the primary data storage for page configuration in Active Admin

When you register a page (ActiveAdmin.register_page “Status”) you are actually creating a new Page instance within the given Namespace.

The instance of the current page is available in PageController and views by calling the #active_admin_config method.

Defined Under Namespace

Modules: Base

Instance Attribute Summary collapse

Attributes included from Resource::Menu

#menu_item

Instance Method Summary collapse

Methods included from Resource::Routes

#route_batch_action_path, #route_builder, #route_collection_path, #route_edit_instance_path, #route_instance_path, #route_prefix

Methods included from Resource::Naming

#param_key, #resource_label

Methods included from Resource::Menu

#add_to_menu, #include_in_menu?, #menu_item_options, #menu_item_options=, #navigation_menu, #navigation_menu_name, #navigation_menu_name=

Methods included from Resource::ActionItems

#action_items, #action_items?, #action_items_for, #add_action_item, #clear_action_items!, #initialize, #remove_action_item

Methods included from Resource::Sidebars

#clear_sidebar_sections!, #sidebar_sections, #sidebar_sections?, #sidebar_sections_for

Methods included from Resource::PagePresenters

#default_index_class, #find_index_class, #get_page_presenter, #page_presenters, #set_index_presenter, #set_page_presenter

Methods included from Resource::Controllers

#controller

Methods included from Base

#initialize

Instance Attribute Details

Set breadcrumb builder



22
23
24
# File 'lib/active_admin/page.rb', line 22

def breadcrumb
  @breadcrumb
end

#nameObject (readonly)

The name of the page



16
17
18
# File 'lib/active_admin/page.rb', line 16

def name
  @name
end

#namespaceObject (readonly)

The namespace this config belongs to



13
14
15
# File 'lib/active_admin/page.rb', line 13

def namespace
  @namespace
end

#page_actionsObject (readonly)

An array of custom actions defined for this page



19
20
21
# File 'lib/active_admin/page.rb', line 19

def page_actions
  @page_actions
end

Instance Method Details

#add_default_action_itemsObject



76
77
# File 'lib/active_admin/page.rb', line 76

def add_default_action_items
end

#add_default_sidebar_sectionsObject



79
80
# File 'lib/active_admin/page.rb', line 79

def add_default_sidebar_sections
end

#belongs_to(target, options = {}) ⇒ Object



87
88
89
90
91
# File 'lib/active_admin/page.rb', line 87

def belongs_to(target, options = {})
  @belongs_to = Resource::BelongsTo.new(self, target, options)
  self.navigation_menu_name = target unless @belongs_to.optional?
  controller.send :belongs_to, target, options.dup
end

#belongs_to?Boolean

Do we belong to another resource?

Returns:

  • (Boolean)


98
99
100
# File 'lib/active_admin/page.rb', line 98

def belongs_to?
  !!belongs_to_config
end

#belongs_to_configObject



93
94
95
# File 'lib/active_admin/page.rb', line 93

def belongs_to_config
  @belongs_to
end

#camelized_resource_nameObject



55
56
57
# File 'lib/active_admin/page.rb', line 55

def camelized_resource_name
  underscored_resource_name.camelize
end

#clear_page_actions!Object

Clears all the custom actions this page knows about



83
84
85
# File 'lib/active_admin/page.rb', line 83

def clear_page_actions!
  @page_actions = []
end

#controller_nameObject



67
68
69
# File 'lib/active_admin/page.rb', line 67

def controller_name
  [namespace.module_name, camelized_resource_name + "Controller"].compact.join('::')
end

#default_menu_optionsObject



63
64
65
# File 'lib/active_admin/page.rb', line 63

def default_menu_options
  super.merge(id: resource_name)
end

#namespace_nameObject



59
60
61
# File 'lib/active_admin/page.rb', line 59

def namespace_name
  namespace.name.to_s
end

#order_clauseObject



106
107
108
# File 'lib/active_admin/page.rb', line 106

def order_clause
  @order_clause || namespace.order_clause
end

#plural_resource_labelObject

label is singular



43
44
45
# File 'lib/active_admin/page.rb', line 43

def plural_resource_label
  name
end

#resource_nameObject



47
48
49
# File 'lib/active_admin/page.rb', line 47

def resource_name
  @resource_name ||= Resource::Name.new(nil, name)
end

#route_uncountable?Boolean

Override from `ActiveAdmin::Resource::Controllers`

Returns:

  • (Boolean)


72
73
74
# File 'lib/active_admin/page.rb', line 72

def route_uncountable?
  false
end

#underscored_resource_nameObject



51
52
53
# File 'lib/active_admin/page.rb', line 51

def underscored_resource_name
  resource_name.to_s.parameterize.underscore
end