Sha256: 34d4f5e46ccbab7fdc50a887371dabcfc7905739425374d34e383d97e23f7f68

Contents?: true

Size: 792 Bytes

Versions: 62

Compression:

Stored size: 792 Bytes

Contents

module Workarea
  module Storefront
    module ContentBlocks
      class NavigationViewModel < ContentBlockViewModel
        # Return a list of taxons to render in a navigation content block.
        #
        # @param [Workarea::Navigation::Taxon]
        # @return [Array<Workarea::Navigation::Taxon>]
        #
        def find_taxons_for(start)
          return [] if start.blank?

          if start.has_children?
            start.children.select(&:active?)
          elsif start.active?
            [start]
          else
            []
          end
        end

        def taxons
          @taxons ||= find_taxons_for(starting_taxon)
        end

        def starting_taxon
          @starting_taxon ||= Navigation::Taxon.find(data['start'])
        end
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-storefront-3.5.15 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.36 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.14 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.35 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.13 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.34 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.12 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.33 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.11 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.10 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.32 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.9 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.31 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.8 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.30 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.7 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.29 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.6 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.28 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.5 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb