activeadmin 3.2.0 → 4.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +2 -22
- data/CONTRIBUTING.md +25 -108
- data/README.md +17 -30
- 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/resource/action_items.rb +15 -20
- 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 +20 -16
- 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 -201
- 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 -316
- 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 -151
- 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 -55
- 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 -67
- data/app/assets/stylesheets/active_admin/components/_tables.scss +0 -112
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +0 -65
- 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 -40
- 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 -41
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +0 -48
- data/vendor/assets/javascripts/jquery-ui/escape-selector.js +0 -23
- data/vendor/assets/javascripts/jquery-ui/focusable.js +0 -86
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +0 -80
- data/vendor/assets/javascripts/jquery-ui/form.js +0 -22
- data/vendor/assets/javascripts/jquery-ui/ie.js +0 -17
- data/vendor/assets/javascripts/jquery-ui/keycode.js +0 -47
- data/vendor/assets/javascripts/jquery-ui/labels.js +0 -65
- data/vendor/assets/javascripts/jquery-ui/plugin.js +0 -46
- data/vendor/assets/javascripts/jquery-ui/position.js +0 -500
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -42
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -23
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +0 -47
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +0 -38
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +0 -51
- data/vendor/assets/javascripts/jquery-ui/version.js +0 -17
- data/vendor/assets/javascripts/jquery-ui/widget.js +0 -735
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +0 -391
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +0 -291
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +0 -300
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +0 -2123
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +0 -954
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +0 -1259
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +0 -230
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +0 -1207
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +0 -1561
- 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
|