Sha256: eda51afe3161d3b70b435fdd19c0d9545f3225a22f1984c00063c30e52ba7c5f

Contents?: true

Size: 1.14 KB

Versions: 20

Compression:

Stored size: 1.14 KB

Contents

module Europeana
  module Blacklight
    class SearchBuilder
      ##
      # Search builder methods for facet pagination
      module FacetPagination
        extend ActiveSupport::Concern

        included do
          default_processor_chain << :add_facet_paging_to_api
        end
        
        def add_facet_paging_to_api(api_parameters)
          return unless facet.present?

          facet_config = blacklight_config.facet_fields[facet]

          limit = if scope.respond_to?(:facet_list_limit)
              scope.facet_list_limit.to_s.to_i
            elsif api_parameters['facet.limit']
              api_parameters['facet.limit'].to_i
            else
              20
            end

          offset = (blacklight_params.fetch(blacklight_config.facet_paginator_class.request_keys[:page], 1).to_i - 1) * (limit)

          # Need to set as f.facet_field.facet.* to make sure we
          # override any field-specific default in the solr request handler.
          api_parameters[:"f.#{facet}.facet.limit"] = limit
          api_parameters[:"f.#{facet}.facet.offset"] = offset
          api_parameters[:rows] = 0
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
europeana-blacklight-1.2.2 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-1.2.1 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-1.2.0 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-1.1.0 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-1.0.0 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.5.2 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.5.1 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.5.0 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.4.9 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.4.8 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.4.7 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.4.6 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.4.5 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.4.4 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.4.3 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.4.2 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.4.1 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.4.0 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.3.3 lib/europeana/blacklight/search_builder/facet_pagination.rb
europeana-blacklight-0.3.2 lib/europeana/blacklight/search_builder/facet_pagination.rb