Class: ActiveAdmin::Views::IndexAsGrid
- Inherits:
-
Component
- Object
- Arbre::Component
- Component
- ActiveAdmin::Views::IndexAsGrid
- Defined in:
- lib/active_admin/views/index_as_grid.rb
Overview
Index as a Grid
Sometimes you want to display the index screen for a set of resources as a grid (possibly a grid of thumbnail images). To do so, use the :grid option for the index block.
index :as => :grid do |product|
link_to(image_tag(product.image_path), admin_products_path(product))
end
The block is rendered within a cell in the grid once for each resource in the collection. The resource is passed into the block for you to use in the view.
You can customize the number of colums that are rendered using the columns option:
index :as => :grid, :columns => 5 do |product|
link_to(image_tag(product.image_path), admin_products_path(product))
end
Instance Method Summary (collapse)
- - (Object) build(page_presenter, collection)
- - (Object) build_empty_cell protected
- - (Object) build_item(item) protected
- - (Object) build_row(group) protected
- - (Object) build_table protected
- - (Object) default_number_of_columns protected
- - (Object) number_of_columns
Instance Method Details
- (Object) build(page_presenter, collection)
26 27 28 29 30 31 |
# File 'lib/active_admin/views/index_as_grid.rb', line 26 def build(page_presenter, collection) @page_presenter = page_presenter @collection = collection add_class "index" build_table end |
- (Object) build_empty_cell (protected)
62 63 64 |
# File 'lib/active_admin/views/index_as_grid.rb', line 62 def build_empty_cell td ' '.html_safe end |
- (Object) build_item(item) (protected)
56 57 58 59 60 |
# File 'lib/active_admin/views/index_as_grid.rb', line 56 def build_item(item) td :for => item do instance_exec(item, &@page_presenter.block) end end |
- (Object) build_row(group) (protected)
48 49 50 51 52 53 54 |
# File 'lib/active_admin/views/index_as_grid.rb', line 48 def build_row(group) tr do group.each do |item| item ? build_item(item) : build_empty_cell end end end |
- (Object) build_table (protected)
39 40 41 42 43 44 45 46 |
# File 'lib/active_admin/views/index_as_grid.rb', line 39 def build_table resource_selection_toggle_panel if active_admin_config.batch_actions.any? table :class => "index_grid" do collection.in_groups_of(number_of_columns).each do |group| build_row(group) end end end |
- (Object) default_number_of_columns (protected)
66 67 68 |
# File 'lib/active_admin/views/index_as_grid.rb', line 66 def default_number_of_columns 3 end |
- (Object) number_of_columns
33 34 35 |
# File 'lib/active_admin/views/index_as_grid.rb', line 33 def number_of_columns @page_presenter[:columns] || default_number_of_columns end |