blacklight 7.13.1 → 7.13.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8fb80459866144384607d4a10514e767df6a91c2b4479056ff249e036872b92
4
- data.tar.gz: f21dceeab6bc00811799379c7082af587a019101d570071baa98fa9f1aeb9886
3
+ metadata.gz: f57c80d2b77a3b8bd0d536f3800fad183aa43d5aec10b71f921dfb23cbb6b26c
4
+ data.tar.gz: 9748a16edba74f0a1f24b1d6813987196088e1d217dd621b6455ca235aec37be
5
5
  SHA512:
6
- metadata.gz: 9613e0b9fbfbf15765fd21175c942f3f65c208cfdcaf8ded9158520a44ea507896e7419a53085071badf1e0452071b81d99cd2013cbdb727c85f944e87524fc1
7
- data.tar.gz: 684cbee2ba2125ac367445bad68ac18d1d2d437c724ad0f0c6a3ac2648705a933e1edb6631193499b4836035e3c6da5b3528a988e555a34b3f1b529b90429e86
6
+ metadata.gz: af48c90bc958243c5177660307c059a974c647f27b1fd890061e6efbba253b68d4690e46547b488fee11fe92140db88d39051a0a666e656f478d89e9650fd541
7
+ data.tar.gz: '019a8e8383aff4582a98a74348c2b40cf7e57aa121213fbd43702c13ff66f2f30c455d43c06dfa0f26c39ebc74f9d34ff40f72b72ed30bdd180384f58deb25cb'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 7.13.1
1
+ 7.13.2
@@ -1,9 +1,9 @@
1
1
  <div class="prev_next_links btn-group">
2
- <%= link_to_previous_page @facet_field.paginator, raw(t('views.pagination.previous')), params: @facet_field.search_state.to_h, param_name: param_name, class: 'btn btn-link', data: { blacklight_modal: "preserve" } do %>
2
+ <%= @view_context.link_to_previous_page @facet_field.paginator, raw(t('views.pagination.previous')), params: @facet_field.search_state.to_h, param_name: param_name, class: 'btn btn-link', data: { blacklight_modal: "preserve" } do %>
3
3
  <%= content_tag :span, raw(t('views.pagination.previous')), class: 'disabled btn' %>
4
4
  <% end %>
5
5
 
6
- <%= link_to_next_page @facet_field.paginator, raw(t('views.pagination.next')), params: @facet_field.search_state.to_h, param_name: param_name, class: 'btn btn-link', data: { blacklight_modal: "preserve" } do %>
6
+ <%= @view_context.link_to_next_page @facet_field.paginator, raw(t('views.pagination.next')), params: @facet_field.search_state.to_h, param_name: param_name, class: 'btn btn-link', data: { blacklight_modal: "preserve" } do %>
7
7
  <%= content_tag :span, raw(t('views.pagination.next')), class: 'disabled btn' %>
8
8
  <% end %>
9
9
  </div>
@@ -11,9 +11,9 @@
11
11
  <div class="sort-options btn-group">
12
12
  <% if @facet_field.paginator.sort == 'index' -%>
13
13
  <span class="active az btn btn-outline-secondary"><%= t('blacklight.search.facets.sort.index') %></span>
14
- <%= link_to(t('blacklight.search.facets.sort.count'), sort_facet_url('count'), class: "sort_change numeric btn btn-outline-secondary", data: { blacklight_modal: "preserve" }) %>
14
+ <%= @view_context.link_to(t('blacklight.search.facets.sort.count'), sort_facet_url('count'), class: "sort_change numeric btn btn-outline-secondary", data: { blacklight_modal: "preserve" }) %>
15
15
  <% elsif @facet_field.paginator.sort == 'count' -%>
16
- <%= link_to(t('blacklight.search.facets.sort.index'), sort_facet_url('index'), class: "sort_change az btn btn-outline-secondary", data: { blacklight_modal: "preserve" }) %>
16
+ <%= @view_context.link_to(t('blacklight.search.facets.sort.index'), sort_facet_url('index'), class: "sort_change az btn btn-outline-secondary", data: { blacklight_modal: "preserve" }) %>
17
17
  <span class="active numeric btn btn-outline-secondary"><%= t('blacklight.search.facets.sort.count') %></span>
18
18
  <% end -%>
19
19
  </div>
@@ -1,27 +1,29 @@
1
- <%= form_tag @url, method: @method, class: @classes.join(' '), role: 'search', 'aria-label' => t('blacklight.search.form.submit') do %>
1
+ <%= form_tag @url, method: @method, class: @classes.join(' '), role: 'search', 'aria-label' => scoped_t('submit') do %>
2
2
  <%= render_hash_as_hidden_fields(@params) %>
3
3
  <% if @search_fields.length > 1 %>
4
- <label for="search_field" class="sr-only"><%= t('blacklight.search.form.search_field.label') %></label>
4
+ <label for="search_field" class="sr-only"><%= scoped_t('search_field.label') %></label>
5
5
  <% end %>
6
6
  <div class="input-group">
7
+ <%= prepend %>
8
+
7
9
  <% if @search_fields.length > 1 %>
8
10
  <%= select_tag(:search_field,
9
11
  options_for_select(@search_fields, h(@search_field)),
10
- title: t('blacklight.search.form.search_field.title'),
12
+ title: scoped_t('search_field.title'),
11
13
  id: "#{@prefix}search_field",
12
14
  class: "custom-select search-field") %>
13
15
  <% elsif @search_fields.length == 1 %>
14
16
  <%= hidden_field_tag :search_field, @search_fields.first.last %>
15
17
  <% end %>
16
18
 
17
- <label for="<%= @prefix %>q" class="sr-only"><%= t('blacklight.search.form.search.label') %></label>
18
- <%= text_field_tag :q, @q, placeholder: t('blacklight.search.form.search.placeholder'), class: "search-q q form-control rounded-#{@search_fields.length > 1 ? '0' : 'left'}", id: "#{@prefix}q", autocomplete: autocomplete_path.present? ? "off" : "", autofocus: @autofocus, data: { autocomplete_enabled: autocomplete_path.present?, autocomplete_path: autocomplete_path } %>
19
-
20
- <%= content %>
19
+ <label for="<%= @prefix %><%= @query_param %>" class="sr-only"><%= scoped_t('search.label') %></label>
20
+ <%= text_field_tag @query_param, @q, placeholder: scoped_t('search.placeholder'), class: "search-q q form-control rounded-#{@search_fields.length > 1 ? '0' : 'left'}", id: "#{@prefix}q", autocomplete: autocomplete_path.present? ? "off" : "", autofocus: @autofocus, data: { autocomplete_enabled: autocomplete_path.present?, autocomplete_path: autocomplete_path } %>
21
21
 
22
22
  <span class="input-group-append">
23
+ <%= append %>
24
+
23
25
  <button type="submit" class="btn btn-primary search-btn" id="<%= @prefix %>search">
24
- <span class="submit-search-text"><%= t('blacklight.search.form.submit') %></span>
26
+ <span class="submit-search-text"><%= scoped_t('submit') %></span>
25
27
  <%= blacklight_icon :search, aria_hidden: true %>
26
28
  </button>
27
29
  </span>
@@ -2,10 +2,18 @@
2
2
 
3
3
  module Blacklight
4
4
  class SearchBarComponent < ::ViewComponent::Base
5
+ with_content_areas :append, :prepend
6
+
5
7
  # rubocop:disable Metrics/ParameterLists
6
- def initialize(url:, params:, classes: ['search-query-form'], presenter: nil, prefix: '', method: 'GET', q: nil, search_field: nil, search_fields: [], autocomplete_path: nil, autofocus: nil)
8
+ def initialize(
9
+ url:, params:, classes: ['search-query-form'], presenter: nil,
10
+ prefix: '', method: 'GET', q: nil, query_param: :q,
11
+ search_field: nil, search_fields: [], autocomplete_path: nil,
12
+ autofocus: nil, i18n: { scope: 'blacklight.search.form' }
13
+ )
7
14
  @url = url
8
15
  @q = q || params[:q]
16
+ @query_param = query_param
9
17
  @search_field = search_field || params[:search_field]
10
18
  @params = params.except(:q, :search_field, :utf8, :page)
11
19
  @prefix = prefix
@@ -15,6 +23,7 @@ module Blacklight
15
23
  @autocomplete_path = autocomplete_path
16
24
  @autofocus = autofocus
17
25
  @search_fields = search_fields
26
+ @i18n = i18n
18
27
  end
19
28
  # rubocop:enable Metrics/ParameterLists
20
29
 
@@ -47,5 +56,9 @@ module Blacklight
47
56
  @view_context.render_hash_as_hidden_fields(*args)
48
57
  end
49
58
  end
59
+
60
+ def scoped_t(key, **args)
61
+ t(key, default: t(key, scope: 'blacklight.search.form'), **@i18n, **args)
62
+ end
50
63
  end
51
64
  end
@@ -133,7 +133,7 @@ module Blacklight::Catalog
133
133
  # Check if any search parameters have been set
134
134
  # @return [Boolean]
135
135
  def has_search_parameters?
136
- params[:q].present? || params[:f].present? || params[:search_field].present?
136
+ params[:search_field].present? || search_state.has_constraints?
137
137
  end
138
138
 
139
139
  # TODO: deprecate this constant with #facet_limit_for
@@ -316,11 +316,11 @@ module Blacklight::Catalog
316
316
  # If there are errors coming from the index page, we want to trap those sensibly
317
317
 
318
318
  if flash[:notice] == flash_notice
319
- logger.error "Cowardly aborting rsolr_request_error exception handling, because we redirected to a page that raises another exception"
319
+ logger&.error "Cowardly aborting rsolr_request_error exception handling, because we redirected to a page that raises another exception"
320
320
  raise exception
321
321
  end
322
322
 
323
- logger.error exception
323
+ logger&.error exception
324
324
 
325
325
  flash[:notice] = flash_notice
326
326
  redirect_to search_action_url
@@ -117,7 +117,7 @@ module Blacklight::SearchContext
117
117
  { prev: documents.first, next: documents.last }
118
118
  end
119
119
  rescue Blacklight::Exceptions::InvalidRequest => e
120
- logger.warn "Unable to setup next and previous documents: #{e}"
120
+ logger&.warn "Unable to setup next and previous documents: #{e}"
121
121
  nil
122
122
  end
123
123
  end
@@ -173,7 +173,7 @@ module Blacklight::RenderPartialsHelperBehavior
173
173
  def find_document_show_template_with_view view_type, base_name, format, locals
174
174
  document_partial_path_templates.each do |str|
175
175
  partial = format(str, action_name: base_name, format: format, index_view_type: view_type)
176
- logger.debug "Looking for document partial #{partial}"
176
+ logger&.debug "Looking for document partial #{partial}"
177
177
  template = lookup_context.find_all(partial, lookup_context.prefixes + [""], true, locals.keys + [:document], {}).first
178
178
  return template if template
179
179
  end
@@ -183,7 +183,7 @@ module Blacklight::RenderPartialsHelperBehavior
183
183
  def find_document_index_template_with_view view_type, locals
184
184
  document_index_path_templates.each do |str|
185
185
  partial = format(str, index_view_type: view_type)
186
- logger.debug "Looking for document index partial #{partial}"
186
+ logger&.debug "Looking for document index partial #{partial}"
187
187
  template = lookup_context.find_all(partial, lookup_context.prefixes + [""], true, locals.keys + [:documents], {}).first
188
188
  return template if template
189
189
  end
@@ -23,7 +23,7 @@ module Blacklight
23
23
  begin
24
24
  ::Date.parse(field)
25
25
  rescue ArgumentError
26
- Rails.logger.info "Unable to parse date: #{field.first.inspect}"
26
+ Rails.logger&.info "Unable to parse date: #{field.first.inspect}"
27
27
  end
28
28
  end
29
29
  end
@@ -151,7 +151,7 @@ module Blacklight
151
151
  repository = repository_class.new(self)
152
152
  repository.reflect_fields
153
153
  rescue => e
154
- Blacklight.logger.warn "Error retrieving field metadata: #{e}"
154
+ Blacklight.logger&.warn "Error retrieving field metadata: #{e}"
155
155
  false
156
156
  end
157
157
 
@@ -41,7 +41,7 @@ module Blacklight::Solr
41
41
  # @return [boolean] true if the repository is reachable
42
42
  def ping
43
43
  response = connection.send_and_receive 'admin/ping', {}
44
- Blacklight.logger.info("Ping [#{connection.uri}] returned: '#{response['status']}'")
44
+ Blacklight.logger&.info("Ping [#{connection.uri}] returned: '#{response['status']}'")
45
45
  response['status'] == "OK"
46
46
  end
47
47
 
@@ -63,8 +63,8 @@ module Blacklight::Solr
63
63
 
64
64
  solr_response = blacklight_config.response_model.new(res, solr_params, document_model: blacklight_config.document_model, blacklight_config: blacklight_config)
65
65
 
66
- Blacklight.logger.debug("Solr query: #{blacklight_config.http_method} #{path} #{solr_params.to_hash.inspect}")
67
- Blacklight.logger.debug("Solr response: #{solr_response.inspect}") if defined?(::BLACKLIGHT_VERBOSE_LOGGING) && ::BLACKLIGHT_VERBOSE_LOGGING
66
+ Blacklight.logger&.debug("Solr query: #{blacklight_config.http_method} #{path} #{solr_params.to_hash.inspect}")
67
+ Blacklight.logger&.debug("Solr response: #{solr_response.inspect}") if defined?(::BLACKLIGHT_VERBOSE_LOGGING) && ::BLACKLIGHT_VERBOSE_LOGGING
68
68
  solr_response
69
69
  end
70
70
  rescue Errno::ECONNREFUSED => e
@@ -93,7 +93,7 @@ class Blacklight::Solr::Response < ActiveSupport::HashWithIndifferentAccess
93
93
  value.each { |v| force_to_utf8(v) }
94
94
  when String
95
95
  if value.encoding != Encoding::UTF_8
96
- Blacklight.logger.warn "Found a non utf-8 value in Blacklight::Solr::Response. \"#{value}\" Encoding is #{value.encoding}"
96
+ Blacklight.logger&.warn "Found a non utf-8 value in Blacklight::Solr::Response. \"#{value}\" Encoding is #{value.encoding}"
97
97
  value.dup.force_encoding('UTF-8')
98
98
  else
99
99
  value
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.13.1
4
+ version: 7.13.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
@@ -17,7 +17,7 @@ authors:
17
17
  autorequire:
18
18
  bindir: exe
19
19
  cert_chain: []
20
- date: 2020-10-30 00:00:00.000000000 Z
20
+ date: 2020-11-07 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails