activeadmin 3.2.4 → 4.0.0.beta1
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 +2 -69
- data/CONTRIBUTING.md +25 -108
- data/README.md +19 -32
- data/app/assets/config/active_admin_manifest.js +2 -0
- 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 +2 -2
- data/{lib → app/controllers}/active_admin/resource_controller/scoping.rb +1 -1
- data/{lib → app/controllers}/active_admin/resource_controller/streaming.rb +2 -2
- 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 +89 -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 -1
- 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 +16 -0
- data/app/views/active_admin/resource/_form_default.html.arb +12 -0
- data/app/views/active_admin/resource/_index_as_table_default.html.arb +9 -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 +3 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -1
- data/app/views/active_admin/resource/index.html.arb +94 -1
- data/app/views/active_admin/resource/new.html.arb +1 -1
- data/app/views/active_admin/resource/show.html.arb +12 -1
- 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 +7 -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/locales/ar.yml +0 -16
- data/config/locales/az.yml +0 -16
- data/config/locales/bg.yml +0 -9
- data/config/locales/bs.yml +0 -7
- data/config/locales/ca.yml +0 -9
- data/config/locales/cs.yml +0 -9
- data/config/locales/da.yml +0 -16
- data/config/locales/de-CH.yml +0 -10
- data/config/locales/de.yml +0 -16
- data/config/locales/el.yml +0 -13
- data/config/locales/en-CA.yml +0 -16
- data/config/locales/en-GB.yml +0 -16
- data/config/locales/en.yml +18 -28
- data/config/locales/eo.yml +0 -17
- data/config/locales/es-MX.yml +0 -9
- data/config/locales/es.yml +0 -16
- data/config/locales/fa.yml +0 -9
- data/config/locales/fi.yml +0 -9
- data/config/locales/fr.yml +32 -26
- data/config/locales/he.yml +0 -16
- data/config/locales/hr.yml +0 -9
- data/config/locales/hu.yml +0 -6
- data/config/locales/id.yml +0 -16
- data/config/locales/it.yml +0 -16
- data/config/locales/ja.yml +0 -16
- data/config/locales/ko.yml +0 -9
- data/config/locales/lt.yml +0 -16
- data/config/locales/lv.yml +0 -6
- data/config/locales/mk.yml +0 -15
- data/config/locales/nb.yml +0 -12
- data/config/locales/nl.yml +21 -29
- data/config/locales/pl.yml +0 -16
- data/config/locales/pt-BR.yml +0 -16
- data/config/locales/pt-PT.yml +0 -6
- data/config/locales/ro.yml +0 -6
- data/config/locales/ru.yml +0 -16
- data/config/locales/sk.yml +0 -16
- data/config/locales/sv-SE.yml +0 -16
- data/config/locales/tr.yml +0 -16
- data/config/locales/uk.yml +0 -16
- data/config/locales/vi.yml +0 -16
- data/config/locales/zh-CN.yml +0 -16
- data/config/locales/zh-TW.yml +0 -16
- data/lib/active_admin/application.rb +1 -9
- data/lib/active_admin/batch_actions/controller.rb +1 -4
- data/lib/active_admin/batch_actions/resource_extension.rb +6 -13
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +0 -6
- data/lib/active_admin/batch_actions/views/selection_cells.rb +2 -2
- data/lib/active_admin/batch_actions.rb +0 -5
- data/lib/active_admin/callbacks.rb +6 -4
- data/lib/active_admin/component.rb +0 -1
- data/lib/active_admin/csv_builder.rb +1 -1
- data/lib/active_admin/devise.rb +3 -3
- data/lib/active_admin/dsl.rb +2 -2
- data/lib/active_admin/dynamic_settings_node.rb +4 -4
- data/lib/active_admin/engine.rb +19 -6
- data/lib/active_admin/filters/active.rb +6 -4
- data/lib/active_admin/filters/active_filter.rb +1 -3
- data/lib/active_admin/filters/forms.rb +1 -42
- data/lib/active_admin/filters/resource_extension.rb +17 -9
- data/lib/active_admin/filters.rb +0 -2
- data/lib/active_admin/form_builder.rb +15 -14
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +8 -10
- 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/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 +2 -44
- data/lib/active_admin/namespace_settings.rb +2 -35
- data/lib/active_admin/order_clause.rb +4 -1
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +3 -75
- data/lib/active_admin/orm/active_record/comments.rb +10 -5
- data/lib/active_admin/pundit_adapter.rb +1 -1
- data/lib/active_admin/resource/action_items.rb +15 -20
- data/lib/active_admin/resource/attributes.rb +1 -8
- data/lib/active_admin/resource/naming.rb +1 -2
- data/lib/active_admin/resource.rb +1 -0
- data/lib/active_admin/resource_dsl.rb +1 -1
- data/lib/active_admin/scope.rb +1 -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.rb +0 -12
- data/lib/active_admin/views/components/active_admin_form.rb +21 -29
- data/lib/active_admin/views/components/attributes_table.rb +4 -12
- 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 +2 -10
- data/lib/active_admin/views/components/scopes.rb +12 -21
- data/lib/active_admin/views/components/status_tag.rb +22 -19
- data/lib/active_admin/views/components/table_for.rb +19 -24
- data/lib/active_admin/views/components/tabs.rb +10 -11
- data/lib/active_admin/views/index_as_table.rb +24 -97
- data/lib/active_admin.rb +7 -11
- 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 +18 -0
- 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 +46 -7
- data/lib/generators/active_admin/resource/templates/resource.rb.erb +42 -0
- data/lib/generators/active_admin/views_generator.rb +18 -0
- metadata +67 -214
- data/app/assets/javascripts/active_admin/base.js +0 -521
- 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/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/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/base_controller/authorization.rb +0 -0
- /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,59 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
|
5
|
-
# Arbre component used to render ActiveAdmin::MenuItem
|
6
|
-
class MenuItem < Component
|
7
|
-
builder_method :menu_item
|
8
|
-
attr_reader :label
|
9
|
-
attr_reader :url
|
10
|
-
attr_reader :priority
|
11
|
-
|
12
|
-
def build(item, options = {})
|
13
|
-
super(options.merge(id: item.id))
|
14
|
-
@label = helpers.render_in_context self, item.label
|
15
|
-
@url = helpers.render_in_context self, item.url
|
16
|
-
@priority = item.priority
|
17
|
-
@submenu = nil
|
18
|
-
|
19
|
-
add_class "current" if item.current? assigns[:current_tab]
|
20
|
-
|
21
|
-
if url
|
22
|
-
text_node link_to label, url, **item.html_options
|
23
|
-
else
|
24
|
-
span label, item.html_options
|
25
|
-
end
|
26
|
-
|
27
|
-
if item.items.any?
|
28
|
-
add_class "has_nested"
|
29
|
-
@submenu = menu(item)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def tag_name
|
34
|
-
"li"
|
35
|
-
end
|
36
|
-
|
37
|
-
# Sorts by priority first, then alphabetically by label if needed.
|
38
|
-
def <=>(other)
|
39
|
-
result = priority <=> other.priority
|
40
|
-
result == 0 ? label <=> other.label : result
|
41
|
-
end
|
42
|
-
|
43
|
-
def visible?
|
44
|
-
url.nil? || real_url? || @submenu && @submenu.children.any?
|
45
|
-
end
|
46
|
-
|
47
|
-
def to_s
|
48
|
-
visible? ? super : ""
|
49
|
-
end
|
50
|
-
|
51
|
-
private
|
52
|
-
|
53
|
-
# URL is not nil, empty, or '#'
|
54
|
-
def real_url?
|
55
|
-
url && url.present? && url != "#"
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
|
5
|
-
class Sidebar < Component
|
6
|
-
builder_method :sidebar
|
7
|
-
|
8
|
-
def build(sections, attributes = {})
|
9
|
-
super(attributes)
|
10
|
-
sections.map(&method(:sidebar_section))
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
|
5
|
-
class SidebarSection < Panel
|
6
|
-
builder_method :sidebar_section
|
7
|
-
|
8
|
-
# Takes a ActiveAdmin::SidebarSection instance
|
9
|
-
def build(section)
|
10
|
-
@section = section
|
11
|
-
super(@section.title)
|
12
|
-
add_class @section.custom_class if @section.custom_class
|
13
|
-
self.id = @section.id
|
14
|
-
build_sidebar_content
|
15
|
-
end
|
16
|
-
|
17
|
-
# Renders attributes_table_for current resource
|
18
|
-
def attributes_table(*args, &block)
|
19
|
-
attributes_table_for resource, *args, &block
|
20
|
-
end
|
21
|
-
|
22
|
-
protected
|
23
|
-
|
24
|
-
def build_sidebar_content
|
25
|
-
if @section.block
|
26
|
-
rvalue = instance_exec(&@section.block)
|
27
|
-
self << rvalue if rvalue.is_a?(String)
|
28
|
-
else
|
29
|
-
render(@section.partial_name)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
|
5
|
-
class SiteTitle < Component
|
6
|
-
|
7
|
-
def tag_name
|
8
|
-
"h1"
|
9
|
-
end
|
10
|
-
|
11
|
-
def build(namespace)
|
12
|
-
super(id: "site_title")
|
13
|
-
@namespace = namespace
|
14
|
-
|
15
|
-
if site_title_link?
|
16
|
-
text_node site_title_with_link
|
17
|
-
else
|
18
|
-
text_node site_title_content
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def site_title_link?
|
23
|
-
@namespace.site_title_link.present?
|
24
|
-
end
|
25
|
-
|
26
|
-
def site_title_image
|
27
|
-
@site_title_image ||= @namespace.site_title_image(helpers)
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
def site_title_with_link
|
33
|
-
helpers.link_to(site_title_content, @namespace.site_title_link)
|
34
|
-
end
|
35
|
-
|
36
|
-
def site_title_content
|
37
|
-
if site_title_image.present?
|
38
|
-
title_image
|
39
|
-
else
|
40
|
-
title_text
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def title_text
|
45
|
-
@title_text ||= @namespace.site_title(helpers)
|
46
|
-
end
|
47
|
-
|
48
|
-
def title_image
|
49
|
-
helpers.image_tag(site_title_image, id: "site_title_image", alt: title_text)
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
55
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
class UnsupportedBrowser < Component
|
5
|
-
def build
|
6
|
-
h1 I18n.t("active_admin.unsupported_browser.headline").html_safe
|
7
|
-
para I18n.t("active_admin.unsupported_browser.recommendation").html_safe
|
8
|
-
para I18n.t("active_admin.unsupported_browser.turn_off_compatibility_view").html_safe
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
class Footer < Component
|
5
|
-
|
6
|
-
def build(namespace)
|
7
|
-
super id: "footer"
|
8
|
-
@namespace = namespace
|
9
|
-
|
10
|
-
if footer_text.present?
|
11
|
-
para footer_text
|
12
|
-
else
|
13
|
-
para powered_by_message
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def footer_text
|
20
|
-
@footer_text ||= @namespace.footer(self)
|
21
|
-
end
|
22
|
-
|
23
|
-
def powered_by_message
|
24
|
-
I18n.t(
|
25
|
-
"active_admin.powered_by",
|
26
|
-
active_admin: link_to("Active Admin", "https://activeadmin.info"),
|
27
|
-
version: ActiveAdmin::VERSION).html_safe
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
class Header < Component
|
5
|
-
|
6
|
-
def build(namespace, menu)
|
7
|
-
super(id: "header")
|
8
|
-
|
9
|
-
@namespace = namespace
|
10
|
-
@menu = menu
|
11
|
-
@utility_menu = @namespace.fetch_menu(:utility_navigation)
|
12
|
-
|
13
|
-
site_title @namespace
|
14
|
-
global_navigation @menu, class: "header-item tabs"
|
15
|
-
utility_navigation @utility_menu, id: "utility_nav", class: "header-item tabs"
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
|
5
|
-
# # Index as a Block
|
6
|
-
#
|
7
|
-
# If you want to fully customize the display of your resources on the index
|
8
|
-
# screen, Index as a Block allows you to render a block of content for each
|
9
|
-
# resource.
|
10
|
-
#
|
11
|
-
# ```ruby
|
12
|
-
# index as: :block do |product|
|
13
|
-
# div for: product do
|
14
|
-
# resource_selection_cell product
|
15
|
-
# h2 auto_link product.title
|
16
|
-
# div simple_format product.description
|
17
|
-
# end
|
18
|
-
# end
|
19
|
-
# ```
|
20
|
-
#
|
21
|
-
class IndexAsBlock < ActiveAdmin::Component
|
22
|
-
|
23
|
-
def build(page_presenter, collection)
|
24
|
-
add_class "index"
|
25
|
-
resource_selection_toggle_panel if active_admin_config.batch_actions.any?
|
26
|
-
collection.each do |obj|
|
27
|
-
instance_exec(obj, &page_presenter.block)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def self.index_name
|
32
|
-
"block"
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,156 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
|
5
|
-
# # Index as Blog
|
6
|
-
#
|
7
|
-
# Render your index page as a set of posts. The post has two main options:
|
8
|
-
# title and body.
|
9
|
-
#
|
10
|
-
# ```ruby
|
11
|
-
# index as: :blog do
|
12
|
-
# title :my_title # Calls #my_title on each resource
|
13
|
-
# body :my_body # Calls #my_body on each resource
|
14
|
-
# end
|
15
|
-
# ```
|
16
|
-
#
|
17
|
-
# ## Post Title
|
18
|
-
#
|
19
|
-
# The title is the content that will be rendered within a link to the
|
20
|
-
# resource. There are two main ways to set the content for the title
|
21
|
-
#
|
22
|
-
# First, you can pass in a method to be called on your resource. For example:
|
23
|
-
#
|
24
|
-
# ```ruby
|
25
|
-
# index as: :blog do
|
26
|
-
# title :a_method_to_call
|
27
|
-
# end
|
28
|
-
# ```
|
29
|
-
#
|
30
|
-
# Second, you can pass a block to the tile option which will then be
|
31
|
-
# used as the contents of the title. The resource being rendered
|
32
|
-
# is passed in to the block. For Example:
|
33
|
-
#
|
34
|
-
# ```ruby
|
35
|
-
# index as: :blog do
|
36
|
-
# title do |post|
|
37
|
-
# span post.title, class: 'title'
|
38
|
-
# span post.created_at, class: 'created_at'
|
39
|
-
# end
|
40
|
-
# end
|
41
|
-
# ```
|
42
|
-
#
|
43
|
-
# ## Post Body
|
44
|
-
#
|
45
|
-
# The body is rendered underneath the title of each post. The same two
|
46
|
-
# style of options work as the Post Title above.
|
47
|
-
#
|
48
|
-
# Call a method on the resource as the body:
|
49
|
-
#
|
50
|
-
# ```ruby
|
51
|
-
# index as: :blog do
|
52
|
-
# title :my_title
|
53
|
-
# body :my_body
|
54
|
-
# end
|
55
|
-
# ```
|
56
|
-
#
|
57
|
-
# Or, render a block as the body:
|
58
|
-
#
|
59
|
-
# ```ruby
|
60
|
-
# index as: :blog do
|
61
|
-
# title :my_title
|
62
|
-
# body do |post|
|
63
|
-
# div truncate post.title
|
64
|
-
# div class: 'meta' do
|
65
|
-
# span "Post in #{post.categories.join(', ')}"
|
66
|
-
# end
|
67
|
-
# end
|
68
|
-
# end
|
69
|
-
# ```
|
70
|
-
#
|
71
|
-
class IndexAsBlog < ActiveAdmin::Component
|
72
|
-
|
73
|
-
def build(page_presenter, collection)
|
74
|
-
@page_presenter = page_presenter
|
75
|
-
@collection = collection
|
76
|
-
|
77
|
-
# Call the block passed in. This will set the
|
78
|
-
# title and body methods
|
79
|
-
instance_exec &page_presenter.block if page_presenter.block
|
80
|
-
|
81
|
-
add_class "index"
|
82
|
-
build_posts
|
83
|
-
end
|
84
|
-
|
85
|
-
# Setter method for the configuration of the title
|
86
|
-
def title(method = nil, &block)
|
87
|
-
if block_given? || method
|
88
|
-
@title = block_given? ? block : method
|
89
|
-
end
|
90
|
-
@title
|
91
|
-
end
|
92
|
-
|
93
|
-
# Setter method for the configuration of the body
|
94
|
-
#
|
95
|
-
def body(method = nil, &block)
|
96
|
-
if block_given? || method
|
97
|
-
@body = block_given? ? block : method
|
98
|
-
end
|
99
|
-
@body
|
100
|
-
end
|
101
|
-
|
102
|
-
def self.index_name
|
103
|
-
"blog"
|
104
|
-
end
|
105
|
-
|
106
|
-
private
|
107
|
-
|
108
|
-
def build_posts
|
109
|
-
resource_selection_toggle_panel if active_admin_config.batch_actions.any?
|
110
|
-
@collection.each do |post|
|
111
|
-
build_post(post)
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
def build_post(post)
|
116
|
-
div for: post do
|
117
|
-
resource_selection_cell(post) if active_admin_config.batch_actions.any?
|
118
|
-
build_title(post)
|
119
|
-
build_body(post)
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
def build_title(post)
|
124
|
-
if @title
|
125
|
-
h3 do
|
126
|
-
a(href: resource_path(post)) do
|
127
|
-
render_method_on_post_or_call_proc post, @title
|
128
|
-
end
|
129
|
-
end
|
130
|
-
else
|
131
|
-
h3 do
|
132
|
-
auto_link(post)
|
133
|
-
end
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
def build_body(post)
|
138
|
-
if @body
|
139
|
-
div class: "content" do
|
140
|
-
render_method_on_post_or_call_proc post, @body
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
144
|
-
|
145
|
-
def render_method_on_post_or_call_proc(post, proc)
|
146
|
-
case proc
|
147
|
-
when String, Symbol
|
148
|
-
post.public_send proc
|
149
|
-
else
|
150
|
-
instance_exec post, &proc
|
151
|
-
end
|
152
|
-
end
|
153
|
-
|
154
|
-
end # Posts
|
155
|
-
end
|
156
|
-
end
|
@@ -1,81 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
|
5
|
-
# # Index as a Grid
|
6
|
-
#
|
7
|
-
# Sometimes you want to display the index screen for a set of resources as a grid
|
8
|
-
# (possibly a grid of thumbnail images). To do so, use the :grid option for the
|
9
|
-
# index block.
|
10
|
-
#
|
11
|
-
# ```ruby
|
12
|
-
# index as: :grid do |product|
|
13
|
-
# link_to image_tag(product.image_path), admin_product_path(product)
|
14
|
-
# end
|
15
|
-
# ```
|
16
|
-
#
|
17
|
-
# The block is rendered within a cell in the grid once for each resource in the
|
18
|
-
# collection. The resource is passed into the block for you to use in the view.
|
19
|
-
#
|
20
|
-
# You can customize the number of columns that are rendered using the columns
|
21
|
-
# option:
|
22
|
-
#
|
23
|
-
# ```ruby
|
24
|
-
# index as: :grid, columns: 5 do |product|
|
25
|
-
# link_to image_tag(product.image_path), admin_product_path(product)
|
26
|
-
# end
|
27
|
-
# ```
|
28
|
-
#
|
29
|
-
class IndexAsGrid < ActiveAdmin::Component
|
30
|
-
|
31
|
-
def build(page_presenter, collection)
|
32
|
-
@page_presenter = page_presenter
|
33
|
-
@collection = collection.to_a
|
34
|
-
add_class "index"
|
35
|
-
build_table
|
36
|
-
end
|
37
|
-
|
38
|
-
def number_of_columns
|
39
|
-
@page_presenter[:columns] || default_number_of_columns
|
40
|
-
end
|
41
|
-
|
42
|
-
def self.index_name
|
43
|
-
"grid"
|
44
|
-
end
|
45
|
-
|
46
|
-
protected
|
47
|
-
|
48
|
-
def build_table
|
49
|
-
resource_selection_toggle_panel if active_admin_config.batch_actions.any?
|
50
|
-
table class: "index_grid" do
|
51
|
-
@collection.in_groups_of(number_of_columns).each do |group|
|
52
|
-
build_row(group)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def build_row(group)
|
58
|
-
tr do
|
59
|
-
group.each do |item|
|
60
|
-
item ? build_item(item) : build_empty_cell
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def build_item(item)
|
66
|
-
td for: item do
|
67
|
-
instance_exec(item, &@page_presenter.block)
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
def build_empty_cell
|
72
|
-
td " ".html_safe
|
73
|
-
end
|
74
|
-
|
75
|
-
def default_number_of_columns
|
76
|
-
3
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,134 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
module Pages
|
5
|
-
class Base < Arbre::HTML::Document
|
6
|
-
|
7
|
-
def build(*args)
|
8
|
-
set_attribute :lang, I18n.locale
|
9
|
-
build_active_admin_head
|
10
|
-
build_page
|
11
|
-
end
|
12
|
-
|
13
|
-
alias_method :html_title, :title # Arbre::HTML::Title
|
14
|
-
def title
|
15
|
-
self.class.name
|
16
|
-
end
|
17
|
-
|
18
|
-
def main_content
|
19
|
-
I18n.t("active_admin.main_content", model: title).html_safe
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
delegate :active_admin_config, :controller, :params, to: :helpers
|
25
|
-
|
26
|
-
def build_active_admin_head
|
27
|
-
within head do
|
28
|
-
html_title [title, helpers.active_admin_namespace.site_title(self)].compact.join(" | ")
|
29
|
-
|
30
|
-
text_node(active_admin_namespace.head)
|
31
|
-
|
32
|
-
active_admin_application.stylesheets.each do |style, options|
|
33
|
-
stylesheet_tag = active_admin_namespace.use_webpacker ? stylesheet_pack_tag(style, **options) : stylesheet_link_tag(style, **options)
|
34
|
-
text_node(stylesheet_tag.html_safe) if stylesheet_tag
|
35
|
-
end
|
36
|
-
|
37
|
-
active_admin_namespace.meta_tags.each do |name, content|
|
38
|
-
text_node(meta(name: name, content: content))
|
39
|
-
end
|
40
|
-
|
41
|
-
active_admin_application.javascripts.each do |path, options|
|
42
|
-
javascript_tag = active_admin_namespace.use_webpacker ? javascript_pack_tag(path, **options) : javascript_include_tag(path, **options)
|
43
|
-
text_node(javascript_tag)
|
44
|
-
end
|
45
|
-
|
46
|
-
if active_admin_namespace.favicon
|
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)
|
50
|
-
end
|
51
|
-
|
52
|
-
text_node csrf_meta_tags
|
53
|
-
text_node csp_meta_tag
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def build_page
|
58
|
-
within body(class: body_classes) do
|
59
|
-
div id: "wrapper" do
|
60
|
-
build_unsupported_browser
|
61
|
-
header active_admin_namespace, current_menu
|
62
|
-
title_bar title, action_items_for_action
|
63
|
-
build_page_content
|
64
|
-
footer active_admin_namespace
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
def body_classes
|
70
|
-
Arbre::HTML::ClassList.new [
|
71
|
-
params[:action],
|
72
|
-
params[:controller].tr("/", "_"),
|
73
|
-
"active_admin", "logged_in",
|
74
|
-
active_admin_namespace.name.to_s + "_namespace"
|
75
|
-
]
|
76
|
-
end
|
77
|
-
|
78
|
-
def build_unsupported_browser
|
79
|
-
if active_admin_namespace.unsupported_browser_matcher =~ controller.request.user_agent
|
80
|
-
unsupported_browser
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
def build_page_content
|
85
|
-
build_flash_messages
|
86
|
-
div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
|
87
|
-
build_main_content_wrapper
|
88
|
-
sidebar sidebar_sections_for_action, id: "sidebar" unless skip_sidebar?
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
def build_flash_messages
|
93
|
-
div class: "flashes" do
|
94
|
-
flash_messages.each do |type, messages|
|
95
|
-
[*messages].each do |message|
|
96
|
-
div message, class: "flash flash_#{type}"
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
def build_main_content_wrapper
|
103
|
-
div id: "main_content_wrapper" do
|
104
|
-
div id: "main_content" do
|
105
|
-
main_content
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
# Returns the sidebar sections to render for the current action
|
111
|
-
def sidebar_sections_for_action
|
112
|
-
if active_admin_config && active_admin_config.sidebar_sections?
|
113
|
-
active_admin_config.sidebar_sections_for(params[:action], self)
|
114
|
-
else
|
115
|
-
[]
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
def action_items_for_action
|
120
|
-
if active_admin_config && active_admin_config.action_items?
|
121
|
-
active_admin_config.action_items_for(params[:action], self)
|
122
|
-
else
|
123
|
-
[]
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
def skip_sidebar?
|
128
|
-
sidebar_sections_for_action.empty? || assigns[:skip_sidebar] == true
|
129
|
-
end
|
130
|
-
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module ActiveAdmin
|
3
|
-
module Views
|
4
|
-
module Pages
|
5
|
-
|
6
|
-
class Form < Base
|
7
|
-
|
8
|
-
def title
|
9
|
-
if form_presenter[:title]
|
10
|
-
helpers.render_or_call_method_or_proc_on(resource, form_presenter[:title])
|
11
|
-
else
|
12
|
-
assigns[:page_title] || ActiveAdmin::Localizers.resource(active_admin_config).t("#{normalized_action}_model")
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def form_presenter
|
17
|
-
active_admin_config.get_page_presenter(:form) || default_form_config
|
18
|
-
end
|
19
|
-
|
20
|
-
def main_content
|
21
|
-
options = default_form_options.merge form_presenter.options
|
22
|
-
|
23
|
-
if options[:partial]
|
24
|
-
render options[:partial]
|
25
|
-
else
|
26
|
-
active_admin_form_for resource, options, &form_presenter.block
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
def default_form_options
|
33
|
-
{
|
34
|
-
url: default_form_path,
|
35
|
-
as: active_admin_config.param_key
|
36
|
-
}
|
37
|
-
end
|
38
|
-
|
39
|
-
def default_form_path
|
40
|
-
resource.persisted? ? resource_path(resource) : collection_path
|
41
|
-
end
|
42
|
-
|
43
|
-
def default_form_config
|
44
|
-
ActiveAdmin::PagePresenter.new do |f|
|
45
|
-
f.semantic_errors # show errors on :base by default
|
46
|
-
f.inputs
|
47
|
-
f.actions
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
def normalized_action
|
52
|
-
case params[:action]
|
53
|
-
when "create"
|
54
|
-
"new"
|
55
|
-
when "update"
|
56
|
-
"edit"
|
57
|
-
else
|
58
|
-
params[:action]
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|