Sha256: 8cd1d38977223f9c29417db8da8f784a24efe6cc2100cfc68b618de410828107

Contents?: true

Size: 1.18 KB

Versions: 43

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true
module Blacklight::Solr
  # Pagination for facet values -- works by setting the limit to max
  # displayable. You have to ask Solr for limit+1, to get enough
  # results to see if 'more' are available'. That is, the all_facet_values
  # arg in constructor should be the result of asking solr for limit+1
  # values. 
  # This is a workaround for the fact that Solr itself can't compute
  # the total values for a given facet field,
  # so we cannot know how many "pages" there are.
  #
  class FacetPaginator < Blacklight::FacetPaginator
    # all_facet_values is a list of facet value objects returned by solr,
    # asking solr for n+1 facet values.
    # options:
    # :limit =>  number to display per page, or (default) nil. Nil means
    #            display all with no previous or next. 
    # :offset => current item offset, default 0
    # :sort => 'count' or 'index', solr tokens for facet value sorting, default 'count'. 
    def initialize(all_facet_values, arguments = {})
      super

      # count is solr's default
      @sort ||= if @limit.to_i > 0
                  'count'
                else
                  'index'
                end
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
blacklight-6.25.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.24.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.23.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.22.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.21.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.20.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.19.2 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.19.1 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.19.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.18.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.17.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.16.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.15.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.14.1 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.14.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.13.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.12.0 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.11.2 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.11.1 app/models/blacklight/solr/facet_paginator.rb
blacklight-6.11.0 app/models/blacklight/solr/facet_paginator.rb