Class: Avo::GridCollector

Inherits:
Object
  • Object
show all
Includes:
Concerns::HasFields
Defined in:
lib/avo/grid_collector.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Concerns::HasFields

#fields, #get_field, #get_field_definitions, #get_fields, #get_items, #get_tabs, #hydrate_fields, #tab_groups, #tools

Constructor Details

#initializeGridCollector

Returns a new instance of GridCollector.



9
10
11
12
13
# File 'lib/avo/grid_collector.rb', line 9

def initialize
  @cover_field = nil
  @title_field = nil
  @body_field = nil
end

Instance Attribute Details

#body_fieldObject

Returns the value of attribute body_field.



7
8
9
# File 'lib/avo/grid_collector.rb', line 7

def body_field
  @body_field
end

#cover_fieldObject

Returns the value of attribute cover_field.



5
6
7
# File 'lib/avo/grid_collector.rb', line 5

def cover_field
  @cover_field
end

#title_fieldObject

Returns the value of attribute title_field.



6
7
8
# File 'lib/avo/grid_collector.rb', line 6

def title_field
  @title_field
end

Instance Method Details

#blank?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/avo/grid_collector.rb', line 38

def blank?
  title_field.blank?
end

#body(field_name, as:, **args, &block) ⇒ Object



25
26
27
28
# File 'lib/avo/grid_collector.rb', line 25

def body(field_name, as:, **args, &block)
  field_parser = Avo::Dsl::FieldParser.new(id: field_name, as: as, order_index: items_index, **args, &block).parse
  self.body_field = field_parser.instance if field_parser.valid?
end

#cover(field_name, as:, **args, &block) ⇒ Object



15
16
17
18
# File 'lib/avo/grid_collector.rb', line 15

def cover(field_name, as:, **args, &block)
  field_parser = Avo::Dsl::FieldParser.new(id: field_name, as: as, order_index: items_index, **args, &block).parse
  self.cover_field = field_parser.instance if field_parser.valid?
end

#hydrate(model:, view:, resource:) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/avo/grid_collector.rb', line 30

def hydrate(model:, view:, resource:)
  cover_field.hydrate(model: model, view: view, resource: resource) if cover_field.present?
  title_field.hydrate(model: model, view: view, resource: resource) if title_field.present?
  body_field.hydrate(model: model, view: view, resource: resource) if body_field.present?

  self
end

#title(field_name, as:, **args, &block) ⇒ Object



20
21
22
23
# File 'lib/avo/grid_collector.rb', line 20

def title(field_name, as:, **args, &block)
  field_parser = Avo::Dsl::FieldParser.new(id: field_name, as: as, order_index: items_index, **args, &block).parse
  self.title_field = field_parser.instance if field_parser.valid?
end