activeadmin 1.4.3 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activeadmin might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +609 -26
- data/CONTRIBUTING.md +54 -76
- data/README.md +46 -13
- data/app/assets/javascripts/active_admin/base.js +521 -0
- data/app/assets/stylesheets/active_admin/_base.scss +53 -37
- data/app/assets/stylesheets/active_admin/_forms.scss +3 -25
- data/app/assets/stylesheets/active_admin/_header.scss +40 -8
- data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
- data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
- data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
- data/app/javascript/active_admin/base.js +28 -0
- data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
- data/app/javascript/active_admin/ext/jquery.js +9 -0
- data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
- data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/datepicker.js +16 -0
- data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
- data/app/javascript/active_admin/initializers/filters.js +10 -0
- data/app/javascript/active_admin/initializers/has-many.js +98 -0
- data/app/javascript/active_admin/initializers/per-page.js +13 -0
- data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/tabs.js +6 -0
- data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
- data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
- data/app/javascript/active_admin/lib/filters.js +39 -0
- data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
- data/app/javascript/active_admin/lib/per-page.js +38 -0
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
- data/app/javascript/active_admin/lib/utils.js +40 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
- data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
- data/app/views/active_admin/devise/registrations/new.html.erb +1 -2
- data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/active_admin/devise/shared/_links.erb +1 -1
- data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -0
- data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
- data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
- data/app/views/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +19 -8
- data/config/locales/ar.yml +9 -15
- data/config/locales/az.yml +131 -0
- data/config/locales/bg.yml +1 -8
- data/config/locales/bs.yml +1 -7
- data/config/locales/ca.yml +1 -8
- data/config/locales/cs.yml +1 -7
- data/config/locales/da.yml +1 -7
- data/config/locales/de-CH.yml +1 -7
- data/config/locales/de.yml +19 -8
- data/config/locales/el.yml +1 -7
- data/config/locales/en-CA.yml +4 -10
- data/config/locales/en-GB.yml +4 -10
- data/config/locales/en.yml +4 -11
- data/config/locales/eo.yml +1 -8
- data/config/locales/es-MX.yml +3 -8
- data/config/locales/es.yml +6 -13
- data/config/locales/fa.yml +1 -7
- data/config/locales/fi.yml +1 -7
- data/config/locales/fr.yml +9 -16
- data/config/locales/he.yml +1 -10
- data/config/locales/hr.yml +1 -7
- data/config/locales/hu.yml +3 -6
- data/config/locales/id.yml +1 -7
- data/config/locales/it.yml +19 -8
- data/config/locales/ja.yml +3 -10
- data/config/locales/ko.yml +2 -8
- data/config/locales/lt.yml +3 -10
- data/config/locales/lv.yml +3 -9
- data/config/locales/mk.yml +126 -0
- data/config/locales/nb.yml +1 -8
- data/config/locales/nl.yml +2 -9
- data/config/locales/pl.yml +1 -8
- data/config/locales/pt-BR.yml +1 -8
- data/config/locales/pt-PT.yml +1 -7
- data/config/locales/ro.yml +4 -9
- data/config/locales/ru.yml +1 -6
- data/config/locales/sk.yml +58 -6
- data/config/locales/sv-SE.yml +59 -39
- data/config/locales/tr.yml +1 -11
- data/config/locales/uk.yml +3 -6
- data/config/locales/vi.yml +40 -19
- data/config/locales/zh-CN.yml +35 -23
- data/config/locales/zh-TW.yml +1 -7
- data/lib/active_admin/abstract_view_factory.rb +1 -0
- data/lib/active_admin/application.rb +26 -33
- data/lib/active_admin/application_settings.rb +7 -3
- data/lib/active_admin/asset_registration.rb +4 -11
- data/lib/active_admin/authorization_adapter.rb +6 -3
- data/lib/active_admin/base_controller/authorization.rb +17 -16
- data/lib/active_admin/base_controller/menu.rb +1 -0
- data/lib/active_admin/base_controller.rb +12 -11
- data/lib/active_admin/batch_actions/controller.rb +5 -4
- data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
- data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
- data/lib/active_admin/batch_actions.rb +1 -0
- data/lib/active_admin/callbacks.rb +2 -1
- data/lib/active_admin/cancan_adapter.rb +2 -1
- data/lib/active_admin/collection_decorator.rb +32 -0
- data/lib/active_admin/component.rb +1 -0
- data/lib/active_admin/controller_action.rb +3 -1
- data/lib/active_admin/csv_builder.rb +15 -23
- data/lib/active_admin/dependency.rb +12 -87
- data/lib/active_admin/deprecation.rb +1 -0
- data/lib/active_admin/devise.rb +16 -5
- data/lib/active_admin/dsl.rb +3 -9
- data/lib/active_admin/dynamic_setting.rb +1 -0
- data/lib/active_admin/dynamic_settings_node.rb +3 -2
- data/lib/active_admin/engine.rb +13 -9
- data/lib/active_admin/error.rb +5 -4
- data/lib/active_admin/filters/active.rb +2 -1
- data/lib/active_admin/filters/active_filter.rb +11 -10
- data/lib/active_admin/filters/active_sidebar.rb +8 -30
- data/lib/active_admin/filters/dsl.rb +1 -0
- data/lib/active_admin/filters/forms.rb +9 -8
- data/lib/active_admin/filters/formtastic_addons.rb +3 -7
- data/lib/active_admin/filters/resource_extension.rb +33 -8
- data/lib/active_admin/filters.rb +8 -7
- data/lib/active_admin/form_builder.rb +27 -22
- data/lib/active_admin/generators/boilerplate.rb +13 -4
- data/lib/active_admin/helpers/collection.rb +2 -0
- data/lib/active_admin/helpers/i18n.rb +1 -0
- data/lib/active_admin/helpers/optional_display.rb +3 -2
- data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
- data/lib/active_admin/helpers/scope_chain.rb +2 -0
- data/lib/active_admin/inputs/datepicker_input.rb +3 -2
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +9 -8
- data/lib/active_admin/inputs/filters/base.rb +2 -1
- data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
- data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +18 -14
- data/lib/active_admin/inputs/filters/numeric_input.rb +2 -1
- data/lib/active_admin/inputs/filters/select_input.rb +3 -2
- data/lib/active_admin/inputs/filters/string_input.rb +2 -1
- data/lib/active_admin/inputs/filters/text_input.rb +1 -0
- data/lib/active_admin/inputs.rb +1 -0
- data/lib/active_admin/localizers/resource_localizer.rb +4 -3
- data/lib/active_admin/localizers.rb +2 -1
- data/lib/active_admin/menu.rb +7 -3
- data/lib/active_admin/menu_collection.rb +1 -0
- data/lib/active_admin/menu_item.rb +8 -7
- data/lib/active_admin/namespace.rb +15 -14
- data/lib/active_admin/namespace_settings.rb +28 -8
- data/lib/active_admin/order_clause.rb +3 -2
- data/lib/active_admin/orm/active_record/comments/comment.rb +13 -4
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +30 -24
- data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
- data/lib/active_admin/orm/active_record/comments.rb +30 -29
- data/lib/active_admin/orm/active_record.rb +2 -1
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/page.rb +2 -1
- data/lib/active_admin/page_controller.rb +1 -0
- data/lib/active_admin/page_dsl.rb +2 -1
- data/lib/active_admin/page_presenter.rb +3 -1
- data/lib/active_admin/pundit_adapter.rb +71 -16
- data/lib/active_admin/resource/action_items.rb +6 -5
- data/lib/active_admin/resource/attributes.rb +9 -5
- data/lib/active_admin/resource/belongs_to.rb +9 -3
- data/lib/active_admin/resource/controllers.rb +2 -1
- data/lib/active_admin/resource/includes.rb +1 -0
- data/lib/active_admin/resource/menu.rb +6 -5
- data/lib/active_admin/resource/model.rb +16 -0
- data/lib/active_admin/resource/naming.rb +6 -5
- data/lib/active_admin/resource/ordering.rb +1 -0
- data/lib/active_admin/resource/page_presenters.rb +1 -0
- data/lib/active_admin/resource/pagination.rb +1 -0
- data/lib/active_admin/resource/routes.rb +26 -14
- data/lib/active_admin/resource/scope_to.rb +8 -7
- data/lib/active_admin/resource/scopes.rb +4 -3
- data/lib/active_admin/resource/sidebars.rb +3 -2
- data/lib/active_admin/resource.rb +37 -22
- data/lib/active_admin/resource_collection.rb +3 -2
- data/lib/active_admin/resource_controller/action_builder.rb +11 -0
- data/lib/active_admin/resource_controller/data_access.rb +31 -5
- data/lib/active_admin/resource_controller/decorators.rb +8 -29
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
- data/lib/active_admin/resource_controller/scoping.rb +1 -0
- data/lib/active_admin/resource_controller/sidebars.rb +1 -0
- data/lib/active_admin/resource_controller/streaming.rb +9 -7
- data/lib/active_admin/resource_controller.rb +14 -10
- data/lib/active_admin/resource_dsl.rb +16 -28
- data/lib/active_admin/router.rb +4 -2
- data/lib/active_admin/scope.rb +16 -11
- data/lib/active_admin/settings_node.rb +2 -1
- data/lib/active_admin/sidebar_section.rb +4 -1
- data/lib/active_admin/version.rb +2 -1
- data/lib/active_admin/view_factory.rb +18 -17
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
- data/lib/active_admin/view_helpers/display_helper.rb +32 -8
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
- data/lib/active_admin/view_helpers/fields_for.rb +3 -2
- data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
- data/lib/active_admin/view_helpers/form_helper.rb +1 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
- data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
- data/lib/active_admin/view_helpers/title_helper.rb +1 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
- data/lib/active_admin/view_helpers.rb +2 -1
- data/lib/active_admin/views/action_items.rb +1 -0
- data/lib/active_admin/views/components/active_admin_form.rb +14 -11
- data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
- data/lib/active_admin/views/components/attributes_table.rb +9 -8
- data/lib/active_admin/views/components/blank_slate.rb +2 -1
- data/lib/active_admin/views/components/columns.rb +1 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
- data/lib/active_admin/views/components/index_list.rb +4 -3
- data/lib/active_admin/views/components/menu.rb +2 -1
- data/lib/active_admin/views/components/menu_item.rb +5 -4
- data/lib/active_admin/views/components/paginated_collection.rb +22 -20
- data/lib/active_admin/views/components/panel.rb +2 -1
- data/lib/active_admin/views/components/scopes.rb +8 -5
- data/lib/active_admin/views/components/sidebar.rb +1 -0
- data/lib/active_admin/views/components/sidebar_section.rb +1 -3
- data/lib/active_admin/views/components/site_title.rb +2 -1
- data/lib/active_admin/views/components/status_tag.rb +14 -26
- data/lib/active_admin/views/components/table_for.rb +21 -19
- data/lib/active_admin/views/components/tabs.rb +14 -4
- data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
- data/lib/active_admin/views/footer.rb +4 -2
- data/lib/active_admin/views/header.rb +3 -2
- data/lib/active_admin/views/index_as_block.rb +1 -0
- data/lib/active_admin/views/index_as_blog.rb +2 -1
- data/lib/active_admin/views/index_as_grid.rb +2 -1
- data/lib/active_admin/views/index_as_table.rb +27 -22
- data/lib/active_admin/views/pages/base.rb +25 -14
- data/lib/active_admin/views/pages/form.rb +1 -0
- data/lib/active_admin/views/pages/index.rb +16 -13
- data/lib/active_admin/views/pages/layout.rb +1 -0
- data/lib/active_admin/views/pages/page.rb +1 -0
- data/lib/active_admin/views/pages/show.rb +2 -7
- data/lib/active_admin/views/tabbed_navigation.rb +3 -2
- data/lib/active_admin/views/title_bar.rb +2 -1
- data/lib/active_admin/views.rb +2 -1
- data/lib/active_admin.rb +67 -63
- data/lib/activeadmin.rb +2 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
- data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
- data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
- data/lib/generators/active_admin/install/install_generator.rb +19 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +62 -3
- data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
- data/lib/generators/active_admin/page/page_generator.rb +2 -1
- data/lib/generators/active_admin/page/templates/page.rb +1 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
- data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
- data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
- data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
- data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
- metadata +115 -173
- data/.circleci/config.yml +0 -572
- data/.github/ISSUE_TEMPLATE.md +0 -20
- data/.gitignore +0 -16
- data/.mdlrc +0 -1
- data/.rspec +0 -1
- data/.rspec_parallel +0 -2
- data/.rubocop.yml +0 -99
- data/.simplecov +0 -9
- data/.yardopts +0 -7
- data/Gemfile +0 -30
- data/Gemfile.common +0 -26
- data/Gemfile.lock +0 -433
- data/Rakefile +0 -24
- data/activeadmin.gemspec +0 -32
- data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
- data/app/assets/images/active_admin/orderable.png +0 -0
- data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
- data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
- data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
- data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
- data/bin/install_chromedriver.sh +0 -17
- data/config/i18n-tasks.yml +0 -26
- data/config/mdl_style.rb +0 -11
- data/cucumber.yml +0 -7
- data/docs/.gitignore +0 -1
- data/docs/0-installation.md +0 -118
- data/docs/1-general-configuration.md +0 -204
- data/docs/10-custom-pages.md +0 -150
- data/docs/11-decorators.md +0 -59
- data/docs/12-arbre-components.md +0 -201
- data/docs/13-authorization-adapter.md +0 -285
- data/docs/14-gotchas.md +0 -138
- data/docs/2-resource-customization.md +0 -466
- data/docs/3-index-pages/custom-index.md +0 -35
- data/docs/3-index-pages/index-as-block.md +0 -19
- data/docs/3-index-pages/index-as-blog.md +0 -69
- data/docs/3-index-pages/index-as-grid.md +0 -27
- data/docs/3-index-pages/index-as-table.md +0 -227
- data/docs/3-index-pages.md +0 -328
- data/docs/4-csv-format.md +0 -74
- data/docs/5-forms.md +0 -232
- data/docs/6-show-pages.md +0 -81
- data/docs/7-sidebars.md +0 -75
- data/docs/8-custom-actions.md +0 -177
- data/docs/9-batch-actions.md +0 -237
- data/docs/CNAME +0 -1
- data/docs/Gemfile +0 -4
- data/docs/Gemfile.lock +0 -249
- data/docs/README.md +0 -24
- data/docs/_config.yml +0 -2
- data/docs/_includes/footer.html +0 -8
- data/docs/_includes/google-analytics.html +0 -16
- data/docs/_includes/head.html +0 -7
- data/docs/_includes/toc.html +0 -98
- data/docs/_includes/top-menu.html +0 -17
- data/docs/_layouts/default.html +0 -21
- data/docs/documentation.md +0 -60
- data/docs/images/activeadmin.png +0 -0
- data/docs/images/code-header.png +0 -0
- data/docs/images/divider.png +0 -0
- data/docs/images/features.png +0 -0
- data/docs/images/tidelift.svg +0 -14
- data/docs/index.html +0 -125
- data/docs/stylesheets/main.css +0 -1176
- data/gemfiles/rails_42.gemfile +0 -10
- data/gemfiles/rails_42.gemfile.lock +0 -339
- data/gemfiles/rails_50.gemfile +0 -10
- data/gemfiles/rails_50.gemfile.lock +0 -353
- data/gemfiles/rails_51.gemfile +0 -10
- data/gemfiles/rails_51.gemfile.lock +0 -353
- data/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
- data/lib/active_admin/reloader.rb +0 -25
- data/lib/bug_report_templates/active_admin_master.rb +0 -111
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
- data/lib/ransack_ext.rb +0 -20
- data/tasks/application_generator.rb +0 -50
- data/tasks/docs.rake +0 -64
- data/tasks/gemfiles.rake +0 -8
- data/tasks/lint.rake +0 -110
- data/tasks/local.rake +0 -27
- data/tasks/release.rake +0 -6
- data/tasks/test.rake +0 -42
@@ -1,42 +0,0 @@
|
|
1
|
-
onDOMReady = ->
|
2
|
-
#
|
3
|
-
# Use ActiveAdmin.modal_dialog to prompt user if confirmation is required for current Batch Action
|
4
|
-
#
|
5
|
-
$('.batch_actions_selector li a').click (e)->
|
6
|
-
e.stopPropagation() # prevent Rails UJS click event
|
7
|
-
e.preventDefault()
|
8
|
-
if message = $(@).data 'confirm'
|
9
|
-
ActiveAdmin.modal_dialog message, $(@).data('inputs'), (inputs)=>
|
10
|
-
$(@).trigger 'confirm:complete', inputs
|
11
|
-
else
|
12
|
-
$(@).trigger 'confirm:complete'
|
13
|
-
|
14
|
-
$('.batch_actions_selector li a').on 'confirm:complete', (e, inputs)->
|
15
|
-
if val = JSON.stringify inputs
|
16
|
-
$('#batch_action_inputs').removeAttr('disabled').val val
|
17
|
-
else
|
18
|
-
$('#batch_action_inputs').attr 'disabled', 'disabled'
|
19
|
-
|
20
|
-
$('#batch_action').val $(@).data 'action'
|
21
|
-
$('#collection_selection').submit()
|
22
|
-
|
23
|
-
#
|
24
|
-
# Add checkbox selection to resource tables and lists if batch actions are enabled
|
25
|
-
#
|
26
|
-
|
27
|
-
if $(".batch_actions_selector").length && $(":checkbox.toggle_all").length
|
28
|
-
|
29
|
-
if $(".paginated_collection table.index_table").length
|
30
|
-
$(".paginated_collection table.index_table").tableCheckboxToggler()
|
31
|
-
else
|
32
|
-
$(".paginated_collection").checkboxToggler()
|
33
|
-
|
34
|
-
$(document).on 'change', '.paginated_collection :checkbox', ->
|
35
|
-
if $(".paginated_collection :checkbox:checked").length
|
36
|
-
$(".batch_actions_selector").each -> $(@).aaDropdownMenu("enable")
|
37
|
-
else
|
38
|
-
$(".batch_actions_selector").each -> $(@).aaDropdownMenu("disable")
|
39
|
-
|
40
|
-
$(document).
|
41
|
-
ready(onDOMReady).
|
42
|
-
on 'page:load turbolinks:load', onDOMReady
|
@@ -1,46 +0,0 @@
|
|
1
|
-
class ActiveAdmin.CheckboxToggler
|
2
|
-
constructor: (@options, @container)->
|
3
|
-
defaults = {}
|
4
|
-
@options = $.extend defaults, @options
|
5
|
-
@_init()
|
6
|
-
@_bind()
|
7
|
-
|
8
|
-
_init: ->
|
9
|
-
if not @container
|
10
|
-
throw new Error('Container element not found')
|
11
|
-
else
|
12
|
-
@$container = $(@container)
|
13
|
-
|
14
|
-
if not @$container.find('.toggle_all').length
|
15
|
-
throw new Error('"toggle all" checkbox not found')
|
16
|
-
else
|
17
|
-
@toggle_all_checkbox = @$container.find '.toggle_all'
|
18
|
-
|
19
|
-
@checkboxes = @$container.find(':checkbox').not @toggle_all_checkbox
|
20
|
-
|
21
|
-
_bind: ->
|
22
|
-
@checkboxes.change (e)=> @_didChangeCheckbox e.target
|
23
|
-
@toggle_all_checkbox.change => @_didChangeToggleAllCheckbox()
|
24
|
-
|
25
|
-
_didChangeCheckbox: (checkbox)->
|
26
|
-
numChecked = @checkboxes.filter(':checked').length
|
27
|
-
|
28
|
-
allChecked = numChecked == @checkboxes.length
|
29
|
-
someChecked = numChecked > 0 && numChecked < @checkboxes.length
|
30
|
-
|
31
|
-
@toggle_all_checkbox.prop checked: allChecked, indeterminate: someChecked
|
32
|
-
|
33
|
-
_didChangeToggleAllCheckbox: ->
|
34
|
-
setting = @toggle_all_checkbox.prop 'checked'
|
35
|
-
@checkboxes.prop checked: setting
|
36
|
-
setting
|
37
|
-
|
38
|
-
option: (key, value) ->
|
39
|
-
if $.isPlainObject(key)
|
40
|
-
@options = $.extend(true, @options, key)
|
41
|
-
else if key?
|
42
|
-
@options[key]
|
43
|
-
else
|
44
|
-
@options[key] = value
|
45
|
-
|
46
|
-
$.widget.bridge 'checkboxToggler', ActiveAdmin.CheckboxToggler
|
@@ -1,104 +0,0 @@
|
|
1
|
-
class ActiveAdmin.DropdownMenu
|
2
|
-
|
3
|
-
constructor: (@options, @element) ->
|
4
|
-
@$element = $(@element)
|
5
|
-
|
6
|
-
defaults = {
|
7
|
-
fadeInDuration: 20,
|
8
|
-
fadeOutDuration: 100,
|
9
|
-
onClickActionItemCallback: null
|
10
|
-
}
|
11
|
-
|
12
|
-
@options = $.extend defaults, @options
|
13
|
-
@isOpen = false
|
14
|
-
|
15
|
-
@$menuButton = @$element.find '.dropdown_menu_button'
|
16
|
-
@$menuList = @$element.find '.dropdown_menu_list_wrapper'
|
17
|
-
|
18
|
-
@_buildMenuList()
|
19
|
-
@_bind()
|
20
|
-
|
21
|
-
open: ->
|
22
|
-
@isOpen = true
|
23
|
-
@$menuList.fadeIn @options.fadeInDuration
|
24
|
-
|
25
|
-
@_position()
|
26
|
-
@
|
27
|
-
|
28
|
-
|
29
|
-
close: ->
|
30
|
-
@isOpen = false
|
31
|
-
@$menuList.fadeOut this.options.fadeOutDuration
|
32
|
-
@
|
33
|
-
|
34
|
-
destroy: ->
|
35
|
-
@$element = null
|
36
|
-
@
|
37
|
-
|
38
|
-
isDisabled: ->
|
39
|
-
@$menuButton.hasClass 'disabled'
|
40
|
-
|
41
|
-
disable: ->
|
42
|
-
@$menuButton.addClass 'disabled'
|
43
|
-
|
44
|
-
enable: ->
|
45
|
-
@$menuButton.removeClass 'disabled'
|
46
|
-
|
47
|
-
option: (key, value) ->
|
48
|
-
if $.isPlainObject(key)
|
49
|
-
@options = $.extend(true, @options, key)
|
50
|
-
else if key?
|
51
|
-
@options[key]
|
52
|
-
else
|
53
|
-
@options[key] = value
|
54
|
-
|
55
|
-
# Private
|
56
|
-
|
57
|
-
_buildMenuList: ->
|
58
|
-
@$nipple = $('<div class="dropdown_menu_nipple"></div>')
|
59
|
-
@$menuList.prepend @$nipple
|
60
|
-
@$menuList.hide()
|
61
|
-
|
62
|
-
_bind: ->
|
63
|
-
$('body').click =>
|
64
|
-
@close() if @isOpen
|
65
|
-
|
66
|
-
@$menuButton.click =>
|
67
|
-
unless @isDisabled()
|
68
|
-
if @isOpen then @close() else @open()
|
69
|
-
false
|
70
|
-
|
71
|
-
_position: ->
|
72
|
-
@$menuList.css 'top', @$menuButton.position().top + @$menuButton.outerHeight() + 10
|
73
|
-
|
74
|
-
button_left = @$menuButton.position().left
|
75
|
-
button_center = @$menuButton.outerWidth() / 2
|
76
|
-
button_right = button_left + button_center * 2
|
77
|
-
menu_center = @$menuList.outerWidth() / 2
|
78
|
-
nipple_center = @$nipple.outerWidth() / 2
|
79
|
-
window_right = $(window).width()
|
80
|
-
|
81
|
-
centered_menu_left = button_left + button_center - menu_center
|
82
|
-
centered_menu_right = button_left + button_center + menu_center
|
83
|
-
|
84
|
-
if centered_menu_left < 0
|
85
|
-
# Left align with button
|
86
|
-
@$menuList.css 'left', button_left
|
87
|
-
@$nipple.css 'left', button_center - nipple_center
|
88
|
-
else if centered_menu_right > window_right
|
89
|
-
# Right align with button
|
90
|
-
@$menuList.css 'right', window_right - button_right
|
91
|
-
@$nipple.css 'right', button_center - nipple_center
|
92
|
-
else
|
93
|
-
# Center align under button
|
94
|
-
@$menuList.css 'left', centered_menu_left
|
95
|
-
@$nipple.css 'left', menu_center - nipple_center
|
96
|
-
|
97
|
-
$.widget.bridge 'aaDropdownMenu', ActiveAdmin.DropdownMenu
|
98
|
-
|
99
|
-
onDOMReady = ->
|
100
|
-
$('.dropdown_menu').aaDropdownMenu()
|
101
|
-
|
102
|
-
$(document).
|
103
|
-
ready(onDOMReady).
|
104
|
-
on 'page:load turbolinks:load', onDOMReady
|
@@ -1,19 +0,0 @@
|
|
1
|
-
ActiveAdmin.flash =
|
2
|
-
class Flash
|
3
|
-
@error: (message, close_after) ->
|
4
|
-
new @ message, "error", close_after
|
5
|
-
@notice: (message, close_after) ->
|
6
|
-
new @ message, "notice", close_after
|
7
|
-
reference: ->
|
8
|
-
@reference
|
9
|
-
constructor: (@message, @type = "notice", close_after) ->
|
10
|
-
@reference = jQuery("<div>").addClass("flash flash_#{@type}").text(@message)
|
11
|
-
jQuery ".flashes"
|
12
|
-
.append @reference
|
13
|
-
@close_after close_after if close_after?
|
14
|
-
close_after: (close_after) ->
|
15
|
-
setTimeout =>
|
16
|
-
@close()
|
17
|
-
, close_after * 1000
|
18
|
-
close: ->
|
19
|
-
@reference.remove()
|
@@ -1,79 +0,0 @@
|
|
1
|
-
$ ->
|
2
|
-
# Provides a before-removal hook:
|
3
|
-
# $ ->
|
4
|
-
# # This is a good place to tear down JS plugins to prevent memory leaks.
|
5
|
-
# $(document).on 'has_many_remove:before', '.has_many_container', (e, fieldset, container)->
|
6
|
-
# fieldset.find('.select2').select2 'destroy'
|
7
|
-
#
|
8
|
-
# # If you need to do anything after removing the items you can use the
|
9
|
-
# has_many_remove:after hook
|
10
|
-
# $(document).on 'has_many_remove:after', '.has_many_container', (e, fieldset, container)->
|
11
|
-
# list_item_count = container.find('.has_many_fields').length
|
12
|
-
# alert("There are now #{list_item_count} items in the list")
|
13
|
-
#
|
14
|
-
$(document).on 'click', 'a.button.has_many_remove', (e)->
|
15
|
-
e.preventDefault()
|
16
|
-
parent = $(@).closest '.has_many_container'
|
17
|
-
to_remove = $(@).closest 'fieldset'
|
18
|
-
recompute_positions parent
|
19
|
-
|
20
|
-
parent.trigger 'has_many_remove:before', [to_remove, parent]
|
21
|
-
to_remove.remove()
|
22
|
-
parent.trigger 'has_many_remove:after', [to_remove, parent]
|
23
|
-
|
24
|
-
# Provides before and after creation hooks:
|
25
|
-
# $ ->
|
26
|
-
# # The before hook allows you to prevent the creation of new records.
|
27
|
-
# $(document).on 'has_many_add:before', '.has_many_container', (e, container)->
|
28
|
-
# if $(@).children('fieldset').length >= 3
|
29
|
-
# alert "you've reached the maximum number of items"
|
30
|
-
# e.preventDefault()
|
31
|
-
#
|
32
|
-
# # The after hook is a good place to initialize JS plugins and the like.
|
33
|
-
# $(document).on 'has_many_add:after', '.has_many_container', (e, fieldset, container)->
|
34
|
-
# fieldset.find('select').chosen()
|
35
|
-
#
|
36
|
-
$(document).on 'click', 'a.button.has_many_add', (e)->
|
37
|
-
e.preventDefault()
|
38
|
-
parent = $(@).closest '.has_many_container'
|
39
|
-
parent.trigger before_add = $.Event('has_many_add:before'), [parent]
|
40
|
-
|
41
|
-
unless before_add.isDefaultPrevented()
|
42
|
-
index = parent.data('has_many_index') || parent.children('fieldset').length - 1
|
43
|
-
parent.data has_many_index: ++index
|
44
|
-
|
45
|
-
regex = new RegExp $(@).data('placeholder'), 'g'
|
46
|
-
html = $(@).data('html').replace regex, index
|
47
|
-
|
48
|
-
fieldset = $(html).insertBefore(@)
|
49
|
-
recompute_positions parent
|
50
|
-
parent.trigger 'has_many_add:after', [fieldset, parent]
|
51
|
-
|
52
|
-
$(document).on 'change','.has_many_container[data-sortable] :input[name$="[_destroy]"]', ->
|
53
|
-
recompute_positions $(@).closest '.has_many'
|
54
|
-
|
55
|
-
init_sortable()
|
56
|
-
$(document).on 'has_many_add:after', '.has_many_container', init_sortable
|
57
|
-
|
58
|
-
|
59
|
-
init_sortable = ->
|
60
|
-
elems = $('.has_many_container[data-sortable]:not(.ui-sortable)')
|
61
|
-
elems.sortable \
|
62
|
-
items: '> fieldset',
|
63
|
-
handle: '> ol > .handle',
|
64
|
-
stop: recompute_positions
|
65
|
-
elems.each recompute_positions
|
66
|
-
|
67
|
-
recompute_positions = (parent)->
|
68
|
-
parent = if parent instanceof jQuery then parent else $(@)
|
69
|
-
input_name = parent.data 'sortable'
|
70
|
-
position = parseInt(parent.data('sortable-start') || 0, 10)
|
71
|
-
|
72
|
-
parent.children('fieldset').each ->
|
73
|
-
# We ignore nested inputs, so when defining your has_many, be sure to keep
|
74
|
-
# your sortable input at the root of the has_many block.
|
75
|
-
destroy_input = $(@).find "> ol > .input > :input[name$='[_destroy]']"
|
76
|
-
sortable_input = $(@).find "> ol > .input > :input[name$='[#{input_name}]']"
|
77
|
-
|
78
|
-
if sortable_input.length
|
79
|
-
sortable_input.val if destroy_input.is ':checked' then '' else position++
|
@@ -1,45 +0,0 @@
|
|
1
|
-
ActiveAdmin.modal_dialog = (message, inputs, callback)->
|
2
|
-
html = """<form id="dialog_confirm" title="#{message}"><ul>"""
|
3
|
-
for name, type of inputs
|
4
|
-
if /^(datepicker|checkbox|text|number)$/.test type
|
5
|
-
wrapper = 'input'
|
6
|
-
else if type is 'textarea'
|
7
|
-
wrapper = 'textarea'
|
8
|
-
else if $.isArray type
|
9
|
-
[wrapper, elem, opts, type] = ['select', 'option', type, '']
|
10
|
-
else
|
11
|
-
throw new Error "Unsupported input type: {#{name}: #{type}}"
|
12
|
-
|
13
|
-
klass = if type is 'datepicker' then type else ''
|
14
|
-
html += """<li>
|
15
|
-
<label>#{name.charAt(0).toUpperCase() + name.slice(1)}</label>
|
16
|
-
<#{wrapper} name="#{name}" class="#{klass}" type="#{type}">""" +
|
17
|
-
(if opts then (
|
18
|
-
for v in opts
|
19
|
-
$elem = $("<#{elem}/>")
|
20
|
-
if $.isArray v
|
21
|
-
$elem.text(v[0]).val(v[1])
|
22
|
-
else
|
23
|
-
$elem.text(v)
|
24
|
-
$elem.wrap('<div>').parent().html()
|
25
|
-
).join '' else '') +
|
26
|
-
"</#{wrapper}>" +
|
27
|
-
"</li>"
|
28
|
-
[wrapper, elem, opts, type, klass] = [] # unset any temporary variables
|
29
|
-
|
30
|
-
html += "</ul></form>"
|
31
|
-
|
32
|
-
form = $(html).appendTo('body')
|
33
|
-
$('body').trigger 'modal_dialog:before_open', [form]
|
34
|
-
|
35
|
-
form.dialog
|
36
|
-
modal: true
|
37
|
-
open: (event, ui) ->
|
38
|
-
$('body').trigger 'modal_dialog:after_open', [form]
|
39
|
-
dialogClass: 'active_admin_dialog'
|
40
|
-
buttons:
|
41
|
-
OK: ->
|
42
|
-
callback $(@).serializeObject()
|
43
|
-
$(@).dialog('close')
|
44
|
-
Cancel: ->
|
45
|
-
$(@).dialog('close').remove()
|
@@ -1,46 +0,0 @@
|
|
1
|
-
class ActiveAdmin.PerPage
|
2
|
-
constructor: (@options, @element)->
|
3
|
-
@$element = $(@element)
|
4
|
-
@_init()
|
5
|
-
@_bind()
|
6
|
-
|
7
|
-
_init: ->
|
8
|
-
@$params = @_queryParams()
|
9
|
-
|
10
|
-
_bind: ->
|
11
|
-
@$element.change =>
|
12
|
-
@$params['per_page'] = @$element.val()
|
13
|
-
delete @$params['page']
|
14
|
-
if typeof Turbolinks != 'undefined'
|
15
|
-
Turbolinks.visit(window.location.href.split('?')[0] + '?' + $.param(@$params))
|
16
|
-
else
|
17
|
-
location.search = $.param(@$params)
|
18
|
-
|
19
|
-
_queryParams: ->
|
20
|
-
query = window.location.search.substring(1)
|
21
|
-
params = {}
|
22
|
-
re = /([^&=]+)=([^&]*)/g
|
23
|
-
while m = re.exec(query)
|
24
|
-
params[@_decode(m[1])] = @_decode(m[2])
|
25
|
-
params
|
26
|
-
|
27
|
-
_decode: (value) ->
|
28
|
-
#replace "+" before decodeURIComponent
|
29
|
-
decodeURIComponent(value.replace(/\+/g, '%20'))
|
30
|
-
|
31
|
-
option: (key, value) ->
|
32
|
-
if $.isPlainObject(key)
|
33
|
-
@options = $.extend(true, @options, key)
|
34
|
-
else if key?
|
35
|
-
@options[key]
|
36
|
-
else
|
37
|
-
@options[key] = value
|
38
|
-
|
39
|
-
$.widget.bridge 'perPage', ActiveAdmin.PerPage
|
40
|
-
|
41
|
-
onDOMReady = ->
|
42
|
-
$('.pagination_per_page select').perPage()
|
43
|
-
|
44
|
-
$(document).
|
45
|
-
ready(onDOMReady).
|
46
|
-
on 'page:load turbolinks:load', onDOMReady
|
@@ -1,22 +0,0 @@
|
|
1
|
-
class ActiveAdmin.TableCheckboxToggler extends ActiveAdmin.CheckboxToggler
|
2
|
-
_init: ->
|
3
|
-
super
|
4
|
-
|
5
|
-
_bind: ->
|
6
|
-
super
|
7
|
-
|
8
|
-
@$container.find('tbody td').click (e)=>
|
9
|
-
@_didClickCell(e.target) if e.target.type isnt 'checkbox'
|
10
|
-
|
11
|
-
_didChangeCheckbox: (checkbox) ->
|
12
|
-
super
|
13
|
-
|
14
|
-
$(checkbox).parents('tr').toggleClass 'selected', checkbox.checked
|
15
|
-
|
16
|
-
_didChangeToggleAllCheckbox: ->
|
17
|
-
@$container.find('tbody tr').toggleClass 'selected', super
|
18
|
-
|
19
|
-
_didClickCell: (cell) ->
|
20
|
-
$(cell).parent('tr').find(':checkbox').click()
|
21
|
-
|
22
|
-
$.widget.bridge 'tableCheckboxToggler', ActiveAdmin.TableCheckboxToggler
|
data/bin/install_chromedriver.sh
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
set -euo pipefail
|
4
|
-
|
5
|
-
curl --silent \
|
6
|
-
--show-error \
|
7
|
-
--location \
|
8
|
-
--fail \
|
9
|
-
--retry 3 \
|
10
|
-
--output /tmp/chromedriver_linux64.zip \
|
11
|
-
https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip
|
12
|
-
|
13
|
-
unzip /tmp/chromedriver_linux64.zip chromedriver -d ~/.local/bin
|
14
|
-
|
15
|
-
rm /tmp/chromedriver_linux64.zip
|
16
|
-
|
17
|
-
chromedriver --version
|
data/config/i18n-tasks.yml
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
# The "main" locale
|
4
|
-
base_locale: en
|
5
|
-
|
6
|
-
# Read and write translations
|
7
|
-
data:
|
8
|
-
yaml:
|
9
|
-
write:
|
10
|
-
# Do not wrap lines at 80 characters
|
11
|
-
line_width: -1
|
12
|
-
|
13
|
-
# Find translate calls
|
14
|
-
search:
|
15
|
-
# Paths or `File.find` patterns to search in
|
16
|
-
paths:
|
17
|
-
- app
|
18
|
-
- lib
|
19
|
-
|
20
|
-
# Files or `File.fnmatch` patterns to exclude from search
|
21
|
-
exclude:
|
22
|
-
- app/assets/images
|
23
|
-
- lib/bug_report_templates/tmp
|
24
|
-
|
25
|
-
# Guess usages such as t("categories.#{category}.title")
|
26
|
-
strict: false
|
data/config/mdl_style.rb
DELETED
data/cucumber.yml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
<%
|
2
|
-
std_opts = "--format progress --order random"
|
3
|
-
default_opts = std_opts + " --format ParallelTests::Gherkin::RuntimeLogger --out tmp/parallel_runtime_cucumber.log"
|
4
|
-
%>
|
5
|
-
|
6
|
-
default: <%= default_opts %> --require features/support/regular_env.rb features --tags 'not @requires-reloading' --tags 'not @wip'
|
7
|
-
class-reloading: CLASS_RELOADING=true <%= std_opts %> --require features/support/reload_env.rb features --tags @requires-reloading
|
data/docs/.gitignore
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
_site/
|
data/docs/0-installation.md
DELETED
@@ -1,118 +0,0 @@
|
|
1
|
-
---
|
2
|
-
redirect_from: /docs/0-installation.html
|
3
|
-
---
|
4
|
-
|
5
|
-
# Installation
|
6
|
-
|
7
|
-
Active Admin is a Ruby Gem.
|
8
|
-
|
9
|
-
```ruby
|
10
|
-
gem 'activeadmin'
|
11
|
-
|
12
|
-
# Plus integrations with:
|
13
|
-
gem 'devise'
|
14
|
-
gem 'cancan' # or cancancan
|
15
|
-
gem 'draper'
|
16
|
-
gem 'pundit'
|
17
|
-
```
|
18
|
-
|
19
|
-
More accurately, it's a [Rails Engine](http://guides.rubyonrails.org/engines.html)
|
20
|
-
that can be injected into your existing Ruby on Rails application.
|
21
|
-
|
22
|
-
## Setting up Active Admin
|
23
|
-
|
24
|
-
After installing the gem, you need to run the generator. Here are your options:
|
25
|
-
|
26
|
-
* If you don't want to use Devise, run it with `--skip-users`:
|
27
|
-
|
28
|
-
```sh
|
29
|
-
rails g active_admin:install --skip-users
|
30
|
-
```
|
31
|
-
|
32
|
-
* If you want to use an existing user class, provide it as an argument:
|
33
|
-
|
34
|
-
```sh
|
35
|
-
rails g active_admin:install User
|
36
|
-
```
|
37
|
-
|
38
|
-
* Otherwise, with no arguments we will create an `AdminUser` class to use with Devise:
|
39
|
-
|
40
|
-
```sh
|
41
|
-
rails g active_admin:install
|
42
|
-
```
|
43
|
-
|
44
|
-
The generator adds these core files, among others:
|
45
|
-
|
46
|
-
* `app/admin/dashboard.rb`
|
47
|
-
* `app/assets/javascripts/active_admin.js.coffee`
|
48
|
-
* `app/assets/stylesheets/active_admin.scss`
|
49
|
-
* `config/initializers/active_admin.rb`
|
50
|
-
|
51
|
-
Now, migrate and seed your database before starting the server:
|
52
|
-
|
53
|
-
```sh
|
54
|
-
rake db:migrate
|
55
|
-
rake db:seed
|
56
|
-
rails server
|
57
|
-
```
|
58
|
-
|
59
|
-
Visit `http://localhost:3000/admin` and log in as the default user:
|
60
|
-
|
61
|
-
* __User__: admin@example.com
|
62
|
-
* __Password__: password
|
63
|
-
|
64
|
-
Voila! You're on your brand new Active Admin dashboard.
|
65
|
-
|
66
|
-
To register an existing model with Active Admin:
|
67
|
-
|
68
|
-
```sh
|
69
|
-
rails generate active_admin:resource MyModel
|
70
|
-
```
|
71
|
-
|
72
|
-
This creates a file at `app/admin/my_model.rb` to set up the UI; refresh your
|
73
|
-
browser to see it.
|
74
|
-
|
75
|
-
# Upgrading
|
76
|
-
|
77
|
-
When upgrading to a new version, it's a good idea to check the [CHANGELOG].
|
78
|
-
|
79
|
-
To update the JS & CSS assets:
|
80
|
-
|
81
|
-
```sh
|
82
|
-
rails generate active_admin:assets
|
83
|
-
```
|
84
|
-
|
85
|
-
You should also sync these files with their counterparts in the AA source code:
|
86
|
-
|
87
|
-
* app/admin/dashboard.rb [~>][dashboard.rb]
|
88
|
-
* config/initializers/active_admin.rb [~>][active_admin.rb]
|
89
|
-
|
90
|
-
# Gem compatibility
|
91
|
-
|
92
|
-
## will_paginate
|
93
|
-
|
94
|
-
If you use `will_paginate` in your app, you need to configure an initializer for
|
95
|
-
Kaminari to avoid conflicts.
|
96
|
-
|
97
|
-
```ruby
|
98
|
-
# config/initializers/kaminari.rb
|
99
|
-
Kaminari.configure do |config|
|
100
|
-
config.page_method_name = :per_page_kaminari
|
101
|
-
end
|
102
|
-
```
|
103
|
-
|
104
|
-
If you are also using [Draper](https://github.com/drapergem/draper), you may
|
105
|
-
want to make sure `per_page_kaminari` is delegated correctly:
|
106
|
-
|
107
|
-
```ruby
|
108
|
-
Draper::CollectionDecorator.send :delegate, :per_page_kaminari
|
109
|
-
```
|
110
|
-
|
111
|
-
## simple_form
|
112
|
-
|
113
|
-
If you're getting the error `wrong number of arguments (6 for 4..5)`, [read #2703].
|
114
|
-
|
115
|
-
[CHANGELOG]: https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md
|
116
|
-
[dashboard.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/dashboard.rb
|
117
|
-
[active_admin.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/active_admin.rb.erb
|
118
|
-
[read #2703]: https://github.com/activeadmin/activeadmin/issues/2703#issuecomment-38140864
|