blacklight 7.10.0 → 7.11.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +56 -7
- data/.rubocop_todo.yml +113 -98
- data/.travis.yml +0 -2
- data/Gemfile +0 -7
- data/README.md +1 -0
- data/VERSION +1 -1
- data/app/assets/javascripts/blacklight/blacklight.js +1 -2
- data/app/components/blacklight/document/bookmark_component.html.erb +16 -0
- data/app/components/blacklight/document/bookmark_component.rb +19 -0
- data/app/components/blacklight/document/citation_component.html.erb +9 -0
- data/app/components/blacklight/document/citation_component.rb +24 -0
- data/app/components/blacklight/document/more_like_this_component.html.erb +12 -0
- data/app/components/blacklight/document/more_like_this_component.rb +21 -0
- data/app/components/blacklight/document_component.html.erb +29 -0
- data/app/components/blacklight/document_component.rb +121 -0
- data/app/components/blacklight/document_metadata_component.html.erb +5 -0
- data/app/components/blacklight/document_metadata_component.rb +21 -0
- data/app/components/blacklight/facet_item_component.rb +6 -6
- data/app/components/blacklight/metadata_field_component.html.erb +8 -0
- data/app/components/blacklight/metadata_field_component.rb +31 -0
- data/app/components/blacklight/metadata_field_layout_component.html.erb +2 -0
- data/app/components/blacklight/metadata_field_layout_component.rb +16 -0
- data/app/components/blacklight/response/facet_group_component.html.erb +25 -0
- data/app/components/blacklight/response/facet_group_component.rb +19 -0
- data/app/components/blacklight/response/pagination_component.html.erb +3 -0
- data/app/components/blacklight/response/pagination_component.rb +17 -0
- data/app/components/blacklight/response/sort_component.html.erb +6 -0
- data/app/components/blacklight/response/sort_component.rb +16 -0
- data/app/components/blacklight/response/spellcheck_component.html.erb +7 -0
- data/app/components/blacklight/response/spellcheck_component.rb +20 -0
- data/app/components/blacklight/search_bar_component.html.erb +29 -0
- data/app/components/blacklight/search_bar_component.rb +45 -0
- data/app/components/blacklight/search_context_component.html.erb +10 -0
- data/app/components/blacklight/search_context_component.rb +30 -0
- data/app/components/blacklight/system/dropdown_component.html.erb +12 -0
- data/app/components/blacklight/system/dropdown_component.rb +42 -0
- data/app/components/blacklight/system/modal_component.html.erb +25 -0
- data/app/components/blacklight/system/modal_component.rb +9 -0
- data/app/controllers/concerns/blacklight/catalog.rb +5 -4
- data/app/controllers/concerns/blacklight/default_component_configuration.rb +2 -2
- data/app/controllers/concerns/blacklight/searchable.rb +11 -0
- data/app/helpers/blacklight/blacklight_helper_behavior.rb +14 -3
- data/app/helpers/blacklight/catalog_helper_behavior.rb +1 -0
- data/app/helpers/blacklight/component_helper_behavior.rb +2 -2
- data/app/helpers/blacklight/configuration_helper_behavior.rb +6 -0
- data/app/helpers/blacklight/facets_helper_behavior.rb +1 -1
- data/app/helpers/blacklight/icon_helper_behavior.rb +2 -2
- data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +7 -10
- data/app/helpers/blacklight/url_helper_behavior.rb +3 -3
- data/app/javascript/blacklight/search_context.js +0 -1
- data/app/models/blacklight/icon.rb +1 -0
- data/app/models/concerns/blacklight/document.rb +1 -0
- data/app/models/record_mailer.rb +1 -1
- data/app/presenters/blacklight/document_presenter.rb +7 -1
- data/app/presenters/blacklight/field_presenter.rb +1 -0
- data/app/presenters/blacklight/rendering/microdata.rb +1 -1
- data/app/services/blacklight/field_retriever.rb +1 -0
- data/app/services/blacklight/search_service.rb +1 -0
- data/app/views/catalog/_bookmark_control.html.erb +1 -36
- data/app/views/catalog/_citation.html.erb +4 -25
- data/app/views/catalog/_did_you_mean.html.erb +1 -5
- data/app/views/catalog/_document.atom.builder +3 -3
- data/app/views/catalog/_document.html.erb +5 -5
- data/app/views/catalog/_facet_group.html.erb +5 -19
- data/app/views/catalog/_index.html.erb +1 -10
- data/app/views/catalog/_paginate_compact.html.erb +6 -6
- data/app/views/catalog/_per_page_widget.html.erb +9 -12
- data/app/views/catalog/_previous_next_doc.html.erb +1 -12
- data/app/views/catalog/_results_pagination.html.erb +1 -3
- data/app/views/catalog/_search_form.html.erb +6 -27
- data/app/views/catalog/_show.html.erb +6 -8
- data/app/views/catalog/_show_main_content.html.erb +19 -13
- data/app/views/catalog/_show_sidebar.html.erb +1 -11
- data/app/views/catalog/_sort_widget.html.erb +5 -12
- data/app/views/catalog/email.html.erb +7 -7
- data/app/views/catalog/email_success.html.erb +5 -12
- data/app/views/catalog/facet.html.erb +14 -17
- data/app/views/catalog/index.atom.builder +0 -1
- data/app/views/catalog/sms.html.erb +7 -7
- data/app/views/catalog/sms_success.html.erb +5 -12
- data/blacklight.gemspec +3 -2
- data/config/i18n-tasks.yml +3 -0
- data/config/locales/blacklight.ar.yml +2 -0
- data/config/locales/blacklight.de.yml +2 -0
- data/config/locales/blacklight.en.yml +2 -0
- data/config/locales/blacklight.es.yml +4 -2
- data/config/locales/blacklight.fr.yml +2 -0
- data/config/locales/blacklight.hu.yml +2 -0
- data/config/locales/blacklight.it.yml +2 -0
- data/config/locales/blacklight.nl.yml +2 -0
- data/config/locales/blacklight.pt-BR.yml +2 -0
- data/config/locales/blacklight.sq.yml +2 -0
- data/config/locales/blacklight.zh.yml +2 -0
- data/lib/blacklight.rb +10 -0
- data/lib/blacklight/configuration.rb +8 -3
- data/lib/blacklight/configuration/fields.rb +5 -7
- data/lib/blacklight/engine.rb +1 -1
- data/lib/blacklight/nested_open_struct_with_hash_access.rb +1 -0
- data/lib/blacklight/search_state.rb +21 -7
- data/lib/blacklight/solr/response.rb +1 -0
- data/lib/blacklight/solr/response/facets.rb +9 -8
- data/lib/generators/blacklight/models_generator.rb +2 -0
- data/lib/generators/blacklight/templates/config/blacklight.yml +1 -0
- data/lib/railties/blacklight.rake +18 -13
- data/package.json +1 -1
- data/spec/components/blacklight/constraint_layout_component_spec.rb +1 -0
- data/spec/components/blacklight/document_component_spec.rb +129 -0
- data/spec/components/blacklight/document_metadata_component_spec.rb +0 -0
- data/spec/components/blacklight/metadata_field_component_spec.rb +41 -0
- data/spec/controllers/blacklight/search_fields_spec.rb +2 -2
- data/spec/controllers/catalog_controller_spec.rb +20 -0
- data/spec/features/search_context_spec.rb +12 -2
- data/spec/features/search_filters_spec.rb +4 -0
- data/spec/features/search_results_spec.rb +1 -0
- data/spec/features/sitelinks_search_box.rb +1 -0
- data/spec/helpers/blacklight/configuration_helper_behavior_spec.rb +3 -0
- data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +1 -0
- data/spec/helpers/blacklight/search_history_constraints_helper_behavior_spec.rb +2 -0
- data/spec/helpers/blacklight/url_helper_behavior_spec.rb +1 -1
- data/spec/helpers/blacklight_helper_spec.rb +14 -1
- data/spec/helpers/catalog_helper_spec.rb +1 -4
- data/spec/lib/blacklight/search_state_spec.rb +32 -0
- data/spec/models/blacklight/configuration_spec.rb +5 -0
- data/spec/models/blacklight/document/cache_key_spec.rb +1 -0
- data/spec/models/blacklight/document/email_spec.rb +2 -0
- data/spec/models/blacklight/document/sms_spec.rb +2 -0
- data/spec/models/blacklight/facet_paginator_spec.rb +3 -0
- data/spec/models/blacklight/icon_spec.rb +6 -0
- data/spec/models/blacklight/solr/document_spec.rb +10 -0
- data/spec/models/blacklight/solr/response/facets_spec.rb +1 -1
- data/spec/models/blacklight/solr/response/group_response_spec.rb +2 -0
- data/spec/models/blacklight/solr/search_builder_spec.rb +10 -0
- data/spec/models/record_mailer_spec.rb +9 -0
- data/spec/models/search_spec.rb +1 -0
- data/spec/presenters/blacklight/show_presenter_spec.rb +8 -0
- data/spec/routing/catalog_routing_spec.rb +4 -0
- data/spec/services/blacklight/search_service_spec.rb +7 -0
- data/spec/spec_helper.rb +1 -1
- data/spec/views/catalog/_document.html.erb_spec.rb +13 -11
- data/spec/views/catalog/_facet_group.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_previous_next_doc.html.erb_spec.rb +4 -0
- data/spec/views/catalog/index.atom.builder_spec.rb +40 -3
- data/spec/views/catalog/show.html.erb_spec.rb +14 -0
- data/tasks/blacklight.rake +7 -7
- metadata +56 -6
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
module Blacklight::ConfigurationHelperBehavior
|
3
|
+
extend Deprecation
|
4
|
+
|
3
5
|
##
|
4
6
|
# Index fields to display for a type of document
|
5
7
|
#
|
@@ -60,6 +62,7 @@ module Blacklight::ConfigurationHelperBehavior
|
|
60
62
|
|
61
63
|
field_config.display_label('index')
|
62
64
|
end
|
65
|
+
deprecation_deprecate :index_field_label
|
63
66
|
|
64
67
|
##
|
65
68
|
# Look up the label for the show field
|
@@ -69,6 +72,7 @@ module Blacklight::ConfigurationHelperBehavior
|
|
69
72
|
|
70
73
|
field_config.display_label('show')
|
71
74
|
end
|
75
|
+
deprecation_deprecate :document_show_field_label
|
72
76
|
|
73
77
|
##
|
74
78
|
# Look up the label for the facet field
|
@@ -183,6 +187,8 @@ module Blacklight::ConfigurationHelperBehavior
|
|
183
187
|
##
|
184
188
|
# The available options for results per page, in the style of #options_for_select
|
185
189
|
def per_page_options_for_select
|
190
|
+
return [] if blacklight_config.per_page.blank?
|
191
|
+
|
186
192
|
blacklight_config.per_page.map do |count|
|
187
193
|
[t(:'blacklight.search.per_page.label', count: count).html_safe, count]
|
188
194
|
end
|
@@ -224,7 +224,7 @@ module Blacklight::FacetsHelperBehavior
|
|
224
224
|
def render_facet_count(num, options = {})
|
225
225
|
deprecated_method(:render_facet_count)
|
226
226
|
classes = (options[:classes] || []) << "facet-count"
|
227
|
-
|
227
|
+
tag.span(t('blacklight.search.facets.count', number: number_with_delimiter(num)), class: classes)
|
228
228
|
end
|
229
229
|
|
230
230
|
##
|
@@ -11,8 +11,8 @@ module Blacklight::IconHelperBehavior
|
|
11
11
|
# @return [String]
|
12
12
|
def blacklight_icon(icon_name, options = {})
|
13
13
|
Rails.cache.fetch([:blacklight_icons, icon_name, options]) do
|
14
|
-
icon = Blacklight::Icon.new(icon_name, options)
|
15
|
-
|
14
|
+
icon = Blacklight::Icon.new(icon_name, **options)
|
15
|
+
tag.span(icon.svg.html_safe, icon.options)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
@@ -35,7 +35,7 @@ module Blacklight::SearchHistoryConstraintsHelperBehavior
|
|
35
35
|
safe_join(value_list.collect do |value|
|
36
36
|
render_filter_value(value, facet_field)
|
37
37
|
end,
|
38
|
-
|
38
|
+
tag.span(" #{t('blacklight.and')} ", class: 'filter-separator')))
|
39
39
|
end, " \n ")
|
40
40
|
end
|
41
41
|
|
@@ -43,9 +43,8 @@ module Blacklight::SearchHistoryConstraintsHelperBehavior
|
|
43
43
|
# 'and'. Pass in option :escape_value => false to pass in pre-rendered
|
44
44
|
# html for value. key with escape_key if needed.
|
45
45
|
def render_search_to_s_element(key, value, _options = {})
|
46
|
-
|
47
|
-
|
48
|
-
class: 'constraint')
|
46
|
+
tag.span(render_filter_name(key) + tag.span(value, class: 'filter-values'),
|
47
|
+
class: 'constraint')
|
49
48
|
end
|
50
49
|
|
51
50
|
##
|
@@ -53,9 +52,8 @@ module Blacklight::SearchHistoryConstraintsHelperBehavior
|
|
53
52
|
def render_filter_name name
|
54
53
|
return "".html_safe if name.blank?
|
55
54
|
|
56
|
-
|
57
|
-
|
58
|
-
class: 'filter-name')
|
55
|
+
tag.span(t('blacklight.search.filters.label', label: name),
|
56
|
+
class: 'filter-name')
|
59
57
|
end
|
60
58
|
|
61
59
|
##
|
@@ -63,8 +61,7 @@ module Blacklight::SearchHistoryConstraintsHelperBehavior
|
|
63
61
|
def render_filter_value value, key = nil
|
64
62
|
display_value = value
|
65
63
|
display_value = facet_display_value(key, value) if key
|
66
|
-
|
67
|
-
|
68
|
-
class: 'filter-value')
|
64
|
+
tag.span(h(display_value),
|
65
|
+
class: 'filter-value')
|
69
66
|
end
|
70
67
|
end
|
@@ -47,7 +47,7 @@ module Blacklight::UrlHelperBehavior
|
|
47
47
|
def link_to_previous_document(previous_document)
|
48
48
|
link_opts = session_tracking_params(previous_document, search_session['counter'].to_i - 1).merge(class: "previous", rel: 'prev')
|
49
49
|
link_to_unless previous_document.nil?, raw(t('views.pagination.previous')), url_for_document(previous_document), link_opts do
|
50
|
-
|
50
|
+
tag.span raw(t('views.pagination.previous')), class: 'previous'
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -56,7 +56,7 @@ module Blacklight::UrlHelperBehavior
|
|
56
56
|
def link_to_next_document(next_document)
|
57
57
|
link_opts = session_tracking_params(next_document, search_session['counter'].to_i + 1).merge(class: "next", rel: 'next')
|
58
58
|
link_to_unless next_document.nil?, raw(t('views.pagination.next')), url_for_document(next_document), link_opts do
|
59
|
-
|
59
|
+
tag.span raw(t('views.pagination.next')), class: 'next'
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
@@ -68,7 +68,7 @@ module Blacklight::UrlHelperBehavior
|
|
68
68
|
# session_tracking_params(SolrDocument.new(id: 123), 7)
|
69
69
|
# => { data: { :'context-href' => '/catalog/123/track?counter=7&search_id=999' } }
|
70
70
|
def session_tracking_params document, counter
|
71
|
-
path = session_tracking_path(document, per_page: params.fetch(:per_page, search_session['per_page']), counter: counter, search_id: current_search_session.try(:id))
|
71
|
+
path = session_tracking_path(document, per_page: params.fetch(:per_page, search_session['per_page']), counter: counter, search_id: current_search_session.try(:id), document_id: document&.id)
|
72
72
|
|
73
73
|
if path.nil?
|
74
74
|
return {}
|
data/app/models/record_mailer.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
# Only works for documents with a #to_marc right now.
|
3
|
-
class RecordMailer <
|
3
|
+
class RecordMailer < ApplicationMailer
|
4
4
|
def email_record(documents, details, url_gen_params)
|
5
5
|
title = begin
|
6
6
|
documents.first.to_semantic_values[:title]
|
@@ -30,6 +30,12 @@ module Blacklight
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
+
def field_presenters
|
34
|
+
return to_enum(:field_presenters) unless block_given?
|
35
|
+
|
36
|
+
fields_to_render.each { |_, _, config| yield config }
|
37
|
+
end
|
38
|
+
|
33
39
|
##
|
34
40
|
# Get the value of the document's "title" field, or a placeholder
|
35
41
|
# value (if empty)
|
@@ -40,7 +46,7 @@ module Blacklight
|
|
40
46
|
|
41
47
|
fields = Array.wrap(view_config.title_field) + [configuration.document_model.unique_key]
|
42
48
|
f = fields.lazy.map { |field| field_config(field) }.detect { |field_config| field_presenter(field_config).any? }
|
43
|
-
field_value(f, except_operations: [Rendering::HelperMethod])
|
49
|
+
f ? field_value(f, except_operations: [Rendering::HelperMethod]) : ""
|
44
50
|
end
|
45
51
|
|
46
52
|
def display_type(base_name = nil, default: nil)
|
@@ -29,6 +29,7 @@ module Blacklight
|
|
29
29
|
end
|
30
30
|
|
31
31
|
attr_reader :view_context, :document, :field_config, :except_operations, :options
|
32
|
+
delegate :key, to: :field_config
|
32
33
|
|
33
34
|
def render
|
34
35
|
Rendering::Pipeline.new(values, field_config, document, view_context, pipeline_steps, options).render
|
@@ -1,36 +1 @@
|
|
1
|
-
|
2
|
-
<%-
|
3
|
-
# Note these two forms are pretty similar but for different :methods, classes, and labels.
|
4
|
-
# but it was simpler to leave them seperate instead of DRYing them, got confusing trying that.
|
5
|
-
# the data-doc-id attribute is used by our JS that converts to a checkbox/label.
|
6
|
-
-%>
|
7
|
-
<% if bookmarked? document %>
|
8
|
-
<%= form_tag(bookmark_path(document),
|
9
|
-
method: :delete,
|
10
|
-
class: "bookmark-toggle",
|
11
|
-
data: {
|
12
|
-
'doc-id' => document.id,
|
13
|
-
present: t('blacklight.search.bookmarks.present'),
|
14
|
-
absent: t('blacklight.search.bookmarks.absent'),
|
15
|
-
inprogress: t('blacklight.search.bookmarks.inprogress')
|
16
|
-
}) do %>
|
17
|
-
<%= submit_tag(t('blacklight.bookmarks.remove.button'),
|
18
|
-
id: "bookmark_toggle_#{document.id.to_s.parameterize}",
|
19
|
-
class: "bookmark-remove btn btn-outline-secondary") %>
|
20
|
-
<% end %>
|
21
|
-
<% else %>
|
22
|
-
<%= form_tag(bookmark_path(document),
|
23
|
-
method: :put,
|
24
|
-
class: 'bookmark-toggle',
|
25
|
-
data: {
|
26
|
-
'doc-id' => document.id,
|
27
|
-
present: t('blacklight.search.bookmarks.present'),
|
28
|
-
absent: t('blacklight.search.bookmarks.absent'),
|
29
|
-
inprogress: t('blacklight.search.bookmarks.inprogress')
|
30
|
-
}) do %>
|
31
|
-
<%= submit_tag(t('blacklight.bookmarks.add.button'),
|
32
|
-
id: "bookmark_toggle_#{document.id.to_s.parameterize}",
|
33
|
-
class: "bookmark-add btn btn-outline-secondary") %>
|
34
|
-
<% end %>
|
35
|
-
<% end %>
|
36
|
-
<% end %>
|
1
|
+
<%= render Blacklight::Document::BookmarkComponent.new(document: document, bookmark_path: bookmark_path(document)) if current_or_guest_user %>
|
@@ -1,26 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
<button type="button" class="blacklight-modal-close close" data-dismiss="modal" aria-label="<%= t('blacklight.modal.close') %>">
|
4
|
-
<span aria-hidden="true">×</span>
|
5
|
-
</button>
|
6
|
-
</div>
|
7
|
-
<div class="modal-body">
|
8
|
-
<% @documents&.each do |document| %>
|
9
|
-
<h1 class="modal-title"><%= document_heading(document) %></h1>
|
1
|
+
<%= render Blacklight::System::ModalComponent.new do |component| %>
|
2
|
+
<% component.with(:title, t('blacklight.tools.citation')) %>
|
10
3
|
|
11
|
-
|
12
|
-
|
13
|
-
<%= document.send(:export_as_mla_citation_txt).html_safe %><br/><br/>
|
14
|
-
<% end %>
|
15
|
-
|
16
|
-
<% if document.respond_to?(:export_as_apa_citation_txt) %>
|
17
|
-
<h2><%= t('blacklight.citation.apa') %></h2>
|
18
|
-
<%= document.send(:export_as_apa_citation_txt).html_safe %><br/><br/>
|
19
|
-
<% end %>
|
20
|
-
|
21
|
-
<% if document.respond_to?(:export_as_chicago_citation_txt) %>
|
22
|
-
<h2><%= t('blacklight.citation.chicago') %></h2>
|
23
|
-
<%= document.send(:export_as_chicago_citation_txt).html_safe %>
|
24
|
-
<% end %>
|
25
|
-
<% end %>
|
26
|
-
</div>
|
4
|
+
<%= render Blacklight::Document::CitationComponent.with_collection(@documents) if @documents.present? %>
|
5
|
+
<% end %>
|
@@ -1,5 +1 @@
|
|
1
|
-
|
2
|
-
<div id="spell">
|
3
|
-
<h3 class="suggest"><em><%= t('blacklight.did_you_mean', :options => safe_join(@response.spelling.words.map { |word| link_to_query(word) }, " #{t('blacklight.or')} ")).html_safe %></em></h3>
|
4
|
-
</div>
|
5
|
-
<% end %>
|
1
|
+
<%= render(Blacklight::Response::SpellcheckComponent.new(response: @response)) %>
|
@@ -19,9 +19,9 @@ xml.entry do
|
|
19
19
|
|
20
20
|
with_format(:html) do
|
21
21
|
xml.summary "type" => "html" do
|
22
|
-
xml.text!
|
23
|
-
|
24
|
-
|
22
|
+
xml.text! render_document_partials(document,
|
23
|
+
blacklight_config.view_config(:atom).summary_partials,
|
24
|
+
document_counter: document_counter)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<% # container for a single doc -%>
|
2
|
-
|
3
|
-
|
4
|
-
blacklight_config.view_config(document_index_view_type).partials,
|
5
|
-
|
6
|
-
|
2
|
+
<%= render (blacklight_config.view_config(document_index_view_type).document_component || Blacklight::DocumentComponent).new(document: document, counter: document_counter_with_offset(document_counter)) do |component| %>
|
3
|
+
<% component.with(blacklight_config.view_config(document_index_view_type).document_component.blank? && blacklight_config.view_config(document_index_view_type).partials.any? ? :body : :partials) do %>
|
4
|
+
<%= render_document_partials document, blacklight_config.view_config(document_index_view_type).partials, component: component, document_counter: document_counter %>
|
5
|
+
<% end %>
|
6
|
+
<% end %>
|
@@ -1,19 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
<h2 class="facets-heading">
|
7
|
-
<%= groupname.blank? ? t('blacklight.search.facets.title') : t("blacklight.search.facets-#{groupname}.title") %>
|
8
|
-
</h2>
|
9
|
-
|
10
|
-
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#facet-panel<%= "-#{groupname}" unless groupname.nil? %>-collapse" aria-controls="facet-panel<%= "-#{groupname}" unless groupname.nil? %>-collapse" aria-expanded="false" aria-label="Toggle facets">
|
11
|
-
<span class="navbar-toggler-icon"></span>
|
12
|
-
</button>
|
13
|
-
</div>
|
14
|
-
|
15
|
-
<div id="facet-panel<%= "-#{groupname}" unless groupname.nil? %>-collapse" class="facets-collapse collapse">
|
16
|
-
<%= render_facet_partials facet_field_names(groupname), response: @response %>
|
17
|
-
</div>
|
18
|
-
</div>
|
19
|
-
<% end %>
|
1
|
+
<%= render Blacklight::Response::FacetGroupComponent.new(
|
2
|
+
response: @response,
|
3
|
+
id: groupname,
|
4
|
+
fields: facet_field_names(groupname),
|
5
|
+
title: groupname.present? ? t("blacklight.search.facets-#{groupname}.title") : t('blacklight.search.facets.title')) %>
|
@@ -1,10 +1 @@
|
|
1
|
-
|
2
|
-
<%# default partial to display solr document fields in catalog index view -%>
|
3
|
-
<dl class="document-metadata dl-invert row">
|
4
|
-
|
5
|
-
<% doc_presenter.fields_to_render.each do |field_name, field, field_presenter| -%>
|
6
|
-
<dt class="blacklight-<%= field_name.parameterize %> col-md-3"><%= render_index_field_label document, label: field_presenter.label, field: field_name %></dt>
|
7
|
-
<dd class="blacklight-<%= field_name.parameterize %> col-md-9"><%= field_presenter.render %></dd>
|
8
|
-
<% end -%>
|
9
|
-
|
10
|
-
</dl>
|
1
|
+
<%= render(Blacklight::DocumentMetadataComponent.new(fields: index_presenter(document).field_presenters)) %>
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
<%= render Blacklight::Response::PaginationComponent.new(
|
2
|
+
response: paginate_compact,
|
3
|
+
theme: :blacklight_compact,
|
4
|
+
page_entries_info: page_entries_info(paginate_compact),
|
5
|
+
html: { aria: {} })
|
6
|
+
%>
|
@@ -1,13 +1,10 @@
|
|
1
|
-
<% if show_sort_and_per_page?
|
2
|
-
<span class="sr-only"><%= t('blacklight.search.per_page.title') %></span>
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
<%- end -%>
|
11
|
-
</div>
|
12
|
-
</div>
|
1
|
+
<% if show_sort_and_per_page? %>
|
2
|
+
<span class="sr-only"><%= t('blacklight.search.per_page.title') %></span>
|
3
|
+
<%= render(Blacklight::System::DropdownComponent.new(
|
4
|
+
param: :per_page,
|
5
|
+
choices: per_page_options_for_select,
|
6
|
+
id: 'per_page-dropdown',
|
7
|
+
search_state: search_state,
|
8
|
+
selected: current_per_page,
|
9
|
+
interpolation: :count)) %>
|
13
10
|
<% end %>
|
@@ -1,12 +1 @@
|
|
1
|
-
|
2
|
-
<div class='pagination-search-widgets'>
|
3
|
-
|
4
|
-
<div class="page-links">
|
5
|
-
<%= link_to_previous_document @search_context[:prev] %> |
|
6
|
-
|
7
|
-
<%= item_page_entry_info %> |
|
8
|
-
|
9
|
-
<%= link_to_next_document @search_context[:next] %>
|
10
|
-
</div>
|
11
|
-
</div>
|
12
|
-
<% end %>
|
1
|
+
<%= render(Blacklight::SearchContextComponent.new(search_context: @search_context, search_session: search_session)) %>
|
@@ -1,9 +1,7 @@
|
|
1
1
|
<% if show_pagination? and @response.total_pages > 1 %>
|
2
2
|
<div class="row record-padding">
|
3
3
|
<div class="col-md-12">
|
4
|
-
|
5
|
-
<%= paginate @response, :outer_window => 2, :theme => 'blacklight' %>
|
6
|
-
</nav>
|
4
|
+
<%= render Blacklight::Response::PaginationComponent.new(response: @response) %>
|
7
5
|
</div>
|
8
6
|
</div>
|
9
7
|
<% end %>
|
@@ -1,27 +1,6 @@
|
|
1
|
-
<%=
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
<% if search_fields.length > 1 %>
|
8
|
-
<%= select_tag(:search_field,
|
9
|
-
options_for_select(search_fields, h(params[:search_field])),
|
10
|
-
title: t('blacklight.search.form.search_field.title'),
|
11
|
-
id: "search_field",
|
12
|
-
class: "custom-select search-field") %>
|
13
|
-
<% elsif search_fields.length == 1 %>
|
14
|
-
<%= hidden_field_tag :search_field, search_fields.first.last %>
|
15
|
-
<% end %>
|
16
|
-
|
17
|
-
<label for="q" class="sr-only"><%= t('blacklight.search.form.search.label') %></label>
|
18
|
-
<%= text_field_tag :q, params[:q], placeholder: t('blacklight.search.form.search.placeholder'), class: "search-q q form-control rounded-#{search_fields.length > 1 ? '0' : 'left'}", id: "q", autocomplete: presenter.autocomplete_enabled? ? "off" : "", autofocus: presenter.autofocus?, data: { autocomplete_enabled: presenter.autocomplete_enabled?, autocomplete_path: search_action_path(action: :suggest) } %>
|
19
|
-
|
20
|
-
<span class="input-group-append">
|
21
|
-
<button type="submit" class="btn btn-primary search-btn" id="search">
|
22
|
-
<span class="submit-search-text"><%= t('blacklight.search.form.submit') %></span>
|
23
|
-
<%= blacklight_icon :search, aria_hidden: true %>
|
24
|
-
</button>
|
25
|
-
</span>
|
26
|
-
</div>
|
27
|
-
<% end %>
|
1
|
+
<%= render(Blacklight::SearchBarComponent.new(
|
2
|
+
url: search_action_url,
|
3
|
+
params: search_state.params_for_search.except(:qt),
|
4
|
+
search_fields: search_fields,
|
5
|
+
presenter: presenter,
|
6
|
+
autocomplete_path: search_action_path(action: :suggest))) %>
|