Class: BulmaX::Grid

Inherits:
BaseComponent show all
Defined in:
lib/bulma_x/grid.rb

Defined Under Namespace

Classes: Cell

Constant Summary

Constants inherited from BaseComponent

BaseComponent::BLANK_VALUES, BaseComponent::BOOLEAN, BaseComponent::COLORS, BaseComponent::COLOR_MODIFIER, BaseComponent::COLOR_PALETTE, BaseComponent::MODIFIERS, BaseComponent::MODIFIERS_DECLINED, BaseComponent::MODIFIERS_PALETTE

Constants included from Shared::SpacingOptions

Shared::SpacingOptions::VALID_SPACING_KEYS, Shared::SpacingOptions::VALID_SPACING_VALUES

Instance Method Summary collapse

Methods inherited from BaseComponent

#after_template, #attributes, #base_attributes, #base_classes, #before_template, #classes, #compact_blank, #css, #initialize, #render_root

Methods included from Shared::AriaOptions

#aria_attributes, included

Methods included from Shared::GlobalOptions

#global_attributes, #global_classes, included

Methods included from Shared::DataOptions

#data_attributes, included

Methods included from Shared::FlexOptions

#flex_classes, included

Methods included from Shared::SpacingOptions

included, #spacing_classes

Methods included from Shared::TextOptions

included, #text_classes

Methods included from ComponentDsl

included

Constructor Details

This class inherits a constructor from BulmaX::BaseComponent

Instance Method Details

#grid_container_classesObject

rubocop:disable Metrics/CyclomaticComplexity



36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/bulma_x/grid.rb', line 36

def grid_container_classes
  [
    'fixed-grid',
    @columns && "has-#{@columns}-cols",
    @mobile_columns && "has-#{@mobile_columns}-cols-mobile",
    @tablet_columns && "has-#{@tablet_columns}-cols-tablet",
    @desktop_columns && "has-#{@desktop_columns}-cols-desktop",
    @widescreen_columns && "has-#{@widescreen_columns}-cols-widescreen",
    @fullhd_columns && "has-#{@fullhd_columns}-cols-fullhd",
    @auto_count && 'has-auto-count'
  ]
end

#render_selfObject



29
30
31
32
33
# File 'lib/bulma_x/grid.rb', line 29

def render_self
  render_root do
    slots(:cell).each { render it }
  end
end

#root_classesObject

rubocop:enable Metrics/CyclomaticComplexity



50
51
52
53
54
55
56
57
58
# File 'lib/bulma_x/grid.rb', line 50

def root_classes
  super +
    [
      'grid',
      @size && "is-col-min-#{@size}",
      @gap && "is-gap-#{@gap}",
      @columns && "has-#{@columns}-cols"
    ]
end

#view_templateObject



19
20
21
22
23
24
25
26
27
# File 'lib/bulma_x/grid.rb', line 19

def view_template
  if any_columns? || @auto_count
    slot(:grid_container) do
      render_self
    end
  else
    render_self
  end
end