Sha256: 7d232912064be21d2ecf86580ff9d9ac4aacb88f259293cbbb310047d27e2c2b
Contents?: true
Size: 1.56 KB
Versions: 2
Compression:
Stored size: 1.56 KB
Contents
module Maglove module Widgets class Columns < Base attr_reader :columns attr_reader :column_count attr_reader :total_columns def initialize(options, scope) super(options, scope) @column_count = 0 column_array = @options[:columns].to_s.split("x") if column_array.length == 1 @total_columns = column_array[0].to_i @columns = Array.new(@total_columns) { 12 / @total_columns } else @total_columns = column_array.length @columns = column_array end end def next_span value = @columns[@column_count] @column_count += 1 value end def row_options { class: "row row-#{@options[:style]}" } end def identifier "columns" end def defaults { columns: "2", style: "default", collapse_options: "sm" } end def template(&block) haml_tag :div, row_options do yield(self) if block end end def column(&block) span = next_span if span phone_cols = options[:collapse_options] == "xs" ? span : "12" haml_tag :div, class: "column col-#{phone_cols} col-tablet-#{span} col-#{options[:collapse_options]}-#{span}" do yield if block drop_container end else haml_tag :pre do haml_concat "ERROR: Row does not allow column at position #{column_count}" end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
maglove-widgets-2.0.3 | lib/maglove/widgets/columns.rb |
maglove-widgets-2.0.2 | lib/maglove/widgets/columns.rb |