activeadmin 1.4.3 → 2.9.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 +359 -25
- data/CONTRIBUTING.md +53 -74
- data/README.md +44 -11
- data/app/assets/javascripts/active_admin/base.js +517 -0
- data/app/assets/stylesheets/active_admin/_base.scss +29 -29
- data/app/assets/stylesheets/active_admin/_forms.scss +2 -14
- 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 +0 -0
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +8 -0
- data/app/assets/stylesheets/active_admin/print.scss +2 -2
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
- data/app/javascript/active_admin/base.js +28 -0
- data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
- data/app/javascript/active_admin/ext/jquery.js +9 -0
- data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
- data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/datepicker.js +16 -0
- data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
- data/app/javascript/active_admin/initializers/filters.js +10 -0
- data/app/javascript/active_admin/initializers/has-many.js +95 -0
- 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/javascript/active_admin/initializers/tabs.js +6 -0
- data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
- data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
- data/app/javascript/active_admin/lib/filters.js +39 -0
- data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
- data/app/javascript/active_admin/lib/per-page.js +38 -0
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
- data/app/javascript/active_admin/lib/utils.js +40 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
- 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/passwords/edit.html.erb +1 -1
- data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
- data/app/views/active_admin/devise/registrations/new.html.erb +1 -2
- data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
- 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_logged_out.html.erb +16 -6
- data/config/locales/ar.yml +9 -8
- data/config/locales/az.yml +138 -0
- data/config/locales/bg.yml +1 -1
- data/config/locales/bs.yml +1 -0
- data/config/locales/ca.yml +1 -1
- data/config/locales/cs.yml +1 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/de-CH.yml +1 -0
- data/config/locales/de.yml +19 -0
- data/config/locales/el.yml +1 -0
- data/config/locales/en-CA.yml +4 -3
- data/config/locales/en-GB.yml +4 -3
- data/config/locales/en.yml +4 -3
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +3 -1
- data/config/locales/es.yml +6 -5
- data/config/locales/fa.yml +1 -0
- data/config/locales/fi.yml +1 -0
- data/config/locales/fr.yml +6 -5
- data/config/locales/he.yml +1 -1
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +5 -0
- data/config/locales/id.yml +1 -0
- data/config/locales/it.yml +19 -0
- data/config/locales/ja.yml +4 -3
- data/config/locales/ko.yml +1 -0
- data/config/locales/lt.yml +3 -2
- data/config/locales/lv.yml +3 -2
- data/config/locales/mk.yml +134 -0
- data/config/locales/nb.yml +1 -0
- data/config/locales/nl.yml +1 -0
- data/config/locales/pl.yml +1 -0
- data/config/locales/pt-BR.yml +1 -0
- data/config/locales/pt-PT.yml +1 -0
- data/config/locales/ro.yml +1 -0
- data/config/locales/ru.yml +1 -0
- data/config/locales/sk.yml +60 -0
- data/config/locales/sv-SE.yml +1 -0
- data/config/locales/tr.yml +1 -0
- data/config/locales/uk.yml +3 -0
- data/config/locales/vi.yml +7 -5
- data/config/locales/zh-CN.yml +1 -0
- data/config/locales/zh-TW.yml +1 -0
- data/docs/0-installation.md +28 -4
- data/docs/1-general-configuration.md +20 -0
- data/docs/11-decorators.md +16 -5
- data/docs/12-arbre-components.md +13 -0
- data/docs/13-authorization-adapter.md +6 -6
- data/docs/2-resource-customization.md +11 -2
- data/docs/3-index-pages.md +1 -1
- data/docs/3-index-pages/index-as-table.md +7 -0
- data/docs/5-forms.md +6 -1
- data/docs/6-show-pages.md +12 -0
- data/docs/9-batch-actions.md +2 -2
- data/docs/CNAME +1 -1
- data/docs/Gemfile +2 -3
- data/docs/Gemfile.lock +126 -116
- data/docs/_config.yml +2 -0
- data/docs/_includes/top-menu.html +2 -2
- data/docs/documentation.md +1 -1
- data/docs/index.html +110 -9
- data/docs/stylesheets/main.css +29 -0
- data/lib/active_admin.rb +67 -63
- data/lib/active_admin/application.rb +20 -27
- data/lib/active_admin/application_settings.rb +6 -3
- data/lib/active_admin/asset_registration.rb +0 -8
- data/lib/active_admin/authorization_adapter.rb +3 -3
- data/lib/active_admin/base_controller.rb +10 -10
- data/lib/active_admin/base_controller/authorization.rb +15 -15
- data/lib/active_admin/batch_actions/controller.rb +4 -4
- data/lib/active_admin/batch_actions/resource_extension.rb +15 -10
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +3 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +6 -6
- data/lib/active_admin/batch_actions/views/selection_cells.rb +3 -3
- data/lib/active_admin/callbacks.rb +1 -1
- data/lib/active_admin/cancan_adapter.rb +1 -1
- data/lib/active_admin/collection_decorator.rb +31 -0
- data/lib/active_admin/controller_action.rb +2 -1
- data/lib/active_admin/csv_builder.rb +14 -9
- data/lib/active_admin/dependency.rb +13 -85
- data/lib/active_admin/devise.rb +5 -5
- data/lib/active_admin/dsl.rb +2 -9
- data/lib/active_admin/dynamic_settings_node.rb +2 -2
- data/lib/active_admin/engine.rb +10 -8
- data/lib/active_admin/error.rb +4 -4
- data/lib/active_admin/filters.rb +7 -7
- data/lib/active_admin/filters/active.rb +1 -1
- data/lib/active_admin/filters/active_filter.rb +10 -10
- data/lib/active_admin/filters/active_sidebar.rb +9 -5
- data/lib/active_admin/filters/forms.rb +7 -7
- data/lib/active_admin/filters/formtastic_addons.rb +2 -7
- data/lib/active_admin/filters/resource_extension.rb +28 -4
- data/lib/active_admin/form_builder.rb +26 -22
- data/lib/active_admin/generators/boilerplate.rb +12 -4
- data/lib/active_admin/helpers/optional_display.rb +2 -2
- data/lib/active_admin/helpers/scope_chain.rb +1 -0
- data/lib/active_admin/inputs/datepicker_input.rb +2 -2
- data/lib/active_admin/inputs/filters/base.rb +1 -1
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +6 -6
- data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
- data/lib/active_admin/inputs/filters/date_range_input.rb +15 -12
- data/lib/active_admin/inputs/filters/select_input.rb +2 -2
- data/lib/active_admin/localizers.rb +1 -1
- data/lib/active_admin/localizers/resource_localizer.rb +3 -3
- data/lib/active_admin/menu.rb +6 -3
- data/lib/active_admin/menu_item.rb +7 -7
- data/lib/active_admin/namespace.rb +12 -12
- data/lib/active_admin/namespace_settings.rb +27 -8
- data/lib/active_admin/order_clause.rb +2 -2
- data/lib/active_admin/orm/active_record.rb +1 -1
- data/lib/active_admin/orm/active_record/comments.rb +23 -23
- data/lib/active_admin/orm/active_record/comments/comment.rb +4 -4
- data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +29 -24
- data/lib/active_admin/page.rb +1 -1
- data/lib/active_admin/page_dsl.rb +1 -1
- data/lib/active_admin/page_presenter.rb +2 -1
- data/lib/active_admin/pundit_adapter.rb +22 -9
- data/lib/active_admin/resource.rb +34 -20
- data/lib/active_admin/resource/action_items.rb +5 -5
- data/lib/active_admin/resource/attributes.rb +8 -5
- data/lib/active_admin/resource/belongs_to.rb +8 -3
- data/lib/active_admin/resource/controllers.rb +1 -1
- data/lib/active_admin/resource/menu.rb +5 -5
- data/lib/active_admin/resource/model.rb +15 -0
- data/lib/active_admin/resource/naming.rb +5 -5
- data/lib/active_admin/resource/routes.rb +25 -14
- data/lib/active_admin/resource/scope_to.rb +7 -7
- data/lib/active_admin/resource/scopes.rb +3 -3
- data/lib/active_admin/resource/sidebars.rb +2 -2
- data/lib/active_admin/resource_collection.rb +2 -2
- data/lib/active_admin/resource_controller.rb +13 -10
- data/lib/active_admin/resource_controller/action_builder.rb +10 -0
- data/lib/active_admin/resource_controller/data_access.rb +1 -1
- data/lib/active_admin/resource_controller/decorators.rb +7 -29
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
- data/lib/active_admin/resource_controller/streaming.rb +7 -6
- data/lib/active_admin/resource_dsl.rb +11 -9
- data/lib/active_admin/router.rb +3 -2
- data/lib/active_admin/scope.rb +15 -11
- data/lib/active_admin/settings_node.rb +1 -1
- data/lib/active_admin/sidebar_section.rb +3 -1
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +17 -17
- data/lib/active_admin/view_helpers.rb +1 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +5 -5
- data/lib/active_admin/view_helpers/display_helper.rb +16 -7
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -1
- data/lib/active_admin/view_helpers/fields_for.rb +2 -2
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +2 -0
- data/lib/active_admin/views.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +12 -6
- data/lib/active_admin/views/components/attributes_table.rb +8 -8
- data/lib/active_admin/views/components/blank_slate.rb +1 -1
- data/lib/active_admin/views/components/dropdown_menu.rb +8 -8
- data/lib/active_admin/views/components/index_list.rb +3 -3
- data/lib/active_admin/views/components/menu.rb +1 -1
- data/lib/active_admin/views/components/menu_item.rb +4 -4
- data/lib/active_admin/views/components/paginated_collection.rb +21 -20
- data/lib/active_admin/views/components/panel.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +7 -5
- data/lib/active_admin/views/components/sidebar_section.rb +0 -3
- data/lib/active_admin/views/components/site_title.rb +1 -1
- data/lib/active_admin/views/components/status_tag.rb +13 -26
- data/lib/active_admin/views/components/table_for.rb +20 -19
- data/lib/active_admin/views/components/tabs.rb +13 -4
- data/lib/active_admin/views/footer.rb +3 -2
- data/lib/active_admin/views/header.rb +2 -2
- data/lib/active_admin/views/index_as_blog.rb +1 -1
- data/lib/active_admin/views/index_as_grid.rb +1 -1
- data/lib/active_admin/views/index_as_table.rb +27 -19
- data/lib/active_admin/views/pages/base.rb +18 -11
- data/lib/active_admin/views/pages/index.rb +15 -13
- data/lib/active_admin/views/tabbed_navigation.rb +2 -2
- data/lib/active_admin/views/title_bar.rb +1 -1
- data/lib/activeadmin.rb +1 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
- data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
- data/lib/generators/active_admin/devise/devise_generator.rb +5 -5
- data/lib/generators/active_admin/install/install_generator.rb +18 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
- data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
- data/lib/generators/active_admin/page/page_generator.rb +1 -1
- data/lib/generators/active_admin/resource/resource_generator.rb +3 -3
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
- 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 +26 -0
- data/lib/ransack_ext.rb +9 -9
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
- data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
- data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
- metadata +108 -127
- data/.circleci/config.yml +0 -572
- data/.github/ISSUE_TEMPLATE.md +0 -20
- data/.gitignore +0 -16
- data/.mdlrc +0 -1
- data/.rspec +0 -1
- data/.rspec_parallel +0 -2
- data/.rubocop.yml +0 -99
- data/.simplecov +0 -9
- data/.yardopts +0 -7
- data/Gemfile +0 -30
- data/Gemfile.common +0 -26
- data/Gemfile.lock +0 -433
- data/Rakefile +0 -24
- data/activeadmin.gemspec +0 -32
- 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.js.coffee +0 -13
- data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
- data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
- data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
- data/bin/install_chromedriver.sh +0 -17
- data/config/i18n-tasks.yml +0 -26
- data/config/mdl_style.rb +0 -11
- data/cucumber.yml +0 -7
- data/gemfiles/rails_42.gemfile +0 -10
- data/gemfiles/rails_42.gemfile.lock +0 -339
- data/gemfiles/rails_50.gemfile +0 -10
- data/gemfiles/rails_50.gemfile.lock +0 -353
- data/gemfiles/rails_51.gemfile +0 -10
- data/gemfiles/rails_51.gemfile.lock +0 -353
- data/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
- data/lib/active_admin/reloader.rb +0 -25
- data/lib/bug_report_templates/active_admin_master.rb +0 -111
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
- data/tasks/application_generator.rb +0 -50
- data/tasks/docs.rake +0 -64
- data/tasks/gemfiles.rake +0 -8
- data/tasks/lint.rake +0 -110
- data/tasks/local.rake +0 -27
- data/tasks/release.rake +0 -6
- data/tasks/test.rake +0 -42
data/docs/_config.yml
CHANGED
@@ -8,9 +8,9 @@
|
|
8
8
|
</div>
|
9
9
|
|
10
10
|
<div id="tidelift">
|
11
|
-
<a href="https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=
|
11
|
+
<a href="https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=enterprise" target="_blank">
|
12
12
|
<span class="cta">
|
13
|
-
|
13
|
+
Active Admin for enterprise available via Tidelift
|
14
14
|
</span>
|
15
15
|
</a>
|
16
16
|
</div>
|
data/docs/documentation.md
CHANGED
data/docs/index.html
CHANGED
@@ -10,81 +10,101 @@
|
|
10
10
|
<p class="intro">
|
11
11
|
The <strong>administration framework</strong> for business critical <strong>Ruby on Rails</strong> applications.
|
12
12
|
</p>
|
13
|
+
|
13
14
|
<p>
|
14
15
|
Active Admin is a Ruby on Rails plugin for generating administration style interfaces. It abstracts common business application patterns to make it simple for developers to implement beautiful and elegant interfaces with very little effort.
|
15
16
|
</p>
|
17
|
+
|
16
18
|
<h2>
|
17
19
|
A beautiful interface designed for real people.
|
18
20
|
</h2>
|
21
|
+
|
19
22
|
<div id="features">
|
20
23
|
<div id="features-left">
|
21
24
|
<h3 class="first">
|
22
25
|
Global Navigation
|
23
26
|
</h3>
|
27
|
+
|
24
28
|
<p>
|
25
29
|
Customizable global navigation allows you to create usable admin interfaces for your business.
|
26
30
|
</p>
|
31
|
+
|
27
32
|
<h3>
|
28
33
|
Scopes
|
29
34
|
</h3>
|
35
|
+
|
30
36
|
<p>
|
31
37
|
Use scopes to create sections of mutually exclusive resources for quick navigation and reporting.
|
32
38
|
</p>
|
39
|
+
|
33
40
|
<h3>
|
34
41
|
Index Styles
|
35
42
|
</h3>
|
43
|
+
|
36
44
|
<p>
|
37
45
|
Index screens are available in many styles. The default, shown here, is a table view, but Active Admin also supports Grids, Blocks and a Blog view.
|
38
46
|
</p>
|
47
|
+
|
39
48
|
<h3>
|
40
49
|
<span class="caps">API</span> & Downloads
|
41
50
|
</h3>
|
51
|
+
|
42
52
|
<p>
|
43
|
-
Each resource that is registered
|
53
|
+
Each resource that is registered with Active Admin becomes available as <span class="caps">JSON</span>, <span class="caps">XML</span> and <span class="caps">CSV</span> download. Customize the output to meet your requirements.
|
44
54
|
</p>
|
45
55
|
</div>
|
56
|
+
|
46
57
|
<div id="features-right">
|
47
58
|
<h3 class="first">
|
48
59
|
User Authentication
|
49
60
|
</h3>
|
61
|
+
|
50
62
|
<p>
|
51
63
|
Use the bundled Devise configuration or implement your own authorization using the provided hooks.
|
52
64
|
</p>
|
65
|
+
|
53
66
|
<h3>
|
54
67
|
Action Items
|
55
68
|
</h3>
|
69
|
+
|
56
70
|
<p>
|
57
71
|
Add buttons, links or other content in the “Action Items” section on each screen.
|
58
72
|
</p>
|
73
|
+
|
59
74
|
<h3>
|
60
75
|
Filters
|
61
76
|
</h3>
|
77
|
+
|
62
78
|
<p>
|
63
79
|
Allow users to filter resources by searching strings, text fields, dates, and numeric values.
|
64
80
|
</p>
|
81
|
+
|
65
82
|
<h3>
|
66
83
|
Sidebar Sections
|
67
84
|
</h3>
|
85
|
+
|
68
86
|
<p>
|
69
87
|
Customize the sidebar sections with a simple <span class="caps">DSL</span> built in to Active Admin.
|
70
88
|
</p>
|
71
89
|
</div>
|
72
90
|
</div>
|
91
|
+
|
73
92
|
<p>
|
74
93
|
Active Admin’s interface was designed from the ground up for non-technical users. It makes it easy for developers to build highly usable interfaces that customers will actually enjoy using.
|
75
94
|
</p>
|
95
|
+
|
76
96
|
<h2>
|
77
97
|
An elegant <span class="caps">DSL</span> built for developer productivity.
|
78
98
|
</h2>
|
99
|
+
|
79
100
|
<p>
|
80
101
|
Get started with one line of code or customize the entire interface with the provided <span class="caps">DSL</span>.
|
81
102
|
</p>
|
103
|
+
|
82
104
|
<div id="dsl">
|
83
105
|
<div class="highlight">
|
84
|
-
<pre>
|
85
|
-
<code class="ruby"><span class="c1"># app/admin/products.rb</span>
|
106
|
+
<pre><code class="ruby"><span class="c1"># app/admin/products.rb</span>
|
86
107
|
<span class="no">ActiveAdmin</span><span class="o">.</span><span class="n">register</span> <span class="no">Product</span> <span class="k">do</span>
|
87
|
-
|
88
108
|
<span class="c1"># Create sections on the index screen</span>
|
89
109
|
<span class="n">scope</span> <span class="ss">:all</span><span class="p">,</span> <span class="ss">default:</span> <span class="kp">true</span>
|
90
110
|
<span class="n">scope</span> <span class="ss">:available</span>
|
@@ -102,14 +122,95 @@
|
|
102
122
|
<span class="n">column</span> <span class="s2">"Price"</span><span class="p">,</span> <span class="ss">sortable:</span> <span class="ss">:price</span> <span class="k">do</span> <span class="o">|</span><span class="n">product</span><span class="o">|</span>
|
103
123
|
<span class="n">number_to_currency</span> <span class="n">product</span><span class="o">.</span><span class="n">price</span>
|
104
124
|
<span class="k">end</span>
|
105
|
-
<span class="n">
|
125
|
+
<span class="n">actions</span>
|
106
126
|
<span class="k">end</span>
|
107
|
-
|
108
|
-
<span class="k">end</span>
|
109
|
-
</code>
|
110
|
-
</pre>
|
127
|
+
<span class="k">end</span></code></pre>
|
111
128
|
</div>
|
112
129
|
</div>
|
130
|
+
|
131
|
+
<h2>
|
132
|
+
Active Admin for enterprise
|
133
|
+
</h2>
|
134
|
+
|
135
|
+
<p>
|
136
|
+
<a href="https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=enterprise">
|
137
|
+
Available as part of the Tidelift Subscription
|
138
|
+
</a>
|
139
|
+
</p>
|
140
|
+
|
141
|
+
<p>
|
142
|
+
Active Admin and the maintainers of thousands of other packages are
|
143
|
+
working with Tidelift to deliver one enterprise subscription that
|
144
|
+
covers all of the open source you use.
|
145
|
+
</p>
|
146
|
+
|
147
|
+
<p>
|
148
|
+
If you want the flexibility of open source and the confidence of
|
149
|
+
commercial-grade software, this is for you.
|
150
|
+
</p>
|
151
|
+
|
152
|
+
<div class="tidelift-buttons">
|
153
|
+
<a href="https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=enterprise" target="_blank">
|
154
|
+
<span>LEARN MORE</span>
|
155
|
+
</a>
|
156
|
+
|
157
|
+
<a href="https://tidelift.com/subscription/request-a-demo?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=enterprise" target="_blank">
|
158
|
+
<span>REQUEST A DEMO</span>
|
159
|
+
</a>
|
160
|
+
</div>
|
161
|
+
|
162
|
+
<h3>
|
163
|
+
The Tidelift Subscription manages your dependencies for you.
|
164
|
+
</h3>
|
165
|
+
|
166
|
+
<ul>
|
167
|
+
<li>
|
168
|
+
Get the tools you need to continuously catalog and understand the open source software that your application depends on.
|
169
|
+
</li>
|
170
|
+
|
171
|
+
<li>
|
172
|
+
Your subscription helps pay the open source maintainers of the exact
|
173
|
+
packages you use to ensure they meet the standards you require.
|
174
|
+
</li>
|
175
|
+
|
176
|
+
<li>
|
177
|
+
Address issues proactively, with tools that scan for new security,
|
178
|
+
licensing, and maintenance issues, and alert our participating open
|
179
|
+
source maintainers so they can resolve them on your behalf.
|
180
|
+
</li>
|
181
|
+
|
182
|
+
<li>
|
183
|
+
Measure and improve your open source dependencies' health—which
|
184
|
+
improves your app’s health—and get a short list of high-impact steps
|
185
|
+
your team can take to improve them even more.
|
186
|
+
</li>
|
187
|
+
|
188
|
+
<li>
|
189
|
+
Get commercial assurances that don't come for free with open source
|
190
|
+
packages, like intellectual property indemnification and support
|
191
|
+
under a service level agreement. You expect these guarantees from
|
192
|
+
proprietary software, and you can have them when using open source
|
193
|
+
as well.
|
194
|
+
</li>
|
195
|
+
</ul>
|
196
|
+
|
197
|
+
<p>
|
198
|
+
The end result? All of the capabilities you expect from
|
199
|
+
commercial-grade software, for the full breadth of open source you
|
200
|
+
use. That means less time grappling with esoteric open source trivia,
|
201
|
+
and more time building your own applications—and your business.
|
202
|
+
</p>
|
203
|
+
|
204
|
+
<div class="tidelift-buttons">
|
205
|
+
<a href="https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=enterprise" target="_blank">
|
206
|
+
<span>LEARN MORE</span>
|
207
|
+
</a>
|
208
|
+
|
209
|
+
<a href="https://tidelift.com/subscription/request-a-demo?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=enterprise" target="_blank">
|
210
|
+
<span>REQUEST A DEMO</span>
|
211
|
+
</a>
|
212
|
+
</div>
|
213
|
+
|
113
214
|
<h2 class="getting-started-heading">
|
114
215
|
3 Ways to Get Started:
|
115
216
|
</h2>
|
data/docs/stylesheets/main.css
CHANGED
@@ -615,6 +615,35 @@ body #tidelift a .cta {
|
|
615
615
|
padding-left: 30px;
|
616
616
|
}
|
617
617
|
|
618
|
+
body .tidelift-buttons a {
|
619
|
+
display: table;
|
620
|
+
width: 200px;
|
621
|
+
border: 2px solid #407985;
|
622
|
+
border-radius: 4px;
|
623
|
+
text-decoration: none;
|
624
|
+
font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif;
|
625
|
+
font-size: 18px;
|
626
|
+
letter-spacing: 1px;
|
627
|
+
margin: 0 10px;
|
628
|
+
}
|
629
|
+
|
630
|
+
body .tidelift-buttons a:first-child {
|
631
|
+
float: left;
|
632
|
+
color: #407985;
|
633
|
+
background: #FFF;
|
634
|
+
}
|
635
|
+
|
636
|
+
body .tidelift-buttons a:last-child {
|
637
|
+
color: #FFF;
|
638
|
+
background: #407985;
|
639
|
+
}
|
640
|
+
|
641
|
+
body .tidelift-buttons a span {
|
642
|
+
display: table-cell;
|
643
|
+
vertical-align: middle;
|
644
|
+
text-align: center;
|
645
|
+
}
|
646
|
+
|
618
647
|
body .clear {
|
619
648
|
clear: both;
|
620
649
|
}
|
data/lib/active_admin.rb
CHANGED
@@ -1,59 +1,57 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "active_support/core_ext"
|
2
|
+
require "set"
|
3
3
|
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
10
|
-
require
|
11
|
-
require
|
12
|
-
require 'arbre'
|
4
|
+
require "ransack"
|
5
|
+
require "ransack_ext"
|
6
|
+
require "kaminari"
|
7
|
+
require "formtastic"
|
8
|
+
require "formtastic_i18n"
|
9
|
+
require "inherited_resources"
|
10
|
+
require "jquery-rails"
|
11
|
+
require "arbre"
|
13
12
|
|
14
|
-
require
|
13
|
+
require "active_admin/helpers/i18n"
|
15
14
|
|
16
15
|
module ActiveAdmin
|
17
16
|
|
18
|
-
autoload :VERSION,
|
19
|
-
autoload :Application,
|
20
|
-
autoload :AssetRegistration,
|
21
|
-
autoload :Authorization,
|
22
|
-
autoload :AuthorizationAdapter,
|
23
|
-
autoload :Callbacks,
|
24
|
-
autoload :Component,
|
25
|
-
autoload :BaseController,
|
26
|
-
autoload :CanCanAdapter,
|
27
|
-
autoload :ControllerAction,
|
28
|
-
autoload :CSVBuilder,
|
29
|
-
autoload :Dependency,
|
30
|
-
autoload :Deprecation,
|
31
|
-
autoload :Devise,
|
32
|
-
autoload :DSL,
|
33
|
-
autoload :
|
34
|
-
autoload :
|
35
|
-
autoload :
|
36
|
-
autoload :
|
37
|
-
autoload :
|
38
|
-
autoload :
|
39
|
-
autoload :
|
40
|
-
autoload :
|
41
|
-
autoload :
|
42
|
-
autoload :
|
43
|
-
autoload :
|
44
|
-
autoload :
|
45
|
-
autoload :
|
46
|
-
autoload :
|
47
|
-
autoload :
|
48
|
-
autoload :
|
49
|
-
autoload :
|
50
|
-
autoload :
|
51
|
-
autoload :
|
52
|
-
autoload :
|
53
|
-
autoload :
|
54
|
-
autoload :
|
55
|
-
autoload :
|
56
|
-
autoload :Views, 'active_admin/views'
|
17
|
+
autoload :VERSION, "active_admin/version"
|
18
|
+
autoload :Application, "active_admin/application"
|
19
|
+
autoload :AssetRegistration, "active_admin/asset_registration"
|
20
|
+
autoload :Authorization, "active_admin/authorization_adapter"
|
21
|
+
autoload :AuthorizationAdapter, "active_admin/authorization_adapter"
|
22
|
+
autoload :Callbacks, "active_admin/callbacks"
|
23
|
+
autoload :Component, "active_admin/component"
|
24
|
+
autoload :BaseController, "active_admin/base_controller"
|
25
|
+
autoload :CanCanAdapter, "active_admin/cancan_adapter"
|
26
|
+
autoload :ControllerAction, "active_admin/controller_action"
|
27
|
+
autoload :CSVBuilder, "active_admin/csv_builder"
|
28
|
+
autoload :Dependency, "active_admin/dependency"
|
29
|
+
autoload :Deprecation, "active_admin/deprecation"
|
30
|
+
autoload :Devise, "active_admin/devise"
|
31
|
+
autoload :DSL, "active_admin/dsl"
|
32
|
+
autoload :FormBuilder, "active_admin/form_builder"
|
33
|
+
autoload :Inputs, "active_admin/inputs"
|
34
|
+
autoload :Localizers, "active_admin/localizers"
|
35
|
+
autoload :Menu, "active_admin/menu"
|
36
|
+
autoload :MenuCollection, "active_admin/menu_collection"
|
37
|
+
autoload :MenuItem, "active_admin/menu_item"
|
38
|
+
autoload :Namespace, "active_admin/namespace"
|
39
|
+
autoload :OrderClause, "active_admin/order_clause"
|
40
|
+
autoload :Page, "active_admin/page"
|
41
|
+
autoload :PagePresenter, "active_admin/page_presenter"
|
42
|
+
autoload :PageController, "active_admin/page_controller"
|
43
|
+
autoload :PageDSL, "active_admin/page_dsl"
|
44
|
+
autoload :PunditAdapter, "active_admin/pundit_adapter"
|
45
|
+
autoload :Resource, "active_admin/resource"
|
46
|
+
autoload :ResourceController, "active_admin/resource_controller"
|
47
|
+
autoload :ResourceDSL, "active_admin/resource_dsl"
|
48
|
+
autoload :Scope, "active_admin/scope"
|
49
|
+
autoload :ScopeChain, "active_admin/helpers/scope_chain"
|
50
|
+
autoload :SidebarSection, "active_admin/sidebar_section"
|
51
|
+
autoload :TableBuilder, "active_admin/table_builder"
|
52
|
+
autoload :ViewFactory, "active_admin/view_factory"
|
53
|
+
autoload :ViewHelpers, "active_admin/view_helpers"
|
54
|
+
autoload :Views, "active_admin/views"
|
57
55
|
|
58
56
|
class << self
|
59
57
|
|
@@ -70,11 +68,11 @@ module ActiveAdmin
|
|
70
68
|
application.prepare!
|
71
69
|
end
|
72
70
|
|
73
|
-
delegate :register,
|
71
|
+
delegate :register, to: :application
|
74
72
|
delegate :register_page, to: :application
|
75
|
-
delegate :unload!,
|
76
|
-
delegate :load!,
|
77
|
-
delegate :routes,
|
73
|
+
delegate :unload!, to: :application
|
74
|
+
delegate :load!, to: :application
|
75
|
+
delegate :routes, to: :application
|
78
76
|
|
79
77
|
# A callback is triggered each time (before) Active Admin loads the configuration files.
|
80
78
|
# In development mode, this will happen whenever the user changes files. In production
|
@@ -90,7 +88,7 @@ module ActiveAdmin
|
|
90
88
|
#
|
91
89
|
# @param [Block] block A block to call each time (before) AA loads resources
|
92
90
|
def before_load(&block)
|
93
|
-
ActiveSupport::Notifications.subscribe ActiveAdmin::Application::BeforeLoadEvent, &
|
91
|
+
ActiveSupport::Notifications.subscribe ActiveAdmin::Application::BeforeLoadEvent, &wrap_block_for_active_support_notifications(block)
|
94
92
|
end
|
95
93
|
|
96
94
|
# A callback is triggered each time (after) Active Admin loads the configuration files. This
|
@@ -108,7 +106,13 @@ module ActiveAdmin
|
|
108
106
|
#
|
109
107
|
# @param [Block] block A block to call each time (after) AA loads resources
|
110
108
|
def after_load(&block)
|
111
|
-
ActiveSupport::Notifications.subscribe ActiveAdmin::Application::AfterLoadEvent, &
|
109
|
+
ActiveSupport::Notifications.subscribe ActiveAdmin::Application::AfterLoadEvent, &wrap_block_for_active_support_notifications(block)
|
110
|
+
end
|
111
|
+
|
112
|
+
private
|
113
|
+
|
114
|
+
def wrap_block_for_active_support_notifications block
|
115
|
+
proc { |event, *args| block.call *args }
|
112
116
|
end
|
113
117
|
|
114
118
|
end
|
@@ -116,13 +120,13 @@ module ActiveAdmin
|
|
116
120
|
end
|
117
121
|
|
118
122
|
# Require things that don't support autoload
|
119
|
-
require
|
120
|
-
require
|
123
|
+
require "active_admin/engine"
|
124
|
+
require "active_admin/error"
|
121
125
|
|
122
126
|
# Require internal plugins
|
123
|
-
require
|
124
|
-
require
|
127
|
+
require "active_admin/batch_actions"
|
128
|
+
require "active_admin/filters"
|
125
129
|
|
126
130
|
# Require ORM-specific plugins
|
127
|
-
require
|
128
|
-
require
|
131
|
+
require "active_admin/orm/active_record" if defined? ActiveRecord
|
132
|
+
require "active_admin/orm/mongoid" if defined? Mongoid
|
@@ -1,7 +1,6 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require 'active_admin/namespace_settings'
|
1
|
+
require "active_admin/router"
|
2
|
+
require "active_admin/application_settings"
|
3
|
+
require "active_admin/namespace_settings"
|
5
4
|
|
6
5
|
module ActiveAdmin
|
7
6
|
class Application
|
@@ -43,17 +42,11 @@ module ActiveAdmin
|
|
43
42
|
@namespaces = Namespace::Store.new
|
44
43
|
end
|
45
44
|
|
46
|
-
# == Deprecated Settings
|
47
|
-
|
48
|
-
def allow_comments=(*)
|
49
|
-
raise "`config.allow_comments` is no longer provided in ActiveAdmin 1.x. Use `config.comments` instead."
|
50
|
-
end
|
51
|
-
|
52
45
|
include AssetRegistration
|
53
46
|
|
54
47
|
# Event that gets triggered on load of Active Admin
|
55
|
-
BeforeLoadEvent =
|
56
|
-
AfterLoadEvent
|
48
|
+
BeforeLoadEvent = "active_admin.application.before_load".freeze
|
49
|
+
AfterLoadEvent = "active_admin.application.after_load".freeze
|
57
50
|
|
58
51
|
# Runs before the app's AA initializer
|
59
52
|
def setup!
|
@@ -68,7 +61,7 @@ module ActiveAdmin
|
|
68
61
|
|
69
62
|
# Registers a brand new configuration for the given resource.
|
70
63
|
def register(resource, options = {}, &block)
|
71
|
-
ns = options.fetch(:namespace){ default_namespace }
|
64
|
+
ns = options.fetch(:namespace) { default_namespace }
|
72
65
|
namespace(ns).register resource, options, &block
|
73
66
|
end
|
74
67
|
|
@@ -80,7 +73,7 @@ module ActiveAdmin
|
|
80
73
|
def namespace(name)
|
81
74
|
name ||= :root
|
82
75
|
|
83
|
-
namespace = namespaces[name] ||= begin
|
76
|
+
namespace = namespaces[name.to_sym] ||= begin
|
84
77
|
namespace = Namespace.new(self, name)
|
85
78
|
ActiveSupport::Notifications.publish ActiveAdmin::Namespace::RegisterEvent, namespace
|
86
79
|
namespace
|
@@ -98,7 +91,7 @@ module ActiveAdmin
|
|
98
91
|
# @&block The registration block.
|
99
92
|
#
|
100
93
|
def register_page(name, options = {}, &block)
|
101
|
-
ns = options.fetch(:namespace){ default_namespace }
|
94
|
+
ns = options.fetch(:namespace) { default_namespace }
|
102
95
|
namespace(ns).register_page name, options, &block
|
103
96
|
end
|
104
97
|
|
@@ -119,20 +112,20 @@ module ActiveAdmin
|
|
119
112
|
def load!
|
120
113
|
unless loaded?
|
121
114
|
ActiveSupport::Notifications.publish BeforeLoadEvent, self # before_load hook
|
122
|
-
files.each{ |file| load file }
|
123
|
-
namespace(default_namespace)
|
124
|
-
ActiveSupport::Notifications.publish AfterLoadEvent, self
|
115
|
+
files.each { |file| load file } # load files
|
116
|
+
namespace(default_namespace) # init AA resources
|
117
|
+
ActiveSupport::Notifications.publish AfterLoadEvent, self # after_load hook
|
125
118
|
@@loaded = true
|
126
119
|
end
|
127
120
|
end
|
128
121
|
|
129
122
|
def load(file)
|
130
|
-
DatabaseHitDuringLoad.capture{ super }
|
123
|
+
DatabaseHitDuringLoad.capture { super }
|
131
124
|
end
|
132
125
|
|
133
126
|
# Returns ALL the files to be loaded
|
134
127
|
def files
|
135
|
-
load_paths.flatten.compact.uniq.flat_map{ |path| Dir["#{path}/**/*.rb"] }
|
128
|
+
load_paths.flatten.compact.uniq.flat_map { |path| Dir["#{path}/**/*.rb"] }.sort
|
136
129
|
end
|
137
130
|
|
138
131
|
# Creates all the necessary routes for the ActiveAdmin configurations
|
@@ -171,9 +164,9 @@ module ActiveAdmin
|
|
171
164
|
private
|
172
165
|
|
173
166
|
def register_default_assets
|
174
|
-
|
175
|
-
|
176
|
-
|
167
|
+
register_stylesheet "active_admin.css", media: "screen"
|
168
|
+
register_stylesheet "active_admin/print.css", media: "print"
|
169
|
+
register_javascript "active_admin.js"
|
177
170
|
end
|
178
171
|
|
179
172
|
# Since app/admin is alphabetically before app/models, we have to remove it
|
@@ -183,7 +176,7 @@ module ActiveAdmin
|
|
183
176
|
# files from being loaded twice in production.
|
184
177
|
def remove_active_admin_load_paths_from_rails_autoload_and_eager_load
|
185
178
|
ActiveSupport::Dependencies.autoload_paths -= load_paths
|
186
|
-
Rails.application.config.eager_load_paths
|
179
|
+
Rails.application.config.eager_load_paths -= load_paths
|
187
180
|
end
|
188
181
|
|
189
182
|
# Hook into the Rails code reloading mechanism so that things are reloaded
|
@@ -200,11 +193,11 @@ module ActiveAdmin
|
|
200
193
|
# Rails is about to unload all the app files (e.g. models), so we
|
201
194
|
# should first unload the classes generated by Active Admin, otherwise
|
202
195
|
# they will contain references to the stale (unloaded) classes.
|
203
|
-
Reloader.to_prepare(prepend: true, &unload_active_admin)
|
196
|
+
ActiveSupport::Reloader.to_prepare(prepend: true, &unload_active_admin)
|
204
197
|
else
|
205
198
|
# If the user has configured the app to always reload app files after
|
206
199
|
# each request, so we should unload the generated classes too.
|
207
|
-
Reloader.to_complete(&unload_active_admin)
|
200
|
+
ActiveSupport::Reloader.to_complete(&unload_active_admin)
|
208
201
|
end
|
209
202
|
|
210
203
|
admin_dirs = {}
|
@@ -219,7 +212,7 @@ module ActiveAdmin
|
|
219
212
|
|
220
213
|
app.reloaders << routes_reloader
|
221
214
|
|
222
|
-
Reloader.to_prepare do
|
215
|
+
ActiveSupport::Reloader.to_prepare do
|
223
216
|
# Rails might have reloaded the routes for other reasons (e.g.
|
224
217
|
# routes.rb has changed), in which case Active Admin would have been
|
225
218
|
# loaded via the `ActiveAdmin.routes` call in `routes.rb`.
|