blacklight 8.8.2 → 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 +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
|