blacklight-spotlight 3.0.0.alpha.6 → 3.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/app/assets/javascripts/spotlight/admin/blocks/browse_block.js +55 -1
  4. data/app/assets/javascripts/spotlight/admin/blocks/uploaded_items_block.js +7 -2
  5. data/app/assets/javascripts/spotlight/admin/crop.es6 +11 -0
  6. data/app/assets/javascripts/spotlight/admin/sir-trevor/block_controls.js +21 -12
  7. data/app/assets/javascripts/spotlight/admin/sir-trevor/locales.js +3 -2
  8. data/app/assets/stylesheets/spotlight/_accessibility.scss +8 -0
  9. data/app/assets/stylesheets/spotlight/_browse.scss +16 -0
  10. data/app/assets/stylesheets/spotlight/_curation.scss +9 -16
  11. data/app/assets/stylesheets/spotlight/_featured_browse_categories_block.scss +7 -4
  12. data/app/assets/stylesheets/spotlight/_header.scss +1 -1
  13. data/app/assets/stylesheets/spotlight/_item_text_block.scss +6 -0
  14. data/app/assets/stylesheets/spotlight/_nestable.scss +4 -0
  15. data/app/assets/stylesheets/spotlight/_pages.scss +3 -1
  16. data/app/assets/stylesheets/spotlight/_report_a_problem.scss +5 -2
  17. data/app/assets/stylesheets/spotlight/_spotlight.scss +1 -0
  18. data/app/assets/stylesheets/spotlight/_translations.scss +1 -0
  19. data/app/controllers/concerns/spotlight/base.rb +8 -0
  20. data/app/controllers/spotlight/admin_users_controller.rb +4 -1
  21. data/app/controllers/spotlight/appearances_controller.rb +1 -0
  22. data/app/controllers/spotlight/browse_controller.rb +1 -1
  23. data/app/controllers/spotlight/catalog_controller.rb +2 -2
  24. data/app/controllers/spotlight/exhibits_controller.rb +4 -3
  25. data/app/controllers/spotlight/featured_images_controller.rb +1 -1
  26. data/app/controllers/spotlight/pages_controller.rb +1 -5
  27. data/app/controllers/spotlight/resources/csv_upload_controller.rb +1 -1
  28. data/app/controllers/spotlight/searches_controller.rb +3 -2
  29. data/app/controllers/spotlight/sites_controller.rb +8 -2
  30. data/app/controllers/spotlight/translations_controller.rb +46 -0
  31. data/app/helpers/spotlight/crop_helper.rb +4 -1
  32. data/app/helpers/spotlight/title_helper.rb +12 -2
  33. data/app/jobs/spotlight/add_uploads_from_csv.rb +30 -5
  34. data/app/mailers/spotlight/indexing_complete_mailer.rb +3 -2
  35. data/app/models/concerns/spotlight/translatables.rb +17 -1
  36. data/app/models/spotlight/about_page.rb +3 -1
  37. data/app/models/spotlight/contact.rb +1 -1
  38. data/app/models/spotlight/custom_field.rb +3 -3
  39. data/app/models/spotlight/exhibit.rb +4 -2
  40. data/app/models/spotlight/feature_page.rb +3 -1
  41. data/app/models/spotlight/featured_image.rb +29 -12
  42. data/app/models/spotlight/home_page.rb +3 -1
  43. data/app/models/spotlight/main_navigation.rb +2 -2
  44. data/app/models/spotlight/masthead.rb +1 -1
  45. data/app/models/spotlight/page.rb +7 -3
  46. data/app/models/spotlight/page_configurations.rb +1 -0
  47. data/app/models/spotlight/page_content.rb +2 -0
  48. data/app/models/spotlight/resources/csv_upload.rb +2 -1
  49. data/app/models/spotlight/resources/iiif_manifest.rb +2 -0
  50. data/app/models/spotlight/resources/upload.rb +1 -1
  51. data/app/models/spotlight/search.rb +5 -1
  52. data/app/models/spotlight/solr_document_sidecar.rb +7 -5
  53. data/app/models/spotlight/temporary_image.rb +8 -0
  54. data/app/services/spotlight/exhibit_import_export_service.rb +454 -0
  55. data/app/services/spotlight/solr_document_builder.rb +1 -0
  56. data/app/values/custom_field_name.rb +1 -0
  57. data/app/views/catalog/_save_search.html.erb +1 -1
  58. data/app/views/layouts/spotlight/spotlight.html.erb +1 -1
  59. data/app/views/shared/_site_sidebar.html.erb +1 -1
  60. data/app/views/spotlight/about_pages/_contact.html.erb +15 -17
  61. data/app/views/spotlight/admin_users/index.html.erb +1 -1
  62. data/app/views/spotlight/appearances/edit.html.erb +1 -23
  63. data/app/views/spotlight/browse/_search.html.erb +3 -2
  64. data/app/views/spotlight/browse/_search_title.html.erb +2 -1
  65. data/app/views/spotlight/exhibits/new.html.erb +1 -1
  66. data/app/views/spotlight/feature_pages/_sidebar.html.erb +9 -5
  67. data/app/views/spotlight/indexing_complete_mailer/documents_indexed.html.erb +9 -0
  68. data/app/views/spotlight/pages/_form.html.erb +2 -2
  69. data/app/views/spotlight/pages/_page.html.erb +19 -35
  70. data/app/views/spotlight/search_configurations/_facets.html.erb +15 -34
  71. data/app/views/spotlight/search_configurations/_search_fields.html.erb +4 -19
  72. data/app/views/spotlight/search_configurations/_sort.html.erb +8 -22
  73. data/app/views/spotlight/searches/_form.html.erb +1 -0
  74. data/app/views/spotlight/searches/_search.html.erb +31 -29
  75. data/app/views/spotlight/shared/_dd3_item.html.erb +56 -0
  76. data/app/views/spotlight/shared/_honeypot_field.html.erb +4 -0
  77. data/app/views/spotlight/shared/_report_a_problem.html.erb +7 -10
  78. data/app/views/spotlight/sir_trevor/blocks/_browse_block.html.erb +1 -0
  79. data/app/views/spotlight/sir_trevor/blocks/_uploaded_items_block.html.erb +7 -1
  80. data/app/views/spotlight/sites/edit.html.erb +1 -1
  81. data/app/views/spotlight/sites/edit_exhibits.html.erb +1 -1
  82. data/app/views/spotlight/translations/_browse_categories.html.erb +29 -3
  83. data/app/views/spotlight/translations/_general.html.erb +7 -7
  84. data/app/views/spotlight/translations/_import.html.erb +24 -0
  85. data/app/views/spotlight/translations/_metadata.html.erb +1 -1
  86. data/app/views/spotlight/translations/_page.html.erb +5 -5
  87. data/app/views/spotlight/translations/_pages.html.erb +4 -4
  88. data/app/views/spotlight/translations/_pages_table.html.erb +5 -5
  89. data/app/views/spotlight/translations/_search_fields.html.erb +3 -3
  90. data/app/views/spotlight/translations/edit.html.erb +8 -6
  91. data/app/views/spotlight/translations/show.yaml.yamlbuilder +81 -0
  92. data/config/i18n-tasks.yml +2 -0
  93. data/config/locales/spotlight.ar.yml +47 -24
  94. data/config/locales/spotlight.en.yml +82 -67
  95. data/config/routes.rb +6 -1
  96. data/db/migrate/20200403161512_add_subtitle_to_searches.rb +7 -0
  97. data/lib/generators/spotlight/install_generator.rb +22 -1
  98. data/lib/generators/spotlight/templates/config/initializers/sir_trevor_rails.rb +10 -0
  99. data/lib/generators/spotlight/templates/config/initializers/spotlight_initializer.rb +2 -0
  100. data/lib/spotlight/engine.rb +26 -0
  101. data/lib/spotlight/upload_field_config.rb +1 -0
  102. data/lib/spotlight/version.rb +1 -1
  103. data/spec/controllers/spotlight/browse_controller_spec.rb +1 -1
  104. data/spec/controllers/spotlight/home_pages_controller_spec.rb +1 -1
  105. data/spec/controllers/spotlight/resources/csv_upload_controller_spec.rb +4 -4
  106. data/spec/controllers/spotlight/resources/upload_controller_spec.rb +2 -2
  107. data/spec/controllers/spotlight/translations_controller_spec.rb +53 -2
  108. data/spec/examples.txt +1410 -1389
  109. data/spec/factories/featured_images.rb +4 -0
  110. data/spec/features/add_contacts_spec.rb +1 -1
  111. data/spec/features/browse_category_admin_spec.rb +2 -2
  112. data/spec/features/create_exhibit_spec.rb +6 -6
  113. data/spec/features/dashboard_spec.rb +5 -5
  114. data/spec/features/exhibits/administration_spec.rb +3 -3
  115. data/spec/features/exhibits/language_create_edit_spec.rb +3 -3
  116. data/spec/features/exhibits/translation_editing_spec.rb +2 -2
  117. data/spec/features/home_page_spec.rb +9 -0
  118. data/spec/features/javascript/block_controls_spec.rb +2 -0
  119. data/spec/features/javascript/blocks/uploaded_items_block_spec.rb +4 -1
  120. data/spec/features/report_a_problem_spec.rb +5 -4
  121. data/spec/helpers/spotlight/pages_helper_spec.rb +2 -2
  122. data/spec/helpers/spotlight/title_helper_spec.rb +13 -0
  123. data/spec/i18n_spec.rb +0 -2
  124. data/spec/jobs/spotlight/add_uploads_from_csv_spec.rb +13 -1
  125. data/spec/mailers/spotlight/indexing_complete_mailer_spec.rb +11 -1
  126. data/spec/models/solr_document_spec.rb +2 -3
  127. data/spec/models/spotlight/access_controls_enforcement_search_builder_spec.rb +1 -0
  128. data/spec/models/spotlight/exhibit_spec.rb +9 -1
  129. data/spec/models/spotlight/feature_page_spec.rb +0 -5
  130. data/spec/models/spotlight/featured_image_spec.rb +27 -0
  131. data/spec/models/spotlight/page_spec.rb +6 -1
  132. data/spec/models/spotlight/resources/upload_spec.rb +43 -79
  133. data/spec/models/spotlight/role_spec.rb +2 -2
  134. data/spec/{serializers/spotlight/exhibit_export_serializer_spec.rb → services/spotlight/exhibit_import_export_service_spec.rb} +120 -22
  135. data/spec/services/spotlight/iiif_resource_resolver_spec.rb +1 -1
  136. data/spec/test_app_templates/Gemfile.extra +0 -3
  137. data/spec/views/spotlight/feature_pages/_sidebar.html.erb_spec.rb +1 -0
  138. data/spec/views/spotlight/metadata_configurations/_metadata_field.html.erb_spec.rb +3 -3
  139. data/spec/views/spotlight/search_configurations/_search_fields.html.erb_spec.rb +1 -1
  140. data/spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb +9 -10
  141. data/spec/views/spotlight/translations/_import.html.erb_spec.rb +24 -0
  142. data/vendor/assets/javascripts/leaflet-iiif.js +46 -21
  143. metadata +69 -34
  144. data/app/serializers/spotlight/exhibit_export_serializer.rb +0 -205
  145. data/app/serializers/spotlight/featured_image_representer.rb +0 -29
  146. data/app/serializers/spotlight/main_navigation_representer.rb +0 -13
  147. data/app/serializers/spotlight/page_representer.rb +0 -33
@@ -49,6 +49,6 @@ describe 'spotlight/search_configurations/_search_fields', type: :view do
49
49
  end
50
50
 
51
51
  it 'parameterizes the data-id attribute for search field key' do
52
- expect(rendered).to have_selector '[data-id="some_field-with_a_space-id"]'
52
+ expect(rendered).to have_selector '[data-id="some_field-with_a_space"]'
53
53
  end
54
54
  end
@@ -2,6 +2,13 @@
2
2
 
3
3
  describe 'spotlight/search_configurations/_sort', type: :view do
4
4
  let(:exhibit) { FactoryBot.create(:exhibit) }
5
+ let(:f) do
6
+ form_helper = nil
7
+ controller.view_context.bootstrap_form_for(exhibit.blacklight_configuration, url: '/update') do |f|
8
+ form_helper = f
9
+ end
10
+ form_helper
11
+ end
5
12
 
6
13
  before do
7
14
  original_config = Spotlight::Engine.blacklight_config.deep_dup
@@ -16,14 +23,6 @@ describe 'spotlight/search_configurations/_sort', type: :view do
16
23
  )
17
24
  end
18
25
 
19
- let(:f) do
20
- form_helper = nil
21
- controller.view_context.bootstrap_form_for(exhibit.blacklight_configuration, url: '/update') do |f|
22
- form_helper = f
23
- end
24
- form_helper
25
- end
26
-
27
26
  it 'has a disabled relevance sort option' do
28
27
  render partial: 'spotlight/search_configurations/sort', locals: { f: f }
29
28
  expect(rendered).to have_selector "input[name='blacklight_configuration[sort_fields][relevance][enable]'][disabled='disabled']"
@@ -31,11 +30,11 @@ describe 'spotlight/search_configurations/_sort', type: :view do
31
30
 
32
31
  it 'parameterizes the data-id attribute for sort fields (e.g. when no key is supplied and the sort is used as the key)' do
33
32
  render partial: 'spotlight/search_configurations/sort', locals: { f: f }
34
- expect(rendered).to have_css('[data-id="sort_title_ssi-asc-plus_another_field-desc-id"]')
33
+ expect(rendered).to have_css('[data-id="sort_title_ssi-asc-plus_another_field-desc"]')
35
34
  end
36
35
 
37
36
  it 'hides fields that are configured not to display' do
38
37
  render partial: 'spotlight/search_configurations/sort', locals: { f: f }
39
- expect(rendered).not_to have_css('[data-id="some_disabled_field-id"]')
38
+ expect(rendered).not_to have_css('[data-id="some_disabled_field"]')
40
39
  end
41
40
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe 'spotlight/translations/_import.html.erb', type: :view do
4
+ let(:exhibit) { FactoryBot.create(:exhibit) }
5
+
6
+ before do
7
+ allow(view).to receive(:can?).and_return(true)
8
+ allow(view).to receive(:current_exhibit).and_return(exhibit)
9
+ assign(:language, :es)
10
+ I18n.default_locale = 'en'
11
+ end
12
+
13
+ it 'has a link to export the translation data' do
14
+ render
15
+ expect(rendered).to have_link 'Export English', href: spotlight.exhibit_translations_path(exhibit_id: exhibit, format: 'yaml', locale: 'en')
16
+ expect(rendered).to have_link 'Export Spanish', href: spotlight.exhibit_translations_path(exhibit_id: exhibit, format: 'yaml', locale: 'es')
17
+ end
18
+
19
+ it 'has a form to import the translation data' do
20
+ render
21
+ expect(rendered).to have_selector "form[action='#{spotlight.import_exhibit_translations_path(exhibit_id: exhibit)}']"
22
+ expect(rendered).to have_selector 'input[name="file"]'
23
+ end
24
+ end
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Leaflet-IIIF 2.0.0
2
+ * Leaflet-IIIF 3.0.0
3
3
  * IIIF Viewer for Leaflet
4
4
  * by Jack Reed, @mejackreed
5
5
  */
@@ -32,7 +32,7 @@ L.TileLayer.Iiif = L.TileLayer.extend({
32
32
  }
33
33
 
34
34
  options = L.setOptions(this, options);
35
- this._infoDeferred = new $.Deferred();
35
+ this._infoPromise = null;
36
36
  this._infoUrl = url;
37
37
  this._baseUrl = this._templateUrl();
38
38
  this._getInfo();
@@ -48,27 +48,39 @@ L.TileLayer.Iiif = L.TileLayer.extend({
48
48
  miny = (y * tileBaseSize),
49
49
  maxx = Math.min(minx + tileBaseSize, _this.x),
50
50
  maxy = Math.min(miny + tileBaseSize, _this.y);
51
-
51
+
52
52
  var xDiff = (maxx - minx);
53
53
  var yDiff = (maxy - miny);
54
54
 
55
+ // Canonical URI Syntax for v2
56
+ var size = Math.ceil(xDiff / scale) + ',';
57
+ if (_this.type === 'ImageService3') {
58
+ // Cannonical URI Syntax for v3
59
+ size = size + Math.ceil(yDiff / scale);
60
+ }
61
+
55
62
  return L.Util.template(this._baseUrl, L.extend({
56
63
  format: _this.options.tileFormat,
57
64
  quality: _this.quality,
58
65
  region: [minx, miny, xDiff, yDiff].join(','),
59
66
  rotation: 0,
60
- size: Math.ceil(xDiff / scale) + ','
67
+ size: size
61
68
  }, this.options));
62
69
  },
63
70
  onAdd: function(map) {
64
71
  var _this = this;
65
72
 
66
- // Wait for deferred to complete
67
- $.when(_this._infoDeferred).done(function() {
73
+ // Wait for info.json fetch and parse to complete
74
+ Promise.all([_this._infoPromise]).then(function() {
75
+ // Store unmutated imageSizes
76
+ _this._imageSizesOriginal = _this._imageSizes.slice(0);
68
77
 
69
78
  // Set maxZoom for map
70
79
  map._layersMaxZoom = _this.maxZoom;
71
80
 
81
+ // Call add TileLayer
82
+ L.TileLayer.prototype.onAdd.call(_this, map);
83
+
72
84
  // Set minZoom and minNativeZoom based on how the imageSizes match up
73
85
  var smallestImage = _this._imageSizes[0];
74
86
  var mapSize = _this._map.getSize();
@@ -88,9 +100,6 @@ L.TileLayer.Iiif = L.TileLayer.extend({
88
100
  _this._prev_map_layersMinZoom = _this._map._layersMinZoom;
89
101
  _this._map._layersMinZoom = newMinZoom;
90
102
 
91
- // Call add TileLayer
92
- L.TileLayer.prototype.onAdd.call(_this, map);
93
-
94
103
  if (_this.options.fitBounds) {
95
104
  _this._fitBounds();
96
105
  }
@@ -112,12 +121,16 @@ L.TileLayer.Iiif = L.TileLayer.extend({
112
121
  tile.tile.style.height = height + 'px';
113
122
 
114
123
  });
124
+ })
125
+ .catch(function(err){
126
+ console.error(err);
115
127
  });
116
128
  },
117
129
  onRemove: function(map) {
118
130
  var _this = this;
119
-
131
+
120
132
  map._layersMinZoom = _this._prev_map_layersMinZoom;
133
+ _this._imageSizes = _this._imageSizesOriginal;
121
134
 
122
135
  // Remove maxBounds set for this image
123
136
  if(_this.options.setMaxBounds) {
@@ -156,9 +169,14 @@ L.TileLayer.Iiif = L.TileLayer.extend({
156
169
  _getInfo: function() {
157
170
  var _this = this;
158
171
 
159
- // Look for a way to do this without jQuery
160
- $.getJSON(_this._infoUrl)
161
- .done(function(data) {
172
+ _this._infoPromise = fetch(_this._infoUrl)
173
+ .then(function(response) {
174
+ return response.json();
175
+ })
176
+ .catch(function(err){
177
+ console.error(err);
178
+ })
179
+ .then(function(data) {
162
180
  _this.y = data.height;
163
181
  _this.x = data.width;
164
182
 
@@ -176,6 +194,7 @@ L.TileLayer.Iiif = L.TileLayer.extend({
176
194
  }else {
177
195
  _this.profile = data.profile;
178
196
  }
197
+ _this.type = data.type;
179
198
 
180
199
  _this._setQuality();
181
200
 
@@ -197,10 +216,13 @@ L.TileLayer.Iiif = L.TileLayer.extend({
197
216
  };
198
217
 
199
218
  // Calculates maximum native zoom for the layer
200
- _this.maxNativeZoom = Math.max(ceilLog2(_this.x / _this.options.tileSize),
201
- ceilLog2(_this.y / _this.options.tileSize));
219
+ _this.maxNativeZoom = Math.max(
220
+ ceilLog2(_this.x / _this.options.tileSize),
221
+ ceilLog2(_this.y / _this.options.tileSize),
222
+ 0
223
+ );
202
224
  _this.options.maxNativeZoom = _this.maxNativeZoom;
203
-
225
+
204
226
  // Enable zooming further than native if maxZoom option supplied
205
227
  if (_this._customMaxZoom && _this.options.maxZoom > _this.maxNativeZoom) {
206
228
  _this.maxZoom = _this.options.maxZoom;
@@ -208,7 +230,7 @@ L.TileLayer.Iiif = L.TileLayer.extend({
208
230
  else {
209
231
  _this.maxZoom = _this.maxNativeZoom;
210
232
  }
211
-
233
+
212
234
  for (var i = 0; i <= _this.maxZoom; i++) {
213
235
  scale = Math.pow(2, _this.maxNativeZoom - i);
214
236
  width_ = Math.ceil(_this.x / scale);
@@ -221,10 +243,11 @@ L.TileLayer.Iiif = L.TileLayer.extend({
221
243
 
222
244
  _this._tierSizes = tierSizes;
223
245
  _this._imageSizes = imageSizes;
224
-
225
- // Resolved Deferred to initiate tilelayer load
226
- _this._infoDeferred.resolve();
246
+ })
247
+ .catch(function(err){
248
+ console.error(err);
227
249
  });
250
+
228
251
  },
229
252
 
230
253
  _setQuality: function() {
@@ -259,7 +282,6 @@ L.TileLayer.Iiif = L.TileLayer.extend({
259
282
  return this._infoToBaseUrl() + '{region}/{size}/{rotation}/{quality}.{format}';
260
283
  },
261
284
  _isValidTile: function(coords) {
262
- var tileBounds = this._tileCoordsToBounds(coords);
263
285
  var _this = this;
264
286
  var zoom = _this._getZoomForUrl();
265
287
  var sizes = _this._tierSizes[zoom];
@@ -276,6 +298,9 @@ L.TileLayer.Iiif = L.TileLayer.extend({
276
298
  return true;
277
299
  }
278
300
  },
301
+ _tileShouldBeLoaded: function(coords) {
302
+ return this._isValidTile(coords);
303
+ },
279
304
  _getInitialZoom: function (mapSize) {
280
305
  var _this = this;
281
306
  var tolerance = 0.8;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight-spotlight
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.alpha.6
4
+ version: 3.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-02-26 00:00:00.000000000 Z
14
+ date: 2020-08-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: acts-as-taggable-on
@@ -37,16 +37,16 @@ dependencies:
37
37
  name: almond-rails
38
38
  requirement: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - "~>"
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: '0.1'
42
+ version: 0.3.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '0.1'
49
+ version: 0.3.0
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: autoprefixer-rails
52
52
  requirement: !ruby/object:Gem::Requirement
@@ -149,30 +149,30 @@ dependencies:
149
149
  name: devise
150
150
  requirement: !ruby/object:Gem::Requirement
151
151
  requirements:
152
- - - ">="
152
+ - - "~>"
153
153
  - !ruby/object:Gem::Version
154
- version: '3.0'
154
+ version: '4.1'
155
155
  type: :runtime
156
156
  prerelease: false
157
157
  version_requirements: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - ">="
159
+ - - "~>"
160
160
  - !ruby/object:Gem::Version
161
- version: '3.0'
161
+ version: '4.1'
162
162
  - !ruby/object:Gem::Dependency
163
163
  name: devise_invitable
164
164
  requirement: !ruby/object:Gem::Requirement
165
165
  requirements:
166
- - - "~>"
166
+ - - ">="
167
167
  - !ruby/object:Gem::Version
168
- version: '1.6'
168
+ version: '0'
169
169
  type: :runtime
170
170
  prerelease: false
171
171
  version_requirements: !ruby/object:Gem::Requirement
172
172
  requirements:
173
- - - "~>"
173
+ - - ">="
174
174
  - !ruby/object:Gem::Version
175
- version: '1.6'
175
+ version: '0'
176
176
  - !ruby/object:Gem::Dependency
177
177
  name: faraday
178
178
  requirement: !ruby/object:Gem::Requirement
@@ -387,16 +387,16 @@ dependencies:
387
387
  name: rails
388
388
  requirement: !ruby/object:Gem::Requirement
389
389
  requirements:
390
- - - "~>"
390
+ - - "<"
391
391
  - !ruby/object:Gem::Version
392
- version: '5.1'
392
+ version: '6.1'
393
393
  type: :runtime
394
394
  prerelease: false
395
395
  version_requirements: !ruby/object:Gem::Requirement
396
396
  requirements:
397
- - - "~>"
397
+ - - "<"
398
398
  - !ruby/object:Gem::Version
399
- version: '5.1'
399
+ version: '6.1'
400
400
  - !ruby/object:Gem::Dependency
401
401
  name: riiif
402
402
  requirement: !ruby/object:Gem::Requirement
@@ -457,16 +457,30 @@ dependencies:
457
457
  name: sir_trevor_rails
458
458
  requirement: !ruby/object:Gem::Requirement
459
459
  requirements:
460
- - - "~>"
460
+ - - ">="
461
461
  - !ruby/object:Gem::Version
462
- version: '0.5'
462
+ version: 0.6.1
463
463
  type: :runtime
464
464
  prerelease: false
465
465
  version_requirements: !ruby/object:Gem::Requirement
466
466
  requirements:
467
- - - "~>"
467
+ - - ">="
468
+ - !ruby/object:Gem::Version
469
+ version: 0.6.1
470
+ - !ruby/object:Gem::Dependency
471
+ name: sprockets
472
+ requirement: !ruby/object:Gem::Requirement
473
+ requirements:
474
+ - - "<"
475
+ - !ruby/object:Gem::Version
476
+ version: '4'
477
+ type: :runtime
478
+ prerelease: false
479
+ version_requirements: !ruby/object:Gem::Requirement
480
+ requirements:
481
+ - - "<"
468
482
  - !ruby/object:Gem::Version
469
- version: '0.5'
483
+ version: '4'
470
484
  - !ruby/object:Gem::Dependency
471
485
  name: sprockets-es6
472
486
  requirement: !ruby/object:Gem::Requirement
@@ -481,6 +495,20 @@ dependencies:
481
495
  - - ">="
482
496
  - !ruby/object:Gem::Version
483
497
  version: '0'
498
+ - !ruby/object:Gem::Dependency
499
+ name: thor
500
+ requirement: !ruby/object:Gem::Requirement
501
+ requirements:
502
+ - - ">="
503
+ - !ruby/object:Gem::Version
504
+ version: '0'
505
+ type: :runtime
506
+ prerelease: false
507
+ version_requirements: !ruby/object:Gem::Requirement
508
+ requirements:
509
+ - - ">="
510
+ - !ruby/object:Gem::Version
511
+ version: '0'
484
512
  - !ruby/object:Gem::Dependency
485
513
  name: tophat
486
514
  requirement: !ruby/object:Gem::Requirement
@@ -515,14 +543,14 @@ dependencies:
515
543
  requirements:
516
544
  - - "~>"
517
545
  - !ruby/object:Gem::Version
518
- version: '3'
546
+ version: '3.31'
519
547
  type: :development
520
548
  prerelease: false
521
549
  version_requirements: !ruby/object:Gem::Requirement
522
550
  requirements:
523
551
  - - "~>"
524
552
  - !ruby/object:Gem::Version
525
- version: '3'
553
+ version: '3.31'
526
554
  - !ruby/object:Gem::Dependency
527
555
  name: engine_cart
528
556
  requirement: !ruby/object:Gem::Requirement
@@ -641,14 +669,14 @@ dependencies:
641
669
  requirements:
642
670
  - - "~>"
643
671
  - !ruby/object:Gem::Version
644
- version: 0.79.0
672
+ version: 0.83.0
645
673
  type: :development
646
674
  prerelease: false
647
675
  version_requirements: !ruby/object:Gem::Requirement
648
676
  requirements:
649
677
  - - "~>"
650
678
  - !ruby/object:Gem::Version
651
- version: 0.79.0
679
+ version: 0.83.0
652
680
  - !ruby/object:Gem::Dependency
653
681
  name: rubocop-rspec
654
682
  requirement: !ruby/object:Gem::Requirement
@@ -844,6 +872,7 @@ files:
844
872
  - app/assets/javascripts/spotlight/user/index.js
845
873
  - app/assets/javascripts/spotlight/user/report_a_problem.js
846
874
  - app/assets/javascripts/spotlight/user/zpr_links.js.erb
875
+ - app/assets/stylesheets/spotlight/_accessibility.scss
847
876
  - app/assets/stylesheets/spotlight/_attachments.css
848
877
  - app/assets/stylesheets/spotlight/_blacklight_configuration.scss
849
878
  - app/assets/stylesheets/spotlight/_blacklight_overrides.scss
@@ -1014,13 +1043,11 @@ files:
1014
1043
  - app/models/spotlight/search.rb
1015
1044
  - app/models/spotlight/site.rb
1016
1045
  - app/models/spotlight/solr_document_sidecar.rb
1046
+ - app/models/spotlight/temporary_image.rb
1017
1047
  - app/presenters/spotlight/iiif_manifest_presenter.rb
1018
- - app/serializers/spotlight/exhibit_export_serializer.rb
1019
- - app/serializers/spotlight/featured_image_representer.rb
1020
- - app/serializers/spotlight/main_navigation_representer.rb
1021
- - app/serializers/spotlight/page_representer.rb
1022
1048
  - app/services/spotlight/carrierwave_file_resolver.rb
1023
1049
  - app/services/spotlight/clone_translated_page_from_locale.rb
1050
+ - app/services/spotlight/exhibit_import_export_service.rb
1024
1051
  - app/services/spotlight/iiif_resource_resolver.rb
1025
1052
  - app/services/spotlight/invite_users_service.rb
1026
1053
  - app/services/spotlight/resources/iiif_builder.rb
@@ -1174,7 +1201,9 @@ files:
1174
1201
  - app/views/spotlight/searches/index.html.erb
1175
1202
  - app/views/spotlight/shared/_configuration_sidebar.html.erb
1176
1203
  - app/views/spotlight/shared/_curation_sidebar.html.erb
1204
+ - app/views/spotlight/shared/_dd3_item.html.erb
1177
1205
  - app/views/spotlight/shared/_exhibit_sidebar.html.erb
1206
+ - app/views/spotlight/shared/_honeypot_field.html.erb
1178
1207
  - app/views/spotlight/shared/_locale_picker.html.erb
1179
1208
  - app/views/spotlight/shared/_report_a_problem.html.erb
1180
1209
  - app/views/spotlight/sir_trevor/_sir_trevor_block_array.html.erb
@@ -1204,12 +1233,14 @@ files:
1204
1233
  - app/views/spotlight/tags/index.html.erb
1205
1234
  - app/views/spotlight/translations/_browse_categories.html.erb
1206
1235
  - app/views/spotlight/translations/_general.html.erb
1236
+ - app/views/spotlight/translations/_import.html.erb
1207
1237
  - app/views/spotlight/translations/_metadata.html.erb
1208
1238
  - app/views/spotlight/translations/_page.html.erb
1209
1239
  - app/views/spotlight/translations/_pages.html.erb
1210
1240
  - app/views/spotlight/translations/_pages_table.html.erb
1211
1241
  - app/views/spotlight/translations/_search_fields.html.erb
1212
1242
  - app/views/spotlight/translations/edit.html.erb
1243
+ - app/views/spotlight/translations/show.yaml.yamlbuilder
1213
1244
  - config/i18n-tasks.yml
1214
1245
  - config/locales/devise.en.yml
1215
1246
  - config/locales/spotlight.ar.yml
@@ -1287,12 +1318,14 @@ files:
1287
1318
  - db/migrate/20190813085432_add_is_multiple_to_custom_fields.rb
1288
1319
  - db/migrate/20190910200927_create_spotlight_custom_search_fields.rb
1289
1320
  - db/migrate/20191205112300_add_unique_index_to_sidecars.rb
1321
+ - db/migrate/20200403161512_add_subtitle_to_searches.rb
1290
1322
  - lib/blacklight/spotlight.rb
1291
1323
  - lib/generators/spotlight/install_generator.rb
1292
1324
  - lib/generators/spotlight/scaffold_resource_generator.rb
1293
1325
  - lib/generators/spotlight/templates/catalog_controller.rb
1294
1326
  - lib/generators/spotlight/templates/config/initializers/oembed.rb
1295
1327
  - lib/generators/spotlight/templates/config/initializers/riiif.rb
1328
+ - lib/generators/spotlight/templates/config/initializers/sir_trevor_rails.rb
1296
1329
  - lib/generators/spotlight/templates/config/initializers/spotlight_initializer.rb
1297
1330
  - lib/generators/spotlight/templates/config/initializers/translation.rb
1298
1331
  - lib/generators/spotlight/templates/config/sitemap.rb
@@ -1502,9 +1535,9 @@ files:
1502
1535
  - spec/routing/spotlight/exhibit_catalog_spec.rb
1503
1536
  - spec/routing/spotlight/featured_images_spec.rb
1504
1537
  - spec/routing/spotlight/pages_routing_spec.rb
1505
- - spec/serializers/spotlight/exhibit_export_serializer_spec.rb
1506
1538
  - spec/services/spotlight/carrierwave_file_resolver_spec.rb
1507
1539
  - spec/services/spotlight/clone_translated_page_from_locale_spec.rb
1540
+ - spec/services/spotlight/exhibit_import_export_service_spec.rb
1508
1541
  - spec/services/spotlight/iiif_resource_resolver_spec.rb
1509
1542
  - spec/services/spotlight/invite_users_service_spec.rb
1510
1543
  - spec/services/spotlight/solr_document_builder_spec.rb
@@ -1582,6 +1615,7 @@ files:
1582
1615
  - spec/views/spotlight/sir_trevor/blocks/_solr_documents_grid_block.html.erb_spec.rb
1583
1616
  - spec/views/spotlight/sites/edit_exhibits.html.erb_spec.rb
1584
1617
  - spec/views/spotlight/tags/index.html.erb_spec.rb
1618
+ - spec/views/spotlight/translations/_import.html.erb_spec.rb
1585
1619
  - spec/views/spotlight/translations/_page.html.erb_spec.rb
1586
1620
  - vendor/assets/images/sir-trevor-icons.svg
1587
1621
  - vendor/assets/javascripts/Leaflet.Editable.js
@@ -1627,14 +1661,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
1627
1661
  requirements:
1628
1662
  - - "~>"
1629
1663
  - !ruby/object:Gem::Version
1630
- version: '2.3'
1664
+ version: '2.5'
1631
1665
  required_rubygems_version: !ruby/object:Gem::Requirement
1632
1666
  requirements:
1633
1667
  - - ">"
1634
1668
  - !ruby/object:Gem::Version
1635
1669
  version: 1.3.1
1636
1670
  requirements: []
1637
- rubygems_version: 3.0.3
1671
+ rubygems_version: 3.1.2
1638
1672
  signing_key:
1639
1673
  specification_version: 4
1640
1674
  summary: Enable librarians, curators, and others who are responsible for digital collections
@@ -1751,7 +1785,6 @@ test_files:
1751
1785
  - spec/models/translation_spec.rb
1752
1786
  - spec/models/solr_document_spec.rb
1753
1787
  - spec/presenters/spotlight/iiif_manifest_presenter_spec.rb
1754
- - spec/serializers/spotlight/exhibit_export_serializer_spec.rb
1755
1788
  - spec/support/features/capybara_default_max_wait_metadata_helper.rb
1756
1789
  - spec/support/features/test_features_helpers.rb
1757
1790
  - spec/support/stub_iiif_response.rb
@@ -1889,6 +1922,7 @@ test_files:
1889
1922
  - spec/views/spotlight/pages/show.html.erb_spec.rb
1890
1923
  - spec/views/spotlight/pages/new.html.erb_spec.rb
1891
1924
  - spec/views/spotlight/pages/index.html.erb_spec.rb
1925
+ - spec/views/spotlight/translations/_import.html.erb_spec.rb
1892
1926
  - spec/views/spotlight/translations/_page.html.erb_spec.rb
1893
1927
  - spec/views/shared/_header_navbar.html.erb_spec.rb
1894
1928
  - spec/views/shared/_exhibit_navbar.html.erb_spec.rb
@@ -1915,3 +1949,4 @@ test_files:
1915
1949
  - spec/services/spotlight/iiif_resource_resolver_spec.rb
1916
1950
  - spec/services/spotlight/solr_document_builder_spec.rb
1917
1951
  - spec/services/spotlight/carrierwave_file_resolver_spec.rb
1952
+ - spec/services/spotlight/exhibit_import_export_service_spec.rb