Sha256: 85c5929f1eed42d4ba96c7903dc8eb823bf87001c83eab05de1fd404d481bc4f

Contents?: true

Size: 1.24 KB

Versions: 12

Compression:

Stored size: 1.24 KB

Contents

module Coprl
  module Presenters
    module DSL
      module Components
        class ImageList < Base

          attr_reader :images, :columns, :list_type, :spacing

          def initialize(**attribs_, &block)
            super(type: :image_list, **attribs_, &block)
            @images = []
            @columns = attribs_.delete(:columns){ 5 }
            @list_type = attribs_.delete(:list_type){ 'standard' }
            @spacing = attribs_.delete(:spacing)
            @border_attribs = attribs_.slice(:border, :border_color, :border_radius)
            expand!
          end

          def image(image=nil, **attribs, &block)
            combined_attribs = attribs.merge(@border_attribs)
            @images << ImageListItem.new(parent: self,
                                         image: image,
                                         **combined_attribs,
                                         &block)
          end

          class ImageListItem < Components::Image

            attr_reader :label

            def initialize(**attribs_, &block)
              super(type: :image_list_item, **attribs_, &block)
              @label = attribs_.delete(:label){ nil }
              expand!
            end

          end

        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
coprl-3.0.0.beta.12 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.11 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.10 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.9 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.8 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.7 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.6 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.5 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.4 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.3 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.2 lib/coprl/presenters/dsl/components/image_list.rb
coprl-3.0.0.beta.1 lib/coprl/presenters/dsl/components/image_list.rb