Sha256: f9c0c0ae65709864db63fae4ab5753730cdaba2fc1274cecd42868f63aac0fed

Contents?: true

Size: 996 Bytes

Versions: 41

Compression:

Stored size: 996 Bytes

Contents

module Coco
  module App
    module Elements
      class Toolbar < Coco::Component
        include Coco::AppHelper

        renders_many :sections,
          ->(*args, align: nil, **kwargs, &block) do
            alignment = if align.nil?
              @sections[:start].nil? ? :start : :end
            else
              align
            end.to_sym

            unless @sections[alignment].nil?
              raise "Toolbar already has a `#{alignment}` section defined"
            end

            component = Coco::App::Elements::ButtonGroup.new(**kwargs, theme: :toolbar, collapsible: true)
            @sections[alignment] = view_context.render(component, &block)
          end

        def initialize(**kwargs)
          @sections = {
            start: nil,
            end: nil
          }
          super(**kwargs)
        end

        def start_section
          @sections[:start]
        end

        def end_section
          @sections[:end]
        end
      end
    end
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
coveragebook_components-0.10.0 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.9.1 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.9.0 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.9 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.8 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.7 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.6 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.5 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.4 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.3 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.2 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.1 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.0 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.0.beta.3 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.0.beta.2 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.8.0.beta.1 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.7.10 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.7.9 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.7.8 app/components/coco/app/elements/toolbar/toolbar.rb
coveragebook_components-0.7.7 app/components/coco/app/elements/toolbar/toolbar.rb