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,61 @@
|
|
1
|
+
ActiveAdmin.modal_dialog = function(message, inputs, callback){
|
2
|
+
let html = `<form id="dialog_confirm" title="${message}"><ul>`;
|
3
|
+
for (let name in inputs) {
|
4
|
+
var elem, opts, wrapper;
|
5
|
+
let type = inputs[name];
|
6
|
+
if (/^(datepicker|checkbox|text|number)$/.test(type)) {
|
7
|
+
wrapper = 'input';
|
8
|
+
} else if (type === 'textarea') {
|
9
|
+
wrapper = 'textarea';
|
10
|
+
} else if ($.isArray(type)) {
|
11
|
+
[wrapper, elem, opts, type] = ['select', 'option', type, ''];
|
12
|
+
} else {
|
13
|
+
throw new Error(`Unsupported input type: {${name}: ${type}}`);
|
14
|
+
}
|
15
|
+
|
16
|
+
let klass = type === 'datepicker' ? type : '';
|
17
|
+
html += `<li>
|
18
|
+
<label>${name.charAt(0).toUpperCase() + name.slice(1)}</label>
|
19
|
+
<${wrapper} name="${name}" class="${klass}" type="${type}">` +
|
20
|
+
(opts ? ((() => {
|
21
|
+
const result = [];
|
22
|
+
|
23
|
+
opts.forEach(v => {
|
24
|
+
const $elem = $(`<${elem}/>`);
|
25
|
+
if ($.isArray(v)) {
|
26
|
+
$elem.text(v[0]).val(v[1]);
|
27
|
+
} else {
|
28
|
+
$elem.text(v);
|
29
|
+
}
|
30
|
+
result.push($elem.wrap('<div>').parent().html());
|
31
|
+
});
|
32
|
+
|
33
|
+
return result;
|
34
|
+
})()).join('') : '') +
|
35
|
+
`</${wrapper}>` +
|
36
|
+
"</li>";
|
37
|
+
[wrapper, elem, opts, type, klass] = []; // unset any temporary variables
|
38
|
+
}
|
39
|
+
|
40
|
+
html += "</ul></form>";
|
41
|
+
|
42
|
+
const form = $(html).appendTo('body');
|
43
|
+
$('body').trigger('modal_dialog:before_open', [form]);
|
44
|
+
|
45
|
+
form.dialog({
|
46
|
+
modal: true,
|
47
|
+
open(event, ui) {
|
48
|
+
$('body').trigger('modal_dialog:after_open', [form]);
|
49
|
+
},
|
50
|
+
dialogClass: 'active_admin_dialog',
|
51
|
+
buttons: {
|
52
|
+
OK() {
|
53
|
+
callback($(this).serializeObject());
|
54
|
+
$(this).dialog('close');
|
55
|
+
},
|
56
|
+
Cancel() {
|
57
|
+
$(this).dialog('close').remove();
|
58
|
+
}
|
59
|
+
}
|
60
|
+
});
|
61
|
+
};
|
@@ -0,0 +1,47 @@
|
|
1
|
+
(($, ActiveAdmin) => {
|
2
|
+
|
3
|
+
class PerPage {
|
4
|
+
constructor(element) {
|
5
|
+
this.element = element;
|
6
|
+
}
|
7
|
+
|
8
|
+
update() {
|
9
|
+
const params = ActiveAdmin
|
10
|
+
.queryStringToParams()
|
11
|
+
.filter(({name}) => name != 'per_page' || name != 'page')
|
12
|
+
|
13
|
+
params.push({ name: 'per_page', value: this.element.value });
|
14
|
+
|
15
|
+
if (ActiveAdmin.turbolinks) {
|
16
|
+
ActiveAdmin.turbolinksVisit(params);
|
17
|
+
} else {
|
18
|
+
window.location.search = ActiveAdmin.toQueryString(params);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
static _jQueryInterface(config) {
|
23
|
+
return this.each(function () {
|
24
|
+
const $this = $(this)
|
25
|
+
let data = $this.data('perPage')
|
26
|
+
|
27
|
+
if (!data) {
|
28
|
+
data = new PerPage(this)
|
29
|
+
$this.data('perPage', data)
|
30
|
+
}
|
31
|
+
|
32
|
+
if (config === 'update') {
|
33
|
+
data[config]()
|
34
|
+
}
|
35
|
+
})
|
36
|
+
}
|
37
|
+
};
|
38
|
+
|
39
|
+
$(document).
|
40
|
+
on('change', '.pagination_per_page > select', function(event) {
|
41
|
+
PerPage._jQueryInterface.call($(this), 'update')
|
42
|
+
});
|
43
|
+
|
44
|
+
$.fn['perPage'] = PerPage._jQueryInterface
|
45
|
+
$.fn['perPage'].Constructor = PerPage
|
46
|
+
|
47
|
+
})(jQuery, window.activeadmin);
|
@@ -0,0 +1,36 @@
|
|
1
|
+
ActiveAdmin.TableCheckboxToggler = class TableCheckboxToggler extends ActiveAdmin.CheckboxToggler {
|
2
|
+
_bind() {
|
3
|
+
super._bind(...arguments);
|
4
|
+
|
5
|
+
this.$container
|
6
|
+
.find('tbody td')
|
7
|
+
.click(event => {
|
8
|
+
if (event.target.type !== 'checkbox') {
|
9
|
+
this._didClickCell(event.target);
|
10
|
+
}
|
11
|
+
});
|
12
|
+
}
|
13
|
+
|
14
|
+
_didChangeCheckbox(checkbox) {
|
15
|
+
super._didChangeCheckbox(...arguments);
|
16
|
+
|
17
|
+
$(checkbox)
|
18
|
+
.parents('tr')
|
19
|
+
.toggleClass('selected', checkbox.checked);
|
20
|
+
}
|
21
|
+
|
22
|
+
_didChangeToggleAllCheckbox() {
|
23
|
+
this.$container
|
24
|
+
.find('tbody tr')
|
25
|
+
.toggleClass('selected', super._didChangeToggleAllCheckbox(...arguments));
|
26
|
+
}
|
27
|
+
|
28
|
+
_didClickCell(cell) {
|
29
|
+
$(cell)
|
30
|
+
.parent('tr')
|
31
|
+
.find(':checkbox')
|
32
|
+
.click();
|
33
|
+
}
|
34
|
+
};
|
35
|
+
|
36
|
+
$.widget.bridge('tableCheckboxToggler', ActiveAdmin.TableCheckboxToggler);
|
@@ -0,0 +1,41 @@
|
|
1
|
+
/* Active Admin CSS */
|
2
|
+
// Normalize
|
3
|
+
@import "active_admin/normalize";
|
4
|
+
|
5
|
+
// Partials
|
6
|
+
@import "active_admin/typography";
|
7
|
+
@import "active_admin/header";
|
8
|
+
@import "active_admin/forms";
|
9
|
+
@import "active_admin/components/comments";
|
10
|
+
@import "active_admin/components/flash_messages";
|
11
|
+
@import "active_admin/components/date_picker";
|
12
|
+
@import "active_admin/components/tables";
|
13
|
+
@import "active_admin/components/batch_actions";
|
14
|
+
@import "active_admin/components/modal_dialog";
|
15
|
+
@import "active_admin/components/blank_slates";
|
16
|
+
@import "active_admin/components/breadcrumbs";
|
17
|
+
@import "active_admin/components/dropdown_menu";
|
18
|
+
@import "active_admin/components/buttons";
|
19
|
+
@import "active_admin/components/grid";
|
20
|
+
@import "active_admin/components/links";
|
21
|
+
@import "active_admin/components/pagination";
|
22
|
+
@import "active_admin/components/panels";
|
23
|
+
@import "active_admin/components/columns";
|
24
|
+
@import "active_admin/components/scopes";
|
25
|
+
@import "active_admin/components/status_tags";
|
26
|
+
@import "active_admin/components/table_tools";
|
27
|
+
@import "active_admin/components/index_list";
|
28
|
+
@import "active_admin/components/unsupported_browser";
|
29
|
+
@import "active_admin/components/tabs";
|
30
|
+
@import "active_admin/pages/logged_out";
|
31
|
+
@import "active_admin/structure/footer";
|
32
|
+
@import "active_admin/structure/main_structure";
|
33
|
+
@import "active_admin/structure/title_bar";
|
34
|
+
|
35
|
+
body {
|
36
|
+
@include sans-family;
|
37
|
+
line-height: 1.5;
|
38
|
+
font-size: 72%;
|
39
|
+
background: $body-background-color;
|
40
|
+
color: $text-color;
|
41
|
+
}
|
@@ -0,0 +1,326 @@
|
|
1
|
+
// -------------------------------------- Active Admin Forms
|
2
|
+
form {
|
3
|
+
/* Reset margins & Padding */
|
4
|
+
ul, ol, li, fieldset, legend, input, textarea, select, p { margin:0; padding:0; }
|
5
|
+
ol, ul { list-style: none }
|
6
|
+
|
7
|
+
fieldset {
|
8
|
+
border: 0;
|
9
|
+
padding: 10px 0;
|
10
|
+
margin-bottom: 20px;
|
11
|
+
|
12
|
+
&.inputs { @include section-background; }
|
13
|
+
|
14
|
+
legend {
|
15
|
+
width: 100%;
|
16
|
+
span { display: block; @include section-header; }
|
17
|
+
}
|
18
|
+
|
19
|
+
ol > li {
|
20
|
+
padding: 10px;
|
21
|
+
label {
|
22
|
+
display: block;
|
23
|
+
width: 20%;
|
24
|
+
float: left;
|
25
|
+
font-size: 1.0em;
|
26
|
+
font-weight: bold;
|
27
|
+
color: $form-label-color;
|
28
|
+
abbr {
|
29
|
+
border: none;
|
30
|
+
color: $required-field-marker-color;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
ol > li.has_many_container {
|
36
|
+
padding: 20px 10px;
|
37
|
+
h3 {
|
38
|
+
font-size: 12px;
|
39
|
+
font-weight: bold;
|
40
|
+
}
|
41
|
+
.has_many_fields { margin: 10px 0 }
|
42
|
+
}
|
43
|
+
|
44
|
+
ol > li > li label {
|
45
|
+
line-height:100%;
|
46
|
+
padding-top:0;
|
47
|
+
input {
|
48
|
+
line-height:100%;
|
49
|
+
vertical-align:middle;
|
50
|
+
margin-top:-0.1em;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
// relative so the absolutely-positioned handle will fit
|
56
|
+
.has_many_fields { position: relative }
|
57
|
+
|
58
|
+
.has_many_container {
|
59
|
+
.handle {
|
60
|
+
position: absolute;
|
61
|
+
top: calc(50% - 3em / 2);
|
62
|
+
right: 2px;
|
63
|
+
padding: 0;
|
64
|
+
cursor: move;
|
65
|
+
}
|
66
|
+
|
67
|
+
// If a sortable is nested in a sortable, give the parent handle space!
|
68
|
+
&.ui-sortable .has_many_container {
|
69
|
+
margin-right: 2em;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
.ui-sortable {
|
74
|
+
// give the handle space!
|
75
|
+
input[type=text], input[type=password], input[type=email], input[type=number], input[type=url], input[type=tel], textarea {
|
76
|
+
width: calc(80% - #{$text-input-total-padding} - 2em - 1px);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
|
80
|
+
/* Nested Fieldsets and Legends */
|
81
|
+
|
82
|
+
fieldset > ol > li {
|
83
|
+
fieldset {
|
84
|
+
position:relative;
|
85
|
+
padding: 0;
|
86
|
+
margin-bottom: 0;
|
87
|
+
|
88
|
+
&:not(.inputs) ol {
|
89
|
+
float: left;
|
90
|
+
width: 74%;
|
91
|
+
margin: 0;
|
92
|
+
padding: 0 0 0 20%;
|
93
|
+
|
94
|
+
li {
|
95
|
+
padding: 0;
|
96
|
+
border: 0;
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
&.inputs ol {
|
101
|
+
float: left;
|
102
|
+
width: 100%;
|
103
|
+
margin: 0;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
108
|
+
/* Text Fields */
|
109
|
+
input[type=text],
|
110
|
+
input[type=password],
|
111
|
+
input[type=email],
|
112
|
+
input[type=number],
|
113
|
+
input[type=url],
|
114
|
+
input[type=tel],
|
115
|
+
input[type=date],
|
116
|
+
input[type=time],
|
117
|
+
textarea {
|
118
|
+
width: calc(80% - #{$text-input-total-padding});
|
119
|
+
border: $border-width solid #c9d0d6;
|
120
|
+
@include rounded;
|
121
|
+
font-size: 0.95em;
|
122
|
+
@include sans-family;
|
123
|
+
outline: none;
|
124
|
+
padding: 8px $text-input-horizontal-padding 7px;
|
125
|
+
|
126
|
+
&:focus {
|
127
|
+
border: $border-width solid #99a2aa;
|
128
|
+
@include shadow(0,0,4px,#99a2aa);
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
input[type=date] {
|
133
|
+
width: calc(100% - #{$text-input-total-padding});
|
134
|
+
}
|
135
|
+
|
136
|
+
fieldset > ol > li {
|
137
|
+
|
138
|
+
/* Hints */
|
139
|
+
p.inline-hints {
|
140
|
+
font-size: 0.95em;
|
141
|
+
font-style: italic;
|
142
|
+
color:#666;
|
143
|
+
margin: 0.5em 0 0 20%;
|
144
|
+
}
|
145
|
+
|
146
|
+
/* Date and Time Fields */
|
147
|
+
&.date_select, &.time_select, &.datetime_select {
|
148
|
+
fieldset ol li {
|
149
|
+
float:left; width:auto; margin:0 0.5em 0 0;
|
150
|
+
label { display: none; }
|
151
|
+
input { display:inline; margin:0; padding:0; }
|
152
|
+
}
|
153
|
+
}
|
154
|
+
|
155
|
+
/* Check Boxes or Radio fields */
|
156
|
+
&.check_boxes, &.radio {
|
157
|
+
fieldset ol {
|
158
|
+
margin-bottom:-0.6em;
|
159
|
+
li {
|
160
|
+
margin:0.1em 0 0.5em 0;
|
161
|
+
label {
|
162
|
+
float:none;
|
163
|
+
width:100%;
|
164
|
+
input { margin-right:0.2em; }
|
165
|
+
}
|
166
|
+
}
|
167
|
+
}
|
168
|
+
}
|
169
|
+
|
170
|
+
/* Boolean Field */
|
171
|
+
&.boolean {
|
172
|
+
min-height: 1.1em;
|
173
|
+
label {
|
174
|
+
width: 80%;
|
175
|
+
padding-left:20%;
|
176
|
+
padding-right: 10px;
|
177
|
+
text-transform: none !important;
|
178
|
+
font-weight: normal;
|
179
|
+
input { margin:0 0.5em 0 0.2em; }
|
180
|
+
}
|
181
|
+
}
|
182
|
+
|
183
|
+
/* Hidden fields */
|
184
|
+
&.hidden {
|
185
|
+
padding: 0;
|
186
|
+
}
|
187
|
+
|
188
|
+
/* Errors */
|
189
|
+
p.inline-errors {
|
190
|
+
color: $error-color;
|
191
|
+
font-weight: bold;
|
192
|
+
margin:0.3em 0 0 20%;
|
193
|
+
}
|
194
|
+
ul.errors {
|
195
|
+
color: $error-color;
|
196
|
+
margin:0.5em 0 0 20%;
|
197
|
+
list-style:square;
|
198
|
+
li { padding:0; border:none; display:list-item; }
|
199
|
+
}
|
200
|
+
|
201
|
+
&.error {
|
202
|
+
input[type=text], input[type=password], input[type=email], input[type=number], input[type=url], input[type=tel], textarea {
|
203
|
+
border: $border-width solid $error-color;
|
204
|
+
}
|
205
|
+
}
|
206
|
+
}
|
207
|
+
|
208
|
+
/* semantic_errors */
|
209
|
+
ul.errors {
|
210
|
+
background: lighten($error-color, 60%);
|
211
|
+
@include rounded(4px);
|
212
|
+
color: $error-color;
|
213
|
+
font-weight: bold;
|
214
|
+
margin-bottom: 10px;
|
215
|
+
padding: 10px;
|
216
|
+
list-style:square;
|
217
|
+
li { margin-left:15px; padding:0; border:none; display:list-item; }
|
218
|
+
}
|
219
|
+
|
220
|
+
/* Buttons */
|
221
|
+
|
222
|
+
input[type=submit], input[type=button], button {
|
223
|
+
@include dark-button;
|
224
|
+
cursor: pointer;
|
225
|
+
|
226
|
+
}
|
227
|
+
|
228
|
+
.buttons, .actions {
|
229
|
+
margin-top: 15px;
|
230
|
+
input[type=submit], input[type=button], button { margin-right: 10px; }
|
231
|
+
}
|
232
|
+
|
233
|
+
.actions .create_another {
|
234
|
+
float: none;
|
235
|
+
margin-bottom: 10px;
|
236
|
+
|
237
|
+
label {
|
238
|
+
float: none;
|
239
|
+
display: inline;
|
240
|
+
}
|
241
|
+
}
|
242
|
+
|
243
|
+
fieldset.buttons li, fieldset.actions li {
|
244
|
+
float:left;
|
245
|
+
padding: 0;
|
246
|
+
|
247
|
+
&.cancel a { @include light-button; }
|
248
|
+
}
|
249
|
+
}
|
250
|
+
|
251
|
+
// -------------------------------------- Sidebar Forms
|
252
|
+
|
253
|
+
$sidebar-inner-content-width: $sidebar-width - ($section-padding * 2);
|
254
|
+
|
255
|
+
.sidebar_section {
|
256
|
+
|
257
|
+
label {
|
258
|
+
display: block;
|
259
|
+
text-transform: uppercase;
|
260
|
+
color: $form-label-color;
|
261
|
+
font-size: 0.9em;
|
262
|
+
font-weight: bold;
|
263
|
+
}
|
264
|
+
|
265
|
+
select {
|
266
|
+
width: $sidebar-inner-content-width;
|
267
|
+
}
|
268
|
+
|
269
|
+
input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], textarea {
|
270
|
+
width: $sidebar-inner-content-width - ($text-input-horizontal-padding * 2);
|
271
|
+
}
|
272
|
+
|
273
|
+
}
|
274
|
+
|
275
|
+
// -------------------------------------- Filter Forms
|
276
|
+
|
277
|
+
$filter-field-seperator-width: 12px;
|
278
|
+
|
279
|
+
$side-by-side-filter-input-width: ($sidebar-inner-content-width / 2) - ($text-input-horizontal-padding * 2) - $filter-field-seperator-width;
|
280
|
+
$side-by-side-filter-select-width: ($sidebar-inner-content-width / 2) - $filter-field-seperator-width;
|
281
|
+
|
282
|
+
$date-range-filter-input-width: ($sidebar-inner-content-width / 2) - ($filter-field-seperator-width / 2);
|
283
|
+
|
284
|
+
form.filter_form {
|
285
|
+
.filter_form_field {
|
286
|
+
margin-bottom: 10px;
|
287
|
+
clear: both;
|
288
|
+
|
289
|
+
&.select_and_search {
|
290
|
+
input[type=text] {
|
291
|
+
margin-left: $filter-field-seperator-width + 4;
|
292
|
+
width: $side-by-side-filter-input-width;
|
293
|
+
}
|
294
|
+
select {
|
295
|
+
width: $side-by-side-filter-select-width;
|
296
|
+
}
|
297
|
+
}
|
298
|
+
|
299
|
+
&.filter_check_boxes {
|
300
|
+
label { margin-bottom: 3px; }
|
301
|
+
fieldset {
|
302
|
+
margin-bottom: 0px;
|
303
|
+
padding-bottom: 0px;
|
304
|
+
}
|
305
|
+
.check_boxes_wrapper label {
|
306
|
+
font-weight: normal;
|
307
|
+
margin-bottom: 3px;
|
308
|
+
text-transform: none;
|
309
|
+
font-size: 1.0em;
|
310
|
+
input { vertical-align: baseline; }
|
311
|
+
}
|
312
|
+
}
|
313
|
+
|
314
|
+
&.filter_date_range {
|
315
|
+
input[type=text] {
|
316
|
+
box-sizing: border-box;
|
317
|
+
width: $date-range-filter-input-width;
|
318
|
+
|
319
|
+
+ input {
|
320
|
+
margin-left: 6px;
|
321
|
+
}
|
322
|
+
}
|
323
|
+
}
|
324
|
+
}
|
325
|
+
a.clear_filters_btn { @include light-button; }
|
326
|
+
}
|