activeadmin 1.0.0 → 2.13.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activeadmin might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/CHANGELOG.md +851 -68
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +80 -82
- 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 +7 -35
- data/app/assets/stylesheets/active_admin/_header.scss +40 -8
- data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
- data/app/assets/stylesheets/active_admin/_normalize.scss +349 -0
- data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +3 -4
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
- 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/_pagination.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
- data/app/assets/stylesheets/active_admin/components/_tables.scss +5 -3
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -10
- 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 +2 -2
- data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/active_admin/devise/shared/_links.erb +12 -6
- 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/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
- data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -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 +10 -11
- data/config/locales/az.yml +138 -0
- data/config/locales/bg.yml +1 -3
- data/config/locales/bs.yml +1 -2
- data/config/locales/ca.yml +1 -3
- data/config/locales/cs.yml +1 -2
- data/config/locales/da.yml +2 -3
- data/config/locales/de-CH.yml +2 -3
- data/config/locales/de.yml +30 -3
- data/config/locales/el.yml +2 -3
- data/config/locales/en-CA.yml +139 -0
- data/config/locales/en-GB.yml +46 -5
- data/config/locales/en.yml +32 -8
- data/config/locales/eo.yml +145 -0
- data/config/locales/es-MX.yml +6 -3
- data/config/locales/es.yml +36 -10
- data/config/locales/fa.yml +1 -2
- data/config/locales/fi.yml +2 -3
- data/config/locales/fr.yml +15 -7
- data/config/locales/he.yml +53 -7
- data/config/locales/hr.yml +1 -2
- data/config/locales/hu.yml +5 -2
- data/config/locales/id.yml +2 -3
- data/config/locales/it.yml +33 -7
- data/config/locales/ja.yml +9 -5
- data/config/locales/ko.yml +2 -3
- data/config/locales/lt.yml +27 -6
- data/config/locales/lv.yml +3 -4
- data/config/locales/mk.yml +134 -0
- data/config/locales/nb.yml +16 -7
- data/config/locales/nl.yml +14 -4
- data/config/locales/pl.yml +75 -5
- data/config/locales/pt-BR.yml +10 -3
- data/config/locales/pt-PT.yml +1 -2
- data/config/locales/ro.yml +4 -4
- data/config/locales/ru.yml +4 -3
- data/config/locales/sk.yml +60 -2
- data/config/locales/sv-SE.yml +4 -3
- data/config/locales/tr.yml +10 -2
- data/config/locales/uk.yml +4 -3
- data/config/locales/vi.yml +53 -12
- data/config/locales/zh-CN.yml +34 -7
- data/config/locales/zh-TW.yml +2 -3
- data/docs/.gitignore +1 -0
- data/docs/0-installation.md +42 -15
- data/docs/1-general-configuration.md +46 -4
- data/docs/10-custom-pages.md +24 -5
- data/docs/11-decorators.md +17 -5
- data/docs/12-arbre-components.md +47 -9
- data/docs/13-authorization-adapter.md +69 -35
- data/docs/14-gotchas.md +41 -22
- data/docs/2-resource-customization.md +57 -20
- data/docs/3-index-pages/custom-index.md +2 -1
- data/docs/3-index-pages/index-as-block.md +0 -5
- data/docs/3-index-pages/index-as-blog.md +1 -6
- data/docs/3-index-pages/index-as-grid.md +0 -5
- data/docs/3-index-pages/index-as-table.md +13 -14
- data/docs/3-index-pages.md +47 -12
- data/docs/4-csv-format.md +2 -1
- data/docs/5-forms.md +68 -24
- data/docs/6-show-pages.md +14 -1
- data/docs/7-sidebars.md +2 -1
- data/docs/8-custom-actions.md +16 -2
- data/docs/9-batch-actions.md +5 -3
- 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 +21 -23
- 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 -170
- data/lib/active_admin/application_settings.rb +43 -0
- data/lib/active_admin/asset_registration.rb +1 -0
- data/lib/active_admin/authorization_adapter.rb +4 -6
- data/lib/active_admin/base_controller/authorization.rb +18 -19
- data/lib/active_admin/base_controller/menu.rb +10 -9
- data/lib/active_admin/base_controller.rb +12 -12
- 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 +8 -6
- 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 +17 -23
- data/lib/active_admin/dependency.rb +15 -78
- data/lib/active_admin/deprecation.rb +1 -25
- data/lib/active_admin/devise.rb +18 -7
- data/lib/active_admin/dsl.rb +5 -11
- 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 +14 -14
- data/lib/active_admin/filters/active_filter.rb +124 -0
- data/lib/active_admin/filters/active_sidebar.rb +28 -0
- data/lib/active_admin/filters/dsl.rb +1 -0
- data/lib/active_admin/filters/forms.rb +12 -9
- data/lib/active_admin/filters/formtastic_addons.rb +3 -7
- data/lib/active_admin/filters/resource_extension.rb +32 -35
- data/lib/active_admin/filters.rb +8 -5
- 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 +14 -6
- 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 +24 -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 -1
- 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 +13 -15
- data/lib/active_admin/menu_collection.rb +1 -2
- data/lib/active_admin/menu_item.rb +11 -38
- data/lib/active_admin/namespace.rb +34 -21
- 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 +6 -9
- 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 +37 -24
- data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
- data/lib/active_admin/orm/active_record/comments.rb +35 -23
- data/lib/active_admin/orm/active_record.rb +2 -1
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/page.rb +2 -1
- data/lib/active_admin/page_controller.rb +2 -1
- data/lib/active_admin/page_dsl.rb +2 -1
- data/lib/active_admin/page_presenter.rb +3 -1
- data/lib/active_admin/pundit_adapter.rb +73 -16
- data/lib/active_admin/resource/action_items.rb +16 -6
- data/lib/active_admin/resource/attributes.rb +10 -6
- 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 +2 -1
- data/lib/active_admin/resource/pagination.rb +1 -0
- data/lib/active_admin/resource/routes.rb +26 -15
- data/lib/active_admin/resource/scope_to.rb +8 -7
- data/lib/active_admin/resource/scopes.rb +5 -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 +43 -14
- 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 +15 -11
- data/lib/active_admin/resource_dsl.rb +18 -28
- data/lib/active_admin/router.rb +91 -84
- data/lib/active_admin/scope.rb +22 -13
- 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 +26 -9
- 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 +2 -1
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +4 -0
- data/lib/active_admin/view_helpers/scope_name_helper.rb +17 -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 +3 -1
- data/lib/active_admin/views/action_items.rb +2 -1
- data/lib/active_admin/views/components/active_admin_form.rb +15 -9
- 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 +9 -11
- data/lib/active_admin/views/components/index_list.rb +4 -5
- 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 +19 -17
- 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 +19 -23
- 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 -16
- data/lib/active_admin/views/index_as_block.rb +1 -0
- data/lib/active_admin/views/index_as_blog.rb +4 -4
- data/lib/active_admin/views/index_as_grid.rb +27 -26
- data/lib/active_admin/views/index_as_table.rb +53 -26
- data/lib/active_admin/views/pages/base.rb +47 -63
- 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 +7 -1
- data/lib/active_admin/views/tabbed_navigation.rb +5 -59
- data/lib/active_admin/views/title_bar.rb +6 -5
- data/lib/active_admin/views.rb +2 -1
- data/lib/active_admin.rb +70 -68
- 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 +7 -6
- 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/{admin_user.rb.erb → admin_users.rb.erb} +1 -1
- 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/data.js +41 -0
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
- data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
- data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
- data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
- data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
- data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
- data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
- metadata +158 -580
- data/.gitignore +0 -49
- data/.hound.yml +0 -14
- data/.rubocop.yml +0 -27
- data/.travis.yml +0 -66
- data/.yardopts +0 -8
- data/Appraisals +0 -41
- data/Gemfile +0 -49
- data/Rakefile +0 -65
- data/activeadmin.gemspec +0 -34
- data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
- 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 -9
- 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 -7
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -10
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -22
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -3
- data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -18
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -44
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
- 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 -42
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
- data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
- data/codecov.yml +0 -23
- 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 -158
- 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 -199
- data/features/index/format_as_csv.feature +0 -203
- 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 -270
- 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 -34
- 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/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 -27
- 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 -20
- 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/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 -12
- 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 -39
- 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 -25
- 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 -121
- data/features/support/paths.rb +0 -73
- 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 -45
- data/gemfiles/rails_50.gemfile +0 -45
- data/gemfiles/rails_51.gemfile +0 -45
- data/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/filters/humanized.rb +0 -68
- data/lib/active_admin/helpers/settings.rb +0 -115
- data/lib/active_admin/reloader.rb +0 -25
- data/lib/bug_report_templates/rails_5_master.rb +0 -118
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
- data/spec/bug_report_templates_spec.rb +0 -27
- 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 -62
- data/spec/requests/default_namespace_spec.rb +0 -81
- data/spec/requests/javascript_spec.rb +0 -22
- data/spec/requests/memory_spec.rb +0 -25
- data/spec/requests/stylesheets_spec.rb +0 -18
- data/spec/spec_helper.rb +0 -12
- data/spec/support/active_admin_integration_spec_helper.rb +0 -73
- data/spec/support/active_admin_request_helpers.rb +0 -39
- data/spec/support/jslint.yml +0 -80
- data/spec/support/rails_template.rb +0 -182
- data/spec/support/rails_template_with_data.rb +0 -68
- 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 -45
- 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 -11
- data/spec/unit/abstract_view_factory_spec.rb +0 -79
- 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 -180
- data/spec/unit/asset_registration_spec.rb +0 -52
- 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 -77
- 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 -306
- data/spec/unit/dependency_spec.rb +0 -135
- data/spec/unit/devise_spec.rb +0 -110
- data/spec/unit/dsl_spec.rb +0 -122
- data/spec/unit/filters/active_spec.rb +0 -14
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -500
- data/spec/unit/filters/humanized_spec.rb +0 -64
- 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 -36
- data/spec/unit/helpers/settings_spec.rb +0 -30
- data/spec/unit/i18n_spec.rb +0 -12
- 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 -143
- 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 -125
- 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 -131
- 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 -65
- data/spec/unit/resource/attributes_spec.rb +0 -50
- 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 -38
- 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 -274
- data/spec/unit/resource_registration_spec.rb +0 -61
- data/spec/unit/resource_spec.rb +0 -313
- data/spec/unit/routing_spec.rb +0 -213
- data/spec/unit/scope_spec.rb +0 -209
- data/spec/unit/settings_spec.rb +0 -118
- 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 -25
- data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
- data/spec/unit/views/components/attributes_table_spec.rb +0 -272
- 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 -189
- 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 -78
- data/spec/unit/views/components/status_tag_spec.rb +0 -249
- data/spec/unit/views/components/table_for_spec.rb +0 -436
- data/spec/unit/views/components/tabs_spec.rb +0 -39
- 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 -37
- data/tasks/lint.rake +0 -8
- data/tasks/local.rake +0 -25
- data/tasks/parallel_tests.rake +0 -66
- data/tasks/test.rake +0 -46
- data/tasks/yard.rake +0 -9
@@ -1,11 +1,6 @@
|
|
1
1
|
---
|
2
2
|
redirect_from: /docs/3-index-pages/index-as-blog.html
|
3
3
|
---
|
4
|
-
<!--
|
5
|
-
WARNING: Please DO NOT edit this file! Update
|
6
|
-
source documentation in lib/active_admin/views
|
7
|
-
and execute rake yard to regenerate it.
|
8
|
-
-->
|
9
4
|
|
10
5
|
# Index as Blog
|
11
6
|
|
@@ -33,7 +28,7 @@ end
|
|
33
28
|
```
|
34
29
|
|
35
30
|
Second, you can pass a block to the tile option which will then be
|
36
|
-
used as the contents
|
31
|
+
used as the contents of the title. The resource being rendered
|
37
32
|
is passed in to the block. For Example:
|
38
33
|
|
39
34
|
```ruby
|
@@ -1,11 +1,6 @@
|
|
1
1
|
---
|
2
2
|
redirect_from: /docs/3-index-pages/index-as-table.html
|
3
3
|
---
|
4
|
-
<!--
|
5
|
-
WARNING: Please DO NOT edit this file! Update
|
6
|
-
source documentation in lib/active_admin/views
|
7
|
-
and execute rake yard to regenerate it.
|
8
|
-
-->
|
9
4
|
|
10
5
|
# Index as a Table
|
11
6
|
|
@@ -89,8 +84,6 @@ index do
|
|
89
84
|
column :title
|
90
85
|
actions defaults: false do |post|
|
91
86
|
item "View", admin_post_path(post)
|
92
|
-
item "Edit", edit_admin_post_path(post)
|
93
|
-
item "Delete", admin_post_path(post), method: :delete
|
94
87
|
end
|
95
88
|
end
|
96
89
|
```
|
@@ -118,7 +111,8 @@ index do
|
|
118
111
|
end
|
119
112
|
```
|
120
113
|
|
121
|
-
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:
|
122
116
|
|
123
117
|
```ruby
|
124
118
|
index do
|
@@ -128,7 +122,8 @@ index do
|
|
128
122
|
end
|
129
123
|
```
|
130
124
|
|
131
|
-
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).
|
132
127
|
|
133
128
|
## Sorting
|
134
129
|
|
@@ -136,9 +131,7 @@ When a column is generated from an Active Record attribute, the table is
|
|
136
131
|
sortable by default. If you are creating a custom column, you may need to give
|
137
132
|
Active Admin a hint for how to sort the table.
|
138
133
|
|
139
|
-
|
140
|
-
is the attribute which gets used to sort objects using Active Record.
|
141
|
-
|
134
|
+
You can pass the key specifying the attribute which gets used to sort objects using Active Record.
|
142
135
|
By default, this is the column on the resource's table that the attribute corresponds to.
|
143
136
|
Otherwise, any attribute that the resource collection responds to can be used.
|
144
137
|
|
@@ -167,7 +160,7 @@ index do
|
|
167
160
|
end
|
168
161
|
```
|
169
162
|
|
170
|
-
## Custom sorting
|
163
|
+
## Custom sorting
|
171
164
|
|
172
165
|
It is also possible to use database specific expressions and options for sorting by column
|
173
166
|
|
@@ -200,6 +193,13 @@ controller do
|
|
200
193
|
end
|
201
194
|
```
|
202
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
|
+
|
203
203
|
Then it's simple to sort by any Publisher attribute from within the index table:
|
204
204
|
|
205
205
|
```ruby
|
@@ -208,7 +208,6 @@ index do
|
|
208
208
|
end
|
209
209
|
```
|
210
210
|
|
211
|
-
|
212
211
|
## Showing and Hiding Columns
|
213
212
|
|
214
213
|
The entire index block is rendered within the context of the view, so you can
|
data/docs/3-index-pages.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
---
|
2
2
|
redirect_from: /docs/3-index-pages.html
|
3
3
|
---
|
4
|
+
|
4
5
|
# Customizing the Index Page
|
5
6
|
|
6
7
|
Filtering and listing resources is one of the most important tasks for
|
@@ -80,7 +81,8 @@ end
|
|
80
81
|
|
81
82
|
Out of the box, Active Admin supports the following filter types:
|
82
83
|
|
83
|
-
* *:string* -
|
84
|
+
* *:string* - A drop down for selecting "Contains", "Equals", "Starts with",
|
85
|
+
"Ends with" and an input for a value.
|
84
86
|
* *:date_range* - A start and end date field with calendar inputs
|
85
87
|
* *:numeric* - A drop down for selecting "Equal To", "Greater Than" or "Less
|
86
88
|
Than" and an input for a value.
|
@@ -109,10 +111,12 @@ To override options for string or numeric filter pass `filters` option.
|
|
109
111
|
filter :title, filters: [:starts_with, :ends_with]
|
110
112
|
```
|
111
113
|
|
112
|
-
Also, if you don't need the select with the options 'contains', 'equals',
|
113
|
-
just add the option to the filter name with an
|
114
|
+
Also, if you don't need the select with the options 'contains', 'equals',
|
115
|
+
'starts_with' or 'ends_with' just add the option to the filter name with an
|
116
|
+
underscore.
|
114
117
|
|
115
118
|
For example:
|
119
|
+
|
116
120
|
```ruby
|
117
121
|
filter :name_equals
|
118
122
|
# or
|
@@ -127,9 +131,11 @@ filter :author, label: 'Something else'
|
|
127
131
|
|
128
132
|
By default, Active Admin will try to use ActiveModel I18n to determine the label.
|
129
133
|
|
130
|
-
You can also filter on more than one attribute of a model using the
|
131
|
-
|
132
|
-
|
134
|
+
You can also filter on more than one attribute of a model using the [Ransack
|
135
|
+
search predicate
|
136
|
+
syntax](https://github.com/activerecord-hackery/ransack/wiki/Basic-Searching).
|
137
|
+
If using a custom search method, you will also need to specify the field type
|
138
|
+
using `:as` and the label.
|
133
139
|
|
134
140
|
```ruby
|
135
141
|
filter :first_name_or_last_name_cont, as: :string, label: "Name"
|
@@ -181,8 +187,8 @@ remove_filter :id
|
|
181
187
|
## Index Scopes
|
182
188
|
|
183
189
|
You can define custom scopes for your index page. This will add a tab bar above
|
184
|
-
the index table to quickly filter your collection on pre-defined scopes. There
|
185
|
-
a number of ways to define your scopes:
|
190
|
+
the index table to quickly filter your collection on pre-defined scopes. There
|
191
|
+
are a number of ways to define your scopes:
|
186
192
|
|
187
193
|
```ruby
|
188
194
|
scope :all, default: true
|
@@ -200,12 +206,30 @@ scope ->{ Date.today.strftime '%A' }, :published_today
|
|
200
206
|
scope("Inactive") { |scope| scope.where(active: false) }
|
201
207
|
|
202
208
|
# conditionally show a custom controller scope
|
203
|
-
scope "Published", if:
|
209
|
+
scope "Published", if: -> { current_admin_user.can? :manage, Posts } do |posts|
|
204
210
|
posts.published
|
205
211
|
end
|
206
212
|
```
|
207
213
|
|
208
|
-
Scopes can be labelled with a translation, e.g.
|
214
|
+
Scopes can be labelled with a translation, e.g.
|
215
|
+
`active_admin.scopes.scope_method`.
|
216
|
+
|
217
|
+
### Scopes groups
|
218
|
+
|
219
|
+
You can assign group names to scopes to keep related scopes together and separate them from the rest.
|
220
|
+
|
221
|
+
```ruby
|
222
|
+
# a scope in the default group
|
223
|
+
scope :all
|
224
|
+
|
225
|
+
# two scopes used to filter by status
|
226
|
+
scope :active, group: :status
|
227
|
+
scope :inactive, group: :status
|
228
|
+
|
229
|
+
# two scopes used to filter by date
|
230
|
+
scope :today, group: :date
|
231
|
+
scope :tomorrow, group: :date
|
232
|
+
```
|
209
233
|
|
210
234
|
## Index default sort order
|
211
235
|
|
@@ -235,6 +259,14 @@ ActiveAdmin.register Post do
|
|
235
259
|
end
|
236
260
|
```
|
237
261
|
|
262
|
+
Or allow users to choose themselves using dropdown with values
|
263
|
+
|
264
|
+
```ruby
|
265
|
+
ActiveAdmin.register Post do
|
266
|
+
config.per_page = [10, 50, 100]
|
267
|
+
end
|
268
|
+
```
|
269
|
+
|
238
270
|
You can change it per request / action too:
|
239
271
|
|
240
272
|
```ruby
|
@@ -288,6 +320,9 @@ ActiveAdmin.setup do |config|
|
|
288
320
|
end
|
289
321
|
```
|
290
322
|
|
291
|
-
Note: you have to actually implement PDF rendering for your action, ActiveAdmin
|
323
|
+
Note: you have to actually implement PDF rendering for your action, ActiveAdmin
|
324
|
+
does not provide this feature. This setting just allows you to specify formats
|
325
|
+
that you want to show up under the index collection.
|
292
326
|
|
293
|
-
You'll need to use a PDF rendering library like PDFKit or WickedPDF to get the
|
327
|
+
You'll need to use a PDF rendering library like PDFKit or WickedPDF to get the
|
328
|
+
PDF generation you want.
|
data/docs/4-csv-format.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
---
|
2
2
|
redirect_from: /docs/4-csv-format.html
|
3
3
|
---
|
4
|
+
|
4
5
|
# Customizing the CSV format
|
5
6
|
|
6
7
|
Active Admin provides CSV file downloads on the index screen for each Resource.
|
@@ -43,6 +44,7 @@ config.csv_options = { force_quotes: true }
|
|
43
44
|
```
|
44
45
|
|
45
46
|
You can customize the filename by overriding `csv_filename` in the controller block.
|
47
|
+
|
46
48
|
```ruby
|
47
49
|
ActiveAdmin.register User do
|
48
50
|
controller do
|
@@ -53,7 +55,6 @@ ActiveAdmin.register User do
|
|
53
55
|
end
|
54
56
|
```
|
55
57
|
|
56
|
-
|
57
58
|
## Streaming
|
58
59
|
|
59
60
|
By default Active Admin streams the CSV response to your browser as it's generated.
|
data/docs/5-forms.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
---
|
2
2
|
redirect_from: /docs/5-forms.html
|
3
3
|
---
|
4
|
+
|
4
5
|
# Forms
|
5
6
|
|
6
7
|
Active Admin gives you complete control over the output of the form by creating
|
@@ -27,7 +28,7 @@ ActiveAdmin.register Post do
|
|
27
28
|
end
|
28
29
|
```
|
29
30
|
|
30
|
-
For more details, please see Formtastic's documentation.
|
31
|
+
For more details, please see [Formtastic's documentation](https://github.com/justinfrench/formtastic/wiki).
|
31
32
|
|
32
33
|
## Default
|
33
34
|
|
@@ -55,7 +56,7 @@ Which looks for something like this:
|
|
55
56
|
|
56
57
|
```ruby
|
57
58
|
# app/views/admin/posts/_form.html.arb
|
58
|
-
|
59
|
+
active_admin_form_for [:admin, resource] do |f|
|
59
60
|
inputs :title, :body
|
60
61
|
actions
|
61
62
|
end
|
@@ -63,7 +64,8 @@ end
|
|
63
64
|
|
64
65
|
This is a regular Rails partial so any template engine may be used.
|
65
66
|
|
66
|
-
You can also use the `ActiveAdmin::FormBuilder` as builder in your Formtastic
|
67
|
+
You can also use the `ActiveAdmin::FormBuilder` as builder in your Formtastic
|
68
|
+
Form for use the same helpers are used in the admin file:
|
67
69
|
|
68
70
|
```ruby
|
69
71
|
= semantic_form_for [:admin, @post], builder: ActiveAdmin::FormBuilder do |f|
|
@@ -77,10 +79,17 @@ You can also use the `ActiveAdmin::FormBuilder` as builder in your Formtastic Fo
|
|
77
79
|
|
78
80
|
## Nested Resources
|
79
81
|
|
80
|
-
You can create forms with nested models using the `has_many` method, even if
|
82
|
+
You can create forms with nested models using the `has_many` method, even if
|
83
|
+
your model uses `has_one`:
|
81
84
|
|
82
85
|
```ruby
|
83
86
|
ActiveAdmin.register Post do
|
87
|
+
permit_params :title,
|
88
|
+
:published_at,
|
89
|
+
:body,
|
90
|
+
categories_attributes: [:id, :title, :_destroy],
|
91
|
+
taggings_attributes: [:id, :tag],
|
92
|
+
comment_attributes: [:id, :body, :_destroy]
|
84
93
|
|
85
94
|
form do |f|
|
86
95
|
f.inputs 'Details' do
|
@@ -89,7 +98,9 @@ ActiveAdmin.register Post do
|
|
89
98
|
end
|
90
99
|
f.inputs 'Content', :body
|
91
100
|
f.inputs do
|
92
|
-
f.has_many :categories, heading: 'Themes',
|
101
|
+
f.has_many :categories, heading: 'Themes',
|
102
|
+
allow_destroy: true,
|
103
|
+
new_record: false do |a|
|
93
104
|
a.input :title
|
94
105
|
end
|
95
106
|
end
|
@@ -99,8 +110,10 @@ ActiveAdmin.register Post do
|
|
99
110
|
end
|
100
111
|
end
|
101
112
|
f.inputs do
|
102
|
-
f.has_many :
|
103
|
-
|
113
|
+
f.has_many :comments,
|
114
|
+
new_record: 'Leave Comment',
|
115
|
+
remove_record: 'Remove Comment',
|
116
|
+
allow_destroy: -> (c) { c.author?(current_admin_user) } do |b|
|
104
117
|
b.input :body
|
105
118
|
end
|
106
119
|
end
|
@@ -110,39 +123,67 @@ ActiveAdmin.register Post do
|
|
110
123
|
end
|
111
124
|
```
|
112
125
|
|
126
|
+
*NOTE*: In addition to using `has_many` as illustrated above, you'll need to add
|
127
|
+
`accepts_nested_attributes` to your parent model and [configure strong parameters](https://activeadmin.info/2-resource-customization.html)
|
128
|
+
|
113
129
|
The `:allow_destroy` option adds a checkbox to the end of the nested form allowing
|
114
130
|
removal of the child object upon submission. Be sure to set `allow_destroy: true`
|
115
|
-
on the association to use this option. It is possible to associate
|
131
|
+
on the association to use this option. It is possible to associate
|
132
|
+
`:allow_destroy` with a string or a symbol, corresponding to the name of a child
|
133
|
+
object's method that will get called, or with a Proc object. The Proc object
|
134
|
+
receives the child object as a parameter and should return either true or false.
|
116
135
|
|
117
|
-
The `:heading` option adds a custom heading. You can hide it entirely by passing
|
136
|
+
The `:heading` option adds a custom heading. You can hide it entirely by passing
|
137
|
+
`false`.
|
118
138
|
|
119
|
-
The `:new_record` option controls the visibility of the new record button (shown
|
120
|
-
If you pass a string, it will be used as the text for the new
|
139
|
+
The `:new_record` option controls the visibility of the new record button (shown
|
140
|
+
by default). If you pass a string, it will be used as the text for the new
|
141
|
+
record button.
|
121
142
|
|
122
|
-
The `:
|
123
|
-
|
143
|
+
The `:remove_record` option controls the text of the remove button (shown after
|
144
|
+
the new record button is pressed). If you pass a string, it will be used as the
|
145
|
+
text for the remove button.
|
124
146
|
|
125
|
-
The `:
|
147
|
+
The `:sortable` option adds a hidden field and will enable drag & drop sorting
|
148
|
+
of the children. It expects the name of the column that will store the index of
|
149
|
+
each child.
|
150
|
+
|
151
|
+
The `:sortable_start` option sets the value (0 by default) of the first position
|
152
|
+
in the list.
|
126
153
|
|
127
154
|
## Datepicker
|
128
155
|
|
129
|
-
ActiveAdmin offers the `datepicker` input, which uses the [jQuery UI
|
130
|
-
The datepicker input accepts any
|
156
|
+
ActiveAdmin offers the `datepicker` input, which uses the [jQuery UI
|
157
|
+
datepicker](http://jqueryui.com/datepicker/). The datepicker input accepts any
|
158
|
+
of the options available to the standard jQueryUI Datepicker. For example:
|
131
159
|
|
132
160
|
```ruby
|
133
161
|
form do |f|
|
134
|
-
f.input :starts_at, as: :datepicker,
|
135
|
-
|
162
|
+
f.input :starts_at, as: :datepicker,
|
163
|
+
datepicker_options: {
|
164
|
+
min_date: "2013-10-8",
|
165
|
+
max_date: "+3D"
|
166
|
+
}
|
167
|
+
|
168
|
+
f.input :ends_at, as: :datepicker,
|
169
|
+
datepicker_options: {
|
170
|
+
min_date: 3.days.ago.to_date,
|
171
|
+
max_date: "+1W +5D"
|
172
|
+
}
|
136
173
|
end
|
137
174
|
```
|
138
175
|
|
176
|
+
Datepicker also accepts the `:label` option as a string or proc to display.
|
177
|
+
If it's a proc, it will be called each time the datepicker is rendered.
|
178
|
+
|
139
179
|
## Displaying Errors
|
140
180
|
|
141
181
|
To display a list of all validation errors:
|
142
182
|
|
143
183
|
```ruby
|
144
184
|
form do |f|
|
145
|
-
f.semantic_errors *f.object.errors.
|
185
|
+
f.semantic_errors *f.object.errors.attribute_names
|
186
|
+
|
146
187
|
# ...
|
147
188
|
end
|
148
189
|
```
|
@@ -164,7 +205,7 @@ You can arrange content in tabs as shown below:
|
|
164
205
|
end
|
165
206
|
end
|
166
207
|
|
167
|
-
tab 'Advanced' do
|
208
|
+
tab 'Advanced', html_options: { class: 'specific_css_class' } do
|
168
209
|
f.inputs 'Advanced Details' do
|
169
210
|
f.input :role
|
170
211
|
end
|
@@ -174,11 +215,14 @@ You can arrange content in tabs as shown below:
|
|
174
215
|
end
|
175
216
|
```
|
176
217
|
|
177
|
-
|
218
|
+
`html_options` allows you set additional html params for tab's menu item.
|
219
|
+
|
220
|
+
# Customize the Create Another checkbox
|
221
|
+
|
222
|
+
In order to simplify creating multiple resources you may enable ActiveAdmin to
|
223
|
+
show nice "Create Another" checkbox alongside of Create Model button. It may be
|
224
|
+
enabled for the whole application:
|
178
225
|
|
179
|
-
In order to simplify creating multiple resources you may enable ActiveAdmin to show nice "Create Another" checkbox alongside of Create Model
|
180
|
-
button. It may be enabled for the whole application:
|
181
|
-
|
182
226
|
```ruby
|
183
227
|
ActiveAdmin.setup do |config|
|
184
228
|
config.create_another = true
|
data/docs/6-show-pages.md
CHANGED
@@ -3,7 +3,8 @@ redirect_from: /docs/6-show-pages.html
|
|
3
3
|
---
|
4
4
|
# Customize the Show Page
|
5
5
|
|
6
|
-
The show block is rendered within the context of the view and uses
|
6
|
+
The show block is rendered within the context of the view and uses
|
7
|
+
[Arbre](https://github.com/activeadmin/arbre) syntax.
|
7
8
|
|
8
9
|
With the `show` block, you can render anything you want.
|
9
10
|
|
@@ -78,3 +79,15 @@ ActiveAdmin.register Book do
|
|
78
79
|
end
|
79
80
|
end
|
80
81
|
```
|
82
|
+
|
83
|
+
If you want to keep the default show data, but add something extra to it:
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
show do
|
87
|
+
div do
|
88
|
+
h3 'Some custom charts about this object'
|
89
|
+
render partial: 'charts'
|
90
|
+
end
|
91
|
+
default_main_content
|
92
|
+
end
|
93
|
+
```
|
data/docs/7-sidebars.md
CHANGED
@@ -68,7 +68,8 @@ By default sidebars are positioned in the same order as they defined, but it's a
|
|
68
68
|
possible to specify their position manually:
|
69
69
|
|
70
70
|
```ruby
|
71
|
-
|
71
|
+
# will push Help section to the top (above default Filters section)
|
72
|
+
sidebar :help, priority: 0
|
72
73
|
```
|
73
74
|
|
74
75
|
Default sidebar priority is `10`.
|
data/docs/8-custom-actions.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
---
|
2
2
|
redirect_from: /docs/8-custom-actions.html
|
3
3
|
---
|
4
|
+
|
4
5
|
# Custom Controller Actions
|
5
6
|
|
6
7
|
Active Admin allows you to override and modify the underlying controller which
|
@@ -61,7 +62,7 @@ HTTP verbs. In that case, this is the suggested approach:
|
|
61
62
|
```ruby
|
62
63
|
member_action :foo, method: [:get, :post] do
|
63
64
|
if request.post?
|
64
|
-
resource.
|
65
|
+
resource.update! foo: params[:foo] || {}
|
65
66
|
head :ok
|
66
67
|
else
|
67
68
|
render :foo
|
@@ -138,11 +139,24 @@ end
|
|
138
139
|
Actions items also accept the `:if` option to conditionally display them:
|
139
140
|
|
140
141
|
```ruby
|
141
|
-
action_item :super_action,
|
142
|
+
action_item :super_action,
|
143
|
+
only: :show,
|
144
|
+
if: proc{ current_admin_user.super_admin? } do
|
142
145
|
"Only display this to super admins on the show screen"
|
143
146
|
end
|
144
147
|
```
|
145
148
|
|
149
|
+
By default action items are positioned in the same order as they defined (after default actions),
|
150
|
+
but it’s also possible to specify their position manually:
|
151
|
+
|
152
|
+
```ruby
|
153
|
+
action_item :help, priority: 0 do
|
154
|
+
"Display this action to the first position"
|
155
|
+
end
|
156
|
+
```
|
157
|
+
|
158
|
+
Default action item priority is 10.
|
159
|
+
|
146
160
|
# Modifying the Controller
|
147
161
|
|
148
162
|
The generated controller is available to you within the registration block by
|
data/docs/9-batch-actions.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
---
|
2
2
|
redirect_from: /docs/9-batch-actions.html
|
3
3
|
---
|
4
|
+
|
4
5
|
# Batch Actions
|
5
6
|
|
6
7
|
By default, the index page provides you a "Batch Action" to quickly delete records,
|
@@ -51,7 +52,7 @@ end
|
|
51
52
|
|
52
53
|
# app/admin/post.rb
|
53
54
|
ActiveAdmin.register Post do
|
54
|
-
|
55
|
+
|
55
56
|
# Resource level:
|
56
57
|
config.batch_actions = false
|
57
58
|
end
|
@@ -153,12 +154,13 @@ batch_action :doit, form: -> { {user: User.pluck(:name, :id)} } do |ids, inputs|
|
|
153
154
|
end
|
154
155
|
```
|
155
156
|
|
156
|
-
Under the covers this is powered by the JS `ActiveAdmin.
|
157
|
+
Under the covers this is powered by the JS `ActiveAdmin.ModalDialog` which you
|
158
|
+
can use yourself:
|
157
159
|
|
158
160
|
```coffee
|
159
161
|
if $('body.admin_users').length
|
160
162
|
$('a[data-prompt]').click ->
|
161
|
-
ActiveAdmin.
|
163
|
+
ActiveAdmin.ModalDialog $(@).data('prompt'), comment: 'textarea',
|
162
164
|
(inputs)=>
|
163
165
|
$.post "/admin/users/#{$(@).data 'id'}/change_state",
|
164
166
|
comment: inputs.comment, state: $(@).data('state'),
|
data/docs/CNAME
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
activeadmin.info
|
data/docs/Gemfile
CHANGED