activeadmin 1.4.3 → 3.0.0
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 +609 -26
- data/CONTRIBUTING.md +54 -76
- data/README.md +46 -13
- data/app/assets/javascripts/active_admin/base.js +521 -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/_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/_footer.scss +6 -1
- 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 +1 -1
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
- data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
- data/app/views/active_admin/devise/registrations/new.html.erb +1 -2
- 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 +1 -1
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -0
- data/app/views/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 +19 -8
- data/config/locales/ar.yml +9 -15
- data/config/locales/az.yml +131 -0
- data/config/locales/bg.yml +1 -8
- data/config/locales/bs.yml +1 -7
- data/config/locales/ca.yml +1 -8
- data/config/locales/cs.yml +1 -7
- data/config/locales/da.yml +1 -7
- data/config/locales/de-CH.yml +1 -7
- data/config/locales/de.yml +19 -8
- data/config/locales/el.yml +1 -7
- data/config/locales/en-CA.yml +4 -10
- data/config/locales/en-GB.yml +4 -10
- data/config/locales/en.yml +4 -11
- data/config/locales/eo.yml +1 -8
- data/config/locales/es-MX.yml +3 -8
- data/config/locales/es.yml +6 -13
- data/config/locales/fa.yml +1 -7
- data/config/locales/fi.yml +1 -7
- data/config/locales/fr.yml +9 -16
- data/config/locales/he.yml +1 -10
- data/config/locales/hr.yml +1 -7
- data/config/locales/hu.yml +3 -6
- data/config/locales/id.yml +1 -7
- data/config/locales/it.yml +19 -8
- data/config/locales/ja.yml +3 -10
- data/config/locales/ko.yml +2 -8
- data/config/locales/lt.yml +3 -10
- data/config/locales/lv.yml +3 -9
- data/config/locales/mk.yml +126 -0
- data/config/locales/nb.yml +1 -8
- data/config/locales/nl.yml +2 -9
- data/config/locales/pl.yml +1 -8
- data/config/locales/pt-BR.yml +1 -8
- data/config/locales/pt-PT.yml +1 -7
- data/config/locales/ro.yml +4 -9
- data/config/locales/ru.yml +1 -6
- data/config/locales/sk.yml +58 -6
- data/config/locales/sv-SE.yml +59 -39
- data/config/locales/tr.yml +1 -11
- data/config/locales/uk.yml +3 -6
- data/config/locales/vi.yml +40 -19
- data/config/locales/zh-CN.yml +35 -23
- data/config/locales/zh-TW.yml +1 -7
- data/lib/active_admin/abstract_view_factory.rb +1 -0
- data/lib/active_admin/application.rb +26 -33
- data/lib/active_admin/application_settings.rb +7 -3
- data/lib/active_admin/asset_registration.rb +4 -11
- data/lib/active_admin/authorization_adapter.rb +6 -3
- data/lib/active_admin/base_controller/authorization.rb +17 -16
- 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 +5 -4
- 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 +12 -87
- data/lib/active_admin/deprecation.rb +1 -0
- data/lib/active_admin/devise.rb +16 -5
- data/lib/active_admin/dsl.rb +3 -9
- data/lib/active_admin/dynamic_setting.rb +1 -0
- data/lib/active_admin/dynamic_settings_node.rb +3 -2
- data/lib/active_admin/engine.rb +13 -9
- 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 +11 -10
- 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 +9 -8
- data/lib/active_admin/filters/formtastic_addons.rb +3 -7
- data/lib/active_admin/filters/resource_extension.rb +33 -8
- data/lib/active_admin/filters.rb +8 -7
- data/lib/active_admin/form_builder.rb +27 -22
- 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 +3 -2
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +9 -8
- 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 +18 -14
- data/lib/active_admin/inputs/filters/numeric_input.rb +2 -1
- data/lib/active_admin/inputs/filters/select_input.rb +3 -2
- data/lib/active_admin/inputs/filters/string_input.rb +2 -1
- 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 +7 -3
- data/lib/active_admin/menu_collection.rb +1 -0
- data/lib/active_admin/menu_item.rb +8 -7
- data/lib/active_admin/namespace.rb +15 -14
- data/lib/active_admin/namespace_settings.rb +28 -8
- data/lib/active_admin/order_clause.rb +3 -2
- data/lib/active_admin/orm/active_record/comments/comment.rb +13 -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 +30 -29
- 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 +71 -16
- data/lib/active_admin/resource/action_items.rb +6 -5
- 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 +8 -29
- 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 +1 -0
- 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 +4 -2
- data/lib/active_admin/scope.rb +16 -11
- data/lib/active_admin/settings_node.rb +2 -1
- 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 +2 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
- data/lib/active_admin/view_helpers/display_helper.rb +32 -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 +3 -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 -11
- 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 +2 -1
- data/lib/active_admin/views/components/menu_item.rb +5 -4
- 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 +8 -5
- data/lib/active_admin/views/components/sidebar.rb +1 -0
- data/lib/active_admin/views/components/sidebar_section.rb +1 -3
- data/lib/active_admin/views/components/site_title.rb +2 -1
- data/lib/active_admin/views/components/status_tag.rb +14 -26
- data/lib/active_admin/views/components/table_for.rb +21 -19
- data/lib/active_admin/views/components/tabs.rb +14 -4
- data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
- data/lib/active_admin/views/footer.rb +4 -2
- data/lib/active_admin/views/header.rb +3 -2
- data/lib/active_admin/views/index_as_block.rb +1 -0
- data/lib/active_admin/views/index_as_blog.rb +2 -1
- data/lib/active_admin/views/index_as_grid.rb +2 -1
- data/lib/active_admin/views/index_as_table.rb +27 -22
- data/lib/active_admin/views/pages/base.rb +25 -14
- 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 +2 -7
- data/lib/active_admin/views/tabbed_navigation.rb +3 -2
- data/lib/active_admin/views/title_bar.rb +2 -1
- data/lib/active_admin/views.rb +2 -1
- data/lib/active_admin.rb +67 -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 +62 -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/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 +115 -173
- data/.circleci/config.yml +0 -572
- data/.github/ISSUE_TEMPLATE.md +0 -20
- data/.gitignore +0 -16
- data/.mdlrc +0 -1
- data/.rspec +0 -1
- data/.rspec_parallel +0 -2
- data/.rubocop.yml +0 -99
- data/.simplecov +0 -9
- data/.yardopts +0 -7
- data/Gemfile +0 -30
- data/Gemfile.common +0 -26
- data/Gemfile.lock +0 -433
- data/Rakefile +0 -24
- 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/bin/install_chromedriver.sh +0 -17
- data/config/i18n-tasks.yml +0 -26
- data/config/mdl_style.rb +0 -11
- data/cucumber.yml +0 -7
- data/docs/.gitignore +0 -1
- data/docs/0-installation.md +0 -118
- data/docs/1-general-configuration.md +0 -204
- data/docs/10-custom-pages.md +0 -150
- data/docs/11-decorators.md +0 -59
- data/docs/12-arbre-components.md +0 -201
- data/docs/13-authorization-adapter.md +0 -285
- data/docs/14-gotchas.md +0 -138
- data/docs/2-resource-customization.md +0 -466
- data/docs/3-index-pages/custom-index.md +0 -35
- data/docs/3-index-pages/index-as-block.md +0 -19
- data/docs/3-index-pages/index-as-blog.md +0 -69
- data/docs/3-index-pages/index-as-grid.md +0 -27
- data/docs/3-index-pages/index-as-table.md +0 -227
- data/docs/3-index-pages.md +0 -328
- data/docs/4-csv-format.md +0 -74
- data/docs/5-forms.md +0 -232
- data/docs/6-show-pages.md +0 -81
- data/docs/7-sidebars.md +0 -75
- data/docs/8-custom-actions.md +0 -177
- data/docs/9-batch-actions.md +0 -237
- data/docs/CNAME +0 -1
- data/docs/Gemfile +0 -4
- data/docs/Gemfile.lock +0 -249
- data/docs/README.md +0 -24
- data/docs/_config.yml +0 -2
- data/docs/_includes/footer.html +0 -8
- data/docs/_includes/google-analytics.html +0 -16
- data/docs/_includes/head.html +0 -7
- data/docs/_includes/toc.html +0 -98
- data/docs/_includes/top-menu.html +0 -17
- data/docs/_layouts/default.html +0 -21
- data/docs/documentation.md +0 -60
- data/docs/images/activeadmin.png +0 -0
- data/docs/images/code-header.png +0 -0
- data/docs/images/divider.png +0 -0
- data/docs/images/features.png +0 -0
- data/docs/images/tidelift.svg +0 -14
- data/docs/index.html +0 -125
- data/docs/stylesheets/main.css +0 -1176
- data/gemfiles/rails_42.gemfile +0 -10
- data/gemfiles/rails_42.gemfile.lock +0 -339
- data/gemfiles/rails_50.gemfile +0 -10
- data/gemfiles/rails_50.gemfile.lock +0 -353
- data/gemfiles/rails_51.gemfile +0 -10
- data/gemfiles/rails_51.gemfile.lock +0 -353
- data/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
- data/lib/active_admin/reloader.rb +0 -25
- data/lib/bug_report_templates/active_admin_master.rb +0 -111
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
- data/lib/ransack_ext.rb +0 -20
- data/tasks/application_generator.rb +0 -50
- data/tasks/docs.rake +0 -64
- data/tasks/gemfiles.rake +0 -8
- data/tasks/lint.rake +0 -110
- data/tasks/local.rake +0 -27
- data/tasks/release.rake +0 -6
- data/tasks/test.rake +0 -42
@@ -1,11 +1,9 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
3
2
|
module ActiveAdmin
|
4
3
|
module Views
|
5
4
|
|
6
5
|
class SidebarSection < Panel
|
7
6
|
builder_method :sidebar_section
|
8
|
-
include OutputSafetyHelper
|
9
7
|
|
10
8
|
# Takes a ActiveAdmin::SidebarSection instance
|
11
9
|
def build(section)
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
# Build a StatusTag
|
@@ -5,11 +6,11 @@ module ActiveAdmin
|
|
5
6
|
builder_method :status_tag
|
6
7
|
|
7
8
|
def tag_name
|
8
|
-
|
9
|
+
"span"
|
9
10
|
end
|
10
11
|
|
11
12
|
def default_class_name
|
12
|
-
|
13
|
+
"status_tag"
|
13
14
|
end
|
14
15
|
|
15
16
|
# @overload status_tag(status, options = {})
|
@@ -28,11 +29,7 @@ module ActiveAdmin
|
|
28
29
|
# status_tag('active', class: 'important', id: 'status_123', label: 'on')
|
29
30
|
# # => <span class='status_tag active important' id='status_123'>on</span>
|
30
31
|
#
|
31
|
-
def build(
|
32
|
-
options = args.extract_options!
|
33
|
-
status = args[0]
|
34
|
-
type = args[1]
|
35
|
-
|
32
|
+
def build(status, options = {})
|
36
33
|
label = options.delete(:label)
|
37
34
|
classes = options.delete(:class)
|
38
35
|
status = convert_to_boolean_status(status)
|
@@ -46,19 +43,6 @@ module ActiveAdmin
|
|
46
43
|
super(content, options)
|
47
44
|
|
48
45
|
add_class(status_to_class(status)) if status
|
49
|
-
|
50
|
-
if type
|
51
|
-
Deprecation.warn <<-MSG.strip_heredoc
|
52
|
-
The `type` parameter has been deprecated. Provide the "#{type}" type as
|
53
|
-
a class instead. For example, `status_tag(status, :#{type}, class: "abc")`
|
54
|
-
would change to `status_tag(status, class: "#{type} abc")`. Also note that
|
55
|
-
the "#{type}" CSS rule will be removed too, so you'll have to provide
|
56
|
-
the styles yourself. See https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md#110-
|
57
|
-
for more information.
|
58
|
-
MSG
|
59
|
-
add_class(type.to_s)
|
60
|
-
end
|
61
|
-
|
62
46
|
add_class(classes) if classes
|
63
47
|
end
|
64
48
|
|
@@ -66,10 +50,12 @@ module ActiveAdmin
|
|
66
50
|
|
67
51
|
def convert_to_boolean_status(status)
|
68
52
|
case status
|
69
|
-
when true,
|
70
|
-
|
71
|
-
when false,
|
72
|
-
|
53
|
+
when true, "true"
|
54
|
+
"Yes"
|
55
|
+
when false, "false"
|
56
|
+
"No"
|
57
|
+
when nil
|
58
|
+
"Unset"
|
73
59
|
else
|
74
60
|
status
|
75
61
|
end
|
@@ -77,10 +63,12 @@ module ActiveAdmin
|
|
77
63
|
|
78
64
|
def status_to_class(status)
|
79
65
|
case status
|
66
|
+
when "Unset"
|
67
|
+
"unset no"
|
80
68
|
when String, Symbol
|
81
|
-
status.to_s.titleize.gsub(/\s/,
|
69
|
+
status.to_s.titleize.gsub(/\s/, "").underscore
|
82
70
|
else
|
83
|
-
|
71
|
+
""
|
84
72
|
end
|
85
73
|
end
|
86
74
|
end
|
@@ -1,20 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
class TableFor < Arbre::HTML::Table
|
4
5
|
builder_method :table_for
|
5
6
|
|
6
7
|
def tag_name
|
7
|
-
|
8
|
+
"table"
|
8
9
|
end
|
9
10
|
|
10
11
|
def build(obj, *attrs)
|
11
|
-
options
|
12
|
-
@sortable
|
13
|
-
@collection
|
12
|
+
options = attrs.extract_options!
|
13
|
+
@sortable = options.delete(:sortable)
|
14
|
+
@collection = obj.respond_to?(:each) && !obj.is_a?(Hash) ? obj : [obj]
|
14
15
|
@resource_class = options.delete(:i18n)
|
15
16
|
@resource_class ||= @collection.klass if @collection.respond_to? :klass
|
16
|
-
|
17
|
-
@
|
17
|
+
|
18
|
+
@columns = []
|
19
|
+
@row_class = options.delete(:row_class)
|
18
20
|
|
19
21
|
build_table
|
20
22
|
super(options)
|
@@ -22,13 +24,13 @@ module ActiveAdmin
|
|
22
24
|
end
|
23
25
|
|
24
26
|
def columns(*attrs)
|
25
|
-
attrs.each {|attr| column(attr) }
|
27
|
+
attrs.each { |attr| column(attr) }
|
26
28
|
end
|
27
29
|
|
28
30
|
def column(*args, &block)
|
29
31
|
options = default_options.merge(args.extract_options!)
|
30
32
|
title = args[0]
|
31
|
-
data
|
33
|
+
data = args[1] || args[0]
|
32
34
|
|
33
35
|
col = Column.new(title, data, @resource_class, options, &block)
|
34
36
|
@columns << col
|
@@ -64,12 +66,12 @@ module ActiveAdmin
|
|
64
66
|
end
|
65
67
|
|
66
68
|
def build_table_header(col)
|
67
|
-
classes
|
69
|
+
classes = Arbre::HTML::ClassList.new
|
68
70
|
sort_key = sortable? && col.sortable? && col.sort_key
|
69
|
-
params
|
71
|
+
params = request.query_parameters.except :page, :order, :commit, :format
|
70
72
|
|
71
|
-
classes <<
|
72
|
-
classes << "sorted-#{current_sort[1]}"
|
73
|
+
classes << "sortable" if sort_key
|
74
|
+
classes << "sorted-#{current_sort[1]}" if sort_key && current_sort[0] == sort_key
|
73
75
|
classes << col.html_class
|
74
76
|
|
75
77
|
if sort_key
|
@@ -85,13 +87,13 @@ module ActiveAdmin
|
|
85
87
|
@tbody = tbody do
|
86
88
|
# Build enough rows for our collection
|
87
89
|
@collection.each do |elem|
|
88
|
-
classes = [helpers.cycle(
|
90
|
+
classes = [helpers.cycle("odd", "even")]
|
89
91
|
|
90
92
|
if @row_class
|
91
93
|
classes << @row_class.call(elem)
|
92
94
|
end
|
93
95
|
|
94
|
-
tr(class: classes.flatten.join(
|
96
|
+
tr(class: classes.flatten.join(" "), id: dom_id_for(elem))
|
95
97
|
end
|
96
98
|
end
|
97
99
|
end
|
@@ -125,8 +127,8 @@ module ActiveAdmin
|
|
125
127
|
# 'desc' it will return 'asc'
|
126
128
|
def order_for_sort_key(sort_key)
|
127
129
|
current_key, current_order = current_sort
|
128
|
-
return
|
129
|
-
current_order ==
|
130
|
+
return "desc" unless current_key == sort_key
|
131
|
+
current_order == "desc" ? "asc" : "desc"
|
130
132
|
end
|
131
133
|
|
132
134
|
def default_options
|
@@ -137,7 +139,7 @@ module ActiveAdmin
|
|
137
139
|
|
138
140
|
class Column
|
139
141
|
|
140
|
-
attr_accessor :title, :data
|
142
|
+
attr_accessor :title, :data, :html_class
|
141
143
|
|
142
144
|
def initialize(*args, &block)
|
143
145
|
@options = args.extract_options!
|
@@ -147,9 +149,9 @@ module ActiveAdmin
|
|
147
149
|
if @options.has_key?(:class)
|
148
150
|
html_classes << @options.delete(:class)
|
149
151
|
elsif @title.present?
|
150
|
-
html_classes << "col-#{
|
152
|
+
html_classes << "col-#{@title.to_s.parameterize(separator: "_")}"
|
151
153
|
end
|
152
|
-
@html_class = html_classes.join(
|
154
|
+
@html_class = html_classes.join(" ")
|
153
155
|
@data = args[1] || args[0]
|
154
156
|
@data = block if block
|
155
157
|
@resource_class = args[2]
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
class Tabs < ActiveAdmin::Component
|
@@ -10,12 +11,13 @@ module ActiveAdmin
|
|
10
11
|
end
|
11
12
|
|
12
13
|
def build(&block)
|
13
|
-
@menu = ul(class:
|
14
|
-
@tabs_content = div(class:
|
14
|
+
@menu = ul(class: "nav nav-tabs", role: "tablist")
|
15
|
+
@tabs_content = div(class: "tab-content")
|
15
16
|
end
|
16
17
|
|
17
18
|
def build_menu_item(title, options, &block)
|
18
|
-
fragment = options.fetch(:id, title
|
19
|
+
fragment = options.fetch(:id, fragmentize(title))
|
20
|
+
|
19
21
|
html_options = options.fetch(:html_options, {})
|
20
22
|
li html_options do
|
21
23
|
link_to title, "##{fragment}"
|
@@ -23,9 +25,17 @@ module ActiveAdmin
|
|
23
25
|
end
|
24
26
|
|
25
27
|
def build_content_item(title, options, &block)
|
26
|
-
options = options.reverse_merge(id: title
|
28
|
+
options = options.reverse_merge(id: fragmentize(title))
|
27
29
|
div(options, &block)
|
28
30
|
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def fragmentize(string)
|
35
|
+
result = string.parameterize
|
36
|
+
result = CGI.escape(string) if result.blank?
|
37
|
+
result
|
38
|
+
end
|
29
39
|
end
|
30
40
|
end
|
31
41
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
class Footer < Component
|
@@ -20,8 +21,9 @@ module ActiveAdmin
|
|
20
21
|
end
|
21
22
|
|
22
23
|
def powered_by_message
|
23
|
-
I18n.t(
|
24
|
-
active_admin
|
24
|
+
I18n.t(
|
25
|
+
"active_admin.powered_by",
|
26
|
+
active_admin: link_to("Active Admin", "https://activeadmin.info"),
|
25
27
|
version: ActiveAdmin::VERSION).html_safe
|
26
28
|
end
|
27
29
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
class Header < Component
|
@@ -10,8 +11,8 @@ module ActiveAdmin
|
|
10
11
|
@utility_menu = @namespace.fetch_menu(:utility_navigation)
|
11
12
|
|
12
13
|
site_title @namespace
|
13
|
-
global_navigation @menu, class:
|
14
|
-
utility_navigation @utility_menu, id: "utility_nav", class:
|
14
|
+
global_navigation @menu, class: "header-item tabs"
|
15
|
+
utility_navigation @utility_menu, id: "utility_nav", class: "header-item tabs"
|
15
16
|
end
|
16
17
|
|
17
18
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
|
@@ -135,7 +136,7 @@ module ActiveAdmin
|
|
135
136
|
|
136
137
|
def build_body(post)
|
137
138
|
if @body
|
138
|
-
div class:
|
139
|
+
div class: "content" do
|
139
140
|
render_method_on_post_or_call_proc post, @body
|
140
141
|
end
|
141
142
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
|
@@ -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
|
@@ -296,10 +304,6 @@ module ActiveAdmin
|
|
296
304
|
end
|
297
305
|
end
|
298
306
|
|
299
|
-
def default_actions
|
300
|
-
raise '`default_actions` is no longer provided in ActiveAdmin 1.x. Use `actions` instead.'
|
301
|
-
end
|
302
|
-
|
303
307
|
# Add links to perform actions.
|
304
308
|
#
|
305
309
|
# ```ruby
|
@@ -337,12 +341,12 @@ module ActiveAdmin
|
|
337
341
|
#
|
338
342
|
# ```
|
339
343
|
def actions(options = {}, &block)
|
340
|
-
name
|
341
|
-
defaults
|
342
|
-
dropdown
|
343
|
-
dropdown_name = options.delete(:dropdown_name) { I18n.t
|
344
|
+
name = options.delete(:name) { "" }
|
345
|
+
defaults = options.delete(:defaults) { true }
|
346
|
+
dropdown = options.delete(:dropdown) { false }
|
347
|
+
dropdown_name = options.delete(:dropdown_name) { I18n.t "active_admin.dropdown_actions.button_label", default: "Actions" }
|
344
348
|
|
345
|
-
options[:class] ||=
|
349
|
+
options[:class] ||= "col-actions"
|
346
350
|
|
347
351
|
column name, options do |resource|
|
348
352
|
if dropdown
|
@@ -365,23 +369,24 @@ module ActiveAdmin
|
|
365
369
|
private
|
366
370
|
|
367
371
|
def defaults(resource, options = {})
|
368
|
-
|
369
|
-
|
372
|
+
localizer = ActiveAdmin::Localizers.resource(active_admin_config)
|
373
|
+
if controller.action_methods.include?("show") && authorized?(ActiveAdmin::Auth::READ, resource)
|
374
|
+
item localizer.t(:view), resource_path(resource), class: "view_link #{options[:css_class]}", title: localizer.t(:view)
|
370
375
|
end
|
371
|
-
if controller.action_methods.include?(
|
372
|
-
item
|
376
|
+
if controller.action_methods.include?("edit") && authorized?(ActiveAdmin::Auth::EDIT, resource)
|
377
|
+
item localizer.t(:edit), edit_resource_path(resource), class: "edit_link #{options[:css_class]}", title: localizer.t(:edit)
|
373
378
|
end
|
374
|
-
if controller.action_methods.include?(
|
375
|
-
item
|
376
|
-
|
379
|
+
if controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, resource)
|
380
|
+
item localizer.t(:delete), resource_path(resource), class: "delete_link #{options[:css_class]}", title: localizer.t(:delete),
|
381
|
+
method: :delete, data: { confirm: localizer.t(:delete_confirmation) }
|
377
382
|
end
|
378
383
|
end
|
379
384
|
|
380
385
|
class TableActions < ActiveAdmin::Component
|
381
386
|
builder_method :table_actions
|
382
387
|
|
383
|
-
def item *args
|
384
|
-
text_node link_to
|
388
|
+
def item *args, **kwargs
|
389
|
+
text_node link_to(*args, **kwargs)
|
385
390
|
end
|
386
391
|
end
|
387
392
|
end # IndexTableFor
|
@@ -1,9 +1,11 @@
|
|
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)
|
8
|
+
set_attribute :lang, I18n.locale
|
7
9
|
build_active_admin_head
|
8
10
|
build_page
|
9
11
|
end
|
@@ -14,7 +16,7 @@ module ActiveAdmin
|
|
14
16
|
end
|
15
17
|
|
16
18
|
def main_content
|
17
|
-
I18n.t(
|
19
|
+
I18n.t("active_admin.main_content", model: title).html_safe
|
18
20
|
end
|
19
21
|
|
20
22
|
private
|
@@ -25,23 +27,30 @@ module ActiveAdmin
|
|
25
27
|
within head do
|
26
28
|
html_title [title, helpers.active_admin_namespace.site_title(self)].compact.join(" | ")
|
27
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
|
-
active_admin_application.javascripts.each do |path|
|
37
|
-
|
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)
|
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
|
-
text_node
|
52
|
+
text_node csrf_meta_tags
|
53
|
+
text_node csp_meta_tag
|
45
54
|
end
|
46
55
|
end
|
47
56
|
|
@@ -60,9 +69,9 @@ module ActiveAdmin
|
|
60
69
|
def body_classes
|
61
70
|
Arbre::HTML::ClassList.new [
|
62
71
|
params[:action],
|
63
|
-
params[:controller].tr(
|
64
|
-
|
65
|
-
active_admin_namespace.name.to_s +
|
72
|
+
params[:controller].tr("/", "_"),
|
73
|
+
"active_admin", "logged_in",
|
74
|
+
active_admin_namespace.name.to_s + "_namespace"
|
66
75
|
]
|
67
76
|
end
|
68
77
|
|
@@ -76,14 +85,16 @@ module ActiveAdmin
|
|
76
85
|
build_flash_messages
|
77
86
|
div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
|
78
87
|
build_main_content_wrapper
|
79
|
-
sidebar sidebar_sections_for_action, id:
|
88
|
+
sidebar sidebar_sections_for_action, id: "sidebar" unless skip_sidebar?
|
80
89
|
end
|
81
90
|
end
|
82
91
|
|
83
92
|
def build_flash_messages
|
84
|
-
div class:
|
85
|
-
flash_messages.each do |type,
|
86
|
-
|
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
|
87
98
|
end
|
88
99
|
end
|
89
100
|
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::NEW, 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,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
module Pages
|
@@ -39,13 +40,7 @@ module ActiveAdmin
|
|
39
40
|
protected
|
40
41
|
|
41
42
|
def default_title
|
42
|
-
|
43
|
-
|
44
|
-
if title.blank?
|
45
|
-
title = "#{active_admin_config.resource_label} ##{resource.id}"
|
46
|
-
end
|
47
|
-
|
48
|
-
title
|
43
|
+
display_name(resource)
|
49
44
|
end
|
50
45
|
|
51
46
|
module DefaultMainContent
|
@@ -1,10 +1,11 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "components/menu"
|
2
3
|
|
3
4
|
module ActiveAdmin
|
4
5
|
module Views
|
5
6
|
class TabbedNavigation < Menu
|
6
7
|
def build(menu, options = {})
|
7
|
-
super(menu, options.reverse_merge(id:
|
8
|
+
super(menu, options.reverse_merge(id: "tabs"))
|
8
9
|
end
|
9
10
|
end
|
10
11
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
class TitleBar < Component
|
@@ -43,7 +44,7 @@ module ActiveAdmin
|
|
43
44
|
end
|
44
45
|
|
45
46
|
def build_title_tag
|
46
|
-
h2(@title, id:
|
47
|
+
h2(@title, id: "page_title")
|
47
48
|
end
|
48
49
|
|
49
50
|
def build_action_items
|
data/lib/active_admin/views.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
|
4
5
|
# Loads all the classes in views/*.rb
|
5
|
-
Dir[File.expand_path(
|
6
|
+
Dir[File.expand_path("views", __dir__) + "/**/*.rb"].sort.each { |f| require f }
|
6
7
|
|
7
8
|
end
|
8
9
|
end
|