activeadmin 3.4.0 → 4.0.0.beta18
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 +4 -102
- data/CONTRIBUTING.md +32 -117
- data/README.md +17 -30
- data/UPGRADING.md +241 -0
- data/app/assets/config/active_admin_manifest.js +2 -0
- data/{lib → app/controllers}/active_admin/base_controller/authorization.rb +1 -1
- data/app/controllers/active_admin/base_controller/menu.rb +39 -0
- data/{lib → app/controllers}/active_admin/base_controller.rb +46 -18
- data/{lib → app/controllers}/active_admin/page_controller.rb +0 -4
- data/{lib → app/controllers}/active_admin/resource_controller/action_builder.rb +1 -1
- data/{lib → app/controllers}/active_admin/resource_controller/data_access.rb +11 -6
- data/{lib → app/controllers}/active_admin/resource_controller/scoping.rb +1 -1
- data/{lib → app/controllers}/active_admin/resource_controller/streaming.rb +4 -4
- data/app/controllers/active_admin/resource_controller.rb +102 -0
- data/app/helpers/active_admin/auto_link_helper.rb +66 -0
- data/app/helpers/active_admin/breadcrumb_helper.rb +41 -0
- data/app/helpers/active_admin/display_helper.rb +117 -0
- data/app/helpers/active_admin/form_helper.rb +95 -0
- data/app/helpers/active_admin/index_helper.rb +40 -0
- data/app/helpers/active_admin/layout_helper.rb +63 -0
- data/app/javascript/active_admin/features/batch_actions.js +95 -0
- data/app/javascript/active_admin/features/dark_mode_toggle.js +37 -0
- data/app/javascript/active_admin/features/filters.js +34 -0
- data/app/javascript/active_admin/features/has_many.js +28 -0
- data/app/javascript/active_admin/features/main_menu.js +12 -0
- data/app/javascript/active_admin/features/per_page.js +9 -0
- data/app/javascript/active_admin/utils/dom.js +17 -0
- data/app/javascript/active_admin.js +10 -0
- data/app/views/active_admin/_flash_messages.html.erb +22 -0
- data/app/views/active_admin/_html_head.html.erb +13 -0
- data/app/views/active_admin/_main_navigation.html.erb +28 -0
- data/app/views/active_admin/_page_header.html.erb +27 -0
- data/app/views/active_admin/_sidebar.html.erb +5 -0
- data/app/views/active_admin/_site_footer.html.erb +7 -0
- data/app/views/active_admin/_site_header.html.erb +30 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +5 -3
- data/app/views/active_admin/devise/passwords/edit.html.erb +5 -3
- data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
- data/app/views/active_admin/devise/registrations/new.html.erb +6 -4
- data/app/views/active_admin/devise/sessions/new.html.erb +6 -4
- data/app/views/active_admin/devise/shared/_links.erb +3 -1
- data/app/views/active_admin/devise/unlocks/new.html.erb +6 -4
- data/app/views/{kaminari/active_admin_countless → active_admin/kaminari}/_gap.html.erb +3 -1
- data/app/views/active_admin/kaminari/_next_page.html.erb +16 -0
- data/app/views/active_admin/kaminari/_page.html.erb +14 -0
- data/app/views/{kaminari/active_admin_countless → active_admin/kaminari}/_paginator.html.erb +1 -2
- data/app/views/active_admin/kaminari/_prev_page.html.erb +16 -0
- data/app/views/active_admin/page/index.html.arb +5 -2
- data/app/views/active_admin/resource/_active_filters.html.erb +32 -0
- data/app/views/active_admin/resource/_batch_actions_dropdown.html.erb +19 -0
- data/app/views/active_admin/resource/_form.html.arb +15 -0
- data/app/views/active_admin/resource/_form_default.html.arb +11 -0
- data/app/views/active_admin/resource/_index_as_table_default.html.arb +8 -0
- data/app/views/active_admin/resource/_index_blank_slate.html.erb +14 -0
- data/app/views/active_admin/resource/_index_empty_results.html.erb +5 -0
- data/app/views/active_admin/resource/_index_table_actions_default.html.erb +9 -0
- data/app/views/active_admin/resource/_show_default.html.arb +2 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -2
- data/app/views/active_admin/resource/index.html.arb +94 -2
- data/app/views/active_admin/resource/new.html.arb +1 -2
- data/app/views/active_admin/resource/show.html.arb +12 -2
- data/app/views/active_admin/shared/_action_items.html.erb +3 -0
- data/app/views/active_admin/shared/_download_format_links.html.erb +7 -0
- data/app/views/active_admin/shared/_resource_comments.html.erb +51 -0
- data/app/views/active_admin/shared/_sidebar_section.html.arb +6 -0
- data/app/views/active_admin/shared/_sidebar_sections.html.erb +5 -0
- data/app/views/layouts/active_admin.html.erb +20 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +8 -45
- data/config/importmap.rb +5 -0
- data/config/locales/ar.yml +136 -116
- data/config/locales/az.yml +103 -118
- data/config/locales/bg.yml +91 -99
- data/config/locales/bs.yml +95 -101
- data/config/locales/ca.yml +131 -86
- data/config/locales/cs.yml +82 -90
- data/config/locales/da.yml +102 -117
- data/config/locales/de.yml +130 -141
- data/config/locales/el.yml +94 -106
- data/config/locales/en-CA.yml +104 -119
- data/config/locales/en-GB.yml +104 -119
- data/config/locales/en.yml +134 -140
- data/config/locales/eo.yml +107 -123
- data/config/locales/es-MX.yml +70 -78
- data/config/locales/es.yml +129 -138
- data/config/locales/fa.yml +91 -99
- data/config/locales/fi.yml +84 -92
- data/config/locales/fr.yml +135 -120
- data/config/locales/he.yml +103 -118
- data/config/locales/hr.yml +95 -103
- data/config/locales/hu.yml +76 -81
- data/config/locales/id.yml +97 -112
- data/config/locales/it.yml +134 -140
- data/config/locales/ja.yml +109 -120
- data/config/locales/ko.yml +136 -101
- data/config/locales/lt.yml +106 -121
- data/config/locales/lv.yml +70 -75
- data/config/locales/mk.yml +100 -114
- data/config/locales/nb.yml +98 -109
- data/config/locales/nl.yml +113 -122
- data/config/locales/pl.yml +137 -146
- data/config/locales/pt-BR.yml +134 -121
- data/config/locales/pt-PT.yml +71 -76
- data/config/locales/ro.yml +74 -79
- data/config/locales/ru.yml +142 -122
- data/config/locales/sk.yml +131 -146
- data/config/locales/sv-SE.yml +126 -141
- data/config/locales/tr.yml +105 -120
- data/config/locales/uk.yml +140 -119
- data/config/locales/vi.yml +125 -140
- data/config/locales/zh-CN.yml +135 -141
- data/config/locales/zh-TW.yml +136 -116
- data/lib/active_admin/application.rb +6 -14
- data/lib/active_admin/application_settings.rb +1 -1
- data/lib/active_admin/async_count.rb +23 -0
- data/lib/active_admin/batch_actions/controller.rb +1 -4
- data/lib/active_admin/batch_actions/resource_extension.rb +8 -15
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +1 -7
- data/lib/active_admin/batch_actions/views/selection_cells.rb +3 -3
- data/lib/active_admin/batch_actions.rb +4 -9
- data/lib/active_admin/callbacks.rb +6 -4
- data/lib/active_admin/collection_decorator.rb +1 -1
- data/lib/active_admin/component.rb +0 -1
- data/lib/active_admin/csv_builder.rb +2 -2
- data/lib/active_admin/devise.rb +3 -3
- data/lib/active_admin/dsl.rb +3 -3
- data/lib/active_admin/dynamic_settings_node.rb +6 -6
- data/lib/active_admin/engine.rb +23 -7
- data/lib/active_admin/filters/active.rb +8 -6
- data/lib/active_admin/filters/active_filter.rb +2 -10
- data/lib/active_admin/filters/forms.rb +1 -45
- data/lib/active_admin/filters/resource_extension.rb +18 -10
- data/lib/active_admin/filters.rb +5 -7
- data/lib/active_admin/form_builder.rb +14 -17
- data/lib/active_admin/helpers/optional_display.rb +1 -1
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +10 -12
- data/lib/active_admin/inputs/filters/base.rb +1 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -6
- data/lib/active_admin/inputs/filters/date_range_input.rb +4 -2
- data/lib/active_admin/inputs.rb +0 -3
- data/lib/active_admin/localizers.rb +1 -1
- data/lib/active_admin/menu.rb +10 -7
- data/lib/active_admin/menu_collection.rb +1 -1
- data/lib/active_admin/menu_item.rb +24 -3
- data/lib/active_admin/namespace.rb +3 -45
- data/lib/active_admin/namespace_settings.rb +3 -36
- data/lib/active_admin/order_clause.rb +4 -1
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +4 -76
- data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
- data/lib/active_admin/orm/active_record/comments.rb +13 -8
- data/lib/active_admin/orm/active_record.rb +1 -1
- data/lib/active_admin/pundit_adapter.rb +3 -3
- data/lib/active_admin/resource/action_items.rb +18 -23
- data/lib/active_admin/resource/naming.rb +2 -3
- data/lib/active_admin/resource/page_presenters.rb +2 -2
- data/lib/active_admin/resource/sidebars.rb +1 -1
- data/lib/active_admin/resource.rb +17 -16
- data/lib/active_admin/resource_collection.rb +1 -1
- data/lib/active_admin/resource_dsl.rb +3 -3
- data/lib/active_admin/scope.rb +11 -1
- data/lib/active_admin/settings_node.rb +1 -1
- data/lib/active_admin/sidebar_section.rb +0 -5
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -1
- data/lib/active_admin/view_helpers.rb +0 -12
- data/lib/active_admin/views/components/active_admin_form.rb +21 -29
- data/lib/active_admin/views/components/attributes_table.rb +14 -16
- data/lib/active_admin/views/components/index_list.rb +10 -23
- data/lib/active_admin/views/components/paginated_collection.rb +34 -39
- data/lib/active_admin/views/components/panel.rb +3 -11
- data/lib/active_admin/views/components/scopes.rb +39 -26
- data/lib/active_admin/views/components/status_tag.rb +22 -19
- data/lib/active_admin/views/components/table_for.rb +25 -25
- data/lib/active_admin/views/index_as_table.rb +39 -101
- data/lib/active_admin.rb +16 -15
- data/lib/activeadmin.rb +1 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +4 -4
- data/lib/generators/active_admin/assets/templates/active_admin.css +3 -0
- data/lib/generators/active_admin/assets/templates/tailwind.config.js +21 -0
- data/lib/generators/active_admin/devise/devise_generator.rb +2 -2
- data/lib/generators/active_admin/install/install_generator.rb +2 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +10 -87
- data/lib/generators/active_admin/install/templates/dashboard.rb +8 -25
- data/lib/generators/active_admin/page/page_generator.rb +0 -1
- data/lib/generators/active_admin/resource/resource_generator.rb +50 -7
- data/lib/generators/active_admin/resource/templates/resource.rb.erb +42 -0
- data/lib/generators/active_admin/views_generator.rb +18 -0
- data/plugin.js +414 -0
- data/vendor/bundle/offense.rb +1 -0
- data/vendor/javascript/flowbite.js +1 -0
- data/vendor/javascript/rails_ujs_esm.js +1 -0
- metadata +80 -207
- data/app/assets/javascripts/active_admin/base.js +0 -517
- data/app/assets/stylesheets/active_admin/_base.scss +0 -57
- data/app/assets/stylesheets/active_admin/_forms.scss +0 -315
- data/app/assets/stylesheets/active_admin/_header.scss +0 -188
- data/app/assets/stylesheets/active_admin/_mixins.scss +0 -1
- data/app/assets/stylesheets/active_admin/_normalize.scss +0 -349
- data/app/assets/stylesheets/active_admin/_print.scss +0 -287
- data/app/assets/stylesheets/active_admin/_typography.scss +0 -100
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -6
- data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +0 -30
- data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +0 -20
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +0 -6
- data/app/assets/stylesheets/active_admin/components/_columns.scss +0 -3
- data/app/assets/stylesheets/active_admin/components/_comments.scss +0 -41
- data/app/assets/stylesheets/active_admin/components/_date_picker.scss +0 -148
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -154
- data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +0 -37
- data/app/assets/stylesheets/active_admin/components/_grid.scss +0 -9
- data/app/assets/stylesheets/active_admin/components/_index_list.scss +0 -12
- data/app/assets/stylesheets/active_admin/components/_links.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +0 -34
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +0 -58
- data/app/assets/stylesheets/active_admin/components/_panels.scss +0 -6
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +0 -13
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -12
- data/app/assets/stylesheets/active_admin/components/_table_tools.scss +0 -70
- data/app/assets/stylesheets/active_admin/components/_tables.scss +0 -112
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +0 -68
- data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +0 -16
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -8
- data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +0 -65
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +0 -28
- data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +0 -22
- data/app/assets/stylesheets/active_admin/mixins/_sections.scss +0 -41
- data/app/assets/stylesheets/active_admin/mixins/_shadows.scss +0 -15
- data/app/assets/stylesheets/active_admin/mixins/_typography.scss +0 -3
- data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +0 -17
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +0 -51
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +0 -44
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +0 -19
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +0 -29
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -43
- data/app/javascript/active_admin/base.js +0 -28
- data/app/javascript/active_admin/ext/jquery-ui.js +0 -7
- data/app/javascript/active_admin/ext/jquery.js +0 -9
- data/app/javascript/active_admin/initializers/batch-actions.js +0 -61
- data/app/javascript/active_admin/initializers/checkbox-toggler.js +0 -3
- data/app/javascript/active_admin/initializers/datepicker.js +0 -16
- data/app/javascript/active_admin/initializers/dropdown-menu.js +0 -9
- data/app/javascript/active_admin/initializers/filters.js +0 -10
- data/app/javascript/active_admin/initializers/has-many.js +0 -98
- data/app/javascript/active_admin/initializers/per-page.js +0 -13
- data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +0 -3
- data/app/javascript/active_admin/initializers/tabs.js +0 -6
- data/app/javascript/active_admin/lib/checkbox-toggler.js +0 -49
- data/app/javascript/active_admin/lib/dropdown-menu.js +0 -116
- data/app/javascript/active_admin/lib/filters.js +0 -39
- data/app/javascript/active_admin/lib/modal-dialog.js +0 -63
- data/app/javascript/active_admin/lib/per-page.js +0 -38
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +0 -38
- data/app/javascript/active_admin/lib/utils.js +0 -40
- data/app/views/kaminari/active_admin/_first_page.html.erb +0 -11
- data/app/views/kaminari/active_admin/_gap.html.erb +0 -8
- data/app/views/kaminari/active_admin/_last_page.html.erb +0 -11
- data/app/views/kaminari/active_admin/_next_page.html.erb +0 -11
- data/app/views/kaminari/active_admin/_page.html.erb +0 -12
- data/app/views/kaminari/active_admin/_paginator.html.erb +0 -25
- data/app/views/kaminari/active_admin/_prev_page.html.erb +0 -11
- data/app/views/kaminari/active_admin_countless/_first_page.html.erb +0 -11
- data/app/views/kaminari/active_admin_countless/_next_page.html.erb +0 -11
- data/app/views/kaminari/active_admin_countless/_page.html.erb +0 -12
- data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +0 -11
- data/app/views/layouts/active_admin.html.arb +0 -2
- data/config/locales/de-CH.yml +0 -94
- data/lib/active_admin/abstract_view_factory.rb +0 -48
- data/lib/active_admin/asset_registration.rb +0 -30
- data/lib/active_admin/base_controller/menu.rb +0 -35
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +0 -59
- data/lib/active_admin/filters/active_sidebar.rb +0 -28
- data/lib/active_admin/generators/boilerplate.rb +0 -54
- data/lib/active_admin/helpers/collection.rb +0 -21
- data/lib/active_admin/helpers/i18n.rb +0 -8
- data/lib/active_admin/inputs/datepicker_input.rb +0 -28
- data/lib/active_admin/inputs/filters/date_picker_input.rb +0 -14
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +0 -24
- data/lib/active_admin/orm/mongoid.rb +0 -2
- data/lib/active_admin/resource_controller/sidebars.rb +0 -19
- data/lib/active_admin/resource_controller.rb +0 -68
- data/lib/active_admin/view_factory.rb +0 -28
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +0 -13
- data/lib/active_admin/view_helpers/auto_link_helper.rb +0 -46
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +0 -34
- data/lib/active_admin/view_helpers/display_helper.rb +0 -119
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +0 -60
- data/lib/active_admin/view_helpers/fields_for.rb +0 -51
- data/lib/active_admin/view_helpers/flash_helper.rb +0 -15
- data/lib/active_admin/view_helpers/form_helper.rb +0 -21
- data/lib/active_admin/view_helpers/scope_name_helper.rb +0 -17
- data/lib/active_admin/view_helpers/sidebar_helper.rb +0 -16
- data/lib/active_admin/view_helpers/title_helper.rb +0 -12
- data/lib/active_admin/view_helpers/view_factory_helper.rb +0 -12
- data/lib/active_admin/views/action_items.rb +0 -18
- data/lib/active_admin/views/components/active_filters_sidebar_content.rb +0 -59
- data/lib/active_admin/views/components/blank_slate.rb +0 -18
- data/lib/active_admin/views/components/columns.rb +0 -162
- data/lib/active_admin/views/components/dropdown_menu.rb +0 -69
- data/lib/active_admin/views/components/menu.rb +0 -33
- data/lib/active_admin/views/components/menu_item.rb +0 -59
- data/lib/active_admin/views/components/sidebar.rb +0 -14
- data/lib/active_admin/views/components/sidebar_section.rb +0 -35
- data/lib/active_admin/views/components/site_title.rb +0 -55
- data/lib/active_admin/views/components/tabs.rb +0 -41
- data/lib/active_admin/views/components/unsupported_browser.rb +0 -12
- data/lib/active_admin/views/footer.rb +0 -32
- data/lib/active_admin/views/header.rb +0 -20
- data/lib/active_admin/views/index_as_block.rb +0 -37
- data/lib/active_admin/views/index_as_blog.rb +0 -156
- data/lib/active_admin/views/index_as_grid.rb +0 -81
- data/lib/active_admin/views/pages/base.rb +0 -134
- data/lib/active_admin/views/pages/form.rb +0 -65
- data/lib/active_admin/views/pages/index.rb +0 -166
- data/lib/active_admin/views/pages/layout.rb +0 -27
- data/lib/active_admin/views/pages/page.rb +0 -31
- data/lib/active_admin/views/pages/show.rb +0 -60
- data/lib/active_admin/views/tabbed_navigation.rb +0 -12
- data/lib/active_admin/views/title_bar.rb +0 -56
- data/lib/generators/active_admin/assets/templates/active_admin.js +0 -1
- data/lib/generators/active_admin/assets/templates/active_admin.scss +0 -17
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +0 -46
- data/lib/generators/active_admin/webpacker/plugins/jquery.js +0 -7
- data/lib/generators/active_admin/webpacker/templates/active_admin.js +0 -5
- data/lib/generators/active_admin/webpacker/templates/active_admin.scss +0 -17
- data/lib/generators/active_admin/webpacker/templates/print.scss +0 -2
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +0 -27
- data/vendor/assets/javascripts/jquery-ui/data.js +0 -45
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +0 -51
- data/vendor/assets/javascripts/jquery-ui/focusable.js +0 -89
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +0 -83
- data/vendor/assets/javascripts/jquery-ui/form.js +0 -25
- data/vendor/assets/javascripts/jquery-ui/ie.js +0 -20
- data/vendor/assets/javascripts/jquery-ui/keycode.js +0 -51
- data/vendor/assets/javascripts/jquery-ui/labels.js +0 -71
- data/vendor/assets/javascripts/jquery-ui/plugin.js +0 -49
- data/vendor/assets/javascripts/jquery-ui/position.js +0 -513
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -46
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -27
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +0 -50
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +0 -41
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +0 -54
- data/vendor/assets/javascripts/jquery-ui/version.js +0 -20
- data/vendor/assets/javascripts/jquery-ui/widget.js +0 -758
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +0 -454
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +0 -294
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +0 -304
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +0 -2243
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +0 -971
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +0 -1268
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +0 -241
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +0 -1228
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +0 -1622
- data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +0 -931
- /data/{lib → app/controllers}/active_admin/resource_controller/decorators.rb +0 -0
- /data/{lib → app/controllers}/active_admin/resource_controller/polymorphic_routes.rb +0 -0
- /data/{lib → app/controllers}/active_admin/resource_controller/resource_class_methods.rb +0 -0
- /data/lib/{active_admin/orm/mongoid/.gitkeep → generators/active_admin/assets/templates/builds/.keep} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
2
|
+
require_relative "resource_collection"
|
|
3
3
|
|
|
4
4
|
module ActiveAdmin
|
|
5
5
|
|
|
@@ -68,7 +68,7 @@ module ActiveAdmin
|
|
|
68
68
|
|
|
69
69
|
# Register the resource
|
|
70
70
|
register_resource_controller(config)
|
|
71
|
-
parse_registration_block(config, &block) if
|
|
71
|
+
parse_registration_block(config, &block) if block
|
|
72
72
|
reset_menu!
|
|
73
73
|
|
|
74
74
|
# Dispatch a registration event
|
|
@@ -83,7 +83,7 @@ module ActiveAdmin
|
|
|
83
83
|
|
|
84
84
|
# Register the resource
|
|
85
85
|
register_page_controller(config)
|
|
86
|
-
parse_page_registration_block(config, &block) if
|
|
86
|
+
parse_page_registration_block(config, &block) if block
|
|
87
87
|
reset_menu!
|
|
88
88
|
|
|
89
89
|
config
|
|
@@ -141,60 +141,18 @@ module ActiveAdmin
|
|
|
141
141
|
end
|
|
142
142
|
end
|
|
143
143
|
|
|
144
|
-
# The default logout menu item
|
|
145
|
-
#
|
|
146
|
-
# @param [ActiveAdmin::MenuItem] menu The menu to add the logout link to
|
|
147
|
-
# @param [Fixnum] priority The numeric priority for the order in which it appears
|
|
148
|
-
# @param [Hash] html_options An options hash to pass along to link_to
|
|
149
|
-
#
|
|
150
|
-
def add_logout_button_to_menu(menu, priority = 20, html_options = {})
|
|
151
|
-
if logout_link_path
|
|
152
|
-
html_options = html_options.reverse_merge(method: logout_link_method || :get)
|
|
153
|
-
menu.add id: "logout", priority: priority, html_options: html_options,
|
|
154
|
-
label: -> { I18n.t "active_admin.logout" },
|
|
155
|
-
url: -> { render_or_call_method_or_proc_on self, active_admin_namespace.logout_link_path },
|
|
156
|
-
if: :current_active_admin_user?
|
|
157
|
-
end
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
# The default user session menu item
|
|
161
|
-
#
|
|
162
|
-
# @param [ActiveAdmin::MenuItem] menu The menu to add the logout link to
|
|
163
|
-
# @param [Fixnum] priority The numeric priority for the order in which it appears
|
|
164
|
-
# @param [Hash] html_options An options hash to pass along to link_to
|
|
165
|
-
#
|
|
166
|
-
def add_current_user_to_menu(menu, priority = 10, html_options = {})
|
|
167
|
-
if current_user_method
|
|
168
|
-
menu.add id: "current_user", priority: priority, html_options: html_options,
|
|
169
|
-
label: -> { display_name current_active_admin_user },
|
|
170
|
-
url: -> { auto_url_for(current_active_admin_user) },
|
|
171
|
-
if: :current_active_admin_user?
|
|
172
|
-
end
|
|
173
|
-
end
|
|
174
|
-
|
|
175
144
|
protected
|
|
176
145
|
|
|
177
146
|
def build_menu_collection
|
|
178
147
|
@menus = MenuCollection.new
|
|
179
148
|
|
|
180
149
|
@menus.on_build do
|
|
181
|
-
build_default_utility_nav
|
|
182
|
-
|
|
183
150
|
resources.each do |resource|
|
|
184
151
|
resource.add_to_menu(@menus)
|
|
185
152
|
end
|
|
186
153
|
end
|
|
187
154
|
end
|
|
188
155
|
|
|
189
|
-
# Builds the default utility navigation in top right header with current user & logout button
|
|
190
|
-
def build_default_utility_nav
|
|
191
|
-
return if @menus.exists? :utility_navigation
|
|
192
|
-
@menus.menu :utility_navigation do |menu|
|
|
193
|
-
add_current_user_to_menu menu
|
|
194
|
-
add_logout_button_to_menu menu
|
|
195
|
-
end
|
|
196
|
-
end
|
|
197
|
-
|
|
198
156
|
# Either returns an existing Resource instance or builds a new one.
|
|
199
157
|
def find_or_build_resource(resource_class, options)
|
|
200
158
|
resources.add Resource.new(self, resource_class, options)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
2
|
+
require_relative "dynamic_settings_node"
|
|
3
3
|
|
|
4
4
|
module ActiveAdmin
|
|
5
5
|
class NamespaceSettings < DynamicSettingsNode
|
|
@@ -12,31 +12,6 @@ module ActiveAdmin
|
|
|
12
12
|
# The title which gets displayed in the main layout
|
|
13
13
|
register :site_title, "", :string_symbol_or_proc
|
|
14
14
|
|
|
15
|
-
# Set the site title link href (defaults to AA dashboard)
|
|
16
|
-
register :site_title_link, ""
|
|
17
|
-
|
|
18
|
-
# Set the site title image displayed in the main layout (has precendence over :site_title)
|
|
19
|
-
register :site_title_image, "", :string_symbol_or_proc
|
|
20
|
-
|
|
21
|
-
# Add to the site head
|
|
22
|
-
register :head, "", :string_symbol_or_proc
|
|
23
|
-
|
|
24
|
-
# Set the site footer text (defaults to Powered by ActiveAdmin text with version)
|
|
25
|
-
register :footer, "", :string_symbol_or_proc
|
|
26
|
-
|
|
27
|
-
# Set a favicon
|
|
28
|
-
register :favicon, false
|
|
29
|
-
|
|
30
|
-
# Additional meta tags to place in head of logged in pages
|
|
31
|
-
register :meta_tags, {}
|
|
32
|
-
|
|
33
|
-
# Additional meta tags to place in head of logged out pages
|
|
34
|
-
register :meta_tags_for_logged_out_pages, { robots: "noindex, nofollow" }
|
|
35
|
-
|
|
36
|
-
# The view factory to use to generate all the view classes. Take
|
|
37
|
-
# a look at ActiveAdmin::ViewFactory
|
|
38
|
-
register :view_factory, ActiveAdmin::ViewFactory.new
|
|
39
|
-
|
|
40
15
|
# The method to call in controllers to get the current user
|
|
41
16
|
register :current_user_method, false
|
|
42
17
|
|
|
@@ -48,9 +23,6 @@ module ActiveAdmin
|
|
|
48
23
|
# that it's a method to call which returns the path
|
|
49
24
|
register :logout_link_path, :destroy_admin_user_session_path
|
|
50
25
|
|
|
51
|
-
# The method to use when generating the link for user logout
|
|
52
|
-
register :logout_link_method, :get
|
|
53
|
-
|
|
54
26
|
# Whether the batch actions are enabled or not
|
|
55
27
|
register :batch_actions, false
|
|
56
28
|
|
|
@@ -85,9 +57,6 @@ module ActiveAdmin
|
|
|
85
57
|
# A proc to be used when a user is not authorized to view the current resource
|
|
86
58
|
register :on_unauthorized_access, :rescue_active_admin_access_denied
|
|
87
59
|
|
|
88
|
-
# A regex to detect unsupported browser, set to false to disable
|
|
89
|
-
register :unsupported_browser_matcher, /MSIE [1-8]\.0/
|
|
90
|
-
|
|
91
60
|
# Whether to display 'Current Filters' on search screen
|
|
92
61
|
register :current_filters, true
|
|
93
62
|
|
|
@@ -102,7 +71,8 @@ module ActiveAdmin
|
|
|
102
71
|
:utf8, :_method, :authenticity_token, :commit, :id
|
|
103
72
|
]
|
|
104
73
|
|
|
105
|
-
# Set flash message keys that shouldn't show in ActiveAdmin
|
|
74
|
+
# Set flash message keys that shouldn't show in ActiveAdmin.
|
|
75
|
+
# By default, we remove the `timedout` key from Devise.
|
|
106
76
|
register :flash_keys_to_except, ["timedout"]
|
|
107
77
|
|
|
108
78
|
# Include association filters by default
|
|
@@ -120,8 +90,5 @@ module ActiveAdmin
|
|
|
120
90
|
:email,
|
|
121
91
|
]
|
|
122
92
|
register :filter_method_for_large_association, "_start"
|
|
123
|
-
|
|
124
|
-
# Switch between asset pipeline and webpacker assets
|
|
125
|
-
register :use_webpacker, false
|
|
126
93
|
end
|
|
127
94
|
end
|
|
@@ -1,75 +1,21 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "active_admin/views/components/panel"
|
|
2
|
+
require_relative "../../../../views"
|
|
4
3
|
|
|
5
4
|
module ActiveAdmin
|
|
6
5
|
module Comments
|
|
7
6
|
module Views
|
|
8
|
-
|
|
9
|
-
class Comments < ActiveAdmin::Views::Panel
|
|
7
|
+
class Comments < Arbre::Element
|
|
10
8
|
builder_method :active_admin_comments_for
|
|
11
9
|
|
|
12
|
-
attr_accessor :resource
|
|
13
|
-
|
|
14
10
|
def build(resource)
|
|
15
11
|
if authorized?(ActiveAdmin::Auth::READ, ActiveAdmin::Comment)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
super(title, for: resource)
|
|
19
|
-
build_comments
|
|
12
|
+
comments = active_admin_authorization.scope_collection(ActiveAdmin::Comment.find_for_resource_in_namespace(resource, active_admin_namespace.name).includes(:author).page(params[:page]))
|
|
13
|
+
render("active_admin/shared/resource_comments", resource: resource, comments: comments, comment_form_url: comment_form_url)
|
|
20
14
|
end
|
|
21
15
|
end
|
|
22
16
|
|
|
23
17
|
protected
|
|
24
18
|
|
|
25
|
-
def title
|
|
26
|
-
I18n.t "active_admin.comments.title_content", count: @comments.total_count
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def build_comments
|
|
30
|
-
if @comments.any?
|
|
31
|
-
@comments.each(&method(:build_comment))
|
|
32
|
-
div page_entries_info(@comments).html_safe, class: "pagination_information"
|
|
33
|
-
else
|
|
34
|
-
build_empty_message
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
text_node paginate @comments
|
|
38
|
-
|
|
39
|
-
if authorized?(ActiveAdmin::Auth::NEW, ActiveAdmin::Comment)
|
|
40
|
-
build_comment_form
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def build_comment(comment)
|
|
45
|
-
div for: comment do
|
|
46
|
-
div class: "active_admin_comment_meta" do
|
|
47
|
-
h4 class: "active_admin_comment_author" do
|
|
48
|
-
comment.author ? auto_link(comment.author) : I18n.t("active_admin.comments.author_missing")
|
|
49
|
-
end
|
|
50
|
-
span pretty_format comment.created_at
|
|
51
|
-
if authorized?(ActiveAdmin::Auth::DESTROY, comment)
|
|
52
|
-
text_node link_to I18n.t("active_admin.comments.delete"), comments_url(comment.id), method: :delete, data: { confirm: I18n.t("active_admin.comments.delete_confirmation") }
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
div class: "active_admin_comment_body" do
|
|
56
|
-
simple_format comment.body
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
def build_empty_message
|
|
62
|
-
span I18n.t("active_admin.comments.no_comments_yet"), class: "empty"
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def comments_url(*args)
|
|
66
|
-
parts = []
|
|
67
|
-
parts << active_admin_namespace.name unless active_admin_namespace.root?
|
|
68
|
-
parts << active_admin_namespace.comments_registration_name.underscore
|
|
69
|
-
parts << "path"
|
|
70
|
-
send parts.join("_"), *args
|
|
71
|
-
end
|
|
72
|
-
|
|
73
19
|
def comment_form_url
|
|
74
20
|
parts = []
|
|
75
21
|
parts << active_admin_namespace.name unless active_admin_namespace.root?
|
|
@@ -77,25 +23,7 @@ module ActiveAdmin
|
|
|
77
23
|
parts << "path"
|
|
78
24
|
send parts.join "_"
|
|
79
25
|
end
|
|
80
|
-
|
|
81
|
-
def build_comment_form
|
|
82
|
-
active_admin_form_for(ActiveAdmin::Comment.new, url: comment_form_url) do |f|
|
|
83
|
-
f.inputs do
|
|
84
|
-
f.input :resource_type, as: :hidden, input_html: { value: ActiveAdmin::Comment.resource_type(parent.resource) }
|
|
85
|
-
f.input :resource_id, as: :hidden, input_html: { value: parent.resource.id }
|
|
86
|
-
f.input :body, label: false, input_html: { size: "80x8" }
|
|
87
|
-
end
|
|
88
|
-
f.actions do
|
|
89
|
-
f.action :submit, label: I18n.t("active_admin.comments.add")
|
|
90
|
-
end
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
def default_id_for_prefix
|
|
95
|
-
"active_admin_comments_for"
|
|
96
|
-
end
|
|
97
26
|
end
|
|
98
|
-
|
|
99
27
|
end
|
|
100
28
|
end
|
|
101
29
|
end
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
require_relative "../../../views"
|
|
3
|
+
require_relative "views/active_admin_comments"
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
require "active_admin/orm/active_record/comments/resource_helper"
|
|
2
|
+
require_relative "comments/views"
|
|
3
|
+
require_relative "comments/namespace_helper"
|
|
4
|
+
require_relative "comments/resource_helper"
|
|
6
5
|
|
|
7
6
|
# Add the comments configuration
|
|
8
7
|
ActiveAdmin::Application.inheritable_setting :comments, true
|
|
@@ -13,7 +12,6 @@ ActiveAdmin::Application.inheritable_setting :comments_menu, {}
|
|
|
13
12
|
# Insert helper modules
|
|
14
13
|
ActiveAdmin::Namespace.send :include, ActiveAdmin::Comments::NamespaceHelper
|
|
15
14
|
ActiveAdmin::Resource.send :include, ActiveAdmin::Comments::ResourceHelper
|
|
16
|
-
ActiveAdmin.application.view_factory.show_page.send :include, ActiveAdmin::Comments::ShowPageHelper
|
|
17
15
|
|
|
18
16
|
# Load the model as soon as it's referenced. By that point, Rails & Kaminari will be ready
|
|
19
17
|
ActiveAdmin.autoload :Comment, "active_admin/orm/active_record/comments/comment"
|
|
@@ -77,6 +75,11 @@ ActiveAdmin.after_load do |app|
|
|
|
77
75
|
def destroy
|
|
78
76
|
destroy! do |success, failure|
|
|
79
77
|
success.html do
|
|
78
|
+
# If deleting from the Comments resource page then this will fail, as redirecting back
|
|
79
|
+
# will be to the comment show page, but comment was deleted. The following can be used
|
|
80
|
+
# to alleviate that, but then deleting comments on commentable resource pages will
|
|
81
|
+
# redirect to the comments index which may be undesirable.
|
|
82
|
+
# redirect_to({ action: :index }, fallback_location: active_admin_root)
|
|
80
83
|
redirect_back fallback_location: active_admin_root
|
|
81
84
|
end
|
|
82
85
|
failure.html do
|
|
@@ -90,11 +93,13 @@ ActiveAdmin.after_load do |app|
|
|
|
90
93
|
|
|
91
94
|
index do
|
|
92
95
|
column I18n.t("active_admin.comments.resource_type"), :resource_type
|
|
96
|
+
column I18n.t("active_admin.comments.resource"), :resource, class: "min-w-[7rem]"
|
|
93
97
|
column I18n.t("active_admin.comments.author_type"), :author_type
|
|
94
|
-
column I18n.t("active_admin.comments.resource"), :resource
|
|
95
98
|
column I18n.t("active_admin.comments.author"), :author
|
|
96
|
-
column I18n.t("active_admin.comments.body"), :body
|
|
97
|
-
|
|
99
|
+
column I18n.t("active_admin.comments.body"), :body, class: "min-w-[16rem]" do |comment|
|
|
100
|
+
truncate(comment.body, length: 60, separator: " ")
|
|
101
|
+
end
|
|
102
|
+
column I18n.t("active_admin.comments.created_at"), :created_at, class: "min-w-[13rem]"
|
|
98
103
|
actions
|
|
99
104
|
end
|
|
100
105
|
end
|
|
@@ -19,11 +19,11 @@ module ActiveAdmin
|
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
def scope_collection(collection, action = Auth::READ)
|
|
22
|
-
# scoping is
|
|
22
|
+
# scoping is applicable only to read/index action
|
|
23
23
|
# which means there is no way how to scope other actions
|
|
24
24
|
Pundit.policy_scope!(user, namespace(collection))
|
|
25
25
|
rescue Pundit::NotDefinedError => e
|
|
26
|
-
if default_policy_class
|
|
26
|
+
if default_policy_class&.const_defined?(:Scope)
|
|
27
27
|
default_policy_class::Scope.new(user, collection).resolve
|
|
28
28
|
else
|
|
29
29
|
raise e
|
|
@@ -95,7 +95,7 @@ module ActiveAdmin
|
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
def default_policy_class
|
|
98
|
-
ActiveAdmin.application.pundit_default_policy
|
|
98
|
+
ActiveAdmin.application.pundit_default_policy&.constantize
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
def default_policy(subject)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
2
|
+
require_relative "../helpers/optional_display"
|
|
3
3
|
|
|
4
4
|
module ActiveAdmin
|
|
5
5
|
|
|
@@ -59,37 +59,36 @@ module ActiveAdmin
|
|
|
59
59
|
def add_default_action_items
|
|
60
60
|
add_default_new_action_item
|
|
61
61
|
add_default_edit_action_item
|
|
62
|
-
|
|
62
|
+
add_default_destroy_action_item
|
|
63
63
|
end
|
|
64
64
|
|
|
65
65
|
# Adds the default New link on index
|
|
66
66
|
def add_default_new_action_item
|
|
67
|
-
add_action_item :new, only: :index do
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
link_to localizer.t(:new_model), new_resource_path
|
|
71
|
-
end
|
|
67
|
+
add_action_item :new, only: :index, if: -> { new_action_authorized?(active_admin_config.resource_class) } do
|
|
68
|
+
localizer = ActiveAdmin::Localizers.resource(active_admin_config)
|
|
69
|
+
link_to localizer.t(:new_model), new_resource_path, class: "action-item-button"
|
|
72
70
|
end
|
|
73
71
|
end
|
|
74
72
|
|
|
75
73
|
# Adds the default Edit link on show
|
|
76
74
|
def add_default_edit_action_item
|
|
77
|
-
add_action_item :edit, only: :show do
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
link_to localizer.t(:edit_model), edit_resource_path(resource)
|
|
81
|
-
end
|
|
75
|
+
add_action_item :edit, only: :show, if: -> { edit_action_authorized?(resource) } do
|
|
76
|
+
localizer = ActiveAdmin::Localizers.resource(active_admin_config)
|
|
77
|
+
link_to localizer.t(:edit_model), edit_resource_path(resource), class: "action-item-button"
|
|
82
78
|
end
|
|
83
79
|
end
|
|
84
80
|
|
|
85
81
|
# Adds the default Destroy link on show
|
|
86
|
-
def
|
|
87
|
-
add_action_item :destroy, only: :show do
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
82
|
+
def add_default_destroy_action_item
|
|
83
|
+
add_action_item :destroy, only: :show, if: -> { destroy_action_authorized?(resource) } do
|
|
84
|
+
localizer = ActiveAdmin::Localizers.resource(active_admin_config)
|
|
85
|
+
link_to(
|
|
86
|
+
localizer.t(:delete_model),
|
|
87
|
+
resource_path(resource),
|
|
88
|
+
class: "action-item-button",
|
|
89
|
+
method: :delete,
|
|
90
|
+
data: { confirm: localizer.t(:delete_confirmation) }
|
|
91
|
+
)
|
|
93
92
|
end
|
|
94
93
|
end
|
|
95
94
|
|
|
@@ -109,10 +108,6 @@ module ActiveAdmin
|
|
|
109
108
|
normalize_display_options!
|
|
110
109
|
end
|
|
111
110
|
|
|
112
|
-
def html_class
|
|
113
|
-
"action_item #{@options[:class]}".rstrip
|
|
114
|
-
end
|
|
115
|
-
|
|
116
111
|
def priority
|
|
117
112
|
@options[:priority] || 10
|
|
118
113
|
end
|
|
@@ -5,7 +5,7 @@ module ActiveAdmin
|
|
|
5
5
|
module Naming
|
|
6
6
|
def resource_name
|
|
7
7
|
@resource_name ||= begin
|
|
8
|
-
as = @options[:as].gsub
|
|
8
|
+
as = @options[:as].gsub(/\s/, "") if @options[:as]
|
|
9
9
|
|
|
10
10
|
if as || !resource_class.respond_to?(:model_name)
|
|
11
11
|
Name.new resource_class, as
|
|
@@ -23,8 +23,7 @@ module ActiveAdmin
|
|
|
23
23
|
|
|
24
24
|
# Returns the plural version of this resource such as "Bank Accounts"
|
|
25
25
|
def plural_resource_label(options = {})
|
|
26
|
-
defaults = { count:
|
|
27
|
-
default: resource_label.pluralize.titleize }
|
|
26
|
+
defaults = { count: 2.1, default: resource_label.pluralize.titleize }
|
|
28
27
|
resource_name.translate defaults.merge options
|
|
29
28
|
end
|
|
30
29
|
|
|
@@ -51,7 +51,7 @@ module ActiveAdmin
|
|
|
51
51
|
# Stores a config for all index actions supplied
|
|
52
52
|
#
|
|
53
53
|
# @param [Symbol] index_as The index type to store in the configuration
|
|
54
|
-
# @param [PagePresenter] page_presenter The
|
|
54
|
+
# @param [PagePresenter] page_presenter The instance of PagePresenter to store
|
|
55
55
|
def set_index_presenter(index_as, page_presenter)
|
|
56
56
|
page_presenters[:index] ||= {}
|
|
57
57
|
|
|
@@ -64,7 +64,7 @@ module ActiveAdmin
|
|
|
64
64
|
page_presenters[:index][index_as] = page_presenter
|
|
65
65
|
end
|
|
66
66
|
|
|
67
|
-
# Returns the actual class for
|
|
67
|
+
# Returns the actual class for rendering the main content on the index
|
|
68
68
|
# page. To set this, use the :as option in the page_presenter block.
|
|
69
69
|
#
|
|
70
70
|
# @param [Symbol, Class] symbol_or_class The component symbol or class
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
require_relative "view_helpers/method_or_proc_helper"
|
|
3
|
+
require_relative "resource/action_items"
|
|
4
|
+
require_relative "resource/attributes"
|
|
5
|
+
require_relative "resource/controllers"
|
|
6
|
+
require_relative "resource/menu"
|
|
7
|
+
require_relative "resource/page_presenters"
|
|
8
|
+
require_relative "resource/pagination"
|
|
9
|
+
require_relative "resource/routes"
|
|
10
|
+
require_relative "resource/naming"
|
|
11
|
+
require_relative "resource/scopes"
|
|
12
|
+
require_relative "resource/includes"
|
|
13
|
+
require_relative "resource/scope_to"
|
|
14
|
+
require_relative "resource/sidebars"
|
|
15
|
+
require_relative "resource/belongs_to"
|
|
16
|
+
require_relative "resource/ordering"
|
|
17
|
+
require_relative "resource/model"
|
|
17
18
|
|
|
18
19
|
module ActiveAdmin
|
|
19
20
|
|
|
@@ -176,7 +177,7 @@ module ActiveAdmin
|
|
|
176
177
|
end
|
|
177
178
|
|
|
178
179
|
def find_resource(id)
|
|
179
|
-
resource = resource_class.public_send
|
|
180
|
+
resource = resource_class.public_send(*method_for_find(id))
|
|
180
181
|
(decorator_class && resource) ? decorator_class.new(resource) : resource
|
|
181
182
|
end
|
|
182
183
|
|
|
@@ -40,7 +40,7 @@ module ActiveAdmin
|
|
|
40
40
|
|
|
41
41
|
# Store relations that should be included
|
|
42
42
|
def includes(*args)
|
|
43
|
-
config.includes.push
|
|
43
|
+
config.includes.push(*args)
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
#
|
|
@@ -192,8 +192,8 @@ module ActiveAdmin
|
|
|
192
192
|
delegate :before_destroy, :after_destroy, to: :controller
|
|
193
193
|
|
|
194
194
|
standard_rails_filters =
|
|
195
|
-
AbstractController::Callbacks::ClassMethods.public_instance_methods.select { |m| m.
|
|
196
|
-
delegate
|
|
195
|
+
AbstractController::Callbacks::ClassMethods.public_instance_methods.select { |m| m.end_with?('_action') }
|
|
196
|
+
delegate(*standard_rails_filters, to: :controller)
|
|
197
197
|
|
|
198
198
|
# Specify which actions to create in the controller
|
|
199
199
|
#
|
data/lib/active_admin/scope.rb
CHANGED
|
@@ -14,6 +14,12 @@ module ActiveAdmin
|
|
|
14
14
|
# Scope.new('Published', :public)
|
|
15
15
|
# # => Scope with name 'Published' and scope method :public
|
|
16
16
|
#
|
|
17
|
+
# Scope.new(:published, show_count: :async)
|
|
18
|
+
# # => Scope with name 'Published' that queries its count asynchronously
|
|
19
|
+
#
|
|
20
|
+
# Scope.new(:published, show_count: false)
|
|
21
|
+
# # => Scope with name 'Published' that does not display a count
|
|
22
|
+
#
|
|
17
23
|
# Scope.new 'Published', :public, if: proc { current_admin_user.can? :manage, resource_class } do |articles|
|
|
18
24
|
# articles.where published: true
|
|
19
25
|
# end
|
|
@@ -41,7 +47,7 @@ module ActiveAdmin
|
|
|
41
47
|
end
|
|
42
48
|
|
|
43
49
|
@scope_method = nil if @scope_method == :all
|
|
44
|
-
if
|
|
50
|
+
if block
|
|
45
51
|
@scope_method = nil
|
|
46
52
|
@scope_block = block
|
|
47
53
|
end
|
|
@@ -61,5 +67,9 @@ module ActiveAdmin
|
|
|
61
67
|
end
|
|
62
68
|
end
|
|
63
69
|
|
|
70
|
+
def async_count?
|
|
71
|
+
@show_count == :async
|
|
72
|
+
end
|
|
73
|
+
|
|
64
74
|
end
|
|
65
75
|
end
|
|
@@ -18,11 +18,6 @@ module ActiveAdmin
|
|
|
18
18
|
"#{name.downcase.underscore}_sidebar_section".parameterize
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
# The title gets displayed within the section in the view
|
|
22
|
-
def title
|
|
23
|
-
I18n.t("active_admin.sidebars.#{name}", default: name.titlecase)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
21
|
# If a block is not passed in, the name of the partial to render
|
|
27
22
|
def partial_name
|
|
28
23
|
options[:partial] || "#{name.downcase.tr(' ', '_')}_sidebar"
|
data/lib/active_admin/version.rb
CHANGED
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
module ActiveAdmin
|
|
3
3
|
module ViewHelpers
|
|
4
|
-
|
|
5
4
|
# Require all ruby files in the view helpers dir
|
|
6
5
|
Dir[File.expand_path("view_helpers", __dir__) + "/*.rb"].each { |f| require f }
|
|
7
6
|
|
|
8
|
-
include ActiveAdminApplicationHelper
|
|
9
|
-
include AutoLinkHelper
|
|
10
|
-
include BreadcrumbHelper
|
|
11
|
-
include DisplayHelper
|
|
12
7
|
include MethodOrProcHelper
|
|
13
|
-
include SidebarHelper
|
|
14
|
-
include FormHelper
|
|
15
|
-
include TitleHelper
|
|
16
|
-
include ViewFactoryHelper
|
|
17
|
-
include FlashHelper
|
|
18
|
-
include ScopeNameHelper
|
|
19
|
-
|
|
20
8
|
end
|
|
21
9
|
end
|