yousty-activeadmin 1.0.4.pre → 1.0.5.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +261 -211
- data/CONTRIBUTING.md +73 -39
- data/Gemfile +38 -20
- data/Guardfile +1 -0
- data/LICENSE +1 -1
- data/README.md +48 -24
- data/Rakefile +12 -4
- data/activeadmin.gemspec +21 -26
- data/app/assets/javascripts/active_admin/application.js.coffee +34 -5
- data/app/assets/javascripts/active_admin/base.js.coffee +11 -2
- data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +6 -0
- data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +7 -0
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +39 -0
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +3 -4
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +51 -55
- data/app/assets/javascripts/active_admin/lib/flash.js.coffee +19 -0
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +79 -0
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +37 -0
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +27 -0
- data/app/assets/javascripts/active_admin/lib/popover.js.coffee +29 -58
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +2 -3
- data/app/assets/stylesheets/active_admin/{_base.css.scss → _base.scss} +3 -0
- data/app/assets/stylesheets/active_admin/{_forms.css.scss → _forms.scss} +51 -15
- data/app/assets/stylesheets/active_admin/{_header.css.scss → _header.scss} +9 -5
- data/app/assets/stylesheets/active_admin/{_mixins.css.scss → _mixins.scss} +0 -0
- data/app/assets/stylesheets/active_admin/{_typography.css.scss → _typography.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/{_comments.css.scss → _comments.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/{_date_picker.css.scss → _date_picker.scss} +40 -12
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +3 -1
- data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
- data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +10 -0
- data/app/assets/stylesheets/active_admin/components/{_popovers.css.scss → _popovers.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +4 -0
- data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
- data/app/assets/stylesheets/active_admin/components/{_tables.css.scss → _tables.scss} +1 -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.css.scss → _all.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_buttons.css.scss → _buttons.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_gradients.css.scss → _gradients.scss} +1 -1
- data/app/assets/stylesheets/active_admin/mixins/{_icons.css.scss → _icons.scss} +1 -2
- data/app/assets/stylesheets/active_admin/mixins/{_reset.css.scss → _reset.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_rounded.css.scss → _rounded.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_sections.css.scss → _sections.scss} +7 -1
- data/app/assets/stylesheets/active_admin/mixins/{_shadows.css.scss → _shadows.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_variables.css.scss → _variables.scss} +10 -8
- data/app/assets/stylesheets/active_admin/{print.css.scss → print.scss} +4 -0
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +10 -7
- data/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
- 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 +1 -1
- data/app/views/active_admin/devise/passwords/edit.html.erb +9 -10
- data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
- data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
- data/app/views/active_admin/devise/sessions/new.html.erb +8 -8
- data/app/views/active_admin/devise/shared/_links.erb +1 -1
- data/app/views/active_admin/devise/unlocks/new.html.erb +5 -4
- data/app/views/layouts/active_admin_logged_out.html.erb +3 -5
- data/config/locales/ar.yml +120 -0
- data/config/locales/bg.yml +26 -6
- data/config/locales/bs.yml +122 -0
- data/config/locales/ca.yml +10 -1
- data/config/locales/cs.yml +7 -2
- data/config/locales/da.yml +7 -3
- data/config/locales/de-CH.yml +14 -31
- data/config/locales/de.yml +33 -33
- data/config/locales/el.yml +127 -0
- data/config/locales/en-GB.yml +11 -4
- data/config/locales/en.yml +21 -4
- data/config/locales/{es_MX.yml → es-MX.yml} +14 -24
- data/config/locales/es.yml +32 -25
- data/config/locales/fa.yml +120 -0
- data/config/locales/fi.yml +9 -5
- data/config/locales/fr.yml +28 -12
- data/config/locales/he.yml +7 -3
- data/config/locales/hr.yml +42 -11
- data/config/locales/hu.yml +10 -3
- data/config/locales/it.yml +31 -3
- data/config/locales/ja.yml +17 -4
- data/config/locales/ko.yml +7 -1
- data/config/locales/lt.yml +42 -11
- data/config/locales/lv.yml +7 -3
- data/config/locales/{no-NB.yml → nb.yml} +46 -15
- data/config/locales/nl.yml +36 -5
- data/config/locales/pl.yml +13 -8
- data/config/locales/pt-BR.yml +36 -5
- data/config/locales/pt-PT.yml +8 -4
- data/config/locales/ro.yml +7 -3
- data/config/locales/ru.yml +26 -5
- data/config/locales/sv-SE.yml +9 -5
- data/config/locales/tr.yml +10 -3
- data/config/locales/uk.yml +36 -12
- data/config/locales/vi.yml +7 -3
- data/config/locales/zh-CN.yml +26 -10
- data/config/locales/zh-TW.yml +19 -13
- data/docs/0-installation.md +14 -6
- data/docs/1-general-configuration.md +8 -5
- data/docs/10-custom-pages.md +68 -70
- data/docs/11-decorators.md +48 -59
- data/docs/12-arbre-components.md +79 -73
- data/docs/13-authorization-adapter.md +128 -107
- data/docs/14-gotchas.md +90 -0
- data/docs/2-resource-customization.md +82 -15
- data/docs/3-index-pages.md +71 -12
- data/docs/3-index-pages/custom-index.md +31 -0
- data/docs/3-index-pages/index-as-table.md +45 -2
- data/docs/4-csv-format.md +1 -1
- data/docs/5-forms.md +78 -29
- data/docs/6-show-pages.md +31 -3
- data/docs/7-sidebars.md +46 -25
- data/docs/8-custom-actions.md +98 -77
- data/docs/9-batch-actions.md +211 -133
- data/docs/README.md +24 -0
- data/features/action_item.feature +3 -3
- data/features/authorization_pundit.feature +37 -0
- data/features/belongs_to.feature +3 -0
- data/features/breadcrumb.feature +48 -0
- data/features/comments/commenting.feature +44 -13
- data/features/development_reloading.feature +3 -4
- data/features/edit_page.feature +9 -19
- data/features/favicon.feature +3 -3
- data/features/i18n.feature +5 -0
- data/features/index/batch_actions.feature +41 -0
- data/features/index/filters.feature +23 -0
- data/features/index/format_as_csv.feature +90 -4
- data/features/index/index_as_blog.feature +4 -4
- data/features/index/index_as_table.feature +102 -6
- data/features/index/index_blank_slate.feature +22 -0
- data/features/index/index_scope_to.feature +16 -16
- data/features/index/page_title.feature +11 -0
- data/features/index/pagination.feature +1 -1
- data/features/index/switch_index_view.feature +14 -14
- data/features/new_page.feature +10 -20
- data/features/registering_pages.feature +1 -1
- data/features/renamed_resource.feature +32 -0
- data/features/show/page_title.feature +11 -0
- data/features/show/tabs.feature +27 -0
- data/features/sidebar_sections.feature +12 -0
- data/features/specifying_actions.feature +3 -3
- data/features/step_definitions/action_item_steps.rb +2 -2
- data/features/step_definitions/action_link_steps.rb +14 -1
- data/features/step_definitions/additional_web_steps.rb +17 -18
- data/features/step_definitions/asset_steps.rb +3 -3
- data/features/step_definitions/attribute_steps.rb +8 -3
- data/features/step_definitions/batch_action_steps.rb +26 -9
- data/features/step_definitions/blog_steps.rb +3 -0
- data/features/step_definitions/breadcrumb_steps.rb +1 -1
- data/features/step_definitions/comment_steps.rb +1 -1
- data/features/step_definitions/configuration_steps.rb +1 -1
- data/features/step_definitions/dashboard_steps.rb +2 -2
- data/features/step_definitions/factory_steps.rb +6 -6
- data/features/step_definitions/filter_steps.rb +25 -3
- data/features/step_definitions/flash_steps.rb +3 -3
- data/features/step_definitions/format_steps.rb +17 -10
- data/features/step_definitions/index_scope_steps.rb +5 -5
- data/features/step_definitions/layout_steps.rb +1 -1
- data/features/step_definitions/member_link_steps.rb +2 -2
- data/features/step_definitions/menu_steps.rb +3 -3
- data/features/step_definitions/pagination_steps.rb +2 -3
- data/features/step_definitions/sidebar_steps.rb +8 -3
- data/features/step_definitions/site_title_steps.rb +6 -4
- data/features/step_definitions/symbol_leak_steps.rb +1 -1
- data/features/step_definitions/tab_steps.rb +5 -0
- data/features/step_definitions/table_steps.rb +4 -4
- data/features/step_definitions/user_steps.rb +15 -9
- data/features/step_definitions/web_steps.rb +10 -11
- data/features/sti_resource.feature +2 -10
- data/features/strong_parameters.feature +73 -0
- data/features/support/env.rb +35 -2
- data/features/support/paths.rb +2 -2
- data/features/support/selectors.rb +1 -1
- data/features/users/resetting_password.feature +7 -7
- data/lib/active_admin.rb +18 -13
- data/lib/active_admin/abstract_view_factory.rb +7 -17
- data/lib/active_admin/application.rb +50 -25
- data/lib/active_admin/asset_registration.rb +2 -2
- data/lib/active_admin/authorization_adapter.rb +2 -2
- data/lib/active_admin/base_controller.rb +2 -3
- data/lib/active_admin/base_controller/authorization.rb +13 -31
- data/lib/active_admin/batch_actions.rb +1 -1
- data/lib/active_admin/batch_actions/controller.rb +13 -7
- data/lib/active_admin/batch_actions/resource_extension.rb +43 -17
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +7 -4
- data/lib/active_admin/batch_actions/views/batch_action_popover.rb +3 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -17
- data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -4
- data/lib/active_admin/callbacks.rb +25 -24
- data/lib/active_admin/cancan_adapter.rb +7 -11
- data/lib/active_admin/csv_builder.rb +92 -15
- data/lib/active_admin/dependency.rb +93 -0
- data/lib/active_admin/deprecation.rb +6 -7
- data/lib/active_admin/devise.rb +26 -14
- data/lib/active_admin/dsl.rb +18 -11
- data/lib/active_admin/engine.rb +7 -2
- data/lib/active_admin/error.rb +59 -0
- data/lib/active_admin/filters/dsl.rb +2 -2
- data/lib/active_admin/filters/forms.rb +19 -30
- data/lib/active_admin/filters/formtastic_addons.rb +20 -11
- data/lib/active_admin/filters/resource_extension.rb +16 -9
- data/lib/active_admin/form_builder.rb +94 -105
- data/lib/active_admin/helpers/collection.rb +7 -13
- data/lib/active_admin/helpers/i18n.rb +7 -0
- data/lib/active_admin/helpers/optional_display.rb +5 -5
- data/lib/active_admin/helpers/scope_chain.rb +1 -1
- data/lib/active_admin/helpers/settings.rb +16 -9
- data/lib/active_admin/iconic.rb +17 -15
- data/lib/active_admin/iconic/icons.rb +136 -136
- data/lib/active_admin/inputs.rb +11 -7
- data/lib/active_admin/inputs/datepicker_input.rb +1 -1
- data/lib/active_admin/inputs/filters/base.rb +42 -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_range_input.rb +36 -0
- data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
- data/lib/active_admin/inputs/filters/select_input.rb +54 -0
- data/lib/active_admin/inputs/filters/string_input.rb +26 -0
- data/lib/active_admin/menu.rb +3 -3
- data/lib/active_admin/menu_collection.rb +1 -4
- data/lib/active_admin/namespace.rb +52 -29
- data/lib/active_admin/order_clause.rb +26 -0
- data/lib/active_admin/orm/active_record.rb +2 -0
- data/lib/active_admin/orm/active_record/comments.rb +48 -51
- data/lib/active_admin/orm/active_record/comments/comment.rb +16 -10
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +15 -13
- data/lib/active_admin/page.rb +5 -1
- data/lib/active_admin/page_dsl.rb +1 -1
- data/lib/active_admin/page_presenter.rb +2 -2
- data/lib/active_admin/pundit_adapter.rb +68 -0
- data/lib/active_admin/resource.rb +12 -3
- data/lib/active_admin/resource/action_items.rb +15 -8
- data/lib/active_admin/resource/belongs_to.rb +7 -3
- data/lib/active_admin/resource/controllers.rb +1 -0
- data/lib/active_admin/resource/includes.rb +12 -0
- data/lib/active_admin/resource/menu.rb +5 -5
- data/lib/active_admin/resource/naming.rb +25 -47
- data/lib/active_admin/resource/page_presenters.rb +1 -1
- data/lib/active_admin/resource/routes.rb +26 -10
- data/lib/active_admin/resource/scope_to.rb +7 -7
- data/lib/active_admin/resource/sidebars.rb +1 -0
- data/lib/active_admin/resource_collection.rb +44 -16
- data/lib/active_admin/resource_controller.rb +6 -5
- data/lib/active_admin/resource_controller/data_access.rb +87 -82
- data/lib/active_admin/resource_controller/decorators.rb +91 -9
- data/lib/active_admin/resource_controller/streaming.rb +37 -0
- data/lib/active_admin/resource_dsl.rb +54 -10
- data/lib/active_admin/router.rb +7 -7
- data/lib/active_admin/scope.rb +6 -6
- data/lib/active_admin/sidebar_section.rb +10 -2
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +17 -16
- data/lib/active_admin/view_helpers.rb +0 -1
- data/lib/active_admin/view_helpers/auto_link_helper.rb +23 -12
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +13 -6
- data/lib/active_admin/view_helpers/display_helper.rb +30 -17
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +21 -24
- data/lib/active_admin/view_helpers/fields_for.rb +2 -2
- data/lib/active_admin/view_helpers/flash_helper.rb +4 -3
- data/lib/active_admin/view_helpers/form_helper.rb +5 -9
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +6 -6
- data/lib/active_admin/views/action_items.rb +2 -2
- data/lib/active_admin/views/components/action_list_popover.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +123 -0
- data/lib/active_admin/views/components/attributes_table.rb +22 -13
- data/lib/active_admin/views/components/blank_slate.rb +1 -1
- data/lib/active_admin/views/components/columns.rb +13 -7
- data/lib/active_admin/views/components/dropdown_menu.rb +6 -6
- data/lib/active_admin/views/components/index_list.rb +7 -7
- data/lib/active_admin/views/components/paginated_collection.rb +33 -17
- data/lib/active_admin/views/components/panel.rb +8 -2
- data/lib/active_admin/views/components/popover.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +1 -1
- data/lib/active_admin/views/components/sidebar_section.rb +3 -2
- data/lib/active_admin/views/components/site_title.rb +2 -2
- data/lib/active_admin/views/components/status_tag.rb +34 -11
- data/lib/active_admin/views/components/table_for.rb +67 -22
- data/lib/active_admin/views/components/tabs.rb +28 -0
- data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
- data/lib/active_admin/views/footer.rb +3 -3
- data/lib/active_admin/views/header.rb +3 -3
- data/lib/active_admin/views/index_as_blog.rb +6 -6
- data/lib/active_admin/views/index_as_grid.rb +2 -2
- data/lib/active_admin/views/index_as_table.rb +127 -40
- data/lib/active_admin/views/pages/base.rb +22 -18
- data/lib/active_admin/views/pages/form.rb +16 -6
- data/lib/active_admin/views/pages/index.rb +36 -20
- data/lib/active_admin/views/pages/layout.rb +1 -1
- data/lib/active_admin/views/pages/show.rb +4 -4
- data/lib/active_admin/views/tabbed_navigation.rb +7 -3
- data/lib/active_admin/views/title_bar.rb +10 -8
- data/lib/generators/active_admin/assets/assets_generator.rb +1 -3
- data/lib/generators/active_admin/devise/devise_generator.rb +20 -28
- data/lib/generators/active_admin/install/install_generator.rb +8 -9
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -22
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +12 -9
- data/lib/generators/active_admin/install/templates/dashboard.rb +4 -4
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +3 -3
- 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 +2 -4
- data/lib/generators/active_admin/resource/templates/admin.rb +15 -0
- data/lib/ransack_ext.rb +4 -4
- data/script/local +2 -2
- data/script/travis_cache +107 -0
- data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +25 -0
- data/spec/javascripts/fixtures/flashes.html +2 -0
- data/spec/rails_helper.rb +154 -0
- data/spec/{integration → requests}/default_namespace_spec.rb +6 -6
- data/spec/{integration → requests}/javascript_spec.rb +5 -5
- data/spec/requests/memory_spec.rb +23 -0
- data/spec/requests/stylesheets_spec.rb +18 -0
- data/spec/spec_helper.rb +12 -170
- data/spec/support/detect_rails_version.rb +31 -39
- data/spec/support/rails_template.rb +61 -34
- data/spec/support/rails_template_with_data.rb +14 -14
- data/spec/support/templates/admin/stores.rb +3 -5
- data/spec/support/templates/policies/active_admin/comment_policy.rb +9 -0
- data/spec/support/templates/policies/active_admin/page_policy.rb +18 -0
- data/spec/support/templates/policies/admin_user_policy.rb +11 -0
- data/spec/support/templates/policies/application_policy.rb +45 -0
- data/spec/support/templates/policies/category_policy.rb +7 -0
- data/spec/support/templates/policies/post_policy.rb +15 -0
- data/spec/support/templates/policies/store_policy.rb +11 -0
- data/spec/support/templates/policies/user_policy.rb +11 -0
- data/spec/support/templates/post_decorator.rb +4 -46
- data/spec/unit/abstract_view_factory_spec.rb +11 -11
- data/spec/unit/action_builder_spec.rb +24 -18
- data/spec/unit/active_admin_spec.rb +2 -2
- data/spec/unit/application_spec.rb +30 -31
- data/spec/unit/asset_registration_spec.rb +11 -11
- data/spec/unit/authorization/authorization_adapter_spec.rb +7 -7
- data/spec/unit/authorization/controller_authorization_spec.rb +11 -11
- data/spec/unit/authorization/index_overriding_spec.rb +22 -0
- data/spec/unit/auto_link_spec.rb +42 -5
- data/spec/unit/batch_actions/resource_spec.rb +15 -14
- data/spec/unit/batch_actions/settings_spec.rb +18 -18
- data/spec/unit/belongs_to_spec.rb +26 -17
- data/spec/unit/cancan_adapter_spec.rb +4 -4
- data/spec/unit/comments_spec.rb +99 -39
- data/spec/unit/component_spec.rb +3 -3
- data/spec/unit/config_shared_examples.rb +8 -8
- data/spec/unit/controller_filters_spec.rb +26 -14
- data/spec/unit/csv_builder_spec.rb +152 -24
- data/spec/unit/dependency_spec.rb +135 -0
- data/spec/unit/devise_spec.rb +17 -37
- data/spec/unit/dsl_spec.rb +70 -9
- data/spec/unit/event_spec.rb +9 -9
- data/spec/unit/filters/filter_form_builder_spec.rb +167 -157
- data/spec/unit/filters/resource_spec.rb +35 -33
- data/spec/unit/form_builder_spec.rb +383 -145
- data/spec/unit/generators/install_spec.rb +5 -5
- data/spec/unit/helpers/collection_spec.rb +18 -18
- data/spec/unit/helpers/scope_chain_spec.rb +5 -5
- data/spec/unit/helpers/settings_spec.rb +4 -4
- data/spec/unit/i18n_spec.rb +12 -0
- data/spec/unit/menu_collection_spec.rb +14 -14
- data/spec/unit/menu_item_spec.rb +42 -42
- data/spec/unit/menu_spec.rb +20 -20
- data/spec/unit/namespace/authorization_spec.rb +5 -5
- data/spec/unit/namespace/register_page_spec.rb +9 -9
- data/spec/unit/namespace/register_resource_spec.rb +26 -28
- data/spec/unit/namespace_spec.rb +20 -20
- data/spec/unit/order_clause_spec.rb +81 -0
- data/spec/unit/page_controller_spec.rb +1 -1
- data/spec/unit/page_spec.rb +18 -12
- data/spec/unit/pretty_format_spec.rb +42 -14
- data/spec/unit/pundit_adapter_spec.rb +98 -0
- data/spec/unit/resource/action_items_spec.rb +13 -10
- data/spec/unit/resource/includes_spec.rb +21 -0
- data/spec/unit/resource/menu_spec.rb +1 -1
- data/spec/unit/resource/naming_spec.rb +23 -23
- data/spec/unit/resource/page_presenters_spec.rb +8 -8
- data/spec/unit/resource/pagination_spec.rb +6 -6
- data/spec/unit/resource/routes_spec.rb +10 -10
- data/spec/unit/resource/scopes_spec.rb +14 -7
- data/spec/unit/resource/sidebars_spec.rb +6 -6
- data/spec/unit/resource_collection_spec.rb +66 -68
- data/spec/unit/resource_controller/data_access_spec.rb +39 -21
- data/spec/unit/resource_controller/decorators_spec.rb +83 -0
- data/spec/unit/resource_controller/sidebars_spec.rb +7 -8
- data/spec/unit/resource_controller_spec.rb +66 -62
- data/spec/unit/resource_registration_spec.rb +12 -12
- data/spec/unit/resource_spec.rb +75 -40
- data/spec/unit/routing_spec.rb +39 -31
- data/spec/unit/scope_spec.rb +112 -30
- data/spec/unit/settings_spec.rb +51 -21
- data/spec/unit/view_factory_spec.rb +2 -2
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +137 -69
- data/spec/unit/view_helpers/display_name_spec.rb +49 -21
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +5 -5
- data/spec/unit/view_helpers/fields_for_spec.rb +18 -18
- data/spec/unit/view_helpers/flash_helper_spec.rb +25 -0
- data/spec/unit/view_helpers/form_helper_spec.rb +9 -22
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +59 -21
- data/spec/unit/views/components/action_list_popover_spec.rb +16 -6
- data/spec/unit/views/components/attributes_table_spec.rb +94 -52
- data/spec/unit/views/components/batch_action_popover_spec.rb +20 -6
- data/spec/unit/views/components/blank_slate_spec.rb +14 -4
- data/spec/unit/views/components/columns_spec.rb +52 -22
- data/spec/unit/views/components/index_list_spec.rb +11 -8
- data/spec/unit/views/components/index_table_for_spec.rb +46 -0
- data/spec/unit/views/components/paginated_collection_spec.rb +68 -59
- data/spec/unit/views/components/panel_spec.rb +32 -21
- data/spec/unit/views/components/popover_spec.rb +7 -7
- data/spec/unit/views/components/sidebar_section_spec.rb +18 -8
- data/spec/unit/views/components/site_title_spec.rb +8 -8
- data/spec/unit/views/components/status_tag_spec.rb +178 -38
- data/spec/unit/views/components/table_for_spec.rb +227 -44
- data/spec/unit/views/components/tabs_spec.rb +39 -0
- data/spec/unit/views/components/unsupported_browser_spec.rb +47 -0
- data/spec/unit/views/pages/form_spec.rb +17 -10
- data/spec/unit/views/pages/index_spec.rb +60 -0
- data/spec/unit/views/pages/layout_spec.rb +17 -21
- data/spec/unit/views/pages/show_spec.rb +16 -3
- data/spec/unit/views/tabbed_navigation_spec.rb +61 -52
- data/tasks/docs.rake +1 -1
- data/tasks/parallel_tests.rake +8 -2
- data/tasks/test.rake +8 -4
- data/tasks/yard.rake +7 -5
- metadata +180 -101
- data/app/assets/images/active_admin/admin_notes_icon.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
- data/app/assets/images/active_admin/index_list_icons/block_icon.svg +0 -10
- data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +0 -4
- data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +0 -13
- data/app/assets/images/active_admin/index_list_icons/table_icon.svg +0 -3
- data/app/assets/images/active_admin/loading.gif +0 -0
- data/app/assets/javascripts/active_admin/components/application.js.coffee +0 -23
- data/app/assets/javascripts/active_admin/components/batch_actions.js.coffee +0 -26
- data/app/assets/javascripts/active_admin/components/has_many.js.coffee +0 -41
- data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +0 -11
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +0 -39
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +0 -95
- data/app/views/active_admin/dashboard/index.html.arb +0 -1
- data/app/views/active_admin/resource/index.csv.erb +0 -17
- data/docs/3-index-pages/create-an-index.md +0 -29
- data/lib/active_admin/inputs/filter_base.rb +0 -33
- data/lib/active_admin/inputs/filter_base/search_method_select.rb +0 -73
- data/lib/active_admin/inputs/filter_boolean_input.rb +0 -32
- data/lib/active_admin/inputs/filter_check_boxes_input.rb +0 -51
- data/lib/active_admin/inputs/filter_date_range_input.rb +0 -34
- data/lib/active_admin/inputs/filter_numeric_input.rb +0 -10
- data/lib/active_admin/inputs/filter_select_input.rb +0 -61
- data/lib/active_admin/inputs/filter_string_input.rb +0 -24
- data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +0 -7
- data/spec/integration/memory_spec.rb +0 -29
- data/spec/integration/stylesheets_spec.rb +0 -41
- data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +0 -60
- data/spec/javascripts/compiled/jquery.aa.popover-spec.js +0 -106
- data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +0 -37
- data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +0 -108
- data/spec/javascripts/helpers/vendor/jasmine-jquery.js +0 -288
- data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +0 -2915
- data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +0 -34
- data/spec/javascripts/support/jquery.min.js +0 -4
- data/spec/spec_helper_without_rails.rb +0 -16
- data/tasks/js.rake +0 -32
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Views
|
|
3
|
+
class Tabs < ActiveAdmin::Component
|
|
4
|
+
builder_method :tabs
|
|
5
|
+
|
|
6
|
+
def tab(title, options = {}, &block)
|
|
7
|
+
title = title.to_s.titleize if title.is_a? Symbol
|
|
8
|
+
@menu << build_menu_item(title, options, &block)
|
|
9
|
+
@tabs_content << build_content_item(title, options, &block)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def build(&block)
|
|
13
|
+
@menu = ul(class: 'nav nav-tabs', role: "tablist")
|
|
14
|
+
@tabs_content = div(class: 'tab-content')
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def build_menu_item(title, options, &block)
|
|
18
|
+
options = options.reverse_merge({})
|
|
19
|
+
li { link_to title, "##{title.parameterize}", options }
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def build_content_item(title, options, &block)
|
|
23
|
+
options = options.reverse_merge(id: title.parameterize)
|
|
24
|
+
div(options, &block)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Views
|
|
3
|
+
class UnsupportedBrowser < Component
|
|
4
|
+
def build
|
|
5
|
+
h1 I18n.t("active_admin.unsupported_browser.headline").html_safe
|
|
6
|
+
para I18n.t("active_admin.unsupported_browser.recommendation").html_safe
|
|
7
|
+
para I18n.t("active_admin.unsupported_browser.turn_off_compatibility_view").html_safe
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -3,7 +3,7 @@ module ActiveAdmin
|
|
|
3
3
|
class Footer < Component
|
|
4
4
|
|
|
5
5
|
def build
|
|
6
|
-
super :
|
|
6
|
+
super id: "footer"
|
|
7
7
|
powered_by_message
|
|
8
8
|
end
|
|
9
9
|
|
|
@@ -11,8 +11,8 @@ module ActiveAdmin
|
|
|
11
11
|
|
|
12
12
|
def powered_by_message
|
|
13
13
|
para I18n.t('active_admin.powered_by',
|
|
14
|
-
:
|
|
15
|
-
:
|
|
14
|
+
active_admin: link_to("Active Admin", "http://www.activeadmin.info"),
|
|
15
|
+
version: ActiveAdmin::VERSION).html_safe
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
end
|
|
@@ -3,7 +3,7 @@ module ActiveAdmin
|
|
|
3
3
|
class Header < Component
|
|
4
4
|
|
|
5
5
|
def build(namespace, menu)
|
|
6
|
-
super(:
|
|
6
|
+
super(id: "header")
|
|
7
7
|
|
|
8
8
|
@namespace = namespace
|
|
9
9
|
@menu = menu
|
|
@@ -20,11 +20,11 @@ module ActiveAdmin
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def build_global_navigation
|
|
23
|
-
insert_tag view_factory.global_navigation, @menu, :
|
|
23
|
+
insert_tag view_factory.global_navigation, @menu, class: 'header-item tabs'
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
def build_utility_navigation
|
|
27
|
-
insert_tag view_factory.utility_navigation, @utility_menu, :
|
|
27
|
+
insert_tag view_factory.utility_navigation, @utility_menu, id: "utility_nav", class: 'header-item tabs'
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
end
|
|
@@ -75,7 +75,7 @@ module ActiveAdmin
|
|
|
75
75
|
|
|
76
76
|
# Call the block passed in. This will set the
|
|
77
77
|
# title and body methods
|
|
78
|
-
|
|
78
|
+
instance_exec &page_presenter.block if page_presenter.block
|
|
79
79
|
|
|
80
80
|
add_class "index"
|
|
81
81
|
build_posts
|
|
@@ -113,7 +113,7 @@ module ActiveAdmin
|
|
|
113
113
|
end
|
|
114
114
|
|
|
115
115
|
def build_post(post)
|
|
116
|
-
div :
|
|
116
|
+
div for: post do
|
|
117
117
|
resource_selection_cell(post) if active_admin_config.batch_actions.any?
|
|
118
118
|
build_title(post)
|
|
119
119
|
build_body(post)
|
|
@@ -123,7 +123,7 @@ module ActiveAdmin
|
|
|
123
123
|
def build_title(post)
|
|
124
124
|
if @title
|
|
125
125
|
h3 do
|
|
126
|
-
a(:
|
|
126
|
+
a(href: resource_path(post)) do
|
|
127
127
|
render_method_on_post_or_call_proc post, @title
|
|
128
128
|
end
|
|
129
129
|
end
|
|
@@ -136,7 +136,7 @@ module ActiveAdmin
|
|
|
136
136
|
|
|
137
137
|
def build_body(post)
|
|
138
138
|
if @body
|
|
139
|
-
div :
|
|
139
|
+
div class: 'content' do
|
|
140
140
|
render_method_on_post_or_call_proc post, @body
|
|
141
141
|
end
|
|
142
142
|
end
|
|
@@ -144,8 +144,8 @@ module ActiveAdmin
|
|
|
144
144
|
|
|
145
145
|
def render_method_on_post_or_call_proc(post, proc)
|
|
146
146
|
case proc
|
|
147
|
-
when String,Symbol
|
|
148
|
-
post.
|
|
147
|
+
when String, Symbol
|
|
148
|
+
post.public_send proc
|
|
149
149
|
else
|
|
150
150
|
instance_exec post, &proc
|
|
151
151
|
end
|
|
@@ -46,7 +46,7 @@ module ActiveAdmin
|
|
|
46
46
|
|
|
47
47
|
def build_table
|
|
48
48
|
resource_selection_toggle_panel if active_admin_config.batch_actions.any?
|
|
49
|
-
table :
|
|
49
|
+
table class: "index_grid" do
|
|
50
50
|
collection.in_groups_of(number_of_columns).each do |group|
|
|
51
51
|
build_row(group)
|
|
52
52
|
end
|
|
@@ -62,7 +62,7 @@ module ActiveAdmin
|
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
def build_item(item)
|
|
65
|
-
td :
|
|
65
|
+
td for: item do
|
|
66
66
|
instance_exec(item, &@page_presenter.block)
|
|
67
67
|
end
|
|
68
68
|
end
|
|
@@ -69,7 +69,7 @@ module ActiveAdmin
|
|
|
69
69
|
# selectable_column
|
|
70
70
|
# column :title
|
|
71
71
|
# actions do |post|
|
|
72
|
-
#
|
|
72
|
+
# item "Preview", admin_preview_post_path(post), class: "member_link"
|
|
73
73
|
# end
|
|
74
74
|
# end
|
|
75
75
|
# ```
|
|
@@ -80,7 +80,30 @@ module ActiveAdmin
|
|
|
80
80
|
# index do
|
|
81
81
|
# column :title
|
|
82
82
|
# actions defaults: false do |post|
|
|
83
|
-
#
|
|
83
|
+
# item "View", admin_post_path(post)
|
|
84
|
+
# end
|
|
85
|
+
# end
|
|
86
|
+
# ```
|
|
87
|
+
#
|
|
88
|
+
# Or append custom action with custom html via arbre:
|
|
89
|
+
#
|
|
90
|
+
# ```ruby
|
|
91
|
+
# index do
|
|
92
|
+
# column :title
|
|
93
|
+
# actions do |post|
|
|
94
|
+
# a link_to "View", admin_post_path(post)
|
|
95
|
+
# end
|
|
96
|
+
# end
|
|
97
|
+
# ```
|
|
98
|
+
#
|
|
99
|
+
# In case you prefer to list actions links in a dropdown menu:
|
|
100
|
+
#
|
|
101
|
+
# ```ruby
|
|
102
|
+
# index do
|
|
103
|
+
# selectable_column
|
|
104
|
+
# column :title
|
|
105
|
+
# actions dropdown: true do |post|
|
|
106
|
+
# item "Preview", admin_preview_post_path(post)
|
|
84
107
|
# end
|
|
85
108
|
# end
|
|
86
109
|
# ```
|
|
@@ -113,6 +136,15 @@ module ActiveAdmin
|
|
|
113
136
|
# end
|
|
114
137
|
# ```
|
|
115
138
|
#
|
|
139
|
+
# It's also possible to sort by PostgreSQL's hstore column key. You should set `sortable`
|
|
140
|
+
# option to a `column->'key'` value:
|
|
141
|
+
#
|
|
142
|
+
# ```ruby
|
|
143
|
+
# index do
|
|
144
|
+
# column :keywords, sortable: "meta->'keywords'"
|
|
145
|
+
# end
|
|
146
|
+
# ```
|
|
147
|
+
#
|
|
116
148
|
# ## Associated Sorting
|
|
117
149
|
#
|
|
118
150
|
# You're normally able to sort columns alphabetically, but by default you
|
|
@@ -150,15 +182,27 @@ module ActiveAdmin
|
|
|
150
182
|
# end
|
|
151
183
|
# ```
|
|
152
184
|
#
|
|
185
|
+
# ## Custom row class
|
|
186
|
+
#
|
|
187
|
+
# In order to add special class to table rows pass the proc object as a `:row_class` option
|
|
188
|
+
# of the `index` method.
|
|
189
|
+
#
|
|
190
|
+
# ```ruby
|
|
191
|
+
# index row_class: ->elem { 'active' if elem.active? } do
|
|
192
|
+
# # columns
|
|
193
|
+
# end
|
|
194
|
+
# ```
|
|
195
|
+
#
|
|
153
196
|
class IndexAsTable < ActiveAdmin::Component
|
|
154
197
|
|
|
155
198
|
def build(page_presenter, collection)
|
|
156
199
|
table_options = {
|
|
157
|
-
:
|
|
158
|
-
:
|
|
159
|
-
:
|
|
160
|
-
:
|
|
161
|
-
:
|
|
200
|
+
id: "index_table_#{active_admin_config.resource_name.plural}",
|
|
201
|
+
sortable: true,
|
|
202
|
+
class: "index_table index",
|
|
203
|
+
i18n: active_admin_config.resource_class,
|
|
204
|
+
paginator: page_presenter[:paginator] != false,
|
|
205
|
+
row_class: page_presenter[:row_class]
|
|
162
206
|
}
|
|
163
207
|
|
|
164
208
|
table_for collection, table_options do |t|
|
|
@@ -174,11 +218,11 @@ module ActiveAdmin
|
|
|
174
218
|
def default_table
|
|
175
219
|
proc do
|
|
176
220
|
selectable_column
|
|
177
|
-
id_column
|
|
221
|
+
id_column if resource_class.primary_key # View based Models have no primary_key
|
|
178
222
|
resource_class.content_columns.each do |col|
|
|
179
223
|
column col.name.to_sym
|
|
180
224
|
end
|
|
181
|
-
|
|
225
|
+
actions
|
|
182
226
|
end
|
|
183
227
|
end
|
|
184
228
|
|
|
@@ -195,66 +239,109 @@ module ActiveAdmin
|
|
|
195
239
|
# Display a column for checkbox
|
|
196
240
|
def selectable_column
|
|
197
241
|
return unless active_admin_config.batch_actions.any?
|
|
198
|
-
column resource_selection_toggle_cell, class: 'selectable' do |resource|
|
|
242
|
+
column resource_selection_toggle_cell, class: 'col-selectable', sortable: false do |resource|
|
|
199
243
|
resource_selection_cell resource
|
|
200
244
|
end
|
|
201
245
|
end
|
|
202
246
|
|
|
203
247
|
# Display a column for the id
|
|
204
248
|
def id_column
|
|
205
|
-
|
|
206
|
-
|
|
249
|
+
raise "#{resource_class.name} as no primary_key!" unless resource_class.primary_key
|
|
250
|
+
column(resource_class.human_attribute_name(resource_class.primary_key), sortable: resource_class.primary_key) do |resource|
|
|
251
|
+
if controller.action_methods.include?('show')
|
|
252
|
+
link_to resource.id, resource_path(resource), class: "resource_id_link"
|
|
253
|
+
else
|
|
254
|
+
resource.id
|
|
255
|
+
end
|
|
207
256
|
end
|
|
208
257
|
end
|
|
209
258
|
|
|
259
|
+
def default_actions
|
|
260
|
+
raise '`default_actions` is no longer provided in ActiveAdmin 1.x. Use `actions` instead.'
|
|
261
|
+
end
|
|
262
|
+
|
|
210
263
|
# Add links to perform actions.
|
|
211
264
|
#
|
|
212
265
|
# ```ruby
|
|
213
266
|
# # Add default links.
|
|
214
267
|
# actions
|
|
215
268
|
#
|
|
269
|
+
# # Add default links with a custom column title (empty by default).
|
|
270
|
+
# actions name: 'A title!'
|
|
271
|
+
#
|
|
216
272
|
# # Append some actions onto the end of the default actions.
|
|
217
273
|
# actions do |admin_user|
|
|
218
|
-
#
|
|
274
|
+
# item 'Grant Admin', grant_admin_admin_user_path(admin_user)
|
|
275
|
+
# item 'Grant User', grant_user_admin_user_path(admin_user)
|
|
276
|
+
# end
|
|
277
|
+
#
|
|
278
|
+
# # Append some actions onto the end of the default actions using arbre dsl.
|
|
279
|
+
# actions do |admin_user|
|
|
280
|
+
# a link_to 'Grant Admin', grant_admin_admin_user_path(admin_user)
|
|
219
281
|
# end
|
|
220
282
|
#
|
|
221
283
|
# # Custom actions without the defaults.
|
|
222
284
|
# actions defaults: false do |admin_user|
|
|
223
|
-
#
|
|
285
|
+
# item 'Grant Admin', grant_admin_admin_user_path(admin_user)
|
|
224
286
|
# end
|
|
225
|
-
# ```
|
|
226
287
|
#
|
|
288
|
+
# # Append some actions onto the end of the default actions displayed in a Dropdown Menu
|
|
289
|
+
# actions dropdown: true do |admin_user|
|
|
290
|
+
# item 'Grant Admin', grant_admin_admin_user_path(admin_user)
|
|
291
|
+
# end
|
|
292
|
+
#
|
|
293
|
+
# # Custom actions without the defaults displayed in a Dropdown Menu.
|
|
294
|
+
# actions defaults: false, dropdown: true, dropdown_name: 'Additional actions' do |admin_user|
|
|
295
|
+
# item 'Grant Admin', grant_admin_admin_user_path(admin_user)
|
|
296
|
+
# end
|
|
297
|
+
#
|
|
298
|
+
# ```
|
|
227
299
|
def actions(options = {}, &block)
|
|
228
|
-
options
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
300
|
+
name = options.delete(:name) { '' }
|
|
301
|
+
defaults = options.delete(:defaults) { true }
|
|
302
|
+
dropdown = options.delete(:dropdown) { false }
|
|
303
|
+
dropdown_name = options.delete(:dropdown_name) { I18n.t 'active_admin.dropdown_actions.button_label', default: 'Actions' }
|
|
304
|
+
|
|
305
|
+
options[:class] ||= 'col-actions'
|
|
306
|
+
|
|
307
|
+
column name, options do |resource|
|
|
308
|
+
if dropdown
|
|
309
|
+
dropdown_menu dropdown_name do
|
|
310
|
+
defaults(resource) if defaults
|
|
311
|
+
instance_exec(resource, &block) if block_given?
|
|
312
|
+
end
|
|
313
|
+
else
|
|
314
|
+
table_actions do
|
|
315
|
+
defaults(resource, css_class: :member_link) if defaults
|
|
316
|
+
if block_given?
|
|
317
|
+
block_result = instance_exec(resource, &block)
|
|
318
|
+
text_node block_result unless block_result.is_a? Arbre::Element
|
|
319
|
+
end
|
|
320
|
+
end
|
|
321
|
+
end
|
|
235
322
|
end
|
|
236
323
|
end
|
|
237
324
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
end
|
|
247
|
-
if controller.action_methods.include?('destroy') && authorized?(ActiveAdmin::Auth::DESTROY, resource)
|
|
248
|
-
links << link_to(I18n.t('active_admin.delete'), resource_path(resource), :method => :delete, :data => {:confirm => I18n.t('active_admin.delete_confirmation')}, :class => "member_link delete_link")
|
|
249
|
-
end
|
|
250
|
-
links
|
|
325
|
+
private
|
|
326
|
+
|
|
327
|
+
def defaults(resource, options = {})
|
|
328
|
+
if controller.action_methods.include?('show') && authorized?(ActiveAdmin::Auth::READ, resource)
|
|
329
|
+
item I18n.t('active_admin.view'), resource_path(resource), class: "view_link #{options[:css_class]}"
|
|
330
|
+
end
|
|
331
|
+
if controller.action_methods.include?('edit') && authorized?(ActiveAdmin::Auth::UPDATE, resource)
|
|
332
|
+
item I18n.t('active_admin.edit'), edit_resource_path(resource), class: "edit_link #{options[:css_class]}"
|
|
251
333
|
end
|
|
334
|
+
if controller.action_methods.include?('destroy') && authorized?(ActiveAdmin::Auth::DESTROY, resource)
|
|
335
|
+
item I18n.t('active_admin.delete'), resource_path(resource), class: "delete_link #{options[:css_class]}",
|
|
336
|
+
method: :delete, data: {confirm: I18n.t('active_admin.delete_confirmation')}
|
|
337
|
+
end
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
class TableActions < ActiveAdmin::Component
|
|
341
|
+
builder_method :table_actions
|
|
252
342
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
actions options
|
|
256
|
-
else
|
|
257
|
-
links.call(args.first)
|
|
343
|
+
def item *args
|
|
344
|
+
text_node link_to *args
|
|
258
345
|
end
|
|
259
346
|
end
|
|
260
347
|
end # IndexTableFor
|
|
@@ -14,7 +14,7 @@ module ActiveAdmin
|
|
|
14
14
|
|
|
15
15
|
def add_classes_to_body
|
|
16
16
|
@body.add_class(params[:action])
|
|
17
|
-
@body.add_class(params[:controller].
|
|
17
|
+
@body.add_class(params[:controller].tr('/', '_'))
|
|
18
18
|
@body.add_class("active_admin")
|
|
19
19
|
@body.add_class("logged_in")
|
|
20
20
|
@body.add_class(active_admin_namespace.name.to_s + "_namespace")
|
|
@@ -22,7 +22,7 @@ module ActiveAdmin
|
|
|
22
22
|
|
|
23
23
|
def build_active_admin_head
|
|
24
24
|
within @head do
|
|
25
|
-
insert_tag Arbre::HTML::Title, [title, render_or_call_method_or_proc_on(self,
|
|
25
|
+
insert_tag Arbre::HTML::Title, [title, render_or_call_method_or_proc_on(self, active_admin_namespace.site_title)].compact.join(" | ")
|
|
26
26
|
active_admin_application.stylesheets.each do |style, options|
|
|
27
27
|
text_node stylesheet_link_tag(style, options).html_safe
|
|
28
28
|
end
|
|
@@ -30,18 +30,19 @@ module ActiveAdmin
|
|
|
30
30
|
active_admin_application.javascripts.each do |path|
|
|
31
31
|
text_node(javascript_include_tag(path))
|
|
32
32
|
end
|
|
33
|
-
|
|
34
|
-
if
|
|
35
|
-
text_node(favicon_link_tag(
|
|
33
|
+
|
|
34
|
+
if active_admin_namespace.favicon
|
|
35
|
+
text_node(favicon_link_tag(active_admin_namespace.favicon))
|
|
36
36
|
end
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
text_node csrf_meta_tag
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def build_page
|
|
43
43
|
within @body do
|
|
44
|
-
div :
|
|
44
|
+
div id: "wrapper" do
|
|
45
|
+
build_unsupported_browser
|
|
45
46
|
build_header
|
|
46
47
|
build_title_bar
|
|
47
48
|
build_page_content
|
|
@@ -50,6 +51,12 @@ module ActiveAdmin
|
|
|
50
51
|
end
|
|
51
52
|
end
|
|
52
53
|
|
|
54
|
+
def build_unsupported_browser
|
|
55
|
+
if active_admin_namespace.unsupported_browser_matcher =~ env["HTTP_USER_AGENT"]
|
|
56
|
+
insert_tag view_factory.unsupported_browser
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
53
60
|
def build_header
|
|
54
61
|
insert_tag view_factory.header, active_admin_namespace, current_menu
|
|
55
62
|
end
|
|
@@ -58,35 +65,32 @@ module ActiveAdmin
|
|
|
58
65
|
insert_tag view_factory.title_bar, title, action_items_for_action
|
|
59
66
|
end
|
|
60
67
|
|
|
61
|
-
|
|
62
68
|
def build_page_content
|
|
63
69
|
build_flash_messages
|
|
64
|
-
div :
|
|
70
|
+
div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
|
|
65
71
|
build_main_content_wrapper
|
|
66
72
|
build_sidebar unless skip_sidebar?
|
|
67
73
|
end
|
|
68
74
|
end
|
|
69
75
|
|
|
70
76
|
def build_flash_messages
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
div message, :class => "flash flash_#{type}"
|
|
75
|
-
end
|
|
77
|
+
div class: 'flashes' do
|
|
78
|
+
flash_messages.each do |type, message|
|
|
79
|
+
div message, class: "flash flash_#{type}"
|
|
76
80
|
end
|
|
77
81
|
end
|
|
78
82
|
end
|
|
79
83
|
|
|
80
84
|
def build_main_content_wrapper
|
|
81
|
-
div :
|
|
82
|
-
div :
|
|
85
|
+
div id: "main_content_wrapper" do
|
|
86
|
+
div id: "main_content" do
|
|
83
87
|
main_content
|
|
84
88
|
end
|
|
85
89
|
end
|
|
86
90
|
end
|
|
87
91
|
|
|
88
92
|
def main_content
|
|
89
|
-
I18n.t('active_admin.main_content', :
|
|
93
|
+
I18n.t('active_admin.main_content', model: title).html_safe
|
|
90
94
|
end
|
|
91
95
|
|
|
92
96
|
def title
|
|
@@ -117,7 +121,7 @@ module ActiveAdmin
|
|
|
117
121
|
|
|
118
122
|
# Renders the sidebar
|
|
119
123
|
def build_sidebar
|
|
120
|
-
div :
|
|
124
|
+
div id: "sidebar" do
|
|
121
125
|
sidebar_sections_for_action.collect do |section|
|
|
122
126
|
sidebar_section(section)
|
|
123
127
|
end
|