activeadmin 1.1.0 → 2.12.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 +5 -5
- data/CHANGELOG.md +784 -111
- 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 +24 -4
- data/config/locales/eo.yml +145 -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 +31 -3
- data/config/locales/ja.yml +8 -2
- 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 +9 -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 +3 -0
- data/config/locales/tr.yml +10 -0
- data/config/locales/uk.yml +3 -0
- data/config/locales/vi.yml +53 -10
- 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 +20 -6
- 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 +23 -4
- 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 -21
- 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 +52 -15
- 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 +8 -3
- 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 +32 -19
- 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 +36 -25
- 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 +61 -12
- 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 +35 -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 +17 -27
- 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 -0
- 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 +5 -4
- 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 +124 -557
- 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/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 -239
- 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 -107
- 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 -48
- 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/settings.rb +0 -114
- data/lib/active_admin/reloader.rb +0 -25
- data/lib/bug_report_templates/active_admin_master.rb +0 -113
- 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 -150
- 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 -10
- data/spec/unit/abstract_view_factory_spec.rb +0 -78
- data/spec/unit/action_builder_spec.rb +0 -125
- 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 -304
- 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 -135
- data/spec/unit/filters/active_spec.rb +0 -24
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
- 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/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 -230
- 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 -252
- data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
- 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
- /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
|
4
5
|
class SiteTitle < Component
|
5
6
|
|
6
7
|
def tag_name
|
7
|
-
|
8
|
+
"h1"
|
8
9
|
end
|
9
10
|
|
10
11
|
def build(namespace)
|
@@ -22,8 +23,8 @@ module ActiveAdmin
|
|
22
23
|
@namespace.site_title_link.present?
|
23
24
|
end
|
24
25
|
|
25
|
-
def site_title_image
|
26
|
-
@namespace.site_title_image
|
26
|
+
def site_title_image
|
27
|
+
@site_title_image ||= @namespace.site_title_image(helpers)
|
27
28
|
end
|
28
29
|
|
29
30
|
private
|
@@ -33,7 +34,7 @@ module ActiveAdmin
|
|
33
34
|
end
|
34
35
|
|
35
36
|
def site_title_content
|
36
|
-
if site_title_image?
|
37
|
+
if site_title_image.present?
|
37
38
|
title_image
|
38
39
|
else
|
39
40
|
title_text
|
@@ -41,12 +42,11 @@ module ActiveAdmin
|
|
41
42
|
end
|
42
43
|
|
43
44
|
def title_text
|
44
|
-
|
45
|
+
@title_text ||= @namespace.site_title(helpers)
|
45
46
|
end
|
46
47
|
|
47
48
|
def title_image
|
48
|
-
|
49
|
-
helpers.image_tag(path, id: "site_title_image", alt: title_text)
|
49
|
+
helpers.image_tag(site_title_image, id: "site_title_image", alt: title_text)
|
50
50
|
end
|
51
51
|
|
52
52
|
end
|
@@ -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]
|
@@ -176,18 +178,9 @@ module ActiveAdmin
|
|
176
178
|
# to the sortable option:
|
177
179
|
# column :username, sortable: 'other_column_to_sort_on'
|
178
180
|
#
|
179
|
-
# If you pass a block to be rendered for this column, the column
|
180
|
-
# will not be sortable unless you pass a string to sortable to
|
181
|
-
# sort the column on:
|
182
|
-
#
|
183
|
-
# column('Username', sortable: 'login'){ @user.pretty_name }
|
184
|
-
# # => Sort key will be 'login'
|
185
|
-
#
|
186
181
|
def sort_key
|
187
182
|
# If boolean or nil, use the default sort key.
|
188
|
-
if @options[:sortable] == true || @options[:sortable] == false
|
189
|
-
@data.to_s
|
190
|
-
elsif @options[:sortable].nil?
|
183
|
+
if @options[:sortable].nil? || @options[:sortable] == true || @options[:sortable] == false
|
191
184
|
sort_column_name
|
192
185
|
else
|
193
186
|
@options[:sortable].to_s
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
class Tabs < ActiveAdmin::Component
|
@@ -10,19 +11,31 @@ 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
|
-
|
19
|
+
fragment = options.fetch(:id, fragmentize(title))
|
20
|
+
|
21
|
+
html_options = options.fetch(:html_options, {})
|
22
|
+
li html_options do
|
23
|
+
link_to title, "##{fragment}"
|
24
|
+
end
|
20
25
|
end
|
21
26
|
|
22
27
|
def build_content_item(title, options, &block)
|
23
|
-
options = options.reverse_merge(id: title
|
28
|
+
options = options.reverse_merge(id: fragmentize(title))
|
24
29
|
div(options, &block)
|
25
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
|
26
39
|
end
|
27
40
|
end
|
28
41
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
class Footer < Component
|
@@ -6,26 +7,23 @@ module ActiveAdmin
|
|
6
7
|
super id: "footer"
|
7
8
|
@namespace = namespace
|
8
9
|
|
9
|
-
if
|
10
|
+
if footer_text.present?
|
10
11
|
para footer_text
|
11
12
|
else
|
12
13
|
para powered_by_message
|
13
14
|
end
|
14
15
|
end
|
15
16
|
|
16
|
-
def footer?
|
17
|
-
@namespace.footer.present?
|
18
|
-
end
|
19
|
-
|
20
17
|
private
|
21
18
|
|
22
19
|
def footer_text
|
23
|
-
|
20
|
+
@footer_text ||= @namespace.footer(self)
|
24
21
|
end
|
25
22
|
|
26
23
|
def powered_by_message
|
27
|
-
I18n.t(
|
28
|
-
active_admin
|
24
|
+
I18n.t(
|
25
|
+
"active_admin.powered_by",
|
26
|
+
active_admin: link_to("Active Admin", "https://activeadmin.info"),
|
29
27
|
version: ActiveAdmin::VERSION).html_safe
|
30
28
|
end
|
31
29
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
class Header < Component
|
@@ -9,21 +10,9 @@ module ActiveAdmin
|
|
9
10
|
@menu = menu
|
10
11
|
@utility_menu = @namespace.fetch_menu(:utility_navigation)
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
def build_site_title
|
18
|
-
insert_tag view_factory.site_title, @namespace
|
19
|
-
end
|
20
|
-
|
21
|
-
def build_global_navigation
|
22
|
-
insert_tag view_factory.global_navigation, @menu, class: 'header-item tabs'
|
23
|
-
end
|
24
|
-
|
25
|
-
def build_utility_navigation
|
26
|
-
insert_tag view_factory.utility_navigation, @utility_menu, id: "utility_nav", class: 'header-item tabs'
|
13
|
+
site_title @namespace
|
14
|
+
global_navigation @menu, class: "header-item tabs"
|
15
|
+
utility_navigation @utility_menu, id: "utility_nav", class: "header-item tabs"
|
27
16
|
end
|
28
17
|
|
29
18
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
|
@@ -27,7 +28,7 @@ module ActiveAdmin
|
|
27
28
|
# ```
|
28
29
|
#
|
29
30
|
# Second, you can pass a block to the tile option which will then be
|
30
|
-
# used as the contents
|
31
|
+
# used as the contents of the title. The resource being rendered
|
31
32
|
# is passed in to the block. For Example:
|
32
33
|
#
|
33
34
|
# ```ruby
|
@@ -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,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
|