blacklight 7.29.0 → 7.30.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 752a397403b186b177e51a6f260f7f385d9e1db6c26abdb9b37c9c25ecf2ad04
4
- data.tar.gz: f81dc90a28f7c9d9cecc35f60e119bd09ec96bd12584b8f1ffb39e51845a0588
3
+ metadata.gz: d3f2833ee33fe1cc1d37ef72206820efdd9bbdd4c39f14783c08bfba4c7b9dd8
4
+ data.tar.gz: 3f9cbc91061f1a1b68bd25aab95c518f134c7a497566241691a8aee63cc6b752
5
5
  SHA512:
6
- metadata.gz: 54c453918cd5521dd2ee24df0d7d874c48705d14422f8746a10bd262681e411ed54efef1202f9785beec20169ca5ca9acd4d648e730df8a930d2aa659190d905
7
- data.tar.gz: 8014988552c75ebb9bbbd82dcad688dfcd3ea2b6126b63c4c178ab32fe034787bdd61b75a826ecdb1c9022e148a7f9911eb99e7c35090de9361d434756fb85a1
6
+ metadata.gz: 5b6500ea3048765a8e9d78425eb6f14d7a7edcb6cd17c1ddcc91c88edc7e09353672f0aa7ff29e1e85fbe238508066f9221b652c48cacbfe947e636dbac13a27
7
+ data.tar.gz: 5da051e3b7d496204d5e8752c09d346e39c0a94d917539155e60d0a2488ee3a32770bdbf205d11d9fff9da0f107c8d01b8786749ad9e9272b4b9933f46b6815e
@@ -23,6 +23,7 @@ jobs:
23
23
  uses: ruby/setup-ruby@v1
24
24
  with:
25
25
  ruby-version: 2.7
26
+ bundler: 'latest'
26
27
  - name: Install dependencies
27
28
  run: bundle install
28
29
  - name: Run linter
@@ -38,12 +39,13 @@ jobs:
38
39
  uses: ruby/setup-ruby@v1
39
40
  with:
40
41
  ruby-version: ${{ matrix.ruby }}
42
+ bundler: 'latest'
41
43
  - name: Install dependencies
42
44
  run: bundle install
43
45
  - name: Run tests
44
46
  run: bundle exec rake ci
45
47
  env:
46
- ENGINE_CART_RAILS_OPTIONS: '-a propshaft --skip-git --skip-listen --skip-spring --skip-keeps --skip-action-cable --skip-coffee --skip-test'
48
+ ENGINE_CART_RAILS_OPTIONS: '--skip-git --skip-listen --skip-spring --skip-keeps --skip-action-cable --skip-coffee --skip-test'
47
49
  test_bootstrap5:
48
50
  runs-on: ubuntu-latest
49
51
  strategy:
@@ -55,6 +57,7 @@ jobs:
55
57
  uses: ruby/setup-ruby@v1
56
58
  with:
57
59
  ruby-version: ${{ matrix.ruby }}
60
+ bundler: 'latest'
58
61
  - name: Install dependencies
59
62
  run: bundle install
60
63
  - name: Run tests
@@ -73,6 +76,7 @@ jobs:
73
76
  uses: ruby/setup-ruby@v1
74
77
  with:
75
78
  ruby-version: ${{ matrix.ruby }}
79
+ bundler: 'latest'
76
80
  - name: Install dependencies
77
81
  run: bundle install
78
82
  env:
@@ -93,6 +97,7 @@ jobs:
93
97
  uses: ruby/setup-ruby@v1
94
98
  with:
95
99
  ruby-version: ${{ matrix.ruby }}
100
+ bundler: 'latest'
96
101
  - name: Install dependencies
97
102
  run: bundle install
98
103
  env:
@@ -114,6 +119,7 @@ jobs:
114
119
  uses: ruby/setup-ruby@v1
115
120
  with:
116
121
  ruby-version: ${{ matrix.ruby }}
122
+ bundler: 'latest'
117
123
  - name: Install dependencies
118
124
  run: bundle install
119
125
  env:
@@ -133,6 +139,7 @@ jobs:
133
139
  - name: Set up Ruby
134
140
  uses: ruby/setup-ruby@v1
135
141
  with:
142
+ bundler: 'latest'
136
143
  ruby-version: ${{ matrix.ruby }}
137
144
  - name: Install dependencies
138
145
  run: bundle install
@@ -140,7 +147,7 @@ jobs:
140
147
  run: bundle exec rake ci
141
148
  env:
142
149
  BLACKLIGHT_API_TEST: true
143
- ENGINE_CART_RAILS_OPTIONS: '--api --skip-git --skip-bundle --skip-listen --skip-spring --skip-yarn --skip-keeps --skip-action-cable --skip-coffee --skip-test'
150
+ ENGINE_CART_RAILS_OPTIONS: '-a propshaft --api --skip-git --skip-bundle --skip-listen --skip-spring --skip-yarn --skip-keeps --skip-action-cable --skip-coffee --skip-test'
144
151
  docker_build:
145
152
  runs-on: ubuntu-latest
146
153
  steps:
data/README.md CHANGED
@@ -42,7 +42,7 @@ rails generate blacklight:install
42
42
  Code contributions are always welcome, instructions for contributing can be found at [CONTRIBUTING.md](https://github.com/projectblacklight/blacklight/blob/main/CONTRIBUTING.md).
43
43
 
44
44
  ## Configuring Apache Solr
45
- You'll also want some information about how Blacklight expects [Apache Solr](http://lucene.apache.org/solr ) to run, which you can find in [README_SOLR](https://github.com/projectblacklight/blacklight/wiki/README_SOLR)
45
+ You'll also want some information about how Blacklight expects [Apache Solr](http://lucene.apache.org/solr ) to run, which you can find in [Solr Configuration](https://github.com/projectblacklight/blacklight/wiki/Solr-Configuration#solr-configuration)
46
46
 
47
47
  ## Building the javascript
48
48
  The javascript is built by npm from sources in `app/javascript` into a bundle
data/VERSION CHANGED
@@ -1 +1 @@
1
- 7.29.0
1
+ 7.30.0
@@ -9,6 +9,7 @@
9
9
 
10
10
  input.tt-hint.form-control {
11
11
  width: 100%;
12
+ filter: opacity(0.33);
12
13
  }
13
14
 
14
15
  .tt-menu {
@@ -27,4 +28,10 @@
27
28
  font-size: 14px;
28
29
  padding: 5px 5px 5px 10px;
29
30
  }
31
+
32
+ .tt-suggestion:hover {
33
+ background-color: $dropdown-link-hover-bg;
34
+ color: $dropdown-link-hover-color;
35
+ cursor: pointer;
36
+ }
30
37
  }
@@ -1,12 +1,12 @@
1
1
  <header class="documentHeader row">
2
2
  <%= content_tag @as, class: @classes do %>
3
- <% before_title.each do |t| %>
3
+ <% before_titles.each do |t| %>
4
4
  <%= t %>
5
5
  <% end %>
6
6
 
7
7
  <%= counter -%><%= title -%>
8
8
 
9
- <% after_title.each do |t| %>
9
+ <% after_titles.each do |t| %>
10
10
  <%= t %>
11
11
  <% end %>
12
12
  <% end %>
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Blacklight
4
4
  class DocumentTitleComponent < Blacklight::Component
5
- renders_many :before_title
6
- renders_many :after_title
5
+ renders_many :before_titles
6
+ renders_many :after_titles
7
7
  renders_many :actions
8
8
 
9
9
  # rubocop:disable Metrics/ParameterLists
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blacklight
4
+ module Icons
5
+ # This is the list icon for the search button.
6
+ # You can override the default svg by setting:
7
+ # Blacklight::Icons::ListComponent.svg = '<svg>your SVG here</svg>'
8
+ class IconComponent < ::ViewComponent::Base
9
+ def initialize(svg: nil)
10
+ self.svg = svg if svg
11
+ end
12
+
13
+ def call
14
+ svg&.html_safe # rubocop:disable Rails/OutputSafety
15
+ end
16
+
17
+ class_attribute :svg
18
+ end
19
+ end
20
+ end
@@ -15,6 +15,9 @@ module Blacklight
15
15
  end
16
16
 
17
17
  def icon
18
+ return render(@view.icon.new) if @view.icon.is_a?(Class)
19
+ return render(@view.icon) if @view.icon.is_a?(ViewComponent::Base)
20
+
18
21
  Deprecation.silence(Blacklight::CatalogHelperBehavior) do
19
22
  helpers.render_view_type_group_icon(@view.icon || @key)
20
23
  end
@@ -8,6 +8,8 @@ module Blacklight
8
8
  @__vc_compiler ||= EngineCompiler.new(self)
9
9
  end
10
10
  # rubocop:enable Naming/MemoizedInstanceVariableName
11
+
12
+ alias sidecar_files _sidecar_files unless ViewComponent::Base.respond_to? :sidecar_files
11
13
  end
12
14
 
13
15
  class EngineCompiler < ::ViewComponent::Compiler
@@ -23,7 +25,7 @@ module Blacklight
23
25
  @templates ||= begin
24
26
  extensions = ActionView::Template.template_handler_extensions
25
27
 
26
- component_class._sidecar_files(extensions).each_with_object([]) do |path, memo|
28
+ component_class.sidecar_files(extensions).each_with_object([]) do |path, memo|
27
29
  pieces = File.basename(path).split(".")
28
30
  app_path = "#{Rails.root}/#{path.slice(path.index(component_class.view_component_path)..-1)}"
29
31
 
@@ -13,7 +13,7 @@ module Blacklight
13
13
  def define_field_access(key, base_class_name = nil, class: nil)
14
14
  key = key.to_s if respond_to? :to_s
15
15
 
16
- default_values[key.pluralize.to_sym] = ActiveSupport::OrderedHash.new
16
+ default_values[key.pluralize.to_sym] = ActiveSupport::HashWithIndifferentAccess.new
17
17
 
18
18
  @field_type_for_class ||= {}
19
19
  @field_type_for_class[key] = binding.local_variable_get(:class) || base_class_name
@@ -14,7 +14,7 @@ class Blacklight::Configuration
14
14
  # @!attribute display_type_field
15
15
  # @return [String, Symbol] solr field to use to render format-specific partials
16
16
  # @!attribute icon
17
- # @return [String, Symbol] icon file to use in the view picker
17
+ # @return [String, Symbol, Blacklight::Icons::IconComponent] icon file to use in the view picker
18
18
  # @!attribute document_actions
19
19
  # @return [NestedOpenStructWithHashAccess{Symbol => Blacklight::Configuration::ToolConfig}] 'tools' to render for each document
20
20
  # @!attribute facet_group_component
@@ -45,6 +45,9 @@ module Blacklight
45
45
 
46
46
  ##
47
47
  # Update the :q (query) parameter
48
+ # @param [Hash<Symbol,Object>] conditions the field and values to query on
49
+ # @example
50
+ # search_builder.where(id: [1,2,3]) # produces: q:"{!lucene}id:(1 OR 2 OR 3)"
48
51
  def where(conditions)
49
52
  Deprecation.warn(Blacklight::SearchBuilder, "SearchBuilder#where must be called with a hash, received #{conditions.inspect}.") unless conditions.is_a? Hash
50
53
  params_will_change!
@@ -166,4 +166,18 @@ RSpec.describe Blacklight::DocumentComponent, type: :component do
166
166
  expect(rendered).to have_content 'Thumb!'
167
167
  end
168
168
  end
169
+
170
+ context 'with before_title' do
171
+ let(:render) do
172
+ component.render_in(view_context) do
173
+ component.title do |c|
174
+ c.before_title { 'Prefix!' }
175
+ end
176
+ end
177
+ end
178
+
179
+ it 'shows the prefix' do
180
+ expect(rendered).to have_content "Prefix!"
181
+ end
182
+ end
169
183
  end
@@ -39,13 +39,13 @@ RSpec.describe "Blacklight::Configuration", api: true do
39
39
  end
40
40
 
41
41
  it "has ordered hashes for field configuration" do
42
- expect(config.facet_fields).to be_a_kind_of ActiveSupport::OrderedHash
43
- expect(config.index_fields).to be_a_kind_of ActiveSupport::OrderedHash
44
- expect(config.show_fields).to be_a_kind_of ActiveSupport::OrderedHash
45
- expect(config.search_fields).to be_a_kind_of ActiveSupport::OrderedHash
46
- expect(config.show_fields).to be_a_kind_of ActiveSupport::OrderedHash
47
- expect(config.search_fields).to be_a_kind_of ActiveSupport::OrderedHash
48
- expect(config.sort_fields).to be_a_kind_of ActiveSupport::OrderedHash
42
+ expect(config.facet_fields).to be_a_kind_of ActiveSupport::HashWithIndifferentAccess
43
+ expect(config.index_fields).to be_a_kind_of ActiveSupport::HashWithIndifferentAccess
44
+ expect(config.show_fields).to be_a_kind_of ActiveSupport::HashWithIndifferentAccess
45
+ expect(config.search_fields).to be_a_kind_of ActiveSupport::HashWithIndifferentAccess
46
+ expect(config.show_fields).to be_a_kind_of ActiveSupport::HashWithIndifferentAccess
47
+ expect(config.search_fields).to be_a_kind_of ActiveSupport::HashWithIndifferentAccess
48
+ expect(config.sort_fields).to be_a_kind_of ActiveSupport::HashWithIndifferentAccess
49
49
  end
50
50
  end
51
51
 
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: 7.29.0
4
+ version: 7.30.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
@@ -17,7 +17,7 @@ authors:
17
17
  autorequire:
18
18
  bindir: exe
19
19
  cert_chain: []
20
- date: 2022-07-26 00:00:00.000000000 Z
20
+ date: 2022-10-03 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails
@@ -470,6 +470,7 @@ files:
470
470
  - app/components/blacklight/facet_item_component.rb
471
471
  - app/components/blacklight/facet_item_pivot_component.rb
472
472
  - app/components/blacklight/hidden_search_state_component.rb
473
+ - app/components/blacklight/icons/icon_component.rb
473
474
  - app/components/blacklight/metadata_field_component.html.erb
474
475
  - app/components/blacklight/metadata_field_component.rb
475
476
  - app/components/blacklight/metadata_field_layout_component.html.erb