blacklight 6.12.0 → 6.13.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
  SHA1:
3
- metadata.gz: 02341df004a989772bead1f95c9d0cb9bbe2efb4
4
- data.tar.gz: bfa578b3cbd743828afdbc9e261f0aaff917373e
3
+ metadata.gz: 3f8e150bbc29ab7fea77523b447dddfc11c32c7d
4
+ data.tar.gz: 5e9a545db8bf223f3ebf452464055408739d2620
5
5
  SHA512:
6
- metadata.gz: 33942d3280a5ce4ab36703a0d81975ecc8e93a92ec44b3c824166ae0a738522bdd7a17f54fd77371449a3c386b4793d0e5dcfbdbd0542d0d25a283e9fe0a72b1
7
- data.tar.gz: 24b2a2e23c5ec9e38c710ad3764a2e47a3a9ededd1d327842a47c0d1eb52777c92576e39b16d634ca08f74c471d01427460cb532784c92fc576d45f1f03614a5
6
+ metadata.gz: a412554969d9774294084579801d8b35804d741952a8795fd45cd0d8c810c66c3a63e96c8611ef9663ecf1574e0ff0e2dc05dda706b2ed778ec0afec332babd8
7
+ data.tar.gz: 2ab4d5eaf1663d0557f4d196f475f4819d816211b1006cbbc9caa406075c0d7f5c1a9a744de458e5a667ca5f7ecc6f9de6d0a159b57ce062d82c8265b1974695
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.12.0
1
+ 6.13.0
@@ -26,6 +26,9 @@
26
26
  #
27
27
  ##
28
28
  module Blacklight::SearchFields
29
+ extend Deprecation
30
+ self.deprecation_horizon = 'blacklight 7.x'
31
+
29
32
  # Looks up search field config list from blacklight_config[:search_fields], and
30
33
  # 'normalizes' all field config hashes using normalize_config method.
31
34
  def search_field_list
@@ -37,22 +40,11 @@ module Blacklight::SearchFields
37
40
  def search_field_def_for_key(key)
38
41
  blacklight_config.search_fields[key]
39
42
  end
43
+ deprecation_deprecate search_field_def_for_key: "Use blacklight_config.search_fields[key]"
40
44
 
41
45
  # Returns default search field, used for simpler display in history, etc.
42
46
  # if not set in blacklight_config, defaults to first field listed in #search_field_list
43
47
  def default_search_field
44
48
  blacklight_config.default_search_field || search_field_list.first
45
49
  end
46
-
47
- # Shortcut for commonly needed operation, look up display
48
- # label for the key specified. Returns "Keyword" if a label
49
- # can't be found.
50
- def label_for_search_field(key)
51
- field_def = search_field_def_for_key(key)
52
- if field_def && field_def.label
53
- field_def.label
54
- else
55
- I18n.t('blacklight.search.fields.default')
56
- end
57
- end
58
50
  end
@@ -14,7 +14,7 @@ module Blacklight::ConfigurationHelperBehavior
14
14
 
15
15
  # Used in the document_list partial (search view) for building a select element
16
16
  def sort_fields
17
- active_sort_fields.map { |key, x| [x.label, x.key] }
17
+ active_sort_fields.map { |_sort_key, field_config| [sort_field_label(field_config.key), field_config.key] }
18
18
  end
19
19
  deprecation_deprecate :sort_fields
20
20
 
@@ -31,8 +31,8 @@ module Blacklight::ConfigurationHelperBehavior
31
31
  # an html select based on #search_field_list. Skips search_fields
32
32
  # marked :include_in_simple_select => false
33
33
  def search_field_options_for_select
34
- blacklight_config.search_fields.collect do |key, field_def|
35
- [field_def.label, field_def.key] if should_render_field?(field_def)
34
+ blacklight_config.search_fields.collect do |_key, field_def|
35
+ [label_for_search_field(field_def.key), field_def.key] if should_render_field?(field_def)
36
36
  end.compact
37
37
  end
38
38
 
@@ -107,6 +107,32 @@ module Blacklight::ConfigurationHelperBehavior
107
107
  )
108
108
  end
109
109
 
110
+ # Shortcut for commonly needed operation, look up display
111
+ # label for the key specified. Returns "Keyword" if a label
112
+ # can't be found.
113
+ def label_for_search_field(key)
114
+ field_config = blacklight_config.search_fields[key]
115
+ field_config ||= Blacklight::Configuration::NullField.new(key: key)
116
+
117
+ field_label(
118
+ :"blacklight.search.fields.search.#{field_config.key}",
119
+ :"blacklight.search.fields.#{field_config.key}",
120
+ (field_config.label if field_config),
121
+ key.to_s.humanize
122
+ )
123
+ end
124
+
125
+ def sort_field_label(key)
126
+ field_config = blacklight_config.sort_fields[key]
127
+ field_config ||= Blacklight::Configuration::NullField.new(key: key)
128
+
129
+ field_label(
130
+ :"blacklight.search.fields.sort.#{key}",
131
+ (field_config.label if field_config),
132
+ key.to_s.humanize
133
+ )
134
+ end
135
+
110
136
  ##
111
137
  # Look up the label for a solr field.
112
138
  #
@@ -1,12 +1,12 @@
1
1
  <% if show_sort_and_per_page? and active_sort_fields.many? %>
2
2
  <div id="sort-dropdown" class="btn-group">
3
3
  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
4
- <%= t('blacklight.search.sort.label', :field =>current_sort_field.label) %> <span class="caret"></span>
4
+ <%= t('blacklight.search.sort.label', :field =>sort_field_label(current_sort_field.key)) %> <span class="caret"></span>
5
5
  </button>
6
6
 
7
7
  <ul class="dropdown-menu" role="menu">
8
8
  <%- active_sort_fields.each do |sort_key, field_config| %>
9
- <li><%= link_to(field_config.label, url_for(search_state.params_for_search(sort: sort_key))) %></li>
9
+ <li><%= link_to(sort_field_label(sort_key), url_for(search_state.params_for_search(sort: sort_key))) %></li>
10
10
  <%- end -%>
11
11
  </ul>
12
12
  </div>
@@ -1,9 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
  module Blacklight
3
3
  class Install < Rails::Generators::Base
4
-
5
4
  source_root File.expand_path('../templates', __FILE__)
6
-
5
+
7
6
  argument :model_name , type: :string , default: "user"
8
7
  argument :controller_name, type: :string , default: "catalog"
9
8
  argument :document_name, type: :string , default: "solr_document"
@@ -14,11 +13,12 @@ module Blacklight
14
13
  class_option :jettywrapper, type: :boolean, default: false, desc: "Use jettywrapper to download and control Jetty"
15
14
  class_option :marc , type: :boolean, default: false, aliases: "-m", desc: "Generate MARC-based demo ."
16
15
  class_option :'skip-assets', type: :boolean, default: false, desc: "Skip generating javascript and css assets into the application"
16
+ class_option :'skip-solr', type: :boolean, default: false, desc: "Skip generating solr configurations."
17
17
 
18
18
  desc <<-EOS
19
19
  This generator makes the following changes to your application:
20
20
  1. Generates blacklight:models
21
- 2. Generates utilities for working with solr
21
+ 2. Generates utilities for working with solr
22
22
  3. Creates a number of public assets, including images, stylesheets, and javascript
23
23
  4. Injects behavior into your user application_controller.rb
24
24
  5. Adds example configurations for dealing with MARC-like data
@@ -28,6 +28,7 @@ module Blacklight
28
28
  EOS
29
29
 
30
30
  def add_solr_wrapper
31
+ return if options[:'skip-solr']
31
32
  generator_options = '--jettywrapper' if options[:jettywrapper]
32
33
  solr_generator = if options[:jettywrapper]
33
34
  'blacklight:solr4'
@@ -47,11 +48,11 @@ module Blacklight
47
48
 
48
49
  # Copy all files in templates/public/ directory to public/
49
50
  # Call external generator in AssetsGenerator, so we can
50
- # leave that callable seperately too.
51
- def copy_public_assets
51
+ # leave that callable seperately too.
52
+ def copy_public_assets
52
53
  generate "blacklight:assets" unless options[:'skip-assets']
53
54
  end
54
-
55
+
55
56
  def generate_blacklight_document
56
57
  generate 'blacklight:document', document_name
57
58
  end
@@ -63,20 +64,20 @@ module Blacklight
63
64
  def generate_blacklight_models
64
65
  generate 'blacklight:models'
65
66
  end
66
-
67
+
67
68
  def generate_blacklight_user
68
69
  generator_args = [model_name]
69
70
  if options[:devise]
70
71
  generator_args << "--devise #{options[:devise]}"
71
72
  end
72
-
73
+
73
74
  generate 'blacklight:user', generator_args.join(" ")
74
75
  end
75
76
 
76
77
  def generate_controller
77
78
  generate 'blacklight:controller', controller_name
78
79
  end
79
-
80
+
80
81
  def add_default_catalog_route
81
82
  route("root to: \"#{controller_name}#index\"")
82
83
  end
@@ -29,20 +29,16 @@ describe Blacklight::SearchFields do
29
29
  end
30
30
  end
31
31
 
32
- it "fills in default qt where needed" do
33
- expect(@search_field_obj.search_field_def_for_key("all_fields").qt).to eq @config.default_solr_params[:qt]
34
- end
35
-
36
- it "lookups field definitions by key" do
37
- expect(@search_field_obj.search_field_def_for_key("title").key).to eq "title"
38
- end
39
-
40
- it "finds label by key" do
41
- expect(@search_field_obj.label_for_search_field("title")).to eq "Title"
42
- end
32
+ describe "#search_field_def_for_key" do
33
+ it "fills in default qt where needed" do
34
+ expect(Deprecation).to receive(:warn).at_least(:once)
35
+ expect(@search_field_obj.search_field_def_for_key("all_fields").qt).to eq @config.default_solr_params[:qt]
36
+ end
43
37
 
44
- it "supplies default label for key not found" do
45
- expect(@search_field_obj.label_for_search_field("non_existent_key")).to eq "Keyword"
38
+ it "lookups field definitions by key" do
39
+ expect(Deprecation).to receive(:warn).at_least(:once)
40
+ expect(@search_field_obj.search_field_def_for_key("title").key).to eq "title"
41
+ end
46
42
  end
47
43
 
48
44
  describe "for unspecified :key" do
@@ -270,4 +270,18 @@ describe BlacklightConfigurationHelper do
270
270
  expect(select_arguments).not_to include(["No Display", "no_display"])
271
271
  end
272
272
  end
273
+
274
+ describe "#label_for_search_field" do
275
+ before do
276
+ blacklight_config.add_search_field 'title', :qt => 'title_search'
277
+ end
278
+
279
+ it "finds label by key" do
280
+ expect(helper.label_for_search_field("title")).to eq "Title"
281
+ end
282
+
283
+ it "supplies default label for key not found" do
284
+ expect(helper.label_for_search_field("non_existent_key")).to eq "Non existent key"
285
+ end
286
+ end
273
287
  end
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: 6.12.0
4
+ version: 6.13.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: 2017-11-14 00:00:00.000000000 Z
20
+ date: 2017-12-06 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails