Class: Voom::Presenters::DSL::Components::Grid::Column

Instance Attribute Summary collapse

Attributes inherited from EventBase

#event_parent_id

Attributes included from Mixins::Event

#events

Attributes inherited from Base

#attributes, #css_class, #draggable, #drop_zone, #id, #tag, #type

Instance Method Summary collapse

Methods included from Mixins::Padding

#coerce_padding, #validate_padding

Methods included from Mixins::Progress

#progress

Methods included from Mixins::Avatar

#avatar

Methods included from Mixins::FileInputs

#file_input

Methods included from Mixins::Sliders

#slider

Methods included from Mixins::Steppers

#stepper

Methods included from Mixins::Snackbars

#snackbar

Methods included from Mixins::Toggles

#checkbox, #icon_toggle, #radio_button, #switch

Methods included from Mixins::Append

#<<, #yield_to

Methods included from Mixins::Selects

#multi_select, #select

Methods included from Mixins::DateTimeFields

#date_field, #datetime_field, #time_field

Methods included from Mixins::TextFields

#hidden_field, #number_field, #rich_text_area, #text_area, #text_field

Methods included from Mixins::Chipset

#chipset

Methods included from Mixins::Dialogs

#dialog

Methods included from Mixins::Attaches

#attach

Methods included from Namespace

#_expand_namespace_

Methods included from Mixins::Icons

#icon

Methods included from Mixins::Common

#avatar, #badge, #card, #form, #list, #table, #unordered_list

Methods included from Mixins::Tables

#table

Methods included from Mixins::ImageLists

#image_list

Methods included from Mixins::Images

#image

Methods included from Mixins::TabBars

#tab_bar

Methods included from Mixins::Menus

#menu

Methods included from Mixins::Content

#content

Methods included from Mixins::ExpansionPanels

#expansion_panel

Methods included from Mixins::Buttons

#button

Methods included from Mixins::Grids

#grid

Methods included from Mixins::Typography

#blank, #body, #body2, #caption, #headline, #headline1, #headline2, #headline3, #headline4, #headline5, #headline6, #link, #overline, #page_title, #separator, #subtitle, #subtitle2, #text, #title

Methods included from Mixins::Event

#event

Methods inherited from Base

#expand!

Methods included from Pluggable

#include_plugins, #plugin, #plugin_module

Methods included from Mixins::YieldTo

#yield_to

Methods included from Serializer

#to_hash

Methods included from Lockable

#locked?

Constructor Details

#initialize(**attribs_, &block) ⇒ Column

Returns a new instance of Column.



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/voom/presenters/dsl/components/grid.rb', line 83

def initialize(**attribs_, &block)
  super(type: :column, **attribs_, &block)
  @size = attribs.delete(:size) || 1
  @desktop = attribs.delete(:desktop)
  @tablet = attribs.delete(:tablet)
  @phone = attribs.delete(:phone)
  @color = attribs.delete(:color)
  @align = validate_alignment(attribs.delete(:align) {:left})
  @overflow = attribs.delete(:overflow){true}
  @components = []
  padding = attribs.delete(:padding) {nil}
  @padding = validate_padding(coerce_padding(padding)).uniq if padding != nil
  @height = attribs.delete(:height) {nil}
  expand!
end

Instance Attribute Details

#alignObject (readonly)

Returns the value of attribute align.



72
73
74
# File 'lib/voom/presenters/dsl/components/grid.rb', line 72

def align
  @align
end

#colorObject (readonly)

Returns the value of attribute color.



72
73
74
# File 'lib/voom/presenters/dsl/components/grid.rb', line 72

def color
  @color
end

#componentsObject (readonly)

Returns the value of attribute components.



72
73
74
# File 'lib/voom/presenters/dsl/components/grid.rb', line 72

def components
  @components
end

#desktopObject (readonly)

Returns the value of attribute desktop.



72
73
74
# File 'lib/voom/presenters/dsl/components/grid.rb', line 72

def desktop
  @desktop
end

#heightObject (readonly)

Returns the value of attribute height.



72
73
74
# File 'lib/voom/presenters/dsl/components/grid.rb', line 72

def height
  @height
end

#overflowObject (readonly)

Returns the value of attribute overflow.



72
73
74
# File 'lib/voom/presenters/dsl/components/grid.rb', line 72

def overflow
  @overflow
end

#paddingObject (readonly)

Returns the value of attribute padding.



72
73
74
# File 'lib/voom/presenters/dsl/components/grid.rb', line 72

def padding
  @padding
end

#phoneObject (readonly)

Returns the value of attribute phone.



72
73
74
# File 'lib/voom/presenters/dsl/components/grid.rb', line 72

def phone
  @phone
end

#sizeObject (readonly)

Returns the value of attribute size.



72
73
74
# File 'lib/voom/presenters/dsl/components/grid.rb', line 72

def size
  @size
end

#tabletObject (readonly)

Returns the value of attribute tablet.



72
73
74
# File 'lib/voom/presenters/dsl/components/grid.rb', line 72

def tablet
  @tablet
end

Instance Method Details

#validate_alignment(align) ⇒ Object



99
100
101
102
103
104
# File 'lib/voom/presenters/dsl/components/grid.rb', line 99

def validate_alignment(align)
  valid_alignment = %i(right left)
  raise "Invalid value for column alignment: #{align}. "\
          "Valid values are #{valid_alignment.join(' ,')}." unless valid_alignment.include?(align)
  align
end