activeadmin 2.7.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +166 -9
- data/CONTRIBUTING.md +7 -23
- data/README.md +3 -3
- data/app/assets/javascripts/active_admin/base.js +26 -21
- data/app/assets/stylesheets/active_admin/_base.scss +43 -37
- data/app/assets/stylesheets/active_admin/_forms.scss +3 -3
- data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/javascript/active_admin/initializers/per-page.js +1 -1
- data/app/javascript/active_admin/lib/checkbox-toggler.js +3 -3
- data/app/javascript/active_admin/lib/dropdown-menu.js +1 -1
- data/app/javascript/active_admin/lib/modal-dialog.js +7 -7
- data/app/javascript/active_admin/lib/per-page.js +1 -1
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +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/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/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
- data/config/locales/ar.yml +6 -6
- data/config/locales/es-MX.yml +2 -1
- data/config/locales/es.yml +2 -2
- data/config/locales/it.yml +18 -0
- data/config/locales/ja.yml +3 -3
- data/config/locales/ko.yml +1 -1
- data/config/locales/nl.yml +1 -1
- data/config/locales/ro.yml +3 -2
- data/docs/0-installation.md +1 -1
- data/docs/11-decorators.md +16 -5
- data/docs/5-forms.md +6 -1
- data/docs/6-show-pages.md +12 -0
- data/docs/8-custom-actions.md +1 -1
- data/docs/Gemfile +3 -2
- data/docs/Gemfile.lock +127 -93
- data/lib/active_admin/abstract_view_factory.rb +1 -0
- data/lib/active_admin/application.rb +17 -17
- data/lib/active_admin/application_settings.rb +4 -3
- data/lib/active_admin/asset_registration.rb +1 -0
- data/lib/active_admin/authorization_adapter.rb +4 -3
- data/lib/active_admin/base_controller/authorization.rb +14 -12
- data/lib/active_admin/base_controller/menu.rb +1 -0
- data/lib/active_admin/base_controller.rb +5 -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 +5 -4
- data/lib/active_admin/dependency.rb +13 -12
- data/lib/active_admin/deprecation.rb +1 -0
- data/lib/active_admin/devise.rb +6 -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 +11 -8
- 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 +6 -6
- 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 +2 -1
- data/lib/active_admin/filters.rb +8 -7
- data/lib/active_admin/form_builder.rb +25 -20
- data/lib/active_admin/generators/boilerplate.rb +2 -1
- 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 +1 -0
- 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 +2 -1
- data/lib/active_admin/menu_collection.rb +1 -0
- data/lib/active_admin/menu_item.rb +8 -7
- data/lib/active_admin/namespace.rb +14 -13
- data/lib/active_admin/namespace_settings.rb +6 -5
- data/lib/active_admin/order_clause.rb +2 -1
- 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 +20 -19
- data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
- data/lib/active_admin/orm/active_record/comments.rb +20 -19
- 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 +6 -5
- 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 +3 -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 +1 -0
- data/lib/active_admin/resource/naming.rb +5 -4
- 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 +6 -7
- 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 +18 -17
- 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 +4 -3
- data/lib/active_admin/resource_controller/decorators.rb +7 -28
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +1 -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 +8 -6
- data/lib/active_admin/resource_controller.rb +13 -11
- 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 +1 -0
- 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 +19 -18
- data/lib/active_admin/views/components/panel.rb +2 -1
- data/lib/active_admin/views/components/scopes.rb +6 -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 +17 -16
- 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 +17 -16
- data/lib/active_admin/views/pages/base.rb +11 -8
- data/lib/active_admin/views/pages/form.rb +1 -0
- data/lib/active_admin/views/pages/index.rb +15 -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 +61 -61
- 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 +8 -7
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +2 -2
- 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/webpacker/templates/active_admin.scss +2 -2
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +8 -7
- data/lib/ransack_ext.rb +9 -8
- metadata +24 -50
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Views
|
|
3
4
|
|
|
@@ -278,13 +279,13 @@ module ActiveAdmin
|
|
|
278
279
|
# Display a column for checkbox
|
|
279
280
|
def selectable_column
|
|
280
281
|
return unless active_admin_config.batch_actions.any?
|
|
281
|
-
column resource_selection_toggle_cell, class:
|
|
282
|
+
column resource_selection_toggle_cell, class: "col-selectable", sortable: false do |resource|
|
|
282
283
|
resource_selection_cell resource
|
|
283
284
|
end
|
|
284
285
|
end
|
|
285
286
|
|
|
286
287
|
def index_column(start_value = 1)
|
|
287
|
-
column
|
|
288
|
+
column "#", class: "col-index", sortable: false do |resource|
|
|
288
289
|
@collection.offset_value + @collection.index(resource) + start_value
|
|
289
290
|
end
|
|
290
291
|
end
|
|
@@ -293,9 +294,9 @@ module ActiveAdmin
|
|
|
293
294
|
def id_column
|
|
294
295
|
raise "#{resource_class.name} has no primary_key!" unless resource_class.primary_key
|
|
295
296
|
column(resource_class.human_attribute_name(resource_class.primary_key), sortable: resource_class.primary_key) do |resource|
|
|
296
|
-
if controller.action_methods.include?(
|
|
297
|
+
if controller.action_methods.include?("show")
|
|
297
298
|
link_to resource.id, resource_path(resource), class: "resource_id_link"
|
|
298
|
-
elsif controller.action_methods.include?(
|
|
299
|
+
elsif controller.action_methods.include?("edit")
|
|
299
300
|
link_to resource.id, edit_resource_path(resource), class: "resource_id_link"
|
|
300
301
|
else
|
|
301
302
|
resource.id
|
|
@@ -304,7 +305,7 @@ module ActiveAdmin
|
|
|
304
305
|
end
|
|
305
306
|
|
|
306
307
|
def default_actions
|
|
307
|
-
raise
|
|
308
|
+
raise "`default_actions` is no longer provided in ActiveAdmin 1.x. Use `actions` instead."
|
|
308
309
|
end
|
|
309
310
|
|
|
310
311
|
# Add links to perform actions.
|
|
@@ -344,12 +345,12 @@ module ActiveAdmin
|
|
|
344
345
|
#
|
|
345
346
|
# ```
|
|
346
347
|
def actions(options = {}, &block)
|
|
347
|
-
name
|
|
348
|
-
defaults
|
|
349
|
-
dropdown
|
|
350
|
-
dropdown_name = options.delete(:dropdown_name) { I18n.t
|
|
348
|
+
name = options.delete(:name) { "" }
|
|
349
|
+
defaults = options.delete(:defaults) { true }
|
|
350
|
+
dropdown = options.delete(:dropdown) { false }
|
|
351
|
+
dropdown_name = options.delete(:dropdown_name) { I18n.t "active_admin.dropdown_actions.button_label", default: "Actions" }
|
|
351
352
|
|
|
352
|
-
options[:class] ||=
|
|
353
|
+
options[:class] ||= "col-actions"
|
|
353
354
|
|
|
354
355
|
column name, options do |resource|
|
|
355
356
|
if dropdown
|
|
@@ -373,23 +374,23 @@ module ActiveAdmin
|
|
|
373
374
|
|
|
374
375
|
def defaults(resource, options = {})
|
|
375
376
|
localizer = ActiveAdmin::Localizers.resource(active_admin_config)
|
|
376
|
-
if controller.action_methods.include?(
|
|
377
|
+
if controller.action_methods.include?("show") && authorized?(ActiveAdmin::Auth::READ, resource)
|
|
377
378
|
item localizer.t(:view), resource_path(resource), class: "view_link #{options[:css_class]}", title: localizer.t(:view)
|
|
378
379
|
end
|
|
379
|
-
if controller.action_methods.include?(
|
|
380
|
+
if controller.action_methods.include?("edit") && authorized?(ActiveAdmin::Auth::UPDATE, resource)
|
|
380
381
|
item localizer.t(:edit), edit_resource_path(resource), class: "edit_link #{options[:css_class]}", title: localizer.t(:edit)
|
|
381
382
|
end
|
|
382
|
-
if controller.action_methods.include?(
|
|
383
|
+
if controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, resource)
|
|
383
384
|
item localizer.t(:delete), resource_path(resource), class: "delete_link #{options[:css_class]}", title: localizer.t(:delete),
|
|
384
|
-
|
|
385
|
+
method: :delete, data: { confirm: localizer.t(:delete_confirmation) }
|
|
385
386
|
end
|
|
386
387
|
end
|
|
387
388
|
|
|
388
389
|
class TableActions < ActiveAdmin::Component
|
|
389
390
|
builder_method :table_actions
|
|
390
391
|
|
|
391
|
-
def item *args
|
|
392
|
-
text_node link_to
|
|
392
|
+
def item *args, **kwargs
|
|
393
|
+
text_node link_to(*args, **kwargs)
|
|
393
394
|
end
|
|
394
395
|
end
|
|
395
396
|
end # IndexTableFor
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Views
|
|
3
4
|
module Pages
|
|
@@ -15,7 +16,7 @@ module ActiveAdmin
|
|
|
15
16
|
end
|
|
16
17
|
|
|
17
18
|
def main_content
|
|
18
|
-
I18n.t(
|
|
19
|
+
I18n.t("active_admin.main_content", model: title).html_safe
|
|
19
20
|
end
|
|
20
21
|
|
|
21
22
|
private
|
|
@@ -29,7 +30,7 @@ module ActiveAdmin
|
|
|
29
30
|
text_node(active_admin_namespace.head)
|
|
30
31
|
|
|
31
32
|
active_admin_application.stylesheets.each do |style, options|
|
|
32
|
-
stylesheet_tag = active_admin_namespace.use_webpacker ? stylesheet_pack_tag(style, options) : stylesheet_link_tag(style, options)
|
|
33
|
+
stylesheet_tag = active_admin_namespace.use_webpacker ? stylesheet_pack_tag(style, **options) : stylesheet_link_tag(style, **options)
|
|
33
34
|
text_node(stylesheet_tag.html_safe) if stylesheet_tag
|
|
34
35
|
end
|
|
35
36
|
|
|
@@ -43,7 +44,9 @@ module ActiveAdmin
|
|
|
43
44
|
end
|
|
44
45
|
|
|
45
46
|
if active_admin_namespace.favicon
|
|
46
|
-
|
|
47
|
+
favicon = active_admin_namespace.favicon
|
|
48
|
+
favicon_tag = active_admin_namespace.use_webpacker ? favicon_pack_tag(favicon) : favicon_link_tag(favicon)
|
|
49
|
+
text_node(favicon_tag)
|
|
47
50
|
end
|
|
48
51
|
|
|
49
52
|
text_node csrf_meta_tag
|
|
@@ -65,9 +68,9 @@ module ActiveAdmin
|
|
|
65
68
|
def body_classes
|
|
66
69
|
Arbre::HTML::ClassList.new [
|
|
67
70
|
params[:action],
|
|
68
|
-
params[:controller].tr(
|
|
69
|
-
|
|
70
|
-
active_admin_namespace.name.to_s +
|
|
71
|
+
params[:controller].tr("/", "_"),
|
|
72
|
+
"active_admin", "logged_in",
|
|
73
|
+
active_admin_namespace.name.to_s + "_namespace"
|
|
71
74
|
]
|
|
72
75
|
end
|
|
73
76
|
|
|
@@ -81,12 +84,12 @@ module ActiveAdmin
|
|
|
81
84
|
build_flash_messages
|
|
82
85
|
div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
|
|
83
86
|
build_main_content_wrapper
|
|
84
|
-
sidebar sidebar_sections_for_action, id:
|
|
87
|
+
sidebar sidebar_sections_for_action, id: "sidebar" unless skip_sidebar?
|
|
85
88
|
end
|
|
86
89
|
end
|
|
87
90
|
|
|
88
91
|
def build_flash_messages
|
|
89
|
-
div class:
|
|
92
|
+
div class: "flashes" do
|
|
90
93
|
flash_messages.each do |type, messages|
|
|
91
94
|
[*messages].each do |message|
|
|
92
95
|
div message, class: "flash flash_#{type}"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/helpers/collection"
|
|
2
3
|
|
|
3
4
|
module ActiveAdmin
|
|
4
5
|
module Views
|
|
@@ -111,7 +112,7 @@ module ActiveAdmin
|
|
|
111
112
|
|
|
112
113
|
def render_blank_slate
|
|
113
114
|
blank_slate_content = I18n.t("active_admin.blank_slate.content", resource_name: active_admin_config.plural_resource_label)
|
|
114
|
-
if controller.action_methods.include?(
|
|
115
|
+
if controller.action_methods.include?("new") && authorized?(ActiveAdmin::Auth::CREATE, active_admin_config.resource_class)
|
|
115
116
|
blank_slate_content = [blank_slate_content, blank_slate_link].compact.join(" ")
|
|
116
117
|
end
|
|
117
118
|
insert_tag(view_factory.blank_slate, blank_slate_content)
|
|
@@ -125,18 +126,19 @@ module ActiveAdmin
|
|
|
125
126
|
def render_index
|
|
126
127
|
renderer_class = find_index_renderer_class(config[:as])
|
|
127
128
|
|
|
128
|
-
paginator
|
|
129
|
-
download_links
|
|
129
|
+
paginator = config.fetch(:paginator, true)
|
|
130
|
+
download_links = config.fetch(:download_links, active_admin_config.namespace.download_links)
|
|
130
131
|
pagination_total = config.fetch(:pagination_total, true)
|
|
131
|
-
per_page
|
|
132
|
-
|
|
133
|
-
paginated_collection(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
132
|
+
per_page = config.fetch(:per_page, active_admin_config.per_page)
|
|
133
|
+
|
|
134
|
+
paginated_collection(
|
|
135
|
+
collection, entry_name: active_admin_config.resource_label,
|
|
136
|
+
entries_name: active_admin_config.plural_resource_label(count: collection_size),
|
|
137
|
+
download_links: download_links,
|
|
138
|
+
paginator: paginator,
|
|
139
|
+
per_page: per_page,
|
|
140
|
+
pagination_total: pagination_total) do
|
|
141
|
+
div class: "index_content" do
|
|
140
142
|
insert_tag(renderer_class, config, collection)
|
|
141
143
|
end
|
|
142
144
|
end
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require_relative "components/menu"
|
|
2
3
|
|
|
3
4
|
module ActiveAdmin
|
|
4
5
|
module Views
|
|
5
6
|
class TabbedNavigation < Menu
|
|
6
7
|
def build(menu, options = {})
|
|
7
|
-
super(menu, options.reverse_merge(id:
|
|
8
|
+
super(menu, options.reverse_merge(id: "tabs"))
|
|
8
9
|
end
|
|
9
10
|
end
|
|
10
11
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Views
|
|
3
4
|
class TitleBar < Component
|
|
@@ -43,7 +44,7 @@ module ActiveAdmin
|
|
|
43
44
|
end
|
|
44
45
|
|
|
45
46
|
def build_title_tag
|
|
46
|
-
h2(@title, id:
|
|
47
|
+
h2(@title, id: "page_title")
|
|
47
48
|
end
|
|
48
49
|
|
|
49
50
|
def build_action_items
|
data/lib/active_admin/views.rb
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Views
|
|
3
4
|
|
|
4
5
|
# Loads all the classes in views/*.rb
|
|
5
|
-
Dir[File.expand_path(
|
|
6
|
+
Dir[File.expand_path("views", __dir__) + "/**/*.rb"].sort.each { |f| require f }
|
|
6
7
|
|
|
7
8
|
end
|
|
8
9
|
end
|
data/lib/active_admin.rb
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
require
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_support/core_ext"
|
|
3
|
+
require "set"
|
|
3
4
|
|
|
4
|
-
require
|
|
5
|
-
require
|
|
6
|
-
require
|
|
7
|
-
require
|
|
8
|
-
require
|
|
9
|
-
require
|
|
10
|
-
require
|
|
11
|
-
require
|
|
12
|
-
require 'arbre'
|
|
5
|
+
require "ransack"
|
|
6
|
+
require "ransack_ext"
|
|
7
|
+
require "kaminari"
|
|
8
|
+
require "formtastic"
|
|
9
|
+
require "formtastic_i18n"
|
|
10
|
+
require "inherited_resources"
|
|
11
|
+
require "jquery-rails"
|
|
12
|
+
require "arbre"
|
|
13
13
|
|
|
14
|
-
require
|
|
14
|
+
require "active_admin/helpers/i18n"
|
|
15
15
|
|
|
16
16
|
module ActiveAdmin
|
|
17
17
|
|
|
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 :FormBuilder,
|
|
34
|
-
autoload :Inputs,
|
|
35
|
-
autoload :Localizers,
|
|
36
|
-
autoload :Menu,
|
|
37
|
-
autoload :MenuCollection,
|
|
38
|
-
autoload :MenuItem,
|
|
39
|
-
autoload :Namespace,
|
|
40
|
-
autoload :OrderClause,
|
|
41
|
-
autoload :Page,
|
|
42
|
-
autoload :PagePresenter,
|
|
43
|
-
autoload :PageController,
|
|
44
|
-
autoload :PageDSL,
|
|
45
|
-
autoload :PunditAdapter,
|
|
46
|
-
autoload :Resource,
|
|
47
|
-
autoload :ResourceController,
|
|
48
|
-
autoload :ResourceDSL,
|
|
49
|
-
autoload :Scope,
|
|
50
|
-
autoload :ScopeChain,
|
|
51
|
-
autoload :SidebarSection,
|
|
52
|
-
autoload :TableBuilder,
|
|
53
|
-
autoload :ViewFactory,
|
|
54
|
-
autoload :ViewHelpers,
|
|
55
|
-
autoload :Views,
|
|
18
|
+
autoload :VERSION, "active_admin/version"
|
|
19
|
+
autoload :Application, "active_admin/application"
|
|
20
|
+
autoload :AssetRegistration, "active_admin/asset_registration"
|
|
21
|
+
autoload :Authorization, "active_admin/authorization_adapter"
|
|
22
|
+
autoload :AuthorizationAdapter, "active_admin/authorization_adapter"
|
|
23
|
+
autoload :Callbacks, "active_admin/callbacks"
|
|
24
|
+
autoload :Component, "active_admin/component"
|
|
25
|
+
autoload :BaseController, "active_admin/base_controller"
|
|
26
|
+
autoload :CanCanAdapter, "active_admin/cancan_adapter"
|
|
27
|
+
autoload :ControllerAction, "active_admin/controller_action"
|
|
28
|
+
autoload :CSVBuilder, "active_admin/csv_builder"
|
|
29
|
+
autoload :Dependency, "active_admin/dependency"
|
|
30
|
+
autoload :Deprecation, "active_admin/deprecation"
|
|
31
|
+
autoload :Devise, "active_admin/devise"
|
|
32
|
+
autoload :DSL, "active_admin/dsl"
|
|
33
|
+
autoload :FormBuilder, "active_admin/form_builder"
|
|
34
|
+
autoload :Inputs, "active_admin/inputs"
|
|
35
|
+
autoload :Localizers, "active_admin/localizers"
|
|
36
|
+
autoload :Menu, "active_admin/menu"
|
|
37
|
+
autoload :MenuCollection, "active_admin/menu_collection"
|
|
38
|
+
autoload :MenuItem, "active_admin/menu_item"
|
|
39
|
+
autoload :Namespace, "active_admin/namespace"
|
|
40
|
+
autoload :OrderClause, "active_admin/order_clause"
|
|
41
|
+
autoload :Page, "active_admin/page"
|
|
42
|
+
autoload :PagePresenter, "active_admin/page_presenter"
|
|
43
|
+
autoload :PageController, "active_admin/page_controller"
|
|
44
|
+
autoload :PageDSL, "active_admin/page_dsl"
|
|
45
|
+
autoload :PunditAdapter, "active_admin/pundit_adapter"
|
|
46
|
+
autoload :Resource, "active_admin/resource"
|
|
47
|
+
autoload :ResourceController, "active_admin/resource_controller"
|
|
48
|
+
autoload :ResourceDSL, "active_admin/resource_dsl"
|
|
49
|
+
autoload :Scope, "active_admin/scope"
|
|
50
|
+
autoload :ScopeChain, "active_admin/helpers/scope_chain"
|
|
51
|
+
autoload :SidebarSection, "active_admin/sidebar_section"
|
|
52
|
+
autoload :TableBuilder, "active_admin/table_builder"
|
|
53
|
+
autoload :ViewFactory, "active_admin/view_factory"
|
|
54
|
+
autoload :ViewHelpers, "active_admin/view_helpers"
|
|
55
|
+
autoload :Views, "active_admin/views"
|
|
56
56
|
|
|
57
57
|
class << self
|
|
58
58
|
|
|
@@ -69,11 +69,11 @@ module ActiveAdmin
|
|
|
69
69
|
application.prepare!
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
-
delegate :register,
|
|
72
|
+
delegate :register, to: :application
|
|
73
73
|
delegate :register_page, to: :application
|
|
74
|
-
delegate :unload!,
|
|
75
|
-
delegate :load!,
|
|
76
|
-
delegate :routes,
|
|
74
|
+
delegate :unload!, to: :application
|
|
75
|
+
delegate :load!, to: :application
|
|
76
|
+
delegate :routes, to: :application
|
|
77
77
|
|
|
78
78
|
# A callback is triggered each time (before) Active Admin loads the configuration files.
|
|
79
79
|
# In development mode, this will happen whenever the user changes files. In production
|
|
@@ -113,7 +113,7 @@ module ActiveAdmin
|
|
|
113
113
|
private
|
|
114
114
|
|
|
115
115
|
def wrap_block_for_active_support_notifications block
|
|
116
|
-
proc { |
|
|
116
|
+
proc { |_name, _start, _finish, _id, payload| block.call payload }
|
|
117
117
|
end
|
|
118
118
|
|
|
119
119
|
end
|
|
@@ -121,13 +121,13 @@ module ActiveAdmin
|
|
|
121
121
|
end
|
|
122
122
|
|
|
123
123
|
# Require things that don't support autoload
|
|
124
|
-
require
|
|
125
|
-
require
|
|
124
|
+
require "active_admin/engine"
|
|
125
|
+
require "active_admin/error"
|
|
126
126
|
|
|
127
127
|
# Require internal plugins
|
|
128
|
-
require
|
|
129
|
-
require
|
|
128
|
+
require "active_admin/batch_actions"
|
|
129
|
+
require "active_admin/filters"
|
|
130
130
|
|
|
131
131
|
# Require ORM-specific plugins
|
|
132
|
-
require
|
|
133
|
-
require
|
|
132
|
+
require "active_admin/orm/active_record" if defined? ActiveRecord
|
|
133
|
+
require "active_admin/orm/mongoid" if defined? Mongoid
|
data/lib/activeadmin.rb
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin"
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Generators
|
|
3
4
|
class AssetsGenerator < Rails::Generators::Base
|
|
4
5
|
|
|
5
|
-
source_root File.expand_path(
|
|
6
|
+
source_root File.expand_path("templates", __dir__)
|
|
6
7
|
|
|
7
8
|
def install_assets
|
|
8
|
-
template
|
|
9
|
+
template "active_admin.js", "app/assets/javascripts/active_admin.js"
|
|
9
10
|
template "active_admin.scss", "app/assets/stylesheets/active_admin.scss"
|
|
10
11
|
end
|
|
11
12
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Sass variable overrides must be declared before loading up Active Admin's styles.
|
|
2
2
|
//
|
|
3
3
|
// To view the variables that Active Admin provides, take a look at
|
|
4
4
|
// `app/assets/stylesheets/active_admin/mixins/_variables.scss` in the
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
@import "active_admin/mixins";
|
|
12
12
|
@import "active_admin/base";
|
|
13
13
|
|
|
14
|
-
// Overriding any non-variable
|
|
14
|
+
// Overriding any non-variable Sass must be done after the fact.
|
|
15
15
|
// For example, to change the default status-tag color:
|
|
16
16
|
//
|
|
17
17
|
// .status_tag { background: #6090DB; }
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require "active_admin/error"
|
|
2
3
|
require "active_admin/dependency"
|
|
3
4
|
|
|
@@ -7,13 +8,13 @@ module ActiveAdmin
|
|
|
7
8
|
desc "Creates an admin user and uses Devise for authentication"
|
|
8
9
|
argument :name, type: :string, default: "AdminUser"
|
|
9
10
|
|
|
10
|
-
class_option
|
|
11
|
-
|
|
11
|
+
class_option :registerable, type: :boolean, default: false,
|
|
12
|
+
desc: "Should the generated resource be registerable?"
|
|
12
13
|
|
|
13
14
|
RESERVED_NAMES = [:active_admin_user]
|
|
14
15
|
|
|
15
|
-
class_option
|
|
16
|
-
|
|
16
|
+
class_option :default_user, type: :boolean, default: true,
|
|
17
|
+
desc: "Should a default user be created inside the migration?"
|
|
17
18
|
|
|
18
19
|
def install_devise
|
|
19
20
|
begin
|
|
@@ -22,7 +23,7 @@ module ActiveAdmin
|
|
|
22
23
|
raise ActiveAdmin::GeneratorError, "#{e.message} If you don't want to use devise, run the generator with --skip-users."
|
|
23
24
|
end
|
|
24
25
|
|
|
25
|
-
require
|
|
26
|
+
require "devise"
|
|
26
27
|
|
|
27
28
|
initializer_file =
|
|
28
29
|
File.join(destination_root, "config", "initializers", "devise.rb")
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "rails/generators/active_record"
|
|
2
3
|
|
|
3
4
|
module ActiveAdmin
|
|
4
5
|
module Generators
|
|
@@ -10,22 +11,22 @@ module ActiveAdmin
|
|
|
10
11
|
class_option :skip_comments, type: :boolean, default: false, desc: "Skip installation of comments"
|
|
11
12
|
class_option :use_webpacker, type: :boolean, default: false, desc: "Use Webpacker assets instead of Sprockets"
|
|
12
13
|
|
|
13
|
-
source_root File.expand_path(
|
|
14
|
+
source_root File.expand_path("templates", __dir__)
|
|
14
15
|
|
|
15
16
|
def copy_initializer
|
|
16
|
-
@underscored_user_name = name.underscore.gsub(
|
|
17
|
+
@underscored_user_name = name.underscore.gsub("/", "_")
|
|
17
18
|
@use_authentication_method = options[:users].present?
|
|
18
19
|
@skip_comments = options[:skip_comments]
|
|
19
20
|
@use_webpacker = options[:use_webpacker]
|
|
20
|
-
template
|
|
21
|
+
template "active_admin.rb.erb", "config/initializers/active_admin.rb"
|
|
21
22
|
end
|
|
22
23
|
|
|
23
24
|
def setup_directory
|
|
24
25
|
empty_directory "app/admin"
|
|
25
|
-
template
|
|
26
|
+
template "dashboard.rb", "app/admin/dashboard.rb"
|
|
26
27
|
if options[:users].present?
|
|
27
28
|
@user_class = name
|
|
28
|
-
template
|
|
29
|
+
template "admin_users.rb.erb", "app/admin/#{name.underscore.pluralize}.rb"
|
|
29
30
|
end
|
|
30
31
|
end
|
|
31
32
|
|
|
@@ -47,7 +48,7 @@ module ActiveAdmin
|
|
|
47
48
|
|
|
48
49
|
def create_migrations
|
|
49
50
|
unless options[:skip_comments]
|
|
50
|
-
migration_template
|
|
51
|
+
migration_template "migrations/create_active_admin_comments.rb.erb", "db/migrate/create_active_admin_comments.rb"
|
|
51
52
|
end
|
|
52
53
|
end
|
|
53
54
|
end
|
|
@@ -294,7 +294,7 @@ ActiveAdmin.setup do |config|
|
|
|
294
294
|
# config.include_default_association_filters = true
|
|
295
295
|
|
|
296
296
|
# config.maximum_association_filter_arity = 256 # default value of :unlimited will change to 256 in a future version
|
|
297
|
-
# config.filter_columns_for_large_association
|
|
297
|
+
# config.filter_columns_for_large_association = [
|
|
298
298
|
# :display_name,
|
|
299
299
|
# :full_name,
|
|
300
300
|
# :name,
|
|
@@ -303,7 +303,7 @@ ActiveAdmin.setup do |config|
|
|
|
303
303
|
# :title,
|
|
304
304
|
# :email,
|
|
305
305
|
# ]
|
|
306
|
-
# config.filter_method_for_large_association
|
|
306
|
+
# config.filter_method_for_large_association = '_starts_with'
|
|
307
307
|
|
|
308
308
|
# == Head
|
|
309
309
|
#
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Generators
|
|
3
4
|
class PageGenerator < Rails::Generators::NamedBase
|
|
4
|
-
source_root File.expand_path(
|
|
5
|
+
source_root File.expand_path("templates", __dir__)
|
|
5
6
|
|
|
6
7
|
def generate_config_file
|
|
7
8
|
template "page.rb", "app/admin/#{file_path.tr('/', '_')}.rb"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/generators/boilerplate"
|
|
2
3
|
|
|
3
4
|
module ActiveAdmin
|
|
4
5
|
module Generators
|
|
@@ -6,9 +7,9 @@ module ActiveAdmin
|
|
|
6
7
|
desc "Registers resources with Active Admin"
|
|
7
8
|
|
|
8
9
|
class_option :include_boilerplate, type: :boolean, default: false,
|
|
9
|
-
|
|
10
|
+
desc: "Generate boilerplate code for your resource."
|
|
10
11
|
|
|
11
|
-
source_root File.expand_path(
|
|
12
|
+
source_root File.expand_path("templates", __dir__)
|
|
12
13
|
|
|
13
14
|
def generate_config_file
|
|
14
15
|
@boilerplate = ActiveAdmin::Generators::Boilerplate.new(class_name)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Sass variable overrides must be declared before loading up Active Admin's styles.
|
|
2
2
|
//
|
|
3
3
|
// To view the variables that Active Admin provides, take a look at
|
|
4
4
|
// `app/assets/stylesheets/active_admin/mixins/_variables.scss` in the
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
@import "~@activeadmin/activeadmin/src/scss/mixins";
|
|
12
12
|
@import "~@activeadmin/activeadmin/src/scss/base";
|
|
13
13
|
|
|
14
|
-
// Overriding any non-variable
|
|
14
|
+
// Overriding any non-variable Sass must be done after the fact.
|
|
15
15
|
// For example, to change the default status-tag color:
|
|
16
16
|
//
|
|
17
17
|
// .status_tag { background: #6090DB; }
|