activeadmin 1.2.1 → 2.13.1
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 +5 -5
- data/CHANGELOG.md +769 -132
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +83 -61
- data/README.md +73 -19
- data/app/assets/javascripts/active_admin/base.js +524 -0
- data/app/assets/stylesheets/active_admin/_base.scss +53 -37
- data/app/assets/stylesheets/active_admin/_forms.scss +3 -25
- data/app/assets/stylesheets/active_admin/_header.scss +40 -8
- data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
- data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
- data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
- data/app/javascript/active_admin/base.js +28 -0
- data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
- data/app/javascript/active_admin/ext/jquery.js +9 -0
- data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
- data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/datepicker.js +16 -0
- data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
- data/app/javascript/active_admin/initializers/filters.js +10 -0
- data/app/javascript/active_admin/initializers/has-many.js +98 -0
- data/app/javascript/active_admin/initializers/per-page.js +13 -0
- data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/tabs.js +6 -0
- data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
- data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
- data/app/javascript/active_admin/lib/filters.js +39 -0
- data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
- data/app/javascript/active_admin/lib/per-page.js +38 -0
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
- data/app/javascript/active_admin/lib/utils.js +40 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
- data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/active_admin/devise/shared/_links.erb +1 -1
- data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -0
- data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
- data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
- data/app/views/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +17 -7
- data/config/locales/ar.yml +9 -8
- data/config/locales/az.yml +138 -0
- data/config/locales/bg.yml +1 -1
- data/config/locales/bs.yml +1 -0
- data/config/locales/ca.yml +1 -1
- data/config/locales/cs.yml +1 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/de-CH.yml +1 -0
- data/config/locales/de.yml +29 -0
- data/config/locales/el.yml +1 -0
- data/config/locales/en-CA.yml +4 -3
- data/config/locales/en-GB.yml +4 -3
- data/config/locales/en.yml +23 -4
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +3 -1
- data/config/locales/es.yml +26 -6
- data/config/locales/fa.yml +1 -0
- data/config/locales/fi.yml +2 -1
- data/config/locales/fr.yml +6 -5
- data/config/locales/he.yml +1 -1
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +5 -0
- data/config/locales/id.yml +1 -0
- data/config/locales/it.yml +23 -0
- data/config/locales/ja.yml +4 -3
- data/config/locales/ko.yml +2 -1
- data/config/locales/lt.yml +3 -2
- data/config/locales/lv.yml +3 -2
- data/config/locales/mk.yml +134 -0
- data/config/locales/nb.yml +16 -5
- data/config/locales/nl.yml +13 -1
- data/config/locales/pl.yml +72 -3
- data/config/locales/pt-BR.yml +1 -0
- data/config/locales/pt-PT.yml +1 -0
- data/config/locales/ro.yml +4 -2
- data/config/locales/ru.yml +3 -0
- data/config/locales/sk.yml +60 -0
- data/config/locales/sv-SE.yml +1 -0
- data/config/locales/tr.yml +10 -0
- data/config/locales/uk.yml +3 -0
- data/config/locales/vi.yml +7 -5
- data/config/locales/zh-CN.yml +34 -5
- data/config/locales/zh-TW.yml +1 -0
- data/docs/.gitignore +1 -0
- data/docs/0-installation.md +29 -5
- data/docs/1-general-configuration.md +36 -1
- data/docs/10-custom-pages.md +14 -0
- data/docs/11-decorators.md +16 -5
- data/docs/12-arbre-components.md +41 -1
- data/docs/13-authorization-adapter.md +41 -22
- data/docs/2-resource-customization.md +19 -5
- data/docs/3-index-pages/custom-index.md +1 -1
- data/docs/3-index-pages/index-as-blog.md +1 -1
- data/docs/3-index-pages/index-as-table.md +12 -5
- data/docs/3-index-pages.md +18 -1
- data/docs/5-forms.md +25 -5
- data/docs/6-show-pages.md +12 -0
- data/docs/8-custom-actions.md +12 -1
- data/docs/9-batch-actions.md +2 -2
- data/docs/CNAME +1 -1
- data/docs/Gemfile +4 -2
- data/docs/Gemfile.lock +283 -0
- data/docs/_config.yml +3 -1
- data/docs/_includes/toc.html +1 -1
- data/docs/_includes/top-menu.html +9 -1
- data/docs/documentation.md +2 -2
- data/docs/images/tidelift.svg +14 -0
- data/docs/index.html +110 -9
- data/docs/stylesheets/main.css +55 -2
- data/lib/active_admin/abstract_view_factory.rb +14 -51
- data/lib/active_admin/application.rb +65 -172
- data/lib/active_admin/application_settings.rb +43 -0
- data/lib/active_admin/asset_registration.rb +1 -8
- data/lib/active_admin/authorization_adapter.rb +4 -3
- data/lib/active_admin/base_controller/authorization.rb +18 -18
- data/lib/active_admin/base_controller/menu.rb +1 -0
- data/lib/active_admin/base_controller.rb +12 -11
- data/lib/active_admin/batch_actions/controller.rb +6 -5
- data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
- data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
- data/lib/active_admin/batch_actions.rb +1 -0
- data/lib/active_admin/callbacks.rb +2 -1
- data/lib/active_admin/cancan_adapter.rb +2 -1
- data/lib/active_admin/collection_decorator.rb +32 -0
- data/lib/active_admin/component.rb +1 -0
- data/lib/active_admin/controller_action.rb +3 -1
- data/lib/active_admin/csv_builder.rb +15 -23
- data/lib/active_admin/dependency.rb +14 -77
- data/lib/active_admin/deprecation.rb +1 -25
- data/lib/active_admin/devise.rb +16 -5
- data/lib/active_admin/dsl.rb +3 -9
- data/lib/active_admin/dynamic_setting.rb +39 -0
- data/lib/active_admin/dynamic_settings_node.rb +29 -0
- data/lib/active_admin/engine.rb +16 -7
- data/lib/active_admin/error.rb +5 -4
- data/lib/active_admin/filters/active.rb +2 -1
- data/lib/active_admin/filters/active_filter.rb +12 -11
- data/lib/active_admin/filters/active_sidebar.rb +8 -30
- data/lib/active_admin/filters/dsl.rb +1 -0
- data/lib/active_admin/filters/forms.rb +13 -9
- data/lib/active_admin/filters/formtastic_addons.rb +3 -7
- data/lib/active_admin/filters/resource_extension.rb +30 -5
- data/lib/active_admin/filters.rb +8 -7
- data/lib/active_admin/form_builder.rb +110 -70
- data/lib/active_admin/generators/boilerplate.rb +13 -4
- data/lib/active_admin/helpers/collection.rb +2 -0
- data/lib/active_admin/helpers/i18n.rb +1 -0
- data/lib/active_admin/helpers/optional_display.rb +3 -2
- data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
- data/lib/active_admin/helpers/scope_chain.rb +2 -0
- data/lib/active_admin/inputs/datepicker_input.rb +10 -2
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
- data/lib/active_admin/inputs/filters/base.rb +2 -1
- data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
- data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +16 -12
- data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
- data/lib/active_admin/inputs/filters/select_input.rb +3 -2
- data/lib/active_admin/inputs/filters/string_input.rb +1 -0
- data/lib/active_admin/inputs/filters/text_input.rb +1 -0
- data/lib/active_admin/inputs.rb +1 -0
- data/lib/active_admin/localizers/resource_localizer.rb +4 -3
- data/lib/active_admin/localizers.rb +2 -1
- data/lib/active_admin/menu.rb +9 -11
- data/lib/active_admin/menu_collection.rb +1 -0
- data/lib/active_admin/menu_item.rb +11 -38
- data/lib/active_admin/namespace.rb +33 -20
- data/lib/active_admin/namespace_settings.rb +127 -0
- data/lib/active_admin/order_clause.rb +4 -3
- data/lib/active_admin/orm/active_record/comments/comment.rb +5 -4
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +30 -24
- data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
- data/lib/active_admin/orm/active_record/comments.rb +35 -23
- data/lib/active_admin/orm/active_record.rb +2 -1
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/page.rb +2 -1
- data/lib/active_admin/page_controller.rb +1 -0
- data/lib/active_admin/page_dsl.rb +2 -1
- data/lib/active_admin/page_presenter.rb +3 -1
- data/lib/active_admin/pundit_adapter.rb +73 -16
- data/lib/active_admin/resource/action_items.rb +12 -6
- data/lib/active_admin/resource/attributes.rb +9 -5
- data/lib/active_admin/resource/belongs_to.rb +9 -3
- data/lib/active_admin/resource/controllers.rb +2 -1
- data/lib/active_admin/resource/includes.rb +1 -0
- data/lib/active_admin/resource/menu.rb +6 -5
- data/lib/active_admin/resource/model.rb +16 -0
- data/lib/active_admin/resource/naming.rb +6 -5
- data/lib/active_admin/resource/ordering.rb +1 -0
- data/lib/active_admin/resource/page_presenters.rb +1 -0
- data/lib/active_admin/resource/pagination.rb +1 -0
- data/lib/active_admin/resource/routes.rb +26 -14
- data/lib/active_admin/resource/scope_to.rb +8 -7
- data/lib/active_admin/resource/scopes.rb +4 -3
- data/lib/active_admin/resource/sidebars.rb +3 -2
- data/lib/active_admin/resource.rb +37 -22
- data/lib/active_admin/resource_collection.rb +3 -2
- data/lib/active_admin/resource_controller/action_builder.rb +11 -0
- data/lib/active_admin/resource_controller/data_access.rb +31 -5
- data/lib/active_admin/resource_controller/decorators.rb +10 -31
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
- data/lib/active_admin/resource_controller/scoping.rb +2 -1
- data/lib/active_admin/resource_controller/sidebars.rb +1 -0
- data/lib/active_admin/resource_controller/streaming.rb +9 -7
- data/lib/active_admin/resource_controller.rb +14 -10
- data/lib/active_admin/resource_dsl.rb +16 -28
- data/lib/active_admin/router.rb +91 -84
- data/lib/active_admin/scope.rb +20 -11
- data/lib/active_admin/settings_node.rb +20 -0
- data/lib/active_admin/sidebar_section.rb +4 -1
- data/lib/active_admin/version.rb +2 -1
- data/lib/active_admin/view_factory.rb +18 -17
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +1 -0
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
- data/lib/active_admin/view_helpers/display_helper.rb +25 -8
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
- data/lib/active_admin/view_helpers/fields_for.rb +3 -2
- data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
- data/lib/active_admin/view_helpers/form_helper.rb +1 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +4 -0
- data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
- data/lib/active_admin/view_helpers/title_helper.rb +1 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
- data/lib/active_admin/view_helpers.rb +2 -1
- data/lib/active_admin/views/action_items.rb +1 -0
- data/lib/active_admin/views/components/active_admin_form.rb +14 -8
- data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
- data/lib/active_admin/views/components/attributes_table.rb +9 -8
- data/lib/active_admin/views/components/blank_slate.rb +2 -1
- data/lib/active_admin/views/components/columns.rb +1 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
- data/lib/active_admin/views/components/index_list.rb +4 -3
- data/lib/active_admin/views/components/menu.rb +33 -0
- data/lib/active_admin/views/components/menu_item.rb +59 -0
- data/lib/active_admin/views/components/paginated_collection.rb +22 -20
- data/lib/active_admin/views/components/panel.rb +2 -1
- data/lib/active_admin/views/components/scopes.rb +18 -8
- data/lib/active_admin/views/components/sidebar.rb +14 -0
- data/lib/active_admin/views/components/sidebar_section.rb +1 -3
- data/lib/active_admin/views/components/site_title.rb +7 -7
- data/lib/active_admin/views/components/status_tag.rb +14 -26
- data/lib/active_admin/views/components/table_for.rb +22 -29
- data/lib/active_admin/views/components/tabs.rb +18 -5
- data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
- data/lib/active_admin/views/footer.rb +6 -8
- data/lib/active_admin/views/header.rb +4 -15
- data/lib/active_admin/views/index_as_block.rb +1 -0
- data/lib/active_admin/views/index_as_blog.rb +3 -2
- data/lib/active_admin/views/index_as_grid.rb +27 -26
- data/lib/active_admin/views/index_as_table.rb +34 -25
- data/lib/active_admin/views/pages/base.rb +44 -60
- data/lib/active_admin/views/pages/form.rb +1 -0
- data/lib/active_admin/views/pages/index.rb +16 -13
- data/lib/active_admin/views/pages/layout.rb +1 -0
- data/lib/active_admin/views/pages/page.rb +1 -0
- data/lib/active_admin/views/pages/show.rb +1 -0
- data/lib/active_admin/views/tabbed_navigation.rb +5 -59
- data/lib/active_admin/views/title_bar.rb +2 -1
- data/lib/active_admin/views.rb +2 -1
- data/lib/active_admin.rb +68 -63
- data/lib/activeadmin.rb +2 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
- data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
- data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
- data/lib/generators/active_admin/install/install_generator.rb +19 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
- data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
- data/lib/generators/active_admin/page/page_generator.rb +2 -1
- data/lib/generators/active_admin/page/templates/page.rb +1 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
- data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
- data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
- data/lib/ransack_ext.rb +10 -9
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
- data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
- data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
- metadata +122 -559
- data/.github/ISSUE_TEMPLATE.md +0 -20
- data/.gitignore +0 -49
- data/.mdlrc +0 -1
- data/.rubocop.yml +0 -76
- data/.simplecov +0 -13
- data/.travis.yml +0 -49
- data/.yardopts +0 -7
- data/Gemfile +0 -58
- data/Rakefile +0 -54
- data/activeadmin.gemspec +0 -32
- data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
- data/app/assets/images/active_admin/orderable.png +0 -0
- data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
- data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
- data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
- data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
- data/codecov.yml +0 -25
- data/config/i18n-tasks.yml +0 -26
- data/config/mdl_style.rb +0 -9
- data/cucumber.yml +0 -3
- data/features/action_item.feature +0 -73
- data/features/authorization.feature +0 -64
- data/features/authorization_cancan.feature +0 -52
- data/features/authorization_pundit.feature +0 -37
- data/features/belongs_to.feature +0 -124
- data/features/breadcrumb.feature +0 -75
- data/features/comments/commenting.feature +0 -178
- data/features/comments/viewing_index.feature +0 -19
- data/features/create_another.feature +0 -55
- data/features/dashboard.feature +0 -16
- data/features/decorators.feature +0 -43
- data/features/development_reloading.feature +0 -28
- data/features/edit_page.feature +0 -116
- data/features/favicon.feature +0 -20
- data/features/first_boot.feature +0 -16
- data/features/footer.feature +0 -28
- data/features/global_navigation.feature +0 -29
- data/features/i18n.feature +0 -55
- data/features/index/batch_actions.feature +0 -218
- data/features/index/filters.feature +0 -250
- data/features/index/format_as_csv.feature +0 -220
- data/features/index/formats.feature +0 -88
- data/features/index/index_as_block.feature +0 -15
- data/features/index/index_as_blog.feature +0 -69
- data/features/index/index_as_grid.feature +0 -45
- data/features/index/index_as_table.feature +0 -291
- data/features/index/index_blank_slate.feature +0 -83
- data/features/index/index_parameters.feature +0 -75
- data/features/index/index_scope_to.feature +0 -56
- data/features/index/index_scopes.feature +0 -285
- data/features/index/page_title.feature +0 -41
- data/features/index/pagination.feature +0 -63
- data/features/index/switch_index_view.feature +0 -73
- data/features/menu.feature +0 -72
- data/features/meta_tags.feature +0 -21
- data/features/new_page.feature +0 -136
- data/features/registering_assets.feature +0 -38
- data/features/registering_pages.feature +0 -237
- data/features/registering_resources.feature +0 -33
- data/features/renamed_resource.feature +0 -30
- data/features/root_to.feature +0 -17
- data/features/show/attributes_table_title.feature +0 -54
- data/features/show/columns.feature +0 -40
- data/features/show/default_content.feature +0 -44
- data/features/show/page_title.feature +0 -58
- data/features/show/tabs.feature +0 -33
- data/features/sidebar_sections.feature +0 -210
- data/features/site_title.feature +0 -47
- data/features/specifying_actions.feature +0 -118
- data/features/step_definitions/action_item_steps.rb +0 -7
- data/features/step_definitions/action_link_steps.rb +0 -19
- data/features/step_definitions/additional_web_steps.rb +0 -81
- data/features/step_definitions/asset_steps.rb +0 -15
- data/features/step_definitions/attribute_steps.rb +0 -18
- data/features/step_definitions/attributes_table_title_steps.rb +0 -11
- data/features/step_definitions/batch_action_steps.rb +0 -81
- data/features/step_definitions/blog_steps.rb +0 -3
- data/features/step_definitions/breadcrumb_steps.rb +0 -3
- data/features/step_definitions/column_steps.rb +0 -8
- data/features/step_definitions/comment_steps.rb +0 -32
- data/features/step_definitions/configuration_steps.rb +0 -100
- data/features/step_definitions/dashboard_steps.rb +0 -15
- data/features/step_definitions/factory_steps.rb +0 -35
- data/features/step_definitions/filter_steps.rb +0 -47
- data/features/step_definitions/flash_steps.rb +0 -11
- data/features/step_definitions/footer_steps.rb +0 -11
- data/features/step_definitions/format_steps.rb +0 -56
- data/features/step_definitions/i18n_steps.rb +0 -11
- data/features/step_definitions/index_scope_steps.rb +0 -29
- data/features/step_definitions/index_views_steps.rb +0 -3
- data/features/step_definitions/layout_steps.rb +0 -3
- data/features/step_definitions/member_link_steps.rb +0 -7
- data/features/step_definitions/menu_steps.rb +0 -11
- data/features/step_definitions/meta_tag_steps.rb +0 -3
- data/features/step_definitions/pagination_steps.rb +0 -15
- data/features/step_definitions/sidebar_steps.rb +0 -11
- data/features/step_definitions/site_title_steps.rb +0 -17
- data/features/step_definitions/tab_steps.rb +0 -8
- data/features/step_definitions/table_steps.rb +0 -116
- data/features/step_definitions/user_steps.rb +0 -52
- data/features/step_definitions/web_steps.rb +0 -86
- data/features/sti_resource.feature +0 -65
- data/features/strong_parameters.feature +0 -69
- data/features/support/env.rb +0 -122
- data/features/support/paths.rb +0 -73
- data/features/support/regular_env.rb +0 -7
- data/features/support/reload_env.rb +0 -7
- data/features/support/selectors.rb +0 -45
- data/features/users/logging_in.feature +0 -36
- data/features/users/logging_out.feature +0 -13
- data/features/users/resetting_password.feature +0 -34
- data/gemfiles/rails_42.gemfile +0 -10
- data/gemfiles/rails_50.gemfile +0 -10
- data/gemfiles/rails_51.gemfile +0 -10
- data/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
- data/lib/active_admin/helpers/settings.rb +0 -114
- data/lib/active_admin/reloader.rb +0 -25
- data/lib/bug_report_templates/active_admin_master.rb +0 -112
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
- data/spec/bug_report_templates_spec.rb +0 -26
- data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
- data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
- data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
- data/spec/javascripts/fixtures/checkboxes.html +0 -9
- data/spec/javascripts/fixtures/flashes.html +0 -2
- data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
- data/spec/javascripts/helpers/SpecHelper.js +0 -3
- data/spec/javascripts/support/jasmine.yml +0 -74
- data/spec/javascripts/support/jasmine_runner.rb +0 -19
- data/spec/rails_helper.rb +0 -59
- data/spec/requests/default_namespace_spec.rb +0 -81
- data/spec/requests/memory_spec.rb +0 -25
- data/spec/requests/stylesheets_spec.rb +0 -18
- data/spec/spec_helper.rb +0 -1
- data/spec/support/active_admin_integration_spec_helper.rb +0 -73
- data/spec/support/active_admin_request_helpers.rb +0 -39
- data/spec/support/rails_template.rb +0 -153
- data/spec/support/rails_template_with_data.rb +0 -327
- data/spec/support/templates/admin/stores.rb +0 -7
- data/spec/support/templates/en.yml +0 -8
- data/spec/support/templates/manifest.js +0 -3
- data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
- data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
- data/spec/support/templates/policies/admin_user_policy.rb +0 -11
- data/spec/support/templates/policies/application_policy.rb +0 -44
- data/spec/support/templates/policies/category_policy.rb +0 -7
- data/spec/support/templates/policies/post_policy.rb +0 -15
- data/spec/support/templates/policies/store_policy.rb +0 -11
- data/spec/support/templates/policies/user_policy.rb +0 -11
- data/spec/support/templates/post_decorator.rb +0 -24
- data/spec/unit/abstract_view_factory_spec.rb +0 -78
- data/spec/unit/action_builder_spec.rb +0 -158
- data/spec/unit/active_admin_spec.rb +0 -11
- data/spec/unit/application_spec.rb +0 -184
- data/spec/unit/asset_registration_spec.rb +0 -81
- data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
- data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
- data/spec/unit/authorization/index_overriding_spec.rb +0 -23
- data/spec/unit/auto_link_spec.rb +0 -93
- data/spec/unit/batch_actions/resource_spec.rb +0 -84
- data/spec/unit/batch_actions/settings_spec.rb +0 -61
- data/spec/unit/belongs_to_spec.rb +0 -76
- data/spec/unit/cancan_adapter_spec.rb +0 -43
- data/spec/unit/comments_spec.rb +0 -176
- data/spec/unit/component_spec.rb +0 -18
- data/spec/unit/config_shared_examples.rb +0 -59
- data/spec/unit/controller_filters_spec.rb +0 -41
- data/spec/unit/csv_builder_spec.rb +0 -313
- data/spec/unit/dependency_spec.rb +0 -135
- data/spec/unit/devise_spec.rb +0 -110
- data/spec/unit/dsl_spec.rb +0 -120
- data/spec/unit/filters/active_filter_spec.rb +0 -189
- data/spec/unit/filters/active_spec.rb +0 -24
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
- data/spec/unit/filters/resource_spec.rb +0 -128
- data/spec/unit/form_builder_spec.rb +0 -990
- data/spec/unit/generators/install_spec.rb +0 -31
- data/spec/unit/helpers/collection_spec.rb +0 -68
- data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
- data/spec/unit/helpers/scope_chain_spec.rb +0 -35
- data/spec/unit/helpers/settings_spec.rb +0 -30
- data/spec/unit/i18n_spec.rb +0 -29
- data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
- data/spec/unit/menu_collection_spec.rb +0 -62
- data/spec/unit/menu_item_spec.rb +0 -141
- data/spec/unit/menu_spec.rb +0 -71
- data/spec/unit/namespace/authorization_spec.rb +0 -27
- data/spec/unit/namespace/register_page_spec.rb +0 -99
- data/spec/unit/namespace/register_resource_spec.rb +0 -162
- data/spec/unit/namespace_spec.rb +0 -124
- data/spec/unit/order_clause_spec.rb +0 -81
- data/spec/unit/page_controller_spec.rb +0 -5
- data/spec/unit/page_spec.rb +0 -128
- data/spec/unit/pretty_format_spec.rb +0 -82
- data/spec/unit/pundit_adapter_spec.rb +0 -98
- data/spec/unit/resource/action_items_spec.rb +0 -69
- data/spec/unit/resource/attributes_spec.rb +0 -49
- data/spec/unit/resource/includes_spec.rb +0 -21
- data/spec/unit/resource/menu_spec.rb +0 -18
- data/spec/unit/resource/naming_spec.rb +0 -122
- data/spec/unit/resource/ordering_spec.rb +0 -35
- data/spec/unit/resource/page_presenters_spec.rb +0 -44
- data/spec/unit/resource/pagination_spec.rb +0 -38
- data/spec/unit/resource/routes_spec.rb +0 -125
- data/spec/unit/resource/scopes_spec.rb +0 -50
- data/spec/unit/resource/sidebars_spec.rb +0 -43
- data/spec/unit/resource_collection_spec.rb +0 -175
- data/spec/unit/resource_controller/data_access_spec.rb +0 -234
- data/spec/unit/resource_controller/decorators_spec.rb +0 -94
- data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
- data/spec/unit/resource_controller_spec.rb +0 -273
- data/spec/unit/resource_registration_spec.rb +0 -61
- data/spec/unit/resource_spec.rb +0 -320
- data/spec/unit/routing_spec.rb +0 -211
- data/spec/unit/scope_spec.rb +0 -209
- data/spec/unit/settings_spec.rb +0 -117
- data/spec/unit/view_factory_spec.rb +0 -19
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
- data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
- data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
- data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
- data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
- data/spec/unit/views/components/attributes_table_spec.rb +0 -271
- data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
- data/spec/unit/views/components/blank_slate_spec.rb +0 -27
- data/spec/unit/views/components/columns_spec.rb +0 -187
- data/spec/unit/views/components/index_list_spec.rb +0 -49
- data/spec/unit/views/components/index_table_for_spec.rb +0 -127
- data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
- data/spec/unit/views/components/panel_spec.rb +0 -58
- data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
- data/spec/unit/views/components/site_title_spec.rb +0 -76
- data/spec/unit/views/components/status_tag_spec.rb +0 -265
- data/spec/unit/views/components/table_for_spec.rb +0 -436
- data/spec/unit/views/components/tabs_spec.rb +0 -67
- data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
- data/spec/unit/views/index_as_blog_spec.rb +0 -76
- data/spec/unit/views/pages/form_spec.rb +0 -54
- data/spec/unit/views/pages/index_spec.rb +0 -60
- data/spec/unit/views/pages/layout_spec.rb +0 -59
- data/spec/unit/views/pages/show_spec.rb +0 -32
- data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
- data/tasks/docs.rake +0 -64
- data/tasks/lint.rake +0 -21
- data/tasks/local.rake +0 -25
- data/tasks/parallel_tests.rake +0 -66
- data/tasks/test.rake +0 -29
@@ -1,30 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
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
|
+
#
|
28
29
|
class IndexAsGrid < ActiveAdmin::Component
|
29
30
|
|
30
31
|
def build(page_presenter, collection)
|
@@ -42,7 +43,7 @@ module ActiveAdmin
|
|
42
43
|
"grid"
|
43
44
|
end
|
44
45
|
|
45
|
-
|
46
|
+
protected
|
46
47
|
|
47
48
|
def build_table
|
48
49
|
resource_selection_toggle_panel if active_admin_config.batch_actions.any?
|
@@ -68,7 +69,7 @@ module ActiveAdmin
|
|
68
69
|
end
|
69
70
|
|
70
71
|
def build_empty_cell
|
71
|
-
td
|
72
|
+
td " ".html_safe
|
72
73
|
end
|
73
74
|
|
74
75
|
def default_number_of_columns
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
|
@@ -110,7 +111,8 @@ module ActiveAdmin
|
|
110
111
|
# end
|
111
112
|
# ```
|
112
113
|
#
|
113
|
-
# In addition, you can insert the position of the row in the greater
|
114
|
+
# In addition, you can insert the position of the row in the greater
|
115
|
+
# collection by using the index_column special command:
|
114
116
|
#
|
115
117
|
# ```ruby
|
116
118
|
# index do
|
@@ -120,7 +122,8 @@ module ActiveAdmin
|
|
120
122
|
# end
|
121
123
|
# ```
|
122
124
|
#
|
123
|
-
# index_column take an optional offset parameter to allow a developer to set
|
125
|
+
# index_column take an optional offset parameter to allow a developer to set
|
126
|
+
# the starting number for the index (default is 1).
|
124
127
|
#
|
125
128
|
# ## Sorting
|
126
129
|
#
|
@@ -128,9 +131,7 @@ module ActiveAdmin
|
|
128
131
|
# sortable by default. If you are creating a custom column, you may need to give
|
129
132
|
# Active Admin a hint for how to sort the table.
|
130
133
|
#
|
131
|
-
#
|
132
|
-
# is the attribute which gets used to sort objects using Active Record.
|
133
|
-
#
|
134
|
+
# You can pass the key specifying the attribute which gets used to sort objects using Active Record.
|
134
135
|
# By default, this is the column on the resource's table that the attribute corresponds to.
|
135
136
|
# Otherwise, any attribute that the resource collection responds to can be used.
|
136
137
|
#
|
@@ -192,6 +193,13 @@ module ActiveAdmin
|
|
192
193
|
# end
|
193
194
|
# ```
|
194
195
|
#
|
196
|
+
# You can also define associated objects to include outside of the
|
197
|
+
# `scoped_collection` method:
|
198
|
+
#
|
199
|
+
# ```ruby
|
200
|
+
# includes :publisher
|
201
|
+
# ```
|
202
|
+
#
|
195
203
|
# Then it's simple to sort by any Publisher attribute from within the index table:
|
196
204
|
#
|
197
205
|
# ```ruby
|
@@ -271,13 +279,13 @@ module ActiveAdmin
|
|
271
279
|
# Display a column for checkbox
|
272
280
|
def selectable_column
|
273
281
|
return unless active_admin_config.batch_actions.any?
|
274
|
-
column resource_selection_toggle_cell, class:
|
282
|
+
column resource_selection_toggle_cell, class: "col-selectable", sortable: false do |resource|
|
275
283
|
resource_selection_cell resource
|
276
284
|
end
|
277
285
|
end
|
278
286
|
|
279
287
|
def index_column(start_value = 1)
|
280
|
-
column
|
288
|
+
column "#", class: "col-index", sortable: false do |resource|
|
281
289
|
@collection.offset_value + @collection.index(resource) + start_value
|
282
290
|
end
|
283
291
|
end
|
@@ -286,9 +294,9 @@ module ActiveAdmin
|
|
286
294
|
def id_column
|
287
295
|
raise "#{resource_class.name} has no primary_key!" unless resource_class.primary_key
|
288
296
|
column(resource_class.human_attribute_name(resource_class.primary_key), sortable: resource_class.primary_key) do |resource|
|
289
|
-
if controller.action_methods.include?(
|
297
|
+
if controller.action_methods.include?("show")
|
290
298
|
link_to resource.id, resource_path(resource), class: "resource_id_link"
|
291
|
-
elsif controller.action_methods.include?(
|
299
|
+
elsif controller.action_methods.include?("edit")
|
292
300
|
link_to resource.id, edit_resource_path(resource), class: "resource_id_link"
|
293
301
|
else
|
294
302
|
resource.id
|
@@ -297,7 +305,7 @@ module ActiveAdmin
|
|
297
305
|
end
|
298
306
|
|
299
307
|
def default_actions
|
300
|
-
raise
|
308
|
+
raise "`default_actions` is no longer provided in ActiveAdmin 1.x. Use `actions` instead."
|
301
309
|
end
|
302
310
|
|
303
311
|
# Add links to perform actions.
|
@@ -337,12 +345,12 @@ module ActiveAdmin
|
|
337
345
|
#
|
338
346
|
# ```
|
339
347
|
def actions(options = {}, &block)
|
340
|
-
name
|
341
|
-
defaults
|
342
|
-
dropdown
|
343
|
-
dropdown_name = options.delete(:dropdown_name) { I18n.t
|
348
|
+
name = options.delete(:name) { "" }
|
349
|
+
defaults = options.delete(:defaults) { true }
|
350
|
+
dropdown = options.delete(:dropdown) { false }
|
351
|
+
dropdown_name = options.delete(:dropdown_name) { I18n.t "active_admin.dropdown_actions.button_label", default: "Actions" }
|
344
352
|
|
345
|
-
options[:class] ||=
|
353
|
+
options[:class] ||= "col-actions"
|
346
354
|
|
347
355
|
column name, options do |resource|
|
348
356
|
if dropdown
|
@@ -362,26 +370,27 @@ module ActiveAdmin
|
|
362
370
|
end
|
363
371
|
end
|
364
372
|
|
365
|
-
|
373
|
+
private
|
366
374
|
|
367
375
|
def defaults(resource, options = {})
|
368
|
-
|
369
|
-
|
376
|
+
localizer = ActiveAdmin::Localizers.resource(active_admin_config)
|
377
|
+
if controller.action_methods.include?("show") && authorized?(ActiveAdmin::Auth::READ, resource)
|
378
|
+
item localizer.t(:view), resource_path(resource), class: "view_link #{options[:css_class]}", title: localizer.t(:view)
|
370
379
|
end
|
371
|
-
if controller.action_methods.include?(
|
372
|
-
item
|
380
|
+
if controller.action_methods.include?("edit") && authorized?(ActiveAdmin::Auth::UPDATE, resource)
|
381
|
+
item localizer.t(:edit), edit_resource_path(resource), class: "edit_link #{options[:css_class]}", title: localizer.t(:edit)
|
373
382
|
end
|
374
|
-
if controller.action_methods.include?(
|
375
|
-
item
|
376
|
-
|
383
|
+
if controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, resource)
|
384
|
+
item localizer.t(:delete), resource_path(resource), class: "delete_link #{options[:css_class]}", title: localizer.t(:delete),
|
385
|
+
method: :delete, data: { confirm: localizer.t(:delete_confirmation) }
|
377
386
|
end
|
378
387
|
end
|
379
388
|
|
380
389
|
class TableActions < ActiveAdmin::Component
|
381
390
|
builder_method :table_actions
|
382
391
|
|
383
|
-
def item *args
|
384
|
-
text_node link_to
|
392
|
+
def item *args, **kwargs
|
393
|
+
text_node link_to(*args, **kwargs)
|
385
394
|
end
|
386
395
|
end
|
387
396
|
end # IndexTableFor
|
@@ -1,44 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
module Pages
|
4
5
|
class Base < Arbre::HTML::Document
|
5
6
|
|
6
7
|
def build(*args)
|
7
|
-
|
8
|
-
add_classes_to_body
|
8
|
+
set_attribute :lang, I18n.locale
|
9
9
|
build_active_admin_head
|
10
10
|
build_page
|
11
11
|
end
|
12
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
|
+
|
13
22
|
private
|
14
23
|
|
15
24
|
delegate :active_admin_config, :controller, :params, to: :helpers
|
16
25
|
|
17
|
-
def add_classes_to_body
|
18
|
-
@body.add_class(params[:action])
|
19
|
-
@body.add_class(params[:controller].tr('/', '_'))
|
20
|
-
@body.add_class("active_admin")
|
21
|
-
@body.add_class("logged_in")
|
22
|
-
@body.add_class(active_admin_namespace.name.to_s + "_namespace")
|
23
|
-
end
|
24
|
-
|
25
26
|
def build_active_admin_head
|
26
|
-
within
|
27
|
-
|
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
|
+
|
28
32
|
active_admin_application.stylesheets.each do |style, options|
|
29
|
-
|
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
|
30
35
|
end
|
31
36
|
|
32
37
|
active_admin_namespace.meta_tags.each do |name, content|
|
33
|
-
text_node(
|
38
|
+
text_node(meta(name: name, content: content))
|
34
39
|
end
|
35
40
|
|
36
41
|
active_admin_application.javascripts.each do |path|
|
37
|
-
|
42
|
+
javascript_tag = active_admin_namespace.use_webpacker ? javascript_pack_tag(path) : javascript_include_tag(path)
|
43
|
+
text_node(javascript_tag)
|
38
44
|
end
|
39
45
|
|
40
46
|
if active_admin_namespace.favicon
|
41
|
-
|
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)
|
42
50
|
end
|
43
51
|
|
44
52
|
text_node csrf_meta_tag
|
@@ -46,43 +54,46 @@ module ActiveAdmin
|
|
46
54
|
end
|
47
55
|
|
48
56
|
def build_page
|
49
|
-
within
|
57
|
+
within body(class: body_classes) do
|
50
58
|
div id: "wrapper" do
|
51
59
|
build_unsupported_browser
|
52
|
-
|
53
|
-
|
60
|
+
header active_admin_namespace, current_menu
|
61
|
+
title_bar title, action_items_for_action
|
54
62
|
build_page_content
|
55
|
-
|
63
|
+
footer active_admin_namespace
|
56
64
|
end
|
57
65
|
end
|
58
66
|
end
|
59
67
|
|
68
|
+
def body_classes
|
69
|
+
Arbre::HTML::ClassList.new [
|
70
|
+
params[:action],
|
71
|
+
params[:controller].tr("/", "_"),
|
72
|
+
"active_admin", "logged_in",
|
73
|
+
active_admin_namespace.name.to_s + "_namespace"
|
74
|
+
]
|
75
|
+
end
|
76
|
+
|
60
77
|
def build_unsupported_browser
|
61
78
|
if active_admin_namespace.unsupported_browser_matcher =~ controller.request.user_agent
|
62
|
-
|
79
|
+
unsupported_browser
|
63
80
|
end
|
64
81
|
end
|
65
82
|
|
66
|
-
def build_header
|
67
|
-
insert_tag view_factory.header, active_admin_namespace, current_menu
|
68
|
-
end
|
69
|
-
|
70
|
-
def build_title_bar
|
71
|
-
insert_tag view_factory.title_bar, title, action_items_for_action
|
72
|
-
end
|
73
|
-
|
74
83
|
def build_page_content
|
75
84
|
build_flash_messages
|
76
85
|
div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
|
77
86
|
build_main_content_wrapper
|
78
|
-
|
87
|
+
sidebar sidebar_sections_for_action, id: "sidebar" unless skip_sidebar?
|
79
88
|
end
|
80
89
|
end
|
81
90
|
|
82
91
|
def build_flash_messages
|
83
|
-
div class:
|
84
|
-
flash_messages.each do |type,
|
85
|
-
|
92
|
+
div class: "flashes" do
|
93
|
+
flash_messages.each do |type, messages|
|
94
|
+
[*messages].each do |message|
|
95
|
+
div message, class: "flash flash_#{type}"
|
96
|
+
end
|
86
97
|
end
|
87
98
|
end
|
88
99
|
end
|
@@ -95,19 +106,6 @@ module ActiveAdmin
|
|
95
106
|
end
|
96
107
|
end
|
97
108
|
|
98
|
-
def main_content
|
99
|
-
I18n.t('active_admin.main_content', model: title).html_safe
|
100
|
-
end
|
101
|
-
|
102
|
-
def title
|
103
|
-
self.class.name
|
104
|
-
end
|
105
|
-
|
106
|
-
# Set's the page title for the layout to render
|
107
|
-
def set_page_title
|
108
|
-
set_ivar_on_view "@page_title", title
|
109
|
-
end
|
110
|
-
|
111
109
|
# Returns the sidebar sections to render for the current action
|
112
110
|
def sidebar_sections_for_action
|
113
111
|
if active_admin_config && active_admin_config.sidebar_sections?
|
@@ -125,24 +123,10 @@ module ActiveAdmin
|
|
125
123
|
end
|
126
124
|
end
|
127
125
|
|
128
|
-
# Renders the sidebar
|
129
|
-
def build_sidebar
|
130
|
-
div id: "sidebar" do
|
131
|
-
sidebar_sections_for_action.collect do |section|
|
132
|
-
sidebar_section(section)
|
133
|
-
end
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
126
|
def skip_sidebar?
|
138
127
|
sidebar_sections_for_action.empty? || assigns[:skip_sidebar] == true
|
139
128
|
end
|
140
129
|
|
141
|
-
# Renders the content for the footer
|
142
|
-
def build_footer
|
143
|
-
insert_tag view_factory.footer, active_admin_namespace
|
144
|
-
end
|
145
|
-
|
146
130
|
end
|
147
131
|
end
|
148
132
|
end
|
@@ -1,4 +1,5 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "active_admin/helpers/collection"
|
2
3
|
|
3
4
|
module ActiveAdmin
|
4
5
|
module Views
|
@@ -111,7 +112,7 @@ module ActiveAdmin
|
|
111
112
|
|
112
113
|
def render_blank_slate
|
113
114
|
blank_slate_content = I18n.t("active_admin.blank_slate.content", resource_name: active_admin_config.plural_resource_label)
|
114
|
-
if controller.action_methods.include?(
|
115
|
+
if controller.action_methods.include?("new") && authorized?(ActiveAdmin::Auth::CREATE, active_admin_config.resource_class)
|
115
116
|
blank_slate_content = [blank_slate_content, blank_slate_link].compact.join(" ")
|
116
117
|
end
|
117
118
|
insert_tag(view_factory.blank_slate, blank_slate_content)
|
@@ -124,18 +125,20 @@ module ActiveAdmin
|
|
124
125
|
|
125
126
|
def render_index
|
126
127
|
renderer_class = find_index_renderer_class(config[:as])
|
127
|
-
|
128
|
-
|
128
|
+
|
129
|
+
paginator = config.fetch(:paginator, true)
|
130
|
+
download_links = config.fetch(:download_links, active_admin_config.namespace.download_links)
|
129
131
|
pagination_total = config.fetch(:pagination_total, true)
|
130
|
-
per_page
|
131
|
-
|
132
|
-
paginated_collection(
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
132
|
+
per_page = config.fetch(:per_page, active_admin_config.per_page)
|
133
|
+
|
134
|
+
paginated_collection(
|
135
|
+
collection, entry_name: active_admin_config.resource_label,
|
136
|
+
entries_name: active_admin_config.plural_resource_label(count: collection_size),
|
137
|
+
download_links: download_links,
|
138
|
+
paginator: paginator,
|
139
|
+
per_page: per_page,
|
140
|
+
pagination_total: pagination_total) do
|
141
|
+
div class: "index_content" do
|
139
142
|
insert_tag(renderer_class, config, collection)
|
140
143
|
end
|
141
144
|
end
|
@@ -1,65 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "components/menu"
|
3
|
+
|
1
4
|
module ActiveAdmin
|
2
5
|
module Views
|
3
|
-
|
4
|
-
# Renders an ActiveAdmin::Menu as a set of unordered list items.
|
5
|
-
#
|
6
|
-
# This component takes cares of deciding which items should be
|
7
|
-
# displayed given the current context and renders them appropriately.
|
8
|
-
#
|
9
|
-
# The entire component is rendered within one ul element.
|
10
|
-
class TabbedNavigation < Component
|
11
|
-
|
12
|
-
attr_reader :menu
|
13
|
-
|
14
|
-
# Build a new tabbed navigation component.
|
15
|
-
#
|
16
|
-
# @param [ActiveAdmin::Menu] menu the Menu to render
|
17
|
-
# @param [Hash] options the options as passed to the underlying ul element.
|
18
|
-
#
|
6
|
+
class TabbedNavigation < Menu
|
19
7
|
def build(menu, options = {})
|
20
|
-
|
21
|
-
super(default_options.merge(options))
|
22
|
-
build_menu
|
23
|
-
end
|
24
|
-
|
25
|
-
# The top-level menu items that should be displayed.
|
26
|
-
def menu_items
|
27
|
-
menu.items(self)
|
28
|
-
end
|
29
|
-
|
30
|
-
def tag_name
|
31
|
-
'ul'
|
32
|
-
end
|
33
|
-
|
34
|
-
private
|
35
|
-
|
36
|
-
def build_menu
|
37
|
-
menu_items.each do |item|
|
38
|
-
build_menu_item(item)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
def build_menu_item(item)
|
43
|
-
li id: item.id do |li|
|
44
|
-
li.add_class "current" if item.current? assigns[:current_tab]
|
45
|
-
|
46
|
-
if url = item.url(self)
|
47
|
-
text_node link_to item.label(self), url, item.html_options
|
48
|
-
else
|
49
|
-
span item.label(self), item.html_options
|
50
|
-
end
|
51
|
-
|
52
|
-
if children = item.items(self).presence
|
53
|
-
li.add_class "has_nested"
|
54
|
-
ul do
|
55
|
-
children.each{ |child| build_menu_item child }
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
def default_options
|
62
|
-
{ id: "tabs" }
|
8
|
+
super(menu, options.reverse_merge(id: "tabs"))
|
63
9
|
end
|
64
10
|
end
|
65
11
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
class TitleBar < Component
|
@@ -43,7 +44,7 @@ module ActiveAdmin
|
|
43
44
|
end
|
44
45
|
|
45
46
|
def build_title_tag
|
46
|
-
h2(@title, id:
|
47
|
+
h2(@title, id: "page_title")
|
47
48
|
end
|
48
49
|
|
49
50
|
def build_action_items
|
data/lib/active_admin/views.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
|
4
5
|
# Loads all the classes in views/*.rb
|
5
|
-
Dir[File.expand_path(
|
6
|
+
Dir[File.expand_path("views", __dir__) + "/**/*.rb"].sort.each { |f| require f }
|
6
7
|
|
7
8
|
end
|
8
9
|
end
|