activeadmin 2.2.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 +7 -0
- data/CHANGELOG.md +546 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/CONTRIBUTING.md +217 -0
- data/LICENSE +20 -0
- data/README.md +110 -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.es6 +23 -0
- data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
- data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
- data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
- data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
- data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
- data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
- data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +55 -0
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
- data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
- data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
- data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
- data/app/assets/stylesheets/active_admin/_base.scss +41 -0
- data/app/assets/stylesheets/active_admin/_forms.scss +326 -0
- data/app/assets/stylesheets/active_admin/_header.scss +156 -0
- data/app/assets/stylesheets/active_admin/_mixins.scss +1 -0
- data/app/assets/stylesheets/active_admin/_typography.scss +100 -0
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +6 -0
- data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +30 -0
- data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +6 -0
- data/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_comments.scss +41 -0
- data/app/assets/stylesheets/active_admin/components/_date_picker.scss +149 -0
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +152 -0
- data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
- data/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
- data/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
- data/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
- data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +55 -0
- data/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +13 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
- data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
- data/app/assets/stylesheets/active_admin/components/_tables.scss +113 -0
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +65 -0
- data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -0
- data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +65 -0
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +28 -0
- data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +22 -0
- data/app/assets/stylesheets/active_admin/mixins/_sections.scss +41 -0
- data/app/assets/stylesheets/active_admin/mixins/_shadows.scss +15 -0
- data/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
- data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +17 -0
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +34 -0
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
- data/app/assets/stylesheets/active_admin/print.scss +287 -0
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +14 -0
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +41 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/active_admin/devise/passwords/edit.html.erb +18 -0
- data/app/views/active_admin/devise/passwords/new.html.erb +15 -0
- data/app/views/active_admin/devise/registrations/new.html.erb +21 -0
- data/app/views/active_admin/devise/sessions/new.html.erb +20 -0
- data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/active_admin/devise/shared/_links.erb +33 -0
- data/app/views/active_admin/devise/unlocks/new.html.erb +15 -0
- 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/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +39 -0
- data/config/locales/ar.yml +135 -0
- data/config/locales/bg.yml +119 -0
- data/config/locales/bs.yml +121 -0
- data/config/locales/ca.yml +106 -0
- data/config/locales/cs.yml +109 -0
- data/config/locales/da.yml +137 -0
- data/config/locales/de-CH.yml +101 -0
- data/config/locales/de.yml +144 -0
- data/config/locales/el.yml +126 -0
- data/config/locales/en-CA.yml +139 -0
- data/config/locales/en-GB.yml +139 -0
- data/config/locales/en.yml +162 -0
- data/config/locales/eo.yml +145 -0
- data/config/locales/es-MX.yml +96 -0
- data/config/locales/es.yml +162 -0
- data/config/locales/fa.yml +119 -0
- data/config/locales/fi.yml +112 -0
- data/config/locales/fr.yml +141 -0
- data/config/locales/he.yml +141 -0
- data/config/locales/hr.yml +123 -0
- data/config/locales/hu.yml +102 -0
- data/config/locales/id.yml +135 -0
- data/config/locales/it.yml +144 -0
- data/config/locales/ja.yml +141 -0
- data/config/locales/ko.yml +120 -0
- data/config/locales/lt.yml +142 -0
- data/config/locales/lv.yml +92 -0
- data/config/locales/mk.yml +134 -0
- data/config/locales/nb.yml +130 -0
- data/config/locales/nl.yml +144 -0
- data/config/locales/pl.yml +168 -0
- data/config/locales/pt-BR.yml +143 -0
- data/config/locales/pt-PT.yml +92 -0
- data/config/locales/ro.yml +96 -0
- data/config/locales/ru.yml +141 -0
- data/config/locales/sk.yml +109 -0
- data/config/locales/sv-SE.yml +135 -0
- data/config/locales/tr.yml +144 -0
- data/config/locales/uk.yml +138 -0
- data/config/locales/vi.yml +134 -0
- data/config/locales/zh-CN.yml +143 -0
- data/config/locales/zh-TW.yml +135 -0
- data/docs/.gitignore +1 -0
- data/docs/0-installation.md +118 -0
- data/docs/1-general-configuration.md +204 -0
- data/docs/10-custom-pages.md +150 -0
- data/docs/11-decorators.md +59 -0
- data/docs/12-arbre-components.md +214 -0
- data/docs/13-authorization-adapter.md +285 -0
- data/docs/14-gotchas.md +138 -0
- data/docs/2-resource-customization.md +466 -0
- data/docs/3-index-pages.md +328 -0
- data/docs/3-index-pages/custom-index.md +35 -0
- data/docs/3-index-pages/index-as-block.md +19 -0
- data/docs/3-index-pages/index-as-blog.md +69 -0
- data/docs/3-index-pages/index-as-grid.md +27 -0
- data/docs/3-index-pages/index-as-table.md +227 -0
- data/docs/4-csv-format.md +74 -0
- data/docs/5-forms.md +232 -0
- data/docs/6-show-pages.md +81 -0
- data/docs/7-sidebars.md +75 -0
- data/docs/8-custom-actions.md +177 -0
- data/docs/9-batch-actions.md +237 -0
- data/docs/CNAME +1 -0
- data/docs/Gemfile +4 -0
- data/docs/Gemfile.lock +249 -0
- data/docs/README.md +24 -0
- data/docs/_config.yml +2 -0
- data/docs/_includes/footer.html +8 -0
- data/docs/_includes/google-analytics.html +16 -0
- data/docs/_includes/head.html +7 -0
- data/docs/_includes/toc.html +98 -0
- data/docs/_includes/top-menu.html +17 -0
- data/docs/_layouts/default.html +21 -0
- data/docs/documentation.md +60 -0
- 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 +14 -0
- data/docs/index.html +125 -0
- data/docs/stylesheets/main.css +1176 -0
- data/lib/active_admin.rb +134 -0
- data/lib/active_admin/abstract_view_factory.rb +47 -0
- data/lib/active_admin/application.rb +234 -0
- data/lib/active_admin/application_settings.rb +42 -0
- data/lib/active_admin/asset_registration.rb +29 -0
- data/lib/active_admin/authorization_adapter.rb +129 -0
- data/lib/active_admin/base_controller.rb +81 -0
- data/lib/active_admin/base_controller/authorization.rb +127 -0
- data/lib/active_admin/base_controller/menu.rb +34 -0
- data/lib/active_admin/batch_actions.rb +16 -0
- data/lib/active_admin/batch_actions/controller.rb +40 -0
- data/lib/active_admin/batch_actions/resource_extension.rb +155 -0
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +38 -0
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +58 -0
- data/lib/active_admin/batch_actions/views/selection_cells.rb +38 -0
- data/lib/active_admin/callbacks.rb +88 -0
- data/lib/active_admin/cancan_adapter.rb +36 -0
- data/lib/active_admin/component.rb +5 -0
- data/lib/active_admin/controller_action.rb +13 -0
- data/lib/active_admin/csv_builder.rb +133 -0
- data/lib/active_admin/dependency.rb +100 -0
- data/lib/active_admin/deprecation.rb +10 -0
- data/lib/active_admin/devise.rb +80 -0
- data/lib/active_admin/dsl.rb +160 -0
- data/lib/active_admin/dynamic_setting.rb +38 -0
- data/lib/active_admin/dynamic_settings_node.rb +28 -0
- data/lib/active_admin/engine.rb +21 -0
- data/lib/active_admin/error.rb +64 -0
- data/lib/active_admin/filters.rb +11 -0
- data/lib/active_admin/filters/active.rb +29 -0
- data/lib/active_admin/filters/active_filter.rb +124 -0
- data/lib/active_admin/filters/active_sidebar.rb +54 -0
- data/lib/active_admin/filters/dsl.rb +21 -0
- data/lib/active_admin/filters/forms.rb +85 -0
- data/lib/active_admin/filters/formtastic_addons.rb +79 -0
- data/lib/active_admin/filters/resource_extension.rb +155 -0
- data/lib/active_admin/form_builder.rb +182 -0
- data/lib/active_admin/generators/boilerplate.rb +45 -0
- data/lib/active_admin/helpers/collection.rb +19 -0
- data/lib/active_admin/helpers/i18n.rb +7 -0
- data/lib/active_admin/helpers/optional_display.rb +38 -0
- data/lib/active_admin/helpers/routes/url_helpers.rb +15 -0
- data/lib/active_admin/helpers/scope_chain.rb +24 -0
- data/lib/active_admin/inputs.rb +21 -0
- data/lib/active_admin/inputs/datepicker_input.rb +27 -0
- data/lib/active_admin/inputs/filters/base.rb +44 -0
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
- data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
- data/lib/active_admin/inputs/filters/date_picker_input.rb +13 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +49 -0
- data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
- data/lib/active_admin/inputs/filters/select_input.rb +58 -0
- data/lib/active_admin/inputs/filters/string_input.rb +26 -0
- data/lib/active_admin/inputs/filters/text_input.rb +25 -0
- data/lib/active_admin/localizers.rb +11 -0
- data/lib/active_admin/localizers/resource_localizer.rb +35 -0
- data/lib/active_admin/menu.rb +102 -0
- data/lib/active_admin/menu_collection.rb +91 -0
- data/lib/active_admin/menu_item.rb +69 -0
- data/lib/active_admin/namespace.rb +266 -0
- data/lib/active_admin/namespace_settings.rb +110 -0
- data/lib/active_admin/order_clause.rb +48 -0
- data/lib/active_admin/orm/active_record.rb +5 -0
- data/lib/active_admin/orm/active_record/comments.rb +101 -0
- data/lib/active_admin/orm/active_record/comments/comment.rb +31 -0
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +14 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +17 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +23 -0
- data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +100 -0
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
- data/lib/active_admin/page.rb +111 -0
- data/lib/active_admin/page_controller.rb +29 -0
- data/lib/active_admin/page_dsl.rb +32 -0
- data/lib/active_admin/page_presenter.rb +33 -0
- data/lib/active_admin/pundit_adapter.rb +81 -0
- data/lib/active_admin/resource.rb +207 -0
- data/lib/active_admin/resource/action_items.rb +120 -0
- data/lib/active_admin/resource/attributes.rb +47 -0
- data/lib/active_admin/resource/belongs_to.rb +50 -0
- data/lib/active_admin/resource/controllers.rb +19 -0
- data/lib/active_admin/resource/includes.rb +12 -0
- data/lib/active_admin/resource/menu.rb +67 -0
- data/lib/active_admin/resource/naming.rb +62 -0
- data/lib/active_admin/resource/ordering.rb +11 -0
- data/lib/active_admin/resource/page_presenters.rb +82 -0
- data/lib/active_admin/resource/pagination.rb +23 -0
- data/lib/active_admin/resource/routes.rb +139 -0
- data/lib/active_admin/resource/scope_to.rb +74 -0
- data/lib/active_admin/resource/scopes.rb +52 -0
- data/lib/active_admin/resource/sidebars.rb +28 -0
- data/lib/active_admin/resource_collection.rb +72 -0
- data/lib/active_admin/resource_controller.rb +64 -0
- data/lib/active_admin/resource_controller/action_builder.rb +31 -0
- data/lib/active_admin/resource_controller/data_access.rb +322 -0
- data/lib/active_admin/resource_controller/decorators.rb +102 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +26 -0
- data/lib/active_admin/resource_controller/scoping.rb +31 -0
- data/lib/active_admin/resource_controller/sidebars.rb +18 -0
- data/lib/active_admin/resource_controller/streaming.rb +43 -0
- data/lib/active_admin/resource_dsl.rb +224 -0
- data/lib/active_admin/router.rb +114 -0
- data/lib/active_admin/scope.rb +64 -0
- data/lib/active_admin/settings_node.rb +19 -0
- data/lib/active_admin/sidebar_section.rb +39 -0
- data/lib/active_admin/version.rb +3 -0
- data/lib/active_admin/view_factory.rb +27 -0
- data/lib/active_admin/view_helpers.rb +20 -0
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +45 -0
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +33 -0
- data/lib/active_admin/view_helpers/display_helper.rb +104 -0
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +59 -0
- data/lib/active_admin/view_helpers/fields_for.rb +50 -0
- data/lib/active_admin/view_helpers/flash_helper.rb +14 -0
- data/lib/active_admin/view_helpers/form_helper.rb +20 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +100 -0
- data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
- data/lib/active_admin/view_helpers/title_helper.rb +11 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
- data/lib/active_admin/views.rb +8 -0
- data/lib/active_admin/views/action_items.rb +17 -0
- data/lib/active_admin/views/components/active_admin_form.rb +155 -0
- data/lib/active_admin/views/components/attributes_table.rb +94 -0
- data/lib/active_admin/views/components/blank_slate.rb +17 -0
- data/lib/active_admin/views/components/columns.rb +161 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +71 -0
- data/lib/active_admin/views/components/index_list.rb +69 -0
- data/lib/active_admin/views/components/menu.rb +32 -0
- data/lib/active_admin/views/components/menu_item.rb +58 -0
- data/lib/active_admin/views/components/paginated_collection.rb +159 -0
- data/lib/active_admin/views/components/panel.rb +38 -0
- data/lib/active_admin/views/components/scopes.rb +72 -0
- data/lib/active_admin/views/components/sidebar.rb +13 -0
- data/lib/active_admin/views/components/sidebar_section.rb +34 -0
- data/lib/active_admin/views/components/site_title.rb +54 -0
- data/lib/active_admin/views/components/status_tag.rb +75 -0
- data/lib/active_admin/views/components/table_for.rb +209 -0
- data/lib/active_admin/views/components/tabs.rb +40 -0
- data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
- data/lib/active_admin/views/footer.rb +30 -0
- data/lib/active_admin/views/header.rb +19 -0
- data/lib/active_admin/views/index_as_block.rb +36 -0
- data/lib/active_admin/views/index_as_blog.rb +155 -0
- data/lib/active_admin/views/index_as_grid.rb +80 -0
- data/lib/active_admin/views/index_as_table.rb +392 -0
- data/lib/active_admin/views/pages/base.rb +126 -0
- data/lib/active_admin/views/pages/form.rb +64 -0
- data/lib/active_admin/views/pages/index.rb +163 -0
- data/lib/active_admin/views/pages/layout.rb +26 -0
- data/lib/active_admin/views/pages/page.rb +30 -0
- data/lib/active_admin/views/pages/show.rb +65 -0
- data/lib/active_admin/views/tabbed_navigation.rb +11 -0
- data/lib/active_admin/views/title_bar.rb +55 -0
- data/lib/activeadmin.rb +1 -0
- data/lib/generators/active_admin/assets/assets_generator.rb +14 -0
- data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/lib/generators/active_admin/assets/templates/active_admin.scss +17 -0
- data/lib/generators/active_admin/devise/devise_generator.rb +68 -0
- data/lib/generators/active_admin/install/install_generator.rb +49 -0
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +315 -0
- data/lib/generators/active_admin/install/templates/admin_users.rb.erb +28 -0
- data/lib/generators/active_admin/install/templates/dashboard.rb +32 -0
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +16 -0
- data/lib/generators/active_admin/page/USAGE +8 -0
- data/lib/generators/active_admin/page/page_generator.rb +12 -0
- data/lib/generators/active_admin/page/templates/page.rb +5 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +20 -0
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +44 -0
- data/lib/ransack_ext.rb +20 -0
- 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
- data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
- metadata +616 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
ActiveAdmin.register <%= @user_class %> do
|
2
|
+
permit_params :email, :password, :password_confirmation
|
3
|
+
|
4
|
+
index do
|
5
|
+
selectable_column
|
6
|
+
id_column
|
7
|
+
column :email
|
8
|
+
column :current_sign_in_at
|
9
|
+
column :sign_in_count
|
10
|
+
column :created_at
|
11
|
+
actions
|
12
|
+
end
|
13
|
+
|
14
|
+
filter :email
|
15
|
+
filter :current_sign_in_at
|
16
|
+
filter :sign_in_count
|
17
|
+
filter :created_at
|
18
|
+
|
19
|
+
form do |f|
|
20
|
+
f.inputs do
|
21
|
+
f.input :email
|
22
|
+
f.input :password
|
23
|
+
f.input :password_confirmation
|
24
|
+
end
|
25
|
+
f.actions
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
ActiveAdmin.register_page "Dashboard" do
|
2
|
+
menu priority: 1, label: proc { I18n.t("active_admin.dashboard") }
|
3
|
+
|
4
|
+
content title: proc { I18n.t("active_admin.dashboard") } do
|
5
|
+
div class: "blank_slate_container", id: "dashboard_default_message" do
|
6
|
+
span class: "blank_slate" do
|
7
|
+
span I18n.t("active_admin.dashboard_welcome.welcome")
|
8
|
+
small I18n.t("active_admin.dashboard_welcome.call_to_action")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
# Here is an example of a simple dashboard with columns and panels.
|
13
|
+
#
|
14
|
+
# columns do
|
15
|
+
# column do
|
16
|
+
# panel "Recent Posts" do
|
17
|
+
# ul do
|
18
|
+
# Post.recent(5).map do |post|
|
19
|
+
# li link_to(post.title, admin_post_path(post))
|
20
|
+
# end
|
21
|
+
# end
|
22
|
+
# end
|
23
|
+
# end
|
24
|
+
|
25
|
+
# column do
|
26
|
+
# panel "Info" do
|
27
|
+
# para "Welcome to ActiveAdmin."
|
28
|
+
# end
|
29
|
+
# end
|
30
|
+
# end
|
31
|
+
end # content
|
32
|
+
end
|
data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
class CreateActiveAdminComments < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version.to_s %>]
|
2
|
+
def self.up
|
3
|
+
create_table :active_admin_comments do |t|
|
4
|
+
t.string :namespace
|
5
|
+
t.text :body
|
6
|
+
t.references :resource, polymorphic: true
|
7
|
+
t.references :author, polymorphic: true
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
add_index :active_admin_comments, [:namespace]
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.down
|
14
|
+
drop_table :active_admin_comments
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module ActiveAdmin
|
2
|
+
module Generators
|
3
|
+
class PageGenerator < Rails::Generators::NamedBase
|
4
|
+
source_root File.expand_path('templates', __dir__)
|
5
|
+
|
6
|
+
def generate_config_file
|
7
|
+
template "page.rb", "app/admin/#{file_path.tr('/', '_')}.rb"
|
8
|
+
end
|
9
|
+
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'active_admin/generators/boilerplate'
|
2
|
+
|
3
|
+
module ActiveAdmin
|
4
|
+
module Generators
|
5
|
+
class ResourceGenerator < Rails::Generators::NamedBase
|
6
|
+
desc "Registers resources with Active Admin"
|
7
|
+
|
8
|
+
class_option :include_boilerplate, type: :boolean, default: false,
|
9
|
+
desc: "Generate boilerplate code for your resource."
|
10
|
+
|
11
|
+
source_root File.expand_path('templates', __dir__)
|
12
|
+
|
13
|
+
def generate_config_file
|
14
|
+
@boilerplate = ActiveAdmin::Generators::Boilerplate.new(class_name)
|
15
|
+
template "admin.rb.erb", "app/admin/#{file_path.tr('/', '_').pluralize}.rb"
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
ActiveAdmin.register <%= class_name %> do
|
2
|
+
|
3
|
+
# See permitted parameters documentation:
|
4
|
+
# https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
|
5
|
+
#
|
6
|
+
# permit_params :list, :of, :attributes, :on, :model
|
7
|
+
#
|
8
|
+
# or
|
9
|
+
#
|
10
|
+
# permit_params do
|
11
|
+
# permitted = [:permitted, :attributes]
|
12
|
+
# permitted << :other if params[:action] == 'create' && current_user.admin?
|
13
|
+
# permitted
|
14
|
+
# end
|
15
|
+
<% if options.include_boilerplate? %>
|
16
|
+
# Limit actions available to your users by adding them to the 'except' array
|
17
|
+
# actions :all, except: []
|
18
|
+
|
19
|
+
# Add or remove filters (you can use any ActiveRecord scope) to toggle their
|
20
|
+
# visibility in the sidebar
|
21
|
+
<%= @boilerplate.filters %>
|
22
|
+
|
23
|
+
# Add or remove columns to toggle their visiblity in the index action
|
24
|
+
# index do
|
25
|
+
# selectable_column
|
26
|
+
# id_column
|
27
|
+
<%= @boilerplate.columns %>
|
28
|
+
# actions
|
29
|
+
# end
|
30
|
+
|
31
|
+
# Add or remove rows to toggle their visiblity in the show action
|
32
|
+
# show do |<%= class_name.downcase %>|
|
33
|
+
<%= @boilerplate.rows %>
|
34
|
+
# end
|
35
|
+
|
36
|
+
# Add or remove fields to toggle their visibility in the form
|
37
|
+
# form do |f|
|
38
|
+
# f.inputs do
|
39
|
+
<%= @boilerplate.form_inputs %>
|
40
|
+
# end
|
41
|
+
# f.actions
|
42
|
+
# end
|
43
|
+
<% end %>
|
44
|
+
end
|
data/lib/ransack_ext.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# This sets up aliases for old Metasearch query methods so they behave
|
2
|
+
# identically to the versions given in Ransack.
|
3
|
+
#
|
4
|
+
Ransack.configure do |config|
|
5
|
+
{ 'contains' => 'cont', 'starts_with' => 'start', 'ends_with' => 'end' }.each do |old, current|
|
6
|
+
config.add_predicate old, Ransack::Constants::DERIVED_PREDICATES.detect { |q, _| q == current }[1]
|
7
|
+
end
|
8
|
+
|
9
|
+
{ 'equals' => 'eq', 'greater_than' => 'gt', 'less_than' => 'lt' }.each do |old, current|
|
10
|
+
config.add_predicate old, arel_predicate: current
|
11
|
+
end
|
12
|
+
|
13
|
+
config.add_predicate 'gteq_datetime',
|
14
|
+
arel_predicate: 'gteq',
|
15
|
+
formatter: ->(v) { v.beginning_of_day }
|
16
|
+
|
17
|
+
config.add_predicate 'lteq_datetime',
|
18
|
+
arel_predicate: 'lt',
|
19
|
+
formatter: ->(v) { v + 1.day }
|
20
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
//= require jquery-ui/version
|
2
|
+
|
3
|
+
/*!
|
4
|
+
* jQuery UI :data 1.12.1
|
5
|
+
* http://jqueryui.com
|
6
|
+
*
|
7
|
+
* Copyright jQuery Foundation and other contributors
|
8
|
+
* Released under the MIT license.
|
9
|
+
* http://jquery.org/license
|
10
|
+
*/
|
11
|
+
|
12
|
+
//>>label: :data Selector
|
13
|
+
//>>group: Core
|
14
|
+
//>>description: Selects elements which have data stored under the specified key.
|
15
|
+
//>>docs: http://api.jqueryui.com/data-selector/
|
16
|
+
|
17
|
+
( function( factory ) {
|
18
|
+
if ( typeof define === "function" && define.amd ) {
|
19
|
+
|
20
|
+
// AMD. Register as an anonymous module.
|
21
|
+
define( [ "jquery", "./version" ], factory );
|
22
|
+
} else {
|
23
|
+
|
24
|
+
// Browser globals
|
25
|
+
factory( jQuery );
|
26
|
+
}
|
27
|
+
} ( function( $ ) {
|
28
|
+
return $.extend( $.expr[ ":" ], {
|
29
|
+
data: $.expr.createPseudo ?
|
30
|
+
$.expr.createPseudo( function( dataName ) {
|
31
|
+
return function( elem ) {
|
32
|
+
return !!$.data( elem, dataName );
|
33
|
+
};
|
34
|
+
} ) :
|
35
|
+
|
36
|
+
// Support: jQuery <1.8
|
37
|
+
function( elem, i, match ) {
|
38
|
+
return !!$.data( elem, match[ 3 ] );
|
39
|
+
}
|
40
|
+
} );
|
41
|
+
} ) );
|
@@ -0,0 +1,48 @@
|
|
1
|
+
//= require jquery-ui/version
|
2
|
+
|
3
|
+
/*!
|
4
|
+
* jQuery UI Disable Selection 1.12.1
|
5
|
+
* http://jqueryui.com
|
6
|
+
*
|
7
|
+
* Copyright jQuery Foundation and other contributors
|
8
|
+
* Released under the MIT license.
|
9
|
+
* http://jquery.org/license
|
10
|
+
*/
|
11
|
+
|
12
|
+
//>>label: disableSelection
|
13
|
+
//>>group: Core
|
14
|
+
//>>description: Disable selection of text content within the set of matched elements.
|
15
|
+
//>>docs: http://api.jqueryui.com/disableSelection/
|
16
|
+
|
17
|
+
// This file is deprecated
|
18
|
+
( function( factory ) {
|
19
|
+
if ( typeof define === "function" && define.amd ) {
|
20
|
+
|
21
|
+
// AMD. Register as an anonymous module.
|
22
|
+
define( [ "jquery", "./version" ], factory );
|
23
|
+
} else {
|
24
|
+
|
25
|
+
// Browser globals
|
26
|
+
factory( jQuery );
|
27
|
+
}
|
28
|
+
} ( function( $ ) {
|
29
|
+
|
30
|
+
return $.fn.extend( {
|
31
|
+
disableSelection: ( function() {
|
32
|
+
var eventType = "onselectstart" in document.createElement( "div" ) ?
|
33
|
+
"selectstart" :
|
34
|
+
"mousedown";
|
35
|
+
|
36
|
+
return function() {
|
37
|
+
return this.on( eventType + ".ui-disableSelection", function( event ) {
|
38
|
+
event.preventDefault();
|
39
|
+
} );
|
40
|
+
};
|
41
|
+
} )(),
|
42
|
+
|
43
|
+
enableSelection: function() {
|
44
|
+
return this.off( ".ui-disableSelection" );
|
45
|
+
}
|
46
|
+
} );
|
47
|
+
|
48
|
+
} ) );
|
@@ -0,0 +1,23 @@
|
|
1
|
+
//= require jquery-ui/version
|
2
|
+
|
3
|
+
( function( factory ) {
|
4
|
+
if ( typeof define === "function" && define.amd ) {
|
5
|
+
|
6
|
+
// AMD. Register as an anonymous module.
|
7
|
+
define( [ "jquery", "./version" ], factory );
|
8
|
+
} else {
|
9
|
+
|
10
|
+
// Browser globals
|
11
|
+
factory( jQuery );
|
12
|
+
}
|
13
|
+
} ( function( $ ) {
|
14
|
+
|
15
|
+
// Internal use only
|
16
|
+
return $.ui.escapeSelector = ( function() {
|
17
|
+
var selectorEscape = /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;
|
18
|
+
return function( selector ) {
|
19
|
+
return selector.replace( selectorEscape, "\\$1" );
|
20
|
+
};
|
21
|
+
} )();
|
22
|
+
|
23
|
+
} ) );
|
@@ -0,0 +1,86 @@
|
|
1
|
+
//= require jquery-ui/version
|
2
|
+
|
3
|
+
/*!
|
4
|
+
* jQuery UI Focusable 1.12.1
|
5
|
+
* http://jqueryui.com
|
6
|
+
*
|
7
|
+
* Copyright jQuery Foundation and other contributors
|
8
|
+
* Released under the MIT license.
|
9
|
+
* http://jquery.org/license
|
10
|
+
*/
|
11
|
+
|
12
|
+
//>>label: :focusable Selector
|
13
|
+
//>>group: Core
|
14
|
+
//>>description: Selects elements which can be focused.
|
15
|
+
//>>docs: http://api.jqueryui.com/focusable-selector/
|
16
|
+
|
17
|
+
( function( factory ) {
|
18
|
+
if ( typeof define === "function" && define.amd ) {
|
19
|
+
|
20
|
+
// AMD. Register as an anonymous module.
|
21
|
+
define( [ "jquery", "./version" ], factory );
|
22
|
+
} else {
|
23
|
+
|
24
|
+
// Browser globals
|
25
|
+
factory( jQuery );
|
26
|
+
}
|
27
|
+
} ( function( $ ) {
|
28
|
+
|
29
|
+
// Selectors
|
30
|
+
$.ui.focusable = function( element, hasTabindex ) {
|
31
|
+
var map, mapName, img, focusableIfVisible, fieldset,
|
32
|
+
nodeName = element.nodeName.toLowerCase();
|
33
|
+
|
34
|
+
if ( "area" === nodeName ) {
|
35
|
+
map = element.parentNode;
|
36
|
+
mapName = map.name;
|
37
|
+
if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
|
38
|
+
return false;
|
39
|
+
}
|
40
|
+
img = $( "img[usemap='#" + mapName + "']" );
|
41
|
+
return img.length > 0 && img.is( ":visible" );
|
42
|
+
}
|
43
|
+
|
44
|
+
if ( /^(input|select|textarea|button|object)$/.test( nodeName ) ) {
|
45
|
+
focusableIfVisible = !element.disabled;
|
46
|
+
|
47
|
+
if ( focusableIfVisible ) {
|
48
|
+
|
49
|
+
// Form controls within a disabled fieldset are disabled.
|
50
|
+
// However, controls within the fieldset's legend do not get disabled.
|
51
|
+
// Since controls generally aren't placed inside legends, we skip
|
52
|
+
// this portion of the check.
|
53
|
+
fieldset = $( element ).closest( "fieldset" )[ 0 ];
|
54
|
+
if ( fieldset ) {
|
55
|
+
focusableIfVisible = !fieldset.disabled;
|
56
|
+
}
|
57
|
+
}
|
58
|
+
} else if ( "a" === nodeName ) {
|
59
|
+
focusableIfVisible = element.href || hasTabindex;
|
60
|
+
} else {
|
61
|
+
focusableIfVisible = hasTabindex;
|
62
|
+
}
|
63
|
+
|
64
|
+
return focusableIfVisible && $( element ).is( ":visible" ) && visible( $( element ) );
|
65
|
+
};
|
66
|
+
|
67
|
+
// Support: IE 8 only
|
68
|
+
// IE 8 doesn't resolve inherit to visible/hidden for computed values
|
69
|
+
function visible( element ) {
|
70
|
+
var visibility = element.css( "visibility" );
|
71
|
+
while ( visibility === "inherit" ) {
|
72
|
+
element = element.parent();
|
73
|
+
visibility = element.css( "visibility" );
|
74
|
+
}
|
75
|
+
return visibility !== "hidden";
|
76
|
+
}
|
77
|
+
|
78
|
+
$.extend( $.expr[ ":" ], {
|
79
|
+
focusable: function( element ) {
|
80
|
+
return $.ui.focusable( element, $.attr( element, "tabindex" ) != null );
|
81
|
+
}
|
82
|
+
} );
|
83
|
+
|
84
|
+
return $.ui.focusable;
|
85
|
+
|
86
|
+
} ) );
|
@@ -0,0 +1,80 @@
|
|
1
|
+
//= require jquery-ui/form
|
2
|
+
//= require jquery-ui/version
|
3
|
+
|
4
|
+
/*!
|
5
|
+
* jQuery UI Form Reset Mixin 1.12.1
|
6
|
+
* http://jqueryui.com
|
7
|
+
*
|
8
|
+
* Copyright jQuery Foundation and other contributors
|
9
|
+
* Released under the MIT license.
|
10
|
+
* http://jquery.org/license
|
11
|
+
*/
|
12
|
+
|
13
|
+
//>>label: Form Reset Mixin
|
14
|
+
//>>group: Core
|
15
|
+
//>>description: Refresh input widgets when their form is reset
|
16
|
+
//>>docs: http://api.jqueryui.com/form-reset-mixin/
|
17
|
+
|
18
|
+
( function( factory ) {
|
19
|
+
if ( typeof define === "function" && define.amd ) {
|
20
|
+
|
21
|
+
// AMD. Register as an anonymous module.
|
22
|
+
define( [
|
23
|
+
"jquery",
|
24
|
+
"./form",
|
25
|
+
"./version"
|
26
|
+
], factory );
|
27
|
+
} else {
|
28
|
+
|
29
|
+
// Browser globals
|
30
|
+
factory( jQuery );
|
31
|
+
}
|
32
|
+
}( function( $ ) {
|
33
|
+
|
34
|
+
return $.ui.formResetMixin = {
|
35
|
+
_formResetHandler: function() {
|
36
|
+
var form = $( this );
|
37
|
+
|
38
|
+
// Wait for the form reset to actually happen before refreshing
|
39
|
+
setTimeout( function() {
|
40
|
+
var instances = form.data( "ui-form-reset-instances" );
|
41
|
+
$.each( instances, function() {
|
42
|
+
this.refresh();
|
43
|
+
} );
|
44
|
+
} );
|
45
|
+
},
|
46
|
+
|
47
|
+
_bindFormResetHandler: function() {
|
48
|
+
this.form = this.element.form();
|
49
|
+
if ( !this.form.length ) {
|
50
|
+
return;
|
51
|
+
}
|
52
|
+
|
53
|
+
var instances = this.form.data( "ui-form-reset-instances" ) || [];
|
54
|
+
if ( !instances.length ) {
|
55
|
+
|
56
|
+
// We don't use _on() here because we use a single event handler per form
|
57
|
+
this.form.on( "reset.ui-form-reset", this._formResetHandler );
|
58
|
+
}
|
59
|
+
instances.push( this );
|
60
|
+
this.form.data( "ui-form-reset-instances", instances );
|
61
|
+
},
|
62
|
+
|
63
|
+
_unbindFormResetHandler: function() {
|
64
|
+
if ( !this.form.length ) {
|
65
|
+
return;
|
66
|
+
}
|
67
|
+
|
68
|
+
var instances = this.form.data( "ui-form-reset-instances" );
|
69
|
+
instances.splice( $.inArray( this, instances ), 1 );
|
70
|
+
if ( instances.length ) {
|
71
|
+
this.form.data( "ui-form-reset-instances", instances );
|
72
|
+
} else {
|
73
|
+
this.form
|
74
|
+
.removeData( "ui-form-reset-instances" )
|
75
|
+
.off( "reset.ui-form-reset" );
|
76
|
+
}
|
77
|
+
}
|
78
|
+
};
|
79
|
+
|
80
|
+
} ) );
|