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
|
@@ -8,7 +8,7 @@ Here are a few common configurations:
|
|
|
8
8
|
Active Admin requires two settings to authenticate and use the current user
|
|
9
9
|
within your application.
|
|
10
10
|
|
|
11
|
-
+ the method controllers
|
|
11
|
+
+ the method controllers used to force authentication
|
|
12
12
|
|
|
13
13
|
```ruby
|
|
14
14
|
config.authentication_method = :authenticate_admin_user!
|
|
@@ -36,14 +36,17 @@ If you want, you can customize it.
|
|
|
36
36
|
config.site_title = "My Admin Site"
|
|
37
37
|
config.site_title_link = "/"
|
|
38
38
|
config.site_title_image = "site_image.png"
|
|
39
|
+
config.site_title_image = "http://www.google.com/images/logos/google_logo_41.png"
|
|
40
|
+
config.site_title_image = ->(context) { context.current_user.company.logo_url }
|
|
39
41
|
```
|
|
40
42
|
|
|
41
43
|
## Internationalization (I18n)
|
|
42
44
|
|
|
43
45
|
To translate Active Admin to a new language or customize an existing translation, you can copy
|
|
44
|
-
[config/locales/en.yml](https://github.com/
|
|
46
|
+
[config/locales/en.yml](https://github.com/activeadmin/activeadmin/blob/master/config/locales/en.yml)
|
|
45
47
|
to your application's `config/locales` folder and update it. We welcome new/updated translations,
|
|
46
|
-
so feel free to [contribute
|
|
48
|
+
so feel free to [contribute](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md)!
|
|
49
|
+
To translate third party gems like devise, use for example devise-i18n.
|
|
47
50
|
|
|
48
51
|
## Namespaces
|
|
49
52
|
|
|
@@ -101,13 +104,13 @@ undesired. To disable comments:
|
|
|
101
104
|
```ruby
|
|
102
105
|
# For the entire application:
|
|
103
106
|
ActiveAdmin.setup do |config|
|
|
104
|
-
config.
|
|
107
|
+
config.comments = false
|
|
105
108
|
end
|
|
106
109
|
|
|
107
110
|
# For a namespace:
|
|
108
111
|
ActiveAdmin.setup do |config|
|
|
109
112
|
config.namespace :admin do |admin|
|
|
110
|
-
admin.
|
|
113
|
+
admin.comments = false
|
|
111
114
|
end
|
|
112
115
|
end
|
|
113
116
|
|
data/docs/10-custom-pages.md
CHANGED
|
@@ -1,98 +1,96 @@
|
|
|
1
1
|
# Custom Pages
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
If you have data you want on a standalone page that isn't tied to a resource,
|
|
4
|
+
custom pages provide you with a familiar syntax and feature set:
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
* main page content
|
|
7
|
-
* menu item
|
|
6
|
+
* a menu item
|
|
8
7
|
* sidebars
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* action items
|
|
9
|
+
* page actions
|
|
11
10
|
|
|
12
11
|
## Create a new Page
|
|
13
12
|
|
|
14
|
-
Creating a page is as simple as calling
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
Creating a page is as simple as calling `register_page`:
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
# app/admin/calendar.rb
|
|
17
|
+
ActiveAdmin.register_page "Calendar" do
|
|
18
|
+
content do
|
|
19
|
+
para "Hello World"
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Anything rendered within `content` will be the main content on the page.
|
|
25
|
+
Partials behave exactly the same way as they do for resources:
|
|
26
|
+
|
|
27
|
+
```ruby
|
|
28
|
+
# app/admin/calendar.rb
|
|
29
|
+
ActiveAdmin.register_page "Calendar" do
|
|
30
|
+
content do
|
|
31
|
+
render partial: 'calendar'
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# app/views/admin/calendar/_calendar.html.arb
|
|
36
|
+
table do
|
|
37
|
+
thead do
|
|
38
|
+
tr do
|
|
39
|
+
%w[Sunday Monday Tuesday Wednesday Thursday Friday Saturday].each &method(:th)
|
|
21
40
|
end
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
## Page Title & I18n
|
|
29
|
-
|
|
30
|
-
Coming soon...
|
|
41
|
+
end
|
|
42
|
+
tbody do
|
|
43
|
+
# ...
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
```
|
|
31
47
|
|
|
32
48
|
## Customize the Menu
|
|
33
49
|
|
|
34
|
-
|
|
35
|
-
[any other resource](2-resource-customization.md#customize-the-menu) in Active Admin.
|
|
50
|
+
See the [Menu](2-resource-customization.md#customize-the-menu) documentation.
|
|
36
51
|
|
|
37
|
-
##
|
|
52
|
+
## Customize the Namespace
|
|
38
53
|
|
|
39
|
-
|
|
40
|
-
in Active Admin:
|
|
54
|
+
We use the `admin` namespace by default, but you can use anything:
|
|
41
55
|
|
|
42
|
-
|
|
56
|
+
```ruby
|
|
57
|
+
# Available at /today/calendar
|
|
58
|
+
ActiveAdmin.register_page "Calendar", namespace: :today
|
|
43
59
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
end
|
|
48
|
-
end
|
|
60
|
+
# Available at /calendar
|
|
61
|
+
ActiveAdmin.register_page "Calendar", namespace: false
|
|
62
|
+
```
|
|
49
63
|
|
|
50
|
-
|
|
51
|
-
para "Hello World"
|
|
52
|
-
end
|
|
53
|
-
end
|
|
64
|
+
## Add a Sidebar
|
|
54
65
|
|
|
55
|
-
|
|
56
|
-
To view the full customization options, visit [Sidebars](7-sidebars.md).
|
|
66
|
+
See the [Sidebars](7-sidebars.md) documentation.
|
|
57
67
|
|
|
58
68
|
## Add an Action Item
|
|
59
69
|
|
|
60
|
-
Just like other resources, you can add
|
|
61
|
-
|
|
62
|
-
ActiveAdmin.register_page "My Page" do
|
|
70
|
+
Just like other resources, you can add action items. The difference here being that
|
|
71
|
+
`:only` and `:except` don't apply because there's only one page it could apply to.
|
|
63
72
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
para "Hello World"
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
This adds an action item that links to the root URL of the application.
|
|
73
|
+
```ruby
|
|
74
|
+
action_item :view_site do
|
|
75
|
+
link_to "View Site", "/"
|
|
76
|
+
end
|
|
77
|
+
```
|
|
74
78
|
|
|
75
79
|
## Add a Page Action
|
|
76
80
|
|
|
77
|
-
|
|
78
|
-
and is the functional equivalent of `collection_action`.
|
|
81
|
+
Page actions are custom controller actions (which mirror the resource DSL for the same feature).
|
|
79
82
|
|
|
80
|
-
|
|
83
|
+
```ruby
|
|
84
|
+
page_action :add_event, method: :post do
|
|
85
|
+
# ...
|
|
86
|
+
redirect_to admin_calendar_path, notice: "Your event was added"
|
|
87
|
+
end
|
|
81
88
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
action_item do
|
|
88
|
-
link_to "Do Stuff", admin_my_page_ex_path, :method => :post
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
content do
|
|
92
|
-
para "Hello World"
|
|
93
|
-
end
|
|
94
|
-
end
|
|
89
|
+
action_item :add do
|
|
90
|
+
link_to "Add Event", admin_calendar_add_event_path, method: :post
|
|
91
|
+
end
|
|
92
|
+
```
|
|
95
93
|
|
|
96
|
-
This defines the route `/admin/
|
|
94
|
+
This defines the route `/admin/calendar/add_event` which can handle HTTP POST requests.
|
|
97
95
|
|
|
98
|
-
Clicking on the
|
|
96
|
+
Clicking on the action item will reload page and display the message "Your event was added"
|
data/docs/11-decorators.md
CHANGED
|
@@ -1,66 +1,55 @@
|
|
|
1
1
|
# Decorators
|
|
2
2
|
|
|
3
|
-
Active Admin
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Draper
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
column(:title)
|
|
41
|
-
column(:image)
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
show do
|
|
45
|
-
attributes_table do
|
|
46
|
-
row(:title)
|
|
47
|
-
row(:image)
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
3
|
+
Active Admin allows you to use the decorator pattern to provide view-specific
|
|
4
|
+
versions of a resource. [Draper](https://github.com/drapergem/draper) is
|
|
5
|
+
recommended but not required.
|
|
6
|
+
|
|
7
|
+
To use decorator support without Draper, your decorator must support a variety
|
|
8
|
+
of collection methods to support pagination, filtering, etc. See
|
|
9
|
+
[this github issue discussion](https://github.com/activeadmin/activeadmin/issues/3600)
|
|
10
|
+
and [this gem](https://github.com/kiote/activeadmin-poro-decorator) for more details.
|
|
11
|
+
|
|
12
|
+
## Example usage
|
|
13
|
+
|
|
14
|
+
```ruby
|
|
15
|
+
# app/models/post.rb
|
|
16
|
+
class Post < ActiveRecord::Base
|
|
17
|
+
# has title, content, and image_url
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# app/decorators/post_decorator.rb
|
|
21
|
+
class PostDecorator < Draper::Decorator
|
|
22
|
+
delegate_all
|
|
23
|
+
|
|
24
|
+
def image
|
|
25
|
+
h.image_tag model.image_url
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# app/admin/post.rb
|
|
30
|
+
ActiveAdmin.register Post do
|
|
31
|
+
decorate_with PostDecorator
|
|
32
|
+
|
|
33
|
+
index do
|
|
34
|
+
column :title
|
|
35
|
+
column :image
|
|
36
|
+
actions
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
```
|
|
51
40
|
|
|
52
41
|
## Forms
|
|
53
42
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
automatic decoration in the form with the `decorate` option:
|
|
58
|
-
|
|
59
|
-
ActiveAdmin.register Post do
|
|
60
|
-
decorate_with PostDecorator
|
|
43
|
+
By default, ActiveAdmin does *not* decorate the resource used to render forms.
|
|
44
|
+
If you need ActiveAdmin to decorate the forms, you can pass `decorate: true` to the
|
|
45
|
+
form block.
|
|
61
46
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
end
|
|
47
|
+
```ruby
|
|
48
|
+
ActiveAdmin.register Post do
|
|
49
|
+
decorate_with PostDecorator
|
|
66
50
|
|
|
51
|
+
form decorate: true do |f|
|
|
52
|
+
# ...
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
```
|
data/docs/12-arbre-components.md
CHANGED
|
@@ -10,19 +10,23 @@ non-breaking space or some text. The text_node method can be used to insert
|
|
|
10
10
|
these elements into the page inside of other Arbre components or resource
|
|
11
11
|
controller functions.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
```ruby
|
|
14
|
+
ActiveAdmin.register Post do
|
|
15
|
+
show do
|
|
16
|
+
panel "Post Details" do
|
|
17
|
+
attributes_table_for post do
|
|
18
|
+
row :id
|
|
19
|
+
row 'Tags' do
|
|
20
|
+
post.tags.each do |tag|
|
|
21
|
+
a tag, href: admin_post_path(q: {tagged_with_contains: tag})
|
|
20
22
|
text_node " ".html_safe
|
|
21
23
|
end
|
|
22
24
|
end
|
|
23
25
|
end
|
|
24
26
|
end
|
|
25
|
-
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
```
|
|
26
30
|
|
|
27
31
|
## Panels
|
|
28
32
|
|
|
@@ -30,19 +34,19 @@ A panel is a component that takes up all available horizontal space and takes a
|
|
|
30
34
|
title and a hash of attributes as arguments. If a sidebar is present, a panel
|
|
31
35
|
will take up the remaining space.
|
|
32
36
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
show do
|
|
37
|
+
This will create two stacked panels:
|
|
36
38
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
render partial: "show_enhancements", locals: {post: post}
|
|
43
|
-
end
|
|
39
|
+
```ruby
|
|
40
|
+
show do
|
|
41
|
+
panel "Post Details" do
|
|
42
|
+
render partial: "details", locals: {post: post}
|
|
43
|
+
end
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
panel "Post Tags" do
|
|
46
|
+
render partial: "tags", locals: {post: post}
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
```
|
|
46
50
|
|
|
47
51
|
## Columns
|
|
48
52
|
|
|
@@ -52,34 +56,36 @@ the rest.
|
|
|
52
56
|
|
|
53
57
|
#### Simple Columns
|
|
54
58
|
|
|
55
|
-
To create simple columnns, use the
|
|
59
|
+
To create simple columnns, use the `columns` method. Within the block, call
|
|
56
60
|
the #column method to create a new column.
|
|
57
61
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
column do
|
|
65
|
-
span "Column #2"
|
|
66
|
-
end
|
|
62
|
+
```ruby
|
|
63
|
+
columns do
|
|
64
|
+
column do
|
|
65
|
+
span "Column #1"
|
|
66
|
+
end
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
column do
|
|
69
|
+
span "Column #2"
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
```
|
|
69
73
|
|
|
70
74
|
### Spanning Multiple Columns
|
|
71
75
|
|
|
72
76
|
To create columns that have multiple spans, pass the :span option to the column
|
|
73
77
|
method.
|
|
74
78
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
```ruby
|
|
80
|
+
columns do
|
|
81
|
+
column span: 2 do
|
|
82
|
+
span "Column # 1"
|
|
83
|
+
end
|
|
84
|
+
column do
|
|
85
|
+
span "Column # 2"
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
```
|
|
83
89
|
|
|
84
90
|
By default, each column spans 1 column. The above layout would have 2 columns,
|
|
85
91
|
the first being twice as large as the second.
|
|
@@ -89,16 +95,18 @@ the first being twice as large as the second.
|
|
|
89
95
|
Active Admin uses a fluid width layout, causing column width to be defined
|
|
90
96
|
using percentages. Due to using this style of layout, columns can shrink or
|
|
91
97
|
expand past points that may not be desirable. To overcome this issue,
|
|
92
|
-
columns provide
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
columns provide `:max_width` and `:min_width` options.
|
|
99
|
+
|
|
100
|
+
```ruby
|
|
101
|
+
columns do
|
|
102
|
+
column max_width: "200px", min_width: "100px" do
|
|
103
|
+
span "Column # 1"
|
|
104
|
+
end
|
|
105
|
+
column do
|
|
106
|
+
span "Column # 2"
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
```
|
|
102
110
|
|
|
103
111
|
In the above example, the first column will not grow larger than 200px and will
|
|
104
112
|
not shrink less than 100px.
|
|
@@ -106,39 +114,37 @@ not shrink less than 100px.
|
|
|
106
114
|
## Table For
|
|
107
115
|
|
|
108
116
|
Table For provides the ability to create tables like those present
|
|
109
|
-
in
|
|
110
|
-
uses
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
117
|
+
in `index_as_table`. It takes a collection and a hash of options and then
|
|
118
|
+
uses `column` to build the fields to show with the table.
|
|
119
|
+
|
|
120
|
+
```ruby
|
|
121
|
+
table_for order.payments do
|
|
122
|
+
column(:payment_type) { |payment| payment.payment_type.titleize }
|
|
123
|
+
column "Received On", :created_at
|
|
124
|
+
column "Details & Notes", :payment_details
|
|
125
|
+
column "Amount", :amount_in_dollars
|
|
126
|
+
end
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
the `column` method can take a title as its first argument and data
|
|
130
|
+
(`:your_method`) as its second (or first if no title provided). Column also
|
|
121
131
|
takes a block.
|
|
122
132
|
|
|
123
133
|
## Status tag
|
|
124
134
|
|
|
125
135
|
Status tags provide convenient syntactic sugar for styling items that have
|
|
126
136
|
status. A common example of where the status tag could be useful is for orders
|
|
127
|
-
that are complete or in progress. status_tag takes a status, like
|
|
137
|
+
that are complete or in progress. `status_tag` takes a status, like
|
|
128
138
|
"In Progress", a type, which defaults to nil, and a hash of options. The
|
|
129
139
|
status_tag will generate html markup that Active Admin css uses in styling.
|
|
130
140
|
|
|
131
|
-
|
|
132
|
-
|
|
141
|
+
```ruby
|
|
142
|
+
status_tag 'In Progress'
|
|
143
|
+
# => <span class='status_tag in_progress'>In Progress</span>
|
|
133
144
|
|
|
134
|
-
|
|
135
|
-
|
|
145
|
+
status_tag 'active', :ok
|
|
146
|
+
# => <span class='status_tag active ok'>Active</span>
|
|
136
147
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
:class => 'important',
|
|
141
|
-
:id => 'status_123',
|
|
142
|
-
:label => 'on'
|
|
143
|
-
)
|
|
144
|
-
# => <span class='status_tag active ok important' id='status_123'>on</span>
|
|
148
|
+
status_tag 'active', :ok, class: 'important', id: 'status_123', label: 'on'
|
|
149
|
+
# => <span class='status_tag active ok important' id='status_123'>on</span>
|
|
150
|
+
```
|