geoblacklight 5.3.0 → 6.0.0.pre.alpha.2

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 (468) hide show
  1. checksums.yaml +4 -4
  2. data/.engine_cart.yml +14 -0
  3. data/.github/workflows/ruby.yml +25 -25
  4. data/.gitignore +0 -9
  5. data/.prettierignore +4 -0
  6. data/.prettierrc +5 -0
  7. data/CONTRIBUTING.md +2 -4
  8. data/Gemfile +4 -2
  9. data/README.md +4 -4
  10. data/Rakefile +0 -22
  11. data/app/assets/stylesheets/geoblacklight/global.css +7 -0
  12. data/app/assets/stylesheets/geoblacklight/home.css +22 -0
  13. data/app/assets/stylesheets/geoblacklight/index_maps.css +36 -0
  14. data/app/assets/stylesheets/geoblacklight/record.css +39 -0
  15. data/app/assets/stylesheets/geoblacklight/search.css +56 -0
  16. data/app/assets/stylesheets/geoblacklight/viewers.css +50 -0
  17. data/app/assets/stylesheets/geoblacklight.css +14 -0
  18. data/app/components/blacklight/icons/web_services_component.rb +3 -3
  19. data/app/components/geoblacklight/accordion_component.html.erb +3 -3
  20. data/app/components/geoblacklight/accordion_component.rb +4 -0
  21. data/app/components/geoblacklight/arcgis_component.html.erb +1 -1
  22. data/app/components/geoblacklight/arcgis_component.rb +1 -1
  23. data/app/components/geoblacklight/attribute_table_component.html.erb +3 -3
  24. data/app/components/geoblacklight/data_dictionary_download_component.html.erb +1 -1
  25. data/app/components/geoblacklight/display_note_component.html.erb +1 -1
  26. data/app/components/geoblacklight/display_note_component.rb +2 -1
  27. data/app/components/geoblacklight/document/citation_component.html.erb +1 -1
  28. data/app/components/geoblacklight/document/relations_container_component.html.erb +1 -0
  29. data/app/components/geoblacklight/document/relations_container_component.rb +12 -0
  30. data/app/components/geoblacklight/document/sidebar_component.html.erb +3 -4
  31. data/app/components/geoblacklight/document/sidebar_component.rb +0 -1
  32. data/app/components/geoblacklight/document_component.html.erb +1 -2
  33. data/app/components/geoblacklight/download_links_component.rb +1 -1
  34. data/app/components/geoblacklight/header_component.html.erb +4 -4
  35. data/app/components/geoblacklight/header_icons_component.rb +4 -2
  36. data/app/components/geoblacklight/homepage_feature_facet_component.html.erb +3 -7
  37. data/app/components/geoblacklight/homepage_feature_facet_component.rb +12 -3
  38. data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +2 -2
  39. data/app/components/geoblacklight/iiif_drag_drop_component.rb +2 -2
  40. data/app/components/geoblacklight/index_map_inspect_component.html.erb +3 -3
  41. data/app/components/geoblacklight/index_map_legend_component.html.erb +7 -7
  42. data/app/components/geoblacklight/index_map_legend_component.rb +7 -0
  43. data/app/components/geoblacklight/item_map_viewer_component.rb +8 -4
  44. data/app/components/geoblacklight/location_leaflet_map_component.rb +28 -15
  45. data/app/components/geoblacklight/login_link_component.rb +1 -1
  46. data/app/components/geoblacklight/relations_component.html.erb +2 -2
  47. data/app/components/geoblacklight/search_result_component.html.erb +28 -26
  48. data/app/components/geoblacklight/search_result_component.rb +2 -2
  49. data/app/components/geoblacklight/static_map_component.html.erb +1 -1
  50. data/app/components/geoblacklight/static_map_component.rb +5 -4
  51. data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -1
  52. data/app/components/geoblacklight/viewer_help_text_component.rb +1 -1
  53. data/app/components/geoblacklight/web_services_component.html.erb +1 -1
  54. data/app/components/geoblacklight/web_services_component.rb +1 -1
  55. data/app/components/geoblacklight/web_services_default_component.html.erb +6 -6
  56. data/app/components/geoblacklight/web_services_link_component.rb +12 -9
  57. data/app/components/geoblacklight/web_services_wfs_component.html.erb +4 -4
  58. data/app/components/geoblacklight/web_services_wms_component.html.erb +4 -4
  59. data/app/controllers/download_controller.rb +0 -1
  60. data/app/controllers/relation_controller.rb +1 -1
  61. data/app/controllers/wms_controller.rb +1 -1
  62. data/app/helpers/geoblacklight_helper.rb +1 -16
  63. data/app/javascript/geoblacklight/controllers/clipboard_controller.js +6 -6
  64. data/app/javascript/geoblacklight/controllers/downloads_controller.js +37 -29
  65. data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +108 -117
  66. data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +5 -5
  67. data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +27 -30
  68. data/app/javascript/geoblacklight/controllers/search_results_controller.js +18 -18
  69. data/app/javascript/geoblacklight/core.js +33 -36
  70. data/app/javascript/geoblacklight/index.js +10 -10
  71. data/app/javascript/geoblacklight/initializers/metadata_download.js +23 -25
  72. data/app/javascript/geoblacklight/initializers/popovers.js +4 -4
  73. data/app/javascript/geoblacklight/initializers/tooltips.js +19 -23
  74. data/app/javascript/geoblacklight/initializers/truncation.js +18 -18
  75. data/app/javascript/geoblacklight/leaflet/basemaps.js +2 -3
  76. data/app/javascript/geoblacklight/leaflet/constants.js +7 -7
  77. data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +80 -74
  78. data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +74 -73
  79. data/app/javascript/geoblacklight/leaflet/controls/sidebar.js +31 -29
  80. data/app/javascript/geoblacklight/leaflet/controls/sleep.js +54 -51
  81. data/app/javascript/geoblacklight/leaflet/inspection.js +77 -68
  82. data/app/javascript/geoblacklight/leaflet/layer_index_map.js +74 -69
  83. data/app/javascript/geoblacklight/leaflet/layer_wmts.js +14 -16
  84. data/app/javascript/geoblacklight/leaflet/layers.js +59 -66
  85. data/app/javascript/geoblacklight/leaflet/utils.js +37 -43
  86. data/app/javascript/geoblacklight/openlayers/basemaps.js +35 -27
  87. data/app/javascript/geoblacklight/openlayers/inspection.js +23 -23
  88. data/app/javascript/geoblacklight/openlayers/layers.js +11 -11
  89. data/app/models/concerns/geoblacklight/bbox_filter_query.rb +7 -9
  90. data/app/models/concerns/geoblacklight/solr_document.rb +16 -39
  91. data/app/models/concerns/geoblacklight/suppressed_records_search_behavior.rb +3 -3
  92. data/app/views/catalog/_document_split.html.erb +3 -3
  93. data/app/views/catalog/_home_text.html.erb +22 -14
  94. data/app/views/catalog/_metadata.html.erb +1 -1
  95. data/app/views/catalog/index.html.erb +0 -1
  96. data/app/views/catalog/metadata/_markup.html.erb +1 -2
  97. data/app/views/catalog/metadata/_missing.html.erb +2 -2
  98. data/app/views/catalog/web_services.html.erb +1 -1
  99. data/app/views/relation/index.html.erb +4 -2
  100. data/app/views/relation/index.json.jbuilder +1 -1
  101. data/config/initializers/rails_config.rb +0 -3
  102. data/config/locales/geoblacklight.en.yml +79 -78
  103. data/geoblacklight.gemspec +1 -2
  104. data/lib/generators/geoblacklight/assets_generator.rb +35 -26
  105. data/lib/generators/geoblacklight/install_generator.rb +6 -11
  106. data/lib/generators/geoblacklight/templates/assets/customizations.css +6 -0
  107. data/lib/generators/geoblacklight/templates/catalog_controller.rb +97 -73
  108. data/lib/generators/geoblacklight/templates/settings.yml +159 -171
  109. data/lib/geoblacklight/configuration/case_insensitive_settings.rb +59 -0
  110. data/lib/geoblacklight/configuration/default_settings_builder.rb +18 -0
  111. data/lib/geoblacklight/configuration/display_note_shown_config.rb +13 -0
  112. data/lib/geoblacklight/configuration/fields_config.rb +51 -0
  113. data/lib/geoblacklight/configuration/layer_config.rb +28 -0
  114. data/lib/geoblacklight/configuration/leaflet_config.rb +69 -0
  115. data/lib/geoblacklight/configuration/leaflet_layers_config.rb +33 -0
  116. data/lib/geoblacklight/configuration/leaflet_sleep_config.rb +20 -0
  117. data/lib/geoblacklight/configuration/relationship_config.rb +15 -0
  118. data/lib/geoblacklight/configuration/relationships_config.rb +123 -0
  119. data/lib/geoblacklight/configuration/settings_builder.rb +118 -0
  120. data/lib/geoblacklight/configuration.rb +153 -0
  121. data/lib/geoblacklight/deprecation.rb +7 -0
  122. data/lib/geoblacklight/download.rb +2 -2
  123. data/lib/geoblacklight/engine.rb +7 -5
  124. data/lib/geoblacklight/metadata/base.rb +0 -2
  125. data/lib/geoblacklight/metadata_transformer.rb +0 -2
  126. data/lib/geoblacklight/references.rb +5 -4
  127. data/lib/geoblacklight/relation/ancestors.rb +3 -2
  128. data/lib/geoblacklight/relation/descendants.rb +2 -1
  129. data/lib/geoblacklight/relation/relation_response.rb +4 -4
  130. data/lib/geoblacklight/version.rb +1 -1
  131. data/lib/geoblacklight/wms_layer.rb +3 -3
  132. data/lib/geoblacklight.rb +7 -1
  133. data/package.json +10 -31
  134. data/schema/geoblacklight-schema-aardvark.json +1 -9
  135. data/schema/readme.md +3 -4
  136. data/solr/conf/_rest_managed.json +3 -2
  137. data/solr/conf/schema.xml +1 -1
  138. data/spec/components/geoblacklight/arcgis_component_spec.rb +6 -6
  139. data/spec/components/geoblacklight/attribute_table_component_spec.rb +6 -7
  140. data/spec/components/geoblacklight/citation_component_spec.rb +7 -4
  141. data/spec/components/geoblacklight/display_note_component_spec.rb +8 -8
  142. data/spec/components/geoblacklight/document/sidebar_component_spec.rb +48 -0
  143. data/spec/components/geoblacklight/document_component_spec.rb +13 -13
  144. data/spec/components/geoblacklight/download_links_component_spec.rb +17 -14
  145. data/spec/components/geoblacklight/header_icons_component_spec.rb +6 -11
  146. data/spec/components/geoblacklight/homepage_feature_facet_component_spec.rb +22 -30
  147. data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +3 -3
  148. data/spec/components/geoblacklight/index_map_legend_component_spec.rb +5 -18
  149. data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +5 -5
  150. data/spec/components/geoblacklight/login_link_component_spec.rb +5 -6
  151. data/spec/components/geoblacklight/search_result_component_spec.rb +2 -6
  152. data/spec/components/geoblacklight/static_map_component_spec.rb +2 -2
  153. data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +4 -6
  154. data/spec/components/geoblacklight/web_services_component_spec.rb +11 -10
  155. data/spec/controllers/catalog_controller_spec.rb +7 -7
  156. data/spec/controllers/download_controller_spec.rb +1 -1
  157. data/spec/controllers/relation_controller_spec.rb +1 -1
  158. data/spec/controllers/wms_controller_spec.rb +1 -1
  159. data/spec/features/axe_spec.rb +4 -4
  160. data/spec/features/bookmarks_spec.rb +1 -1
  161. data/spec/features/citations_spec.rb +1 -1
  162. data/spec/features/configurable_basemap_spec.rb +1 -1
  163. data/spec/features/data_dictionary_download_spec.rb +1 -1
  164. data/spec/features/download_layer_spec.rb +1 -1
  165. data/spec/features/empty_search_spec.rb +1 -1
  166. data/spec/features/esri_viewer_spec.rb +1 -1
  167. data/spec/features/exports_spec.rb +1 -1
  168. data/spec/features/full_screen_control_spec.rb +3 -10
  169. data/spec/features/help_text_spec.rb +1 -1
  170. data/spec/features/home_page_spec.rb +1 -1
  171. data/spec/features/index_map_spec.rb +3 -3
  172. data/spec/features/index_view_spec.rb +7 -7
  173. data/spec/features/layer_inspection_spec.rb +1 -1
  174. data/spec/features/layer_opacity_spec.rb +1 -1
  175. data/spec/features/layer_preview_spec.rb +1 -1
  176. data/spec/features/layer_with_no_references_spec.rb +1 -1
  177. data/spec/features/linkified_attribute_table_spec.rb +1 -1
  178. data/spec/features/metadata_panel_spec.rb +1 -1
  179. data/spec/features/missing_metadata_spec.rb +1 -1
  180. data/spec/features/multiple_downloads_spec.rb +1 -1
  181. data/spec/features/oembed_spec.rb +1 -1
  182. data/spec/features/relations_spec.rb +2 -2
  183. data/spec/features/saved_searches_spec.rb +1 -1
  184. data/spec/features/search_bar_spec.rb +1 -1
  185. data/spec/features/search_results_complex_geometry_spec.rb +1 -1
  186. data/spec/features/search_results_icons_spec.rb +3 -4
  187. data/spec/features/search_results_map_spec.rb +1 -1
  188. data/spec/features/search_results_overlap_ratio_spec.rb +3 -3
  189. data/spec/features/search_spec.rb +1 -1
  190. data/spec/features/show_page_download_spec.rb +1 -1
  191. data/spec/features/show_page_metadata_spec.rb +2 -2
  192. data/spec/features/sms_spec.rb +1 -1
  193. data/spec/features/suppressed_records_spec.rb +1 -1
  194. data/spec/features/tilejson_spec.rb +1 -1
  195. data/spec/features/tms_spec.rb +1 -1
  196. data/spec/features/web_services_modal_spec.rb +1 -1
  197. data/spec/features/wmts_spec.rb +1 -1
  198. data/spec/features/xyz_spec.rb +1 -1
  199. data/spec/fixtures/manifests/tilejson.json +10 -19
  200. data/spec/fixtures/metadata/fgdc.html +1 -1
  201. data/spec/fixtures/metadata/iso.html +1 -1
  202. data/spec/fixtures/solr_documents/README.md +0 -1
  203. data/spec/fixtures/solr_documents/actual-papermap1.json +9 -28
  204. data/spec/fixtures/solr_documents/actual-point1.json +12 -39
  205. data/spec/fixtures/solr_documents/actual-polygon1.json +10 -30
  206. data/spec/fixtures/solr_documents/actual-raster1.json +14 -46
  207. data/spec/fixtures/solr_documents/all-relationships.json +12 -36
  208. data/spec/fixtures/solr_documents/b1g_iiif_manifest.json +33 -62
  209. data/spec/fixtures/solr_documents/b1g_wabash_child_15.json +13 -40
  210. data/spec/fixtures/solr_documents/b1g_wabash_child_16.json +13 -40
  211. data/spec/fixtures/solr_documents/b1g_wabash_child_17.json +13 -40
  212. data/spec/fixtures/solr_documents/b1g_wabash_child_18.json +13 -40
  213. data/spec/fixtures/solr_documents/b1g_wabash_parent.json +13 -40
  214. data/spec/fixtures/solr_documents/baruch_ancestor1.json +13 -40
  215. data/spec/fixtures/solr_documents/baruch_ancestor2.json +13 -40
  216. data/spec/fixtures/solr_documents/baruch_documentation_download.json +14 -46
  217. data/spec/fixtures/solr_documents/bbox-spans-180.json +7 -21
  218. data/spec/fixtures/solr_documents/complex-geom.json +11 -37
  219. data/spec/fixtures/solr_documents/cornell_html_metadata.json +12 -37
  220. data/spec/fixtures/solr_documents/display-note.json +11 -33
  221. data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +13 -39
  222. data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +13 -40
  223. data/spec/fixtures/solr_documents/esri-feature-layer.json +13 -39
  224. data/spec/fixtures/solr_documents/esri-image-map-layer.json +13 -40
  225. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +16 -54
  226. data/spec/fixtures/solr_documents/esri-wms-layer.json +12 -36
  227. data/spec/fixtures/solr_documents/harvard_raster.json +12 -37
  228. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +9 -27
  229. data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +12 -41
  230. data/spec/fixtures/solr_documents/index-map-polygon.json +12 -41
  231. data/spec/fixtures/solr_documents/index-map-stanford.json +14 -45
  232. data/spec/fixtures/solr_documents/index-map-v1-complex.json +13 -38
  233. data/spec/fixtures/solr_documents/index_map_point.json +13 -42
  234. data/spec/fixtures/solr_documents/metadata_no_geom.json +4 -14
  235. data/spec/fixtures/solr_documents/metadata_no_provider.json +8 -25
  236. data/spec/fixtures/solr_documents/multiple-downloads.json +6 -18
  237. data/spec/fixtures/solr_documents/no_locn_geometry.json +4 -12
  238. data/spec/fixtures/solr_documents/no_spatial.json +4 -12
  239. data/spec/fixtures/solr_documents/oembed.json +8 -25
  240. data/spec/fixtures/solr_documents/princeton-child1.json +9 -29
  241. data/spec/fixtures/solr_documents/princeton-child2.json +9 -29
  242. data/spec/fixtures/solr_documents/princeton-child3.json +9 -29
  243. data/spec/fixtures/solr_documents/princeton-child4.json +9 -29
  244. data/spec/fixtures/solr_documents/princeton-parent.json +10 -33
  245. data/spec/fixtures/solr_documents/public_cog_princeton.json +9 -27
  246. data/spec/fixtures/solr_documents/public_iiif_princeton.json +13 -43
  247. data/spec/fixtures/solr_documents/public_pmtiles_princeton.json +29 -39
  248. data/spec/fixtures/solr_documents/public_polygon_mit.json +9 -30
  249. data/spec/fixtures/solr_documents/restricted-line.json +14 -47
  250. data/spec/fixtures/solr_documents/the-related-record.json +4 -12
  251. data/spec/fixtures/solr_documents/tilejson.json +23 -46
  252. data/spec/fixtures/solr_documents/tms.json +7 -21
  253. data/spec/fixtures/solr_documents/umn_metro_result1.json +13 -41
  254. data/spec/fixtures/solr_documents/umn_state_result1.json +13 -39
  255. data/spec/fixtures/solr_documents/umn_state_result2.json +13 -39
  256. data/spec/fixtures/solr_documents/uva_slug_colon.json +10 -30
  257. data/spec/fixtures/solr_documents/wmts-multiple.json +23 -39
  258. data/spec/fixtures/solr_documents/wmts-single-layer.json +23 -46
  259. data/spec/fixtures/solr_documents/xyz.json +10 -33
  260. data/spec/helpers/geoblacklight_helper_spec.rb +5 -50
  261. data/spec/javascripts/geoblacklight_spec.js +10 -10
  262. data/spec/javascripts/metadata_download_button_spec.js +14 -13
  263. data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -1
  264. data/spec/lib/geoblacklight/configuration/default_settings_builder_spec.rb +9 -0
  265. data/spec/lib/geoblacklight/configuration/layer_config_spec.rb +71 -0
  266. data/spec/lib/geoblacklight/configuration/leaflet_layers_config_spec.rb +63 -0
  267. data/spec/lib/geoblacklight/configuration/settings_builder_spec.rb +177 -0
  268. data/spec/lib/geoblacklight/configuration_spec.rb +48 -0
  269. data/spec/lib/geoblacklight/download/csv_download_spec.rb +2 -2
  270. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +2 -2
  271. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +5 -2
  272. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +2 -2
  273. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +2 -2
  274. data/spec/lib/geoblacklight/download_spec.rb +15 -6
  275. data/spec/lib/geoblacklight/geometry_spec.rb +1 -1
  276. data/spec/lib/geoblacklight/item_viewer_spec.rb +2 -2
  277. data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -1
  278. data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -1
  279. data/spec/lib/geoblacklight/metadata_spec.rb +1 -1
  280. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +1 -1
  281. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +1 -1
  282. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +1 -1
  283. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +1 -1
  284. data/spec/lib/geoblacklight/reference_spec.rb +1 -1
  285. data/spec/lib/geoblacklight/references_spec.rb +6 -4
  286. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +10 -4
  287. data/spec/lib/geoblacklight/relation/descendants_spec.rb +9 -4
  288. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +16 -19
  289. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +1 -1
  290. data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -1
  291. data/spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb +20 -11
  292. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
  293. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -1
  294. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -1
  295. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +4 -39
  296. data/spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb +2 -2
  297. data/spec/routing/catalog_routing_spec.rb +1 -1
  298. data/spec/spec_helper.rb +26 -10
  299. data/spec/tasks/geoblacklight_spec.rb +1 -1
  300. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -3
  301. metadata +44 -187
  302. data/Procfile.dev +0 -3
  303. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +0 -2
  304. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +0 -31
  305. data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +0 -40
  306. data/app/assets/stylesheets/geoblacklight/modules/_styles.scss +0 -9
  307. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +0 -62
  308. data/app/assets/stylesheets/geoblacklight/modules/geosearch.scss +0 -23
  309. data/app/assets/stylesheets/geoblacklight/modules/home.scss +0 -13
  310. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +0 -116
  311. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +0 -61
  312. data/app/assets/stylesheets/geoblacklight/modules/item.scss +0 -78
  313. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +0 -87
  314. data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +0 -4
  315. data/app/assets/stylesheets/geoblacklight/modules/metadata.scss +0 -31
  316. data/app/assets/stylesheets/geoblacklight/modules/metadata_content.scss +0 -43
  317. data/app/assets/stylesheets/geoblacklight/modules/metadata_markup.scss +0 -9
  318. data/app/assets/stylesheets/geoblacklight/modules/metadata_missing.scss +0 -7
  319. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -5
  320. data/app/assets/stylesheets/geoblacklight/modules/results.scss +0 -60
  321. data/app/assets/stylesheets/geoblacklight/modules/search_widgets.scss +0 -5
  322. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +0 -42
  323. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +0 -34
  324. data/app/assets/stylesheets/geoblacklight/modules/web_services.scss +0 -5
  325. data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +0 -46
  326. data/app/components/blacklight/icons/arizona_component.rb +0 -24
  327. data/app/components/blacklight/icons/baruch_cuny_component.rb +0 -23
  328. data/app/components/blacklight/icons/bookmark_component.rb +0 -23
  329. data/app/components/blacklight/icons/circle_info_solid_component.rb +0 -23
  330. data/app/components/blacklight/icons/columbia_component.rb +0 -23
  331. data/app/components/blacklight/icons/cornell_component.rb +0 -25
  332. data/app/components/blacklight/icons/george_mason_component.rb +0 -24
  333. data/app/components/blacklight/icons/harvard_component.rb +0 -23
  334. data/app/components/blacklight/icons/indiana_component.rb +0 -23
  335. data/app/components/blacklight/icons/lewis_clark_component.rb +0 -25
  336. data/app/components/blacklight/icons/massgis_component.rb +0 -23
  337. data/app/components/blacklight/icons/michigan_state_university_component.rb +0 -25
  338. data/app/components/blacklight/icons/mit_component.rb +0 -23
  339. data/app/components/blacklight/icons/northwestern_university_component.rb +0 -24
  340. data/app/components/blacklight/icons/nyu_component.rb +0 -26
  341. data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +0 -25
  342. data/app/components/blacklight/icons/princeton_component.rb +0 -23
  343. data/app/components/blacklight/icons/purdue_university_component.rb +0 -25
  344. data/app/components/blacklight/icons/rutgers_component.rb +0 -25
  345. data/app/components/blacklight/icons/sms_component.rb +0 -23
  346. data/app/components/blacklight/icons/stanford_component.rb +0 -23
  347. data/app/components/blacklight/icons/texas_component.rb +0 -23
  348. data/app/components/blacklight/icons/the_ohio_state_university_component.rb +0 -26
  349. data/app/components/blacklight/icons/tufts_component.rb +0 -23
  350. data/app/components/blacklight/icons/ucla_component.rb +0 -23
  351. data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +0 -24
  352. data/app/components/blacklight/icons/university_of_chicago_component.rb +0 -25
  353. data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +0 -26
  354. data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +0 -25
  355. data/app/components/blacklight/icons/university_of_iowa_component.rb +0 -24
  356. data/app/components/blacklight/icons/university_of_maryland_component.rb +0 -24
  357. data/app/components/blacklight/icons/university_of_michigan_component.rb +0 -24
  358. data/app/components/blacklight/icons/university_of_minnesota_component.rb +0 -24
  359. data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +0 -27
  360. data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +0 -24
  361. data/app/components/blacklight/icons/uva_component.rb +0 -23
  362. data/app/components/geoblacklight/icon_facet_item_component.rb +0 -33
  363. data/app/components/geoblacklight/web_services_link_component.html.erb +0 -3
  364. data/app/javascript/geoblacklight/initializers/relations.js +0 -40
  365. data/app/views/catalog/_relations_container.html.erb +0 -1
  366. data/bin/vite +0 -29
  367. data/config/initializers/new_gbl_settings_defaults_4.1.yml +0 -104
  368. data/lib/generators/geoblacklight/assets/importmap_generator.rb +0 -73
  369. data/lib/generators/geoblacklight/assets/vite_generator.rb +0 -89
  370. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +0 -23
  371. data/lib/generators/geoblacklight/templates/assets/application.js +0 -17
  372. data/lib/generators/geoblacklight/templates/assets/application.scss +0 -9
  373. data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +0 -11
  374. data/lib/generators/geoblacklight/templates/base.html.erb +0 -46
  375. data/lib/generators/geoblacklight/templates/vite.config.ts +0 -23
  376. data/lib/generators/geoblacklight/templates/vite.json +0 -16
  377. data/schema/geoblacklight-schema-1.0.json +0 -214
  378. data/solr/conf/xslt/example.xsl +0 -132
  379. data/solr/conf/xslt/example_atom.xsl +0 -67
  380. data/solr/conf/xslt/example_rss.xsl +0 -66
  381. data/solr/conf/xslt/luke.xsl +0 -337
  382. data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +0 -15
  383. data/spec/components/blacklight/icons/arizona_component_spec.rb +0 -15
  384. data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +0 -15
  385. data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +0 -15
  386. data/spec/components/blacklight/icons/book_component_spec.rb +0 -15
  387. data/spec/components/blacklight/icons/bookmark_component_spec.rb +0 -15
  388. data/spec/components/blacklight/icons/cd_rom_component_spec.rb +0 -15
  389. data/spec/components/blacklight/icons/child_item_component_spec.rb +0 -15
  390. data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +0 -15
  391. data/spec/components/blacklight/icons/citation_component_spec.rb +0 -15
  392. data/spec/components/blacklight/icons/collection_component_spec.rb +0 -15
  393. data/spec/components/blacklight/icons/collections_component_spec.rb +0 -15
  394. data/spec/components/blacklight/icons/columbia_component_spec.rb +0 -15
  395. data/spec/components/blacklight/icons/cornell_component_spec.rb +0 -15
  396. data/spec/components/blacklight/icons/datasets_component_spec.rb +0 -15
  397. data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +0 -15
  398. data/spec/components/blacklight/icons/email_component_spec.rb +0 -15
  399. data/spec/components/blacklight/icons/esri_globe_component_spec.rb +0 -15
  400. data/spec/components/blacklight/icons/fire_solid_component_spec.rb +0 -15
  401. data/spec/components/blacklight/icons/george_mason_component_spec.rb +0 -15
  402. data/spec/components/blacklight/icons/globe_component_spec.rb +0 -15
  403. data/spec/components/blacklight/icons/harvard_component_spec.rb +0 -15
  404. data/spec/components/blacklight/icons/home_component_spec.rb +0 -15
  405. data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +0 -15
  406. data/spec/components/blacklight/icons/image_component_spec.rb +0 -15
  407. data/spec/components/blacklight/icons/imagery_component_spec.rb +0 -15
  408. data/spec/components/blacklight/icons/indiana_component_spec.rb +0 -15
  409. data/spec/components/blacklight/icons/leaf_component_spec.rb +0 -15
  410. data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +0 -15
  411. data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +0 -15
  412. data/spec/components/blacklight/icons/line_component_spec.rb +0 -15
  413. data/spec/components/blacklight/icons/map_component_spec.rb +0 -15
  414. data/spec/components/blacklight/icons/map_marker_component_spec.rb +0 -15
  415. data/spec/components/blacklight/icons/maps_component_spec.rb +0 -15
  416. data/spec/components/blacklight/icons/massgis_component_spec.rb +0 -15
  417. data/spec/components/blacklight/icons/metadata_component_spec.rb +0 -15
  418. data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +0 -15
  419. data/spec/components/blacklight/icons/mit_component_spec.rb +0 -15
  420. data/spec/components/blacklight/icons/mixed_component_spec.rb +0 -15
  421. data/spec/components/blacklight/icons/multilinestring_component_spec.rb +0 -15
  422. data/spec/components/blacklight/icons/multipoint_component_spec.rb +0 -15
  423. data/spec/components/blacklight/icons/multipolygon_component_spec.rb +0 -15
  424. data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +0 -15
  425. data/spec/components/blacklight/icons/nyu_component_spec.rb +0 -15
  426. data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +0 -15
  427. data/spec/components/blacklight/icons/paper_map_component_spec.rb +0 -15
  428. data/spec/components/blacklight/icons/parent_item_component_spec.rb +0 -15
  429. data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +0 -15
  430. data/spec/components/blacklight/icons/point_component_spec.rb +0 -15
  431. data/spec/components/blacklight/icons/polygon_component_spec.rb +0 -15
  432. data/spec/components/blacklight/icons/polyline_component_spec.rb +0 -15
  433. data/spec/components/blacklight/icons/princeton_component_spec.rb +0 -15
  434. data/spec/components/blacklight/icons/public_component_spec.rb +0 -15
  435. data/spec/components/blacklight/icons/purdue_university_component_spec.rb +0 -15
  436. data/spec/components/blacklight/icons/raster_component_spec.rb +0 -15
  437. data/spec/components/blacklight/icons/restricted_component_spec.rb +0 -15
  438. data/spec/components/blacklight/icons/rutgers_component_spec.rb +0 -15
  439. data/spec/components/blacklight/icons/sms_component_spec.rb +0 -15
  440. data/spec/components/blacklight/icons/stanford_component_spec.rb +0 -15
  441. data/spec/components/blacklight/icons/table_component_spec.rb +0 -15
  442. data/spec/components/blacklight/icons/tags_component_spec.rb +0 -15
  443. data/spec/components/blacklight/icons/texas_component_spec.rb +0 -15
  444. data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +0 -15
  445. data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +0 -15
  446. data/spec/components/blacklight/icons/tufts_component_spec.rb +0 -15
  447. data/spec/components/blacklight/icons/ucla_component_spec.rb +0 -15
  448. data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +0 -15
  449. data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +0 -15
  450. data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +0 -15
  451. data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +0 -15
  452. data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +0 -15
  453. data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +0 -15
  454. data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +0 -15
  455. data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +0 -15
  456. data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +0 -15
  457. data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +0 -15
  458. data/spec/components/blacklight/icons/uva_component_spec.rb +0 -15
  459. data/spec/components/blacklight/icons/web_services_component_spec.rb +0 -15
  460. data/spec/components/blacklight/icons/websites_component_spec.rb +0 -15
  461. data/spec/components/geoblacklight/icon_facet_item_component_spec.rb +0 -18
  462. data/spec/config/initializers/rails_config_spec.rb +0 -16
  463. data/spec/features/show_page_sidebar_static_map_spec.rb +0 -21
  464. data/spec/fixtures/solr_documents/public_direct_download.json +0 -62
  465. data/spec/support/backport_test_helpers.rb +0 -47
  466. data/spec/support/view_component_capybara_test_helpers.rb +0 -8
  467. data/vite.config.ts +0 -32
  468. /data/app/assets/images/{blacklight → geoblacklight}/logo.svg +0 -0
@@ -11,9 +11,9 @@ module Geoblacklight
11
11
  end
12
12
 
13
13
  def method_missing(method, *args, &block)
14
- if Settings.RELATIONSHIPS_SHOWN.key?(method)
15
- field = Settings.RELATIONSHIPS_SHOWN[method].field
16
- query_type = query_type(Settings.RELATIONSHIPS_SHOWN[method])
14
+ if Geoblacklight.configuration.relationships_shown.key?(method)
15
+ field = Geoblacklight.configuration.relationships_shown[method].field
16
+ query_type = query_type(Geoblacklight.configuration.relationships_shown[method])
17
17
  @results = query_type.new(@search_id, field, @repository).results
18
18
  else
19
19
  super
@@ -21,7 +21,7 @@ module Geoblacklight
21
21
  end
22
22
 
23
23
  def respond_to_missing?(method_name, *args)
24
- Settings.RELATIONSHIPS_SHOWN.key?(method_name) or super
24
+ Geoblacklight.configuration.relationships_shown.key?(method_name) or super
25
25
  end
26
26
 
27
27
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Geoblacklight
4
- VERSION = "5.3.0"
4
+ VERSION = "6.0.0-alpha.2"
5
5
  end
@@ -3,7 +3,7 @@
3
3
  module Geoblacklight
4
4
  class WmsLayer
5
5
  def initialize(params)
6
- @params = params.to_h.merge(Settings.WMS_PARAMS)
6
+ @params = params.to_h.merge(Geoblacklight.configuration.wms_params)
7
7
  @response = Geoblacklight::FeatureInfoResponse.new(request_response)
8
8
  end
9
9
 
@@ -23,8 +23,8 @@ module Geoblacklight
23
23
  conn = Faraday.new(url: url)
24
24
  conn.get do |request|
25
25
  request.params = search_params
26
- request.options.timeout = Settings.TIMEOUT_WMS
27
- request.options.open_timeout = Settings.TIMEOUT_WMS
26
+ request.options.timeout = Geoblacklight.configuration.timeout_wms
27
+ request.options.open_timeout = Geoblacklight.configuration.timeout_wms
28
28
  end
29
29
  rescue Faraday::ConnectionFailed, Faraday::TimeoutError => error
30
30
  Geoblacklight.logger.error error.inspect
data/lib/geoblacklight.rb CHANGED
@@ -1,16 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "active_support/dependencies"
4
- require "geoblacklight/engine"
5
4
  require "zeitwerk"
6
5
  loader = Zeitwerk::Loader.for_gem
7
6
  loader.ignore("#{__dir__}/generators")
8
7
  loader.collapse("#{__dir__}/geoblacklight/download")
9
8
  loader.collapse("#{__dir__}/geoblacklight/wms_layer")
10
9
  loader.setup
10
+ require "geoblacklight/engine"
11
11
 
12
12
  module Geoblacklight
13
13
  def self.logger
14
14
  ::Rails.logger
15
15
  end
16
+
17
+ mattr_accessor :configuration_builder, default: Geoblacklight::Configuration::SettingsBuilder
18
+
19
+ def self.configuration
20
+ @configuration ||= configuration_builder.build
21
+ end
16
22
  end
data/package.json CHANGED
@@ -1,37 +1,16 @@
1
1
  {
2
- "name": "@geoblacklight/frontend",
3
- "type": "module",
4
- "version": "5.3.0",
2
+ "name": "geoblacklight",
3
+ "version": "1.0.0",
4
+ "main": "index.js",
5
+ "repository": "https://github.com/geoblacklight/geoblacklight.git",
6
+ "author": "Justin Coyne <jcoyne@justincoyne.com>",
5
7
  "license": "Apache-2.0",
6
- "publishConfig": {
7
- "access": "public"
8
+ "devDependencies": {
9
+ "prettier": "^3.8.3"
8
10
  },
9
11
  "scripts": {
10
- "dev": "vite",
11
- "build": "vite build",
12
- "watch": "vite build --watch"
13
- },
14
- "files": [
15
- "app/assets",
16
- "app/javascript"
17
- ],
18
- "module": "app/assets/javascripts/geoblacklight/geoblacklight.js",
19
- "main": "app/assets/javascripts/geoblacklight/geoblacklight.umd.cjs",
20
- "dependencies": {
21
- "@github/auto-complete-element": "^3.6.2",
22
- "@hotwired/stimulus": "^3.2.2",
23
- "@popperjs/core": "^2.11.8",
24
- "blacklight-frontend": "8",
25
- "bootstrap": "^5.3.3",
26
- "esri-leaflet": "^3.0.12",
27
- "leaflet": "^1.9.4",
28
- "leaflet.fullscreen": "^5.3.0",
29
- "ol": "10.7.0",
30
- "ol-pmtiles": "^2.0.2"
12
+ "lint": "prettier --check \"**/*.{js,json,yml,yaml}\"",
13
+ "format": "prettier --write \"**/*.{js,json,yml,yaml}\""
31
14
  },
32
- "devDependencies": {
33
- "jsdom": "^27.3.0",
34
- "rollup-plugin-includepaths": "^0.2.4",
35
- "vite": "^7.2.2"
36
- }
15
+ "private": true
37
16
  }
@@ -47,15 +47,7 @@
47
47
  "type": "array",
48
48
  "items": {
49
49
  "type": "string",
50
- "enum": [
51
- "Datasets",
52
- "Maps",
53
- "Imagery",
54
- "Collections",
55
- "Websites",
56
- "Web services",
57
- "Other"
58
- ]
50
+ "enum": ["Datasets", "Maps", "Imagery", "Collections", "Websites", "Web services", "Other"]
59
51
  }
60
52
  },
61
53
  "gbl_resourceType_sm": {
data/schema/readme.md CHANGED
@@ -1,8 +1,7 @@
1
1
  #about the schema directory
2
2
 
3
- This directory contains two [JSON schema vocabulary](http://json-schema.org) files. These are provided for documentation and testing purposes.
3
+ This directory contains a [JSON schema vocabulary](http://json-schema.org) file. It is provided for documentation and testing purposes.
4
4
 
5
- * geoblacklight-schema-1.0.json : This document is formatted in the [GeoBlacklight 1.0 Metadata version schema](https://opengeometadata.org/docs/gbl-1.0), compatible with Geoblacklight versions 2.0 to 3.7.
6
- * geoblacklight-schema-aardvark.json : This document is formatted in the [OpenGeoMetadata, version Aardvark schema](https://opengeometadata.org/docs/ogm-aardvark), compatible with Geoblacklight version 4.0.
5
+ * geoblacklight-schema-aardvark.json : This document is formatted in the [OpenGeoMetadata, version Aardvark schema](https://opengeometadata.org/docs/ogm-aardvark), compatible with Geoblacklight version 4.0+.
7
6
 
8
- For more information on the metadata schemas for GeoBlacklight, see [opengeometadata.org](https://opengeometadata.org)
7
+ For more information on the metadata schema for GeoBlacklight, see [opengeometadata.org](https://opengeometadata.org)
@@ -1,3 +1,4 @@
1
1
  {
2
- "initArgs":{},
3
- "managedList":[]}
2
+ "initArgs": {},
3
+ "managedList": []
4
+ }
data/solr/conf/schema.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <schema name="geoblacklight-schema" version="4.0">
2
+ <schema name="geoblacklight-schema" version="1.6">
3
3
  <uniqueKey>id</uniqueKey>
4
4
  <fields>
5
5
  <field name="_version_" type="long" stored="true" indexed="true"/>
@@ -4,19 +4,19 @@ require "spec_helper"
4
4
 
5
5
  RSpec.describe Geoblacklight::ArcgisComponent, type: :component do
6
6
  let(:component) { described_class.new(document: document, action: nil) }
7
- subject(:rendered) do
8
- render_inline_to_capybara_node(component)
9
- end
10
7
  let(:document) { instance_double(SolrDocument, id: 123, arcgis_urls: ["https://www.stanford.edu"]) }
11
8
 
12
9
  it "shows link" do
13
- expect(rendered).to have_css("a[href='#{Settings.ARCGIS_BASE_URL}?urls=https%3A%2F%2Fwww.stanford.edu']", text: "Open in ArcGIS Online")
10
+ render_inline(component)
11
+ expect(page).to have_css(
12
+ "a[href='#{Geoblacklight.configuration.arcgis_base_url}?urls=https%3A%2F%2Fwww.stanford.edu']", text: "Open in ArcGIS Online"
13
+ )
14
14
  end
15
15
 
16
16
  describe "#arcgis_link" do
17
17
  context "single url" do
18
18
  it "creates a single url param" do
19
- expect(component.arcgis_link).to eq "#{Settings.ARCGIS_BASE_URL}?urls=https%3A%2F%2Fwww.stanford.edu"
19
+ expect(component.arcgis_link).to eq "#{Geoblacklight.configuration.arcgis_base_url}?urls=https%3A%2F%2Fwww.stanford.edu"
20
20
  end
21
21
  end
22
22
 
@@ -24,7 +24,7 @@ RSpec.describe Geoblacklight::ArcgisComponent, type: :component do
24
24
  let(:document) { instance_double(SolrDocument, id: 123, arcgis_urls: ["http://example.com/foo/MapServer", "http://example.com/foo/FeatureServer"]) }
25
25
 
26
26
  it "appends the url params" do
27
- expect(component.arcgis_link).to eq "#{Settings.ARCGIS_BASE_URL}?urls=http%3A%2F%2Fexample.com%2Ffoo%2FMapServer&urls=http%3A%2F%2Fexample.com%2Ffoo%2FFeatureServer"
27
+ expect(component.arcgis_link).to eq "#{Geoblacklight.configuration.arcgis_base_url}?urls=http%3A%2F%2Fexample.com%2Ffoo%2FMapServer&urls=http%3A%2F%2Fexample.com%2Ffoo%2FFeatureServer"
28
28
  end
29
29
  end
30
30
  end
@@ -9,19 +9,17 @@ RSpec.describe Geoblacklight::AttributeTableComponent, type: :component do
9
9
  allow_any_instance_of(GeoblacklightHelper).to receive(:document_available?).and_return(true)
10
10
  end
11
11
 
12
- subject(:rendered) do
13
- render_inline_to_capybara_node(described_class.new(document:))
14
- end
15
-
16
12
  it "displays attribute table body element" do
17
- expect(rendered).to have_selector(".attribute-table-body")
13
+ render_inline(described_class.new(document:))
14
+ expect(page).to have_selector(".attribute-table-body")
18
15
  end
19
16
 
20
17
  context "when the document is not inspectable" do
21
18
  before { allow(document).to receive(:inspectable?).and_return(false) }
22
19
 
23
20
  it "does not render the attribute table" do
24
- expect(rendered).not_to have_selector(".attribute-table-body")
21
+ render_inline(described_class.new(document:))
22
+ expect(page).not_to have_selector(".attribute-table-body")
25
23
  end
26
24
  end
27
25
 
@@ -31,7 +29,8 @@ RSpec.describe Geoblacklight::AttributeTableComponent, type: :component do
31
29
  end
32
30
 
33
31
  it "does not render the attribute table" do
34
- expect(rendered).not_to have_selector(".attribute-table-body")
32
+ render_inline(described_class.new(document:))
33
+ expect(page).not_to have_selector(".attribute-table-body")
35
34
  end
36
35
  end
37
36
  end
@@ -5,13 +5,16 @@ require "spec_helper"
5
5
  RSpec.describe Geoblacklight::Document::CitationComponent, type: :component do
6
6
  describe "#geoblacklight_citation" do
7
7
  let(:document) { SolrDocument.new(fixture) }
8
- let(:rendered) { render_inline_to_capybara_node(described_class.new(document: document)) }
8
+
9
+ before do
10
+ render_inline(described_class.new(document: document))
11
+ end
9
12
 
10
13
  context "when the identifier is a URL" do
11
14
  let(:fixture) { JSON.parse(read_fixture("solr_documents/restricted-line.json")) }
12
15
 
13
16
  it "creates a citation with the identifier link" do
14
- expect(rendered)
17
+ expect(page)
15
18
  .to have_text "United States. National Oceanic and Atmospheric Administration. Circuit Rider Productions. (2002). 10 Meter Contours: Russian River Basin, California. [Shapefile]. Circuit Rider Productions. http://purl.stanford.edu/cg357zz032"
16
19
  end
17
20
  end
@@ -20,7 +23,7 @@ RSpec.describe Geoblacklight::Document::CitationComponent, type: :component do
20
23
  let(:fixture) { JSON.parse(read_fixture("solr_documents/tilejson.json")) }
21
24
 
22
25
  it "creates a citation with the schema.org references link" do
23
- expect(rendered)
26
+ expect(page)
24
27
  .to have_text "Great Britain. War Office. General Staff. Geographical Section. (1908). The Balkans [and] Turkey : G.S.G.S. no. 2097 / War Office. General Staff. Geographical Section (TileJSON Fixture). [London] : War Office. General Staff. Geographical Section. General Staff, 1908-25.. https://catalog.princeton.edu/catalog/99125413918506421"
25
28
  end
26
29
  end
@@ -29,7 +32,7 @@ RSpec.describe Geoblacklight::Document::CitationComponent, type: :component do
29
32
  let(:fixture) { JSON.parse(read_fixture("solr_documents/no_spatial.json")) }
30
33
 
31
34
  it "creates a citation with the solr document link" do
32
- expect(rendered)
35
+ expect(page)
33
36
  .to have_text "ASTER Global Emissivity Dataset 1-kilometer V003 - AG1KM. http://test.host/catalog/aster-global-emissivity-dataset-1-kilometer-v003-ag1kmcad20"
34
37
  end
35
38
  end
@@ -3,25 +3,25 @@
3
3
  require "spec_helper"
4
4
 
5
5
  RSpec.describe Geoblacklight::DisplayNoteComponent, type: :component do
6
- subject(:rendered) do
7
- render_inline_to_capybara_node(described_class.new(**kwargs))
6
+ before do
7
+ render_inline(described_class.new(**kwargs))
8
8
  end
9
9
 
10
10
  describe "prefixed" do
11
11
  let(:kwargs) { {display_note: "Warning: Full force applied."} }
12
12
  it "prefixed, includes display note and icon" do
13
- expect(rendered).to have_selector("div.gbl-display-note.alert.alert-warning")
14
- expect(rendered).to have_selector("span.blacklight-icons > svg")
15
- expect(rendered).to have_text("Warning: Full force applied.")
13
+ expect(page).to have_selector("div.gbl-display-note.alert.alert-warning")
14
+ expect(page).to have_selector("span.blacklight-icons > svg")
15
+ expect(page).to have_text("Warning: Full force applied.")
16
16
  end
17
17
  end
18
18
 
19
19
  describe "non-prefixed" do
20
20
  let(:kwargs) { {display_note: "Simple note."} }
21
21
  it "non-prefixed, includes only default display note" do
22
- expect(rendered).to have_selector("div.gbl-display-note.alert.alert-secondary")
23
- expect(rendered).to_not have_selector("span.blacklight-icons > svg")
24
- expect(rendered).to have_text("Simple note.")
22
+ expect(page).to have_selector("div.gbl-display-note.alert.alert-secondary")
23
+ expect(page).to_not have_selector("span.blacklight-icons > svg")
24
+ expect(page).to have_text("Simple note.")
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ RSpec.describe Geoblacklight::Document::SidebarComponent, type: :component do
6
+ subject(:component) { described_class.new(presenter: presenter) }
7
+
8
+ let(:view_context) { vc_test_controller.view_context }
9
+ let(:presenter) { view_context.document_presenter(document) }
10
+ let(:document) { SolrDocument.new(JSON.parse(read_fixture(fixture))) }
11
+
12
+ before do
13
+ allow_any_instance_of(Geoblacklight::DownloadLinksComponent).to receive(:render?).and_return(false)
14
+ allow_any_instance_of(Geoblacklight::LoginLinkComponent).to receive(:render?).and_return(false)
15
+
16
+ allow(document).to receive(:more_like_this).and_return([])
17
+ allow_any_instance_of(Blacklight::DocumentHelperBehavior).to receive(:current_bookmarks).and_return([])
18
+
19
+ with_controller_class(CatalogController) do
20
+ allow(vc_test_controller).to receive_messages(current_or_guest_user: User.new)
21
+ render_inline(component)
22
+ end
23
+ end
24
+
25
+ context "when the document viewer protocol is IIIF" do
26
+ let(:fixture) { "solr_documents/public_iiif_princeton.json" }
27
+
28
+ it "renders the static map" do
29
+ expect(page).to have_css("#static-map")
30
+ end
31
+
32
+ it "renders the Location label" do
33
+ expect(page).to have_content("Location")
34
+ end
35
+ end
36
+
37
+ context "when the document viewer protocol is WMS" do
38
+ let(:fixture) { "solr_documents/restricted-line.json" }
39
+
40
+ it "does not render the static map" do
41
+ expect(page).to have_no_css("#static-map")
42
+ end
43
+
44
+ it "does not render the Location label" do
45
+ expect(page).to have_no_content("Location")
46
+ end
47
+ end
48
+ end
@@ -6,7 +6,6 @@ RSpec.describe Geoblacklight::DocumentComponent, type: :component do
6
6
  subject(:component) { described_class.new(document: document, show: true) }
7
7
 
8
8
  let(:view_context) { vc_test_controller.view_context }
9
- let(:rendered) { render_inline_to_capybara_node(component) }
10
9
  let(:document) { view_context.document_presenter(presented_document) }
11
10
  let(:presented_document) { SolrDocument.new(JSON.parse(read_fixture(fixture))) }
12
11
  let(:fixture) { "solr_documents/actual-polygon1.json" }
@@ -23,22 +22,23 @@ RSpec.describe Geoblacklight::DocumentComponent, type: :component do
23
22
  vc_test_controller.action_name = "show"
24
23
  allow(vc_test_controller).to receive_messages(view_context: view_context, current_or_guest_user: User.new, blacklight_config: blacklight_config)
25
24
  allow(view_context).to receive_messages(search_session: {}, current_search_session: nil, current_bookmarks: [])
25
+ render_inline(component)
26
26
  end
27
27
 
28
28
  it "does not render any display notes" do
29
- expect(rendered).not_to have_css(".gbl-display-note")
29
+ expect(page).not_to have_css(".gbl-display-note")
30
30
  end
31
31
 
32
32
  it "does not render index map content" do
33
- expect(rendered).not_to have_css(".index-map-legend")
34
- expect(rendered).not_to have_css(".viewer-information")
33
+ expect(page).not_to have_css(".index-map-legend")
34
+ expect(page).not_to have_css(".viewer-information")
35
35
  end
36
36
 
37
37
  context "when the document has display notes" do
38
38
  let(:fixture) { "solr_documents/display-note.json" }
39
39
 
40
40
  it "renders the display notes" do
41
- expect(rendered).to have_css(".gbl-display-note")
41
+ expect(page).to have_css(".gbl-display-note")
42
42
  end
43
43
  end
44
44
 
@@ -46,11 +46,11 @@ RSpec.describe Geoblacklight::DocumentComponent, type: :component do
46
46
  let(:fixture) { "solr_documents/index-map-stanford.json" }
47
47
 
48
48
  it "renders the index map legend" do
49
- expect(rendered).to have_css(".index-map-legend")
49
+ expect(page).to have_css(".index-map-legend")
50
50
  end
51
51
 
52
52
  it "renders the index map inspection area" do
53
- expect(rendered).to have_css(".viewer-information")
53
+ expect(page).to have_css(".viewer-information")
54
54
  end
55
55
  end
56
56
 
@@ -58,11 +58,11 @@ RSpec.describe Geoblacklight::DocumentComponent, type: :component do
58
58
  let(:fixture) { "solr_documents/b1g_iiif_manifest.json" }
59
59
 
60
60
  it "displays the IIIF help text" do
61
- expect(rendered).to have_text(I18n.t("geoblacklight.help_text.viewer_protocol.iiif.title"))
61
+ expect(page).to have_text(I18n.t("geoblacklight.help_text.viewer_protocol.iiif.title"))
62
62
  end
63
63
 
64
64
  it "uses the IIIF tag for the container" do
65
- expect(rendered).to have_css("div#mirador")
65
+ expect(page).to have_css("div#mirador")
66
66
  end
67
67
  end
68
68
 
@@ -70,11 +70,11 @@ RSpec.describe Geoblacklight::DocumentComponent, type: :component do
70
70
  let(:fixture) { "solr_documents/public_pmtiles_princeton.json" }
71
71
 
72
72
  it "displays the PM Tiles help text" do
73
- expect(rendered).to have_text(I18n.t("geoblacklight.help_text.viewer_protocol.pmtiles.title"))
73
+ expect(page).to have_text(I18n.t("geoblacklight.help_text.viewer_protocol.pmtiles.title"))
74
74
  end
75
75
 
76
76
  it "uses the Open Layers tag for the container" do
77
- expect(rendered).to have_css("div#openlayers-viewer")
77
+ expect(page).to have_css("div#openlayers-viewer")
78
78
  end
79
79
  end
80
80
 
@@ -82,11 +82,11 @@ RSpec.describe Geoblacklight::DocumentComponent, type: :component do
82
82
  let(:fixture) { "solr_documents/actual-polygon1.json" }
83
83
 
84
84
  it "displays wms help text" do
85
- expect(rendered).to have_text(I18n.t("geoblacklight.help_text.viewer_protocol.wms.title"))
85
+ expect(page).to have_text(I18n.t("geoblacklight.help_text.viewer_protocol.wms.title"))
86
86
  end
87
87
 
88
88
  it "uses the Leaflet tag for the container" do
89
- expect(rendered).to have_css("div#leaflet-viewer")
89
+ expect(page).to have_css("div#leaflet-viewer")
90
90
  end
91
91
  end
92
92
  end
@@ -3,9 +3,6 @@
3
3
  require "spec_helper"
4
4
 
5
5
  RSpec.describe Geoblacklight::DownloadLinksComponent, type: :component do
6
- subject(:rendered) do
7
- render_inline_to_capybara_node(component)
8
- end
9
6
  let(:downloadable) { true }
10
7
  let(:document) { instance_double(SolrDocument, id: 123, downloadable?: downloadable) }
11
8
  let(:component) { described_class.new(document: document) }
@@ -22,8 +19,9 @@ RSpec.describe Geoblacklight::DownloadLinksComponent, type: :component do
22
19
  end
23
20
 
24
21
  it "shows download link" do
25
- expect(rendered).to have_text("Download")
26
- expect(rendered).to have_text("Export Shapefile")
22
+ render_inline(component)
23
+ expect(page).to have_text("Download")
24
+ expect(page).to have_text("Export Shapefile")
27
25
  end
28
26
  end
29
27
 
@@ -36,8 +34,9 @@ RSpec.describe Geoblacklight::DownloadLinksComponent, type: :component do
36
34
  end
37
35
 
38
36
  it "does not render anything" do
39
- expect(rendered).not_to have_text("Download")
40
- expect(rendered).not_to have_text("Export Shapefile")
37
+ render_inline(component)
38
+ expect(page).not_to have_text("Download")
39
+ expect(page).not_to have_text("Export Shapefile")
41
40
  end
42
41
  end
43
42
 
@@ -45,8 +44,9 @@ RSpec.describe Geoblacklight::DownloadLinksComponent, type: :component do
45
44
  let(:downloadable) { false }
46
45
 
47
46
  it "does not render anything" do
48
- expect(rendered).not_to have_text("Download")
49
- expect(rendered).not_to have_text("Export Shapefile")
47
+ render_inline(component)
48
+ expect(page).not_to have_text("Download")
49
+ expect(page).not_to have_text("Export Shapefile")
50
50
  end
51
51
  end
52
52
  end
@@ -57,12 +57,13 @@ RSpec.describe Geoblacklight::DownloadLinksComponent, type: :component do
57
57
  let(:url) { "http://example.com/urn:hul.harvard.edu:HARVARD.SDE2.TG10USAIANNH/data.zip" }
58
58
 
59
59
  it "generates a link to download the original file" do
60
- expect(component.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>'
60
+ expect(component.download_link_file(label, id,
61
+ 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>'
61
62
  end
62
63
  end
63
64
 
64
65
  describe "#download_link_iiif" do
65
- let(:references_field) { Settings.FIELDS.REFERENCES }
66
+ let(:references_field) { Geoblacklight.configuration.fields.references }
66
67
  let(:document_attributes) do
67
68
  {
68
69
  references_field => {
@@ -83,7 +84,7 @@ RSpec.describe Geoblacklight::DownloadLinksComponent, type: :component do
83
84
  end
84
85
 
85
86
  describe "#iiif_jpg_url" do
86
- let(:references_field) { Settings.FIELDS.REFERENCES }
87
+ let(:references_field) { Geoblacklight.configuration.fields.references }
87
88
  let(:document_attributes) do
88
89
  {
89
90
  references_field => {
@@ -111,8 +112,10 @@ RSpec.describe Geoblacklight::DownloadLinksComponent, type: :component do
111
112
  it "generates a link to download the JPG file from the IIIF server" do
112
113
  # Stub I18n to ensure the link can be customized via `export_` labels.
113
114
  allow(component).to receive(:t).with("geoblacklight.download.export_shapefile_link").and_return("Shapefile Export Customization")
114
- allow(component).to receive(:t).with("geoblacklight.download.export_link", {download_format: "Shapefile Export Customization"}).and_return("Export Shapefile Export Customization")
115
- expect(component.download_link_generated(download_type, document)).to eq '<a data-download-path="/download/test-id?type=SHAPEFILE" data-download="trigger" data-action="downloads#download:once" data-download-type="SHAPEFILE" data-download-id="test-id" href="">Export Shapefile Export Customization</a>'
115
+ allow(component).to receive(:t).with("geoblacklight.download.export_link",
116
+ {download_format: "Shapefile Export Customization"}).and_return("Export Shapefile Export Customization")
117
+ expect(component.download_link_generated(download_type,
118
+ document)).to eq '<a data-download-path="/download/test-id?type=SHAPEFILE" data-download="trigger" data-action="downloads#download:once" data-download-type="SHAPEFILE" data-download-id="test-id" href="">Export Shapefile Export Customization</a>'
116
119
  end
117
120
  end
118
121
  end
@@ -3,8 +3,8 @@
3
3
  require "spec_helper"
4
4
 
5
5
  RSpec.describe Geoblacklight::HeaderIconsComponent, type: :component do
6
- subject(:rendered) do
7
- render_inline_to_capybara_node(described_class.new(document: document))
6
+ before do
7
+ render_inline(described_class.new(document: document))
8
8
  end
9
9
 
10
10
  let(:document) { SolrDocument.new(document_attributes) }
@@ -14,17 +14,12 @@ RSpec.describe Geoblacklight::HeaderIconsComponent, type: :component do
14
14
  {
15
15
  "gbl_resourceClass_sm" => resource_class,
16
16
  "gbl_resourceType_sm" => resource_type,
17
- "schema_provider_s" => "Stanford",
18
17
  "dct_accessRights_s" => "Public"
19
18
  }
20
19
  end
21
20
 
22
- it "renders the provider icon" do
23
- expect(rendered).to have_css(".blacklight-icons-stanford")
24
- end
25
-
26
21
  it "renders the access rights icon" do
27
- expect(rendered).to have_css(".blacklight-icons-public")
22
+ expect(page).to have_css(".blacklight-icons-public")
28
23
  end
29
24
 
30
25
  context "when there are no resource types with icons" do
@@ -32,7 +27,7 @@ RSpec.describe Geoblacklight::HeaderIconsComponent, type: :component do
32
27
  let(:resource_type) { ["Census data", "Statistical maps"] }
33
28
 
34
29
  it "renders the resource class icon" do
35
- expect(rendered).to have_css(".blacklight-icons-datasets")
30
+ expect(page).to have_css(".blacklight-icons-datasets")
36
31
  end
37
32
  end
38
33
 
@@ -41,7 +36,7 @@ RSpec.describe Geoblacklight::HeaderIconsComponent, type: :component do
41
36
  let(:resource_type) { ["Raster data"] }
42
37
 
43
38
  it "renders the resource type icon" do
44
- expect(rendered).to have_css(".blacklight-icons-raster")
39
+ expect(page).to have_css(".blacklight-icons-raster")
45
40
  end
46
41
  end
47
42
 
@@ -50,7 +45,7 @@ RSpec.describe Geoblacklight::HeaderIconsComponent, type: :component do
50
45
  let(:resource_type) { ["Nautical charts", "Raster data"] }
51
46
 
52
47
  it "renders the resource type that has an icon" do
53
- expect(rendered).to have_css(".blacklight-icons-raster")
48
+ expect(page).to have_css(".blacklight-icons-raster")
54
49
  end
55
50
  end
56
51
  end