blacklight 8.0.1 → 8.2.0
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 +1 -1
- data/.github/workflows/ruby.yml +17 -4
- data/.rubocop.yml +4 -0
- data/.rubocop_todo.yml +82 -73
- data/VERSION +1 -1
- data/app/assets/javascripts/blacklight/blacklight.esm.js +44 -21
- data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -1
- data/app/assets/javascripts/blacklight/blacklight.js +44 -21
- data/app/assets/javascripts/blacklight/blacklight.js.map +1 -1
- data/app/assets/stylesheets/blacklight/_mixins.scss +1 -1
- data/app/builders/blacklight/action_builder.rb +1 -1
- data/app/components/blacklight/advanced_search_form_component.html.erb +3 -3
- data/app/components/blacklight/advanced_search_form_component.rb +3 -3
- data/app/components/blacklight/document/bookmark_component.html.erb +1 -6
- data/app/components/blacklight/facet_field_component.html.erb +2 -1
- data/app/components/blacklight/icons/legacy_icon_component.rb +1 -1
- data/app/components/blacklight/response/facet_group_component.html.erb +0 -1
- data/app/components/blacklight/response/pagination_component.html.erb +1 -1
- data/app/components/blacklight/response/pagination_component.rb +6 -1
- data/app/components/blacklight/search_bar_component.html.erb +2 -2
- data/app/components/blacklight/system/flash_message_component.html.erb +1 -1
- data/app/controllers/concerns/blacklight/bookmarks.rb +1 -1
- data/app/controllers/concerns/blacklight/token_based_user.rb +5 -19
- data/app/helpers/blacklight/url_helper_behavior.rb +3 -2
- data/app/javascript/blacklight/bookmark_toggle.js +1 -1
- data/app/javascript/blacklight/checkbox_submit.js +15 -10
- data/app/javascript/blacklight/index.js +10 -5
- data/app/javascript/blacklight/modal.js +27 -13
- data/app/javascript/blacklight/search_context.js +1 -0
- data/app/models/concerns/blacklight/document/active_model_shim.rb +10 -0
- data/app/models/search.rb +6 -1
- data/app/services/blacklight/field_retriever.rb +13 -11
- data/app/values/blacklight/types.rb +14 -0
- data/app/views/catalog/_advanced_search_form.html.erb +1 -1
- data/app/views/catalog/_citation.html.erb +1 -1
- data/app/views/catalog/_show_tools.html.erb +1 -1
- data/app/views/catalog/email.html.erb +2 -2
- data/app/views/catalog/sms.html.erb +2 -2
- data/app/views/kaminari/blacklight/_page.html.erb +1 -1
- data/blacklight.gemspec +2 -3
- data/config/locales/blacklight.ar.yml +0 -1
- data/config/locales/blacklight.ca.yml +0 -2
- data/config/locales/blacklight.de.yml +0 -1
- data/config/locales/blacklight.en.yml +1 -1
- data/config/locales/blacklight.es.yml +0 -1
- data/config/locales/blacklight.fr.yml +0 -1
- data/config/locales/blacklight.hu.yml +0 -1
- data/config/locales/blacklight.it.yml +0 -1
- data/config/locales/blacklight.nl.yml +0 -1
- data/config/locales/blacklight.pt-BR.yml +0 -1
- data/config/locales/blacklight.sq.yml +0 -1
- data/config/locales/blacklight.zh.yml +0 -1
- data/docker-compose.yml +0 -2
- data/lib/blacklight/component.rb +1 -1
- data/lib/blacklight/configuration.rb +7 -1
- data/lib/blacklight/engine.rb +12 -0
- data/lib/blacklight/solr/repository.rb +16 -2
- data/lib/blacklight/solr/response/params.rb +1 -1
- data/lib/blacklight/solr/search_builder_behavior.rb +3 -0
- data/lib/generators/blacklight/assets/importmap_generator.rb +2 -2
- data/lib/generators/blacklight/assets/sprockets_generator.rb +1 -1
- data/lib/generators/blacklight/assets_generator.rb +2 -4
- data/lib/generators/blacklight/install_generator.rb +1 -3
- data/lib/generators/blacklight/templates/catalog_controller.rb +1 -0
- data/lib/generators/blacklight/templates/solr/conf/solrconfig.xml +69 -0
- data/package.json +1 -1
- data/spec/components/blacklight/facet_component_spec.rb +11 -1
- data/spec/components/blacklight/facet_item_pivot_component_spec.rb +2 -2
- data/spec/components/blacklight/response/pagination_component_spec.rb +53 -0
- data/spec/components/blacklight/search_context/server_applied_params_component_spec.rb +11 -1
- data/spec/controllers/catalog_controller_spec.rb +2 -2
- data/spec/features/advanced_search_spec.rb +61 -0
- data/spec/features/axe_spec.rb +5 -0
- data/spec/features/citation_spec.rb +10 -0
- data/spec/features/sms_spec.rb +12 -0
- data/spec/helpers/blacklight_helper_spec.rb +10 -5
- data/spec/models/blacklight/configurable_spec.rb +1 -1
- data/spec/models/blacklight/solr/repository_spec.rb +27 -0
- data/spec/models/blacklight/solr/response_spec.rb +1 -1
- data/spec/models/blacklight/solr/search_builder_spec.rb +21 -0
- data/spec/models/solr_document_spec.rb +6 -2
- data/spec/services/blacklight/field_retriever_spec.rb +17 -0
- data/spec/spec_helper.rb +1 -2
- data/spec/support/view_component_test_helpers.rb +14 -0
- data/spec/test_app_templates/Gemfile.extra +0 -1
- data/spec/views/catalog/_paginate_compact.html.erb_spec.rb +2 -0
- data/template.demo.rb +7 -7
- metadata +15 -21
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 995d0162eaaf76fe9e4fe2498145be544b61f63387a5f22400c4f3f6ae66c5f7
|
|
4
|
+
data.tar.gz: 23730f5c2cb706d7202da4c2d4f7757fd149b194041c7e1ec655d556e7a49155
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0f444539b52a3e6ec539b5a0865be12d09e98a12d0c8285e3df0e6a3cebf293520d3be5365be244093bccc39d33d973075e8eb5ad26fa0b44d1181a699601d63
|
|
7
|
+
data.tar.gz: f676071cd8a7b98b1de39c7f34edbd641ae511883a50445121649440c5ff4133701c57ae0eb5b521c8174c09d1b6a56d60074fe7b1a16106251c44a54f0a80ac
|
data/.env
CHANGED
data/.github/workflows/ruby.yml
CHANGED
|
@@ -22,7 +22,7 @@ jobs:
|
|
|
22
22
|
- name: Set up Ruby
|
|
23
23
|
uses: ruby/setup-ruby@v1
|
|
24
24
|
with:
|
|
25
|
-
ruby-version: 2
|
|
25
|
+
ruby-version: 3.2
|
|
26
26
|
bundler: 'latest'
|
|
27
27
|
- name: Install dependencies
|
|
28
28
|
run: bundle install
|
|
@@ -33,7 +33,7 @@ jobs:
|
|
|
33
33
|
name: test (ruby ${{ matrix.ruby }} / rails ${{ matrix.rails_version }} ${{ matrix.additional_name }})
|
|
34
34
|
strategy:
|
|
35
35
|
matrix:
|
|
36
|
-
ruby: [
|
|
36
|
+
ruby: ['3.0']
|
|
37
37
|
rails_version: ['6.1.7', '7.0.4']
|
|
38
38
|
bootstrap_version: [null]
|
|
39
39
|
view_component_version: ['~> 2.66']
|
|
@@ -41,8 +41,20 @@ jobs:
|
|
|
41
41
|
additional_engine_cart_rails_options: ['']
|
|
42
42
|
additional_name: ['']
|
|
43
43
|
include:
|
|
44
|
-
- ruby: '3.
|
|
44
|
+
- ruby: '3.3.0'
|
|
45
|
+
rails_version: '7.1.1'
|
|
46
|
+
- ruby: '3.2.2'
|
|
47
|
+
rails_version: '7.1.1'
|
|
48
|
+
- ruby: '3.2.2'
|
|
45
49
|
rails_version: '7.0.4'
|
|
50
|
+
- ruby: '3.2.2'
|
|
51
|
+
rails_version: '7.0.4'
|
|
52
|
+
solr_version: '9.3.0'
|
|
53
|
+
additional_name: 'Solr 9.3.0'
|
|
54
|
+
- ruby: '3.2.2'
|
|
55
|
+
rails_version: '7.0.4'
|
|
56
|
+
solr_version: '8.11.2'
|
|
57
|
+
additional_name: 'Solr 8.11.2'
|
|
46
58
|
- ruby: '3.1'
|
|
47
59
|
rails_version: '7.0.4'
|
|
48
60
|
- ruby: '3.1'
|
|
@@ -64,10 +76,11 @@ jobs:
|
|
|
64
76
|
additional_name: '/ API'
|
|
65
77
|
env:
|
|
66
78
|
RAILS_VERSION: ${{ matrix.rails_version }}
|
|
79
|
+
SOLR_VERSION: ${{ matrix.solr_version || 'latest' }}
|
|
67
80
|
VIEW_COMPONENT_VERSION: ${{ matrix.view_component_version }}
|
|
68
81
|
BOOTSTRAP_VERSION: ${{ matrix.bootstrap_version }}
|
|
69
82
|
BLACKLIGHT_API_TEST: ${{ matrix.api }}
|
|
70
|
-
ENGINE_CART_RAILS_OPTIONS: "--skip-git --skip-listen --skip-spring --skip-keeps --skip-
|
|
83
|
+
ENGINE_CART_RAILS_OPTIONS: "--skip-git --skip-listen --skip-spring --skip-keeps --skip-coffee --skip-test ${{ matrix.additional_engine_cart_rails_options }}"
|
|
71
84
|
steps:
|
|
72
85
|
- uses: actions/checkout@v3
|
|
73
86
|
- name: Set up Ruby
|
data/.rubocop.yml
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require:
|
|
2
|
+
- rubocop-capybara
|
|
2
3
|
- rubocop-rspec
|
|
3
4
|
- rubocop-rails
|
|
4
5
|
|
|
@@ -197,6 +198,9 @@ Security/IoMethods: # new in 1.22
|
|
|
197
198
|
Enabled: true
|
|
198
199
|
Style/ArgumentsForwarding: # new in 1.1
|
|
199
200
|
Enabled: true
|
|
201
|
+
Exclude:
|
|
202
|
+
# This cop includes some checks specific to Ruby 3.2
|
|
203
|
+
- 'lib/blacklight/solr/response/group_response.rb'
|
|
200
204
|
Style/CollectionCompact: # new in 1.2
|
|
201
205
|
Enabled: true
|
|
202
206
|
Style/DocumentDynamicEvalDefinition: # new in 1.1
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,20 +1,36 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on
|
|
3
|
+
# on 2023-12-05 17:55:17 UTC using RuboCop version 1.58.0.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
|
8
8
|
|
|
9
|
+
# Offense count: 4
|
|
10
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
11
|
+
Capybara/CurrentPathExpectation:
|
|
12
|
+
Exclude:
|
|
13
|
+
- 'spec/features/alternate_controller_spec.rb'
|
|
14
|
+
|
|
15
|
+
# Offense count: 13
|
|
16
|
+
Capybara/VisibilityMatcher:
|
|
17
|
+
Exclude:
|
|
18
|
+
- 'spec/features/facets_spec.rb'
|
|
19
|
+
- 'spec/features/search_filters_spec.rb'
|
|
20
|
+
- 'spec/helpers/blacklight_helper_spec.rb'
|
|
21
|
+
|
|
9
22
|
# Offense count: 5
|
|
10
|
-
#
|
|
23
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
24
|
+
# Configuration parameters: EnforcedStyle.
|
|
25
|
+
# SupportedStyles: leading, trailing
|
|
11
26
|
Layout/LineContinuationLeadingSpace:
|
|
12
27
|
Exclude:
|
|
13
28
|
- 'lib/generators/blacklight/controller_generator.rb'
|
|
14
29
|
- 'lib/generators/blacklight/user_generator.rb'
|
|
15
30
|
|
|
16
31
|
# Offense count: 1
|
|
17
|
-
#
|
|
32
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
33
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
|
18
34
|
Lint/AmbiguousBlockAssociation:
|
|
19
35
|
Exclude:
|
|
20
36
|
- 'lib/blacklight/solr/search_builder_behavior.rb'
|
|
@@ -29,7 +45,7 @@ Lint/AmbiguousOperator:
|
|
|
29
45
|
- 'spec/models/blacklight/solr/search_builder_spec.rb'
|
|
30
46
|
- 'spec/services/blacklight/search_service_spec.rb'
|
|
31
47
|
|
|
32
|
-
# Offense count:
|
|
48
|
+
# Offense count: 45
|
|
33
49
|
# This cop supports safe autocorrection (--autocorrect).
|
|
34
50
|
Lint/AmbiguousRegexpLiteral:
|
|
35
51
|
Exclude:
|
|
@@ -75,7 +91,8 @@ Lint/EmptyFile:
|
|
|
75
91
|
Exclude:
|
|
76
92
|
- 'spec/components/blacklight/document_metadata_component_spec.rb'
|
|
77
93
|
|
|
78
|
-
# Offense count:
|
|
94
|
+
# Offense count: 46
|
|
95
|
+
# Configuration parameters: AllowedParentClasses.
|
|
79
96
|
Lint/MissingSuper:
|
|
80
97
|
Enabled: false
|
|
81
98
|
|
|
@@ -94,14 +111,14 @@ Lint/ShadowingOuterLocalVariable:
|
|
|
94
111
|
Exclude:
|
|
95
112
|
- 'spec/models/blacklight/configuration_spec.rb'
|
|
96
113
|
|
|
97
|
-
# Offense count:
|
|
98
|
-
# Configuration parameters:
|
|
114
|
+
# Offense count: 81
|
|
115
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
|
|
99
116
|
Metrics/AbcSize:
|
|
100
117
|
Max: 46
|
|
101
118
|
|
|
102
119
|
# Offense count: 1
|
|
103
|
-
# Configuration parameters: CountComments, CountAsOne,
|
|
104
|
-
#
|
|
120
|
+
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
|
|
121
|
+
# AllowedMethods: refine
|
|
105
122
|
Metrics/BlockLength:
|
|
106
123
|
Max: 26
|
|
107
124
|
|
|
@@ -110,32 +127,33 @@ Metrics/BlockLength:
|
|
|
110
127
|
Metrics/BlockNesting:
|
|
111
128
|
Max: 4
|
|
112
129
|
|
|
113
|
-
# Offense count:
|
|
114
|
-
# Configuration parameters:
|
|
130
|
+
# Offense count: 42
|
|
131
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
|
115
132
|
Metrics/CyclomaticComplexity:
|
|
116
133
|
Max: 14
|
|
117
134
|
|
|
118
|
-
# Offense count:
|
|
119
|
-
# Configuration parameters: CountComments, CountAsOne,
|
|
135
|
+
# Offense count: 77
|
|
136
|
+
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
|
|
120
137
|
Metrics/MethodLength:
|
|
121
138
|
Max: 29
|
|
122
139
|
|
|
123
|
-
# Offense count:
|
|
140
|
+
# Offense count: 4
|
|
124
141
|
# Configuration parameters: CountComments, CountAsOne.
|
|
125
142
|
Metrics/ModuleLength:
|
|
126
|
-
Max:
|
|
143
|
+
Max: 124
|
|
127
144
|
|
|
128
145
|
# Offense count: 8
|
|
129
146
|
# Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
|
|
130
147
|
Metrics/ParameterLists:
|
|
131
148
|
Max: 6
|
|
132
149
|
|
|
133
|
-
# Offense count:
|
|
134
|
-
# Configuration parameters:
|
|
150
|
+
# Offense count: 37
|
|
151
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
|
135
152
|
Metrics/PerceivedComplexity:
|
|
136
153
|
Max: 14
|
|
137
154
|
|
|
138
155
|
# Offense count: 3
|
|
156
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
139
157
|
# Configuration parameters: EnforcedStyleForLeadingUnderscores.
|
|
140
158
|
# SupportedStylesForLeadingUnderscores: disallowed, required, optional
|
|
141
159
|
Naming/MemoizedInstanceVariableName:
|
|
@@ -146,7 +164,7 @@ Naming/MemoizedInstanceVariableName:
|
|
|
146
164
|
|
|
147
165
|
# Offense count: 9
|
|
148
166
|
# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
|
|
149
|
-
# AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to
|
|
167
|
+
# AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
|
|
150
168
|
Naming/MethodParameterName:
|
|
151
169
|
Exclude:
|
|
152
170
|
- 'app/models/concerns/blacklight/document.rb'
|
|
@@ -158,47 +176,33 @@ Naming/MethodParameterName:
|
|
|
158
176
|
# Offense count: 9
|
|
159
177
|
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
|
|
160
178
|
# SupportedStyles: snake_case, normalcase, non_integer
|
|
161
|
-
# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
|
|
179
|
+
# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
|
|
162
180
|
Naming/VariableNumber:
|
|
163
181
|
Exclude:
|
|
164
182
|
- 'spec/lib/blacklight/search_state_spec.rb'
|
|
165
183
|
- 'spec/models/blacklight/search_builder_spec.rb'
|
|
166
184
|
|
|
167
|
-
# Offense count:
|
|
185
|
+
# Offense count: 5
|
|
168
186
|
RSpec/BeforeAfterAll:
|
|
169
187
|
Exclude:
|
|
170
188
|
- 'spec/controllers/search_history_controller_spec.rb'
|
|
171
189
|
- 'spec/models/blacklight/configurable_spec.rb'
|
|
172
190
|
- 'spec/models/blacklight/document/dublin_core_spec.rb'
|
|
173
|
-
- 'spec/models/blacklight/document/email_spec.rb'
|
|
174
|
-
- 'spec/models/blacklight/document/sms_spec.rb'
|
|
175
191
|
- 'spec/models/blacklight/solr/document_spec.rb'
|
|
176
192
|
|
|
177
|
-
# Offense count:
|
|
178
|
-
#
|
|
179
|
-
RSpec/Capybara/CurrentPathExpectation:
|
|
180
|
-
Exclude:
|
|
181
|
-
- 'spec/features/alternate_controller_spec.rb'
|
|
182
|
-
|
|
183
|
-
# Offense count: 13
|
|
184
|
-
RSpec/Capybara/VisibilityMatcher:
|
|
185
|
-
Exclude:
|
|
186
|
-
- 'spec/features/facets_spec.rb'
|
|
187
|
-
- 'spec/features/search_filters_spec.rb'
|
|
188
|
-
- 'spec/helpers/blacklight_helper_spec.rb'
|
|
189
|
-
|
|
190
|
-
# Offense count: 98
|
|
191
|
-
# Configuration parameters: Prefixes.
|
|
193
|
+
# Offense count: 104
|
|
194
|
+
# Configuration parameters: Prefixes, AllowedPatterns.
|
|
192
195
|
# Prefixes: when, with, without
|
|
193
196
|
RSpec/ContextWording:
|
|
194
197
|
Enabled: false
|
|
195
198
|
|
|
196
199
|
# Offense count: 1
|
|
200
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
197
201
|
RSpec/EmptyExampleGroup:
|
|
198
202
|
Exclude:
|
|
199
203
|
- 'spec/models/blacklight/solr/search_builder_spec.rb'
|
|
200
204
|
|
|
201
|
-
# Offense count:
|
|
205
|
+
# Offense count: 135
|
|
202
206
|
# Configuration parameters: CountAsOne.
|
|
203
207
|
RSpec/ExampleLength:
|
|
204
208
|
Max: 33
|
|
@@ -208,18 +212,17 @@ RSpec/ExpectInHook:
|
|
|
208
212
|
Exclude:
|
|
209
213
|
- 'spec/controllers/catalog_controller_spec.rb'
|
|
210
214
|
|
|
211
|
-
# Offense count:
|
|
215
|
+
# Offense count: 4
|
|
212
216
|
# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
|
|
213
217
|
# Include: **/*_spec*rb*, **/spec/**/*
|
|
214
218
|
RSpec/FilePath:
|
|
215
219
|
Exclude:
|
|
216
220
|
- 'spec/controllers/blacklight/catalog/component_configuration_spec.rb'
|
|
217
|
-
- 'spec/features/sitelinks_search_box.rb'
|
|
218
221
|
- 'spec/models/blacklight/solr/search_builder_spec.rb'
|
|
219
222
|
- 'spec/presenters/pipeline_spec.rb'
|
|
220
223
|
- 'spec/presenters/thumbnail_presenter_spec.rb'
|
|
221
224
|
|
|
222
|
-
# Offense count:
|
|
225
|
+
# Offense count: 108
|
|
223
226
|
# Configuration parameters: AssignmentOnly.
|
|
224
227
|
RSpec/InstanceVariable:
|
|
225
228
|
Exclude:
|
|
@@ -232,7 +235,6 @@ RSpec/InstanceVariable:
|
|
|
232
235
|
- 'spec/models/blacklight/document/dublin_core_spec.rb'
|
|
233
236
|
- 'spec/models/blacklight/solr/document_spec.rb'
|
|
234
237
|
- 'spec/models/record_mailer_spec.rb'
|
|
235
|
-
- 'spec/models/search_spec.rb'
|
|
236
238
|
- 'spec/services/blacklight/search_service_spec.rb'
|
|
237
239
|
- 'spec/views/catalog/index.atom.builder_spec.rb'
|
|
238
240
|
|
|
@@ -276,21 +278,23 @@ RSpec/MessageSpies:
|
|
|
276
278
|
- 'spec/presenters/blacklight/field_presenter_spec.rb'
|
|
277
279
|
- 'spec/presenters/thumbnail_presenter_spec.rb'
|
|
278
280
|
|
|
279
|
-
# Offense count:
|
|
281
|
+
# Offense count: 382
|
|
280
282
|
RSpec/MultipleExpectations:
|
|
281
283
|
Max: 16
|
|
282
284
|
|
|
283
|
-
# Offense count:
|
|
285
|
+
# Offense count: 282
|
|
284
286
|
# Configuration parameters: AllowSubject.
|
|
285
287
|
RSpec/MultipleMemoizedHelpers:
|
|
286
288
|
Max: 14
|
|
287
289
|
|
|
288
|
-
# Offense count:
|
|
289
|
-
# Configuration parameters: IgnoreSharedExamples.
|
|
290
|
+
# Offense count: 394
|
|
291
|
+
# Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
|
|
292
|
+
# SupportedStyles: always, named_only
|
|
290
293
|
RSpec/NamedSubject:
|
|
291
294
|
Enabled: false
|
|
292
295
|
|
|
293
|
-
# Offense count:
|
|
296
|
+
# Offense count: 59
|
|
297
|
+
# Configuration parameters: AllowedGroups.
|
|
294
298
|
RSpec/NestedGroups:
|
|
295
299
|
Max: 5
|
|
296
300
|
|
|
@@ -345,34 +349,27 @@ RSpec/SubjectStub:
|
|
|
345
349
|
- 'spec/presenters/blacklight/document_presenter_spec.rb'
|
|
346
350
|
- 'spec/services/blacklight/search_service_spec.rb'
|
|
347
351
|
|
|
348
|
-
# Offense count:
|
|
352
|
+
# Offense count: 79
|
|
349
353
|
# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
|
|
350
354
|
RSpec/VerifiedDoubles:
|
|
351
355
|
Enabled: false
|
|
352
356
|
|
|
353
357
|
# Offense count: 4
|
|
358
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
354
359
|
# Configuration parameters: EnforcedStyle, AllowToTime.
|
|
355
360
|
# SupportedStyles: strict, flexible
|
|
356
361
|
Rails/Date:
|
|
357
362
|
Exclude:
|
|
358
363
|
- 'spec/models/search_spec.rb'
|
|
359
364
|
|
|
360
|
-
# Offense count: 1
|
|
361
|
-
# Configuration parameters: EnforcedStyle.
|
|
362
|
-
# SupportedStyles: slashes, arguments
|
|
363
|
-
Rails/FilePath:
|
|
364
|
-
Exclude:
|
|
365
|
-
- 'lib/railties/blacklight.rake'
|
|
366
|
-
|
|
367
365
|
# Offense count: 20
|
|
368
366
|
# Configuration parameters: Include.
|
|
369
367
|
# Include: app/helpers/**/*.rb
|
|
370
368
|
Rails/HelperInstanceVariable:
|
|
371
369
|
Exclude:
|
|
372
|
-
- 'app/helpers/blacklight/blacklight_helper_behavior.rb'
|
|
373
370
|
- 'app/helpers/blacklight/catalog_helper_behavior.rb'
|
|
374
|
-
- 'app/helpers/blacklight/document_helper_behavior.rb'
|
|
375
371
|
- 'app/helpers/blacklight/component_helper_behavior.rb'
|
|
372
|
+
- 'app/helpers/blacklight/document_helper_behavior.rb'
|
|
376
373
|
- 'app/helpers/blacklight/layout_helper_behavior.rb'
|
|
377
374
|
- 'app/helpers/blacklight/render_partials_helper_behavior.rb'
|
|
378
375
|
|
|
@@ -383,12 +380,9 @@ Rails/I18nLocaleAssignment:
|
|
|
383
380
|
Exclude:
|
|
384
381
|
- 'spec/helpers/blacklight_helper_spec.rb'
|
|
385
382
|
|
|
386
|
-
# Offense count:
|
|
383
|
+
# Offense count: 1
|
|
387
384
|
Rails/OutputSafety:
|
|
388
385
|
Exclude:
|
|
389
|
-
- 'app/components/blacklight/search_context/server_item_pagination_component.rb'
|
|
390
|
-
- 'app/helpers/blacklight/catalog_helper_behavior.rb'
|
|
391
|
-
- 'app/helpers/blacklight/configuration_helper_behavior.rb'
|
|
392
386
|
- 'app/presenters/blacklight/rendering/join.rb'
|
|
393
387
|
|
|
394
388
|
# Offense count: 14
|
|
@@ -411,11 +405,11 @@ Style/Alias:
|
|
|
411
405
|
|
|
412
406
|
# Offense count: 3
|
|
413
407
|
# This cop supports safe autocorrection (--autocorrect).
|
|
414
|
-
# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods,
|
|
408
|
+
# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
|
|
415
409
|
# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
|
|
416
410
|
# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
|
|
417
411
|
# FunctionalMethods: let, let!, subject, watch
|
|
418
|
-
#
|
|
412
|
+
# AllowedMethods: lambda, proc, it
|
|
419
413
|
Style/BlockDelimiters:
|
|
420
414
|
Exclude:
|
|
421
415
|
- 'app/views/catalog/index.rss.builder'
|
|
@@ -449,17 +443,16 @@ Style/DocumentDynamicEvalDefinition:
|
|
|
449
443
|
- 'app/builders/blacklight/action_builder.rb'
|
|
450
444
|
- 'lib/blacklight/configuration/fields.rb'
|
|
451
445
|
|
|
452
|
-
# Offense count:
|
|
446
|
+
# Offense count: 128
|
|
453
447
|
# Configuration parameters: AllowedConstants.
|
|
454
448
|
Style/Documentation:
|
|
455
449
|
Enabled: false
|
|
456
450
|
|
|
457
|
-
# Offense count:
|
|
451
|
+
# Offense count: 9
|
|
458
452
|
# This cop supports safe autocorrection (--autocorrect).
|
|
459
453
|
Style/ExpandPathArguments:
|
|
460
454
|
Exclude:
|
|
461
455
|
- 'Gemfile'
|
|
462
|
-
- 'lib/generators/blacklight/assets_generator.rb'
|
|
463
456
|
- 'lib/generators/blacklight/controller_generator.rb'
|
|
464
457
|
- 'lib/generators/blacklight/document_generator.rb'
|
|
465
458
|
- 'lib/generators/blacklight/install_generator.rb'
|
|
@@ -471,12 +464,14 @@ Style/ExpandPathArguments:
|
|
|
471
464
|
|
|
472
465
|
# Offense count: 16
|
|
473
466
|
# This cop supports safe autocorrection (--autocorrect).
|
|
474
|
-
# Configuration parameters: MaxUnannotatedPlaceholdersAllowed,
|
|
467
|
+
# Configuration parameters: MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns.
|
|
475
468
|
# SupportedStyles: annotated, template, unannotated
|
|
469
|
+
# AllowedMethods: redirect
|
|
476
470
|
Style/FormatStringToken:
|
|
477
471
|
EnforcedStyle: template
|
|
478
472
|
|
|
479
473
|
# Offense count: 6
|
|
474
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
480
475
|
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
|
|
481
476
|
Style/GuardClause:
|
|
482
477
|
Exclude:
|
|
@@ -486,7 +481,7 @@ Style/GuardClause:
|
|
|
486
481
|
- 'app/helpers/blacklight/catalog_helper_behavior.rb'
|
|
487
482
|
- 'lib/blacklight/solr/search_builder_behavior.rb'
|
|
488
483
|
|
|
489
|
-
# Offense count:
|
|
484
|
+
# Offense count: 29
|
|
490
485
|
# This cop supports safe autocorrection (--autocorrect).
|
|
491
486
|
Style/IfUnlessModifier:
|
|
492
487
|
Enabled: false
|
|
@@ -501,7 +496,7 @@ Style/MultilineIfModifier:
|
|
|
501
496
|
|
|
502
497
|
# Offense count: 1
|
|
503
498
|
# This cop supports safe autocorrection (--autocorrect).
|
|
504
|
-
# Configuration parameters: AllowMethodComparison.
|
|
499
|
+
# Configuration parameters: AllowMethodComparison, ComparisonsThreshold.
|
|
505
500
|
Style/MultipleComparison:
|
|
506
501
|
Exclude:
|
|
507
502
|
- 'lib/blacklight/configuration/context.rb'
|
|
@@ -516,7 +511,7 @@ Style/MutableConstant:
|
|
|
516
511
|
|
|
517
512
|
# Offense count: 9
|
|
518
513
|
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
519
|
-
# Configuration parameters: EnforcedStyle,
|
|
514
|
+
# Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns.
|
|
520
515
|
# SupportedStyles: predicate, comparison
|
|
521
516
|
Style/NumericPredicate:
|
|
522
517
|
Exclude:
|
|
@@ -554,13 +549,27 @@ Style/PercentLiteralDelimiters:
|
|
|
554
549
|
- 'lib/blacklight/engine.rb'
|
|
555
550
|
- 'lib/blacklight/solr/request.rb'
|
|
556
551
|
|
|
557
|
-
# Offense count:
|
|
552
|
+
# Offense count: 15
|
|
553
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
554
|
+
Style/RedundantParentheses:
|
|
555
|
+
Exclude:
|
|
556
|
+
- 'app/components/blacklight/advanced_search_form_component.rb'
|
|
557
|
+
- 'app/components/blacklight/document/actions_component.rb'
|
|
558
|
+
- 'app/components/blacklight/document_component.rb'
|
|
559
|
+
- 'app/components/blacklight/document_metadata_component.rb'
|
|
560
|
+
- 'app/components/blacklight/metadata_field_layout_component.rb'
|
|
561
|
+
- 'app/components/blacklight/system/dropdown_component.rb'
|
|
562
|
+
- 'app/views/catalog/_document.atom.builder'
|
|
563
|
+
- 'lib/blacklight/search_state/pivot_filter_field.rb'
|
|
564
|
+
- 'lib/railties/blacklight.rake'
|
|
565
|
+
- 'spec/models/blacklight/solr/search_builder_spec.rb'
|
|
566
|
+
|
|
567
|
+
# Offense count: 6
|
|
558
568
|
# This cop supports safe autocorrection (--autocorrect).
|
|
559
569
|
# Configuration parameters: EnforcedStyle.
|
|
560
570
|
# SupportedStyles: implicit, explicit
|
|
561
571
|
Style/RescueStandardError:
|
|
562
572
|
Exclude:
|
|
563
|
-
- 'app/models/record_mailer.rb'
|
|
564
573
|
- 'lib/blacklight.rb'
|
|
565
574
|
- 'lib/blacklight/configuration/fields.rb'
|
|
566
575
|
- 'lib/railties/blacklight.rake'
|
|
@@ -594,7 +603,7 @@ Style/SoleNestedConditional:
|
|
|
594
603
|
Exclude:
|
|
595
604
|
- 'app/controllers/concerns/blacklight/controller.rb'
|
|
596
605
|
|
|
597
|
-
# Offense count:
|
|
606
|
+
# Offense count: 30
|
|
598
607
|
# This cop supports safe autocorrection (--autocorrect).
|
|
599
608
|
# Configuration parameters: MinSize.
|
|
600
609
|
# SupportedStyles: percent, brackets
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
8.0
|
|
1
|
+
8.2.0
|
|
@@ -18,11 +18,11 @@ class CheckboxSubmit {
|
|
|
18
18
|
this.form = form;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
clicked(evt) {
|
|
22
22
|
this.spanTarget.innerHTML = this.form.getAttribute('data-inprogress');
|
|
23
23
|
this.labelTarget.setAttribute('disabled', 'disabled');
|
|
24
24
|
this.checkboxTarget.setAttribute('disabled', 'disabled');
|
|
25
|
-
|
|
25
|
+
fetch(this.formTarget.getAttribute('action'), {
|
|
26
26
|
body: new FormData(this.formTarget),
|
|
27
27
|
method: this.formTarget.getAttribute('method').toUpperCase(),
|
|
28
28
|
headers: {
|
|
@@ -30,16 +30,17 @@ class CheckboxSubmit {
|
|
|
30
30
|
'X-Requested-With': 'XMLHttpRequest',
|
|
31
31
|
'X-CSRF-Token': document.querySelector('meta[name=csrf-token]')?.content
|
|
32
32
|
}
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
}).then((response) => {
|
|
34
|
+
if (response.ok) return response.json();
|
|
35
|
+
return Promise.reject('response was not ok')
|
|
36
|
+
}).then((json) => {
|
|
37
|
+
this.labelTarget.removeAttribute('disabled');
|
|
38
|
+
this.checkboxTarget.removeAttribute('disabled');
|
|
38
39
|
this.updateStateFor(!this.checked);
|
|
39
40
|
document.querySelector('[data-role=bookmark-counter]').innerHTML = json.bookmarks.count;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
}
|
|
41
|
+
}).catch((error) => {
|
|
42
|
+
this.handleError(error);
|
|
43
|
+
});
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
get checked() {
|
|
@@ -62,6 +63,10 @@ class CheckboxSubmit {
|
|
|
62
63
|
return this.form.querySelector('[data-checkboxsubmit-target="span"]')
|
|
63
64
|
}
|
|
64
65
|
|
|
66
|
+
handleError() {
|
|
67
|
+
alert("Unable to save the bookmark at this time.");
|
|
68
|
+
}
|
|
69
|
+
|
|
65
70
|
updateStateFor(state) {
|
|
66
71
|
this.checkboxTarget.checked = state;
|
|
67
72
|
|
|
@@ -197,21 +202,35 @@ const Modal = (() => {
|
|
|
197
202
|
};
|
|
198
203
|
|
|
199
204
|
// Add the passed in contents to the modal and display it.
|
|
205
|
+
// We have specific handling so that scripts returned from the ajax call are executed.
|
|
206
|
+
// This enables adding a script like recaptcha to prevent bots from sending emails.
|
|
200
207
|
modal.receiveAjax = function (contents) {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
208
|
+
const domparser = new DOMParser();
|
|
209
|
+
const dom = domparser.parseFromString(contents, "text/html");
|
|
210
|
+
// If there is a containerSelector on the document, use its children.
|
|
211
|
+
let elements = dom.querySelectorAll(`${modal.containerSelector} > *`);
|
|
212
|
+
const frag = document.createDocumentFragment();
|
|
213
|
+
if (elements.length == 0) {
|
|
214
|
+
// If the containerSelector wasn't found, use the whole document
|
|
215
|
+
elements = dom.body.childNodes;
|
|
216
|
+
}
|
|
217
|
+
elements.forEach((el) => frag.appendChild(el));
|
|
218
|
+
modal.activateScripts(frag);
|
|
219
|
+
|
|
220
|
+
document.querySelector(`${modal.modalSelector} .modal-content`).replaceChildren(frag);
|
|
211
221
|
|
|
212
|
-
|
|
222
|
+
modal.show();
|
|
213
223
|
};
|
|
214
224
|
|
|
225
|
+
// DOMParser doesn't allow scripts to be executed. This fixes that.
|
|
226
|
+
modal.activateScripts = function (frag) {
|
|
227
|
+
frag.querySelectorAll('script').forEach((script) => {
|
|
228
|
+
const fixedScript = document.createElement('script');
|
|
229
|
+
fixedScript.src = script.src;
|
|
230
|
+
fixedScript.async = false;
|
|
231
|
+
script.parentNode.replaceChild(fixedScript, script);
|
|
232
|
+
});
|
|
233
|
+
};
|
|
215
234
|
|
|
216
235
|
modal.modalAjaxLinkClick = function(e) {
|
|
217
236
|
e.preventDefault();
|
|
@@ -287,6 +306,7 @@ SearchContext.handleSearchContextMethod = function(event) {
|
|
|
287
306
|
|
|
288
307
|
// check for meta keys.. if set, we should open in a new tab
|
|
289
308
|
if(event.metaKey || event.ctrlKey) {
|
|
309
|
+
form.dataset.turbo = "false";
|
|
290
310
|
target = '_blank';
|
|
291
311
|
}
|
|
292
312
|
|
|
@@ -363,6 +383,9 @@ Blacklight.onLoad(function () {
|
|
|
363
383
|
elem.classList.add('js');
|
|
364
384
|
});
|
|
365
385
|
|
|
386
|
+
// ALL imports in this dir, including in files imported, should be RELATIVE
|
|
387
|
+
|
|
388
|
+
|
|
366
389
|
const index = {
|
|
367
390
|
BookmarkToggle,
|
|
368
391
|
ButtonFocus,
|