Sha256: 0acf35e0c2840f568a1d5cf611c3dbdd5c36dcd26cf374627eb2f6ff3cdcbff9

Contents?: true

Size: 1.07 KB

Versions: 21

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

class Avo::PanelComponent < ViewComponent::Base
  attr_reader :title

  renders_one :tools
  renders_one :body
  renders_one :bare_content
  renders_one :footer_tools
  renders_one :footer

  def initialize(title: nil, description: nil, body_classes: nil, data: {}, display_breadcrumbs: false, index: nil)
    @title = title
    @description = description
    @body_classes = body_classes
    @data = data
    @display_breadcrumbs = display_breadcrumbs
    @index = index
  end

  private

  def white_panel_classes
    'bg-white rounded shadow'
  end

  def data_attributes
    @data.merge({'panel-index': @index}).map do |key, value|
      " data-#{key}=\"#{value}\""
    end.join
  end

  def display_breadcrumbs?
    @display_breadcrumbs == true && Avo.configuration.display_breadcrumbs == true
  end

  def description
    return @description if @description.present?

    ""
  end

  def render_header?
    @title.present? || description.present? || tools.present? || display_breadcrumbs?
  end

  def render_footer_tools?
    footer_tools.present?
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
avo-2.5.2.pre.7 app/components/avo/panel_component.rb
avo-2.5.2.pre.2 app/components/avo/panel_component.rb
avo-2.5.2.pre.1 app/components/avo/panel_component.rb
avo-2.5.1 app/components/avo/panel_component.rb
avo-2.5.0 app/components/avo/panel_component.rb
avo-2.4.1 app/components/avo/panel_component.rb
avo-2.4.0 app/components/avo/panel_component.rb
avo-2.3.1.pre.6 app/components/avo/panel_component.rb
avo-2.3.1.pre.5 app/components/avo/panel_component.rb
avo-2.3.1.pre.4 app/components/avo/panel_component.rb
avo-2.3.1.pre.3 app/components/avo/panel_component.rb
avo-2.3.1.pre.2 app/components/avo/panel_component.rb
avo-2.3.1.pre.1 app/components/avo/panel_component.rb
avo-2.3.0 app/components/avo/panel_component.rb
avo-2.2.2 app/components/avo/panel_component.rb
avo-2.2.1 app/components/avo/panel_component.rb
avo-2.2.0 app/components/avo/panel_component.rb
avo-2.1.2.pre2 app/components/avo/panel_component.rb
avo-2.1.2.pre1 app/components/avo/panel_component.rb
avo-2.1.1 app/components/avo/panel_component.rb