blacklight 8.8.0 → 9.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.env +3 -3
- data/.github/pull_request_template.md +7 -0
- data/.github/workflows/ruby.yml +16 -19
- data/.rubocop.yml +2 -2
- data/.rubocop_todo.yml +0 -9
- data/README.md +30 -8
- data/VERSION +1 -1
- data/app/assets/builds/blacklight.css +448 -0
- data/app/assets/javascripts/blacklight/blacklight.esm.js +19 -16
- data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -1
- data/app/assets/javascripts/blacklight/blacklight.js +19 -16
- data/app/assets/javascripts/blacklight/blacklight.js.map +1 -1
- data/app/assets/stylesheets/blacklight/_balanced_list.scss +1 -4
- data/app/assets/stylesheets/blacklight/_blacklight_base.scss +1 -3
- data/app/assets/stylesheets/blacklight/_bookmark.scss +44 -41
- data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +7 -26
- data/app/assets/stylesheets/blacklight/_constraints.scss +15 -24
- data/app/assets/stylesheets/blacklight/_controls.scss +2 -18
- data/app/assets/stylesheets/blacklight/_facets.scss +15 -82
- data/app/assets/stylesheets/blacklight/_group.scss +2 -5
- data/app/assets/stylesheets/blacklight/_header.scss +4 -11
- data/app/assets/stylesheets/blacklight/_icons.scss +0 -8
- data/app/assets/stylesheets/blacklight/_modal.scss +2 -2
- data/app/assets/stylesheets/blacklight/_pagination.scss +0 -4
- data/app/assets/stylesheets/blacklight/_search_form.scss +7 -1
- data/app/assets/stylesheets/blacklight/_search_history.scss +0 -4
- data/app/assets/stylesheets/blacklight/_search_results.scss +1 -15
- data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +9 -14
- data/app/assets/stylesheets/blacklight/build.scss +4 -0
- data/app/components/blacklight/advanced_search_form_component.rb +1 -1
- data/app/components/blacklight/constraint_component.rb +1 -1
- data/app/components/blacklight/constraint_layout_component.html.erb +2 -2
- data/app/components/blacklight/constraints_component.html.erb +2 -2
- data/app/components/blacklight/constraints_component.rb +1 -1
- data/app/components/blacklight/document/bookmark_component.html.erb +3 -3
- data/app/components/blacklight/document/group_component.html.erb +1 -1
- data/app/components/blacklight/document/page_header_component.rb +1 -1
- data/app/components/blacklight/document/sidebar_component.rb +5 -5
- data/app/components/blacklight/document_component.rb +9 -13
- data/app/components/blacklight/document_title_component.rb +3 -2
- data/app/components/blacklight/facet_field_component.html.erb +4 -4
- data/app/components/blacklight/facet_field_list_component.rb +4 -22
- data/app/components/blacklight/facet_field_pagination_component.html.erb +4 -4
- data/app/components/blacklight/facet_field_pagination_component.rb +2 -1
- data/app/components/blacklight/facet_item_component.rb +2 -2
- data/app/components/blacklight/facet_item_pivot_component.rb +2 -2
- data/app/components/blacklight/response/facet_group_component.html.erb +3 -18
- data/app/components/blacklight/response/facet_group_component.rb +7 -23
- data/app/components/blacklight/response/facet_toggle_button_component.html.erb +16 -0
- data/app/components/blacklight/response/facet_toggle_button_component.rb +14 -0
- data/app/components/blacklight/response/pagination_component.html.erb +1 -1
- data/app/components/blacklight/response/pagination_component.rb +2 -1
- data/app/components/blacklight/response/sort_component.rb +1 -0
- data/app/components/blacklight/response/view_type_button_component.html.erb +1 -1
- data/app/components/blacklight/response/view_type_component.html.erb +1 -1
- data/app/components/blacklight/search/facet_suggest_input.html.erb +7 -7
- data/app/components/blacklight/search/facet_suggest_input.rb +0 -4
- data/app/components/blacklight/search/per_page_component.html.erb +1 -1
- data/app/components/blacklight/search/per_page_component.rb +1 -0
- data/app/components/blacklight/search/sidebar_component.html.erb +1 -1
- data/app/components/blacklight/search/sidebar_component.rb +1 -1
- data/app/components/blacklight/search_bar_component.html.erb +3 -3
- data/app/components/blacklight/search_bar_component.rb +2 -2
- data/app/components/blacklight/search_button_component.rb +2 -2
- data/app/components/blacklight/search_context/server_applied_params_component.html.erb +2 -2
- data/app/components/blacklight/search_context/server_applied_params_component.rb +9 -0
- data/app/components/blacklight/skip_link_component.html.erb +1 -1
- data/app/components/blacklight/skip_link_component.rb +7 -3
- data/app/components/blacklight/skip_link_item_component.rb +18 -0
- data/app/components/blacklight/top_navbar_component.html.erb +1 -1
- data/app/controllers/concerns/blacklight/catalog.rb +3 -2
- data/app/controllers/concerns/blacklight/search_context.rb +0 -12
- data/app/helpers/blacklight/blacklight_helper_behavior.rb +0 -6
- data/app/helpers/blacklight/catalog_helper_behavior.rb +6 -12
- data/app/helpers/blacklight/configuration_helper_behavior.rb +0 -12
- data/app/helpers/blacklight/document_helper_behavior.rb +0 -26
- data/app/helpers/blacklight/icon_helper_behavior.rb +1 -9
- data/app/helpers/blacklight/layout_helper_behavior.rb +2 -2
- data/app/helpers/blacklight/render_partials_helper_behavior.rb +0 -14
- data/app/helpers/blacklight/url_helper_behavior.rb +1 -1
- data/app/javascript/{blacklight → blacklight-frontend}/bookmark_toggle.js +1 -1
- data/app/javascript/{blacklight → blacklight-frontend}/core.js +2 -10
- data/app/javascript/{blacklight → blacklight-frontend}/debounce.js +1 -1
- data/app/javascript/{blacklight → blacklight-frontend}/facet_suggest.js +4 -4
- data/app/javascript/blacklight-frontend/index.js +18 -0
- data/app/javascript/{blacklight → blacklight-frontend}/modal.js +16 -2
- data/app/models/blacklight/facet_paginator.rb +1 -1
- data/app/models/concerns/blacklight/document.rb +0 -11
- data/app/models/concerns/blacklight/user.rb +1 -1
- data/app/presenters/blacklight/facet_field_presenter.rb +2 -2
- data/app/services/blacklight/search_params_yaml_coder.rb +0 -2
- data/app/views/bookmarks/_clear_bookmarks_widget.html.erb +0 -2
- data/app/views/bookmarks/index.html.erb +1 -1
- data/app/views/catalog/_results_pagination.html.erb +2 -5
- data/app/views/catalog/_search_results.html.erb +4 -4
- data/app/views/catalog/_search_results_header.html.erb +1 -1
- data/app/views/catalog/_sort_and_per_page.html.erb +1 -1
- data/app/views/catalog/_sort_widget.html.erb +1 -0
- data/app/views/catalog/facet.html.erb +1 -1
- data/app/views/catalog/show.html.erb +2 -3
- data/app/views/kaminari/blacklight/_paginator.html.erb +1 -2
- data/app/views/layouts/blacklight/base.html.erb +3 -7
- data/app/views/search_history/index.html.erb +0 -2
- data/blacklight.gemspec +4 -4
- data/compose.yaml +1 -0
- data/config/importmap.rb +1 -1
- data/config/locales/blacklight.ar.yml +4 -4
- data/config/locales/blacklight.ca.yml +124 -124
- data/config/locales/blacklight.de.yml +2 -2
- data/config/locales/blacklight.en.yml +14 -14
- data/config/locales/blacklight.es.yml +4 -4
- data/config/locales/blacklight.fr.yml +4 -4
- data/config/locales/blacklight.hu.yml +4 -4
- data/config/locales/blacklight.it.yml +3 -3
- data/config/locales/blacklight.nl.yml +3 -3
- data/config/locales/blacklight.pt-BR.yml +3 -3
- data/config/locales/blacklight.sq.yml +4 -4
- data/config/locales/blacklight.zh.yml +4 -4
- data/lib/blacklight/configuration/display_field.rb +1 -1
- data/lib/blacklight/configuration/fields.rb +3 -3
- data/lib/blacklight/configuration/view_config.rb +0 -2
- data/lib/blacklight/configuration.rb +7 -12
- data/lib/blacklight/engine.rb +0 -6
- data/lib/blacklight/open_struct_with_hash_access.rb +4 -4
- data/lib/blacklight/search_builder.rb +4 -4
- data/lib/blacklight/solr/request.rb +1 -7
- data/lib/blacklight/solr/response/group_response.rb +2 -2
- data/lib/blacklight.rb +1 -1
- data/lib/generators/blacklight/assets/importmap_generator.rb +8 -24
- data/lib/generators/blacklight/assets/propshaft_generator.rb +1 -1
- data/lib/generators/blacklight/assets_generator.rb +3 -3
- data/lib/generators/blacklight/controller_generator.rb +3 -3
- data/lib/generators/blacklight/templates/solr/conf/solrconfig.xml +1 -1
- data/lib/generators/blacklight/user_generator.rb +9 -10
- data/package.json +14 -4
- data/rollup.config.js +1 -1
- data/spec/components/blacklight/document/action_component_spec.rb +1 -5
- data/spec/components/blacklight/document/sidebar_component_spec.rb +5 -20
- data/spec/components/blacklight/facet_field_checkboxes_component_spec.rb +2 -2
- data/spec/components/blacklight/facet_field_list_component_spec.rb +2 -2
- data/spec/components/blacklight/search/facet_suggest_input_spec.rb +2 -18
- data/spec/components/blacklight/search_bar_component_spec.rb +1 -1
- data/spec/features/axe_spec.rb +6 -11
- data/spec/features/bookmarks_spec.rb +48 -11
- data/spec/features/facets_spec.rb +25 -14
- data/spec/features/search_context_spec.rb +1 -2
- data/spec/features/search_filters_spec.rb +6 -6
- data/spec/helpers/blacklight/configuration_helper_behavior_spec.rb +0 -9
- data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +1 -1
- data/spec/helpers/catalog_helper_spec.rb +8 -0
- data/spec/models/blacklight/solr/request_spec.rb +7 -0
- data/spec/test_app_templates/Gemfile.extra +0 -1
- data/spec/views/catalog/_facet_layout.html.erb_spec.rb +3 -3
- data/spec/views/catalog/index.html.erb_spec.rb +6 -3
- data/spec/views/catalog/show.html.erb_spec.rb +1 -0
- data/tasks/blacklight.rake +8 -5
- metadata +30 -57
- data/app/assets/stylesheets/blacklight/_autocomplete.scss +0 -25
- data/app/assets/stylesheets/blacklight/_mixins.scss +0 -20
- data/app/components/blacklight/icons/legacy_icon_component.rb +0 -30
- data/app/javascript/blacklight/index.js +0 -18
- data/app/views/catalog/_constraints.html.erb +0 -1
- data/app/views/catalog/_facets.html.erb +0 -5
- data/app/views/catalog/_search_form.html.erb +0 -7
- data/app/views/catalog/_search_header.html.erb +0 -1
- data/app/views/catalog/_show_sidebar.html.erb +0 -3
- data/app/views/catalog/_show_tools.html.erb +0 -2
- data/app/views/catalog/_start_over.html.erb +0 -1
- data/app/views/shared/_header_navbar.html.erb +0 -1
- data/lib/generators/blacklight/assets/sprockets_generator.rb +0 -68
- data/spec/views/catalog/_search_header.erb_spec.rb +0 -14
- data/spec/views/catalog/_show_sidebar.erb_spec.rb +0 -24
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +0 -37
- /data/app/javascript/{blacklight → blacklight-frontend}/button_focus.js +0 -0
- /data/app/javascript/{blacklight → blacklight-frontend}/checkbox_submit.js +0 -0
- /data/app/javascript/{blacklight → blacklight-frontend}/modalForm.js +0 -0
- /data/app/javascript/{blacklight → blacklight-frontend}/search_context.js +0 -0
@@ -1,6 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
RSpec.describe "Bookmarks" do
|
4
|
+
before do
|
5
|
+
# Prevent any existing bookmarks from interfering
|
6
|
+
Bookmark.delete_all
|
7
|
+
end
|
8
|
+
|
4
9
|
describe "navigating from the homepage" do
|
5
10
|
it "has a link to the history page" do
|
6
11
|
sign_in 'user1'
|
@@ -40,13 +45,25 @@ RSpec.describe "Bookmarks" do
|
|
40
45
|
expect(page).to have_content 'Successfully removed bookmark.'
|
41
46
|
end
|
42
47
|
|
43
|
-
|
44
|
-
|
45
|
-
check 'Bookmark'
|
48
|
+
context 'when bookmark_icon_component is set to nil' do
|
49
|
+
let!(:default_bookmark_icon_component) { CatalogController.blacklight_config.bookmark_icon_component }
|
46
50
|
|
47
|
-
|
48
|
-
|
49
|
-
|
51
|
+
before do
|
52
|
+
CatalogController.blacklight_config.bookmark_icon_component = nil
|
53
|
+
end
|
54
|
+
|
55
|
+
after do
|
56
|
+
CatalogController.blacklight_config.bookmark_icon_component = default_bookmark_icon_component
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'shows bookmarks as checkboxes', :js do
|
60
|
+
visit solr_document_path('2007020969')
|
61
|
+
check 'Bookmark'
|
62
|
+
|
63
|
+
visit solr_document_path('2007020969')
|
64
|
+
expect(page).to have_css('input[type="checkbox"][checked]')
|
65
|
+
uncheck 'In Bookmarks'
|
66
|
+
end
|
50
67
|
end
|
51
68
|
|
52
69
|
it "adds bookmarks after a user logs in" do
|
@@ -82,17 +99,37 @@ RSpec.describe "Bookmarks" do
|
|
82
99
|
expect(page).to have_content 'Ci an zhou bian'
|
83
100
|
end
|
84
101
|
|
85
|
-
context "
|
102
|
+
context "when the bookmark icon is configured (default)" do
|
103
|
+
it 'shows bookmark icon', :js do
|
104
|
+
visit solr_document_path('2007020969')
|
105
|
+
expect(page).to have_css('.blacklight-icons-bookmark')
|
106
|
+
find('.blacklight-icons-bookmark').click
|
107
|
+
|
108
|
+
expect(find('.toggle-bookmark-input', visible: false)).to be_checked
|
109
|
+
find('.blacklight-icons-bookmark').click
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
context "without bookmark navbar element" do
|
114
|
+
let!(:default_nav_partials) { CatalogController.blacklight_config.navbar.partials }
|
115
|
+
|
86
116
|
before do
|
87
|
-
CatalogController.blacklight_config.
|
117
|
+
CatalogController.blacklight_config.navbar.partials = CatalogController.blacklight_config.navbar.partials.except(:bookmark)
|
118
|
+
end
|
119
|
+
|
120
|
+
after do
|
121
|
+
CatalogController.blacklight_config.navbar.partials = default_nav_partials
|
88
122
|
end
|
89
123
|
|
90
|
-
it '
|
124
|
+
it 'adds and removes bookmarks', :js do
|
91
125
|
visit solr_document_path('2007020969')
|
92
|
-
expect(page).to
|
126
|
+
expect(page).to have_no_css('#bookmarks_nav')
|
93
127
|
find('.blacklight-icons-bookmark').click
|
94
128
|
|
95
|
-
expect(
|
129
|
+
expect(page).to have_content 'In Bookmarks'
|
130
|
+
|
131
|
+
visit solr_document_path('2007020969')
|
132
|
+
expect(find('.toggle-bookmark-input', visible: false)).to be_checked
|
96
133
|
find('.blacklight-icons-bookmark').click
|
97
134
|
end
|
98
135
|
end
|
@@ -100,23 +100,34 @@ RSpec.describe "Facets" do
|
|
100
100
|
end
|
101
101
|
|
102
102
|
describe 'Facet modal' do
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
103
|
+
it 'allows the user to filter a long list of facet values', :js do
|
104
|
+
visit '/catalog/facet/subject_ssim'
|
105
|
+
expect(page).to have_no_link 'Old age' # This is on the second page of facet values
|
106
|
+
expect(page).to have_css 'a.facet-select', count: 20
|
107
|
+
|
108
|
+
fill_in 'facet_suggest_subject_ssim', with: "ag"
|
109
109
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
expect(page).to have_css 'a.facet-select', count: 20
|
110
|
+
expect(page).to have_link 'Old age'
|
111
|
+
expect(page).to have_css 'a.facet-select', count: 2
|
112
|
+
end
|
114
113
|
|
115
|
-
|
114
|
+
it 'shows the user facet suggestions that are relevant to their q param', :js do
|
115
|
+
visit '/catalog/facet/subject_ssim?q=tibet&search_field=all_fields'
|
116
|
+
fill_in 'facet_suggest_subject_ssim', with: 'la'
|
116
117
|
|
117
|
-
|
118
|
-
|
119
|
-
|
118
|
+
expect(page).to have_link 'Tibetan language'
|
119
|
+
expect(page).to have_css 'a.facet-select', count: 1
|
120
|
+
end
|
121
|
+
|
122
|
+
it 'allows the user to filter more than once', :js do
|
123
|
+
visit '/catalog/facet/subject_ssim'
|
124
|
+
expect(page).to have_no_link 'Old age' # This is on the second page of facet values
|
125
|
+
expect(page).to have_css 'a.facet-select', count: 20
|
126
|
+
|
127
|
+
fill_in 'facet_suggest_subject_ssim', with: "ag"
|
128
|
+
|
129
|
+
expect(page).to have_link 'Old age'
|
130
|
+
expect(page).to have_link('Old age', href: '/?f%5Bsubject_ssim%5D%5B%5D=Old+age')
|
120
131
|
end
|
121
132
|
end
|
122
133
|
end
|
@@ -47,10 +47,9 @@ RSpec.describe "Search Results context" do
|
|
47
47
|
search_for ''
|
48
48
|
expect(page).to have_content "1 - 10"
|
49
49
|
find_all('.index_title a').last.click
|
50
|
-
expect(page).to have_css "h1", text: "Pluvial nectar"
|
51
50
|
click_on "Next »"
|
52
51
|
|
53
|
-
expect(page).to
|
52
|
+
expect(page).to have_content "Naqdī barā-yi tamām-i"
|
54
53
|
click_on "Back to Search"
|
55
54
|
expect(page).to have_content "11 - 20"
|
56
55
|
end
|
@@ -171,7 +171,7 @@ RSpec.describe "Facets" do
|
|
171
171
|
visit root_path
|
172
172
|
|
173
173
|
within(".blacklight-subject_ssim") do
|
174
|
-
expect(page).to have_no_css(".
|
174
|
+
expect(page).to have_no_css(".accordion-body", visible: true)
|
175
175
|
end
|
176
176
|
end
|
177
177
|
|
@@ -179,9 +179,9 @@ RSpec.describe "Facets" do
|
|
179
179
|
visit root_path
|
180
180
|
|
181
181
|
within(".blacklight-subject_ssim") do
|
182
|
-
expect(page).to have_no_css(".
|
182
|
+
expect(page).to have_no_css(".accordion-body", visible: true)
|
183
183
|
click_on 'Topic'
|
184
|
-
expect(page).to have_css(".
|
184
|
+
expect(page).to have_css(".accordion-body", visible: true)
|
185
185
|
end
|
186
186
|
end
|
187
187
|
|
@@ -189,9 +189,9 @@ RSpec.describe "Facets" do
|
|
189
189
|
visit root_path
|
190
190
|
|
191
191
|
within(".blacklight-subject_ssim") do
|
192
|
-
expect(page).to have_no_css(".
|
193
|
-
find(".
|
194
|
-
expect(page).to have_css(".
|
192
|
+
expect(page).to have_no_css(".accordion-body", visible: true)
|
193
|
+
find(".accordion-header").click
|
194
|
+
expect(page).to have_css(".accordion-body", visible: true)
|
195
195
|
end
|
196
196
|
end
|
197
197
|
|
@@ -93,15 +93,6 @@ RSpec.describe Blacklight::ConfigurationHelperBehavior do
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
-
describe "#per_page_options_for_select" do
|
97
|
-
it "is the per-page values formatted as options_for_select" do
|
98
|
-
allow(helper).to receive_messages(blacklight_config: double(per_page: [11, 22, 33]))
|
99
|
-
expect(helper.per_page_options_for_select).to include ["11<span class=\"sr-only visually-hidden\"> per page</span>", 11]
|
100
|
-
expect(helper.per_page_options_for_select).to include ["22<span class=\"sr-only visually-hidden\"> per page</span>", 22]
|
101
|
-
expect(helper.per_page_options_for_select).to include ["33<span class=\"sr-only visually-hidden\"> per page</span>", 33]
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
96
|
describe "#should_render_field?" do
|
106
97
|
let(:field_config) { double('field config', if: true, unless: false) }
|
107
98
|
|
@@ -261,6 +261,14 @@ RSpec.describe CatalogHelper do
|
|
261
261
|
it "renders a facet with more than two values" do
|
262
262
|
expect(helper.render_search_to_page_title_filter('foo', %w[bar baz foobar])).to eq "Foo: 3 selected"
|
263
263
|
end
|
264
|
+
|
265
|
+
it "strips tags from html_safe values" do
|
266
|
+
expect(helper.render_search_to_page_title_filter('Year', ['<span class="from" data-blrl-begin="1990">1990</span> to <span class="to" data-blrl-end="1999">1999</span>'.html_safe])).to eq "Year: 1990 to 1999"
|
267
|
+
end
|
268
|
+
|
269
|
+
it "does not strip tags from non-html_safe values" do
|
270
|
+
expect(helper.render_search_to_page_title_filter('Folder', ['Some > Nested > <span>Hierarchy</span>'])).to eq "Folder: Some > Nested > <span>Hierarchy</span>"
|
271
|
+
end
|
264
272
|
end
|
265
273
|
|
266
274
|
describe "#render_search_to_page_title" do
|
@@ -64,5 +64,12 @@ RSpec.describe Blacklight::Solr::Request, :api do
|
|
64
64
|
|
65
65
|
expect(subject.dig('json', 'query', 'bool', 'must')).to contain_exactly('some query', 'also required')
|
66
66
|
end
|
67
|
+
|
68
|
+
it 'filters out empty query' do
|
69
|
+
subject['q'] = ""
|
70
|
+
subject.append_boolean_query :must, 'present query'
|
71
|
+
|
72
|
+
expect(subject.dig('json', 'query', 'bool', 'must')).to contain_exactly('present query')
|
73
|
+
end
|
67
74
|
end
|
68
75
|
end
|
@@ -28,14 +28,14 @@ RSpec.describe "catalog/facet_layout" do
|
|
28
28
|
it "is collapsable" do
|
29
29
|
render partial: 'catalog/facet_layout', locals: { facet_field: facet_field }
|
30
30
|
expect(rendered).to have_css 'button.collapsed[data-toggle="collapse"][data-bs-toggle="collapse"][aria-expanded="false"]'
|
31
|
-
expect(rendered).to have_css '.collapse .
|
31
|
+
expect(rendered).to have_css '.collapse .accordion-body'
|
32
32
|
end
|
33
33
|
|
34
34
|
it "is configured to be open by default" do
|
35
35
|
allow(facet_field).to receive_messages(collapse: false)
|
36
36
|
render partial: 'catalog/facet_layout', locals: { facet_field: facet_field }
|
37
37
|
expect(rendered).to have_css 'button[data-toggle="collapse"][data-bs-toggle="collapse"][aria-expanded="true"]'
|
38
|
-
expect(rendered).to have_no_css '.
|
39
|
-
expect(rendered).to have_css '.collapse.show .
|
38
|
+
expect(rendered).to have_no_css '.accordion-header.collapsed'
|
39
|
+
expect(rendered).to have_css '.collapse.show .accordion-body'
|
40
40
|
end
|
41
41
|
end
|
@@ -19,14 +19,17 @@ RSpec.describe "catalog/index.html.erb" do
|
|
19
19
|
describe "with search parameters" do
|
20
20
|
before do
|
21
21
|
stub_template "catalog/_results_pagination.html.erb" => ""
|
22
|
-
stub_template "catalog/_search_header.html.erb" => "header_content"
|
23
22
|
allow(view).to receive_messages(has_search_parameters?: true, blacklight_config: Blacklight::Configuration.new)
|
24
|
-
|
23
|
+
allow(controller).to receive_messages(blacklight_config: Blacklight::Configuration.new)
|
24
|
+
|
25
|
+
@response = response
|
25
26
|
end
|
26
27
|
|
28
|
+
let(:response) { Blacklight::Solr::Response.new({ response: { numFound: 30 } }, start: 10, rows: 10) }
|
29
|
+
|
27
30
|
it "renders the search_header partial" do
|
28
31
|
render
|
29
|
-
expect(rendered).to match /
|
32
|
+
expect(rendered).to match /sortAndPerPage/
|
30
33
|
end
|
31
34
|
end
|
32
35
|
end
|
@@ -7,6 +7,7 @@ RSpec.describe "catalog/show.html.erb" do
|
|
7
7
|
|
8
8
|
before do
|
9
9
|
allow(presenter).to receive(:html_title).and_return('Heading')
|
10
|
+
allow(document).to receive(:more_like_this).and_return([])
|
10
11
|
allow(view).to receive_messages(has_user_authentication_provider?: false)
|
11
12
|
allow(view).to receive_messages(render_document_sidebar_partial: "Sidebar")
|
12
13
|
allow(view).to receive_messages(current_search_session: nil, search_session: {})
|
data/tasks/blacklight.rake
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'engine_cart/rake_task'
|
4
4
|
|
5
5
|
require 'rspec/core/rake_task'
|
6
|
-
RSpec::Core::RakeTask.new(:
|
6
|
+
RSpec::Core::RakeTask.new(spec: 'blacklight:build_host_assets') do |t|
|
7
7
|
t.pattern = 'spec/**/*_spec.rb'
|
8
8
|
end
|
9
9
|
|
@@ -46,15 +46,18 @@ desc "Run test suite"
|
|
46
46
|
task ci: ['build:npm'] do
|
47
47
|
with_solr do
|
48
48
|
Rake::Task['blacklight:internal:seed'].invoke
|
49
|
-
within_test_app do
|
50
|
-
# Precompiles the assets
|
51
|
-
system "bin/rake spec:prepare"
|
52
|
-
end
|
53
49
|
Rake::Task['blacklight:coverage'].invoke
|
54
50
|
end
|
55
51
|
end
|
56
52
|
|
57
53
|
namespace :blacklight do
|
54
|
+
task :build_host_assets do
|
55
|
+
within_test_app do
|
56
|
+
# Precompiles the assets
|
57
|
+
`bin/rails spec:prepare`
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
58
61
|
desc "Run tests with coverage"
|
59
62
|
task :coverage do
|
60
63
|
ENV['COVERAGE'] = 'true'
|
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:
|
4
|
+
version: 9.0.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Rochkind
|
@@ -14,10 +14,9 @@ authors:
|
|
14
14
|
- Dan Funk
|
15
15
|
- Naomi Dushay
|
16
16
|
- Justin Coyne
|
17
|
-
autorequire:
|
18
17
|
bindir: exe
|
19
18
|
cert_chain: []
|
20
|
-
date: 2025-
|
19
|
+
date: 2025-02-06 00:00:00.000000000 Z
|
21
20
|
dependencies:
|
22
21
|
- !ruby/object:Gem::Dependency
|
23
22
|
name: rails
|
@@ -25,7 +24,7 @@ dependencies:
|
|
25
24
|
requirements:
|
26
25
|
- - ">="
|
27
26
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
27
|
+
version: '7.0'
|
29
28
|
- - "<"
|
30
29
|
- !ruby/object:Gem::Version
|
31
30
|
version: '9'
|
@@ -35,7 +34,7 @@ dependencies:
|
|
35
34
|
requirements:
|
36
35
|
- - ">="
|
37
36
|
- !ruby/object:Gem::Version
|
38
|
-
version: '
|
37
|
+
version: '7.0'
|
39
38
|
- - "<"
|
40
39
|
- !ruby/object:Gem::Version
|
41
40
|
version: '9'
|
@@ -113,22 +112,16 @@ dependencies:
|
|
113
112
|
name: view_component
|
114
113
|
requirement: !ruby/object:Gem::Requirement
|
115
114
|
requirements:
|
116
|
-
- - "
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '2.74'
|
119
|
-
- - "<"
|
115
|
+
- - "~>"
|
120
116
|
- !ruby/object:Gem::Version
|
121
|
-
version: '
|
117
|
+
version: '3.9'
|
122
118
|
type: :runtime
|
123
119
|
prerelease: false
|
124
120
|
version_requirements: !ruby/object:Gem::Requirement
|
125
121
|
requirements:
|
126
|
-
- - "
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
version: '2.74'
|
129
|
-
- - "<"
|
122
|
+
- - "~>"
|
130
123
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
124
|
+
version: '3.9'
|
132
125
|
- !ruby/object:Gem::Dependency
|
133
126
|
name: zeitwerk
|
134
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -167,22 +160,16 @@ dependencies:
|
|
167
160
|
name: rspec-rails
|
168
161
|
requirement: !ruby/object:Gem::Requirement
|
169
162
|
requirements:
|
170
|
-
- - "
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: '6.1'
|
173
|
-
- - "<"
|
163
|
+
- - "~>"
|
174
164
|
- !ruby/object:Gem::Version
|
175
|
-
version: '
|
165
|
+
version: '7.0'
|
176
166
|
type: :development
|
177
167
|
prerelease: false
|
178
168
|
version_requirements: !ruby/object:Gem::Requirement
|
179
169
|
requirements:
|
180
|
-
- - "
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
version: '6.1'
|
183
|
-
- - "<"
|
170
|
+
- - "~>"
|
184
171
|
- !ruby/object:Gem::Version
|
185
|
-
version: '
|
172
|
+
version: '7.0'
|
186
173
|
- !ruby/object:Gem::Dependency
|
187
174
|
name: rspec-collection_matchers
|
188
175
|
requirement: !ruby/object:Gem::Requirement
|
@@ -422,6 +409,7 @@ files:
|
|
422
409
|
- ".docker/app/entrypoint.sh"
|
423
410
|
- ".dockerignore"
|
424
411
|
- ".env"
|
412
|
+
- ".github/pull_request_template.md"
|
425
413
|
- ".github/workflows/ruby.yml"
|
426
414
|
- ".gitignore"
|
427
415
|
- ".hound.yml"
|
@@ -437,6 +425,7 @@ files:
|
|
437
425
|
- README.md
|
438
426
|
- Rakefile
|
439
427
|
- VERSION
|
428
|
+
- app/assets/builds/blacklight.css
|
440
429
|
- app/assets/config/blacklight/manifest.js
|
441
430
|
- app/assets/images/blacklight/logo.png
|
442
431
|
- app/assets/images/favicon.ico
|
@@ -444,7 +433,6 @@ files:
|
|
444
433
|
- app/assets/javascripts/blacklight/blacklight.esm.js.map
|
445
434
|
- app/assets/javascripts/blacklight/blacklight.js
|
446
435
|
- app/assets/javascripts/blacklight/blacklight.js.map
|
447
|
-
- app/assets/stylesheets/blacklight/_autocomplete.scss
|
448
436
|
- app/assets/stylesheets/blacklight/_balanced_list.scss
|
449
437
|
- app/assets/stylesheets/blacklight/_blacklight_base.scss
|
450
438
|
- app/assets/stylesheets/blacklight/_bookmark.scss
|
@@ -456,7 +444,6 @@ files:
|
|
456
444
|
- app/assets/stylesheets/blacklight/_header.scss
|
457
445
|
- app/assets/stylesheets/blacklight/_icons.scss
|
458
446
|
- app/assets/stylesheets/blacklight/_layout.scss
|
459
|
-
- app/assets/stylesheets/blacklight/_mixins.scss
|
460
447
|
- app/assets/stylesheets/blacklight/_modal.scss
|
461
448
|
- app/assets/stylesheets/blacklight/_pagination.scss
|
462
449
|
- app/assets/stylesheets/blacklight/_search_form.scss
|
@@ -464,6 +451,7 @@ files:
|
|
464
451
|
- app/assets/stylesheets/blacklight/_search_results.scss
|
465
452
|
- app/assets/stylesheets/blacklight/blacklight.scss
|
466
453
|
- app/assets/stylesheets/blacklight/blacklight_defaults.scss
|
454
|
+
- app/assets/stylesheets/blacklight/build.scss
|
467
455
|
- app/builders/blacklight/action_builder.rb
|
468
456
|
- app/components/blacklight/advanced_search_form_component.html.erb
|
469
457
|
- app/components/blacklight/advanced_search_form_component.rb
|
@@ -520,7 +508,6 @@ files:
|
|
520
508
|
- app/components/blacklight/hidden_search_state_component.rb
|
521
509
|
- app/components/blacklight/icons/bookmark_icon_component.rb
|
522
510
|
- app/components/blacklight/icons/icon_component.rb
|
523
|
-
- app/components/blacklight/icons/legacy_icon_component.rb
|
524
511
|
- app/components/blacklight/icons/list_component.rb
|
525
512
|
- app/components/blacklight/icons/remove_component.rb
|
526
513
|
- app/components/blacklight/icons/search_component.rb
|
@@ -531,6 +518,8 @@ files:
|
|
531
518
|
- app/components/blacklight/metadata_field_plain_text_layout_component.rb
|
532
519
|
- app/components/blacklight/response/facet_group_component.html.erb
|
533
520
|
- app/components/blacklight/response/facet_group_component.rb
|
521
|
+
- app/components/blacklight/response/facet_toggle_button_component.html.erb
|
522
|
+
- app/components/blacklight/response/facet_toggle_button_component.rb
|
534
523
|
- app/components/blacklight/response/pagination_component.html.erb
|
535
524
|
- app/components/blacklight/response/pagination_component.rb
|
536
525
|
- app/components/blacklight/response/sort_component.html.erb
|
@@ -561,6 +550,7 @@ files:
|
|
561
550
|
- app/components/blacklight/search_navbar_component.rb
|
562
551
|
- app/components/blacklight/skip_link_component.html.erb
|
563
552
|
- app/components/blacklight/skip_link_component.rb
|
553
|
+
- app/components/blacklight/skip_link_item_component.rb
|
564
554
|
- app/components/blacklight/start_over_button_component.rb
|
565
555
|
- app/components/blacklight/system/dropdown_button_component.rb
|
566
556
|
- app/components/blacklight/system/dropdown_component.html.erb
|
@@ -593,16 +583,16 @@ files:
|
|
593
583
|
- app/helpers/blacklight/url_helper_behavior.rb
|
594
584
|
- app/helpers/blacklight_helper.rb
|
595
585
|
- app/helpers/catalog_helper.rb
|
596
|
-
- app/javascript/blacklight/bookmark_toggle.js
|
597
|
-
- app/javascript/blacklight/button_focus.js
|
598
|
-
- app/javascript/blacklight/checkbox_submit.js
|
599
|
-
- app/javascript/blacklight/core.js
|
600
|
-
- app/javascript/blacklight/debounce.js
|
601
|
-
- app/javascript/blacklight/facet_suggest.js
|
602
|
-
- app/javascript/blacklight/index.js
|
603
|
-
- app/javascript/blacklight/modal.js
|
604
|
-
- app/javascript/blacklight/modalForm.js
|
605
|
-
- app/javascript/blacklight/search_context.js
|
586
|
+
- app/javascript/blacklight-frontend/bookmark_toggle.js
|
587
|
+
- app/javascript/blacklight-frontend/button_focus.js
|
588
|
+
- app/javascript/blacklight-frontend/checkbox_submit.js
|
589
|
+
- app/javascript/blacklight-frontend/core.js
|
590
|
+
- app/javascript/blacklight-frontend/debounce.js
|
591
|
+
- app/javascript/blacklight-frontend/facet_suggest.js
|
592
|
+
- app/javascript/blacklight-frontend/index.js
|
593
|
+
- app/javascript/blacklight-frontend/modal.js
|
594
|
+
- app/javascript/blacklight-frontend/modalForm.js
|
595
|
+
- app/javascript/blacklight-frontend/search_context.js
|
606
596
|
- app/models/blacklight/facet_paginator.rb
|
607
597
|
- app/models/blacklight/icon.rb
|
608
598
|
- app/models/blacklight/suggest_search.rb
|
@@ -659,7 +649,6 @@ files:
|
|
659
649
|
- app/views/catalog/_advanced_search_help.html.erb
|
660
650
|
- app/views/catalog/_bookmark_control.html.erb
|
661
651
|
- app/views/catalog/_citation.html.erb
|
662
|
-
- app/views/catalog/_constraints.html.erb
|
663
652
|
- app/views/catalog/_did_you_mean.html.erb
|
664
653
|
- app/views/catalog/_document.atom.builder
|
665
654
|
- app/views/catalog/_document.html.erb
|
@@ -670,7 +659,6 @@ files:
|
|
670
659
|
- app/views/catalog/_facet_layout.html.erb
|
671
660
|
- app/views/catalog/_facet_pagination.html.erb
|
672
661
|
- app/views/catalog/_facet_pivot.html.erb
|
673
|
-
- app/views/catalog/_facets.html.erb
|
674
662
|
- app/views/catalog/_field.json.jbuilder
|
675
663
|
- app/views/catalog/_group.html.erb
|
676
664
|
- app/views/catalog/_home.html.erb
|
@@ -679,19 +667,14 @@ files:
|
|
679
667
|
- app/views/catalog/_paginate_compact.html.erb
|
680
668
|
- app/views/catalog/_per_page_widget.html.erb
|
681
669
|
- app/views/catalog/_results_pagination.html.erb
|
682
|
-
- app/views/catalog/_search_form.html.erb
|
683
|
-
- app/views/catalog/_search_header.html.erb
|
684
670
|
- app/views/catalog/_search_results.html.erb
|
685
671
|
- app/views/catalog/_search_results_header.html.erb
|
686
672
|
- app/views/catalog/_search_sidebar.html.erb
|
687
673
|
- app/views/catalog/_show_main_content.html.erb
|
688
674
|
- app/views/catalog/_show_more_like_this.html.erb
|
689
|
-
- app/views/catalog/_show_sidebar.html.erb
|
690
|
-
- app/views/catalog/_show_tools.html.erb
|
691
675
|
- app/views/catalog/_sms_form.html.erb
|
692
676
|
- app/views/catalog/_sort_and_per_page.html.erb
|
693
677
|
- app/views/catalog/_sort_widget.html.erb
|
694
|
-
- app/views/catalog/_start_over.html.erb
|
695
678
|
- app/views/catalog/_view_type_group.html.erb
|
696
679
|
- app/views/catalog/_zero_results.html.erb
|
697
680
|
- app/views/catalog/advanced_search.html.erb
|
@@ -732,7 +715,6 @@ files:
|
|
732
715
|
- app/views/shared/_flash_messages.html.erb
|
733
716
|
- app/views/shared/_flash_msg.html.erb
|
734
717
|
- app/views/shared/_footer.html.erb
|
735
|
-
- app/views/shared/_header_navbar.html.erb
|
736
718
|
- app/views/shared/_modal.html.erb
|
737
719
|
- app/views/shared/_sitelinks_search_box.html.erb
|
738
720
|
- app/views/shared/_user_util_links.html.erb
|
@@ -805,7 +787,6 @@ files:
|
|
805
787
|
- lib/blacklight/version.rb
|
806
788
|
- lib/generators/blacklight/assets/importmap_generator.rb
|
807
789
|
- lib/generators/blacklight/assets/propshaft_generator.rb
|
808
|
-
- lib/generators/blacklight/assets/sprockets_generator.rb
|
809
790
|
- lib/generators/blacklight/assets_generator.rb
|
810
791
|
- lib/generators/blacklight/controller_generator.rb
|
811
792
|
- lib/generators/blacklight/document_generator.rb
|
@@ -983,9 +964,6 @@ files:
|
|
983
964
|
- spec/views/catalog/_facet_index_navigation.html.erb_spec.rb
|
984
965
|
- spec/views/catalog/_facet_layout.html.erb_spec.rb
|
985
966
|
- spec/views/catalog/_paginate_compact.html.erb_spec.rb
|
986
|
-
- spec/views/catalog/_search_header.erb_spec.rb
|
987
|
-
- spec/views/catalog/_show_sidebar.erb_spec.rb
|
988
|
-
- spec/views/catalog/_show_tools.html.erb_spec.rb
|
989
967
|
- spec/views/catalog/_sort_and_per_page.html.erb_spec.rb
|
990
968
|
- spec/views/catalog/_sort_widget.html.erb_spec.rb
|
991
969
|
- spec/views/catalog/_view_type_group.html.erb_spec.rb
|
@@ -1006,7 +984,6 @@ homepage: http://projectblacklight.org/
|
|
1006
984
|
licenses:
|
1007
985
|
- Apache 2.0
|
1008
986
|
metadata: {}
|
1009
|
-
post_install_message:
|
1010
987
|
rdoc_options: []
|
1011
988
|
require_paths:
|
1012
989
|
- lib
|
@@ -1014,15 +991,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1014
991
|
requirements:
|
1015
992
|
- - ">="
|
1016
993
|
- !ruby/object:Gem::Version
|
1017
|
-
version: '
|
994
|
+
version: '3.1'
|
1018
995
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1019
996
|
requirements:
|
1020
997
|
- - ">="
|
1021
998
|
- !ruby/object:Gem::Version
|
1022
999
|
version: '0'
|
1023
1000
|
requirements: []
|
1024
|
-
rubygems_version: 3.
|
1025
|
-
signing_key:
|
1001
|
+
rubygems_version: 3.6.2
|
1026
1002
|
specification_version: 4
|
1027
1003
|
summary: Blacklight provides a discovery interface for any Solr (http://lucene.apache.org/solr)
|
1028
1004
|
index.
|
@@ -1167,9 +1143,6 @@ test_files:
|
|
1167
1143
|
- spec/views/catalog/_facet_index_navigation.html.erb_spec.rb
|
1168
1144
|
- spec/views/catalog/_facet_layout.html.erb_spec.rb
|
1169
1145
|
- spec/views/catalog/_paginate_compact.html.erb_spec.rb
|
1170
|
-
- spec/views/catalog/_search_header.erb_spec.rb
|
1171
|
-
- spec/views/catalog/_show_sidebar.erb_spec.rb
|
1172
|
-
- spec/views/catalog/_show_tools.html.erb_spec.rb
|
1173
1146
|
- spec/views/catalog/_sort_and_per_page.html.erb_spec.rb
|
1174
1147
|
- spec/views/catalog/_sort_widget.html.erb_spec.rb
|
1175
1148
|
- spec/views/catalog/_view_type_group.html.erb_spec.rb
|
@@ -1,25 +0,0 @@
|
|
1
|
-
auto-complete [aria-selected="true"],
|
2
|
-
auto-complete [role="option"]:hover {
|
3
|
-
background-color: $dropdown-link-hover-bg;
|
4
|
-
}
|
5
|
-
auto-complete {
|
6
|
-
position: relative;
|
7
|
-
flex-grow: 3;
|
8
|
-
|
9
|
-
ul {
|
10
|
-
list-style-type: none;
|
11
|
-
position: absolute;
|
12
|
-
background-color: $dropdown-bg;
|
13
|
-
padding-left: 0;
|
14
|
-
border: 1px solid $dropdown-border-color;
|
15
|
-
border-radius: $dropdown-border-radius;
|
16
|
-
}
|
17
|
-
|
18
|
-
[role="option"]{
|
19
|
-
padding: 0.25rem 1.5rem;
|
20
|
-
}
|
21
|
-
}
|
22
|
-
|
23
|
-
.no-js #autocomplete-popup {
|
24
|
-
display: none;
|
25
|
-
}
|
@@ -1,20 +0,0 @@
|
|
1
|
-
// define a visually-hidden class that applies to a given breakpoint and below
|
2
|
-
// https://getbootstrap.com/docs/5.3/helpers/visually-hidden/
|
3
|
-
@if mixin-exists(visually-hidden) {
|
4
|
-
@each $breakpoint in map-keys($grid-breakpoints) {
|
5
|
-
.visually-hidden-#{$breakpoint} {
|
6
|
-
@include media-breakpoint-down($breakpoint) {
|
7
|
-
@include visually-hidden;
|
8
|
-
}
|
9
|
-
}
|
10
|
-
}
|
11
|
-
} @else if mixin-exists(sr-only) {
|
12
|
-
// Bootstrap 4 version
|
13
|
-
@each $breakpoint in map-keys($grid-breakpoints) {
|
14
|
-
.visually-hidden-#{$breakpoint} {
|
15
|
-
@include media-breakpoint-down($breakpoint) {
|
16
|
-
@include sr-only;
|
17
|
-
}
|
18
|
-
}
|
19
|
-
}
|
20
|
-
}
|