activeadmin 1.0.0 → 2.11.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 +778 -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 +95 -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 +65 -22
- 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 +22 -14
- 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 +33 -20
- data/lib/active_admin/namespace_settings.rb +127 -0
- data/lib/active_admin/order_clause.rb +4 -3
- data/lib/active_admin/orm/active_record/comments/comment.rb +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 +23 -9
- 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 +16 -12
- 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,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module ActiveAdmin
|
2
3
|
module Views
|
3
4
|
# Build a StatusTag
|
@@ -5,16 +6,15 @@ 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
|
-
# @overload status_tag(status,
|
16
|
+
# @overload status_tag(status, options = {})
|
16
17
|
# @param [String] status the status to display. One of the span classes will be an underscored version of the status.
|
17
|
-
# @param [Symbol] type type of status. Will become a class of the span. ActiveAdmin provide style for :ok, :warning and :error.
|
18
18
|
# @param [Hash] options
|
19
19
|
# @option options [String] :class to override the default class
|
20
20
|
# @option options [String] :id to override the default id
|
@@ -26,31 +26,23 @@ module ActiveAdmin
|
|
26
26
|
# # => <span class='status_tag in_progress'>In Progress</span>
|
27
27
|
#
|
28
28
|
# @example
|
29
|
-
# status_tag('active', :
|
30
|
-
# # => <span class='status_tag active
|
29
|
+
# status_tag('active', class: 'important', id: 'status_123', label: 'on')
|
30
|
+
# # => <span class='status_tag active important' id='status_123'>on</span>
|
31
31
|
#
|
32
|
-
|
33
|
-
# status_tag('active', :ok, class: 'important', id: 'status_123', label: 'on')
|
34
|
-
# # => <span class='status_tag active ok important' id='status_123'>on</span>
|
35
|
-
#
|
36
|
-
def build(*args)
|
37
|
-
options = args.extract_options!
|
38
|
-
status = args[0]
|
39
|
-
type = args[1]
|
32
|
+
def build(status, options = {})
|
40
33
|
label = options.delete(:label)
|
41
34
|
classes = options.delete(:class)
|
42
35
|
status = convert_to_boolean_status(status)
|
43
36
|
|
44
37
|
if status
|
45
38
|
content = label || if s = status.to_s and s.present?
|
46
|
-
|
47
|
-
|
39
|
+
I18n.t "active_admin.status_tag.#{s.downcase}", default: s.titleize
|
40
|
+
end
|
48
41
|
end
|
49
42
|
|
50
43
|
super(content, options)
|
51
44
|
|
52
45
|
add_class(status_to_class(status)) if status
|
53
|
-
add_class(type.to_s) if type
|
54
46
|
add_class(classes) if classes
|
55
47
|
end
|
56
48
|
|
@@ -58,10 +50,12 @@ module ActiveAdmin
|
|
58
50
|
|
59
51
|
def convert_to_boolean_status(status)
|
60
52
|
case status
|
61
|
-
when true,
|
62
|
-
|
63
|
-
when false,
|
64
|
-
|
53
|
+
when true, "true"
|
54
|
+
"Yes"
|
55
|
+
when false, "false"
|
56
|
+
"No"
|
57
|
+
when nil
|
58
|
+
"Unset"
|
65
59
|
else
|
66
60
|
status
|
67
61
|
end
|
@@ -69,10 +63,12 @@ module ActiveAdmin
|
|
69
63
|
|
70
64
|
def status_to_class(status)
|
71
65
|
case status
|
66
|
+
when "Unset"
|
67
|
+
"unset no"
|
72
68
|
when String, Symbol
|
73
|
-
status.to_s.titleize.gsub(/\s/,
|
69
|
+
status.to_s.titleize.gsub(/\s/, "").underscore
|
74
70
|
else
|
75
|
-
|
71
|
+
""
|
76
72
|
end
|
77
73
|
end
|
78
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
|
-
|
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,22 +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
|
-
|
18
|
-
def build_site_title
|
19
|
-
insert_tag view_factory.site_title, @namespace
|
20
|
-
end
|
21
|
-
|
22
|
-
def build_global_navigation
|
23
|
-
insert_tag view_factory.global_navigation, @menu, class: 'header-item tabs'
|
24
|
-
end
|
25
|
-
|
26
|
-
def build_utility_navigation
|
27
|
-
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"
|
28
16
|
end
|
29
17
|
|
30
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
|
@@ -89,7 +90,6 @@ module ActiveAdmin
|
|
89
90
|
@title
|
90
91
|
end
|
91
92
|
|
92
|
-
|
93
93
|
# Setter method for the configuration of the body
|
94
94
|
#
|
95
95
|
def body(method = nil, &block)
|
@@ -124,7 +124,7 @@ module ActiveAdmin
|
|
124
124
|
if @title
|
125
125
|
h3 do
|
126
126
|
a(href: resource_path(post)) do
|
127
|
-
|
127
|
+
render_method_on_post_or_call_proc post, @title
|
128
128
|
end
|
129
129
|
end
|
130
130
|
else
|
@@ -136,7 +136,7 @@ module ActiveAdmin
|
|
136
136
|
|
137
137
|
def build_body(post)
|
138
138
|
if @body
|
139
|
-
div class:
|
139
|
+
div class: "content" do
|
140
140
|
render_method_on_post_or_call_proc post, @body
|
141
141
|
end
|
142
142
|
end
|
@@ -1,31 +1,32 @@
|
|
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
|
-
|
28
|
-
|
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
|
+
#
|
29
|
+
class IndexAsGrid < ActiveAdmin::Component
|
29
30
|
|
30
31
|
def build(page_presenter, collection)
|
31
32
|
@page_presenter = page_presenter
|
@@ -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
|
#
|
@@ -159,6 +160,24 @@ module ActiveAdmin
|
|
159
160
|
# end
|
160
161
|
# ```
|
161
162
|
#
|
163
|
+
# ## Custom sorting
|
164
|
+
#
|
165
|
+
# It is also possible to use database specific expressions and options for sorting by column
|
166
|
+
#
|
167
|
+
# ```ruby
|
168
|
+
# order_by(:title) do |order_clause|
|
169
|
+
# if order_clause.order == 'desc'
|
170
|
+
# [order_clause.to_sql, 'NULLS LAST'].join(' ')
|
171
|
+
# else
|
172
|
+
# [order_clause.to_sql, 'NULLS FIRST'].join(' ')
|
173
|
+
# end
|
174
|
+
# end
|
175
|
+
#
|
176
|
+
# index do
|
177
|
+
# column :title
|
178
|
+
# end
|
179
|
+
# ```
|
180
|
+
#
|
162
181
|
# ## Associated Sorting
|
163
182
|
#
|
164
183
|
# You're normally able to sort columns alphabetically, but by default you
|
@@ -174,6 +193,13 @@ module ActiveAdmin
|
|
174
193
|
# end
|
175
194
|
# ```
|
176
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
|
+
#
|
177
203
|
# Then it's simple to sort by any Publisher attribute from within the index table:
|
178
204
|
#
|
179
205
|
# ```ruby
|
@@ -253,13 +279,13 @@ module ActiveAdmin
|
|
253
279
|
# Display a column for checkbox
|
254
280
|
def selectable_column
|
255
281
|
return unless active_admin_config.batch_actions.any?
|
256
|
-
column resource_selection_toggle_cell, class:
|
282
|
+
column resource_selection_toggle_cell, class: "col-selectable", sortable: false do |resource|
|
257
283
|
resource_selection_cell resource
|
258
284
|
end
|
259
285
|
end
|
260
286
|
|
261
287
|
def index_column(start_value = 1)
|
262
|
-
column
|
288
|
+
column "#", class: "col-index", sortable: false do |resource|
|
263
289
|
@collection.offset_value + @collection.index(resource) + start_value
|
264
290
|
end
|
265
291
|
end
|
@@ -268,9 +294,9 @@ module ActiveAdmin
|
|
268
294
|
def id_column
|
269
295
|
raise "#{resource_class.name} has no primary_key!" unless resource_class.primary_key
|
270
296
|
column(resource_class.human_attribute_name(resource_class.primary_key), sortable: resource_class.primary_key) do |resource|
|
271
|
-
if controller.action_methods.include?(
|
297
|
+
if controller.action_methods.include?("show")
|
272
298
|
link_to resource.id, resource_path(resource), class: "resource_id_link"
|
273
|
-
elsif controller.action_methods.include?(
|
299
|
+
elsif controller.action_methods.include?("edit")
|
274
300
|
link_to resource.id, edit_resource_path(resource), class: "resource_id_link"
|
275
301
|
else
|
276
302
|
resource.id
|
@@ -279,7 +305,7 @@ module ActiveAdmin
|
|
279
305
|
end
|
280
306
|
|
281
307
|
def default_actions
|
282
|
-
raise
|
308
|
+
raise "`default_actions` is no longer provided in ActiveAdmin 1.x. Use `actions` instead."
|
283
309
|
end
|
284
310
|
|
285
311
|
# Add links to perform actions.
|
@@ -319,12 +345,12 @@ module ActiveAdmin
|
|
319
345
|
#
|
320
346
|
# ```
|
321
347
|
def actions(options = {}, &block)
|
322
|
-
name
|
323
|
-
defaults
|
324
|
-
dropdown
|
325
|
-
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" }
|
326
352
|
|
327
|
-
options[:class] ||=
|
353
|
+
options[:class] ||= "col-actions"
|
328
354
|
|
329
355
|
column name, options do |resource|
|
330
356
|
if dropdown
|
@@ -344,30 +370,31 @@ module ActiveAdmin
|
|
344
370
|
end
|
345
371
|
end
|
346
372
|
|
347
|
-
|
373
|
+
private
|
348
374
|
|
349
375
|
def defaults(resource, options = {})
|
350
|
-
|
351
|
-
|
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)
|
352
379
|
end
|
353
|
-
if controller.action_methods.include?(
|
354
|
-
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)
|
355
382
|
end
|
356
|
-
if controller.action_methods.include?(
|
357
|
-
item
|
358
|
-
|
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) }
|
359
386
|
end
|
360
387
|
end
|
361
388
|
|
362
389
|
class TableActions < ActiveAdmin::Component
|
363
390
|
builder_method :table_actions
|
364
391
|
|
365
|
-
def item *args
|
366
|
-
text_node link_to
|
392
|
+
def item *args, **kwargs
|
393
|
+
text_node link_to(*args, **kwargs)
|
367
394
|
end
|
368
395
|
end
|
369
396
|
end # IndexTableFor
|
370
397
|
|
371
|
-
end
|
398
|
+
end
|
372
399
|
end
|
373
400
|
end
|