Class: Ecoportal::API::GraphQL::Base::Page::DataField::ImageGallery

Inherits:
DataField
  • Object
show all
Defined in:
lib/ecoportal/api/graphql/base/page/data_field/image_gallery.rb

Overview

Image gallery field. Writing requires a prior file upload to the REST upload endpoint to obtain fileContainerIds — see the file-upload TODO in projects/TODO.md.

Instance Method Summary collapse

Instance Method Details

#as_inputObject



17
18
19
20
21
# File 'lib/ecoportal/api/graphql/base/page/data_field/image_gallery.rb', line 17

def as_input
  return nil unless dirty?

  { imageGallery: { id: id, fileContainerIds: file_container_ids } }
end

#file_container_idsObject



9
10
11
# File 'lib/ecoportal/api/graphql/base/page/data_field/image_gallery.rb', line 9

def file_container_ids
  Array(fileContainers).map { |c| c.is_a?(Hash) ? c['id'] : c }.compact
end

#file_container_ids=(ids) ⇒ Object



13
14
15
# File 'lib/ecoportal/api/graphql/base/page/data_field/image_gallery.rb', line 13

def file_container_ids=(ids)
  doc['fileContainers'] = Array(ids).map { |id_val| { 'id' => id_val } }
end