Class: ActiveAdmin::Views::Columns

Inherits:
Component
  • Object
show all
Defined in:
lib/active_admin/views/components/columns.rb

Overview

Columns Component

The Columns component allows you draw content into scalable columns. All you need to do is define the number of columns and the component will take care of the rest.

Simple Columns

To display columns, use the #columns method. Within the block, call the #column method to create a new column.

To create a two column layout:

columns do
  column do
    span "Column # 1
  end
  column do
    span "Column # 2
  end
end

Multiple Span Columns

To make a column span multiple, pass the :span option to the column method:

columns do
  column span: 2 do
    span "Column # 1
  end
  column do
    span "Column # 2
  end
end

By default, each column spans 1 column. So the above layout would have 2 columns, the first being 2 time bigger than the second.

Max and Min Column Sizes

Active Admin is a fluid width layout, which means that columns are all defined using percentages. Sometimes this can cause issues if you don't want a column to shrink or expand past a certain point.

To overcome this, columns include a :max_width and :min_width option.

columns do
  column max_width: "200px", min_width: "100px" do
    span "Column # 1
  end
  column do
    span "Column # 2
  end
end

Now the first column will not grow bigger than 200px and will not shrink smaller than 100px.

Instance Method Summary collapse

Instance Method Details

#add_childObject

Override add child to set widths



73
74
75
76
# File 'lib/active_admin/views/components/columns.rb', line 73

def add_child(*)
  super
  calculate_columns!
end

#column(*args, &block) ⇒ Object

For documentation, please take a look at Column#build



68
69
70
# File 'lib/active_admin/views/components/columns.rb', line 68

def column(*args, &block)
  insert_tag Column, *args, &block
end