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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'rails_helper'
|
|
2
2
|
|
|
3
3
|
describe ActiveAdmin::Views::AttributesTable do
|
|
4
4
|
|
|
@@ -6,13 +6,13 @@ describe ActiveAdmin::Views::AttributesTable do
|
|
|
6
6
|
let(:helpers) { action_view }
|
|
7
7
|
|
|
8
8
|
let(:post) do
|
|
9
|
-
post = Post.new :
|
|
10
|
-
post.
|
|
11
|
-
post.
|
|
9
|
+
post = Post.new title: "Hello World", body: nil
|
|
10
|
+
allow(post).to receive(:id){ 1 }
|
|
11
|
+
allow(post).to receive(:new_record?){ false }
|
|
12
12
|
post
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
let(:assigns){ { :
|
|
15
|
+
let(:assigns){ { post: post } }
|
|
16
16
|
|
|
17
17
|
# Loop through a few different ways to make the same table
|
|
18
18
|
# and ensure that they produce the same results
|
|
@@ -61,17 +61,17 @@ describe ActiveAdmin::Views::AttributesTable do
|
|
|
61
61
|
let(:table) { instance_eval &table_decleration }
|
|
62
62
|
|
|
63
63
|
it "should render a div wrapper with the class '.attributes_table'" do
|
|
64
|
-
table.tag_name.
|
|
65
|
-
table.attr(:class).
|
|
64
|
+
expect(table.tag_name).to eq 'div'
|
|
65
|
+
expect(table.attr(:class)).to include('attributes_table')
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
it "should add id and type class" do
|
|
69
|
-
table.class_names.
|
|
70
|
-
table.id.
|
|
69
|
+
expect(table.class_names).to include("post")
|
|
70
|
+
expect(table.id).to eq "attributes_table_post_1"
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
it "should render 3 rows" do
|
|
74
|
-
table.find_by_tag("tr").size.
|
|
74
|
+
expect(table.find_by_tag("tr").size).to eq 3
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
describe "rendering the rows" do
|
|
@@ -79,17 +79,16 @@ describe ActiveAdmin::Views::AttributesTable do
|
|
|
79
79
|
["Id" , "1"],
|
|
80
80
|
["Title" , "Hello World"],
|
|
81
81
|
["Body" , "<span class=\"empty\">Empty</span>"]
|
|
82
|
-
].each_with_index do |
|
|
83
|
-
describe "for #{
|
|
84
|
-
let(:title){ set[0] }
|
|
85
|
-
let(:content){ set[1] }
|
|
82
|
+
].each_with_index do |(title, content), i|
|
|
83
|
+
describe "for #{title}" do
|
|
86
84
|
let(:current_row){ table.find_by_tag("tr")[i] }
|
|
87
85
|
|
|
88
|
-
it "should have the title '#{
|
|
89
|
-
current_row.find_by_tag("th").first.content.
|
|
86
|
+
it "should have the title '#{title}'" do
|
|
87
|
+
expect(current_row.find_by_tag("th").first.content).to eq title
|
|
90
88
|
end
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
|
|
90
|
+
it "should have the content '#{content}'" do
|
|
91
|
+
expect(current_row.find_by_tag("td").first.content.chomp.strip).to eq content
|
|
93
92
|
end
|
|
94
93
|
end
|
|
95
94
|
end
|
|
@@ -105,51 +104,64 @@ describe ActiveAdmin::Views::AttributesTable do
|
|
|
105
104
|
row :created_at
|
|
106
105
|
end
|
|
107
106
|
}
|
|
108
|
-
table.find_by_tag("tr").first.to_s.
|
|
109
|
-
split("\n").first.lstrip.
|
|
110
|
-
|
|
107
|
+
expect(table.find_by_tag("tr").first.to_s.
|
|
108
|
+
split("\n").first.lstrip).
|
|
109
|
+
to eq '<tr class="row row-title">'
|
|
111
110
|
|
|
112
|
-
table.find_by_tag("tr").last.to_s.
|
|
113
|
-
split("\n").first.lstrip.
|
|
114
|
-
|
|
111
|
+
expect(table.find_by_tag("tr").last.to_s.
|
|
112
|
+
split("\n").first.lstrip).
|
|
113
|
+
to eq '<tr class="row row-created_at">'
|
|
115
114
|
end
|
|
116
115
|
|
|
117
116
|
it "should allow html options for the row itself" do
|
|
118
117
|
table = render_arbre_component(assigns) {
|
|
119
118
|
attributes_table_for(post) do
|
|
120
|
-
row("Wee", :
|
|
119
|
+
row("Wee", class: "custom_row", style: "custom_style") { }
|
|
121
120
|
end
|
|
122
121
|
}
|
|
123
|
-
table.find_by_tag("tr").first.to_s.
|
|
124
|
-
|
|
125
|
-
should == '<tr class="row custom_row" style="custom_style">'
|
|
122
|
+
expect(table.find_by_tag("tr").first.to_s.split("\n").first.lstrip).
|
|
123
|
+
to eq '<tr class="row custom_row" style="custom_style">'
|
|
126
124
|
end
|
|
127
125
|
|
|
128
126
|
it "should allow html content inside the attributes table" do
|
|
129
127
|
table = render_arbre_component(assigns) {
|
|
130
128
|
attributes_table_for(post) do
|
|
131
|
-
row("ID"){ span(post.id, :
|
|
129
|
+
row("ID"){ span(post.id, class: 'id') }
|
|
132
130
|
end
|
|
133
131
|
}
|
|
134
|
-
table.find_by_tag("td").first.content.chomp.strip.
|
|
132
|
+
expect(table.find_by_tag("td").first.content.chomp.strip).to eq "<span class=\"id\">1</span>"
|
|
135
133
|
end
|
|
136
134
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
135
|
+
context 'an attribute ending in _id' do
|
|
136
|
+
before do
|
|
137
|
+
post.foo_id = 23
|
|
138
|
+
post.author = User.new username: 'john_doe', first_name: 'John', last_name: 'Doe'
|
|
139
|
+
end
|
|
140
|
+
it 'should call the association if one exists' do
|
|
141
|
+
table = render_arbre_component assigns do
|
|
142
|
+
attributes_table_for post, :author_id
|
|
143
|
+
end
|
|
144
|
+
expect(table.find_by_tag('th').first.content).to eq 'Author'
|
|
145
|
+
expect(table.find_by_tag('td').first.content).to eq 'John Doe'
|
|
146
|
+
end
|
|
147
|
+
it 'should not attempt to call a nonexistant association' do
|
|
148
|
+
table = render_arbre_component assigns do
|
|
149
|
+
attributes_table_for post, :foo_id
|
|
150
|
+
end
|
|
151
|
+
expect(table.find_by_tag('th').first.content).to eq 'Foo'
|
|
152
|
+
expect(table.find_by_tag('td').first.content).to eq '23'
|
|
153
|
+
end
|
|
143
154
|
end
|
|
144
155
|
|
|
145
156
|
context "with a collection" do
|
|
146
157
|
let(:posts) do
|
|
147
|
-
[Post.new(:
|
|
148
|
-
post.
|
|
158
|
+
[Post.new(title: "Hello World", id: 1), Post.new(title: "Multi Column", id: 2)].each_with_index do |post, index|
|
|
159
|
+
allow(post).to receive(:id).and_return(index + 1)
|
|
160
|
+
allow(post).to receive(:new_record?).and_return(false)
|
|
149
161
|
end
|
|
150
162
|
end
|
|
151
163
|
|
|
152
|
-
let(:assigns) { { :
|
|
164
|
+
let(:assigns) { { posts: posts } }
|
|
153
165
|
|
|
154
166
|
let(:table) do
|
|
155
167
|
render_arbre_component(assigns) do
|
|
@@ -158,38 +170,38 @@ describe ActiveAdmin::Views::AttributesTable do
|
|
|
158
170
|
end
|
|
159
171
|
|
|
160
172
|
it "does not set id on the table" do
|
|
161
|
-
table.attr(:id).
|
|
173
|
+
expect(table.attr(:id)).to be_nil
|
|
162
174
|
end
|
|
163
175
|
|
|
164
176
|
context "colgroup" do
|
|
165
177
|
let(:cols) { table.find_by_tag "col" }
|
|
166
178
|
|
|
167
179
|
it "contains a col for each record (plus headers)" do
|
|
168
|
-
cols.size.
|
|
180
|
+
expect(cols.size).to eq (2 + 1)
|
|
169
181
|
end
|
|
170
182
|
|
|
171
183
|
it "assigns an id to each col" do
|
|
172
184
|
cols[1..-1].each_with_index do |col, index|
|
|
173
|
-
col.id.
|
|
185
|
+
expect(col.id).to eq "attributes_table_post_#{index + 1}"
|
|
174
186
|
end
|
|
175
187
|
end
|
|
176
188
|
|
|
177
189
|
it "assigns a class to each col" do
|
|
178
190
|
cols[1..-1].each_with_index do |col, index|
|
|
179
|
-
col.class_names.
|
|
191
|
+
expect(col.class_names).to include("post")
|
|
180
192
|
end
|
|
181
193
|
end
|
|
182
194
|
|
|
183
195
|
it "assigns alternation classes to each col" do
|
|
184
196
|
cols[1..-1].each_with_index do |col, index|
|
|
185
|
-
col.class_names.
|
|
197
|
+
expect(col.class_names).to include(["even", "odd"][index % 2])
|
|
186
198
|
end
|
|
187
199
|
end
|
|
188
200
|
end
|
|
189
201
|
|
|
190
202
|
context "when rendering the rows" do
|
|
191
203
|
it "should contain 3 columns" do
|
|
192
|
-
table.find_by_tag("tr").first.children.size.
|
|
204
|
+
expect(table.find_by_tag("tr").first.children.size).to eq 3
|
|
193
205
|
end
|
|
194
206
|
|
|
195
207
|
[
|
|
@@ -202,29 +214,59 @@ describe ActiveAdmin::Views::AttributesTable do
|
|
|
202
214
|
let(:current_row){ table.find_by_tag("tr")[i] }
|
|
203
215
|
|
|
204
216
|
it "should have the title '#{set[0]}'" do
|
|
205
|
-
current_row.find_by_tag("th").first.content.
|
|
217
|
+
expect(current_row.find_by_tag("th").first.content).to eq title
|
|
206
218
|
end
|
|
207
219
|
|
|
208
220
|
context "with defined attribute name translation" do
|
|
209
221
|
it "should have the translated attribute name in the title" do
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
current_row.find_by_tag("th").first.content.should == "Translated #{title}"
|
|
213
|
-
ensure
|
|
214
|
-
I18n.backend.reload!
|
|
222
|
+
with_translation activerecord: {attributes: {post: {title: 'Translated Title', id: 'Translated Id'}}} do
|
|
223
|
+
expect(current_row.find_by_tag("th").first.content).to eq "Translated #{title}"
|
|
215
224
|
end
|
|
216
225
|
end
|
|
217
226
|
end
|
|
218
227
|
|
|
219
228
|
set[1..-1].each_with_index do |content, index|
|
|
220
229
|
it "column #{index} should have the content '#{content}'" do
|
|
221
|
-
current_row.find_by_tag("td")[index].content.chomp.strip.
|
|
230
|
+
expect(current_row.find_by_tag("td")[index].content.chomp.strip).to eq content
|
|
222
231
|
end
|
|
223
232
|
end
|
|
224
233
|
end
|
|
225
234
|
end
|
|
226
235
|
end # describe rendering rows
|
|
227
236
|
end # with a collection
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
context "when using a single Hash" do
|
|
240
|
+
let(:table) do
|
|
241
|
+
render_arbre_component nil, helpers do
|
|
242
|
+
attributes_table_for foo: 1, bar: 2 do
|
|
243
|
+
row :foo
|
|
244
|
+
row :bar
|
|
245
|
+
end
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
it "should render" do
|
|
249
|
+
expect(table.find_by_tag("th")[0].content).to eq "Foo"
|
|
250
|
+
expect(table.find_by_tag("th")[1].content).to eq "Bar"
|
|
251
|
+
expect(table.find_by_tag("td")[0].content).to eq "1"
|
|
252
|
+
expect(table.find_by_tag("td")[1].content).to eq "2"
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
context "when using an Array of Hashes" do
|
|
257
|
+
let(:table) do
|
|
258
|
+
render_arbre_component nil, helpers do
|
|
259
|
+
attributes_table_for [{foo: 1},{foo: 2}] do
|
|
260
|
+
row :foo
|
|
261
|
+
end
|
|
262
|
+
end
|
|
263
|
+
end
|
|
264
|
+
it "should render" do
|
|
265
|
+
expect(table.find_by_tag("th")[0].content).to eq "Foo"
|
|
266
|
+
expect(table.find_by_tag("td")[0].content).to eq "1"
|
|
267
|
+
expect(table.find_by_tag("td")[1].content).to eq "2"
|
|
268
|
+
end
|
|
269
|
+
end
|
|
228
270
|
end
|
|
229
271
|
|
|
230
272
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'rails_helper'
|
|
2
2
|
require 'active_admin/batch_actions/views/batch_action_popover'
|
|
3
3
|
|
|
4
4
|
describe ActiveAdmin::BatchActions::BatchActionPopover do
|
|
@@ -14,7 +14,7 @@ describe ActiveAdmin::BatchActions::BatchActionPopover do
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
it "should have an id" do
|
|
17
|
-
the_popover.id.
|
|
17
|
+
expect(the_popover.id).to eq "batch_actions_popover"
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
describe "the action list" do
|
|
@@ -22,11 +22,25 @@ describe ActiveAdmin::BatchActions::BatchActionPopover do
|
|
|
22
22
|
the_popover.find_by_class("popover_contents").first
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
describe '#tag_name' do
|
|
26
|
+
subject { super().tag_name }
|
|
27
|
+
it { is_expected.to eql("ul") }
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe '#content' do
|
|
31
|
+
subject { super().content }
|
|
32
|
+
it{ is_expected.to include("class=\"batch_action\" data-action=\"action_1\"") }
|
|
33
|
+
end
|
|
26
34
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
35
|
+
describe '#content' do
|
|
36
|
+
subject { super().content }
|
|
37
|
+
it{ is_expected.to include("class=\"batch_action\" data-action=\"action_2\"") }
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe '#content' do
|
|
41
|
+
subject { super().content }
|
|
42
|
+
it{ is_expected.to include("class=\"batch_action\" data-action=\"action_3\"") }
|
|
43
|
+
end
|
|
30
44
|
|
|
31
45
|
end
|
|
32
46
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'rails_helper'
|
|
2
2
|
|
|
3
3
|
describe ActiveAdmin::Views::BlankSlate do
|
|
4
4
|
|
|
@@ -9,9 +9,19 @@ describe ActiveAdmin::Views::BlankSlate do
|
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
describe '#tag_name' do
|
|
13
|
+
subject { super().tag_name }
|
|
14
|
+
it { is_expected.to eql 'div' }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe '#class_list' do
|
|
18
|
+
subject { super().class_list }
|
|
19
|
+
it { is_expected.to include('blank_slate_container') }
|
|
20
|
+
end
|
|
14
21
|
|
|
15
|
-
|
|
22
|
+
describe '#content' do
|
|
23
|
+
subject { super().content }
|
|
24
|
+
it { is_expected.to include '<span class="blank_slate">There are no Posts yet. <a href="/posts/new">Create one</a></span>' }
|
|
25
|
+
end
|
|
16
26
|
end
|
|
17
27
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'rails_helper'
|
|
2
2
|
|
|
3
3
|
describe ActiveAdmin::Views::Columns do
|
|
4
4
|
|
|
@@ -12,16 +12,16 @@ describe ActiveAdmin::Views::Columns do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
it "should have the class .columns" do
|
|
15
|
-
cols.class_list.
|
|
15
|
+
expect(cols.class_list).to include("columns")
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
it "should have one column" do
|
|
19
|
-
cols.children.size.
|
|
20
|
-
cols.children.first.class_list.
|
|
19
|
+
expect(cols.children.size).to eq 1
|
|
20
|
+
expect(cols.children.first.class_list).to include("column")
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
it "should have one column with the width 100.0%" do
|
|
24
|
-
cols.children.first.attr(:style).
|
|
24
|
+
expect(cols.children.first.attr(:style)).to include("width: 100.0%")
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
|
|
@@ -36,15 +36,15 @@ describe ActiveAdmin::Views::Columns do
|
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
it "should have two columns" do
|
|
39
|
-
cols.children.size.
|
|
39
|
+
expect(cols.children.size).to eq 2
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
it "should have a first column with width 49% and margin 2%" do
|
|
43
|
-
cols.children.first.attr(:style).
|
|
43
|
+
expect(cols.children.first.attr(:style)).to eq "width: 49.0%; margin-right: 2%;"
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
it "should have a second column with width 49% and no right margin" do
|
|
47
|
-
cols.children.last.attr(:style).
|
|
47
|
+
expect(cols.children.last.attr(:style)).to eq "width: 49.0%;"
|
|
48
48
|
end
|
|
49
49
|
end
|
|
50
50
|
|
|
@@ -61,18 +61,18 @@ describe ActiveAdmin::Views::Columns do
|
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
it "should have four columns" do
|
|
64
|
-
cols.children.size.
|
|
64
|
+
expect(cols.children.size).to eq 4
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
(0..2).to_a.each do |index|
|
|
69
69
|
it "should have column #{index + 1} with width 49% and margin 2%" do
|
|
70
|
-
cols.children[index].attr(:style).
|
|
70
|
+
expect(cols.children[index].attr(:style)).to eq "width: 23.5%; margin-right: 2%;"
|
|
71
71
|
end
|
|
72
72
|
end
|
|
73
73
|
|
|
74
74
|
it "should have column 4 with width 49% and no margin" do
|
|
75
|
-
cols.children[3].attr(:style).
|
|
75
|
+
expect(cols.children[3].attr(:style)).to eq "width: 23.5%;"
|
|
76
76
|
end
|
|
77
77
|
end
|
|
78
78
|
|
|
@@ -81,7 +81,7 @@ describe ActiveAdmin::Views::Columns do
|
|
|
81
81
|
let(:cols) do
|
|
82
82
|
render_arbre_component do
|
|
83
83
|
columns do
|
|
84
|
-
column(:
|
|
84
|
+
column(span: 2){ "Hello World" }
|
|
85
85
|
column(){ "Hello World" }
|
|
86
86
|
column(){ "Hello World" }
|
|
87
87
|
end
|
|
@@ -89,11 +89,11 @@ describe ActiveAdmin::Views::Columns do
|
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
it "should set the span when declared" do
|
|
92
|
-
cols.children.first.attr(:style).
|
|
92
|
+
expect(cols.children.first.attr(:style)).to eq "width: 49.0%; margin-right: 2%;"
|
|
93
93
|
end
|
|
94
94
|
|
|
95
95
|
it "should default to 1 if not passed in" do
|
|
96
|
-
cols.children.last.attr(:style).
|
|
96
|
+
expect(cols.children.last.attr(:style)).to eq "width: 23.5%;"
|
|
97
97
|
end
|
|
98
98
|
end
|
|
99
99
|
|
|
@@ -102,18 +102,33 @@ describe ActiveAdmin::Views::Columns do
|
|
|
102
102
|
let(:cols) do
|
|
103
103
|
render_arbre_component do
|
|
104
104
|
columns do
|
|
105
|
-
column(:
|
|
105
|
+
column(max_width: "100px"){ "Hello World" }
|
|
106
106
|
column(){ "Hello World" }
|
|
107
107
|
end
|
|
108
108
|
end
|
|
109
109
|
end
|
|
110
110
|
|
|
111
111
|
it "should set the max with if passed in" do
|
|
112
|
-
cols.children.first.attr(:style).
|
|
112
|
+
expect(cols.children.first.attr(:style)).to eq "width: 49.0%; max-width: 100px; margin-right: 2%;"
|
|
113
113
|
end
|
|
114
114
|
|
|
115
|
-
it "should omit the value if not
|
|
116
|
-
cols.children.last.attr(:style).
|
|
115
|
+
it "should omit the value if not present" do
|
|
116
|
+
expect(cols.children.last.attr(:style)).to eq "width: 49.0%;"
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
context "when passed an integer value" do
|
|
120
|
+
let(:cols) do
|
|
121
|
+
render_arbre_component do
|
|
122
|
+
columns do
|
|
123
|
+
column(max_width: 100){ "Hello World" }
|
|
124
|
+
column(){ "Hello World" }
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
it "should be treated as pixels" do
|
|
130
|
+
expect(cols.children.first.attr(:style)).to eq "width: 49.0%; max-width: 100px; margin-right: 2%;"
|
|
131
|
+
end
|
|
117
132
|
end
|
|
118
133
|
|
|
119
134
|
end
|
|
@@ -123,18 +138,33 @@ describe ActiveAdmin::Views::Columns do
|
|
|
123
138
|
let(:cols) do
|
|
124
139
|
render_arbre_component do
|
|
125
140
|
columns do
|
|
126
|
-
column(:
|
|
141
|
+
column(min_width: "100px"){ "Hello World" }
|
|
127
142
|
column(){ "Hello World" }
|
|
128
143
|
end
|
|
129
144
|
end
|
|
130
145
|
end
|
|
131
146
|
|
|
132
147
|
it "should set the min with if passed in" do
|
|
133
|
-
cols.children.first.attr(:style).
|
|
148
|
+
expect(cols.children.first.attr(:style)).to eq "width: 49.0%; min-width: 100px; margin-right: 2%;"
|
|
134
149
|
end
|
|
135
150
|
|
|
136
|
-
it "should omit the value if not
|
|
137
|
-
cols.children.last.attr(:style).
|
|
151
|
+
it "should omit the value if not present" do
|
|
152
|
+
expect(cols.children.last.attr(:style)).to eq "width: 49.0%;"
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
context "when passed an integer value" do
|
|
156
|
+
let(:cols) do
|
|
157
|
+
render_arbre_component do
|
|
158
|
+
columns do
|
|
159
|
+
column(min_width: 100){ "Hello World" }
|
|
160
|
+
column(){ "Hello World" }
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
it "should be treated as pixels" do
|
|
166
|
+
expect(cols.children.first.attr(:style)).to eq "width: 49.0%; min-width: 100px; margin-right: 2%;"
|
|
167
|
+
end
|
|
138
168
|
end
|
|
139
169
|
|
|
140
170
|
end
|