Sha256: 5dd8c0ff6a8fa10ba749da8bb4073548dd35bd00a1d1e235263ace5e27f4e84b
Contents?: true
Size: 1.12 KB
Versions: 3
Compression:
Stored size: 1.12 KB
Contents
module ActiveAdmin module Views class Columns < ActiveAdmin::Component builder_method :columns def column(*args, &block) insert_tag Column, *args, &block end # Override add child to set widths def add_child(*) super calculate_columns! end protected def margin_size 2 end def calculate_columns! # Calculate our columns sizes and margins count = children.size margins_width = margin_size * (count - 1) column_width = (100.00 - margins_width) / count # Convert to an integer if its not a float column_width = column_width.to_i == column_width ? column_width.to_i : column_width children.each_with_index do |col, i| col.set_attribute :style, "width: #{column_width}%;" col.attr(:style) << " margin-right: #{margin_size}%;" unless i == (count - 1) end end def to_html html = super p html html.to_s + "<div style=\"clear:both;\"></div>".html_safe end end class Column < ActiveAdmin::Component end end end
Version data entries
3 entries across 3 versions & 1 rubygems