Sha256: b2e5f66a5a47515fba586ca3a7e778a0cc6086b780e9099164d321c11d4b698b
Contents?: true
Size: 1.09 KB
Versions: 31
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true module Blacklight class JsonPresenter include Blacklight::Facet # @param [Solr::Response] response raw solr response. # @param [Array<SolrDocument>] documents a list of documents # @param [Array] facets list of facets def initialize(response, documents, facets, blacklight_config) @response = response @documents = documents @facets = facets @blacklight_config = blacklight_config end attr_reader :documents, :blacklight_config def search_facets_as_json @facets.as_json.each do |f| f.delete "options" f["label"] = facet_configuration_for_field(f["name"]).label f["items"] = f["items"].as_json.each do |i| i['label'] ||= i['value'] end end end # extract the pagination info from the response object def pagination_info h = {} [:current_page, :next_page, :prev_page, :total_pages, :limit_value, :offset_value, :total_count, :first_page?, :last_page?].each do |k| h[k] = @response.send(k) end h end end end
Version data entries
31 entries across 31 versions & 1 rubygems