Sha256: d7dd0d4b65b0d4be363946400558adc123120ab0bfbc67e45f24121e46974a8c

Contents?: true

Size: 995 Bytes

Versions: 22

Compression:

Stored size: 995 Bytes

Contents

# frozen_string_literal: true

class Avo::PanelComponent < Avo::BaseComponent
  include Avo::ApplicationHelper

  delegate :white_panel_classes, to: :helpers

  renders_one :cover_slot
  renders_one :name_slot
  renders_one :tools
  renders_one :body
  renders_one :sidebar
  renders_one :bare_sidebar
  renders_one :bare_content
  renders_one :footer_tools
  renders_one :footer

  prop :description
  prop :body_classes
  prop :data, default: {}.freeze
  prop :display_breadcrumbs, default: false
  prop :index
  prop :classes
  prop :profile_photo
  prop :cover_photo
  prop :args, kind: :**, default: {}.freeze

  def after_initialize
    @name = @args.dig(:name) || @args.dig(:title)
  end
  prop :external_link

  def classes
    class_names(@classes, "has-cover-photo": @cover_photo.present?, "has-profile-photo": @profile_photo.present?)
  end

  private

  def data_attributes
    @data.merge(component: @data[:component] || self.class.to_s.underscore, "panel-index": @index)
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
avo-3.17.9.tw4 app/components/avo/panel_component.rb
avo-3.17.9 app/components/avo/panel_component.rb
avo-3.17.8.tw4 app/components/avo/panel_component.rb
avo-3.17.8 app/components/avo/panel_component.rb
avo-3.17.7 app/components/avo/panel_component.rb
avo-3.17.6.tw4 app/components/avo/panel_component.rb
avo-3.17.6 app/components/avo/panel_component.rb
avo-3.17.5 app/components/avo/panel_component.rb
avo-3.17.4 app/components/avo/panel_component.rb
avo-3.17.3 app/components/avo/panel_component.rb
avo-3.17.5.tw4 app/components/avo/panel_component.rb
avo-3.17.4.tw4 app/components/avo/panel_component.rb
avo-3.17.3.tw4 app/components/avo/panel_component.rb
avo-3.17.2.tw4 app/components/avo/panel_component.rb
avo-3.17.2 app/components/avo/panel_component.rb
avo-3.17.1.tw4 app/components/avo/panel_component.rb
avo-3.17.1 app/components/avo/panel_component.rb
avo-3.17.0 app/components/avo/panel_component.rb
avo-3.16.6 app/components/avo/panel_component.rb
avo-3.16.5 app/components/avo/panel_component.rb