geoblacklight 4.0.0.pre.alpha.3 → 4.0.0.pre.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (191) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE.md +1 -1
  3. data/.github/workflows/ruby.yml +32 -64
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +6 -6
  6. data/.rubocop_todo.yml +0 -3
  7. data/.solr_wrapper +1 -0
  8. data/README.md +1 -4
  9. data/Rakefile +0 -1
  10. data/app/assets/images/blacklight/child-item.svg +3 -0
  11. data/app/assets/images/blacklight/collections.svg +4 -0
  12. data/app/assets/images/blacklight/datasets.svg +7 -0
  13. data/app/assets/images/blacklight/geoblacklight-icons.json +363 -332
  14. data/app/assets/images/blacklight/imagery.svg +4 -0
  15. data/app/assets/images/blacklight/maps.svg +4 -0
  16. data/app/assets/images/blacklight/parent-item.svg +3 -0
  17. data/app/assets/images/blacklight/university-of-colorado-boulder.svg +6 -0
  18. data/app/assets/images/blacklight/websites.svg +4 -0
  19. data/app/assets/javascripts/geoblacklight/controls/fullscreen.js +8 -0
  20. data/app/assets/javascripts/geoblacklight/geoblacklight.js +2 -1
  21. data/app/assets/javascripts/geoblacklight/viewers/esri.js +1 -0
  22. data/app/assets/javascripts/geoblacklight/viewers/index_map.js +1 -0
  23. data/app/assets/javascripts/geoblacklight/viewers/tilejson.js +33 -0
  24. data/app/assets/javascripts/geoblacklight/viewers/tms.js +2 -2
  25. data/app/assets/javascripts/geoblacklight/viewers/viewer.js +3 -0
  26. data/app/assets/javascripts/geoblacklight/viewers/wms.js +2 -2
  27. data/app/assets/javascripts/geoblacklight/viewers/wmts.js +85 -0
  28. data/app/assets/javascripts/geoblacklight/viewers/xyz.js +10 -0
  29. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +1 -0
  30. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +0 -1
  31. data/app/assets/stylesheets/geoblacklight/modules/_styles.scss +5 -1
  32. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +20 -47
  33. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +68 -0
  34. data/app/assets/stylesheets/geoblacklight/modules/item.scss +16 -0
  35. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +6 -0
  36. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +4 -0
  37. data/app/components/geoblacklight/icon_facet_item_component.rb +33 -0
  38. data/app/helpers/geoblacklight_helper.rb +6 -45
  39. data/app/models/concerns/geoblacklight/bbox_filter_field.rb +45 -0
  40. data/app/models/concerns/geoblacklight/bbox_filter_query.rb +50 -0
  41. data/app/models/concerns/geoblacklight/solr_document.rb +1 -1
  42. data/app/models/concerns/geoblacklight/suppressed_records_search_behavior.rb +26 -0
  43. data/app/presenters/geoblacklight/bbox_item_presenter.rb +9 -0
  44. data/app/views/catalog/_downloads_collapse.html.erb +27 -0
  45. data/app/views/catalog/_header_icons.html.erb +2 -2
  46. data/app/views/catalog/_index_split_default.html.erb +2 -2
  47. data/app/views/catalog/_show_default_viewer_container.html.erb +17 -0
  48. data/app/views/catalog/_show_downloads.html.erb +10 -21
  49. data/app/views/catalog/_show_sidebar.html.erb +3 -0
  50. data/app/views/catalog/_show_web_services.html.erb +11 -0
  51. data/app/views/catalog/_web_services.html.erb +3 -2
  52. data/app/views/catalog/web_services.html.erb +1 -1
  53. data/config/locales/geoblacklight.en.yml +4 -1
  54. data/geoblacklight.gemspec +6 -6
  55. data/lib/generators/geoblacklight/install_generator.rb +1 -1
  56. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +5 -4
  57. data/lib/generators/geoblacklight/templates/assets/application.scss +0 -3
  58. data/lib/generators/geoblacklight/templates/catalog_controller.rb +74 -56
  59. data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +5 -5
  60. data/lib/generators/geoblacklight/templates/settings.yml +36 -23
  61. data/lib/geoblacklight/bounding_box.rb +4 -0
  62. data/lib/geoblacklight/constants.rb +3 -0
  63. data/lib/geoblacklight/engine.rb +3 -2
  64. data/lib/geoblacklight/faraday_middleware/follow_redirects.rb +176 -0
  65. data/lib/geoblacklight/item_viewer.rb +13 -1
  66. data/lib/geoblacklight/metadata/base.rb +2 -1
  67. data/lib/geoblacklight/version.rb +1 -1
  68. data/lib/geoblacklight/view_helper_override.rb +2 -28
  69. data/lib/geoblacklight.rb +0 -10
  70. data/lib/tasks/geoblacklight.rake +1 -1
  71. data/schema/geoblacklight-schema-aardvark.json +3 -23
  72. data/solr/conf/schema.xml +37 -43
  73. data/solr/conf/solrconfig.xml +17 -17
  74. data/spec/components/geoblacklight/icon_facet_item_component_spec.rb +17 -0
  75. data/spec/controllers/catalog_controller_spec.rb +1 -1
  76. data/spec/features/download_layer_spec.rb +31 -14
  77. data/spec/features/esri_viewer_spec.rb +5 -1
  78. data/spec/features/full_screen_controll_spec.rb +15 -0
  79. data/spec/features/home_page_spec.rb +2 -2
  80. data/spec/features/index_map_spec.rb +2 -2
  81. data/spec/features/missing_metadata_spec.rb +1 -1
  82. data/spec/features/multiple_downloads_spec.rb +2 -1
  83. data/spec/features/relations_spec.rb +1 -1
  84. data/spec/features/saved_searches_spec.rb +1 -1
  85. data/spec/features/search_results_complex_geometry_spec.rb +24 -0
  86. data/spec/features/search_results_icons_spec.rb +16 -0
  87. data/spec/features/search_results_map_spec.rb +2 -2
  88. data/spec/features/search_spec.rb +17 -0
  89. data/spec/features/show_page_download_spec.rb +6 -3
  90. data/spec/features/show_page_metadata_spec.rb +2 -2
  91. data/spec/features/split_view.html.erb_spec.rb +12 -1
  92. data/spec/features/tilejson_spec.rb +22 -0
  93. data/spec/features/tms_spec.rb +2 -2
  94. data/spec/features/web_services_modal_spec.rb +35 -2
  95. data/spec/features/wmts_spec.rb +34 -0
  96. data/spec/features/xyz_spec.rb +10 -0
  97. data/spec/fixtures/manifests/tilejson.json +21 -0
  98. data/spec/fixtures/manifests/wmts-multiple.xml +813 -0
  99. data/spec/fixtures/manifests/wmts-single.xml +126 -0
  100. data/spec/fixtures/solr_documents/README.md +46 -43
  101. data/spec/fixtures/solr_documents/actual-papermap1.json +2 -1
  102. data/spec/fixtures/solr_documents/actual-point1.json +2 -1
  103. data/spec/fixtures/solr_documents/actual-polygon1.json +2 -1
  104. data/spec/fixtures/solr_documents/actual-raster1.json +3 -2
  105. data/spec/fixtures/solr_documents/baruch_ancestor1.json +2 -1
  106. data/spec/fixtures/solr_documents/baruch_ancestor2.json +2 -1
  107. data/spec/fixtures/solr_documents/baruch_documentation_download.json +1 -1
  108. data/spec/fixtures/solr_documents/bbox-spans-180.json +2 -1
  109. data/spec/fixtures/solr_documents/cornell_html_metadata.json +4 -3
  110. data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +3 -2
  111. data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +3 -2
  112. data/spec/fixtures/solr_documents/esri-feature-layer.json +2 -1
  113. data/spec/fixtures/solr_documents/esri-image-map-layer.json +3 -2
  114. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +2 -1
  115. data/spec/fixtures/solr_documents/esri-wms-layer.json +2 -1
  116. data/spec/fixtures/solr_documents/harvard_raster.json +3 -2
  117. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +3 -2
  118. data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +2 -1
  119. data/spec/fixtures/solr_documents/index-map-polygon.json +2 -1
  120. data/spec/fixtures/solr_documents/index-map-stanford.json +2 -1
  121. data/spec/fixtures/solr_documents/index_map_point.json +3 -2
  122. data/spec/fixtures/solr_documents/metadata_no_provider.json +2 -1
  123. data/spec/fixtures/solr_documents/multiple-downloads.json +3 -2
  124. data/spec/fixtures/solr_documents/no_spatial.json +1 -4
  125. data/spec/fixtures/solr_documents/oembed.json +2 -1
  126. data/spec/fixtures/solr_documents/princeton-child1.json +3 -2
  127. data/spec/fixtures/solr_documents/princeton-child2.json +3 -2
  128. data/spec/fixtures/solr_documents/princeton-child3.json +2 -1
  129. data/spec/fixtures/solr_documents/princeton-child4.json +3 -2
  130. data/spec/fixtures/solr_documents/princeton-parent.json +5 -3
  131. data/spec/fixtures/solr_documents/public_direct_download.json +2 -1
  132. data/spec/fixtures/solr_documents/public_iiif_princeton.json +3 -2
  133. data/spec/fixtures/solr_documents/public_polygon_mit.json +2 -1
  134. data/spec/fixtures/solr_documents/restricted-line.json +2 -1
  135. data/spec/fixtures/solr_documents/tilejson.json +48 -0
  136. data/spec/fixtures/solr_documents/tms.json +15 -18
  137. data/spec/fixtures/solr_documents/umn_metro_result1.json +5 -3
  138. data/spec/fixtures/solr_documents/umn_state_result1.json +3 -2
  139. data/spec/fixtures/solr_documents/umn_state_result2.json +3 -5
  140. data/spec/fixtures/solr_documents/uva_slug_colon.json +2 -1
  141. data/spec/fixtures/solr_documents/wmts-multiple.json +41 -0
  142. data/spec/fixtures/solr_documents/wmts-single-layer.json +48 -0
  143. data/spec/fixtures/solr_documents/xyz.json +46 -0
  144. data/spec/helpers/geoblacklight_helper_spec.rb +12 -35
  145. data/spec/lib/geoblacklight/document_presenter_spec.rb +3 -3
  146. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -1
  147. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -1
  148. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +1 -1
  149. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -1
  150. data/spec/lib/geoblacklight/download_spec.rb +2 -2
  151. data/spec/lib/geoblacklight/metadata/base_spec.rb +19 -1
  152. data/spec/lib/geoblacklight/references_spec.rb +1 -1
  153. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +5 -0
  154. data/spec/lib/geoblacklight/view_helper_override_spec.rb +0 -10
  155. data/spec/models/concerns/geoblacklight/bbox_filter_field_spec.rb +77 -0
  156. data/spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb +105 -0
  157. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +2 -1
  158. data/spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb +31 -0
  159. data/spec/presenters/geoblacklight/bbox_item_presenter_spec.rb +36 -0
  160. data/spec/spec_helper.rb +6 -1
  161. data/spec/test_app_templates/Gemfile.extra +1 -0
  162. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -4
  163. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +5 -5
  164. data/template.rb +2 -4
  165. data/vendor/assets/images/fullscreen.png +0 -0
  166. data/vendor/assets/images/fullscreen@2x.png +0 -0
  167. data/vendor/assets/javascripts/Leaflet.fullscreen.js +152 -0
  168. data/vendor/assets/javascripts/esri-leaflet.js +10 -3
  169. data/vendor/assets/javascripts/esri-leaflet.js.map +1 -1
  170. data/vendor/assets/javascripts/leaflet-iiif.js +39 -18
  171. data/vendor/assets/javascripts/leaflet-src.js.erb +14062 -0
  172. data/vendor/assets/javascripts/leaflet-src.js.map +1 -1
  173. data/vendor/assets/stylesheets/leaflet.css +640 -634
  174. data/vendor/assets/stylesheets/leaflet.fullscreen.css +40 -0
  175. metadata +92 -49
  176. data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +0 -71
  177. data/app/views/catalog/_download_generated_link.html.erb +0 -4
  178. data/app/views/catalog/_download_link.html.erb +0 -3
  179. data/app/views/catalog/_downloads_generated.html.erb +0 -6
  180. data/app/views/catalog/_downloads_primary.html.erb +0 -21
  181. data/app/views/catalog/_downloads_secondary.html.erb +0 -39
  182. data/app/views/catalog/_icon_facet.html.erb +0 -16
  183. data/bin/coverage.rb +0 -36
  184. data/lib/generators/geoblacklight/templates/Procfile +0 -3
  185. data/lib/generators/geoblacklight/templates/package.json +0 -14
  186. data/lib/generators/geoblacklight/templates/webpacker.yml +0 -67
  187. data/lib/generators/geoblacklight/webpacker_generator.rb +0 -36
  188. data/lib/geoblacklight/catalog_helper_override.rb +0 -14
  189. data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +0 -97
  190. data/vendor/assets/javascripts/leaflet.js.erb +0 -13922
  191. data/vendor/assets/stylesheets/leaflet-label.css +0 -54
@@ -0,0 +1,40 @@
1
+ .leaflet-control-fullscreen a {
2
+ background:#fff url(fullscreen.png) no-repeat 0 0;
3
+ background-size:26px 52px;
4
+ }
5
+ .leaflet-touch .leaflet-control-fullscreen a {
6
+ background-position: 2px 2px;
7
+ }
8
+ .leaflet-fullscreen-on .leaflet-control-fullscreen a {
9
+ background-position:0 -26px;
10
+ }
11
+ .leaflet-touch.leaflet-fullscreen-on .leaflet-control-fullscreen a {
12
+ background-position: 2px -24px;
13
+ }
14
+
15
+ /* Do not combine these two rules; IE will break. */
16
+ .leaflet-container:-webkit-full-screen {
17
+ width:100%!important;
18
+ height:100%!important;
19
+ }
20
+ .leaflet-container.leaflet-fullscreen-on {
21
+ width:100%!important;
22
+ height:100%!important;
23
+ }
24
+
25
+ .leaflet-pseudo-fullscreen {
26
+ position:fixed!important;
27
+ width:100%!important;
28
+ height:100%!important;
29
+ top:0!important;
30
+ left:0!important;
31
+ z-index:99999;
32
+ }
33
+
34
+ @media
35
+ (-webkit-min-device-pixel-ratio:2),
36
+ (min-resolution:192dpi) {
37
+ .leaflet-control-fullscreen a {
38
+ background-image:url(fullscreen@2x.png);
39
+ }
40
+ }
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geoblacklight
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.pre.alpha.3
4
+ version: 4.0.0.pre.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Graves
8
8
  - Darren Hardy
9
9
  - Eliot Jordan
10
10
  - Jack Reed
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2021-11-09 00:00:00.000000000 Z
14
+ date: 2022-02-25 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -39,14 +39,14 @@ dependencies:
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '7.8'
42
+ version: '7.12'
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: '7.8'
49
+ version: '7.12'
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: config
52
52
  requirement: !ruby/object:Gem::Requirement
@@ -65,30 +65,16 @@ dependencies:
65
65
  name: faraday
66
66
  requirement: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - "~>"
68
+ - - ">="
69
69
  - !ruby/object:Gem::Version
70
70
  version: '1.0'
71
71
  type: :runtime
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - "~>"
75
+ - - ">="
76
76
  - !ruby/object:Gem::Version
77
77
  version: '1.0'
78
- - !ruby/object:Gem::Dependency
79
- name: faraday_middleware
80
- requirement: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - "~>"
83
- - !ruby/object:Gem::Version
84
- version: 1.0.0.rc1
85
- type: :runtime
86
- prerelease: false
87
- version_requirements: !ruby/object:Gem::Requirement
88
- requirements:
89
- - - "~>"
90
- - !ruby/object:Gem::Version
91
- version: 1.0.0.rc1
92
78
  - !ruby/object:Gem::Dependency
93
79
  name: coderay
94
80
  requirement: !ruby/object:Gem::Requirement
@@ -319,42 +305,56 @@ dependencies:
319
305
  requirements:
320
306
  - - "~>"
321
307
  - !ruby/object:Gem::Version
322
- version: '1.10'
308
+ version: '1.25'
323
309
  type: :development
324
310
  prerelease: false
325
311
  version_requirements: !ruby/object:Gem::Requirement
326
312
  requirements:
327
313
  - - "~>"
328
314
  - !ruby/object:Gem::Version
329
- version: '1.10'
315
+ version: '1.25'
330
316
  - !ruby/object:Gem::Dependency
331
317
  name: rubocop-rails
332
318
  requirement: !ruby/object:Gem::Requirement
333
319
  requirements:
334
320
  - - "~>"
335
321
  - !ruby/object:Gem::Version
336
- version: '2.9'
322
+ version: '2.13'
337
323
  type: :development
338
324
  prerelease: false
339
325
  version_requirements: !ruby/object:Gem::Requirement
340
326
  requirements:
341
327
  - - "~>"
342
328
  - !ruby/object:Gem::Version
343
- version: '2.9'
329
+ version: '2.13'
344
330
  - !ruby/object:Gem::Dependency
345
331
  name: rubocop-rspec
346
332
  requirement: !ruby/object:Gem::Requirement
347
333
  requirements:
348
334
  - - "~>"
349
335
  - !ruby/object:Gem::Version
350
- version: '2.2'
336
+ version: '2.8'
337
+ type: :development
338
+ prerelease: false
339
+ version_requirements: !ruby/object:Gem::Requirement
340
+ requirements:
341
+ - - "~>"
342
+ - !ruby/object:Gem::Version
343
+ version: '2.8'
344
+ - !ruby/object:Gem::Dependency
345
+ name: webmock
346
+ requirement: !ruby/object:Gem::Requirement
347
+ requirements:
348
+ - - "~>"
349
+ - !ruby/object:Gem::Version
350
+ version: '3.14'
351
351
  type: :development
352
352
  prerelease: false
353
353
  version_requirements: !ruby/object:Gem::Requirement
354
354
  requirements:
355
355
  - - "~>"
356
356
  - !ruby/object:Gem::Version
357
- version: '2.2'
357
+ version: '3.14'
358
358
  description: GeoBlacklight provides a world-class discovery platform for geospatial
359
359
  (GIS) holdings. It is an open collaborative project aiming to build off of the successes
360
360
  of the Blacklight Solr-powered discovery interface and the multi-institutional OpenGeoportal
@@ -364,8 +364,7 @@ email:
364
364
  - drh@stanford.edu
365
365
  - eliotj@princeton.edu
366
366
  - pjreed@stanford.edu
367
- executables:
368
- - coverage.rb
367
+ executables: []
369
368
  extensions: []
370
369
  extra_rdoc_files: []
371
370
  files:
@@ -392,10 +391,13 @@ files:
392
391
  - app/assets/images/blacklight/bookmark.svg
393
392
  - app/assets/images/blacklight/cd-rom.svg
394
393
  - app/assets/images/blacklight/chicago.svg
394
+ - app/assets/images/blacklight/child-item.svg
395
395
  - app/assets/images/blacklight/citation.svg
396
396
  - app/assets/images/blacklight/collection.svg
397
+ - app/assets/images/blacklight/collections.svg
397
398
  - app/assets/images/blacklight/columbia.svg
398
399
  - app/assets/images/blacklight/cornell.svg
400
+ - app/assets/images/blacklight/datasets.svg
399
401
  - app/assets/images/blacklight/dvd-rom.svg
400
402
  - app/assets/images/blacklight/email.svg
401
403
  - app/assets/images/blacklight/esri-globe.svg
@@ -405,6 +407,7 @@ files:
405
407
  - app/assets/images/blacklight/home.svg
406
408
  - app/assets/images/blacklight/illinois.svg
407
409
  - app/assets/images/blacklight/image.svg
410
+ - app/assets/images/blacklight/imagery.svg
408
411
  - app/assets/images/blacklight/indiana.svg
409
412
  - app/assets/images/blacklight/iowa.svg
410
413
  - app/assets/images/blacklight/leaf.svg
@@ -413,6 +416,7 @@ files:
413
416
  - app/assets/images/blacklight/logo.svg
414
417
  - app/assets/images/blacklight/map-marker.svg
415
418
  - app/assets/images/blacklight/map.svg
419
+ - app/assets/images/blacklight/maps.svg
416
420
  - app/assets/images/blacklight/maryland.svg
417
421
  - app/assets/images/blacklight/massgis.svg
418
422
  - app/assets/images/blacklight/metadata.svg
@@ -429,6 +433,7 @@ files:
429
433
  - app/assets/images/blacklight/ohio-state.svg
430
434
  - app/assets/images/blacklight/pagelines-brands.svg
431
435
  - app/assets/images/blacklight/paper-map.svg
436
+ - app/assets/images/blacklight/parent-item.svg
432
437
  - app/assets/images/blacklight/penn-state.svg
433
438
  - app/assets/images/blacklight/pennsylvania-state-university.svg
434
439
  - app/assets/images/blacklight/point.svg
@@ -449,6 +454,7 @@ files:
449
454
  - app/assets/images/blacklight/tufts.svg
450
455
  - app/assets/images/blacklight/ucla.svg
451
456
  - app/assets/images/blacklight/university-of-chicago.svg
457
+ - app/assets/images/blacklight/university-of-colorado-boulder.svg
452
458
  - app/assets/images/blacklight/university-of-illinois-urbana-champaign.svg
453
459
  - app/assets/images/blacklight/university-of-iowa.svg
454
460
  - app/assets/images/blacklight/university-of-maryland.svg
@@ -458,10 +464,12 @@ files:
458
464
  - app/assets/images/blacklight/university-of-wisconsin-madison.svg
459
465
  - app/assets/images/blacklight/uva.svg
460
466
  - app/assets/images/blacklight/web_services.svg
467
+ - app/assets/images/blacklight/websites.svg
461
468
  - app/assets/images/blacklight/wisconsin.svg
462
469
  - app/assets/images/favicon.ico
463
470
  - app/assets/javascripts/geoblacklight/basemaps.js
464
471
  - app/assets/javascripts/geoblacklight/controls.js
472
+ - app/assets/javascripts/geoblacklight/controls/fullscreen.js
465
473
  - app/assets/javascripts/geoblacklight/controls/opacity.js
466
474
  - app/assets/javascripts/geoblacklight/downloaders.js
467
475
  - app/assets/javascripts/geoblacklight/downloaders/downloader.js
@@ -493,9 +501,12 @@ files:
493
501
  - app/assets/javascripts/geoblacklight/viewers/index_map.js
494
502
  - app/assets/javascripts/geoblacklight/viewers/map.js
495
503
  - app/assets/javascripts/geoblacklight/viewers/oembed.js
504
+ - app/assets/javascripts/geoblacklight/viewers/tilejson.js
496
505
  - app/assets/javascripts/geoblacklight/viewers/tms.js
497
506
  - app/assets/javascripts/geoblacklight/viewers/viewer.js
498
507
  - app/assets/javascripts/geoblacklight/viewers/wms.js
508
+ - app/assets/javascripts/geoblacklight/viewers/wmts.js
509
+ - app/assets/javascripts/geoblacklight/viewers/xyz.js
499
510
  - app/assets/stylesheets/geoblacklight/geoblacklight.scss
500
511
  - app/assets/stylesheets/geoblacklight/modules/_base.scss
501
512
  - app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss
@@ -521,6 +532,7 @@ files:
521
532
  - app/assets/stylesheets/geoblacklight/modules/web_services.scss
522
533
  - app/components/geoblacklight/homepage_feature_facet_component.html.erb
523
534
  - app/components/geoblacklight/homepage_feature_facet_component.rb
535
+ - app/components/geoblacklight/icon_facet_item_component.rb
524
536
  - app/controllers/download_controller.rb
525
537
  - app/controllers/relation_controller.rb
526
538
  - app/controllers/wms_controller.rb
@@ -529,27 +541,25 @@ files:
529
541
  - app/helpers/carto_helper.rb
530
542
  - app/helpers/geoblacklight/geoblacklight_helper_behavior.rb
531
543
  - app/helpers/geoblacklight_helper.rb
544
+ - app/models/concerns/geoblacklight/bbox_filter_field.rb
545
+ - app/models/concerns/geoblacklight/bbox_filter_query.rb
532
546
  - app/models/concerns/geoblacklight/solr_document.rb
533
547
  - app/models/concerns/geoblacklight/solr_document/arcgis.rb
534
548
  - app/models/concerns/geoblacklight/solr_document/carto.rb
535
549
  - app/models/concerns/geoblacklight/solr_document/citation.rb
536
550
  - app/models/concerns/geoblacklight/solr_document/finder.rb
537
551
  - app/models/concerns/geoblacklight/solr_document/inspection.rb
538
- - app/models/concerns/geoblacklight/spatial_search_behavior.rb
552
+ - app/models/concerns/geoblacklight/suppressed_records_search_behavior.rb
553
+ - app/presenters/geoblacklight/bbox_item_presenter.rb
539
554
  - app/presenters/geoblacklight/document_presenter.rb
540
555
  - app/views/catalog/_arcgis.html.erb
541
556
  - app/views/catalog/_carto.html.erb
542
557
  - app/views/catalog/_citation.html.erb
543
558
  - app/views/catalog/_data_dictionary.html.erb
544
559
  - app/views/catalog/_document_split.html.erb
545
- - app/views/catalog/_download_generated_link.html.erb
546
- - app/views/catalog/_download_link.html.erb
547
- - app/views/catalog/_downloads_generated.html.erb
548
- - app/views/catalog/_downloads_primary.html.erb
549
- - app/views/catalog/_downloads_secondary.html.erb
560
+ - app/views/catalog/_downloads_collapse.html.erb
550
561
  - app/views/catalog/_header_icons.html.erb
551
562
  - app/views/catalog/_home_text.html.erb
552
- - app/views/catalog/_icon_facet.html.erb
553
563
  - app/views/catalog/_index_split_default.html.erb
554
564
  - app/views/catalog/_metadata.html.erb
555
565
  - app/views/catalog/_relations_container.html.erb
@@ -560,6 +570,7 @@ files:
560
570
  - app/views/catalog/_show_downloads.html.erb
561
571
  - app/views/catalog/_show_header_default.html.erb
562
572
  - app/views/catalog/_show_sidebar.html.erb
573
+ - app/views/catalog/_show_web_services.html.erb
563
574
  - app/views/catalog/_web_services.html.erb
564
575
  - app/views/catalog/_web_services_default.html.erb
565
576
  - app/views/catalog/_web_services_wfs.html.erb
@@ -576,7 +587,6 @@ files:
576
587
  - app/views/relation/index.json.jbuilder
577
588
  - app/views/shared/_header_navbar.html.erb
578
589
  - babel.config.json
579
- - bin/coverage.rb
580
590
  - config/initializers/new_gbl_settings_defaults_3_4.yml
581
591
  - config/initializers/rails_config.rb
582
592
  - config/locales/geoblacklight.en.yml
@@ -584,21 +594,16 @@ files:
584
594
  - jest.config.js
585
595
  - lib/generators/geoblacklight/assets_generator.rb
586
596
  - lib/generators/geoblacklight/install_generator.rb
587
- - lib/generators/geoblacklight/templates/Procfile
588
597
  - lib/generators/geoblacklight/templates/assets/_blacklight.scss
589
598
  - lib/generators/geoblacklight/templates/assets/_customizations.scss
590
599
  - lib/generators/geoblacklight/templates/assets/_geoblacklight.scss
591
600
  - lib/generators/geoblacklight/templates/assets/application.scss
592
601
  - lib/generators/geoblacklight/templates/assets/geoblacklight.js
593
602
  - lib/generators/geoblacklight/templates/catalog_controller.rb
594
- - lib/generators/geoblacklight/templates/package.json
595
603
  - lib/generators/geoblacklight/templates/settings.gbl_v1.yml
596
604
  - lib/generators/geoblacklight/templates/settings.yml
597
- - lib/generators/geoblacklight/templates/webpacker.yml
598
- - lib/generators/geoblacklight/webpacker_generator.rb
599
605
  - lib/geoblacklight.rb
600
606
  - lib/geoblacklight/bounding_box.rb
601
- - lib/geoblacklight/catalog_helper_override.rb
602
607
  - lib/geoblacklight/constants.rb
603
608
  - lib/geoblacklight/download.rb
604
609
  - lib/geoblacklight/download/geojson_download.rb
@@ -608,6 +613,7 @@ files:
608
613
  - lib/geoblacklight/download/shapefile_download.rb
609
614
  - lib/geoblacklight/engine.rb
610
615
  - lib/geoblacklight/exceptions.rb
616
+ - lib/geoblacklight/faraday_middleware/follow_redirects.rb
611
617
  - lib/geoblacklight/geometry.rb
612
618
  - lib/geoblacklight/item_viewer.rb
613
619
  - lib/geoblacklight/metadata.rb
@@ -655,6 +661,7 @@ files:
655
661
  - solr/conf/xslt/example_rss.xsl
656
662
  - solr/conf/xslt/luke.xsl
657
663
  - spec/components/geoblacklight/homepage_feature_facet_component_spec.rb
664
+ - spec/components/geoblacklight/icon_facet_item_component_spec.rb
658
665
  - spec/config/initializers/rails_config_spec.rb
659
666
  - spec/controllers/catalog_controller_spec.rb
660
667
  - spec/controllers/download_controller_spec.rb
@@ -668,6 +675,7 @@ files:
668
675
  - spec/features/empty_search_spec.rb
669
676
  - spec/features/esri_viewer_spec.rb
670
677
  - spec/features/exports_spec.rb
678
+ - spec/features/full_screen_controll_spec.rb
671
679
  - spec/features/help_text_spec.rb
672
680
  - spec/features/home_page_spec.rb
673
681
  - spec/features/iiif_viewer_spec.rb
@@ -684,6 +692,8 @@ files:
684
692
  - spec/features/relations_spec.rb
685
693
  - spec/features/saved_searches_spec.rb
686
694
  - spec/features/search_bar_spec.rb
695
+ - spec/features/search_results_complex_geometry_spec.rb
696
+ - spec/features/search_results_icons_spec.rb
687
697
  - spec/features/search_results_map_spec.rb
688
698
  - spec/features/search_results_overlap_ratio_spec.rb
689
699
  - spec/features/search_spec.rb
@@ -692,10 +702,16 @@ files:
692
702
  - spec/features/sms_spec.rb
693
703
  - spec/features/split_view.html.erb_spec.rb
694
704
  - spec/features/suppressed_records_spec.rb
705
+ - spec/features/tilejson_spec.rb
695
706
  - spec/features/tms_spec.rb
696
707
  - spec/features/web_services_modal_spec.rb
708
+ - spec/features/wmts_spec.rb
709
+ - spec/features/xyz_spec.rb
697
710
  - spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml
698
711
  - spec/fixtures/iso19139/stanford-cg357zz0321.xml
712
+ - spec/fixtures/manifests/tilejson.json
713
+ - spec/fixtures/manifests/wmts-multiple.xml
714
+ - spec/fixtures/manifests/wmts-single.xml
699
715
  - spec/fixtures/mods/fb897vt9938.mods
700
716
  - spec/fixtures/mods/stanford-cg357zz0321.mods
701
717
  - spec/fixtures/solr_documents/README.md
@@ -737,11 +753,15 @@ files:
737
753
  - spec/fixtures/solr_documents/public_polygon_mit.json
738
754
  - spec/fixtures/solr_documents/restricted-line.json
739
755
  - spec/fixtures/solr_documents/the-related-record.json
756
+ - spec/fixtures/solr_documents/tilejson.json
740
757
  - spec/fixtures/solr_documents/tms.json
741
758
  - spec/fixtures/solr_documents/umn_metro_result1.json
742
759
  - spec/fixtures/solr_documents/umn_state_result1.json
743
760
  - spec/fixtures/solr_documents/umn_state_result2.json
744
761
  - spec/fixtures/solr_documents/uva_slug_colon.json
762
+ - spec/fixtures/solr_documents/wmts-multiple.json
763
+ - spec/fixtures/solr_documents/wmts-single-layer.json
764
+ - spec/fixtures/solr_documents/xyz.json
745
765
  - spec/helpers/arcgis_helper_spec.rb
746
766
  - spec/helpers/carto_helper_spec.rb
747
767
  - spec/helpers/geoblacklight/geoblacklight_helper_behavior_spec.rb
@@ -774,12 +794,15 @@ files:
774
794
  - spec/lib/geoblacklight/view_helper_override_spec.rb
775
795
  - spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb
776
796
  - spec/lib/geoblacklight/wms_layer_spec.rb
797
+ - spec/models/concerns/geoblacklight/bbox_filter_field_spec.rb
798
+ - spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb
777
799
  - spec/models/concerns/geoblacklight/solr_document/carto_spec.rb
778
800
  - spec/models/concerns/geoblacklight/solr_document/citation_spec.rb
779
801
  - spec/models/concerns/geoblacklight/solr_document/finder_spec.rb
780
802
  - spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb
781
803
  - spec/models/concerns/geoblacklight/solr_document_spec.rb
782
- - spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb
804
+ - spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb
805
+ - spec/presenters/geoblacklight/bbox_item_presenter_spec.rb
783
806
  - spec/routing/catalog_routing_spec.rb
784
807
  - spec/spec_helper.rb
785
808
  - spec/support/backport_test_helpers.rb
@@ -801,24 +824,27 @@ files:
801
824
  - spec/views/catalog/_show_downloads.html.erb_spec.rb
802
825
  - spec/views/catalog/_show_tools.html.erb_spec.rb
803
826
  - template.rb
827
+ - vendor/assets/images/fullscreen.png
828
+ - vendor/assets/images/fullscreen@2x.png
804
829
  - vendor/assets/images/layers-2x.png
805
830
  - vendor/assets/images/layers.png
806
831
  - vendor/assets/images/marker-icon-2x.png
807
832
  - vendor/assets/images/marker-icon.png
808
833
  - vendor/assets/images/marker-shadow.png
834
+ - vendor/assets/javascripts/Leaflet.fullscreen.js
809
835
  - vendor/assets/javascripts/esri-leaflet.js
810
836
  - vendor/assets/javascripts/esri-leaflet.js.map
811
837
  - vendor/assets/javascripts/leaflet-iiif.js
838
+ - vendor/assets/javascripts/leaflet-src.js.erb
812
839
  - vendor/assets/javascripts/leaflet-src.js.map
813
- - vendor/assets/javascripts/leaflet.js.erb
814
840
  - vendor/assets/javascripts/native.history.js
815
- - vendor/assets/stylesheets/leaflet-label.css
816
841
  - vendor/assets/stylesheets/leaflet.css
842
+ - vendor/assets/stylesheets/leaflet.fullscreen.css
817
843
  homepage: http://github.com/geoblacklight/geoblacklight
818
844
  licenses:
819
845
  - Apache 2.0
820
846
  metadata: {}
821
- post_install_message:
847
+ post_install_message:
822
848
  rdoc_options: []
823
849
  require_paths:
824
850
  - lib
@@ -833,12 +859,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
833
859
  - !ruby/object:Gem::Version
834
860
  version: 2.5.2
835
861
  requirements: []
836
- rubygems_version: 3.2.22
837
- signing_key:
862
+ rubygems_version: 3.0.3.1
863
+ signing_key:
838
864
  specification_version: 4
839
865
  summary: A discovery platform for geospatial holdings
840
866
  test_files:
841
867
  - spec/components/geoblacklight/homepage_feature_facet_component_spec.rb
868
+ - spec/components/geoblacklight/icon_facet_item_component_spec.rb
842
869
  - spec/config/initializers/rails_config_spec.rb
843
870
  - spec/controllers/catalog_controller_spec.rb
844
871
  - spec/controllers/download_controller_spec.rb
@@ -852,6 +879,7 @@ test_files:
852
879
  - spec/features/empty_search_spec.rb
853
880
  - spec/features/esri_viewer_spec.rb
854
881
  - spec/features/exports_spec.rb
882
+ - spec/features/full_screen_controll_spec.rb
855
883
  - spec/features/help_text_spec.rb
856
884
  - spec/features/home_page_spec.rb
857
885
  - spec/features/iiif_viewer_spec.rb
@@ -868,6 +896,8 @@ test_files:
868
896
  - spec/features/relations_spec.rb
869
897
  - spec/features/saved_searches_spec.rb
870
898
  - spec/features/search_bar_spec.rb
899
+ - spec/features/search_results_complex_geometry_spec.rb
900
+ - spec/features/search_results_icons_spec.rb
871
901
  - spec/features/search_results_map_spec.rb
872
902
  - spec/features/search_results_overlap_ratio_spec.rb
873
903
  - spec/features/search_spec.rb
@@ -876,10 +906,16 @@ test_files:
876
906
  - spec/features/sms_spec.rb
877
907
  - spec/features/split_view.html.erb_spec.rb
878
908
  - spec/features/suppressed_records_spec.rb
909
+ - spec/features/tilejson_spec.rb
879
910
  - spec/features/tms_spec.rb
880
911
  - spec/features/web_services_modal_spec.rb
912
+ - spec/features/wmts_spec.rb
913
+ - spec/features/xyz_spec.rb
881
914
  - spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml
882
915
  - spec/fixtures/iso19139/stanford-cg357zz0321.xml
916
+ - spec/fixtures/manifests/tilejson.json
917
+ - spec/fixtures/manifests/wmts-multiple.xml
918
+ - spec/fixtures/manifests/wmts-single.xml
883
919
  - spec/fixtures/mods/fb897vt9938.mods
884
920
  - spec/fixtures/mods/stanford-cg357zz0321.mods
885
921
  - spec/fixtures/solr_documents/README.md
@@ -921,11 +957,15 @@ test_files:
921
957
  - spec/fixtures/solr_documents/public_polygon_mit.json
922
958
  - spec/fixtures/solr_documents/restricted-line.json
923
959
  - spec/fixtures/solr_documents/the-related-record.json
960
+ - spec/fixtures/solr_documents/tilejson.json
924
961
  - spec/fixtures/solr_documents/tms.json
925
962
  - spec/fixtures/solr_documents/umn_metro_result1.json
926
963
  - spec/fixtures/solr_documents/umn_state_result1.json
927
964
  - spec/fixtures/solr_documents/umn_state_result2.json
928
965
  - spec/fixtures/solr_documents/uva_slug_colon.json
966
+ - spec/fixtures/solr_documents/wmts-multiple.json
967
+ - spec/fixtures/solr_documents/wmts-single-layer.json
968
+ - spec/fixtures/solr_documents/xyz.json
929
969
  - spec/helpers/arcgis_helper_spec.rb
930
970
  - spec/helpers/carto_helper_spec.rb
931
971
  - spec/helpers/geoblacklight/geoblacklight_helper_behavior_spec.rb
@@ -958,12 +998,15 @@ test_files:
958
998
  - spec/lib/geoblacklight/view_helper_override_spec.rb
959
999
  - spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb
960
1000
  - spec/lib/geoblacklight/wms_layer_spec.rb
1001
+ - spec/models/concerns/geoblacklight/bbox_filter_field_spec.rb
1002
+ - spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb
961
1003
  - spec/models/concerns/geoblacklight/solr_document/carto_spec.rb
962
1004
  - spec/models/concerns/geoblacklight/solr_document/citation_spec.rb
963
1005
  - spec/models/concerns/geoblacklight/solr_document/finder_spec.rb
964
1006
  - spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb
965
1007
  - spec/models/concerns/geoblacklight/solr_document_spec.rb
966
- - spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb
1008
+ - spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb
1009
+ - spec/presenters/geoblacklight/bbox_item_presenter_spec.rb
967
1010
  - spec/routing/catalog_routing_spec.rb
968
1011
  - spec/spec_helper.rb
969
1012
  - spec/support/backport_test_helpers.rb
@@ -1,71 +0,0 @@
1
- # frozen_string_literal: true
2
- module Geoblacklight
3
- module SpatialSearchBehavior
4
- extend ActiveSupport::Concern
5
-
6
- included do
7
- self.default_processor_chain += [:add_spatial_params, :hide_suppressed_records]
8
- end
9
-
10
- ##
11
- # Adds spatial parameters to a Solr query if :bbox is present.
12
- # @param [Blacklight::Solr::Request] solr_params :bbox should be in Solr
13
- # :bbox should be passed in using Solr lat-lon rectangle format e.g.
14
- # "minX minY maxX maxY"
15
- # @return [Blacklight::Solr::Request]
16
- def add_spatial_params(solr_params)
17
- if blacklight_params[:bbox]
18
- solr_params[:bq] ||= []
19
- solr_params[:bq] << "#{Settings.FIELDS.SPATIAL_EXTENT}:\"IsWithin(#{envelope_bounds})\"#{boost}"
20
- solr_params[:fq] ||= []
21
- solr_params[:fq] << "#{Settings.FIELDS.SPATIAL_EXTENT}:\"Intersects(#{envelope_bounds})\""
22
-
23
- if Settings.OVERLAP_RATIO_BOOST
24
- solr_params[:bf] ||= []
25
- solr_params[:overlap] =
26
- "{!field uf=* defType=lucene f=#{Settings.FIELDS.OVERLAP_FIELD} score=overlapRatio}Intersects(#{envelope_bounds})"
27
- solr_params[:bf] << "$overlap^#{Settings.OVERLAP_RATIO_BOOST}"
28
- end
29
- end
30
- solr_params
31
- rescue Geoblacklight::Exceptions::WrongBoundingBoxFormat
32
- # TODO: Potentially delete bbox params here so that its not rendered as search param
33
- solr_params
34
- end
35
-
36
- ##
37
- # @return [String]
38
- def envelope_bounds
39
- bounding_box.to_envelope
40
- end
41
-
42
- ## Allow bq boost to be configured, default 10 for backwards compatibility
43
- # @return [String]
44
- def boost
45
- "^#{Settings.BBOX_WITHIN_BOOST || '10'}"
46
- end
47
-
48
- ##
49
- # Returns a Geoblacklight::BoundingBox built from the blacklight_params
50
- # @return [Geoblacklight::BoundingBox]
51
- def bounding_box
52
- Geoblacklight::BoundingBox.from_rectangle(blacklight_params[:bbox])
53
- end
54
-
55
- ##
56
- # Hide suppressed records in search
57
- # @param [Blacklight::Solr::Request]
58
- # @return [Blacklight::Solr::Request]
59
- def hide_suppressed_records(solr_params)
60
- # Show child records if searching for a specific source parent
61
- return unless blacklight_params.fetch(:f, {})[Settings.FIELDS.SOURCE.to_sym].nil?
62
-
63
- # Do not suppress action_documents method calls for individual documents
64
- # ex. CatalogController#web_services (exportable views)
65
- return if solr_params[:q]&.include?("{!lucene}#{Settings.FIELDS.ID}:")
66
-
67
- solr_params[:fq] ||= []
68
- solr_params[:fq] << "-#{Settings.FIELDS.SUPPRESSED}: true"
69
- end
70
- end
71
- end
@@ -1,4 +0,0 @@
1
- <li class="list-group-item export">
2
- <div class="export-label"><%= download_body %></div>
3
- <div class="export-link-container"><%= download_link %></div>
4
- </li>
@@ -1,3 +0,0 @@
1
- <li class="list-group-item download">
2
- <div class="download-link-container"><%= download_link %></div>
3
- </li>
@@ -1,6 +0,0 @@
1
- <%# Renders the secondary downloads displayed in the split dropdown %>
2
- <% document ||= @document %>
3
-
4
- <% document.download_types.each do |type| %>
5
- <%= render partial: 'download_generated_link', locals: { download_body: download_generated_body(type.first), download_link: download_link_generated(type.first, document) } %>
6
- <% end %>
@@ -1,21 +0,0 @@
1
- <%# Renders the primary download that is shown first %>
2
- <% document ||= @document %>
3
-
4
- <% if document.direct_download.present? %>
5
- <% if document.direct_download[:download].is_a? Array %>
6
- <% document.direct_download[:download].each do |download| %>
7
- <%= render partial: 'download_link', locals: { download_link: download_link_file(download['label'], document.id, download['url']) } %>
8
- <% end %>
9
- <% end %>
10
- <% if document.direct_download[:download].is_a? String %>
11
- <%= render partial: 'download_link', locals: { download_link: download_link_file(download_text(document.file_format), document.id, document.direct_download[:download]) } %>
12
- <% end %>
13
- <% end %>
14
-
15
- <% if document.hgl_download.present? %>
16
- <%= render partial: 'download_link', locals: { download_link: download_link_hgl(download_text(document.download_types.first[0]), document) } %>
17
- <% end %>
18
-
19
- <% if document.iiif_download.present? %>
20
- <%= render partial: 'download_link', locals: { download_link: download_link_iiif } %>
21
- <% end %>
@@ -1,39 +0,0 @@
1
- <%# Renders the secondary downloads displayed in the split dropdown %>
2
- <% document ||= @document %>
3
-
4
- <button type='button' class='btn btn-default dropdown-toggle download-dropdown-toggle' data-toggle='dropdown' aria-expanded='false'>
5
- <span class='caret'></span>
6
- <span class='sr-only'>Toggle Download Dropdown</span>
7
- </button>
8
- <ul class='dropdown-menu' role='menu'>
9
- <% if document.hgl_download.present? %>
10
- <li role="presentation" class="dropdown-header">Original</li>
11
- <li>
12
- <%= link_to(download_text(document.download_types.first[0]),
13
- download_hgl_path(id: document), data: {blacklight_modal: 'trigger', download: 'trigger', download_type: 'harvard-hgl', download_id: document.id }) %>
14
- </li>
15
- <% else %>
16
- <% if document.direct_download.present? %>
17
- <li role="presentation" class="dropdown-header">Original</li>
18
- <li>
19
- <%= link_to(download_text(@document.file_format), document.direct_download[:download], 'contentUrl' => document.direct_download[:download], data: { download: 'trigger', download_type: 'direct', download_id: document.id }) %>
20
- </li>
21
- <% end %>
22
- <% if document.download_types.present? || document.iiif_download.present? %>
23
- <li role="presentation" class="dropdown-header">Generated</li>
24
- <% end %>
25
- <% if document.iiif_download.present? %>
26
- <li>
27
- <%= link_to "Download JPG", iiif_jpg_url, download: 'trigger' %>
28
- </li>
29
- <% end %>
30
-
31
- <% if document.download_types.present? %>
32
- <% document.download_types.each do |type| %>
33
- <%= content_tag(:li) do %>
34
- <% link_to(download_text(type[0]), '', data: { download_path: "#{download_path(document.id, type: type[0])}", download: 'trigger', download_type: type[0], download_id: document.id }) %>
35
- <% end %>
36
- <% end %>
37
- <% end %>
38
- <% end %>
39
- </ul>