activeadmin 1.3.0 → 2.0.0.rc1
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 +307 -123
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +90 -46
- data/README.md +66 -19
- data/app/assets/javascripts/active_admin/base.es6 +23 -0
- data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
- data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
- data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
- data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
- data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
- data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
- data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +55 -0
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
- data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
- data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
- data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
- data/app/assets/stylesheets/active_admin/_forms.scss +3 -15
- 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/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
- data/app/views/active_admin/devise/confirmations/new.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/unlocks/new.html.erb +2 -2
- data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
- data/config/locales/bg.yml +0 -1
- data/config/locales/de.yml +10 -0
- data/config/locales/en.yml +19 -1
- data/config/locales/es.yml +20 -1
- data/config/locales/fi.yml +1 -1
- data/config/locales/he.yml +0 -1
- data/config/locales/hu.yml +4 -0
- data/config/locales/it.yml +4 -0
- data/config/locales/lt.yml +2 -2
- data/config/locales/nb.yml +15 -5
- data/config/locales/nl.yml +11 -0
- data/config/locales/pl.yml +71 -3
- data/config/locales/ru.yml +2 -0
- data/config/locales/tr.yml +9 -0
- data/config/locales/uk.yml +2 -0
- data/config/locales/zh-CN.yml +33 -5
- data/docs/.gitignore +1 -0
- data/docs/0-installation.md +2 -2
- data/docs/1-general-configuration.md +16 -1
- data/docs/10-custom-pages.md +14 -0
- data/docs/12-arbre-components.md +28 -1
- data/docs/13-authorization-adapter.md +40 -21
- data/docs/2-resource-customization.md +8 -3
- 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 +5 -5
- data/docs/3-index-pages.md +17 -0
- data/docs/5-forms.md +16 -2
- data/docs/8-custom-actions.md +11 -0
- data/docs/CNAME +1 -1
- data/docs/Gemfile +2 -0
- data/docs/Gemfile.lock +249 -0
- data/docs/_config.yml +1 -1
- data/docs/_includes/toc.html +1 -1
- data/docs/_includes/top-menu.html +9 -1
- data/docs/documentation.md +1 -1
- data/docs/images/tidelift.svg +14 -0
- data/docs/index.html +2 -2
- data/docs/stylesheets/main.css +26 -2
- data/lib/active_admin/abstract_view_factory.rb +13 -51
- data/lib/active_admin/application.rb +49 -155
- data/lib/active_admin/application_settings.rb +42 -0
- data/lib/active_admin/asset_registration.rb +0 -8
- data/lib/active_admin/base_controller/authorization.rb +3 -6
- data/lib/active_admin/base_controller.rb +6 -6
- data/lib/active_admin/batch_actions/controller.rb +2 -2
- data/lib/active_admin/batch_actions/resource_extension.rb +4 -4
- data/lib/active_admin/callbacks.rb +1 -1
- data/lib/active_admin/csv_builder.rb +1 -1
- data/lib/active_admin/dependency.rb +1 -69
- data/lib/active_admin/deprecation.rb +0 -25
- data/lib/active_admin/dsl.rb +1 -8
- data/lib/active_admin/dynamic_setting.rb +38 -0
- data/lib/active_admin/dynamic_settings_node.rb +28 -0
- data/lib/active_admin/engine.rb +5 -0
- data/lib/active_admin/error.rb +1 -1
- data/lib/active_admin/filters/active_filter.rb +4 -2
- data/lib/active_admin/filters/active_sidebar.rb +5 -1
- data/lib/active_admin/filters/forms.rb +7 -4
- data/lib/active_admin/filters/formtastic_addons.rb +1 -1
- data/lib/active_admin/filters/resource_extension.rb +4 -4
- data/lib/active_admin/form_builder.rb +97 -62
- data/lib/active_admin/generators/boilerplate.rb +1 -1
- data/lib/active_admin/helpers/scope_chain.rb +1 -0
- data/lib/active_admin/inputs/datepicker_input.rb +8 -1
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
- data/lib/active_admin/menu.rb +2 -8
- data/lib/active_admin/menu_item.rb +4 -32
- data/lib/active_admin/namespace.rb +20 -8
- data/lib/active_admin/namespace_settings.rb +110 -0
- data/lib/active_admin/orm/active_record/comments/comment.rb +2 -2
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +10 -5
- data/lib/active_admin/orm/active_record/comments.rb +15 -4
- data/lib/active_admin/page_dsl.rb +1 -1
- data/lib/active_admin/pundit_adapter.rb +13 -4
- data/lib/active_admin/resource/action_items.rb +7 -2
- data/lib/active_admin/resource/attributes.rb +7 -4
- data/lib/active_admin/resource/menu.rb +3 -3
- data/lib/active_admin/resource/naming.rb +3 -3
- data/lib/active_admin/resource/routes.rb +9 -4
- data/lib/active_admin/resource/scopes.rb +3 -3
- data/lib/active_admin/resource/sidebars.rb +1 -1
- data/lib/active_admin/resource.rb +2 -2
- data/lib/active_admin/resource_collection.rb +2 -2
- data/lib/active_admin/resource_controller/action_builder.rb +10 -0
- data/lib/active_admin/resource_controller/decorators.rb +3 -3
- data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
- data/lib/active_admin/resource_controller/scoping.rb +1 -1
- data/lib/active_admin/resource_dsl.rb +5 -3
- data/lib/active_admin/router.rb +89 -84
- data/lib/active_admin/scope.rb +9 -5
- data/lib/active_admin/settings_node.rb +19 -0
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers/display_helper.rb +10 -2
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
- data/lib/active_admin/view_helpers.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +9 -4
- data/lib/active_admin/views/components/attributes_table.rb +3 -3
- data/lib/active_admin/views/components/menu.rb +32 -0
- data/lib/active_admin/views/components/menu_item.rb +58 -0
- data/lib/active_admin/views/components/paginated_collection.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +11 -4
- data/lib/active_admin/views/components/sidebar.rb +13 -0
- data/lib/active_admin/views/components/sidebar_section.rb +0 -3
- data/lib/active_admin/views/components/site_title.rb +5 -6
- data/lib/active_admin/views/components/status_tag.rb +1 -18
- data/lib/active_admin/views/components/table_for.rb +3 -12
- data/lib/active_admin/views/components/tabs.rb +15 -3
- data/lib/active_admin/views/footer.rb +3 -7
- data/lib/active_admin/views/header.rb +3 -15
- data/lib/active_admin/views/index_as_blog.rb +1 -1
- data/lib/active_admin/views/index_as_grid.rb +25 -25
- data/lib/active_admin/views/index_as_table.rb +11 -10
- data/lib/active_admin/views/pages/base.rb +30 -53
- data/lib/active_admin/views/tabbed_navigation.rb +4 -59
- data/lib/active_admin/views.rb +1 -1
- data/lib/active_admin.rb +9 -4
- data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
- data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/lib/generators/active_admin/install/install_generator.rb +6 -2
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -1
- data/lib/generators/active_admin/install/templates/dashboard.rb +2 -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 +1 -1
- data/lib/generators/active_admin/resource/resource_generator.rb +1 -1
- data/lib/ransack_ext.rb +3 -3
- 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 +120 -523
- 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 -51
- data/.yardopts +0 -7
- data/Gemfile +0 -58
- data/Rakefile +0 -54
- data/activeadmin.gemspec +0 -32
- 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/gemfiles/rails_52.gemfile +0 -11
- 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/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
@@ -74,6 +74,8 @@ module ActiveAdmin
|
|
74
74
|
|
75
75
|
params.permit(*permitted_params, param_key => block ? instance_exec(&block) : args)
|
76
76
|
end
|
77
|
+
|
78
|
+
private :permitted_params
|
77
79
|
end
|
78
80
|
end
|
79
81
|
|
@@ -119,7 +121,7 @@ module ActiveAdmin
|
|
119
121
|
#
|
120
122
|
# ActiveAdmin.register Post do
|
121
123
|
# member_action :comments do
|
122
|
-
# @post = Post.find(params[:id]
|
124
|
+
# @post = Post.find(params[:id])
|
123
125
|
# @comments = @post.comments
|
124
126
|
# end
|
125
127
|
# end
|
@@ -138,7 +140,7 @@ module ActiveAdmin
|
|
138
140
|
|
139
141
|
controller do
|
140
142
|
before_action(only: [name]) { @page_title = title } if title
|
141
|
-
define_method(name, &block || Proc.new{})
|
143
|
+
define_method(name, &block || Proc.new {})
|
142
144
|
end
|
143
145
|
end
|
144
146
|
|
@@ -187,7 +189,7 @@ module ActiveAdmin
|
|
187
189
|
delegate :before_save, :after_save, to: :controller
|
188
190
|
delegate :before_destroy, :after_destroy, to: :controller
|
189
191
|
|
190
|
-
# This code defines both *_filter and *_action for Rails
|
192
|
+
# This code defines both *_filter and *_action for Rails 5.0 and *_action for Rails >= 5.1
|
191
193
|
phases = [
|
192
194
|
:before, :skip_before,
|
193
195
|
:after, :skip_after,
|
data/lib/active_admin/router.rb
CHANGED
@@ -1,108 +1,113 @@
|
|
1
1
|
module ActiveAdmin
|
2
|
+
# @private
|
2
3
|
class Router
|
3
|
-
|
4
|
-
|
4
|
+
attr_reader :namespaces, :router
|
5
|
+
|
6
|
+
def initialize(router:, namespaces:)
|
7
|
+
@router, @namespaces = router, namespaces
|
5
8
|
end
|
6
9
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
#
|
11
|
-
# Application.routes.draw do |map|
|
12
|
-
# ActiveAdmin.routes(self)
|
13
|
-
# end
|
14
|
-
#
|
15
|
-
def apply(router)
|
16
|
-
define_root_routes router
|
17
|
-
define_resource_routes router
|
10
|
+
def apply
|
11
|
+
define_root_routes
|
12
|
+
define_resources_routes
|
18
13
|
end
|
19
14
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
15
|
+
private
|
16
|
+
|
17
|
+
def define_root_routes
|
18
|
+
namespaces.each do |namespace|
|
19
|
+
if namespace.root?
|
20
|
+
router.root namespace.root_to_options.merge(to: namespace.root_to)
|
21
|
+
else
|
22
|
+
router.namespace namespace.name, namespace.route_options.dup do
|
23
|
+
router.root namespace.root_to_options.merge(to: namespace.root_to, as: :root)
|
29
24
|
end
|
30
25
|
end
|
31
26
|
end
|
32
27
|
end
|
33
28
|
|
34
29
|
# Defines the routes for each resource
|
35
|
-
def
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
# Add in the parent if it exists
|
42
|
-
if config.belongs_to?
|
43
|
-
belongs_to = routes
|
44
|
-
routes = Proc.new do
|
45
|
-
# If it's optional, make the normal resource routes
|
46
|
-
instance_exec &belongs_to if config.belongs_to_config.optional?
|
47
|
-
|
48
|
-
# Make the nested belongs_to routes
|
49
|
-
# :only is set to nothing so that we don't clobber any existing routes on the resource
|
50
|
-
resources config.belongs_to_config.target.resource_name.plural, only: [] do
|
51
|
-
instance_exec &belongs_to
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
30
|
+
def define_resources_routes
|
31
|
+
resources = namespaces.flat_map { |n| n.resources.values }
|
32
|
+
resources.each do |config|
|
33
|
+
define_resource_routes(config)
|
34
|
+
end
|
35
|
+
end
|
55
36
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
end
|
37
|
+
def define_resource_routes(config)
|
38
|
+
if config.namespace.root?
|
39
|
+
define_routes(config)
|
40
|
+
else
|
41
|
+
# Add on the namespace if required
|
42
|
+
define_namespace(config)
|
43
|
+
end
|
44
|
+
end
|
65
45
|
|
66
|
-
|
67
|
-
|
46
|
+
def define_routes(config)
|
47
|
+
if config.belongs_to?
|
48
|
+
define_belongs_to_routes(config)
|
49
|
+
else
|
50
|
+
page_or_resource_routes(config)
|
68
51
|
end
|
69
52
|
end
|
70
53
|
|
54
|
+
def page_or_resource_routes(config)
|
55
|
+
config.is_a?(Page) ? page_routes(config) : resource_routes(config)
|
56
|
+
end
|
57
|
+
|
71
58
|
def resource_routes(config)
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
resources config.resource_name.route_key, only: config.defined_actions do
|
84
|
-
member do
|
85
|
-
config.member_actions.each &build_action
|
86
|
-
end
|
87
|
-
|
88
|
-
collection do
|
89
|
-
config.collection_actions.each &build_action
|
90
|
-
post :batch_action if config.batch_actions_enabled?
|
91
|
-
end
|
92
|
-
end
|
93
|
-
when ::ActiveAdmin::Page
|
94
|
-
page = config.underscored_resource_name
|
95
|
-
get "/#{page}" => "#{page}#index"
|
96
|
-
config.page_actions.each do |action|
|
97
|
-
Array.wrap(action.http_verb).each do |verb|
|
98
|
-
build_route.call verb, "/#{page}/#{action.name}" => "#{page}##{action.name}"
|
99
|
-
end
|
100
|
-
end
|
101
|
-
else
|
102
|
-
raise "Unsupported config class: #{config.class}"
|
59
|
+
router.resources config.resource_name.route_key, only: config.defined_actions do
|
60
|
+
define_actions(config)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def page_routes(config)
|
65
|
+
page = config.underscored_resource_name
|
66
|
+
router.get "/#{page}" => "#{page}#index"
|
67
|
+
config.page_actions.each do |action|
|
68
|
+
Array.wrap(action.http_verb).each do |verb|
|
69
|
+
build_route(verb, "/#{page}/#{action.name}" => "#{page}##{action.name}")
|
103
70
|
end
|
104
71
|
end
|
72
|
+
end
|
73
|
+
|
74
|
+
# Defines member and collection actions
|
75
|
+
def define_actions(config)
|
76
|
+
router.member do
|
77
|
+
config.member_actions.each { |action| build_action(action) }
|
78
|
+
end
|
79
|
+
|
80
|
+
router.collection do
|
81
|
+
config.collection_actions.each { |action| build_action(action) }
|
82
|
+
router.post :batch_action if config.batch_actions_enabled?
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# Deals with +ControllerAction+ instances
|
87
|
+
# Builds one route for each HTTP verb passed in
|
88
|
+
def build_action(action)
|
89
|
+
build_route(action.http_verb, action.name)
|
90
|
+
end
|
91
|
+
|
92
|
+
def build_route(verbs, *args)
|
93
|
+
Array.wrap(verbs).each { |verb| router.send(verb, *args) }
|
94
|
+
end
|
95
|
+
|
96
|
+
def define_belongs_to_routes(config)
|
97
|
+
# If it's optional, make the normal resource routes
|
98
|
+
page_or_resource_routes(config) if config.belongs_to_config.optional?
|
99
|
+
|
100
|
+
# Make the nested belongs_to routes
|
101
|
+
# :only is set to nothing so that we don't clobber any existing routes on the resource
|
102
|
+
router.resources config.belongs_to_config.target.resource_name.plural, only: [] do
|
103
|
+
page_or_resource_routes(config)
|
104
|
+
end
|
105
|
+
end
|
105
106
|
|
107
|
+
def define_namespace(config)
|
108
|
+
router.namespace config.namespace.name, config.namespace.route_options.dup do
|
109
|
+
define_routes(config)
|
110
|
+
end
|
106
111
|
end
|
107
112
|
end
|
108
113
|
end
|
data/lib/active_admin/scope.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module ActiveAdmin
|
2
2
|
class Scope
|
3
3
|
|
4
|
-
attr_reader :scope_method, :id, :scope_block, :display_if_block, :show_count, :default_block
|
4
|
+
attr_reader :scope_method, :id, :scope_block, :display_if_block, :show_count, :default_block, :group
|
5
5
|
|
6
6
|
# Create a Scope
|
7
7
|
#
|
@@ -24,15 +24,18 @@ module ActiveAdmin
|
|
24
24
|
# Scope.new ->{Date.today.strftime '%A'}, :published_today
|
25
25
|
# # => Scope with dynamic title using the :published_today scope method
|
26
26
|
#
|
27
|
+
# Scope.new :published, nil, group: :status
|
28
|
+
# # => Scope with the group :status
|
29
|
+
#
|
27
30
|
def initialize(name, method = nil, options = {}, &block)
|
28
31
|
@name, @scope_method = name, method.try(:to_sym)
|
29
32
|
|
30
33
|
if name.is_a? Proc
|
31
34
|
raise "A string/symbol is required as the second argument if your label is a proc." unless method
|
32
|
-
@id =
|
35
|
+
@id = method.to_s.parameterize(separator: "_")
|
33
36
|
else
|
34
37
|
@scope_method ||= name.to_sym
|
35
|
-
@id =
|
38
|
+
@id = name.to_s.parameterize(separator: "_")
|
36
39
|
end
|
37
40
|
|
38
41
|
@scope_method = nil if @scope_method == :all
|
@@ -40,8 +43,9 @@ module ActiveAdmin
|
|
40
43
|
|
41
44
|
@localizer = options[:localizer]
|
42
45
|
@show_count = options.fetch(:show_count, true)
|
43
|
-
@display_if_block = options[:if] || proc{ true }
|
44
|
-
@default_block = options[:default] || proc{ false }
|
46
|
+
@display_if_block = options[:if] || proc { true }
|
47
|
+
@default_block = options[:default] || proc { false }
|
48
|
+
@group = options[:group].try(:to_sym)
|
45
49
|
end
|
46
50
|
|
47
51
|
def name
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module ActiveAdmin
|
2
|
+
|
3
|
+
class SettingsNode
|
4
|
+
class << self
|
5
|
+
# Never instantiated. Variables are stored in the singleton_class.
|
6
|
+
private_class_method :new
|
7
|
+
|
8
|
+
# @return anonymous class with same accessors as the superclass.
|
9
|
+
def build(superclass = self)
|
10
|
+
Class.new(superclass)
|
11
|
+
end
|
12
|
+
|
13
|
+
def register(name, value)
|
14
|
+
class_attribute name
|
15
|
+
send "#{name}=", value
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/active_admin/version.rb
CHANGED
@@ -2,7 +2,7 @@ module ActiveAdmin
|
|
2
2
|
module ViewHelpers
|
3
3
|
module DisplayHelper
|
4
4
|
|
5
|
-
DISPLAY_NAME_FALLBACK = ->{
|
5
|
+
DISPLAY_NAME_FALLBACK = -> {
|
6
6
|
name, klass = "", self.class
|
7
7
|
name << klass.model_name.human if klass.respond_to? :model_name
|
8
8
|
name << " ##{send(klass.primary_key)}" if klass.respond_to? :primary_key
|
@@ -25,7 +25,7 @@ module ActiveAdmin
|
|
25
25
|
@@display_name_methods_cache ||= {}
|
26
26
|
@@display_name_methods_cache[resource.class] ||= begin
|
27
27
|
methods = active_admin_application.display_name_methods - association_methods_for(resource)
|
28
|
-
method = methods.detect{ |method| resource.respond_to? method }
|
28
|
+
method = methods.detect { |method| resource.respond_to? method }
|
29
29
|
|
30
30
|
if method != :to_s || resource.method(method).source_location
|
31
31
|
method
|
@@ -69,16 +69,24 @@ module ActiveAdmin
|
|
69
69
|
object.to_s
|
70
70
|
when Date, Time
|
71
71
|
I18n.localize object, format: active_admin_application.localize_format
|
72
|
+
when Array
|
73
|
+
format_collection(object)
|
72
74
|
else
|
73
75
|
if defined?(::ActiveRecord) && object.is_a?(ActiveRecord::Base) ||
|
74
76
|
defined?(::Mongoid) && object.class.include?(Mongoid::Document)
|
75
77
|
auto_link object
|
78
|
+
elsif defined?(::ActiveRecord) && object.is_a?(ActiveRecord::Relation)
|
79
|
+
format_collection(object)
|
76
80
|
else
|
77
81
|
display_name object
|
78
82
|
end
|
79
83
|
end
|
80
84
|
end
|
81
85
|
|
86
|
+
def format_collection(collection)
|
87
|
+
safe_join(collection.map { |item| pretty_format(item) }, ', ')
|
88
|
+
end
|
89
|
+
|
82
90
|
def boolean_attr?(resource, attr, value)
|
83
91
|
case value
|
84
92
|
when TrueClass, FalseClass
|
@@ -2,7 +2,7 @@ module ActiveAdmin
|
|
2
2
|
module ViewHelpers
|
3
3
|
|
4
4
|
# Require all ruby files in the view helpers dir
|
5
|
-
Dir[File.expand_path('
|
5
|
+
Dir[File.expand_path('view_helpers', __dir__) + "/*.rb"].each { |f| require f }
|
6
6
|
|
7
7
|
include ActiveAdminApplicationHelper
|
8
8
|
include AutoLinkHelper
|
@@ -57,6 +57,12 @@ module ActiveAdmin
|
|
57
57
|
end
|
58
58
|
insert_tag(SemanticInputsProxy, form_builder, *args, &wrapped_block)
|
59
59
|
else
|
60
|
+
# Set except option to prevent sensitive fields from being shown in forms by default.
|
61
|
+
opts = args.extract_options!
|
62
|
+
opts[:except] ||= []
|
63
|
+
ActiveAdmin.application.filter_attributes.each { |e| opts[:except] << e }
|
64
|
+
args << opts
|
65
|
+
|
60
66
|
proxy_call_to_form(:inputs, *args, &block)
|
61
67
|
end
|
62
68
|
end
|
@@ -105,13 +111,12 @@ module ActiveAdmin
|
|
105
111
|
create_another = params[:create_another]
|
106
112
|
label = @resource.class.model_name.human
|
107
113
|
Arbre::Context.new do
|
108
|
-
li do
|
114
|
+
li class: 'create_another' do
|
109
115
|
input(
|
110
116
|
checked: create_another,
|
111
117
|
id: 'create_another',
|
112
|
-
class: 'create_another',
|
113
118
|
name: 'create_another',
|
114
|
-
type: 'checkbox'
|
119
|
+
type: 'checkbox'
|
115
120
|
)
|
116
121
|
label(I18n.t('active_admin.create_another', model: label), for: 'create_another')
|
117
122
|
end
|
@@ -126,7 +131,7 @@ module ActiveAdmin
|
|
126
131
|
legend = args.shift if args.first.is_a?(::String)
|
127
132
|
legend = html_options.delete(:name) if html_options.key?(:name)
|
128
133
|
legend_tag = legend ? "<legend><span>#{legend}</span></legend>" : ""
|
129
|
-
fieldset_attrs = html_options.map {|k, v| %Q{#{k}="#{v}"} }.join(" ")
|
134
|
+
fieldset_attrs = html_options.map { |k, v| %Q{#{k}="#{v}"} }.join(" ")
|
130
135
|
@opening_tag = "<fieldset #{fieldset_attrs}>#{legend_tag}<ol>"
|
131
136
|
@closing_tag = "</ol></fieldset>"
|
132
137
|
super(*(args << html_options), &block)
|
@@ -7,7 +7,7 @@ module ActiveAdmin
|
|
7
7
|
def build(obj, *attrs)
|
8
8
|
@collection = Array.wrap(obj)
|
9
9
|
@resource_class = @collection.first.class
|
10
|
-
options = {
|
10
|
+
options = {}
|
11
11
|
options[:for] = @collection.first if single_record?
|
12
12
|
super(options)
|
13
13
|
@table = table
|
@@ -16,7 +16,7 @@ module ActiveAdmin
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def rows(*attrs)
|
19
|
-
attrs.each {|attr| row(attr) }
|
19
|
+
attrs.each { |attr| row(attr) }
|
20
20
|
end
|
21
21
|
|
22
22
|
def row(*args, &block)
|
@@ -26,7 +26,7 @@ module ActiveAdmin
|
|
26
26
|
if options[:class]
|
27
27
|
classes << options[:class]
|
28
28
|
elsif title.present?
|
29
|
-
classes << "row-#{
|
29
|
+
classes << "row-#{title.to_s.parameterize(separator: "_")}"
|
30
30
|
end
|
31
31
|
options[:class] = classes.join(' ')
|
32
32
|
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module ActiveAdmin
|
2
|
+
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 Menu < Component
|
11
|
+
attr_reader :menu
|
12
|
+
builder_method :menu
|
13
|
+
|
14
|
+
# @param [ActiveAdmin::Menu] menu the Menu to render
|
15
|
+
# @param [Hash] options the options as passed to the underlying ul element.
|
16
|
+
#
|
17
|
+
def build(menu, options = {})
|
18
|
+
@menu = menu
|
19
|
+
super(options)
|
20
|
+
|
21
|
+
menu.items.each do |item|
|
22
|
+
menu_item(item) if helpers.render_in_context self, item.should_display
|
23
|
+
end
|
24
|
+
children.sort!
|
25
|
+
end
|
26
|
+
|
27
|
+
def tag_name
|
28
|
+
'ul'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module ActiveAdmin
|
2
|
+
module Views
|
3
|
+
|
4
|
+
# Arbre component used to render ActiveAdmin::MenuItem
|
5
|
+
class MenuItem < Component
|
6
|
+
builder_method :menu_item
|
7
|
+
attr_reader :label
|
8
|
+
attr_reader :url
|
9
|
+
attr_reader :priority
|
10
|
+
|
11
|
+
def build(item, options = {})
|
12
|
+
super(options.merge(id: item.id))
|
13
|
+
@label = helpers.render_in_context self, item.label
|
14
|
+
@url = helpers.render_in_context self, item.url
|
15
|
+
@priority = item.priority
|
16
|
+
@submenu = nil
|
17
|
+
|
18
|
+
add_class "current" if item.current? assigns[:current_tab]
|
19
|
+
|
20
|
+
if url
|
21
|
+
text_node link_to label, url, item.html_options
|
22
|
+
else
|
23
|
+
span label, item.html_options
|
24
|
+
end
|
25
|
+
|
26
|
+
if item.items.any?
|
27
|
+
add_class "has_nested"
|
28
|
+
@submenu = menu(item)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def tag_name
|
33
|
+
'li'
|
34
|
+
end
|
35
|
+
|
36
|
+
# Sorts by priority first, then alphabetically by label if needed.
|
37
|
+
def <=>(other)
|
38
|
+
result = priority <=> other.priority
|
39
|
+
result == 0 ? label <=> other.label : result
|
40
|
+
end
|
41
|
+
|
42
|
+
def visible?
|
43
|
+
url.nil? || real_url? || @submenu && @submenu.children.any?
|
44
|
+
end
|
45
|
+
|
46
|
+
def to_s
|
47
|
+
visible? ? super : ''
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
# URL is not nil, empty, or '#'
|
53
|
+
def real_url?
|
54
|
+
url && url.present? && url != '#'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -102,7 +102,7 @@ module ActiveAdmin
|
|
102
102
|
# you pass in the :total_pages option. We issue a query to determine
|
103
103
|
# if there is another page or not, but the limit/offset make this
|
104
104
|
# query fast.
|
105
|
-
offset = collection.offset(collection.current_page *
|
105
|
+
offset = collection.offset(collection.current_page * collection.limit_value).limit(1).count
|
106
106
|
options[:total_pages] = collection.current_page + offset
|
107
107
|
options[:right] = 0
|
108
108
|
end
|
@@ -13,16 +13,20 @@ module ActiveAdmin
|
|
13
13
|
include ::ActiveAdmin::Helpers::Collection
|
14
14
|
|
15
15
|
def default_class_name
|
16
|
-
"scopes
|
16
|
+
"scopes"
|
17
17
|
end
|
18
18
|
|
19
19
|
def tag_name
|
20
|
-
'
|
20
|
+
'div'
|
21
21
|
end
|
22
22
|
|
23
23
|
def build(scopes, options = {})
|
24
|
-
scopes.each do |
|
25
|
-
|
24
|
+
scopes.group_by(&:group).each do |group, group_scopes|
|
25
|
+
ul class: "table_tools_segmented_control #{group_class(group)}" do
|
26
|
+
group_scopes.each do |scope|
|
27
|
+
build_scope(scope, options) if call_method_or_exec_proc(scope.display_if_block)
|
28
|
+
end
|
29
|
+
end
|
26
30
|
end
|
27
31
|
end
|
28
32
|
|
@@ -60,6 +64,9 @@ module ActiveAdmin
|
|
60
64
|
collection_size(scope_chain(scope, collection_before_scope))
|
61
65
|
end
|
62
66
|
|
67
|
+
def group_class(group)
|
68
|
+
group.present? ? "scope-group-#{group}" : "scope-default-group"
|
69
|
+
end
|
63
70
|
end
|
64
71
|
end
|
65
72
|
end
|
@@ -1,11 +1,8 @@
|
|
1
|
-
require 'active_admin/helpers/output_safety_helper'
|
2
|
-
|
3
1
|
module ActiveAdmin
|
4
2
|
module Views
|
5
3
|
|
6
4
|
class SidebarSection < Panel
|
7
5
|
builder_method :sidebar_section
|
8
|
-
include OutputSafetyHelper
|
9
6
|
|
10
7
|
# Takes a ActiveAdmin::SidebarSection instance
|
11
8
|
def build(section)
|
@@ -22,8 +22,8 @@ module ActiveAdmin
|
|
22
22
|
@namespace.site_title_link.present?
|
23
23
|
end
|
24
24
|
|
25
|
-
def site_title_image
|
26
|
-
@namespace.site_title_image
|
25
|
+
def site_title_image
|
26
|
+
@site_title_image ||= @namespace.site_title_image(helpers)
|
27
27
|
end
|
28
28
|
|
29
29
|
private
|
@@ -33,7 +33,7 @@ module ActiveAdmin
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def site_title_content
|
36
|
-
if site_title_image?
|
36
|
+
if site_title_image.present?
|
37
37
|
title_image
|
38
38
|
else
|
39
39
|
title_text
|
@@ -41,12 +41,11 @@ module ActiveAdmin
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def title_text
|
44
|
-
|
44
|
+
@title_text ||= @namespace.site_title(helpers)
|
45
45
|
end
|
46
46
|
|
47
47
|
def title_image
|
48
|
-
|
49
|
-
helpers.image_tag(path, id: "site_title_image", alt: title_text)
|
48
|
+
helpers.image_tag(site_title_image, id: "site_title_image", alt: title_text)
|
50
49
|
end
|
51
50
|
|
52
51
|
end
|
@@ -28,11 +28,7 @@ module ActiveAdmin
|
|
28
28
|
# status_tag('active', class: 'important', id: 'status_123', label: 'on')
|
29
29
|
# # => <span class='status_tag active important' id='status_123'>on</span>
|
30
30
|
#
|
31
|
-
def build(
|
32
|
-
options = args.extract_options!
|
33
|
-
status = args[0]
|
34
|
-
type = args[1]
|
35
|
-
|
31
|
+
def build(status, options = {})
|
36
32
|
label = options.delete(:label)
|
37
33
|
classes = options.delete(:class)
|
38
34
|
status = convert_to_boolean_status(status)
|
@@ -46,19 +42,6 @@ module ActiveAdmin
|
|
46
42
|
super(content, options)
|
47
43
|
|
48
44
|
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
45
|
add_class(classes) if classes
|
63
46
|
end
|
64
47
|
|