Sha256: ad434c51ed14002dc9db8bd39619d4182def22968c8518203d1d41e4ac294d8c

Contents?: true

Size: 814 Bytes

Versions: 115

Compression:

Stored size: 814 Bytes

Contents

class Avo::TabGroup
  include Avo::Concerns::HasFields
  include Avo::Concerns::IsResourceItem

  class_attribute :item_type, default: :tab_group

  attr_reader :view
  attr_accessor :index
  attr_accessor :items_holder
  attr_accessor :style

  def initialize(index: 0, view: nil, style: nil)
    @index = index
    @items_holder = Avo::ItemsHolder.new
    @view = view
    @style = style
  end

  def hydrate(view: nil)
    @view = view

    self
  end

  def visible_items
    items.map do |item|
      item.hydrate view: view
    end
    .select do |item|
      # Remove items hidden in this view
      item.visible_on? view
    end
    .select do |item|
      # Remove empty items
      !item.empty?
    end
  end

  def turbo_frame_id
    "#{Avo::TabGroup.to_s.parameterize} #{index}".parameterize
  end
end

Version data entries

115 entries across 115 versions & 1 rubygems

Version Path
avo-2.53.0 lib/avo/tab_group.rb
avo-2.52.0 lib/avo/tab_group.rb
avo-2.49.0 lib/avo/tab_group.rb
avo-2.48.0 lib/avo/tab_group.rb
avo-2.47.0 lib/avo/tab_group.rb
avo-2.46.0 lib/avo/tab_group.rb
avo-2.45.0 lib/avo/tab_group.rb
avo-2.44.0 lib/avo/tab_group.rb
avo-2.43.0 lib/avo/tab_group.rb
avo-2.42.2 lib/avo/tab_group.rb
avo-2.42.1 lib/avo/tab_group.rb
avo-2.42.0 lib/avo/tab_group.rb
avo-2.41.0 lib/avo/tab_group.rb
avo-2.40.0 lib/avo/tab_group.rb
avo-2.39.0 lib/avo/tab_group.rb
avo-2.38.0 lib/avo/tab_group.rb
avo-2.37.2 lib/avo/tab_group.rb
avo-2.37.1 lib/avo/tab_group.rb
avo-2.37.0 lib/avo/tab_group.rb
avo-2.36.3 lib/avo/tab_group.rb