blacklight 6.5.0 → 6.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|