geoblacklight 4.7.0 → 5.0.0.pre.alpha.11

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.
Files changed (586) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build-demo-app.yml +153 -0
  3. data/.github/workflows/prune-containers.yml +19 -0
  4. data/.github/workflows/ruby.yml +54 -55
  5. data/.gitignore +2 -2
  6. data/CONTRIBUTING.md +62 -44
  7. data/Gemfile +3 -27
  8. data/Rakefile +42 -67
  9. data/app/assets/images/blacklight/logo.svg +31 -1
  10. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +1 -2
  11. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +1 -1
  12. data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +24 -26
  13. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +13 -0
  14. data/app/assets/stylesheets/geoblacklight/modules/home.scss +2 -17
  15. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +48 -23
  16. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +1 -15
  17. data/app/assets/stylesheets/geoblacklight/modules/item.scss +13 -11
  18. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +3 -3
  19. data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +4 -0
  20. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -15
  21. data/app/assets/stylesheets/geoblacklight/modules/results.scss +10 -19
  22. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +2 -2
  23. data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +46 -0
  24. data/app/components/blacklight/icons/arizona_component.rb +24 -0
  25. data/app/components/blacklight/icons/arrow_circle_down_component.rb +23 -0
  26. data/app/components/blacklight/icons/baruch_cuny_component.rb +23 -0
  27. data/app/components/blacklight/icons/book_component.rb +23 -0
  28. data/app/components/blacklight/icons/bookmark_component.rb +23 -0
  29. data/app/components/blacklight/icons/cd_rom_component.rb +23 -0
  30. data/app/components/blacklight/icons/child_item_component.rb +23 -0
  31. data/app/components/blacklight/icons/circle_info_solid_component.rb +23 -0
  32. data/app/components/blacklight/icons/citation_component.rb +23 -0
  33. data/app/components/blacklight/icons/collection_component.rb +23 -0
  34. data/app/components/blacklight/icons/collections_component.rb +24 -0
  35. data/app/components/blacklight/icons/columbia_component.rb +23 -0
  36. data/app/components/blacklight/icons/cornell_component.rb +25 -0
  37. data/app/components/blacklight/icons/datasets_component.rb +27 -0
  38. data/app/components/blacklight/icons/dvd_rom_component.rb +23 -0
  39. data/app/components/blacklight/icons/email_component.rb +23 -0
  40. data/app/components/blacklight/icons/esri_globe_component.rb +51 -0
  41. data/app/components/blacklight/icons/fire_solid_component.rb +23 -0
  42. data/app/components/blacklight/icons/george_mason_component.rb +24 -0
  43. data/app/components/blacklight/icons/globe_component.rb +23 -0
  44. data/app/components/blacklight/icons/harvard_component.rb +23 -0
  45. data/app/components/blacklight/icons/home_component.rb +23 -0
  46. data/app/components/blacklight/icons/iiif_drag_drop_component.rb +31 -0
  47. data/app/components/blacklight/icons/image_component.rb +23 -0
  48. data/app/components/blacklight/icons/imagery_component.rb +24 -0
  49. data/app/components/blacklight/icons/indiana_component.rb +23 -0
  50. data/app/components/blacklight/icons/leaf_component.rb +23 -0
  51. data/app/components/blacklight/icons/lewis_clark_component.rb +25 -0
  52. data/app/components/blacklight/icons/lightbulb_solid_component.rb +23 -0
  53. data/app/components/blacklight/icons/line_component.rb +24 -0
  54. data/app/components/blacklight/icons/map_component.rb +23 -0
  55. data/app/components/blacklight/icons/map_marker_component.rb +23 -0
  56. data/app/components/blacklight/icons/maps_component.rb +24 -0
  57. data/app/components/blacklight/icons/massgis_component.rb +23 -0
  58. data/app/components/blacklight/icons/metadata_component.rb +23 -0
  59. data/app/components/blacklight/icons/michigan_state_university_component.rb +25 -0
  60. data/app/components/blacklight/icons/mit_component.rb +23 -0
  61. data/app/components/blacklight/icons/mixed_component.rb +25 -0
  62. data/app/components/blacklight/icons/multilinestring_component.rb +26 -0
  63. data/app/components/blacklight/icons/multipoint_component.rb +23 -0
  64. data/app/components/blacklight/icons/multipolygon_component.rb +26 -0
  65. data/app/components/blacklight/icons/northwestern_university_component.rb +24 -0
  66. data/app/components/blacklight/icons/nyu_component.rb +26 -0
  67. data/app/components/blacklight/icons/pagelines_brands_component.rb +23 -0
  68. data/app/components/blacklight/icons/paper_map_component.rb +23 -0
  69. data/app/components/blacklight/icons/parent_item_component.rb +23 -0
  70. data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +25 -0
  71. data/app/components/blacklight/icons/point_component.rb +23 -0
  72. data/app/components/blacklight/icons/polygon_component.rb +24 -0
  73. data/app/components/blacklight/icons/polyline_component.rb +26 -0
  74. data/app/components/blacklight/icons/princeton_component.rb +23 -0
  75. data/app/components/blacklight/icons/public_component.rb +23 -0
  76. data/app/components/blacklight/icons/purdue_university_component.rb +25 -0
  77. data/app/components/blacklight/icons/raster_component.rb +23 -0
  78. data/app/components/blacklight/icons/restricted_component.rb +23 -0
  79. data/app/components/blacklight/icons/rutgers_component.rb +25 -0
  80. data/app/components/blacklight/icons/sms_component.rb +23 -0
  81. data/app/components/blacklight/icons/stanford_component.rb +23 -0
  82. data/app/components/blacklight/icons/table_component.rb +23 -0
  83. data/app/components/blacklight/icons/tags_component.rb +23 -0
  84. data/app/components/blacklight/icons/texas_component.rb +23 -0
  85. data/app/components/blacklight/icons/the_ohio_state_university_component.rb +26 -0
  86. data/app/components/blacklight/icons/triangle_exclamation_solid_component.rb +23 -0
  87. data/app/components/blacklight/icons/tufts_component.rb +23 -0
  88. data/app/components/blacklight/icons/ucla_component.rb +23 -0
  89. data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +24 -0
  90. data/app/components/blacklight/icons/university_of_chicago_component.rb +25 -0
  91. data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +26 -0
  92. data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +25 -0
  93. data/app/components/blacklight/icons/university_of_iowa_component.rb +24 -0
  94. data/app/components/blacklight/icons/university_of_maryland_component.rb +24 -0
  95. data/app/components/blacklight/icons/university_of_michigan_component.rb +24 -0
  96. data/app/components/blacklight/icons/university_of_minnesota_component.rb +24 -0
  97. data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +27 -0
  98. data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +24 -0
  99. data/app/components/blacklight/icons/uva_component.rb +23 -0
  100. data/app/components/blacklight/icons/web_services_component.rb +23 -0
  101. data/app/components/blacklight/icons/websites_component.rb +24 -0
  102. data/app/components/geoblacklight/arcgis_component.html.erb +3 -0
  103. data/app/components/geoblacklight/arcgis_component.rb +25 -0
  104. data/app/components/geoblacklight/attribute_table_component.html.erb +17 -0
  105. data/app/components/geoblacklight/attribute_table_component.rb +17 -0
  106. data/app/components/geoblacklight/data_dictionary_download_component.html.erb +3 -0
  107. data/app/components/geoblacklight/data_dictionary_download_component.rb +16 -0
  108. data/app/components/geoblacklight/display_note_component.rb +1 -1
  109. data/app/components/geoblacklight/document/citation_component.html.erb +1 -0
  110. data/app/components/geoblacklight/document/citation_component.rb +19 -0
  111. data/app/components/geoblacklight/document/sidebar_component.html.erb +12 -0
  112. data/app/components/geoblacklight/document/sidebar_component.rb +8 -0
  113. data/app/components/geoblacklight/document_component.html.erb +43 -0
  114. data/app/components/geoblacklight/document_component.rb +6 -0
  115. data/app/components/geoblacklight/download_links_component.html.erb +31 -0
  116. data/app/components/geoblacklight/download_links_component.rb +80 -0
  117. data/app/components/geoblacklight/header_component.html.erb +14 -0
  118. data/app/components/geoblacklight/header_component.rb +9 -0
  119. data/app/components/geoblacklight/header_icons_component.html.erb +3 -0
  120. data/app/components/geoblacklight/header_icons_component.rb +29 -0
  121. data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +3 -0
  122. data/app/components/geoblacklight/iiif_drag_drop_component.rb +16 -0
  123. data/app/components/geoblacklight/index_map_inspect_component.rb +15 -0
  124. data/app/components/geoblacklight/index_map_legend_component.html.erb +14 -0
  125. data/app/components/geoblacklight/index_map_legend_component.rb +17 -0
  126. data/app/components/geoblacklight/item_map_viewer_component.html.erb +1 -0
  127. data/app/components/geoblacklight/item_map_viewer_component.rb +87 -0
  128. data/app/components/geoblacklight/location_leaflet_map_component.html.erb +1 -0
  129. data/app/components/geoblacklight/location_leaflet_map_component.rb +49 -0
  130. data/app/components/geoblacklight/login_link_component.html.erb +5 -0
  131. data/app/components/geoblacklight/login_link_component.rb +17 -0
  132. data/app/components/geoblacklight/relations_component.html.erb +23 -0
  133. data/app/components/geoblacklight/relations_component.rb +25 -0
  134. data/app/components/geoblacklight/search_result_component.html.erb +44 -0
  135. data/app/components/geoblacklight/search_result_component.rb +28 -0
  136. data/app/components/geoblacklight/static_map_component.html.erb +9 -0
  137. data/app/components/geoblacklight/static_map_component.rb +36 -0
  138. data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -0
  139. data/app/components/geoblacklight/viewer_help_text_component.rb +46 -0
  140. data/app/components/geoblacklight/web_services_component.html.erb +1 -0
  141. data/app/components/geoblacklight/web_services_component.rb +26 -0
  142. data/app/{views/catalog/_web_services_default.html.erb → components/geoblacklight/web_services_default_component.html.erb} +3 -5
  143. data/app/components/geoblacklight/web_services_default_component.rb +11 -0
  144. data/app/components/geoblacklight/web_services_link_component.html.erb +3 -0
  145. data/app/components/geoblacklight/web_services_link_component.rb +22 -0
  146. data/app/{views/catalog/_web_services_wfs.html.erb → components/geoblacklight/web_services_wfs_component.html.erb} +4 -7
  147. data/app/components/geoblacklight/web_services_wfs_component.rb +12 -0
  148. data/app/components/geoblacklight/web_services_wms_component.html.erb +10 -0
  149. data/app/components/geoblacklight/web_services_wms_component.rb +12 -0
  150. data/app/controllers/download_controller.rb +8 -29
  151. data/app/controllers/relation_controller.rb +0 -1
  152. data/app/helpers/geoblacklight_helper.rb +10 -247
  153. data/app/javascript/geoblacklight/controllers/clipboard_controller.js +11 -0
  154. data/app/javascript/geoblacklight/controllers/clover_viewer_controller.js +47 -0
  155. data/app/javascript/geoblacklight/controllers/downloads_controller.js +56 -0
  156. data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +217 -0
  157. data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +18 -0
  158. data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +63 -0
  159. data/app/javascript/geoblacklight/controllers/search_results_controller.js +50 -0
  160. data/app/javascript/geoblacklight/core.js +69 -0
  161. data/app/javascript/geoblacklight/index.js +29 -0
  162. data/app/javascript/geoblacklight/initializers/metadata_download.js +54 -0
  163. data/app/javascript/geoblacklight/initializers/popovers.js +11 -0
  164. data/app/javascript/geoblacklight/initializers/relations.js +40 -0
  165. data/app/javascript/geoblacklight/initializers/tooltips.js +55 -0
  166. data/app/javascript/geoblacklight/initializers/truncation.js +45 -0
  167. data/app/javascript/geoblacklight/leaflet/basemaps.js +74 -0
  168. data/app/javascript/geoblacklight/leaflet/constants.js +18 -0
  169. data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +160 -0
  170. data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +120 -0
  171. data/app/javascript/geoblacklight/leaflet/inspection.js +195 -0
  172. data/app/javascript/geoblacklight/leaflet/layer_index_map.js +120 -0
  173. data/app/javascript/geoblacklight/leaflet/layer_wmts.js +59 -0
  174. data/app/javascript/geoblacklight/leaflet/layers.js +153 -0
  175. data/app/javascript/geoblacklight/leaflet/utils.js +83 -0
  176. data/app/javascript/geoblacklight/openlayers/basemaps.js +47 -0
  177. data/app/javascript/geoblacklight/openlayers/layers.js +44 -0
  178. data/app/models/concerns/geoblacklight/solr_document/citation.rb +20 -15
  179. data/app/models/concerns/geoblacklight/solr_document/inspection.rb +1 -1
  180. data/app/models/concerns/geoblacklight/solr_document.rb +23 -59
  181. data/app/presenters/geoblacklight/bbox_item_presenter.rb +1 -1
  182. data/app/views/catalog/_citation.html.erb +16 -33
  183. data/app/views/catalog/_document_split.html.erb +18 -3
  184. data/app/views/catalog/_home_text.html.erb +2 -2
  185. data/app/views/catalog/_metadata.html.erb +1 -1
  186. data/app/views/catalog/index.html.erb +8 -4
  187. data/app/views/catalog/metadata/_markup.html.erb +1 -1
  188. data/app/views/catalog/metadata.html.erb +14 -13
  189. data/app/views/catalog/web_services.html.erb +19 -28
  190. data/app/views/relation/index.html.erb +2 -12
  191. data/app/views/relation/index.json.jbuilder +1 -1
  192. data/compose.yml +14 -0
  193. data/config/importmap.rb +20 -0
  194. data/config/locales/geoblacklight.en.yml +15 -24
  195. data/geoblacklight.gemspec +8 -8
  196. data/lib/generators/geoblacklight/assets/importmap_generator.rb +87 -0
  197. data/lib/generators/geoblacklight/assets/vite_generator.rb +90 -0
  198. data/lib/generators/geoblacklight/assets_generator.rb +12 -37
  199. data/lib/generators/geoblacklight/install_generator.rb +11 -63
  200. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +13 -19
  201. data/lib/generators/geoblacklight/templates/assets/application.js +17 -0
  202. data/lib/generators/geoblacklight/templates/assets/application.scss +9 -4
  203. data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +11 -0
  204. data/lib/generators/geoblacklight/templates/base.html.erb +9 -12
  205. data/lib/generators/geoblacklight/templates/catalog_controller.rb +11 -18
  206. data/lib/generators/geoblacklight/templates/demo-app/Dockerfile +31 -0
  207. data/lib/generators/geoblacklight/templates/demo-app/compose.yml +26 -0
  208. data/lib/generators/geoblacklight/templates/demo-app/start-server.sh +21 -0
  209. data/lib/generators/geoblacklight/templates/package.json +7 -1
  210. data/lib/generators/geoblacklight/templates/settings.yml +45 -59
  211. data/lib/generators/geoblacklight/templates/vite.config.ts +22 -7
  212. data/lib/geoblacklight/bounding_box.rb +16 -0
  213. data/lib/geoblacklight/constants.rb +0 -1
  214. data/lib/geoblacklight/download/csv_download.rb +22 -0
  215. data/lib/geoblacklight/download/geojson_download.rb +1 -1
  216. data/lib/geoblacklight/download/geotiff_download.rb +1 -1
  217. data/lib/geoblacklight/download/kmz_download.rb +1 -1
  218. data/lib/geoblacklight/download/shapefile_download.rb +1 -1
  219. data/lib/geoblacklight/download.rb +1 -1
  220. data/lib/geoblacklight/engine.rb +15 -20
  221. data/lib/geoblacklight/geometry.rb +0 -7
  222. data/lib/geoblacklight/item_viewer.rb +1 -8
  223. data/lib/geoblacklight/metadata/base.rb +2 -1
  224. data/lib/geoblacklight/references.rb +27 -23
  225. data/lib/geoblacklight/routes/downloadable.rb +0 -1
  226. data/lib/geoblacklight/routes.rb +0 -3
  227. data/lib/geoblacklight/version.rb +1 -1
  228. data/lib/geoblacklight/wms_layer/feature_info_response.rb +9 -6
  229. data/lib/geoblacklight.rb +6 -47
  230. data/lib/tasks/geoblacklight.rake +24 -77
  231. data/package.json +22 -16
  232. data/solr/conf/schema.xml +15 -13
  233. data/solr/conf/solrconfig.xml +6 -4
  234. data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +15 -0
  235. data/spec/components/blacklight/icons/arizona_component_spec.rb +15 -0
  236. data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +15 -0
  237. data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +15 -0
  238. data/spec/components/blacklight/icons/book_component_spec.rb +15 -0
  239. data/spec/components/blacklight/icons/bookmark_component_spec.rb +15 -0
  240. data/spec/components/blacklight/icons/cd_rom_component_spec.rb +15 -0
  241. data/spec/components/blacklight/icons/child_item_component_spec.rb +15 -0
  242. data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +15 -0
  243. data/spec/components/blacklight/icons/citation_component_spec.rb +15 -0
  244. data/spec/components/blacklight/icons/collection_component_spec.rb +15 -0
  245. data/spec/components/blacklight/icons/collections_component_spec.rb +15 -0
  246. data/spec/components/blacklight/icons/columbia_component_spec.rb +15 -0
  247. data/spec/components/blacklight/icons/cornell_component_spec.rb +15 -0
  248. data/spec/components/blacklight/icons/datasets_component_spec.rb +15 -0
  249. data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +15 -0
  250. data/spec/components/blacklight/icons/email_component_spec.rb +15 -0
  251. data/spec/components/blacklight/icons/esri_globe_component_spec.rb +15 -0
  252. data/spec/components/blacklight/icons/fire_solid_component_spec.rb +15 -0
  253. data/spec/components/blacklight/icons/george_mason_component_spec.rb +15 -0
  254. data/spec/components/blacklight/icons/globe_component_spec.rb +15 -0
  255. data/spec/components/blacklight/icons/harvard_component_spec.rb +15 -0
  256. data/spec/components/blacklight/icons/home_component_spec.rb +15 -0
  257. data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +15 -0
  258. data/spec/components/blacklight/icons/image_component_spec.rb +15 -0
  259. data/spec/components/blacklight/icons/imagery_component_spec.rb +15 -0
  260. data/spec/components/blacklight/icons/indiana_component_spec.rb +15 -0
  261. data/spec/components/blacklight/icons/leaf_component_spec.rb +15 -0
  262. data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +15 -0
  263. data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +15 -0
  264. data/spec/components/blacklight/icons/line_component_spec.rb +15 -0
  265. data/spec/components/blacklight/icons/map_component_spec.rb +15 -0
  266. data/spec/components/blacklight/icons/map_marker_component_spec.rb +15 -0
  267. data/spec/components/blacklight/icons/maps_component_spec.rb +15 -0
  268. data/spec/components/blacklight/icons/massgis_component_spec.rb +15 -0
  269. data/spec/components/blacklight/icons/metadata_component_spec.rb +15 -0
  270. data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +15 -0
  271. data/spec/components/blacklight/icons/mit_component_spec.rb +15 -0
  272. data/spec/components/blacklight/icons/mixed_component_spec.rb +15 -0
  273. data/spec/components/blacklight/icons/multilinestring_component_spec.rb +15 -0
  274. data/spec/components/blacklight/icons/multipoint_component_spec.rb +15 -0
  275. data/spec/components/blacklight/icons/multipolygon_component_spec.rb +15 -0
  276. data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +15 -0
  277. data/spec/components/blacklight/icons/nyu_component_spec.rb +15 -0
  278. data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +15 -0
  279. data/spec/components/blacklight/icons/paper_map_component_spec.rb +15 -0
  280. data/spec/components/blacklight/icons/parent_item_component_spec.rb +15 -0
  281. data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +15 -0
  282. data/spec/components/blacklight/icons/point_component_spec.rb +15 -0
  283. data/spec/components/blacklight/icons/polygon_component_spec.rb +15 -0
  284. data/spec/components/blacklight/icons/polyline_component_spec.rb +15 -0
  285. data/spec/components/blacklight/icons/princeton_component_spec.rb +15 -0
  286. data/spec/components/blacklight/icons/public_component_spec.rb +15 -0
  287. data/spec/components/blacklight/icons/purdue_university_component_spec.rb +15 -0
  288. data/spec/components/blacklight/icons/raster_component_spec.rb +15 -0
  289. data/spec/components/blacklight/icons/restricted_component_spec.rb +15 -0
  290. data/spec/components/blacklight/icons/rutgers_component_spec.rb +15 -0
  291. data/spec/components/blacklight/icons/sms_component_spec.rb +15 -0
  292. data/spec/components/blacklight/icons/stanford_component_spec.rb +15 -0
  293. data/spec/components/blacklight/icons/table_component_spec.rb +15 -0
  294. data/spec/components/blacklight/icons/tags_component_spec.rb +15 -0
  295. data/spec/components/blacklight/icons/texas_component_spec.rb +15 -0
  296. data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +15 -0
  297. data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +15 -0
  298. data/spec/components/blacklight/icons/tufts_component_spec.rb +15 -0
  299. data/spec/components/blacklight/icons/ucla_component_spec.rb +15 -0
  300. data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +15 -0
  301. data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +15 -0
  302. data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +15 -0
  303. data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +15 -0
  304. data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +15 -0
  305. data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +15 -0
  306. data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +15 -0
  307. data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +15 -0
  308. data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +15 -0
  309. data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +15 -0
  310. data/spec/components/blacklight/icons/uva_component_spec.rb +15 -0
  311. data/spec/components/blacklight/icons/web_services_component_spec.rb +15 -0
  312. data/spec/components/blacklight/icons/websites_component_spec.rb +15 -0
  313. data/spec/components/geoblacklight/arcgis_component_spec.rb +31 -0
  314. data/spec/components/geoblacklight/attribute_table_component_spec.rb +37 -0
  315. data/spec/components/geoblacklight/citation_component_spec.rb +37 -0
  316. data/spec/components/geoblacklight/document_component_spec.rb +92 -0
  317. data/spec/components/geoblacklight/download_links_component_spec.rb +102 -0
  318. data/spec/components/geoblacklight/header_icons_component_spec.rb +56 -0
  319. data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +30 -0
  320. data/spec/components/geoblacklight/index_map_legend_component_spec.rb +42 -0
  321. data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +36 -0
  322. data/spec/components/geoblacklight/login_link_component_spec.rb +33 -0
  323. data/spec/{lib/geoblacklight/document_presenter_spec.rb → components/geoblacklight/search_result_component_spec.rb} +19 -11
  324. data/spec/components/geoblacklight/static_map_component_spec.rb +22 -0
  325. data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +28 -0
  326. data/spec/components/geoblacklight/web_services_component_spec.rb +45 -0
  327. data/spec/controllers/download_controller_spec.rb +12 -35
  328. data/spec/features/axe_spec.rb +66 -0
  329. data/spec/features/bookmarks_spec.rb +1 -1
  330. data/spec/features/citations_spec.rb +7 -3
  331. data/spec/features/configurable_basemap_spec.rb +0 -56
  332. data/spec/features/download_layer_spec.rb +24 -39
  333. data/spec/features/esri_viewer_spec.rb +1 -1
  334. data/spec/features/exports_spec.rb +0 -15
  335. data/spec/features/{full_screen_controll_spec.rb → full_screen_control_spec.rb} +6 -6
  336. data/spec/features/home_page_spec.rb +12 -7
  337. data/spec/features/iiif_viewer_spec.rb +1 -1
  338. data/spec/features/index_map_spec.rb +16 -9
  339. data/spec/features/{split_view.html.erb_spec.rb → index_view_spec.rb} +15 -13
  340. data/spec/features/layer_inspection_spec.rb +2 -2
  341. data/spec/features/layer_preview_spec.rb +1 -1
  342. data/spec/features/missing_metadata_spec.rb +5 -5
  343. data/spec/features/oembed_spec.rb +2 -2
  344. data/spec/features/saved_searches_spec.rb +4 -1
  345. data/spec/features/search_results_complex_geometry_spec.rb +2 -2
  346. data/spec/features/search_results_icons_spec.rb +3 -3
  347. data/spec/features/search_results_map_spec.rb +4 -36
  348. data/spec/features/search_results_overlap_ratio_spec.rb +1 -1
  349. data/spec/features/show_page_download_spec.rb +0 -8
  350. data/spec/features/tilejson_spec.rb +2 -2
  351. data/spec/features/web_services_modal_spec.rb +57 -39
  352. data/spec/features/wmts_spec.rb +4 -4
  353. data/spec/fixtures/solr_documents/README.md +2 -1
  354. data/spec/fixtures/solr_documents/complex-geom.json +61 -0
  355. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +45 -24
  356. data/spec/fixtures/solr_documents/harvard_raster.json +1 -1
  357. data/spec/fixtures/solr_documents/multiple-downloads.json +1 -0
  358. data/spec/helpers/geoblacklight_helper_spec.rb +8 -173
  359. data/spec/lib/geoblacklight/download/csv_download_spec.rb +21 -0
  360. data/spec/lib/geoblacklight/geometry_spec.rb +0 -15
  361. data/spec/lib/geoblacklight/reference_spec.rb +17 -19
  362. data/spec/lib/geoblacklight/references_spec.rb +30 -40
  363. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +8 -6
  364. data/spec/lib/geoblacklight/wms_layer_spec.rb +14 -0
  365. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -17
  366. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -69
  367. data/spec/spec_helper.rb +2 -31
  368. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -4
  369. data/template.rb +13 -11
  370. data/test/leaflet/layers.test.js +17 -0
  371. data/vite.config.ts +34 -23
  372. metadata +315 -273
  373. data/.hound.yml +0 -8
  374. data/.jshintignore +0 -2
  375. data/.jshintrc +0 -67
  376. data/.solr_wrapper +0 -7
  377. data/app/assets/images/blacklight/american-geographical-society-library-uwm-libraries.svg +0 -26
  378. data/app/assets/images/blacklight/arrow-circle-down.svg +0 -3
  379. data/app/assets/images/blacklight/baruch-cuny.svg +0 -3
  380. data/app/assets/images/blacklight/book.svg +0 -3
  381. data/app/assets/images/blacklight/bookmark.svg +0 -3
  382. data/app/assets/images/blacklight/cd-rom.svg +0 -3
  383. data/app/assets/images/blacklight/chicago.svg +0 -4
  384. data/app/assets/images/blacklight/child-item.svg +0 -3
  385. data/app/assets/images/blacklight/circle-info-solid.svg +0 -1
  386. data/app/assets/images/blacklight/citation.svg +0 -3
  387. data/app/assets/images/blacklight/collection.svg +0 -3
  388. data/app/assets/images/blacklight/collections.svg +0 -4
  389. data/app/assets/images/blacklight/columbia.svg +0 -3
  390. data/app/assets/images/blacklight/cornell.svg +0 -5
  391. data/app/assets/images/blacklight/datasets.svg +0 -7
  392. data/app/assets/images/blacklight/dvd-rom.svg +0 -3
  393. data/app/assets/images/blacklight/email.svg +0 -3
  394. data/app/assets/images/blacklight/esri-globe.svg +0 -31
  395. data/app/assets/images/blacklight/fire-solid.svg +0 -1
  396. data/app/assets/images/blacklight/geoblacklight-icons.json +0 -3312
  397. data/app/assets/images/blacklight/george-mason.svg +0 -4
  398. data/app/assets/images/blacklight/globe.svg +0 -3
  399. data/app/assets/images/blacklight/harvard.svg +0 -3
  400. data/app/assets/images/blacklight/home.svg +0 -3
  401. data/app/assets/images/blacklight/illinois.svg +0 -4
  402. data/app/assets/images/blacklight/image.svg +0 -3
  403. data/app/assets/images/blacklight/imagery.svg +0 -4
  404. data/app/assets/images/blacklight/indiana.svg +0 -3
  405. data/app/assets/images/blacklight/iowa.svg +0 -3
  406. data/app/assets/images/blacklight/leaf.svg +0 -3
  407. data/app/assets/images/blacklight/lewis-clark.svg +0 -5
  408. data/app/assets/images/blacklight/lightbulb-solid.svg +0 -1
  409. data/app/assets/images/blacklight/line.svg +0 -4
  410. data/app/assets/images/blacklight/map-marker.svg +0 -3
  411. data/app/assets/images/blacklight/map.svg +0 -3
  412. data/app/assets/images/blacklight/maps.svg +0 -4
  413. data/app/assets/images/blacklight/maryland.svg +0 -3
  414. data/app/assets/images/blacklight/massgis.svg +0 -3
  415. data/app/assets/images/blacklight/metadata.svg +0 -3
  416. data/app/assets/images/blacklight/michigan-state-university.svg +0 -5
  417. data/app/assets/images/blacklight/michigan-state.svg +0 -4
  418. data/app/assets/images/blacklight/michigan.svg +0 -3
  419. data/app/assets/images/blacklight/minnesota.svg +0 -3
  420. data/app/assets/images/blacklight/mit.svg +0 -3
  421. data/app/assets/images/blacklight/mixed.svg +0 -5
  422. data/app/assets/images/blacklight/multilinestring.svg +0 -6
  423. data/app/assets/images/blacklight/multipoint.svg +0 -3
  424. data/app/assets/images/blacklight/multipolygon.svg +0 -6
  425. data/app/assets/images/blacklight/nebraska.svg +0 -4
  426. data/app/assets/images/blacklight/northwestern-university.svg +0 -5
  427. data/app/assets/images/blacklight/nyu.svg +0 -6
  428. data/app/assets/images/blacklight/ohio-state.svg +0 -5
  429. data/app/assets/images/blacklight/pagelines-brands.svg +0 -3
  430. data/app/assets/images/blacklight/paper-map.svg +0 -3
  431. data/app/assets/images/blacklight/parent-item.svg +0 -3
  432. data/app/assets/images/blacklight/penn-state.svg +0 -4
  433. data/app/assets/images/blacklight/pennsylvania-state-university.svg +0 -5
  434. data/app/assets/images/blacklight/point.svg +0 -3
  435. data/app/assets/images/blacklight/polygon.svg +0 -4
  436. data/app/assets/images/blacklight/polyline.svg +0 -6
  437. data/app/assets/images/blacklight/princeton.svg +0 -3
  438. data/app/assets/images/blacklight/public.svg +0 -3
  439. data/app/assets/images/blacklight/purdue-university.svg +0 -5
  440. data/app/assets/images/blacklight/purdue.svg +0 -4
  441. data/app/assets/images/blacklight/raster.svg +0 -3
  442. data/app/assets/images/blacklight/restricted.svg +0 -3
  443. data/app/assets/images/blacklight/rutgers.svg +0 -5
  444. data/app/assets/images/blacklight/search.svg +0 -5
  445. data/app/assets/images/blacklight/sms.svg +0 -3
  446. data/app/assets/images/blacklight/stanford.svg +0 -3
  447. data/app/assets/images/blacklight/table.svg +0 -3
  448. data/app/assets/images/blacklight/tags.svg +0 -3
  449. data/app/assets/images/blacklight/texas.svg +0 -3
  450. data/app/assets/images/blacklight/the-ohio-state-university.svg +0 -6
  451. data/app/assets/images/blacklight/triangle-exclamation-solid.svg +0 -1
  452. data/app/assets/images/blacklight/tufts.svg +0 -3
  453. data/app/assets/images/blacklight/ucla.svg +0 -3
  454. data/app/assets/images/blacklight/university-of-arizona.svg +0 -4
  455. data/app/assets/images/blacklight/university-of-california-berkeley.svg +0 -4
  456. data/app/assets/images/blacklight/university-of-chicago.svg +0 -5
  457. data/app/assets/images/blacklight/university-of-colorado-boulder.svg +0 -6
  458. data/app/assets/images/blacklight/university-of-illinois-urbana-champaign.svg +0 -5
  459. data/app/assets/images/blacklight/university-of-iowa.svg +0 -4
  460. data/app/assets/images/blacklight/university-of-maryland.svg +0 -4
  461. data/app/assets/images/blacklight/university-of-michigan.svg +0 -4
  462. data/app/assets/images/blacklight/university-of-minnesota.svg +0 -4
  463. data/app/assets/images/blacklight/university-of-nebraska-lincoln.svg +0 -7
  464. data/app/assets/images/blacklight/university-of-wisconsin-madison.svg +0 -4
  465. data/app/assets/images/blacklight/uva.svg +0 -3
  466. data/app/assets/images/blacklight/web_services.svg +0 -3
  467. data/app/assets/images/blacklight/websites.svg +0 -4
  468. data/app/assets/images/blacklight/wisconsin.svg +0 -3
  469. data/app/assets/javascripts/geoblacklight/basemaps.js +0 -63
  470. data/app/assets/javascripts/geoblacklight/controls/fullscreen.js +0 -8
  471. data/app/assets/javascripts/geoblacklight/controls/opacity.js +0 -6
  472. data/app/assets/javascripts/geoblacklight/controls.js +0 -1
  473. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +0 -61
  474. data/app/assets/javascripts/geoblacklight/downloaders/hgl_downloader.js +0 -32
  475. data/app/assets/javascripts/geoblacklight/downloaders.js +0 -1
  476. data/app/assets/javascripts/geoblacklight/geoblacklight.js +0 -60
  477. data/app/assets/javascripts/geoblacklight/modules/bookmarks.js +0 -43
  478. data/app/assets/javascripts/geoblacklight/modules/download.js +0 -11
  479. data/app/assets/javascripts/geoblacklight/modules/geosearch.js +0 -133
  480. data/app/assets/javascripts/geoblacklight/modules/help_text.js +0 -7
  481. data/app/assets/javascripts/geoblacklight/modules/home.js +0 -16
  482. data/app/assets/javascripts/geoblacklight/modules/item.js +0 -32
  483. data/app/assets/javascripts/geoblacklight/modules/layer_opacity.js +0 -68
  484. data/app/assets/javascripts/geoblacklight/modules/metadata.js +0 -15
  485. data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +0 -58
  486. data/app/assets/javascripts/geoblacklight/modules/relations.js +0 -14
  487. data/app/assets/javascripts/geoblacklight/modules/results.js +0 -81
  488. data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +0 -31
  489. data/app/assets/javascripts/geoblacklight/modules/util.js +0 -48
  490. data/app/assets/javascripts/geoblacklight/modules.js +0 -1
  491. data/app/assets/javascripts/geoblacklight/templates/index_map_download.hbs +0 -19
  492. data/app/assets/javascripts/geoblacklight/templates/index_map_info.hbs +0 -61
  493. data/app/assets/javascripts/geoblacklight/viewers/cog.js +0 -5
  494. data/app/assets/javascripts/geoblacklight/viewers/esri/dynamic_map_layer.js +0 -85
  495. data/app/assets/javascripts/geoblacklight/viewers/esri/feature_layer.js +0 -76
  496. data/app/assets/javascripts/geoblacklight/viewers/esri/image_map_layer.js +0 -14
  497. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +0 -50
  498. data/app/assets/javascripts/geoblacklight/viewers/esri.js +0 -78
  499. data/app/assets/javascripts/geoblacklight/viewers/iiif.js +0 -25
  500. data/app/assets/javascripts/geoblacklight/viewers/index_map.js +0 -71
  501. data/app/assets/javascripts/geoblacklight/viewers/map.js +0 -94
  502. data/app/assets/javascripts/geoblacklight/viewers/oembed.js +0 -13
  503. data/app/assets/javascripts/geoblacklight/viewers/pmtiles.js +0 -5
  504. data/app/assets/javascripts/geoblacklight/viewers/tilejson.js +0 -33
  505. data/app/assets/javascripts/geoblacklight/viewers/tms.js +0 -10
  506. data/app/assets/javascripts/geoblacklight/viewers/viewer.js +0 -68
  507. data/app/assets/javascripts/geoblacklight/viewers/wms.js +0 -74
  508. data/app/assets/javascripts/geoblacklight/viewers/wmts.js +0 -85
  509. data/app/assets/javascripts/geoblacklight/viewers/xyz.js +0 -10
  510. data/app/assets/javascripts/geoblacklight/viewers.js +0 -1
  511. data/app/assets/stylesheets/geoblacklight/modules/mixins.scss +0 -5
  512. data/app/helpers/arcgis_helper.rb +0 -17
  513. data/app/helpers/blacklight_helper.rb +0 -15
  514. data/app/helpers/carto_helper.rb +0 -36
  515. data/app/helpers/geoblacklight/geoblacklight_helper_behavior.rb +0 -24
  516. data/app/javascript/clover/clover_initializer.js +0 -29
  517. data/app/javascript/index.js +0 -7
  518. data/app/javascript/openlayers/basemaps.js +0 -27
  519. data/app/javascript/openlayers/ol_initializer.js +0 -131
  520. data/app/javascript/stylesheets/openlayers.css +0 -1
  521. data/app/models/concerns/geoblacklight/solr_document/carto.rb +0 -24
  522. data/app/presenters/geoblacklight/document_presenter.rb +0 -34
  523. data/app/views/catalog/_arcgis.html.erb +0 -4
  524. data/app/views/catalog/_carto.html.erb +0 -4
  525. data/app/views/catalog/_data_dictionary.html.erb +0 -5
  526. data/app/views/catalog/_downloads_collapse.html.erb +0 -30
  527. data/app/views/catalog/_header_icons.html.erb +0 -3
  528. data/app/views/catalog/_index_split_default.html.erb +0 -30
  529. data/app/views/catalog/_results_pagination.html.erb +0 -12
  530. data/app/views/catalog/_show_default_attribute_table.html.erb +0 -19
  531. data/app/views/catalog/_show_default_display_note.html.erb +0 -7
  532. data/app/views/catalog/_show_default_viewer_container.html.erb +0 -28
  533. data/app/views/catalog/_show_downloads.html.erb +0 -26
  534. data/app/views/catalog/_show_header_default.html.erb +0 -4
  535. data/app/views/catalog/_show_sidebar.html.erb +0 -16
  536. data/app/views/catalog/_show_sidebar_static_map.html.erb +0 -13
  537. data/app/views/catalog/_show_web_services.html.erb +0 -11
  538. data/app/views/catalog/_web_services.html.erb +0 -9
  539. data/app/views/catalog/_web_services_wms.html.erb +0 -13
  540. data/app/views/download/hgl.html.erb +0 -27
  541. data/app/views/relation/_relations.html.erb +0 -15
  542. data/app/views/shared/_header_navbar.html.erb +0 -46
  543. data/babel.config.json +0 -4
  544. data/jest.config.js +0 -25
  545. data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +0 -1
  546. data/lib/generators/geoblacklight/templates/assets/_geoblacklight.scss +0 -1
  547. data/lib/generators/geoblacklight/templates/assets/geoblacklight.js +0 -9
  548. data/lib/generators/geoblacklight/templates/clover.js +0 -5
  549. data/lib/generators/geoblacklight/templates/ol.js +0 -6
  550. data/lib/generators/geoblacklight/templates/package-test.json +0 -10
  551. data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +0 -195
  552. data/lib/geoblacklight/deprecated_configuration.rb +0 -519
  553. data/lib/geoblacklight/download/hgl_download.rb +0 -25
  554. data/lib/geoblacklight/view_helper_override.rb +0 -27
  555. data/setupJest.js +0 -14
  556. data/spec/helpers/arcgis_helper_spec.rb +0 -16
  557. data/spec/helpers/carto_helper_spec.rb +0 -13
  558. data/spec/helpers/geoblacklight/geoblacklight_helper_behavior_spec.rb +0 -27
  559. data/spec/javascripts/util_spec.js +0 -10
  560. data/spec/lib/geoblacklight/deprecated_configuration_spec.rb +0 -597
  561. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +0 -62
  562. data/spec/lib/geoblacklight/view_helper_override_spec.rb +0 -30
  563. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +0 -43
  564. data/spec/test_app_templates/Gemfile.extra +0 -2
  565. data/spec/views/catalog/_document_split.html.erb_spec.rb +0 -7
  566. data/spec/views/catalog/_index_split.html.erb_spec.rb +0 -7
  567. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +0 -11
  568. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +0 -43
  569. data/spec/views/catalog/_show_tools.html.erb_spec.rb +0 -38
  570. data/vendor/assets/images/fullscreen.png +0 -0
  571. data/vendor/assets/images/fullscreen@2x.png +0 -0
  572. data/vendor/assets/images/layers-2x.png +0 -0
  573. data/vendor/assets/images/layers.png +0 -0
  574. data/vendor/assets/images/marker-icon-2x.png +0 -0
  575. data/vendor/assets/images/marker-icon.png +0 -0
  576. data/vendor/assets/images/marker-shadow.png +0 -0
  577. data/vendor/assets/javascripts/Leaflet.fullscreen.js +0 -152
  578. data/vendor/assets/javascripts/esri-leaflet.js +0 -12
  579. data/vendor/assets/javascripts/esri-leaflet.js.map +0 -1
  580. data/vendor/assets/javascripts/leaflet-iiif.js +0 -323
  581. data/vendor/assets/javascripts/leaflet-src.js.erb +0 -14126
  582. data/vendor/assets/javascripts/leaflet-src.js.map +0 -1
  583. data/vendor/assets/javascripts/native.history.js +0 -1
  584. data/vendor/assets/stylesheets/leaflet.css +0 -640
  585. data/vendor/assets/stylesheets/leaflet.fullscreen.css +0 -40
  586. /data/app/{views/catalog/_show_default_viewer_information.html.erb → components/geoblacklight/index_map_inspect_component.html.erb} +0 -0
@@ -2,12 +2,44 @@
2
2
 
3
3
  require "spec_helper"
4
4
 
5
- feature "web services tools" do
6
- feature "when wms/wfs are provided", js: true do
7
- scenario "shows up in tools" do
5
+ # Open the web services modal and wait for it to load
6
+ def open_web_services_modal
7
+ expect(page).to have_link "Web services"
8
+ click_link "Web services"
9
+ expect(page).to have_css "h1", text: "Web services"
10
+ end
11
+
12
+ describe "web services tools", type: :feature do
13
+ context "when no linkable references provided" do
14
+ it "does not show up in tools" do
15
+ visit solr_document_path "mit-001145244"
16
+ expect(page).not_to have_link "Web services"
17
+ end
18
+ end
19
+
20
+ context "when any reference is linked" do
21
+ it "shows copy to clipboard button" do
22
+ visit solr_document_path "princeton-dc7h14b252v"
23
+ open_web_services_modal
24
+ expect(page).to have_text "Copy"
25
+ end
26
+
27
+ it "copies the link to clipboard", js: true do
28
+ sign_in # NOTE: this seems to be required for clipboard permissions to be granted succesfully
29
+ page.driver.browser.add_permission("clipboard-read", "granted")
30
+ page.driver.browser.add_permission("clipboard-write", "granted")
31
+ visit solr_document_path "princeton-1r66j405w"
32
+ open_web_services_modal
33
+ click_button "Copy"
34
+ clip_text = page.evaluate_async_script("navigator.clipboard.readText().then(arguments[0])")
35
+ expect(clip_text).to include("https://libimages1.princeton.edu/loris/figgy_prod/5a%2F20%2F58%2F5a20585db50d44959fe5ae44821fd174%2Fintermediate_file.jp2/info.json")
36
+ end
37
+ end
38
+
39
+ context "when wms/wfs are provided" do
40
+ it "shows up in tools" do
8
41
  visit solr_document_path "stanford-cg357zz0321"
9
- expect(page).to have_css "div.web-services-sidebar a", text: "Web services"
10
- click_link "Web services"
42
+ open_web_services_modal
11
43
  within ".modal-body" do
12
44
  expect(page).to have_css "input", count: 4
13
45
  expect(page).to have_css "label", text: "Web Feature Service (WFS)"
@@ -18,73 +50,59 @@ feature "web services tools" do
18
50
  end
19
51
  end
20
52
  end
21
- feature "no wms or wfs provided" do
22
- scenario "does not show up in tools" do
23
- visit solr_document_path "mit-001145244"
24
- expect(page).not_to have_css "div.web-services-sidebar a", text: "Web services"
25
- end
26
- end
27
- feature "when xyz tile reference is provided", js: true do
28
- scenario "shows up in tools" do
53
+
54
+ context "when xyz tile reference is provided" do
55
+ it "shows up in tools" do
29
56
  visit solr_document_path "6f47b103-9955-4bbe-a364-387039623106-xyz"
30
- expect(page).to have_css "div.web-services-sidebar a", text: "Web services"
31
- click_link "Web services"
57
+ open_web_services_modal
32
58
  within ".modal-body" do
33
59
  expect(page).to have_css "label", text: "XYZ Tiles"
34
60
  expect(page).to have_css 'input[value="https://earthquake.usgs.gov/basemap/tiles/faults/{z}/{x}/{y}.png"]'
35
61
  end
36
62
  end
37
63
  end
38
- feature "when wmts tile reference is provided", js: true do
39
- scenario "shows up in tools" do
64
+
65
+ context "when wmts tile reference is provided" do
66
+ it "shows up in tools" do
40
67
  visit solr_document_path "princeton-fk4544658v-wmts"
41
- expect(page).to have_css "div.web-services-sidebar a", text: "Web services"
42
- click_link "Web services"
68
+ open_web_services_modal
43
69
  within ".modal-body" do
44
70
  expect(page).to have_css "label", text: "Web Map Tile Service"
45
71
  expect(page).to have_css 'input[value="https://map-tiles-staging.princeton.edu/2a91d82c541c426cb787cc62afe8f248/mosaicjson/WMTSCapabilities.xml"]'
46
72
  end
47
73
  end
48
74
  end
49
- feature "when tilejson reference is provided", js: true do
50
- scenario "shows up in tools" do
75
+
76
+ context "when tilejson reference is provided" do
77
+ it "shows up in tools" do
51
78
  visit solr_document_path "princeton-fk4544658v-tilejson"
52
- expect(page).to have_css "div.web-services-sidebar a", text: "Web services"
53
- click_link "Web services"
79
+ open_web_services_modal
54
80
  within ".modal-body" do
55
81
  expect(page).to have_css "label", text: "TileJSON Document"
56
82
  expect(page).to have_css 'input[value="https://map-tiles-staging.princeton.edu/2a91d82c541c426cb787cc62afe8f248/mosaicjson/tilejson.json"]'
57
83
  end
58
84
  end
59
85
  end
60
- feature "when a PMTiles reference is provided", js: true do
61
- scenario "shows up in tools" do
86
+
87
+ context "when a PMTiles reference is provided" do
88
+ it "shows up in tools" do
62
89
  visit solr_document_path "princeton-t722hd30j"
63
- expect(page).to have_css "div.web-services-sidebar a", text: "Web services"
64
- click_link "Web services"
90
+ open_web_services_modal
65
91
  within ".modal-body" do
66
92
  expect(page).to have_css "label", text: "PMTiles Layer"
67
93
  expect(page).to have_css 'input[value="https://geodata.lib.princeton.edu/fe/d2/80/fed28076eaa04506b7956f10f61a2f77/display_vector.pmtiles"]'
68
94
  end
69
95
  end
70
96
  end
71
- feature "when a COG reference is provided", js: true do
72
- scenario "shows up in tools" do
97
+
98
+ context "when a COG reference is provided" do
99
+ it "shows up in tools" do
73
100
  visit solr_document_path "princeton-dc7h14b252v"
74
- expect(page).to have_css "div.web-services-sidebar a", text: "Web services"
75
- click_link "Web services"
101
+ open_web_services_modal
76
102
  within ".modal-body" do
77
103
  expect(page).to have_css "label", text: "COG Layer"
78
104
  expect(page).to have_css 'input[value="https://geodata.lib.princeton.edu/13/f5/58/13f5582c32a54be98fc2982077d0456e/display_raster.tif"]'
79
105
  end
80
106
  end
81
107
  end
82
- feature "copy to clipboard is provided", js: true do
83
- scenario "shows up in tools" do
84
- visit solr_document_path "princeton-dc7h14b252v"
85
- expect(page).to have_css "div.web-services-sidebar a", text: "Web services"
86
- click_link "Web services"
87
- expect(page).to have_text "Copy"
88
- end
89
- end
90
108
  end
@@ -19,8 +19,8 @@ feature "wmts layer" do
19
19
 
20
20
  visit solr_document_path("princeton-fk4544658v-wmts")
21
21
  expect(page).to have_css ".leaflet-control-zoom", visible: :visible
22
- expect(page).to have_css "div[data-protocol='Wmts']"
23
- expect(page).to have_css "div[data-url='https://map-tiles-staging.princeton.edu/2a91d82c541c426cb787cc62afe8f248/mosaicjson/WMTSCapabilities.xml']"
22
+ expect(page).to have_css "div[data-leaflet-viewer-protocol-value='Wmts']"
23
+ expect(page).to have_css "div[data-leaflet-viewer-url-value='https://map-tiles-staging.princeton.edu/2a91d82c541c426cb787cc62afe8f248/mosaicjson/WMTSCapabilities.xml']"
24
24
  end
25
25
  end
26
26
  context "when referencing a WMTSCapabilities document with a multiple layers" do
@@ -30,8 +30,8 @@ feature "wmts layer" do
30
30
  .to_return(status: 200, body: read_fixture("manifests/wmts-multiple.xml"))
31
31
  visit solr_document_path("princeton-fk4db9hn29")
32
32
  expect(page).to have_css ".leaflet-control-zoom", visible: :visible
33
- expect(page).to have_css "div[data-protocol='Wmts']"
34
- expect(page).to have_css "div[data-url='https://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml']"
33
+ expect(page).to have_css "div[data-leaflet-viewer-protocol-value='Wmts']"
34
+ expect(page).to have_css "div[data-leaflet-viewer-url-value='https://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml']"
35
35
  end
36
36
  end
37
37
  end
@@ -17,12 +17,13 @@ If you add a new document, please add it to the table below, and indicate its pu
17
17
  | [baruch_ancestor2](baruch_ancestor2.json) | 2016 NYC Geodatabase, ArcGIS Version (jan2016) | nyu_2451_34636 | Geodatabase with documentation download Referenced as parent
18
18
  | [baruch_documentation_download](baruch_documentation_download.json) | 2015 New York City Subway Complexes and Ridership | nyu_2451_34502 | Point dataset with WMS and WFS, documentation download, and two parent records
19
19
  | [bbox-spans-180](bbox-spans-180.json) | East Asia and Oceania | princeton-sx61dn82p | Scanned map with IIIF and direct TIFF download that spans across the 180th meridian
20
+ | [complex-geom](complex-geom.json) | Anglesey; Garnesay; Wight olim vectis; ... | c8b46b52-0846-4abb-ba56-b484064f84ac | Scanned map with MULTIPOLYGON locn_geometry value
20
21
  | [cornell_html_metadata](cornell_html_metadata.json) | Air Monitoring Stations, Adirondack Park, 2000 | cugir-007741 | Point dataset with WMS, WFS, direct download, and FGDC metadata XML and HTML
21
22
  | [esri-dynamic-layer-all-layers](esri-dynamic-layer-all-layers.json) | Glacial Boundaries: Illinois, 1998 | 90f14ff4-1359-4beb-b931-5cb41d20ab90 | This record points to an the top level of an Esri Rest Web Map Service It does not specify a layer
22
23
  | [esri-dynamic-layer-single-layer](esri-dynamic-layer-single-layer.json) | Abandoned Quarries: Indiana | 4669301e-b4b2-4c8b-bf40-01b968a2865b | ArcGIS Dynamic Map Layer with single layer indicated
23
24
  | [esri-feature-layer](esri-feature-layer.json) | Transit - Airports: Maryland | f406332e63eb4478a9560ad86ae90327_18| ArcGIS Feature Layer - point dataset |
24
25
  | [esri-image-map-layer](esri-image-map-layer.json)| Wabash Topo (27): Indiana, 1929 | 32653ed6-8d83-4692-8a06-bf13ffe2c018 | ArcGIS Image Map Layer with GeoTIFF direct download
25
- | [esri-tiled_map_layer](esri-tiled_map_layer.json)| Soil Survey Geographic (SSURGO) | nyu-test-soil-survey-map | ArcGIS tiled map layer
26
+ | [esri-tiled_map_layer](esri-tiled_map_layer.json)| Minnesota Land Cover Classification and Impervious Surface Area by Landsat and Lidar (2013 Update) | 31567cf1-bad8-4bc5-8d57-44b96c207ecc | ArcGIS tiled map layer
26
27
  | [esri-wms-layer](esri-wms-layer.json) | Agriculture Census: Indiana, 1997 | purdue-urn-f082acb1-b01e-4a08-9126-fd62a23fd9aa | Dataset with ArcGIS Dynamic Map Layer, ArcGIS WMS, and direct download
27
28
  | [harvard_raster](harvard_raster.json) | Saint Petersburg Region, Russia, 1834 (Raster Image) | harvard-g7064-s2-1834-k3 | This layer is a georeferenced raster image of the historic paper map
28
29
  | [iiif-eastern-hemisphere](iiif-eastern-hemisphere.json) | A new & accurate map of Asia: drawn from actual surveys, and otherwise collected from journals | 57f0f116-b64e-4773-8684-96ba09afb549 | Eastern hemisphere scanned map with IIIF manifest
@@ -0,0 +1,61 @@
1
+ {
2
+ "id": "c8b46b52-0846-4abb-ba56-b484064f84ac",
3
+ "gbl_mdVersion_s": "Aardvark",
4
+ "dct_title_s": "Anglesey; Garnesay; Wight olim vectis; Iarsay; Per Gerardum Mercatorem.; Title on verso: Isles d'Anglesey Wight Jarsay et Garnesay",
5
+ "dct_description_sm": [
6
+ "Relief shown pictorially. Each map is 15 x 21 cm. Does not match any states listed in Van der Krogt. From the Appendix Atlas of the British Isles and Northern Europe, title created to represent a unique collection within the Clark Library, University of Michigan. 4 maps on one sheet: 30 x 43 cm."
7
+ ],
8
+ "dct_language_sm": [
9
+ "eng"
10
+ ],
11
+ "dct_creator_sm": [
12
+ "Hondius, Hendrik, 1597-1651. Appendix Atlas of the British Isles and Northern Europe",
13
+ "Jansson, Jan, 1588-1664. Appendix Atlas of the British Isles and Northern Europe",
14
+ "Mercator, Gerhard, 1512-1594",
15
+ "Vignaud, Henry, 1830-1922, former owner."
16
+ ],
17
+ "schema_provider_s": "University of Michigan",
18
+ "gbl_resourceClass_sm": [
19
+ "Maps"
20
+ ],
21
+ "dcat_keyword_sm": [
22
+ "Clark Library Map Collections",
23
+ "2022-creator-sprint"
24
+ ],
25
+ "dct_temporal_sm": [
26
+ "between 1630 and 1639"
27
+ ],
28
+ "gbl_indexYear_im": [1630],
29
+ "gbl_dateRange_drsim": [
30
+ "[1630 TO 1639]"
31
+ ],
32
+ "dct_spatial_sm": [
33
+ "Isle of Wight",
34
+ "Guernsey (Isle)",
35
+ "Jersey (Isle)",
36
+ "Anglesey (Isle)",
37
+ "England",
38
+ "Wales"
39
+ ],
40
+ "locn_geometry": "MULTIPOLYGON(((-4.7 53.44, -4.02 53.44, -4.02 53.13, -4.7 53.13, -4.7 53.44)),((-1.591789 50.767556, -1.062732 50.767556, -1.062732 50.574678, -1.591789 50.574678, -1.591789 50.767556)),((-2.6825 49.5351, -2.3117 49.5351, -2.3117 49.3851, -2.6825 49.3851, -2.6825 49.5351)),((-2.2649 49.2775, -1.9958 49.2775, -1.9958 49.1411, -2.2649 49.1411, -2.2649 49.2775)),((-5.1707 54.5534, -3.9654 54.5534, -3.9654 53.845, -5.1707 53.845, -5.1707 54.5534)))",
41
+ "dcat_bbox": "ENVELOPE(-4.98,-1.04,54.47,49.14)",
42
+ "dcat_centroid": "51.805,-3.0100000000000002",
43
+ "pcdm_memberOf_sm": [
44
+ "64bd8c4c-8e60-4956-b43d-bdc3f93db488"
45
+ ],
46
+ "dct_isPartOf_sm": [
47
+ "07d-01"
48
+ ],
49
+ "dct_rights_sm": [
50
+ "This map is in the public domain."
51
+ ],
52
+ "dct_rightsHolder_sm": [
53
+ "Please attribute access and use of this digitized map to the Stephen S. Clark Library, University of Michigan Library. https://www.lib.umich.edu/about-us/policies/copyright-policy"
54
+ ],
55
+ "dct_accessRights_s": "Public",
56
+ "dct_format_s": "JPEG",
57
+ "dct_references_s": "{\"http://schema.org/url\":\"https://quod.lib.umich.edu/c/clark1ic/x-010356232/39015091191992_01\",\"http://iiif.io/api/presentation#manifest\":\"https://quod.lib.umich.edu/cgi/i/image/api/search/clark1ic:010356232\"}",
58
+ "dct_identifier_sm": [
59
+ "c8b46b52-0846-4abb-ba56-b484064f84ac"
60
+ ]
61
+ }
@@ -1,48 +1,69 @@
1
1
  {
2
- "dct_title_s": "Soil Survey Geographic (SSURGO)",
3
- "dct_alternative_sm": [
4
- "esri-tiled_map_layer"
5
- ],
2
+ "dct_title_s": "Minnesota Land Cover Classification and Impervious Surface Area by Landsat and Lidar (2013 Update)",
6
3
  "dct_description_sm": [
7
- "ArcGIS tiled map layer. ",
8
- "This map shows the Soil Survey Geographic (SSURGO) by the United States Department of Agriculture's Natural Resources Conservation Service. It also shows data that was developed by the National Cooperative Soil Survey and supersedes the State Soil Geographic (STATSGO) dataset published in 1994. SSURGO digitizing duplicates the original soil survey maps. This level of mapping is designed for use by landowners, townships, and county natural resource planning and management. The user should be knowledgeable of soils data and their characteristics. The smallest scale map shows the Global Soil Regions map by the United States Department of Agriculture’s Natural Resources Conservation Service."
4
+ "This is a 15-meter raster dataset of a land cover and impervious surface classification for 2013, level two classification. The classification was created using a combination of multitemporal Landsat 8 data and LiDAR data with Object-based image analysis. By using objects instead of pixels we were able to utilize multispectral data along with spatial and contextual information of objects such as shape, size, texture and LiDAR-derived metrics to distinguish different land cover types. While OBIA has become the standard procedure for classification of high resolution imagery we found that it works equally well with Landsat imagery. For the objects classified as urban or developed, a regression model relating the Landsat greenness variable to percent impervious was developed to estimate and map the percent impervious surface area at the pixel level."
9
5
  ],
10
6
  "dct_language_sm": [
11
7
  "eng"
12
8
  ],
13
- "dct_publisher_sm": [
14
- "United States Department of Agriculture, Natural Resources Conservation Service"
9
+ "dct_creator_sm": [
10
+ "Bauer, Marvin E.",
11
+ "Knight, Joe F.",
12
+ "Rampi, Lian P."
15
13
  ],
16
- "schema_provider_s": "NYU",
14
+ "schema_provider_s": "University of Minnesota",
17
15
  "gbl_resourceClass_sm": [
18
- "Maps"
16
+ "Datasets"
19
17
  ],
20
18
  "gbl_resourceType_sm": [
21
- "Raster data"
19
+ "Vector data",
20
+ "Raster data",
21
+ "LiDAR"
22
+ ],
23
+ "dcat_theme_sm": [
24
+ "Imagery"
22
25
  ],
23
26
  "dcat_keyword_sm": [
24
- "GBL Fixture records"
27
+ "Lidar",
28
+ "Landsat Satellites",
29
+ "Land cover",
30
+ "2022-creator-sprint"
25
31
  ],
26
32
  "dct_temporal_sm": [
27
- "2010"
33
+ "2013"
28
34
  ],
35
+ "dct_issued_s": "2016-08-03",
29
36
  "gbl_indexYear_im": [
30
- 2010
37
+ 2013
31
38
  ],
32
39
  "gbl_dateRange_drsim": [
33
- "[2010 TO 2010]"
40
+ "[2013 TO 2013]"
41
+ ],
42
+ "dct_spatial_sm": [
43
+ "Minnesota"
44
+ ],
45
+ "locn_geometry": "POLYGON((-97.23 49.37, -89.53 49.37, -89.53 43.5, -97.23 43.5, -97.23 49.37))",
46
+ "dcat_bbox": "ENVELOPE(-97.23,-89.53,49.37,43.5)",
47
+ "dcat_centroid": "46.435,-93.38",
48
+ "pcdm_memberOf_sm": [
49
+ "dc8c18df-7d64-4ff4-a754-d18d0891187d"
50
+ ],
51
+ "dct_isPartOf_sm": [
52
+ "05d-03"
53
+ ],
54
+ "dct_rights_sm": [
55
+ "https://conservancy.umn.edu/pages/drum/policies/#terms-of-use"
56
+ ],
57
+ "dct_license_sm": [
58
+ "http://creativecommons.org/publicdomain/zero/1.0/"
34
59
  ],
35
- "locn_geometry": "ENVELOPE(-129.4956,-64.4393,48.6336,21.8079)",
36
- "dcat_bbox": "ENVELOPE(-129.4956,-64.4393,48.6336,21.8079)",
37
- "dcat_centroid": "35.22075,-96.96745",
38
60
  "dct_accessRights_s": "Public",
39
61
  "dct_format_s": "GeoTIFF",
40
- "gbl_wxsIdentifier_s": "test-soil-survey_map",
41
- "dct_references_s": "{\"urn:x-esri:serviceType:ArcGIS#TiledMapLayer\":\"http://services.arcgisonline.com/arcgis/rest/services/Specialty/Soil_Survey_Map/MapServer\"}",
42
- "id": "nyu-test-soil-survey-map",
62
+ "dct_references_s": "{\"http://lccn.loc.gov/sh85035852\":\"https://conservancy.umn.edu/bitstream/handle/11299/181555/Classification%20scheme%20for%20Level%201%20and%202%20land%20cover%20classes%202013.pdf\",\"http://schema.org/downloadUrl\":[{\"label\":\"Original GeoTIFF\",\"url\":\"https://conservancy.umn.edu/bitstream/handle/11299/181555/Statewide_FinalMap_2013_2014_v2.zip\"}],\"http://www.opengis.net/cat/csw/csdgm\":\"https://conservancy.umn.edu/bitstream/handle/11299/181555/Statewide_LandCoverMetadata_MN_2013_v2.xml\",\"http://www.w3.org/1999/xhtml\":\"https://conservancy.umn.edu/bitstream/handle/11299/181555/Statewide_LandCover_Metadata_MN_2013_v2.html\",\"http://schema.org/url\":\"http://doi.org/10.13020/D6JP4S\",\"urn:x-esri:serviceType:ArcGIS#TiledMapLayer\":\"https://tiles.arcgis.com/tiles/8df8p0NlLFEShl0r/arcgis/rest/services/mn_landcover_impervious_2013v2_tiles/MapServer\"}",
63
+ "id": "31567cf1-bad8-4bc5-8d57-44b96c207ecc",
43
64
  "dct_identifier_sm": [
44
- "test-soil-survey-map"
65
+ "http://doi.org/10.13020/D6JP4S",
66
+ "http://hdl.handle.net/11299/181555"
45
67
  ],
46
- "gbl_mdModified_dt": "2021-06-01T22:14:15Z",
47
68
  "gbl_mdVersion_s": "Aardvark"
48
- }
69
+ }
@@ -54,7 +54,7 @@
54
54
  "dct_accessRights_s": "Public",
55
55
  "dct_format_s": "GeoTIFF",
56
56
  "gbl_wxsIdentifier_s": "cite:G7064_S2_1834_K3",
57
- "dct_references_s": "{\"http://schema.org/DownloadAction\":\"http://pelham.lib.harvard.edu:8080/HGL/HGLOpenDelivery\",\"http://www.opengis.net/def/serviceType/ogc/wcs\":\"http://pelham.lib.harvard.edu:8090/geoserver/wcs\",\"http://www.opengis.net/def/serviceType/ogc/wms\":\"http://pelham.lib.harvard.edu:8090/geoserver/wms\",\"http://www.opengis.net/cat/csw/csdgm\":\"https://raw.githubusercontent.com/OpenGeoMetadata/edu.harvard/master/217/121/227/77/fgdc.xml\"}",
57
+ "dct_references_s": "{\"http://www.opengis.net/def/serviceType/ogc/wcs\":\"http://pelham.lib.harvard.edu:8090/geoserver/wcs\",\"http://www.opengis.net/def/serviceType/ogc/wms\":\"http://pelham.lib.harvard.edu:8090/geoserver/wms\",\"http://www.opengis.net/cat/csw/csdgm\":\"https://raw.githubusercontent.com/OpenGeoMetadata/edu.harvard/master/217/121/227/77/fgdc.xml\"}",
58
58
  "id": "harvard-g7064-s2-1834-k3",
59
59
  "dct_identifier_sm": [
60
60
  "urn:hul.harvard.edu:HARVARD.SDE2.G7064_S2_1834_K3"
@@ -37,6 +37,7 @@
37
37
  "dcat_centroid": "42.2063055,-75.775105",
38
38
  "dct_accessRights_s": "Public",
39
39
  "dct_format_s": "Shapefile",
40
+ "gbl_wxsIdentifier_s": "cugir007950",
40
41
  "dct_references_s": "{\"http://schema.org/downloadUrl\":[{\"url\":\"https://cugir-data.s3.amazonaws.com/00/79/50/cugir-007950.zip\",\"label\":\"Shapefile\"},{\"url\":\"https://cugir-data.s3.amazonaws.com/00/79/50/agBROO.pdf\",\"label\":\"PDF\"},{\"url\":\"https://cugir-data.s3.amazonaws.com/00/79/50/agBROO2011.kmz\",\"label\":\"KMZ\"}],\"http://www.opengis.net/cat/csw/csdgm\":\"https://cugir-data.s3.amazonaws.com/00/79/50/fgdc.xml\",\"http://www.w3.org/1999/xhtml\":\"https://cugir-data.s3.amazonaws.com/00/79/50/fgdc.html\",\"http://www.opengis.net/def/serviceType/ogc/wfs\":\"https://cugir.library.cornell.edu/geoserver/cugir/wfs\",\"http://www.opengis.net/def/serviceType/ogc/wms\":\"https://cugir.library.cornell.edu/geoserver/cugir/wms\"}",
41
42
  "id": "cugir-007950",
42
43
  "gbl_mdModified_dt": "2021-06-11T18:39:49Z",
@@ -11,7 +11,7 @@ describe GeoblacklightHelper, type: :helper do
11
11
  it "supports in use cases" do
12
12
  {
13
13
  "Paper map" => "paper-map",
14
- "Michigan State" => "michigan-state",
14
+ "Michigan State University" => "michigan-state-university",
15
15
  "CD ROM" => "cd-rom",
16
16
  "Lewis & Clark" => "lewis-clark"
17
17
  }.each_key do |key|
@@ -23,85 +23,9 @@ describe GeoblacklightHelper, type: :helper do
23
23
  html = Capybara.string(geoblacklight_icon(nil))
24
24
  expect(html).to have_css ".icon-missing"
25
25
  end
26
- end
27
-
28
- describe "#proper_case_format" do
29
- it "returns a properly cased format" do
30
- expect(proper_case_format("GEOJSON")).to eq "GeoJSON"
31
- end
32
- end
33
-
34
- describe "#download_text" do
35
- it "returns download text concatenated with proper case format" do
36
- expect(download_text("GEOJSON")).to eq "Original GeoJSON"
37
- end
38
- end
39
-
40
- describe "#download_text" do
41
- it "returns download text concatenated with proper case format" do
42
- expect(download_text("GEOJSON")).to eq "Original GeoJSON"
43
- end
44
- end
45
-
46
- describe "#download_link_file" do
47
- let(:label) { "Test Link Text" }
48
- let(:id) { "test-id" }
49
- let(:url) { "http://example.com/urn:hul.harvard.edu:HARVARD.SDE2.TG10USAIANNH/data.zip" }
50
-
51
- it "generates a link to download the original file" do
52
- expect(download_link_file(label, id, url)).to eq '<a contentUrl="http://example.com/urn:hul.harvard.edu:HARVARD.SDE2.TG10USAIANNH/data.zip" data-download="trigger" data-download-type="direct" data-download-id="test-id" href="http://example.com/urn:hul.harvard.edu:HARVARD.SDE2.TG10USAIANNH/data.zip">Test Link Text</a>'
53
- end
54
- end
55
-
56
- describe "#download_link_hgl" do
57
- let(:text) { "Test Link Text" }
58
- let(:document) { instance_double(SolrDocument) }
59
-
60
- before do
61
- allow(document).to receive(:id).and_return("test-id")
62
- allow(document).to receive(:to_s).and_return("test-id")
63
- end
64
-
65
- it "generates a link to the HGL route" do
66
- expect(download_link_hgl(text, document)).to eq '<a data-blacklight-modal="trigger" data-download="trigger" data-download-type="harvard-hgl" data-download-id="test-id" href="/download/hgl/test-id">Test Link Text</a>'
67
- end
68
- end
69
-
70
- describe "#download_link_iiif" do
71
- let(:references_field) { Settings.FIELDS.REFERENCES }
72
- let(:document_attributes) do
73
- {
74
- references_field => {
75
- "http://iiif.io/api/image" => "https://example.edu/image/info.json"
76
- }.to_json
77
- }
78
- end
79
- let(:document) { SolrDocument.new(document_attributes) }
80
-
81
- before do
82
- allow_any_instance_of(Geoblacklight::Reference).to receive(:to_hash).and_return(iiif: "https://example.edu/image/info.json")
83
- end
84
-
85
- it "generates a link to download the JPG file from the IIIF server" do
86
- assign(:document, document)
87
- expect(helper.download_link_iiif).to eq '<a contentUrl="https://example.edu/image/full/full/0/default.jpg" data-download="trigger" href="https://example.edu/image/full/full/0/default.jpg">Original JPG</a>'
88
- end
89
- end
90
-
91
- describe "#download_link_generated" do
92
- let(:download_type) { "SHAPEFILE" }
93
- let(:document) { instance_double(SolrDocument) }
94
-
95
- before do
96
- allow(document).to receive(:id).and_return("test-id")
97
- allow(document).to receive(:to_s).and_return("test-id")
98
- end
99
-
100
- it "generates a link to download the JPG file from the IIIF server" do
101
- # Stub I18n to ensure the link can be customized via `export_` labels.
102
- allow(helper).to receive(:t).and_call_original
103
- allow(helper).to receive(:t).with("geoblacklight.download.export_shapefile_link").and_return("Shapefile Export Customization")
104
- expect(helper.download_link_generated(download_type, document)).to eq '<a data-download-path="/download/test-id?type=SHAPEFILE" data-download="trigger" data-download-type="SHAPEFILE" data-download-id="test-id" href="">Export Shapefile Export Customization</a>'
26
+ it "works with settings icon mapping" do
27
+ html = Capybara.string(geoblacklight_icon("ohio-state"))
28
+ expect(html).to have_css ".blacklight-icons-the-ohio-state-university"
105
29
  end
106
30
  end
107
31
 
@@ -182,30 +106,9 @@ describe GeoblacklightHelper, type: :helper do
182
106
  end
183
107
  end
184
108
 
185
- describe "#render_web_services" do
186
- let(:reference) { instance_double(Geoblacklight::Reference, type: "wms") }
187
- it "with a reference to a defined partial" do
188
- expect(helper).to receive(:render)
189
- .with(partial: "web_services_wms", locals: {reference: reference})
190
- helper.render_web_services(reference)
191
- end
192
- context "when the partial is missing" do
193
- let(:reference) { instance_double(Geoblacklight::Reference, type: "iiif") }
194
-
195
- it "with a reference to a missing partial" do
196
- expect(helper).to receive(:render)
197
- .with(partial: "web_services_iiif", locals: {reference: reference})
198
- .and_raise ActionView::MissingTemplate.new({}, "", "", "", "")
199
- expect(helper).to receive(:render)
200
- .with(partial: "web_services_default", locals: {reference: reference})
201
- helper.render_web_services(reference)
202
- end
203
- end
204
- end
205
-
206
109
  describe "#leaflet_options" do
207
110
  it "returns a hash of options for leaflet" do
208
- expect(leaflet_options[:VIEWERS][:WMS][:CONTROLS]).to eq(%w[Opacity Fullscreen])
111
+ expect(leaflet_options[:LAYERS][:INDEX].keys).to eq([:DEFAULT, :UNAVAILABLE, :SELECTED])
209
112
  end
210
113
  end
211
114
 
@@ -272,32 +175,6 @@ describe GeoblacklightHelper, type: :helper do
272
175
  end
273
176
  end
274
177
 
275
- describe "#show_help_text?" do
276
- let(:feature) { "viewer_protocol" }
277
- let(:translation_key) { "wms" }
278
-
279
- it "confirms help text is available" do
280
- expect(helper.show_help_text?(feature, translation_key)).to be true
281
- end
282
- end
283
-
284
- describe "#render_help_text_entry" do
285
- let(:feature) { "viewer_protocol" }
286
- let(:translation_key) { "wms" }
287
-
288
- context "valid entry" do
289
- it "renders help text entry for the wms viewer protocol" do
290
- expect(helper.render_help_text_entry(feature, translation_key)).to eq '<h3 class="help-text viewer_protocol h6"><a data-toggle="popover" data-title="Web Map Service (WMS)" data-content="A Web Map Service displays a geospatial dataset as map images.">Web Map Service (WMS)</a></h3>'
291
- end
292
- end
293
-
294
- context "invalid entry" do
295
- it "renders an empty span" do
296
- expect(helper.render_help_text_entry("foo", "bar")).to eq '<span class="help-text translation-missing"></span>'
297
- end
298
- end
299
- end
300
-
301
178
  describe "#relations_icon" do
302
179
  context "when configured to use the geometry type" do
303
180
  before do
@@ -336,7 +213,7 @@ describe GeoblacklightHelper, type: :helper do
336
213
  context "viewing bookmarks" do
337
214
  let(:controller_name) { "bookmarks" }
338
215
 
339
- it "returns bookmarks data-map selector" do
216
+ it "returns bookmarks data-page selector" do
340
217
  expect(results_js_map_selector(controller_name)).to eq "bookmarks"
341
218
  end
342
219
  end
@@ -344,7 +221,7 @@ describe GeoblacklightHelper, type: :helper do
344
221
  context "viewing catalog results" do
345
222
  let(:controller_name) { "catalog" }
346
223
 
347
- it "returns index data-map selector" do
224
+ it "returns index data-page selector" do
348
225
  expect(results_js_map_selector(controller_name)).to eq "index"
349
226
  end
350
227
  end
@@ -352,51 +229,9 @@ describe GeoblacklightHelper, type: :helper do
352
229
  context "calling outside of intended scope" do
353
230
  let(:controller_name) { "outside" }
354
231
 
355
- it "returns default data-map value" do
232
+ it "returns default data-page value" do
356
233
  expect(results_js_map_selector(controller_name)).to eq "index"
357
234
  end
358
235
  end
359
236
  end
360
-
361
- describe "#viewer_container" do
362
- let(:document) { SolrDocument.new(document_attributes) }
363
- let(:references_field) { Settings.FIELDS.REFERENCES }
364
- let(:rights_field) { Settings.FIELDS.RIGHTS }
365
-
366
- context "with pmtiles layer" do
367
- let(:document_attributes) do
368
- {
369
- references_field => {
370
- "https://github.com/protomaps/PMTiles" => "https://geodata.lib.princeton.edu/fe/d2/80/fed28076eaa04506b7956f10f61a2f77/display_vector.pmtiles"
371
- }.to_json
372
- }
373
- end
374
-
375
- it "renders an OpenLayers container" do
376
- allow(helper).to receive(:geoblacklight_basemap).and_return("esri")
377
- assign(:document, document)
378
- node = Capybara.string(helper.viewer_container)
379
- div = node.first("div")
380
- expect(div[:id]).to eq "ol-map"
381
- end
382
- end
383
-
384
- context "with iiif manifest layer" do
385
- let(:document_attributes) do
386
- {
387
- references_field => {
388
- "http://iiif.io/api/presentation#manifest" => "https://cdm16022.contentdm.oclc.org/iiif/info/p16022coll229/3210/manifest.json"
389
- }.to_json
390
- }
391
- end
392
-
393
- it "renders a Clover IIIF container" do
394
- allow(helper).to receive(:geoblacklight_basemap).and_return("esri")
395
- assign(:document, document)
396
- node = Capybara.string(helper.viewer_container)
397
- div = node.first("div")
398
- expect(div[:id]).to eq "clover-viewer"
399
- end
400
- end
401
- end
402
237
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ describe Geoblacklight::CsvDownload do
6
+ let(:document) { SolrDocument.new(Settings.FIELDS.ID => "test", :solr_wfs_url => "http://www.example.com/wfs", Settings.FIELDS.WXS_IDENTIFIER => "stanford-test", Settings.FIELDS.GEOMETRY => "ENVELOPE(-180, 180, 90, -90)") }
7
+ let(:download) { described_class.new(document) }
8
+ describe "#initialize" do
9
+ it "initializes as a CsvDownload object with specific options" do
10
+ expect(download).to be_an described_class
11
+ options = download.instance_variable_get(:@options)
12
+ expect(options[:content_type]).to eq "text/csv"
13
+ expect(options[:request_params][:typeName]).to eq "stanford-test"
14
+ end
15
+ it "merges custom options" do
16
+ download = described_class.new(document, timeout: 33)
17
+ options = download.instance_variable_get(:@options)
18
+ expect(options[:timeout]).to eq 33
19
+ end
20
+ end
21
+ end
@@ -57,19 +57,4 @@ describe Geoblacklight::Geometry do
57
57
  end
58
58
  end
59
59
  end
60
- describe "#bounding_box for a document with no geometry" do
61
- it "warns that GeoBlacklight 5 raises instead of falling back to the whole world" do
62
- expect(Geoblacklight.deprecation).to receive(:warn).with(
63
- /#bounding_box falls back to the whole world extent/
64
- )
65
-
66
- expect(described_class.new("").bounding_box).to be_a String
67
- end
68
-
69
- it "does not warn for a document that has geometry" do
70
- expect(Geoblacklight.deprecation).not_to receive(:warn)
71
-
72
- described_class.new("ENVELOPE(-1,1,1,-1)").bounding_box
73
- end
74
- end
75
60
  end