blacklight 8.8.2 → 9.0.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.env +3 -3
- data/.github/pull_request_template.md +7 -0
- data/.github/workflows/ruby.yml +1 -9
- 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 +18 -15
- data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -1
- data/app/assets/javascripts/blacklight/blacklight.js +18 -15
- 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 +0 -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_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 +1 -11
- 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 +3 -3
- data/app/javascript/blacklight-frontend/index.js +18 -0
- data/app/javascript/{blacklight → blacklight-frontend}/modal.js +16 -2
- 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/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/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 +21 -29
- 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/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 +29 -53
- 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,18 +0,0 @@
|
|
1
|
-
import BookmarkToggle from 'blacklight/bookmark_toggle'
|
2
|
-
import ButtonFocus from 'blacklight/button_focus'
|
3
|
-
import FacetSuggest from 'blacklight/facet_suggest'
|
4
|
-
import Modal from 'blacklight/modal'
|
5
|
-
import ModalForm from 'blacklight/modalForm'
|
6
|
-
import SearchContext from 'blacklight/search_context'
|
7
|
-
import Core from 'blacklight/core'
|
8
|
-
|
9
|
-
export default {
|
10
|
-
BookmarkToggle,
|
11
|
-
ButtonFocus,
|
12
|
-
FacetSuggest,
|
13
|
-
Modal,
|
14
|
-
ModalForm,
|
15
|
-
SearchContext,
|
16
|
-
Core,
|
17
|
-
onLoad: Core.onLoad
|
18
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= render (blacklight_config&.view_config(document_index_view_type)&.constraints_component || Blacklight::ConstraintsComponent).new(search_state: search_state) %>
|
@@ -1,7 +0,0 @@
|
|
1
|
-
<%= warn "#{__file__} is a deprecated partial." %>
|
2
|
-
<%= render((blacklight_config&.view_config(document_index_view_type)&.search_bar_component || Blacklight::SearchBarComponent).new(
|
3
|
-
url: search_action_url,
|
4
|
-
advanced_search_url: search_action_url(action: 'advanced_search'),
|
5
|
-
params: search_state.params_for_search.except(:qt),
|
6
|
-
presenter: presenter,
|
7
|
-
autocomplete_path: suggest_index_catalog_path)) %>
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= render blacklight_config.view_config(document_index_view_type).search_header_component.new %>
|
@@ -1,3 +0,0 @@
|
|
1
|
-
<% Blacklight.deprecation.warn('The partial catalog/_show_sidebar.html.erb will be removed in Blacklight 9.0. Configure blacklight_config.show.sidebar_component instead (default Blacklight::Search::SidebarComponent).') unless local_assigns[:silence_deprecation] %>
|
2
|
-
<% presenter = document_presenter(document) %>
|
3
|
-
<%= render presenter.view_config.sidebar_component.new(presenter: presenter) %>
|
@@ -1,2 +0,0 @@
|
|
1
|
-
<% Blacklight.deprecation.warn('The partial _show_tools.html.erb will be removed in Blacklight 9.0. Configure blacklight_config.show.show_tools_component instead (default Blacklight::Document::ShowToolsComponent).') unless local_assigns[:silence_deprecation] %>
|
2
|
-
<%= render Blacklight::Document::ShowToolsComponent.new(document: document) %>
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= render Blacklight::StartOverButtonComponent.new %>
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= render blacklight_config.header_component.new(blacklight_config: blacklight_config) %>
|
@@ -1,68 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Blacklight
|
4
|
-
module Assets
|
5
|
-
class SprocketsGenerator < Rails::Generators::Base
|
6
|
-
class_option :'bootstrap-version', type: :string, default: ENV.fetch('BOOTSTRAP_VERSION', '~> 5.3'), desc: "Set the generated app's bootstrap version"
|
7
|
-
|
8
|
-
# This could be skipped if you want to use webpacker
|
9
|
-
def add_javascript_dependencies
|
10
|
-
gem 'bootstrap', options[:'bootstrap-version'].presence
|
11
|
-
gem 'jquery-rails' if bootstrap_4? # Bootstrap 4 has a dependency on jquery
|
12
|
-
end
|
13
|
-
|
14
|
-
##
|
15
|
-
# Remove the empty generated app/assets/images directory. Without doing this,
|
16
|
-
# the default Sprockets 4 manifest will raise an exception.
|
17
|
-
def appease_sprockets4
|
18
|
-
return if Rails.version > '7' || Sprockets::VERSION < '4'
|
19
|
-
|
20
|
-
append_to_file 'app/assets/config/manifest.js', "\n//= link application.js"
|
21
|
-
append_to_file 'app/assets/config/manifest.js', "\n//= link blacklight/manifest.js"
|
22
|
-
empty_directory 'app/assets/images'
|
23
|
-
end
|
24
|
-
|
25
|
-
def assets
|
26
|
-
create_file 'app/assets/stylesheets/blacklight.scss' do
|
27
|
-
<<~CONTENT
|
28
|
-
@import 'bootstrap';
|
29
|
-
@import 'blacklight/blacklight';
|
30
|
-
CONTENT
|
31
|
-
end
|
32
|
-
|
33
|
-
gem "sassc-rails", "~> 2.1" if Rails.version > '7'
|
34
|
-
|
35
|
-
# Ensure this method is idempotent
|
36
|
-
return if has_blacklight_assets?
|
37
|
-
|
38
|
-
create_file 'app/assets/javascripts/application.js' do
|
39
|
-
<<~CONTENT
|
40
|
-
//= require rails-ujs
|
41
|
-
#{'//= require jquery3' if bootstrap_4?}
|
42
|
-
|
43
|
-
// Required by Blacklight
|
44
|
-
//= require popper
|
45
|
-
//= require bootstrap
|
46
|
-
//= require blacklight/blacklight
|
47
|
-
CONTENT
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
private
|
52
|
-
|
53
|
-
def bootstrap_4?
|
54
|
-
options[:'bootstrap-version'].match?(/\A[^0-9]*4\./)
|
55
|
-
end
|
56
|
-
|
57
|
-
def has_blacklight_assets?
|
58
|
-
application_js.include?('blacklight/blacklight')
|
59
|
-
end
|
60
|
-
|
61
|
-
def application_js
|
62
|
-
path = File.expand_path("app/assets/javascripts/application.js", destination_root)
|
63
|
-
|
64
|
-
File.exist?(path) ? File.read(path) : ''
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# spec for sidebar partial in catalog show view
|
4
|
-
|
5
|
-
RSpec.describe "/catalog/_search_header.html.erb" do
|
6
|
-
it "renders the default search header partials" do
|
7
|
-
stub_template "_did_you_mean.html.erb" => "did_you_mean"
|
8
|
-
stub_template "_sort_and_per_page.html.erb" => "sort_and_per_page"
|
9
|
-
allow(view).to receive(:blacklight_config).and_return(CatalogController.blacklight_config)
|
10
|
-
render
|
11
|
-
expect(rendered).to match /did_you_mean/
|
12
|
-
expect(rendered).to match /sort_and_per_page/
|
13
|
-
end
|
14
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# spec for sidebar partial in catalog show view
|
4
|
-
|
5
|
-
RSpec.describe "catalog/_show_sidebar.html.erb" do
|
6
|
-
let(:blacklight_config) do
|
7
|
-
Blacklight::Configuration.new do |config|
|
8
|
-
config.index.title_field = 'title_tsim'
|
9
|
-
config.index.sidebar_component = Blacklight::Document::SidebarComponent
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
before do
|
14
|
-
allow(view).to receive_messages(blacklight_config: blacklight_config, has_user_authentication_provider?: false, document_actions: [], session_tracking_params: {})
|
15
|
-
end
|
16
|
-
|
17
|
-
it "shows more-like-this titles in the sidebar" do
|
18
|
-
document = SolrDocument.new id: 1, title_s: 'abc', format: 'default'
|
19
|
-
allow(document).to receive(:more_like_this).and_return([SolrDocument.new('id' => '2', 'title_tsim' => 'Title of MLT Document')])
|
20
|
-
render 'catalog/show_sidebar', document: document
|
21
|
-
expect(rendered).to include("More Like This")
|
22
|
-
expect(rendered).to include("Title of MLT Document")
|
23
|
-
end
|
24
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe "catalog/_show_tools.html.erb" do
|
4
|
-
let(:document) { SolrDocument.new id: 'xyz', format: 'a' }
|
5
|
-
let(:blacklight_config) { Blacklight::Configuration.new }
|
6
|
-
let(:component) { instance_double(Blacklight::Document::ShowToolsComponent) }
|
7
|
-
|
8
|
-
before do
|
9
|
-
allow(Blacklight::Document::ShowToolsComponent).to receive(:new).and_return(component)
|
10
|
-
allow(view).to receive(:render).with(component)
|
11
|
-
allow(view).to receive(:render).with('catalog/show_tools', { document: document }).and_call_original
|
12
|
-
allow(view).to receive_messages(blacklight_config: blacklight_config, has_user_authentication_provider?: false)
|
13
|
-
end
|
14
|
-
|
15
|
-
describe "document actions" do
|
16
|
-
let(:document_actions) { blacklight_config.show.document_actions }
|
17
|
-
|
18
|
-
it "renders a document action" do
|
19
|
-
allow(view).to receive(:some_action_solr_document_path).with(document, any_args).and_return 'x'
|
20
|
-
document_actions[:some_action] = Blacklight::Configuration::ToolConfig.new key: :some_action, name: :some_action, partial: 'document_action'
|
21
|
-
render 'catalog/show_tools', document: document
|
22
|
-
expect(view).to have_received(:render).with(component)
|
23
|
-
end
|
24
|
-
|
25
|
-
context 'without any document actions defined' do
|
26
|
-
before do
|
27
|
-
document_actions.clear
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'does not display the tools' do
|
31
|
-
render 'catalog/show_tools', document: document
|
32
|
-
|
33
|
-
expect(rendered).to be_blank
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|