blacklight 6.5.0 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.rubocop.yml +5 -0
- data/.rubocop_todo.yml +114 -213
- data/{.solr_wrapper → .solr_wrapper.yml} +0 -0
- data/.yardopts +3 -1
- data/Gemfile +0 -3
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/Vagrantfile +0 -2
- data/app/controllers/bookmarks_controller.rb +0 -2
- data/app/controllers/catalog_controller.rb +0 -2
- data/app/controllers/concerns/blacklight/base.rb +0 -1
- data/app/controllers/concerns/blacklight/bookmarks.rb +1 -1
- data/app/controllers/concerns/blacklight/catalog.rb +7 -11
- data/app/controllers/concerns/blacklight/controller.rb +11 -7
- data/app/controllers/concerns/blacklight/default_component_configuration.rb +24 -37
- data/app/controllers/concerns/blacklight/facet.rb +2 -11
- data/app/controllers/concerns/blacklight/request_builders.rb +1 -3
- data/app/controllers/concerns/blacklight/search_context.rb +0 -1
- data/app/controllers/concerns/blacklight/search_fields.rb +2 -2
- data/app/controllers/concerns/blacklight/search_helper.rb +14 -24
- data/app/controllers/concerns/blacklight/token_based_user.rb +0 -2
- data/app/helpers/blacklight/blacklight_helper_behavior.rb +27 -28
- data/app/helpers/blacklight/catalog_helper_behavior.rb +15 -15
- data/app/helpers/blacklight/component_helper_behavior.rb +2 -5
- data/app/helpers/blacklight/configuration_helper_behavior.rb +2 -3
- data/app/helpers/blacklight/deprecated_url_helper_behavior.rb +1 -3
- data/app/helpers/blacklight/facets_helper_behavior.rb +21 -25
- data/app/helpers/blacklight/hash_as_hidden_fields_helper_behavior.rb +1 -2
- data/app/helpers/blacklight/render_constraints_helper_behavior.rb +8 -9
- data/app/helpers/blacklight/render_partials_helper.rb +14 -13
- data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +1 -4
- data/app/helpers/blacklight/url_helper_behavior.rb +1 -1
- data/app/models/blacklight/facet_paginator.rb +2 -2
- data/app/models/concerns/blacklight/document.rb +1 -6
- data/app/models/concerns/blacklight/document/active_model_shim.rb +0 -1
- data/app/models/concerns/blacklight/document/cache_key.rb +3 -3
- data/app/models/concerns/blacklight/document/dublin_core.rb +0 -1
- data/app/models/concerns/blacklight/document/email.rb +0 -2
- data/app/models/concerns/blacklight/document/export.rb +1 -2
- data/app/models/concerns/blacklight/document/schema_org.rb +0 -2
- data/app/models/concerns/blacklight/document/sms.rb +0 -2
- data/app/models/concerns/blacklight/solr/document.rb +0 -1
- data/app/models/record_mailer.rb +0 -1
- data/app/models/solr_document.rb +0 -2
- data/app/presenters/blacklight/document_presenter.rb +14 -11
- data/app/presenters/blacklight/index_presenter.rb +5 -5
- data/app/presenters/blacklight/json_presenter.rb +0 -1
- data/app/presenters/blacklight/rendering/abstract_step.rb +0 -1
- data/app/presenters/blacklight/rendering/helper_method.rb +5 -5
- data/app/presenters/blacklight/rendering/link_to_facet.rb +1 -1
- data/app/presenters/blacklight/show_presenter.rb +4 -5
- data/app/services/blacklight/field_retriever.rb +8 -9
- data/app/views/catalog/_facet_limit.html.erb +1 -1
- data/blacklight.gemspec +4 -0
- data/lib/blacklight.rb +2 -2
- data/lib/blacklight/abstract_repository.rb +4 -3
- data/lib/blacklight/configuration.rb +57 -92
- data/lib/blacklight/configuration/context.rb +3 -3
- data/lib/blacklight/configuration/fields.rb +24 -7
- data/lib/blacklight/exceptions.rb +0 -2
- data/lib/blacklight/parameters.rb +1 -1
- data/lib/blacklight/search_builder.rb +92 -96
- data/lib/blacklight/search_state.rb +2 -1
- data/lib/blacklight/solr/repository.rb +3 -4
- data/lib/blacklight/solr/request.rb +0 -2
- data/lib/blacklight/solr/response/facets.rb +23 -28
- data/lib/blacklight/solr/response/group.rb +0 -1
- data/lib/blacklight/solr/response/group_response.rb +1 -5
- data/lib/blacklight/solr/response/pagination_methods.rb +0 -1
- data/lib/blacklight/solr/response/response.rb +1 -1
- data/lib/blacklight/solr/response/spelling.rb +0 -4
- data/lib/blacklight/solr/search_builder_behavior.rb +29 -41
- data/lib/blacklight/utils.rb +10 -7
- data/lib/generators/blacklight/assets_generator.rb +0 -1
- data/lib/generators/blacklight/document_generator.rb +0 -1
- data/lib/generators/blacklight/install_generator.rb +2 -6
- data/lib/generators/blacklight/models_generator.rb +0 -3
- data/lib/generators/blacklight/search_builder_generator.rb +0 -1
- data/lib/generators/blacklight/solr4_generator.rb +0 -2
- data/lib/generators/blacklight/solr5_generator.rb +15 -1
- data/lib/generators/blacklight/test_support_generator.rb +0 -1
- data/lib/railties/blacklight.rake +3 -3
- data/spec/controllers/blacklight/catalog/component_configuration_spec.rb +1 -4
- data/spec/controllers/blacklight/search_helper_spec.rb +5 -7
- data/spec/controllers/blacklight/suggest_search_spec.rb +2 -2
- data/spec/controllers/bookmarks_controller_spec.rb +2 -2
- data/spec/controllers/catalog_controller_spec.rb +6 -6
- data/spec/features/search_context_spec.rb +4 -5
- data/spec/features/search_formats_spec.rb +0 -6
- data/spec/helpers/blacklight_helper_spec.rb +7 -7
- data/spec/helpers/catalog_helper_spec.rb +10 -10
- data/spec/helpers/configuration_helper_spec.rb +3 -3
- data/spec/helpers/facets_helper_spec.rb +1 -2
- data/spec/helpers/render_constraints_helper_spec.rb +8 -0
- data/spec/integration/generators/blacklight/solr5_generator_spec.rb +60 -0
- data/spec/models/blacklight/document_spec.rb +1 -1
- data/spec/models/blacklight/search_builder_spec.rb +5 -4
- data/spec/models/blacklight/solr/search_builder_spec.rb +12 -18
- data/spec/presenters/pipeline_spec.rb +1 -1
- data/spec/spec_helper.rb +43 -0
- data/spec/views/catalog/_index_header_default.html.erb_spec.rb +1 -1
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +1 -1
- data/spec/views/catalog/_sort_and_per_page.html.erb_spec.rb +2 -2
- data/spec/views/catalog/_thumbnail_default.erb_spec.rb +1 -1
- data/spec/views/catalog/_view_type_group.html.erb_spec.rb +3 -3
- data/spec/views/catalog/index.html.erb_spec.rb +1 -1
- data/spec/views/catalog/index.json.jbuilder_spec.rb +2 -2
- data/tasks/blacklight.rake +3 -0
- metadata +61 -3
|
@@ -8,7 +8,6 @@ module Blacklight::TokenBasedUser
|
|
|
8
8
|
rescue_from Blacklight::Exceptions::ExpiredSessionToken do
|
|
9
9
|
head :unauthorized
|
|
10
10
|
end
|
|
11
|
-
|
|
12
11
|
end
|
|
13
12
|
|
|
14
13
|
protected
|
|
@@ -49,5 +48,4 @@ module Blacklight::TokenBasedUser
|
|
|
49
48
|
def message_encryptor
|
|
50
49
|
ActiveSupport::MessageEncryptor.new(export_secret_token)
|
|
51
50
|
end
|
|
52
|
-
|
|
53
51
|
end
|
|
@@ -36,8 +36,8 @@ module Blacklight::BlacklightHelperBehavior
|
|
|
36
36
|
#
|
|
37
37
|
# Returns empty string if no links available.
|
|
38
38
|
#
|
|
39
|
-
# @
|
|
40
|
-
# @
|
|
39
|
+
# @param [SolrDocument] document
|
|
40
|
+
# @param [Hash] options
|
|
41
41
|
# @option options [Boolean] :unique ensures only one link is output for every
|
|
42
42
|
# content type, e.g. as required by atom
|
|
43
43
|
# @option options [Array<String>] :exclude array of format shortnames to not include in the output
|
|
@@ -122,13 +122,13 @@ module Blacklight::BlacklightHelperBehavior
|
|
|
122
122
|
# @overload render_index_field_label(options)
|
|
123
123
|
# Use the default, document-agnostic configuration
|
|
124
124
|
# @param [Hash] opts
|
|
125
|
-
# @
|
|
125
|
+
# @option opts [String] :field
|
|
126
126
|
# @overload render_index_field_label(document, options)
|
|
127
127
|
# Allow an extention point where information in the document
|
|
128
128
|
# may drive the value of the field
|
|
129
129
|
# @param [SolrDocument] doc
|
|
130
130
|
# @param [Hash] opts
|
|
131
|
-
# @
|
|
131
|
+
# @option opts [String] :field
|
|
132
132
|
def render_index_field_label *args
|
|
133
133
|
options = args.extract_options!
|
|
134
134
|
document = args.first
|
|
@@ -143,23 +143,23 @@ module Blacklight::BlacklightHelperBehavior
|
|
|
143
143
|
# @overload render_index_field_value(options)
|
|
144
144
|
# Use the default, document-agnostic configuration
|
|
145
145
|
# @param [Hash] opts
|
|
146
|
-
# @
|
|
147
|
-
# @
|
|
148
|
-
# @
|
|
146
|
+
# @option opts [String] :field
|
|
147
|
+
# @option opts [String] :value
|
|
148
|
+
# @option opts [String] :document
|
|
149
149
|
# @overload render_index_field_value(document, options)
|
|
150
150
|
# Allow an extention point where information in the document
|
|
151
151
|
# may drive the value of the field
|
|
152
152
|
# @param [SolrDocument] doc
|
|
153
153
|
# @param [Hash] opts
|
|
154
|
-
# @
|
|
155
|
-
# @
|
|
154
|
+
# @option opts [String] :field
|
|
155
|
+
# @option opts [String] :value
|
|
156
156
|
# @overload render_index_field_value(document, field, options)
|
|
157
157
|
# Allow an extention point where information in the document
|
|
158
158
|
# may drive the value of the field
|
|
159
159
|
# @param [SolrDocument] doc
|
|
160
160
|
# @param [String] field
|
|
161
161
|
# @param [Hash] opts
|
|
162
|
-
# @
|
|
162
|
+
# @option opts [String] :value
|
|
163
163
|
# @deprecated use IndexPresenter#field_value
|
|
164
164
|
def render_index_field_value *args
|
|
165
165
|
render_field_value(*args)
|
|
@@ -182,13 +182,13 @@ module Blacklight::BlacklightHelperBehavior
|
|
|
182
182
|
# @overload render_document_show_field_label(options)
|
|
183
183
|
# Use the default, document-agnostic configuration
|
|
184
184
|
# @param [Hash] opts
|
|
185
|
-
# @
|
|
185
|
+
# @option opts [String] :field
|
|
186
186
|
# @overload render_document_show_field_label(document, options)
|
|
187
187
|
# Allow an extention point where information in the document
|
|
188
188
|
# may drive the value of the field
|
|
189
189
|
# @param [SolrDocument] doc
|
|
190
190
|
# @param [Hash] opts
|
|
191
|
-
# @
|
|
191
|
+
# @option opts [String] :field
|
|
192
192
|
def render_document_show_field_label *args
|
|
193
193
|
options = args.extract_options!
|
|
194
194
|
document = args.first
|
|
@@ -204,30 +204,29 @@ module Blacklight::BlacklightHelperBehavior
|
|
|
204
204
|
# @overload render_document_show_field_value(options)
|
|
205
205
|
# Use the default, document-agnostic configuration
|
|
206
206
|
# @param [Hash] opts
|
|
207
|
-
# @
|
|
208
|
-
# @
|
|
209
|
-
# @
|
|
207
|
+
# @option opts [String] :field
|
|
208
|
+
# @option opts [String] :value
|
|
209
|
+
# @option opts [String] :document
|
|
210
210
|
# @overload render_document_show_field_value(document, options)
|
|
211
211
|
# Allow an extention point where information in the document
|
|
212
212
|
# may drive the value of the field
|
|
213
213
|
# @param [SolrDocument] doc
|
|
214
214
|
# @param [Hash] opts
|
|
215
|
-
# @
|
|
216
|
-
# @
|
|
215
|
+
# @option opts [String] :field
|
|
216
|
+
# @option opts [String] :value
|
|
217
217
|
# @overload render_document_show_field_value(document, field, options)
|
|
218
218
|
# Allow an extention point where information in the document
|
|
219
219
|
# may drive the value of the field
|
|
220
220
|
# @param [SolrDocument] doc
|
|
221
221
|
# @param [String] field
|
|
222
222
|
# @param [Hash] opts
|
|
223
|
-
# @
|
|
223
|
+
# @option opts [String] :value
|
|
224
224
|
# @deprecated use ShowPresenter#field_value
|
|
225
225
|
def render_document_show_field_value *args
|
|
226
226
|
render_field_value(*args)
|
|
227
227
|
end
|
|
228
228
|
deprecation_deprecate render_document_show_field_value: 'replaced by ShowPresenter#field_value'
|
|
229
229
|
|
|
230
|
-
|
|
231
230
|
##
|
|
232
231
|
# Get the value of the document's "title" field, or a placeholder
|
|
233
232
|
# value (if empty)
|
|
@@ -255,12 +254,12 @@ module Blacklight::BlacklightHelperBehavior
|
|
|
255
254
|
##
|
|
256
255
|
# Render the document "heading" (title) in a content tag
|
|
257
256
|
# @overload render_document_heading(document, options)
|
|
258
|
-
# @
|
|
259
|
-
# @
|
|
260
|
-
# @
|
|
257
|
+
# @param [SolrDocument] document
|
|
258
|
+
# @param [Hash] options
|
|
259
|
+
# @option options [Symbol] :tag
|
|
261
260
|
# @overload render_document_heading(options)
|
|
262
|
-
# @
|
|
263
|
-
# @
|
|
261
|
+
# @param [Hash] options
|
|
262
|
+
# @option options [Symbol] :tag
|
|
264
263
|
def render_document_heading(*args)
|
|
265
264
|
options = args.extract_options!
|
|
266
265
|
document = args.first
|
|
@@ -280,8 +279,8 @@ module Blacklight::BlacklightHelperBehavior
|
|
|
280
279
|
# - helper_method
|
|
281
280
|
# - link_to_search
|
|
282
281
|
# @param [SolrDocument] document
|
|
283
|
-
# @param [String]
|
|
284
|
-
# @param [Blacklight::Configuration::Field] solr field configuration
|
|
282
|
+
# @param [String] _field name
|
|
283
|
+
# @param [Blacklight::Configuration::Field] field_config solr field configuration
|
|
285
284
|
# @param [Hash] options additional options to pass to the rendering helpers
|
|
286
285
|
def get_field_values document, _field, field_config, options = {}
|
|
287
286
|
presenter(document).field_values field_config, options
|
|
@@ -291,7 +290,7 @@ module Blacklight::BlacklightHelperBehavior
|
|
|
291
290
|
##
|
|
292
291
|
# Get the current "view type" (and ensure it is a valid type)
|
|
293
292
|
#
|
|
294
|
-
# @param [Hash] the query parameters to check
|
|
293
|
+
# @param [Hash] query_params the query parameters to check
|
|
295
294
|
# @return [Symbol]
|
|
296
295
|
def document_index_view_type query_params=params
|
|
297
296
|
view_param = query_params[:view]
|
|
@@ -324,7 +323,7 @@ module Blacklight::BlacklightHelperBehavior
|
|
|
324
323
|
# Should we render a grouped response (because the response
|
|
325
324
|
# contains a grouped response instead of the normal response)
|
|
326
325
|
def render_grouped_response? response = @response
|
|
327
|
-
|
|
326
|
+
response.grouped?
|
|
328
327
|
end
|
|
329
328
|
|
|
330
329
|
##
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
module Blacklight::CatalogHelperBehavior
|
|
3
|
-
|
|
4
3
|
# @param [Hash] options
|
|
5
4
|
# @option options :route_set the route scope to use when constructing the link
|
|
6
5
|
def rss_feed_link_tag(options = {})
|
|
@@ -18,7 +17,7 @@ module Blacklight::CatalogHelperBehavior
|
|
|
18
17
|
# implementation.
|
|
19
18
|
# Displays the "showing X through Y of N" message.
|
|
20
19
|
#
|
|
21
|
-
# @param [RSolr::Resource] (or other Kaminari-compatible objects)
|
|
20
|
+
# @param [RSolr::Resource] collection (or other Kaminari-compatible objects)
|
|
22
21
|
# @return [String]
|
|
23
22
|
def page_entries_info(collection, options = {})
|
|
24
23
|
return unless show_pagination? collection
|
|
@@ -67,7 +66,8 @@ module Blacklight::CatalogHelperBehavior
|
|
|
67
66
|
##
|
|
68
67
|
# Get the offset counter for a document
|
|
69
68
|
#
|
|
70
|
-
# @param [Integer] document index
|
|
69
|
+
# @param [Integer] idx document index
|
|
70
|
+
# @param [Integer] offset additional offset to incremenet the counter by
|
|
71
71
|
# @return [Integer]
|
|
72
72
|
def document_counter_with_offset idx, offset = nil
|
|
73
73
|
offset ||= @response.start if @response
|
|
@@ -134,7 +134,7 @@ module Blacklight::CatalogHelperBehavior
|
|
|
134
134
|
##
|
|
135
135
|
# Render the sidebar partial for a document
|
|
136
136
|
#
|
|
137
|
-
# @param [SolrDocument]
|
|
137
|
+
# @param [SolrDocument] document
|
|
138
138
|
# @return [String]
|
|
139
139
|
def render_document_sidebar_partial(document = @document)
|
|
140
140
|
render :partial => 'show_sidebar'
|
|
@@ -143,7 +143,7 @@ module Blacklight::CatalogHelperBehavior
|
|
|
143
143
|
##
|
|
144
144
|
# Render the main content partial for a document
|
|
145
145
|
#
|
|
146
|
-
# @param [SolrDocument]
|
|
146
|
+
# @param [SolrDocument] document
|
|
147
147
|
# @return [String]
|
|
148
148
|
def render_document_main_content_partial(document = @document)
|
|
149
149
|
render partial: 'show_main_content'
|
|
@@ -152,7 +152,7 @@ module Blacklight::CatalogHelperBehavior
|
|
|
152
152
|
##
|
|
153
153
|
# Should we display the sort and per page widget?
|
|
154
154
|
#
|
|
155
|
-
# @param [Blacklight::Solr::Response]
|
|
155
|
+
# @param [Blacklight::Solr::Response] response
|
|
156
156
|
# @return [Boolean]
|
|
157
157
|
def show_sort_and_per_page? response = nil
|
|
158
158
|
response ||= @response
|
|
@@ -162,7 +162,7 @@ module Blacklight::CatalogHelperBehavior
|
|
|
162
162
|
##
|
|
163
163
|
# Should we display the pagination controls?
|
|
164
164
|
#
|
|
165
|
-
# @param [Blacklight::Solr::Response]
|
|
165
|
+
# @param [Blacklight::Solr::Response] response
|
|
166
166
|
# @return [Boolean]
|
|
167
167
|
def show_pagination? response = nil
|
|
168
168
|
response ||= @response
|
|
@@ -183,7 +183,7 @@ module Blacklight::CatalogHelperBehavior
|
|
|
183
183
|
##
|
|
184
184
|
# Does the document have a thumbnail to render?
|
|
185
185
|
#
|
|
186
|
-
# @param [SolrDocument]
|
|
186
|
+
# @param [SolrDocument] document
|
|
187
187
|
# @return [Boolean]
|
|
188
188
|
def has_thumbnail? document
|
|
189
189
|
blacklight_config.view_config(document_index_view_type).thumbnail_method.present? or
|
|
@@ -194,9 +194,9 @@ module Blacklight::CatalogHelperBehavior
|
|
|
194
194
|
# Render the thumbnail, if available, for a document and
|
|
195
195
|
# link it to the document record.
|
|
196
196
|
#
|
|
197
|
-
# @param [SolrDocument]
|
|
198
|
-
# @param [Hash]
|
|
199
|
-
# @param [Hash]
|
|
197
|
+
# @param [SolrDocument] document
|
|
198
|
+
# @param [Hash] image_options to pass to the image tag
|
|
199
|
+
# @param [Hash] url_options to pass to #link_to_document
|
|
200
200
|
# @return [String]
|
|
201
201
|
def render_thumbnail_tag document, image_options = {}, url_options = {}
|
|
202
202
|
value = if blacklight_config.view_config(document_index_view_type).thumbnail_method
|
|
@@ -208,7 +208,7 @@ module Blacklight::CatalogHelperBehavior
|
|
|
208
208
|
end
|
|
209
209
|
|
|
210
210
|
if value
|
|
211
|
-
if url_options
|
|
211
|
+
if url_options == false || url_options[:suppress_link]
|
|
212
212
|
value
|
|
213
213
|
else
|
|
214
214
|
link_to_document document, value, url_options
|
|
@@ -219,7 +219,7 @@ module Blacklight::CatalogHelperBehavior
|
|
|
219
219
|
##
|
|
220
220
|
# Get the URL to a document's thumbnail image
|
|
221
221
|
#
|
|
222
|
-
# @param [SolrDocument]
|
|
222
|
+
# @param [SolrDocument] document
|
|
223
223
|
# @return [String]
|
|
224
224
|
def thumbnail_url document
|
|
225
225
|
if document.has? blacklight_config.view_config(document_index_view_type).thumbnail_field
|
|
@@ -230,7 +230,7 @@ module Blacklight::CatalogHelperBehavior
|
|
|
230
230
|
##
|
|
231
231
|
# Render the view type icon for the results view picker
|
|
232
232
|
#
|
|
233
|
-
# @param [String]
|
|
233
|
+
# @param [String] view
|
|
234
234
|
# @return [String]
|
|
235
235
|
def render_view_type_group_icon view
|
|
236
236
|
content_tag :span, '', class: "glyphicon #{blacklight_config.view[view].icon_class || default_view_type_group_icon_classes(view)}"
|
|
@@ -239,7 +239,7 @@ module Blacklight::CatalogHelperBehavior
|
|
|
239
239
|
##
|
|
240
240
|
# Get the default view type classes for a view in the results view picker
|
|
241
241
|
#
|
|
242
|
-
# @param [String]
|
|
242
|
+
# @param [String] view
|
|
243
243
|
# @return [String]
|
|
244
244
|
def default_view_type_group_icon_classes view
|
|
245
245
|
"glyphicon-#{view.to_s.parameterize} view-icon-#{view.to_s.parameterize}"
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
module Blacklight
|
|
3
3
|
module ComponentHelperBehavior
|
|
4
|
-
|
|
5
4
|
def document_action_label action, opts
|
|
6
5
|
t("blacklight.tools.#{action}", default: opts.label || action.to_s.humanize)
|
|
7
6
|
end
|
|
8
7
|
|
|
9
8
|
def document_action_path action_opts, url_opts = nil
|
|
10
|
-
|
|
11
|
-
when action_opts.path
|
|
9
|
+
if action_opts.path
|
|
12
10
|
self.send(action_opts.path, url_opts)
|
|
13
|
-
|
|
11
|
+
elsif url_opts[:id].class.respond_to?(:model_name)
|
|
14
12
|
url_for([action_opts.key, url_opts[:id]])
|
|
15
13
|
else
|
|
16
14
|
self.send("#{action_opts.key}_#{controller_name}_path", url_opts)
|
|
@@ -80,6 +78,5 @@ module Blacklight
|
|
|
80
78
|
def render_show_doc_actions(document=@document, options={}, &block)
|
|
81
79
|
render_filtered_partials(blacklight_config.show.document_actions, { document: document }.merge(options), &block)
|
|
82
80
|
end
|
|
83
|
-
|
|
84
81
|
end
|
|
85
82
|
end
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
module Blacklight::ConfigurationHelperBehavior
|
|
3
|
-
|
|
4
3
|
##
|
|
5
4
|
# Index fields to display for a type of document
|
|
6
5
|
#
|
|
@@ -42,7 +41,7 @@ module Blacklight::ConfigurationHelperBehavior
|
|
|
42
41
|
# Return a label for the currently selected search field.
|
|
43
42
|
# If no "search_field" or the default (e.g. "all_fields") is selected, then return nil
|
|
44
43
|
# Otherwise grab the label of the selected search field.
|
|
45
|
-
# @param [Hash] query parameters
|
|
44
|
+
# @param [Hash] localized_params query parameters
|
|
46
45
|
# @return [String]
|
|
47
46
|
def constraint_query_label(localized_params = params)
|
|
48
47
|
label_for_search_field(localized_params[:search_field]) unless default_search_field?(localized_params[:search_field])
|
|
@@ -50,7 +49,7 @@ module Blacklight::ConfigurationHelperBehavior
|
|
|
50
49
|
|
|
51
50
|
##
|
|
52
51
|
# Is the search form using the default search field ("all_fields" by default)?
|
|
53
|
-
# @param [String] the currently selected search_field
|
|
52
|
+
# @param [String] selected_search_field the currently selected search_field
|
|
54
53
|
# @return [Boolean]
|
|
55
54
|
def default_search_field?(selected_search_field)
|
|
56
55
|
selected_search_field.blank? || (default_search_field && selected_search_field == default_search_field[:key])
|
|
@@ -51,9 +51,7 @@ module Blacklight
|
|
|
51
51
|
end
|
|
52
52
|
deprecation_deprecate :remove_facet_params
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
search_state.add_facet_params_and_redirect(field, item)
|
|
56
|
-
end
|
|
54
|
+
delegate :add_facet_params_and_redirect, to: :search_state
|
|
57
55
|
deprecation_deprecate :add_facet_params_and_redirect
|
|
58
56
|
end
|
|
59
57
|
end
|
|
@@ -5,7 +5,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
5
5
|
##
|
|
6
6
|
# Check if any of the given fields have values
|
|
7
7
|
#
|
|
8
|
-
# @param [Array<String>]
|
|
8
|
+
# @param [Array<String>] fields
|
|
9
9
|
# @param [Hash] options
|
|
10
10
|
# @return [Boolean]
|
|
11
11
|
def has_facet_values? fields = facet_field_names, options = {}
|
|
@@ -16,7 +16,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
16
16
|
# Render a collection of facet fields.
|
|
17
17
|
# @see #render_facet_limit
|
|
18
18
|
#
|
|
19
|
-
# @param [Array<String>]
|
|
19
|
+
# @param [Array<String>] fields
|
|
20
20
|
# @param [Hash] options
|
|
21
21
|
# @return String
|
|
22
22
|
def render_facet_partials fields = facet_field_names, options = {}
|
|
@@ -25,7 +25,6 @@ module Blacklight::FacetsHelperBehavior
|
|
|
25
25
|
end.compact, "\n")
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
|
|
29
28
|
##
|
|
30
29
|
# Renders a single section for facet limit with a specified
|
|
31
30
|
# solr field used for faceting. Can be over-ridden for custom
|
|
@@ -56,10 +55,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
56
55
|
# removes any elements where render_facet_item returns a nil value. This enables an application
|
|
57
56
|
# to filter undesireable facet items so they don't appear in the UI
|
|
58
57
|
def render_facet_limit_list(paginator, facet_field, wrapping_element=:li)
|
|
59
|
-
safe_join(paginator.items.
|
|
60
|
-
map { |item| render_facet_item(facet_field, item) }.compact.
|
|
61
|
-
map { |item| content_tag(wrapping_element,item)}
|
|
62
|
-
)
|
|
58
|
+
safe_join(paginator.items.map { |item| render_facet_item(facet_field, item) }.compact.map { |item| content_tag(wrapping_element,item)})
|
|
63
59
|
end
|
|
64
60
|
|
|
65
61
|
##
|
|
@@ -83,7 +79,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
83
79
|
# display when show is nil or true
|
|
84
80
|
facet_config = facet_configuration_for_field(display_facet.name)
|
|
85
81
|
display = should_render_field?(facet_config, display_facet)
|
|
86
|
-
|
|
82
|
+
display && display_facet.items.present?
|
|
87
83
|
end
|
|
88
84
|
|
|
89
85
|
##
|
|
@@ -92,7 +88,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
92
88
|
# - if the facet is configured to collapse (the default), collapse
|
|
93
89
|
# - if the facet is configured not to collapse, don't collapse
|
|
94
90
|
#
|
|
95
|
-
# @param [Blacklight::Configuration::FacetField]
|
|
91
|
+
# @param [Blacklight::Configuration::FacetField] facet_field
|
|
96
92
|
# @return [Boolean]
|
|
97
93
|
def should_collapse_facet? facet_field
|
|
98
94
|
!facet_field_in_params?(facet_field.field) && facet_field.collapse
|
|
@@ -117,8 +113,8 @@ module Blacklight::FacetsHelperBehavior
|
|
|
117
113
|
# partial and catalog/facet expanded list. Will output facet value name as
|
|
118
114
|
# a link to add that to your restrictions, with count in parens.
|
|
119
115
|
#
|
|
120
|
-
# @param [Blacklight::Solr::Response::Facets::FacetField]
|
|
121
|
-
# @param [String]
|
|
116
|
+
# @param [Blacklight::Solr::Response::Facets::FacetField] facet_field
|
|
117
|
+
# @param [String] item
|
|
122
118
|
# @param [Hash] options
|
|
123
119
|
# @option options [Boolean] :suppress_link display the facet, but don't link to it
|
|
124
120
|
# @return [String]
|
|
@@ -131,8 +127,8 @@ module Blacklight::FacetsHelperBehavior
|
|
|
131
127
|
|
|
132
128
|
##
|
|
133
129
|
# Where should this facet link to?
|
|
134
|
-
# @param [Blacklight::Solr::Response::Facets::FacetField]
|
|
135
|
-
# @param [String]
|
|
130
|
+
# @param [Blacklight::Solr::Response::Facets::FacetField] facet_field
|
|
131
|
+
# @param [String] item
|
|
136
132
|
# @return [String]
|
|
137
133
|
def path_for_facet(facet_field, item)
|
|
138
134
|
facet_config = facet_configuration_for_field(facet_field)
|
|
@@ -145,7 +141,9 @@ module Blacklight::FacetsHelperBehavior
|
|
|
145
141
|
|
|
146
142
|
##
|
|
147
143
|
# Standard display of a SELECTED facet value (e.g. without a link and with a remove button)
|
|
148
|
-
# @
|
|
144
|
+
# @see #render_facet_value
|
|
145
|
+
# @param [Blacklight::Solr::Response::Facets::FacetField] facet_field
|
|
146
|
+
# @param [String] item
|
|
149
147
|
def render_selected_facet_value(facet_field, item)
|
|
150
148
|
remove_href = search_action_path(search_state.remove_facet_params(facet_field, item))
|
|
151
149
|
content_tag(:span, class: "facet-label") do
|
|
@@ -162,7 +160,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
162
160
|
# Renders a count value for facet limits. Can be over-ridden locally
|
|
163
161
|
# to change style. And can be called by plugins to get consistent display.
|
|
164
162
|
#
|
|
165
|
-
# @param [Integer] number of facet results
|
|
163
|
+
# @param [Integer] num number of facet results
|
|
166
164
|
# @param [Hash] options
|
|
167
165
|
# @option options [Array<String>] an array of classes to add to count span.
|
|
168
166
|
# @return [String]
|
|
@@ -174,7 +172,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
174
172
|
##
|
|
175
173
|
# Are any facet restrictions for a field in the query parameters?
|
|
176
174
|
#
|
|
177
|
-
# @param [String]
|
|
175
|
+
# @param [String] field
|
|
178
176
|
# @return [Boolean]
|
|
179
177
|
def facet_field_in_params? field
|
|
180
178
|
!facet_params(field).blank?
|
|
@@ -184,8 +182,8 @@ module Blacklight::FacetsHelperBehavior
|
|
|
184
182
|
# Check if the query parameters have the given facet field with the
|
|
185
183
|
# given value.
|
|
186
184
|
#
|
|
187
|
-
# @param [Object]
|
|
188
|
-
# @param [Object] facet value
|
|
185
|
+
# @param [Object] field
|
|
186
|
+
# @param [Object] item facet value
|
|
189
187
|
# @return [Boolean]
|
|
190
188
|
def facet_in_params?(field, item)
|
|
191
189
|
value = facet_value_for_facet_item(item)
|
|
@@ -216,14 +214,13 @@ module Blacklight::FacetsHelperBehavior
|
|
|
216
214
|
facet_value_for_facet_item(item)
|
|
217
215
|
end
|
|
218
216
|
|
|
219
|
-
|
|
220
|
-
when facet_config.helper_method
|
|
217
|
+
if facet_config.helper_method
|
|
221
218
|
send facet_config.helper_method, value
|
|
222
|
-
|
|
219
|
+
elsif facet_config.query && facet_config.query[value]
|
|
223
220
|
facet_config.query[value][:label]
|
|
224
|
-
|
|
225
|
-
localization_options = {}
|
|
226
|
-
|
|
221
|
+
elsif facet_config.date
|
|
222
|
+
localization_options = facet_config.date == true ? {} : facet_config.date
|
|
223
|
+
|
|
227
224
|
l(value.to_datetime, localization_options)
|
|
228
225
|
else
|
|
229
226
|
value
|
|
@@ -243,5 +240,4 @@ module Blacklight::FacetsHelperBehavior
|
|
|
243
240
|
item
|
|
244
241
|
end
|
|
245
242
|
end
|
|
246
|
-
|
|
247
243
|
end
|