Sha256: f81b0f364909bdc88332b32b9a84855a4e50dc277344de499685523a441c6fd2

Contents?: true

Size: 891 Bytes

Versions: 22

Compression:

Stored size: 891 Bytes

Contents

# This concern helps us figure out what items are visible for each tab, panel or sidebar
module Avo
  module Concerns
    module VisibleItems
      extend ActiveSupport::Concern
      def items
        if items_holder.present?
          items_holder.items
        else
          []
        end
      end

      def visible_items
        items
          .map do |item|
            visible(item) ? item : nil
          end
          .compact
      end

      def visible(item)
        if item.is_field?
          item.visible? && item.visible_on?(view)
        else
          item.visible?
        end
      end

      def visible?
        any_item_visible = visible_items.any?
        return any_item_visible unless respond_to?(:visible_on?)

        visible_on?(view) && any_item_visible
      end

      def hydrate(view: nil)
        @view = view

        self
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
avo-2.26.2.pre.pr1579 lib/avo/concerns/visible_items.rb
avo-2.26.1.pr1584.pre.1 lib/avo/concerns/visible_items.rb
avo-2.25.1.pre.1.pr1579 lib/avo/concerns/visible_items.rb
avo-2.26.0 lib/avo/concerns/visible_items.rb
avo-2.25.0 lib/avo/concerns/visible_items.rb
avo-2.24.1 lib/avo/concerns/visible_items.rb
avo-2.24.0 lib/avo/concerns/visible_items.rb
avo-2.23.3.pre.1.pr1529 lib/avo/concerns/visible_items.rb
avo-2.23.2 lib/avo/concerns/visible_items.rb
avo-2.23.1 lib/avo/concerns/visible_items.rb
avo-2.23.0 lib/avo/concerns/visible_items.rb
avo-2.22.0 lib/avo/concerns/visible_items.rb
avo-2.21.3.pre.pr1489 lib/avo/concerns/visible_items.rb
avo-2.21.2.pre.pr1486 lib/avo/concerns/visible_items.rb
avo-2.21.1.pre.pr1484 lib/avo/concerns/visible_items.rb
avo-2.21.0 lib/avo/concerns/visible_items.rb
avo-2.21.1.pre.pr1476 lib/avo/concerns/visible_items.rb
avo-2.21.1.pre.issue1450 lib/avo/concerns/visible_items.rb
avo-2.21.1.pre.issue1444 lib/avo/concerns/visible_items.rb
avo-2.20.0 lib/avo/concerns/visible_items.rb