activeadmin 2.2.0 → 2.14.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activeadmin might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +469 -32
- data/CONTRIBUTING.md +46 -69
- data/README.md +13 -6
- data/app/assets/javascripts/active_admin/base.js +521 -0
- data/app/assets/stylesheets/active_admin/_base.scss +53 -37
- data/app/assets/stylesheets/active_admin/_forms.scss +1 -11
- data/app/assets/stylesheets/active_admin/_header.scss +40 -8
- data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
- data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
- data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
- data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
- data/app/javascript/active_admin/base.js +28 -0
- data/app/{assets/javascripts/active_admin/lib/batch_actions.es6 → javascript/active_admin/initializers/batch-actions.js} +9 -3
- data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
- data/app/javascript/active_admin/initializers/filters.js +10 -0
- data/app/{assets/javascripts/active_admin/lib/has_many.es6 → javascript/active_admin/initializers/has-many.js} +4 -1
- data/app/javascript/active_admin/initializers/per-page.js +13 -0
- data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
- data/app/{assets/javascripts/active_admin/lib/checkbox-toggler.es6 → javascript/active_admin/lib/checkbox-toggler.js} +5 -5
- data/app/{assets/javascripts/active_admin/lib/dropdown-menu.es6 → javascript/active_admin/lib/dropdown-menu.js} +3 -10
- data/app/javascript/active_admin/lib/filters.js +39 -0
- data/app/{assets/javascripts/active_admin/lib/modal_dialog.es6 → javascript/active_admin/lib/modal-dialog.js} +10 -8
- data/app/javascript/active_admin/lib/per-page.js +38 -0
- data/app/{assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 → javascript/active_admin/lib/table-checkbox-toggler.js} +5 -3
- data/app/javascript/active_admin/lib/utils.js +40 -0
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
- data/app/views/active_admin/devise/shared/_links.erb +1 -1
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -0
- data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
- data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
- data/app/views/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +18 -7
- data/config/locales/ar.yml +6 -6
- data/config/locales/az.yml +138 -0
- data/config/locales/ca.yml +0 -1
- data/config/locales/de.yml +18 -0
- data/config/locales/en-CA.yml +3 -3
- data/config/locales/en-GB.yml +3 -3
- data/config/locales/en.yml +3 -3
- data/config/locales/es-MX.yml +2 -1
- data/config/locales/es.yml +5 -5
- data/config/locales/fr.yml +7 -7
- data/config/locales/it.yml +18 -0
- data/config/locales/ja.yml +3 -3
- data/config/locales/ko.yml +1 -1
- data/config/locales/lv.yml +2 -2
- data/config/locales/nl.yml +1 -1
- data/config/locales/ro.yml +3 -2
- data/config/locales/sk.yml +59 -0
- data/config/locales/vi.yml +40 -12
- data/config/locales/zh-CN.yml +36 -17
- data/lib/active_admin/abstract_view_factory.rb +1 -0
- data/lib/active_admin/application.rb +20 -20
- data/lib/active_admin/application_settings.rb +4 -3
- data/lib/active_admin/asset_registration.rb +4 -3
- data/lib/active_admin/authorization_adapter.rb +6 -3
- data/lib/active_admin/base_controller/authorization.rb +15 -13
- data/lib/active_admin/base_controller/menu.rb +1 -0
- data/lib/active_admin/base_controller.rb +6 -5
- data/lib/active_admin/batch_actions/controller.rb +4 -3
- data/lib/active_admin/batch_actions/resource_extension.rb +10 -8
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
- data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
- data/lib/active_admin/batch_actions.rb +1 -0
- data/lib/active_admin/callbacks.rb +1 -0
- data/lib/active_admin/cancan_adapter.rb +2 -1
- data/lib/active_admin/collection_decorator.rb +32 -0
- data/lib/active_admin/component.rb +1 -0
- data/lib/active_admin/controller_action.rb +1 -0
- data/lib/active_admin/csv_builder.rb +13 -23
- data/lib/active_admin/dependency.rb +12 -15
- data/lib/active_admin/deprecation.rb +1 -0
- data/lib/active_admin/devise.rb +16 -5
- data/lib/active_admin/dsl.rb +2 -1
- data/lib/active_admin/dynamic_setting.rb +1 -0
- data/lib/active_admin/dynamic_settings_node.rb +3 -2
- data/lib/active_admin/engine.rb +13 -9
- data/lib/active_admin/error.rb +1 -2
- data/lib/active_admin/filters/active.rb +2 -1
- data/lib/active_admin/filters/active_filter.rb +7 -7
- data/lib/active_admin/filters/active_sidebar.rb +4 -30
- data/lib/active_admin/filters/dsl.rb +1 -0
- data/lib/active_admin/filters/forms.rb +7 -6
- data/lib/active_admin/filters/formtastic_addons.rb +2 -6
- data/lib/active_admin/filters/resource_extension.rb +30 -5
- data/lib/active_admin/filters.rb +8 -7
- data/lib/active_admin/form_builder.rb +25 -20
- data/lib/active_admin/generators/boilerplate.rb +13 -4
- data/lib/active_admin/helpers/collection.rb +2 -0
- data/lib/active_admin/helpers/i18n.rb +1 -0
- data/lib/active_admin/helpers/optional_display.rb +3 -2
- data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
- data/lib/active_admin/helpers/scope_chain.rb +1 -0
- data/lib/active_admin/inputs/datepicker_input.rb +2 -1
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +5 -4
- data/lib/active_admin/inputs/filters/base.rb +2 -1
- data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
- data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +16 -12
- data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
- data/lib/active_admin/inputs/filters/select_input.rb +3 -2
- data/lib/active_admin/inputs/filters/string_input.rb +1 -0
- data/lib/active_admin/inputs/filters/text_input.rb +1 -0
- data/lib/active_admin/inputs.rb +1 -0
- data/lib/active_admin/localizers/resource_localizer.rb +4 -3
- data/lib/active_admin/localizers.rb +2 -1
- data/lib/active_admin/menu.rb +7 -3
- data/lib/active_admin/menu_collection.rb +1 -0
- data/lib/active_admin/menu_item.rb +8 -7
- data/lib/active_admin/namespace.rb +15 -14
- data/lib/active_admin/namespace_settings.rb +21 -4
- data/lib/active_admin/order_clause.rb +3 -2
- data/lib/active_admin/orm/active_record/comments/comment.rb +4 -3
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +21 -20
- data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
- data/lib/active_admin/orm/active_record/comments.rb +28 -27
- data/lib/active_admin/orm/active_record.rb +2 -1
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/page.rb +2 -1
- data/lib/active_admin/page_controller.rb +1 -0
- data/lib/active_admin/page_dsl.rb +1 -0
- data/lib/active_admin/page_presenter.rb +1 -0
- data/lib/active_admin/pundit_adapter.rb +57 -15
- data/lib/active_admin/resource/action_items.rb +6 -5
- data/lib/active_admin/resource/attributes.rb +2 -1
- data/lib/active_admin/resource/belongs_to.rb +6 -2
- data/lib/active_admin/resource/controllers.rb +2 -1
- data/lib/active_admin/resource/includes.rb +1 -0
- data/lib/active_admin/resource/menu.rb +5 -4
- data/lib/active_admin/resource/model.rb +16 -0
- data/lib/active_admin/resource/naming.rb +6 -5
- data/lib/active_admin/resource/ordering.rb +1 -0
- data/lib/active_admin/resource/page_presenters.rb +1 -0
- data/lib/active_admin/resource/pagination.rb +1 -0
- data/lib/active_admin/resource/routes.rb +17 -10
- data/lib/active_admin/resource/scope_to.rb +8 -7
- data/lib/active_admin/resource/scopes.rb +1 -0
- data/lib/active_admin/resource/sidebars.rb +2 -1
- data/lib/active_admin/resource.rb +33 -19
- data/lib/active_admin/resource_collection.rb +1 -0
- data/lib/active_admin/resource_controller/action_builder.rb +1 -0
- data/lib/active_admin/resource_controller/data_access.rb +31 -5
- data/lib/active_admin/resource_controller/decorators.rb +8 -29
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +1 -0
- data/lib/active_admin/resource_controller/scoping.rb +1 -0
- data/lib/active_admin/resource_controller/sidebars.rb +1 -0
- data/lib/active_admin/resource_controller/streaming.rb +9 -7
- data/lib/active_admin/resource_controller.rb +14 -10
- data/lib/active_admin/resource_dsl.rb +11 -25
- data/lib/active_admin/router.rb +1 -0
- data/lib/active_admin/scope.rb +7 -6
- data/lib/active_admin/settings_node.rb +1 -0
- data/lib/active_admin/sidebar_section.rb +1 -0
- data/lib/active_admin/version.rb +2 -1
- data/lib/active_admin/view_factory.rb +18 -17
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +4 -3
- data/lib/active_admin/view_helpers/display_helper.rb +15 -7
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -1
- data/lib/active_admin/view_helpers/fields_for.rb +3 -2
- data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
- data/lib/active_admin/view_helpers/form_helper.rb +1 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -0
- data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
- data/lib/active_admin/view_helpers/title_helper.rb +1 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
- data/lib/active_admin/view_helpers.rb +2 -1
- data/lib/active_admin/views/action_items.rb +1 -0
- data/lib/active_admin/views/components/active_admin_form.rb +7 -6
- data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
- data/lib/active_admin/views/components/attributes_table.rb +6 -5
- data/lib/active_admin/views/components/blank_slate.rb +2 -1
- data/lib/active_admin/views/components/columns.rb +1 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
- data/lib/active_admin/views/components/index_list.rb +4 -3
- data/lib/active_admin/views/components/menu.rb +2 -1
- data/lib/active_admin/views/components/menu_item.rb +5 -4
- data/lib/active_admin/views/components/paginated_collection.rb +21 -19
- data/lib/active_admin/views/components/panel.rb +2 -1
- data/lib/active_admin/views/components/scopes.rb +8 -5
- data/lib/active_admin/views/components/sidebar.rb +1 -0
- data/lib/active_admin/views/components/sidebar_section.rb +1 -0
- data/lib/active_admin/views/components/site_title.rb +2 -1
- data/lib/active_admin/views/components/status_tag.rb +12 -11
- data/lib/active_admin/views/components/table_for.rb +19 -17
- data/lib/active_admin/views/components/tabs.rb +4 -3
- data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
- data/lib/active_admin/views/footer.rb +3 -1
- data/lib/active_admin/views/header.rb +3 -2
- data/lib/active_admin/views/index_as_block.rb +1 -0
- data/lib/active_admin/views/index_as_blog.rb +2 -1
- data/lib/active_admin/views/index_as_grid.rb +2 -1
- data/lib/active_admin/views/index_as_table.rb +24 -16
- data/lib/active_admin/views/pages/base.rb +22 -14
- data/lib/active_admin/views/pages/form.rb +1 -0
- data/lib/active_admin/views/pages/index.rb +16 -13
- data/lib/active_admin/views/pages/layout.rb +1 -0
- data/lib/active_admin/views/pages/page.rb +1 -0
- data/lib/active_admin/views/pages/show.rb +1 -0
- data/lib/active_admin/views/tabbed_navigation.rb +3 -2
- data/lib/active_admin/views/title_bar.rb +2 -1
- data/lib/active_admin/views.rb +2 -1
- data/lib/active_admin.rb +63 -64
- data/lib/activeadmin.rb +2 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
- data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
- data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
- data/lib/generators/active_admin/install/install_generator.rb +15 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +38 -1
- data/lib/generators/active_admin/install/templates/dashboard.rb +1 -0
- data/lib/generators/active_admin/page/page_generator.rb +2 -1
- data/lib/generators/active_admin/page/templates/page.rb +1 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +4 -2
- data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
- data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
- data/lib/ransack_ext.rb +9 -8
- metadata +64 -132
- data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
- data/app/assets/images/active_admin/orderable.png +0 -0
- data/app/assets/javascripts/active_admin/base.es6 +0 -23
- data/app/assets/javascripts/active_admin/initializers/filters.es6 +0 -45
- data/app/assets/javascripts/active_admin/lib/active_admin.es6 +0 -41
- data/app/assets/javascripts/active_admin/lib/per_page.es6 +0 -47
- data/docs/.gitignore +0 -1
- data/docs/0-installation.md +0 -118
- data/docs/1-general-configuration.md +0 -204
- data/docs/10-custom-pages.md +0 -150
- data/docs/11-decorators.md +0 -59
- data/docs/12-arbre-components.md +0 -214
- data/docs/13-authorization-adapter.md +0 -285
- data/docs/14-gotchas.md +0 -138
- data/docs/2-resource-customization.md +0 -466
- data/docs/3-index-pages/custom-index.md +0 -35
- data/docs/3-index-pages/index-as-block.md +0 -19
- data/docs/3-index-pages/index-as-blog.md +0 -69
- data/docs/3-index-pages/index-as-grid.md +0 -27
- data/docs/3-index-pages/index-as-table.md +0 -227
- data/docs/3-index-pages.md +0 -328
- data/docs/4-csv-format.md +0 -74
- data/docs/5-forms.md +0 -232
- data/docs/6-show-pages.md +0 -81
- data/docs/7-sidebars.md +0 -75
- data/docs/8-custom-actions.md +0 -177
- data/docs/9-batch-actions.md +0 -237
- data/docs/CNAME +0 -1
- data/docs/Gemfile +0 -4
- data/docs/Gemfile.lock +0 -249
- data/docs/README.md +0 -24
- data/docs/_config.yml +0 -2
- data/docs/_includes/footer.html +0 -8
- data/docs/_includes/google-analytics.html +0 -16
- data/docs/_includes/head.html +0 -7
- data/docs/_includes/toc.html +0 -98
- data/docs/_includes/top-menu.html +0 -17
- data/docs/_layouts/default.html +0 -21
- data/docs/documentation.md +0 -60
- data/docs/images/activeadmin.png +0 -0
- data/docs/images/code-header.png +0 -0
- data/docs/images/divider.png +0 -0
- data/docs/images/features.png +0 -0
- data/docs/images/tidelift.svg +0 -14
- data/docs/index.html +0 -125
- data/docs/stylesheets/main.css +0 -1176
- /data/app/{assets/javascripts/active_admin/ext/jquery-ui.es6 → javascript/active_admin/ext/jquery-ui.js} +0 -0
- /data/app/{assets/javascripts/active_admin/ext/jquery.es6 → javascript/active_admin/ext/jquery.js} +0 -0
- /data/app/{assets/javascripts/active_admin/initializers/datepicker.es6 → javascript/active_admin/initializers/datepicker.js} +0 -0
- /data/app/{assets/javascripts/active_admin/initializers/tabs.es6 → javascript/active_admin/initializers/tabs.js} +0 -0
@@ -1,204 +0,0 @@
|
|
1
|
-
---
|
2
|
-
redirect_from: /docs/1-general-configuration.html
|
3
|
-
---
|
4
|
-
|
5
|
-
# General Configuration
|
6
|
-
|
7
|
-
You can configure Active Admin settings in `config/initializers/active_admin.rb`.
|
8
|
-
Here are a few common configurations:
|
9
|
-
|
10
|
-
## Authentication
|
11
|
-
|
12
|
-
Active Admin requires two settings to authenticate and use the current user
|
13
|
-
within your application.
|
14
|
-
|
15
|
-
+ the method controllers used to force authentication
|
16
|
-
|
17
|
-
```ruby
|
18
|
-
config.authentication_method = :authenticate_admin_user!
|
19
|
-
```
|
20
|
-
|
21
|
-
+ the method used to access the current user
|
22
|
-
|
23
|
-
```ruby
|
24
|
-
config.current_user_method = :current_admin_user
|
25
|
-
```
|
26
|
-
|
27
|
-
Both of these settings can be set to false to turn off authentication.
|
28
|
-
|
29
|
-
```ruby
|
30
|
-
config.authentication_method = false
|
31
|
-
config.current_user_method = false
|
32
|
-
```
|
33
|
-
|
34
|
-
## Site Title Options
|
35
|
-
|
36
|
-
Every page has what's called the site title on the left side of the menu bar.
|
37
|
-
If you want, you can customize it.
|
38
|
-
|
39
|
-
```ruby
|
40
|
-
config.site_title = "My Admin Site"
|
41
|
-
config.site_title_link = "/"
|
42
|
-
config.site_title_image = "site_image.png"
|
43
|
-
config.site_title_image = "http://www.google.com/images/logos/google_logo_41.png"
|
44
|
-
config.site_title_image = ->(context) { context.current_user.company.logo_url }
|
45
|
-
```
|
46
|
-
|
47
|
-
## Internationalization (I18n)
|
48
|
-
|
49
|
-
Active Admin comes with translations for a lot of
|
50
|
-
[locales](https://github.com/activeadmin/activeadmin/blob/master/config/locales/).
|
51
|
-
Active Admin does not provide the translations for the kaminari gem it uses for pagination,
|
52
|
-
to get these you can use the
|
53
|
-
[kaminari-i18n](https://github.com/tigrish/kaminari-i18n) gem.
|
54
|
-
|
55
|
-
To translate Active Admin to a new language or customize an existing
|
56
|
-
translation, you can copy
|
57
|
-
[config/locales/en.yml](https://github.com/activeadmin/activeadmin/blob/master/config/locales/en.yml)
|
58
|
-
to your application's `config/locales` folder and update it. We welcome
|
59
|
-
new/updated translations, so feel free to
|
60
|
-
[contribute](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md)!
|
61
|
-
|
62
|
-
When using [devise](https://github.com/plataformatec/devise) for authentication,
|
63
|
-
you can use the [devise-i18n](https://github.com/tigrish/devise-i18n)
|
64
|
-
gem to get the devise translations for other locales.
|
65
|
-
|
66
|
-
## Localize Format For Dates and Times
|
67
|
-
|
68
|
-
Active Admin sets `:long` as default localize format for dates and times.
|
69
|
-
If you want, you can customize it.
|
70
|
-
|
71
|
-
```ruby
|
72
|
-
config.localize_format = :short
|
73
|
-
```
|
74
|
-
|
75
|
-
## Namespaces
|
76
|
-
|
77
|
-
When registering resources in Active Admin, they are loaded into a namespace.
|
78
|
-
The default namespace is "admin".
|
79
|
-
|
80
|
-
```ruby
|
81
|
-
# app/admin/posts.rb
|
82
|
-
ActiveAdmin.register Post do
|
83
|
-
# ...
|
84
|
-
end
|
85
|
-
```
|
86
|
-
|
87
|
-
The Post resource will be loaded into the "admin" namespace and will be
|
88
|
-
available at `/admin/posts`. Each namespace holds on to its own settings that
|
89
|
-
inherit from the application's configuration.
|
90
|
-
|
91
|
-
For example, if you have two namespaces (`:admin` and `:super_admin`) and want to
|
92
|
-
have different site title's for each, you can use the `config.namespace(name)`
|
93
|
-
block within the initializer file to configure them individually.
|
94
|
-
|
95
|
-
```ruby
|
96
|
-
ActiveAdmin.setup do |config|
|
97
|
-
config.site_title = "My Default Site Title"
|
98
|
-
|
99
|
-
config.namespace :admin do |admin|
|
100
|
-
admin.site_title = "Admin Site"
|
101
|
-
end
|
102
|
-
|
103
|
-
config.namespace :super_admin do |super_admin|
|
104
|
-
super_admin.site_title = "Super Admin Site"
|
105
|
-
end
|
106
|
-
end
|
107
|
-
```
|
108
|
-
|
109
|
-
Each setting available in the Active Admin setup block is configurable on a per
|
110
|
-
namespace basis.
|
111
|
-
|
112
|
-
## Load paths
|
113
|
-
|
114
|
-
By default Active Admin files go inside `app/admin/`. You can change this
|
115
|
-
directory in the initializer file:
|
116
|
-
|
117
|
-
```ruby
|
118
|
-
ActiveAdmin.setup do |config|
|
119
|
-
config.load_paths = [File.join(Rails.root, "app", "ui")]
|
120
|
-
end
|
121
|
-
```
|
122
|
-
|
123
|
-
## Comments
|
124
|
-
|
125
|
-
By default Active Admin includes comments on resources. Sometimes, this is
|
126
|
-
undesired. To disable comments:
|
127
|
-
|
128
|
-
```ruby
|
129
|
-
# For the entire application:
|
130
|
-
ActiveAdmin.setup do |config|
|
131
|
-
config.comments = false
|
132
|
-
end
|
133
|
-
|
134
|
-
# For a namespace:
|
135
|
-
ActiveAdmin.setup do |config|
|
136
|
-
config.namespace :admin do |admin|
|
137
|
-
admin.comments = false
|
138
|
-
end
|
139
|
-
end
|
140
|
-
|
141
|
-
# For a given resource:
|
142
|
-
ActiveAdmin.register Post do
|
143
|
-
config.comments = false
|
144
|
-
end
|
145
|
-
```
|
146
|
-
|
147
|
-
You can change the name under which comments are registered:
|
148
|
-
|
149
|
-
```ruby
|
150
|
-
config.comments_registration_name = 'AdminComment'
|
151
|
-
```
|
152
|
-
|
153
|
-
You can change the order for the comments and you can change the column to be
|
154
|
-
used for ordering:
|
155
|
-
|
156
|
-
```ruby
|
157
|
-
config.comments_order = 'created_at ASC'
|
158
|
-
```
|
159
|
-
|
160
|
-
You can disable the menu item for the comments index page:
|
161
|
-
|
162
|
-
```ruby
|
163
|
-
config.comments_menu = false
|
164
|
-
```
|
165
|
-
|
166
|
-
You can customize the comment menu:
|
167
|
-
|
168
|
-
```ruby
|
169
|
-
config.comments_menu = { parent: 'Admin', priority: 1 }
|
170
|
-
```
|
171
|
-
|
172
|
-
Remember to indicate where to place the comments and form with:
|
173
|
-
|
174
|
-
```ruby
|
175
|
-
active_admin_comments
|
176
|
-
```
|
177
|
-
|
178
|
-
## Utility Navigation
|
179
|
-
|
180
|
-
The "utility navigation" shown at the top right normally shows the current user
|
181
|
-
and a link to log out. However, the utility navigation is just like any other
|
182
|
-
menu in the system; you can provide your own menu to be rendered in its place.
|
183
|
-
|
184
|
-
```ruby
|
185
|
-
ActiveAdmin.setup do |config|
|
186
|
-
config.namespace :admin do |admin|
|
187
|
-
admin.build_menu :utility_navigation do |menu|
|
188
|
-
menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info",
|
189
|
-
html_options: { target: :blank }
|
190
|
-
admin.add_current_user_to_menu menu
|
191
|
-
admin.add_logout_button_to_menu menu
|
192
|
-
end
|
193
|
-
end
|
194
|
-
end
|
195
|
-
```
|
196
|
-
|
197
|
-
## Footer Customization
|
198
|
-
|
199
|
-
By default, Active Admin displays a "Powered by ActiveAdmin" message on every
|
200
|
-
page. You can override this message and show domain-specific messaging:
|
201
|
-
|
202
|
-
```ruby
|
203
|
-
config.footer = "MyApp Revision v1.3"
|
204
|
-
```
|
data/docs/10-custom-pages.md
DELETED
@@ -1,150 +0,0 @@
|
|
1
|
-
---
|
2
|
-
redirect_from: /docs/10-custom-pages.html
|
3
|
-
---
|
4
|
-
|
5
|
-
# Custom Pages
|
6
|
-
|
7
|
-
If you have data you want on a standalone page that isn't tied to a resource,
|
8
|
-
custom pages provide you with a familiar syntax and feature set:
|
9
|
-
|
10
|
-
* a menu item
|
11
|
-
* sidebars
|
12
|
-
* action items
|
13
|
-
* page actions
|
14
|
-
|
15
|
-
## Create a new Page
|
16
|
-
|
17
|
-
Creating a page is as simple as calling `register_page`:
|
18
|
-
|
19
|
-
```ruby
|
20
|
-
# app/admin/calendar.rb
|
21
|
-
ActiveAdmin.register_page "Calendar" do
|
22
|
-
content do
|
23
|
-
para "Hello World"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
```
|
27
|
-
|
28
|
-
Anything rendered within `content` will be the main content on the page.
|
29
|
-
Partials behave exactly the same way as they do for resources:
|
30
|
-
|
31
|
-
```ruby
|
32
|
-
# app/admin/calendar.rb
|
33
|
-
ActiveAdmin.register_page "Calendar" do
|
34
|
-
content do
|
35
|
-
render partial: 'calendar'
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
# app/views/admin/calendar/_calendar.html.arb
|
40
|
-
table do
|
41
|
-
thead do
|
42
|
-
tr do
|
43
|
-
%w[Sunday Monday Tuesday Wednesday Thursday Friday Saturday].each &method(:th)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
tbody do
|
47
|
-
# ...
|
48
|
-
end
|
49
|
-
end
|
50
|
-
```
|
51
|
-
|
52
|
-
## Customize the Menu
|
53
|
-
|
54
|
-
See the [Menu](2-resource-customization.md#customize-the-menu) documentation.
|
55
|
-
|
56
|
-
## Customize the breadcrumbs
|
57
|
-
|
58
|
-
```ruby
|
59
|
-
ActiveAdmin.register_page "Calendar" do
|
60
|
-
breadcrumb do
|
61
|
-
['admin', 'calendar']
|
62
|
-
end
|
63
|
-
end
|
64
|
-
```
|
65
|
-
|
66
|
-
## Customize the Namespace
|
67
|
-
|
68
|
-
We use the `admin` namespace by default, but you can use anything:
|
69
|
-
|
70
|
-
```ruby
|
71
|
-
# Available at /today/calendar
|
72
|
-
ActiveAdmin.register_page "Calendar", namespace: :today
|
73
|
-
|
74
|
-
# Available at /calendar
|
75
|
-
ActiveAdmin.register_page "Calendar", namespace: false
|
76
|
-
```
|
77
|
-
|
78
|
-
## Belongs To
|
79
|
-
|
80
|
-
To nest the page within another resource, you can use the `belongs_to` method:
|
81
|
-
|
82
|
-
```ruby
|
83
|
-
ActiveAdmin.register Project
|
84
|
-
ActiveAdmin.register_page "Status" do
|
85
|
-
belongs_to :project
|
86
|
-
end
|
87
|
-
```
|
88
|
-
|
89
|
-
See also the [Belongs To](2-resource-customization.md#belongs-to) documentation
|
90
|
-
and examples.
|
91
|
-
|
92
|
-
## Add a Sidebar
|
93
|
-
|
94
|
-
See the [Sidebars](7-sidebars.md) documentation.
|
95
|
-
|
96
|
-
## Add an Action Item
|
97
|
-
|
98
|
-
Just like other resources, you can add action items. The difference here being that
|
99
|
-
`:only` and `:except` don't apply because there's only one page it could apply to.
|
100
|
-
|
101
|
-
```ruby
|
102
|
-
action_item :view_site do
|
103
|
-
link_to "View Site", "/"
|
104
|
-
end
|
105
|
-
```
|
106
|
-
|
107
|
-
## Add a Page Action
|
108
|
-
|
109
|
-
Page actions are custom controller actions (which mirror the resource DSL for
|
110
|
-
the same feature).
|
111
|
-
|
112
|
-
```ruby
|
113
|
-
page_action :add_event, method: :post do
|
114
|
-
# ...
|
115
|
-
redirect_to admin_calendar_path, notice: "Your event was added"
|
116
|
-
end
|
117
|
-
|
118
|
-
action_item :add do
|
119
|
-
link_to "Add Event", admin_calendar_add_event_path, method: :post
|
120
|
-
end
|
121
|
-
```
|
122
|
-
|
123
|
-
This defines the route `/admin/calendar/add_event` which can handle HTTP POST requests.
|
124
|
-
|
125
|
-
Clicking on the action item will reload page and display the message "Your event
|
126
|
-
was added"
|
127
|
-
|
128
|
-
Page actions can handle multiple HTTP verbs.
|
129
|
-
|
130
|
-
```ruby
|
131
|
-
page_action :add_event, method: [:get, :post] do
|
132
|
-
# ...
|
133
|
-
end
|
134
|
-
```
|
135
|
-
|
136
|
-
See also the [Custom Actions](8-custom-actions.md#http-verbs) example.
|
137
|
-
|
138
|
-
## Use custom column as id
|
139
|
-
|
140
|
-
You can use custom parameter instead of id
|
141
|
-
|
142
|
-
```ruby
|
143
|
-
ActiveAdmin.register User do
|
144
|
-
controller do
|
145
|
-
defaults :finder => :find_by_name
|
146
|
-
end
|
147
|
-
end
|
148
|
-
```
|
149
|
-
|
150
|
-
This defines the resource route as `/admin/users/john` if user name is john
|
data/docs/11-decorators.md
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
---
|
2
|
-
redirect_from: /docs/11-decorators.html
|
3
|
-
---
|
4
|
-
|
5
|
-
# Decorators
|
6
|
-
|
7
|
-
Active Admin allows you to use the decorator pattern to provide view-specific
|
8
|
-
versions of a resource. [Draper](https://github.com/drapergem/draper) is
|
9
|
-
recommended but not required.
|
10
|
-
|
11
|
-
To use decorator support without Draper, your decorator must support a variety
|
12
|
-
of collection methods to support pagination, filtering, etc. See
|
13
|
-
[this github issue discussion](https://github.com/activeadmin/activeadmin/issues/3600)
|
14
|
-
and [this gem](https://github.com/kiote/activeadmin-poro-decorator) for more details.
|
15
|
-
|
16
|
-
## Example usage
|
17
|
-
|
18
|
-
```ruby
|
19
|
-
# app/models/post.rb
|
20
|
-
class Post < ActiveRecord::Base
|
21
|
-
# has title, content, and image_url
|
22
|
-
end
|
23
|
-
|
24
|
-
# app/decorators/post_decorator.rb
|
25
|
-
class PostDecorator < Draper::Decorator
|
26
|
-
delegate_all
|
27
|
-
|
28
|
-
def image
|
29
|
-
h.image_tag model.image_url
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
# app/admin/post.rb
|
34
|
-
ActiveAdmin.register Post do
|
35
|
-
decorate_with PostDecorator
|
36
|
-
|
37
|
-
index do
|
38
|
-
column :title
|
39
|
-
column :image
|
40
|
-
actions
|
41
|
-
end
|
42
|
-
end
|
43
|
-
```
|
44
|
-
|
45
|
-
## Forms
|
46
|
-
|
47
|
-
By default, ActiveAdmin does *not* decorate the resource used to render forms.
|
48
|
-
If you need ActiveAdmin to decorate the forms, you can pass `decorate: true` to the
|
49
|
-
form block.
|
50
|
-
|
51
|
-
```ruby
|
52
|
-
ActiveAdmin.register Post do
|
53
|
-
decorate_with PostDecorator
|
54
|
-
|
55
|
-
form decorate: true do |f|
|
56
|
-
# ...
|
57
|
-
end
|
58
|
-
end
|
59
|
-
```
|
data/docs/12-arbre-components.md
DELETED
@@ -1,214 +0,0 @@
|
|
1
|
-
---
|
2
|
-
redirect_from: /docs/12-arbre-components.html
|
3
|
-
---
|
4
|
-
|
5
|
-
# Arbre Components
|
6
|
-
|
7
|
-
Arbre allows the creation of shareable and extendable HTML components and is
|
8
|
-
used throughout Active Admin to create view components.
|
9
|
-
|
10
|
-
## Text Node
|
11
|
-
|
12
|
-
Sometimes it makes sense to insert something into a registered resource like a
|
13
|
-
non-breaking space or some text. The text_node method can be used to insert
|
14
|
-
these elements into the page inside of other Arbre components or resource
|
15
|
-
controller functions.
|
16
|
-
|
17
|
-
```ruby
|
18
|
-
ActiveAdmin.register Post do
|
19
|
-
show do
|
20
|
-
panel "Post Details" do
|
21
|
-
attributes_table_for post do
|
22
|
-
row :id
|
23
|
-
row 'Tags' do
|
24
|
-
post.tags.each do |tag|
|
25
|
-
a tag, href: admin_post_path(q: {tagged_with_contains: tag})
|
26
|
-
text_node " ".html_safe
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
```
|
34
|
-
|
35
|
-
## Panels
|
36
|
-
|
37
|
-
A panel is a component that takes up all available horizontal space and takes a
|
38
|
-
title and a hash of attributes as arguments. If a sidebar is present, a panel
|
39
|
-
will take up the remaining space.
|
40
|
-
|
41
|
-
This will create two stacked panels:
|
42
|
-
|
43
|
-
```ruby
|
44
|
-
show do
|
45
|
-
panel "Post Details" do
|
46
|
-
render partial: "details", locals: {post: post}
|
47
|
-
end
|
48
|
-
|
49
|
-
panel "Post Tags" do
|
50
|
-
render partial: "tags", locals: {post: post}
|
51
|
-
end
|
52
|
-
end
|
53
|
-
```
|
54
|
-
|
55
|
-
## Columns
|
56
|
-
|
57
|
-
The Columns component allows you draw content into scalable columns. All you
|
58
|
-
need to do is define the number of columns and the component will take care of
|
59
|
-
the rest.
|
60
|
-
|
61
|
-
### Simple Columns
|
62
|
-
|
63
|
-
To create simple columns, use the `columns` method. Within the block, call
|
64
|
-
the #column method to create a new column.
|
65
|
-
|
66
|
-
```ruby
|
67
|
-
columns do
|
68
|
-
column do
|
69
|
-
span "Column #1"
|
70
|
-
end
|
71
|
-
|
72
|
-
column do
|
73
|
-
span "Column #2"
|
74
|
-
end
|
75
|
-
end
|
76
|
-
```
|
77
|
-
|
78
|
-
### Spanning Multiple Columns
|
79
|
-
|
80
|
-
To create columns that have multiple spans, pass the :span option to the column
|
81
|
-
method.
|
82
|
-
|
83
|
-
```ruby
|
84
|
-
columns do
|
85
|
-
column span: 2 do
|
86
|
-
span "Column # 1"
|
87
|
-
end
|
88
|
-
column do
|
89
|
-
span "Column # 2"
|
90
|
-
end
|
91
|
-
end
|
92
|
-
```
|
93
|
-
|
94
|
-
By default, each column spans 1 column. The above layout would have 2 columns,
|
95
|
-
the first being twice as large as the second.
|
96
|
-
|
97
|
-
### Custom Column Widths
|
98
|
-
|
99
|
-
Active Admin uses a fluid width layout, causing column width to be defined
|
100
|
-
using percentages. Due to using this style of layout, columns can shrink or
|
101
|
-
expand past points that may not be desirable. To overcome this issue,
|
102
|
-
columns provide `:max_width` and `:min_width` options.
|
103
|
-
|
104
|
-
```ruby
|
105
|
-
columns do
|
106
|
-
column max_width: "200px", min_width: "100px" do
|
107
|
-
span "Column # 1"
|
108
|
-
end
|
109
|
-
column do
|
110
|
-
span "Column # 2"
|
111
|
-
end
|
112
|
-
end
|
113
|
-
```
|
114
|
-
|
115
|
-
In the above example, the first column will not grow larger than 200px and will
|
116
|
-
not shrink less than 100px.
|
117
|
-
|
118
|
-
### Custom Column Class
|
119
|
-
|
120
|
-
Pass the `:class` option to the column method to set a custom class.
|
121
|
-
|
122
|
-
```ruby
|
123
|
-
columns do
|
124
|
-
column class: "important" do
|
125
|
-
span "Column # 1"
|
126
|
-
end
|
127
|
-
column do
|
128
|
-
span "Column # 2"
|
129
|
-
end
|
130
|
-
end
|
131
|
-
```
|
132
|
-
|
133
|
-
## Table For
|
134
|
-
|
135
|
-
Table For provides the ability to create tables like those present
|
136
|
-
in `index_as_table`. It takes a collection and a hash of options and then
|
137
|
-
uses `column` to build the fields to show with the table.
|
138
|
-
|
139
|
-
```ruby
|
140
|
-
table_for order.payments do
|
141
|
-
column(:payment_type) { |payment| payment.payment_type.titleize }
|
142
|
-
column "Received On", :created_at
|
143
|
-
column "Details & Notes", :payment_details
|
144
|
-
column "Amount", :amount_in_dollars
|
145
|
-
end
|
146
|
-
```
|
147
|
-
|
148
|
-
The `column` method can take a title as its first argument and data
|
149
|
-
(`:your_method`) as its second (or first if no title provided). Column also
|
150
|
-
takes a block.
|
151
|
-
|
152
|
-
### Internationalization
|
153
|
-
|
154
|
-
To customize the internationalization for the component, specify a resource to
|
155
|
-
use for translations via the `i18n` named parameter. This is only necessary for
|
156
|
-
non-`ActiveRecord::Relation` collections:
|
157
|
-
|
158
|
-
```ruby
|
159
|
-
table_for payments, i18n: Payment do
|
160
|
-
# ...
|
161
|
-
end
|
162
|
-
```
|
163
|
-
|
164
|
-
## Status tag
|
165
|
-
|
166
|
-
Status tags provide convenient syntactic sugar for styling items that have
|
167
|
-
status. A common example of where the status tag could be useful is for orders
|
168
|
-
that are complete or in progress. `status_tag` takes a status, like
|
169
|
-
"In Progress", and a hash of options. The status_tag will generate HTML markup
|
170
|
-
that Active Admin CSS uses in styling.
|
171
|
-
|
172
|
-
```ruby
|
173
|
-
status_tag 'In Progress'
|
174
|
-
# => <span class='status_tag in_progress'>In Progress</span>
|
175
|
-
|
176
|
-
status_tag 'active', class: 'important', id: 'status_123', label: 'on'
|
177
|
-
# => <span class='status_tag active important' id='status_123'>on</span>
|
178
|
-
```
|
179
|
-
|
180
|
-
When providing a `true` or `false` value, the `status_tag` will display "Yes"
|
181
|
-
or "No". This can be configured through the `"en.active_admin.status_tag"`
|
182
|
-
locale.
|
183
|
-
|
184
|
-
```ruby
|
185
|
-
status_tag true
|
186
|
-
# => <span class='status_tag yes'>Yes</span>
|
187
|
-
```
|
188
|
-
|
189
|
-
In the case that a boolean field is `nil`, it will display "No" as a default.
|
190
|
-
But using the `"en.active_admin.status_tag.unset"` locale key, it can be
|
191
|
-
configured to display something else.
|
192
|
-
|
193
|
-
## Tabs
|
194
|
-
|
195
|
-
The Tabs component is helpful for saving page real estate. The first tab will be
|
196
|
-
the one open when the page initially loads and the rest hidden. You can click
|
197
|
-
each tab to toggle back and forth between them. Arbre supports unlimited number
|
198
|
-
of tabs.
|
199
|
-
|
200
|
-
```ruby
|
201
|
-
tabs do
|
202
|
-
tab :active do
|
203
|
-
table_for orders.active do
|
204
|
-
...
|
205
|
-
end
|
206
|
-
end
|
207
|
-
|
208
|
-
tab :inactive do
|
209
|
-
table_for orders.inactive do
|
210
|
-
...
|
211
|
-
end
|
212
|
-
end
|
213
|
-
end
|
214
|
-
```
|