geoblacklight 5.3.0 → 6.0.0.pre.alpha.1

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 (453) hide show
  1. checksums.yaml +4 -4
  2. data/.engine_cart.yml +14 -0
  3. data/.github/workflows/ruby.yml +24 -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/sidebar_component.html.erb +1 -1
  29. data/app/components/geoblacklight/document/sidebar_component.rb +0 -1
  30. data/app/components/geoblacklight/document_component.html.erb +1 -2
  31. data/app/components/geoblacklight/header_component.html.erb +4 -4
  32. data/app/components/geoblacklight/header_icons_component.rb +4 -2
  33. data/app/components/geoblacklight/homepage_feature_facet_component.html.erb +3 -7
  34. data/app/components/geoblacklight/homepage_feature_facet_component.rb +12 -3
  35. data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +2 -2
  36. data/app/components/geoblacklight/iiif_drag_drop_component.rb +2 -2
  37. data/app/components/geoblacklight/index_map_inspect_component.html.erb +3 -3
  38. data/app/components/geoblacklight/index_map_legend_component.html.erb +7 -7
  39. data/app/components/geoblacklight/index_map_legend_component.rb +7 -0
  40. data/app/components/geoblacklight/item_map_viewer_component.rb +8 -4
  41. data/app/components/geoblacklight/location_leaflet_map_component.rb +28 -15
  42. data/app/components/geoblacklight/relations_component.html.erb +2 -2
  43. data/app/components/geoblacklight/search_result_component.html.erb +28 -26
  44. data/app/components/geoblacklight/search_result_component.rb +2 -2
  45. data/app/components/geoblacklight/static_map_component.rb +5 -4
  46. data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -1
  47. data/app/components/geoblacklight/viewer_help_text_component.rb +1 -1
  48. data/app/components/geoblacklight/web_services_component.html.erb +1 -1
  49. data/app/components/geoblacklight/web_services_component.rb +1 -1
  50. data/app/components/geoblacklight/web_services_default_component.html.erb +6 -6
  51. data/app/components/geoblacklight/web_services_link_component.rb +12 -9
  52. data/app/components/geoblacklight/web_services_wfs_component.html.erb +4 -4
  53. data/app/components/geoblacklight/web_services_wms_component.html.erb +4 -4
  54. data/app/controllers/download_controller.rb +0 -1
  55. data/app/controllers/wms_controller.rb +1 -1
  56. data/app/helpers/geoblacklight_helper.rb +0 -15
  57. data/app/javascript/geoblacklight/controllers/clipboard_controller.js +6 -6
  58. data/app/javascript/geoblacklight/controllers/downloads_controller.js +37 -29
  59. data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +108 -117
  60. data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +5 -5
  61. data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +27 -30
  62. data/app/javascript/geoblacklight/controllers/search_results_controller.js +18 -18
  63. data/app/javascript/geoblacklight/core.js +35 -36
  64. data/app/javascript/geoblacklight/index.js +10 -10
  65. data/app/javascript/geoblacklight/initializers/metadata_download.js +23 -25
  66. data/app/javascript/geoblacklight/initializers/popovers.js +4 -4
  67. data/app/javascript/geoblacklight/initializers/relations.js +20 -20
  68. data/app/javascript/geoblacklight/initializers/tooltips.js +19 -23
  69. data/app/javascript/geoblacklight/initializers/truncation.js +18 -18
  70. data/app/javascript/geoblacklight/leaflet/basemaps.js +2 -3
  71. data/app/javascript/geoblacklight/leaflet/constants.js +7 -7
  72. data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +80 -74
  73. data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +74 -73
  74. data/app/javascript/geoblacklight/leaflet/controls/sidebar.js +31 -29
  75. data/app/javascript/geoblacklight/leaflet/controls/sleep.js +54 -51
  76. data/app/javascript/geoblacklight/leaflet/inspection.js +77 -68
  77. data/app/javascript/geoblacklight/leaflet/layer_index_map.js +74 -69
  78. data/app/javascript/geoblacklight/leaflet/layer_wmts.js +14 -16
  79. data/app/javascript/geoblacklight/leaflet/layers.js +59 -66
  80. data/app/javascript/geoblacklight/leaflet/utils.js +37 -43
  81. data/app/javascript/geoblacklight/openlayers/basemaps.js +35 -27
  82. data/app/javascript/geoblacklight/openlayers/inspection.js +23 -23
  83. data/app/javascript/geoblacklight/openlayers/layers.js +11 -11
  84. data/app/models/concerns/geoblacklight/bbox_filter_query.rb +7 -9
  85. data/app/models/concerns/geoblacklight/solr_document.rb +16 -39
  86. data/app/models/concerns/geoblacklight/suppressed_records_search_behavior.rb +3 -3
  87. data/app/views/catalog/_document_split.html.erb +3 -3
  88. data/app/views/catalog/_home_text.html.erb +22 -14
  89. data/app/views/catalog/_metadata.html.erb +1 -1
  90. data/app/views/catalog/_relations_container.html.erb +1 -1
  91. data/app/views/catalog/index.html.erb +0 -1
  92. data/app/views/catalog/metadata/_markup.html.erb +1 -2
  93. data/app/views/catalog/metadata/_missing.html.erb +2 -2
  94. data/app/views/catalog/web_services.html.erb +1 -1
  95. data/app/views/relation/index.html.erb +1 -1
  96. data/app/views/relation/index.json.jbuilder +1 -1
  97. data/config/initializers/rails_config.rb +0 -3
  98. data/config/locales/geoblacklight.en.yml +79 -78
  99. data/geoblacklight.gemspec +1 -2
  100. data/lib/generators/geoblacklight/assets_generator.rb +35 -26
  101. data/lib/generators/geoblacklight/install_generator.rb +6 -11
  102. data/lib/generators/geoblacklight/templates/assets/customizations.css +6 -0
  103. data/lib/generators/geoblacklight/templates/catalog_controller.rb +97 -73
  104. data/lib/generators/geoblacklight/templates/settings.yml +97 -113
  105. data/lib/geoblacklight/configuration/default_settings_builder.rb +18 -0
  106. data/lib/geoblacklight/configuration/display_note_shown_config.rb +13 -0
  107. data/lib/geoblacklight/configuration/fields_config.rb +51 -0
  108. data/lib/geoblacklight/configuration/leaflet_config.rb +73 -0
  109. data/lib/geoblacklight/configuration/leaflet_layers_config.rb +21 -0
  110. data/lib/geoblacklight/configuration/leaflet_sleep_config.rb +20 -0
  111. data/lib/geoblacklight/configuration/legacy_settings_builder.rb +94 -0
  112. data/lib/geoblacklight/configuration.rb +148 -0
  113. data/lib/geoblacklight/download.rb +2 -2
  114. data/lib/geoblacklight/engine.rb +7 -5
  115. data/lib/geoblacklight/metadata/base.rb +0 -2
  116. data/lib/geoblacklight/metadata_transformer.rb +0 -2
  117. data/lib/geoblacklight/references.rb +5 -4
  118. data/lib/geoblacklight/relation/ancestors.rb +3 -2
  119. data/lib/geoblacklight/relation/descendants.rb +2 -1
  120. data/lib/geoblacklight/relation/relation_response.rb +4 -4
  121. data/lib/geoblacklight/version.rb +1 -1
  122. data/lib/geoblacklight/wms_layer.rb +3 -3
  123. data/lib/geoblacklight.rb +7 -1
  124. data/package.json +10 -31
  125. data/schema/geoblacklight-schema-aardvark.json +1 -9
  126. data/schema/readme.md +3 -4
  127. data/solr/conf/_rest_managed.json +3 -2
  128. data/solr/conf/schema.xml +1 -1
  129. data/spec/components/geoblacklight/arcgis_component_spec.rb +6 -6
  130. data/spec/components/geoblacklight/attribute_table_component_spec.rb +6 -7
  131. data/spec/components/geoblacklight/citation_component_spec.rb +7 -4
  132. data/spec/components/geoblacklight/display_note_component_spec.rb +8 -8
  133. data/spec/components/geoblacklight/document_component_spec.rb +13 -13
  134. data/spec/components/geoblacklight/download_links_component_spec.rb +17 -14
  135. data/spec/components/geoblacklight/header_icons_component_spec.rb +6 -11
  136. data/spec/components/geoblacklight/homepage_feature_facet_component_spec.rb +22 -30
  137. data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +3 -3
  138. data/spec/components/geoblacklight/index_map_legend_component_spec.rb +5 -18
  139. data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +5 -5
  140. data/spec/components/geoblacklight/login_link_component_spec.rb +4 -5
  141. data/spec/components/geoblacklight/search_result_component_spec.rb +2 -6
  142. data/spec/components/geoblacklight/static_map_component_spec.rb +2 -2
  143. data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +4 -6
  144. data/spec/components/geoblacklight/web_services_component_spec.rb +11 -10
  145. data/spec/controllers/catalog_controller_spec.rb +7 -7
  146. data/spec/controllers/download_controller_spec.rb +1 -1
  147. data/spec/controllers/relation_controller_spec.rb +1 -1
  148. data/spec/controllers/wms_controller_spec.rb +1 -1
  149. data/spec/features/axe_spec.rb +4 -4
  150. data/spec/features/bookmarks_spec.rb +1 -1
  151. data/spec/features/citations_spec.rb +1 -1
  152. data/spec/features/configurable_basemap_spec.rb +1 -1
  153. data/spec/features/data_dictionary_download_spec.rb +1 -1
  154. data/spec/features/download_layer_spec.rb +1 -1
  155. data/spec/features/empty_search_spec.rb +1 -1
  156. data/spec/features/esri_viewer_spec.rb +1 -1
  157. data/spec/features/exports_spec.rb +1 -1
  158. data/spec/features/full_screen_control_spec.rb +3 -10
  159. data/spec/features/help_text_spec.rb +1 -1
  160. data/spec/features/home_page_spec.rb +1 -1
  161. data/spec/features/index_map_spec.rb +3 -3
  162. data/spec/features/index_view_spec.rb +7 -7
  163. data/spec/features/layer_inspection_spec.rb +1 -1
  164. data/spec/features/layer_opacity_spec.rb +1 -1
  165. data/spec/features/layer_preview_spec.rb +1 -1
  166. data/spec/features/layer_with_no_references_spec.rb +1 -1
  167. data/spec/features/linkified_attribute_table_spec.rb +1 -1
  168. data/spec/features/metadata_panel_spec.rb +1 -1
  169. data/spec/features/missing_metadata_spec.rb +1 -1
  170. data/spec/features/multiple_downloads_spec.rb +1 -1
  171. data/spec/features/oembed_spec.rb +1 -1
  172. data/spec/features/relations_spec.rb +2 -2
  173. data/spec/features/saved_searches_spec.rb +1 -1
  174. data/spec/features/search_bar_spec.rb +1 -1
  175. data/spec/features/search_results_complex_geometry_spec.rb +1 -1
  176. data/spec/features/search_results_icons_spec.rb +3 -4
  177. data/spec/features/search_results_map_spec.rb +1 -1
  178. data/spec/features/search_results_overlap_ratio_spec.rb +3 -3
  179. data/spec/features/search_spec.rb +1 -1
  180. data/spec/features/show_page_download_spec.rb +1 -1
  181. data/spec/features/show_page_metadata_spec.rb +2 -2
  182. data/spec/features/show_page_sidebar_static_map_spec.rb +1 -1
  183. data/spec/features/sms_spec.rb +1 -1
  184. data/spec/features/suppressed_records_spec.rb +1 -1
  185. data/spec/features/tilejson_spec.rb +1 -1
  186. data/spec/features/tms_spec.rb +1 -1
  187. data/spec/features/web_services_modal_spec.rb +1 -1
  188. data/spec/features/wmts_spec.rb +1 -1
  189. data/spec/features/xyz_spec.rb +1 -1
  190. data/spec/fixtures/manifests/tilejson.json +10 -19
  191. data/spec/fixtures/metadata/fgdc.html +1 -1
  192. data/spec/fixtures/metadata/iso.html +1 -1
  193. data/spec/fixtures/solr_documents/README.md +0 -1
  194. data/spec/fixtures/solr_documents/actual-papermap1.json +9 -28
  195. data/spec/fixtures/solr_documents/actual-point1.json +12 -39
  196. data/spec/fixtures/solr_documents/actual-polygon1.json +10 -30
  197. data/spec/fixtures/solr_documents/actual-raster1.json +14 -46
  198. data/spec/fixtures/solr_documents/all-relationships.json +12 -36
  199. data/spec/fixtures/solr_documents/b1g_iiif_manifest.json +33 -62
  200. data/spec/fixtures/solr_documents/b1g_wabash_child_15.json +13 -40
  201. data/spec/fixtures/solr_documents/b1g_wabash_child_16.json +13 -40
  202. data/spec/fixtures/solr_documents/b1g_wabash_child_17.json +13 -40
  203. data/spec/fixtures/solr_documents/b1g_wabash_child_18.json +13 -40
  204. data/spec/fixtures/solr_documents/b1g_wabash_parent.json +13 -40
  205. data/spec/fixtures/solr_documents/baruch_ancestor1.json +13 -40
  206. data/spec/fixtures/solr_documents/baruch_ancestor2.json +13 -40
  207. data/spec/fixtures/solr_documents/baruch_documentation_download.json +14 -46
  208. data/spec/fixtures/solr_documents/bbox-spans-180.json +7 -21
  209. data/spec/fixtures/solr_documents/complex-geom.json +11 -37
  210. data/spec/fixtures/solr_documents/cornell_html_metadata.json +12 -37
  211. data/spec/fixtures/solr_documents/display-note.json +11 -33
  212. data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +13 -39
  213. data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +13 -40
  214. data/spec/fixtures/solr_documents/esri-feature-layer.json +13 -39
  215. data/spec/fixtures/solr_documents/esri-image-map-layer.json +13 -40
  216. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +16 -54
  217. data/spec/fixtures/solr_documents/esri-wms-layer.json +12 -36
  218. data/spec/fixtures/solr_documents/harvard_raster.json +12 -37
  219. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +9 -27
  220. data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +12 -41
  221. data/spec/fixtures/solr_documents/index-map-polygon.json +12 -41
  222. data/spec/fixtures/solr_documents/index-map-stanford.json +14 -45
  223. data/spec/fixtures/solr_documents/index-map-v1-complex.json +13 -38
  224. data/spec/fixtures/solr_documents/index_map_point.json +13 -42
  225. data/spec/fixtures/solr_documents/metadata_no_geom.json +4 -14
  226. data/spec/fixtures/solr_documents/metadata_no_provider.json +8 -25
  227. data/spec/fixtures/solr_documents/multiple-downloads.json +6 -18
  228. data/spec/fixtures/solr_documents/no_locn_geometry.json +4 -12
  229. data/spec/fixtures/solr_documents/no_spatial.json +4 -12
  230. data/spec/fixtures/solr_documents/oembed.json +8 -25
  231. data/spec/fixtures/solr_documents/princeton-child1.json +9 -29
  232. data/spec/fixtures/solr_documents/princeton-child2.json +9 -29
  233. data/spec/fixtures/solr_documents/princeton-child3.json +9 -29
  234. data/spec/fixtures/solr_documents/princeton-child4.json +9 -29
  235. data/spec/fixtures/solr_documents/princeton-parent.json +10 -33
  236. data/spec/fixtures/solr_documents/public_cog_princeton.json +9 -27
  237. data/spec/fixtures/solr_documents/public_iiif_princeton.json +13 -43
  238. data/spec/fixtures/solr_documents/public_pmtiles_princeton.json +29 -39
  239. data/spec/fixtures/solr_documents/public_polygon_mit.json +9 -30
  240. data/spec/fixtures/solr_documents/restricted-line.json +14 -47
  241. data/spec/fixtures/solr_documents/the-related-record.json +4 -12
  242. data/spec/fixtures/solr_documents/tilejson.json +23 -46
  243. data/spec/fixtures/solr_documents/tms.json +7 -21
  244. data/spec/fixtures/solr_documents/umn_metro_result1.json +13 -41
  245. data/spec/fixtures/solr_documents/umn_state_result1.json +13 -39
  246. data/spec/fixtures/solr_documents/umn_state_result2.json +13 -39
  247. data/spec/fixtures/solr_documents/uva_slug_colon.json +10 -30
  248. data/spec/fixtures/solr_documents/wmts-multiple.json +23 -39
  249. data/spec/fixtures/solr_documents/wmts-single-layer.json +23 -46
  250. data/spec/fixtures/solr_documents/xyz.json +10 -33
  251. data/spec/helpers/geoblacklight_helper_spec.rb +5 -50
  252. data/spec/javascripts/geoblacklight_spec.js +10 -10
  253. data/spec/javascripts/metadata_download_button_spec.js +14 -13
  254. data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -1
  255. data/spec/lib/geoblacklight/configuration/default_settings_builder_spec.rb +9 -0
  256. data/spec/lib/geoblacklight/configuration_spec.rb +13 -0
  257. data/spec/lib/geoblacklight/download/csv_download_spec.rb +2 -2
  258. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +2 -2
  259. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +5 -2
  260. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +2 -2
  261. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +2 -2
  262. data/spec/lib/geoblacklight/download_spec.rb +15 -6
  263. data/spec/lib/geoblacklight/geometry_spec.rb +1 -1
  264. data/spec/lib/geoblacklight/item_viewer_spec.rb +2 -2
  265. data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -1
  266. data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -1
  267. data/spec/lib/geoblacklight/metadata_spec.rb +1 -1
  268. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +1 -1
  269. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +1 -1
  270. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +1 -1
  271. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +1 -1
  272. data/spec/lib/geoblacklight/reference_spec.rb +1 -1
  273. data/spec/lib/geoblacklight/references_spec.rb +6 -4
  274. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +10 -4
  275. data/spec/lib/geoblacklight/relation/descendants_spec.rb +9 -4
  276. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +12 -15
  277. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +1 -1
  278. data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -1
  279. data/spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb +20 -11
  280. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
  281. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -1
  282. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -1
  283. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +4 -39
  284. data/spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb +2 -2
  285. data/spec/routing/catalog_routing_spec.rb +1 -1
  286. data/spec/spec_helper.rb +21 -10
  287. data/spec/tasks/geoblacklight_spec.rb +1 -1
  288. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -3
  289. metadata +33 -184
  290. data/Procfile.dev +0 -3
  291. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +0 -2
  292. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +0 -31
  293. data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +0 -40
  294. data/app/assets/stylesheets/geoblacklight/modules/_styles.scss +0 -9
  295. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +0 -62
  296. data/app/assets/stylesheets/geoblacklight/modules/geosearch.scss +0 -23
  297. data/app/assets/stylesheets/geoblacklight/modules/home.scss +0 -13
  298. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +0 -116
  299. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +0 -61
  300. data/app/assets/stylesheets/geoblacklight/modules/item.scss +0 -78
  301. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +0 -87
  302. data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +0 -4
  303. data/app/assets/stylesheets/geoblacklight/modules/metadata.scss +0 -31
  304. data/app/assets/stylesheets/geoblacklight/modules/metadata_content.scss +0 -43
  305. data/app/assets/stylesheets/geoblacklight/modules/metadata_markup.scss +0 -9
  306. data/app/assets/stylesheets/geoblacklight/modules/metadata_missing.scss +0 -7
  307. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -5
  308. data/app/assets/stylesheets/geoblacklight/modules/results.scss +0 -60
  309. data/app/assets/stylesheets/geoblacklight/modules/search_widgets.scss +0 -5
  310. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +0 -42
  311. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +0 -34
  312. data/app/assets/stylesheets/geoblacklight/modules/web_services.scss +0 -5
  313. data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +0 -46
  314. data/app/components/blacklight/icons/arizona_component.rb +0 -24
  315. data/app/components/blacklight/icons/baruch_cuny_component.rb +0 -23
  316. data/app/components/blacklight/icons/bookmark_component.rb +0 -23
  317. data/app/components/blacklight/icons/circle_info_solid_component.rb +0 -23
  318. data/app/components/blacklight/icons/columbia_component.rb +0 -23
  319. data/app/components/blacklight/icons/cornell_component.rb +0 -25
  320. data/app/components/blacklight/icons/george_mason_component.rb +0 -24
  321. data/app/components/blacklight/icons/harvard_component.rb +0 -23
  322. data/app/components/blacklight/icons/indiana_component.rb +0 -23
  323. data/app/components/blacklight/icons/lewis_clark_component.rb +0 -25
  324. data/app/components/blacklight/icons/massgis_component.rb +0 -23
  325. data/app/components/blacklight/icons/michigan_state_university_component.rb +0 -25
  326. data/app/components/blacklight/icons/mit_component.rb +0 -23
  327. data/app/components/blacklight/icons/northwestern_university_component.rb +0 -24
  328. data/app/components/blacklight/icons/nyu_component.rb +0 -26
  329. data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +0 -25
  330. data/app/components/blacklight/icons/princeton_component.rb +0 -23
  331. data/app/components/blacklight/icons/purdue_university_component.rb +0 -25
  332. data/app/components/blacklight/icons/rutgers_component.rb +0 -25
  333. data/app/components/blacklight/icons/sms_component.rb +0 -23
  334. data/app/components/blacklight/icons/stanford_component.rb +0 -23
  335. data/app/components/blacklight/icons/texas_component.rb +0 -23
  336. data/app/components/blacklight/icons/the_ohio_state_university_component.rb +0 -26
  337. data/app/components/blacklight/icons/tufts_component.rb +0 -23
  338. data/app/components/blacklight/icons/ucla_component.rb +0 -23
  339. data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +0 -24
  340. data/app/components/blacklight/icons/university_of_chicago_component.rb +0 -25
  341. data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +0 -26
  342. data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +0 -25
  343. data/app/components/blacklight/icons/university_of_iowa_component.rb +0 -24
  344. data/app/components/blacklight/icons/university_of_maryland_component.rb +0 -24
  345. data/app/components/blacklight/icons/university_of_michigan_component.rb +0 -24
  346. data/app/components/blacklight/icons/university_of_minnesota_component.rb +0 -24
  347. data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +0 -27
  348. data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +0 -24
  349. data/app/components/blacklight/icons/uva_component.rb +0 -23
  350. data/app/components/geoblacklight/icon_facet_item_component.rb +0 -33
  351. data/app/components/geoblacklight/web_services_link_component.html.erb +0 -3
  352. data/bin/vite +0 -29
  353. data/config/initializers/new_gbl_settings_defaults_4.1.yml +0 -104
  354. data/lib/generators/geoblacklight/assets/importmap_generator.rb +0 -73
  355. data/lib/generators/geoblacklight/assets/vite_generator.rb +0 -89
  356. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +0 -23
  357. data/lib/generators/geoblacklight/templates/assets/application.js +0 -17
  358. data/lib/generators/geoblacklight/templates/assets/application.scss +0 -9
  359. data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +0 -11
  360. data/lib/generators/geoblacklight/templates/base.html.erb +0 -46
  361. data/lib/generators/geoblacklight/templates/vite.config.ts +0 -23
  362. data/lib/generators/geoblacklight/templates/vite.json +0 -16
  363. data/schema/geoblacklight-schema-1.0.json +0 -214
  364. data/solr/conf/xslt/example.xsl +0 -132
  365. data/solr/conf/xslt/example_atom.xsl +0 -67
  366. data/solr/conf/xslt/example_rss.xsl +0 -66
  367. data/solr/conf/xslt/luke.xsl +0 -337
  368. data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +0 -15
  369. data/spec/components/blacklight/icons/arizona_component_spec.rb +0 -15
  370. data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +0 -15
  371. data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +0 -15
  372. data/spec/components/blacklight/icons/book_component_spec.rb +0 -15
  373. data/spec/components/blacklight/icons/bookmark_component_spec.rb +0 -15
  374. data/spec/components/blacklight/icons/cd_rom_component_spec.rb +0 -15
  375. data/spec/components/blacklight/icons/child_item_component_spec.rb +0 -15
  376. data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +0 -15
  377. data/spec/components/blacklight/icons/citation_component_spec.rb +0 -15
  378. data/spec/components/blacklight/icons/collection_component_spec.rb +0 -15
  379. data/spec/components/blacklight/icons/collections_component_spec.rb +0 -15
  380. data/spec/components/blacklight/icons/columbia_component_spec.rb +0 -15
  381. data/spec/components/blacklight/icons/cornell_component_spec.rb +0 -15
  382. data/spec/components/blacklight/icons/datasets_component_spec.rb +0 -15
  383. data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +0 -15
  384. data/spec/components/blacklight/icons/email_component_spec.rb +0 -15
  385. data/spec/components/blacklight/icons/esri_globe_component_spec.rb +0 -15
  386. data/spec/components/blacklight/icons/fire_solid_component_spec.rb +0 -15
  387. data/spec/components/blacklight/icons/george_mason_component_spec.rb +0 -15
  388. data/spec/components/blacklight/icons/globe_component_spec.rb +0 -15
  389. data/spec/components/blacklight/icons/harvard_component_spec.rb +0 -15
  390. data/spec/components/blacklight/icons/home_component_spec.rb +0 -15
  391. data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +0 -15
  392. data/spec/components/blacklight/icons/image_component_spec.rb +0 -15
  393. data/spec/components/blacklight/icons/imagery_component_spec.rb +0 -15
  394. data/spec/components/blacklight/icons/indiana_component_spec.rb +0 -15
  395. data/spec/components/blacklight/icons/leaf_component_spec.rb +0 -15
  396. data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +0 -15
  397. data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +0 -15
  398. data/spec/components/blacklight/icons/line_component_spec.rb +0 -15
  399. data/spec/components/blacklight/icons/map_component_spec.rb +0 -15
  400. data/spec/components/blacklight/icons/map_marker_component_spec.rb +0 -15
  401. data/spec/components/blacklight/icons/maps_component_spec.rb +0 -15
  402. data/spec/components/blacklight/icons/massgis_component_spec.rb +0 -15
  403. data/spec/components/blacklight/icons/metadata_component_spec.rb +0 -15
  404. data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +0 -15
  405. data/spec/components/blacklight/icons/mit_component_spec.rb +0 -15
  406. data/spec/components/blacklight/icons/mixed_component_spec.rb +0 -15
  407. data/spec/components/blacklight/icons/multilinestring_component_spec.rb +0 -15
  408. data/spec/components/blacklight/icons/multipoint_component_spec.rb +0 -15
  409. data/spec/components/blacklight/icons/multipolygon_component_spec.rb +0 -15
  410. data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +0 -15
  411. data/spec/components/blacklight/icons/nyu_component_spec.rb +0 -15
  412. data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +0 -15
  413. data/spec/components/blacklight/icons/paper_map_component_spec.rb +0 -15
  414. data/spec/components/blacklight/icons/parent_item_component_spec.rb +0 -15
  415. data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +0 -15
  416. data/spec/components/blacklight/icons/point_component_spec.rb +0 -15
  417. data/spec/components/blacklight/icons/polygon_component_spec.rb +0 -15
  418. data/spec/components/blacklight/icons/polyline_component_spec.rb +0 -15
  419. data/spec/components/blacklight/icons/princeton_component_spec.rb +0 -15
  420. data/spec/components/blacklight/icons/public_component_spec.rb +0 -15
  421. data/spec/components/blacklight/icons/purdue_university_component_spec.rb +0 -15
  422. data/spec/components/blacklight/icons/raster_component_spec.rb +0 -15
  423. data/spec/components/blacklight/icons/restricted_component_spec.rb +0 -15
  424. data/spec/components/blacklight/icons/rutgers_component_spec.rb +0 -15
  425. data/spec/components/blacklight/icons/sms_component_spec.rb +0 -15
  426. data/spec/components/blacklight/icons/stanford_component_spec.rb +0 -15
  427. data/spec/components/blacklight/icons/table_component_spec.rb +0 -15
  428. data/spec/components/blacklight/icons/tags_component_spec.rb +0 -15
  429. data/spec/components/blacklight/icons/texas_component_spec.rb +0 -15
  430. data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +0 -15
  431. data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +0 -15
  432. data/spec/components/blacklight/icons/tufts_component_spec.rb +0 -15
  433. data/spec/components/blacklight/icons/ucla_component_spec.rb +0 -15
  434. data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +0 -15
  435. data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +0 -15
  436. data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +0 -15
  437. data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +0 -15
  438. data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +0 -15
  439. data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +0 -15
  440. data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +0 -15
  441. data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +0 -15
  442. data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +0 -15
  443. data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +0 -15
  444. data/spec/components/blacklight/icons/uva_component_spec.rb +0 -15
  445. data/spec/components/blacklight/icons/web_services_component_spec.rb +0 -15
  446. data/spec/components/blacklight/icons/websites_component_spec.rb +0 -15
  447. data/spec/components/geoblacklight/icon_facet_item_component_spec.rb +0 -18
  448. data/spec/config/initializers/rails_config_spec.rb +0 -16
  449. data/spec/fixtures/solr_documents/public_direct_download.json +0 -62
  450. data/spec/support/backport_test_helpers.rb +0 -47
  451. data/spec/support/view_component_capybara_test_helpers.rb +0 -8
  452. data/vite.config.ts +0 -32
  453. /data/app/assets/images/{blacklight → geoblacklight}/logo.svg +0 -0
@@ -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
@@ -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
@@ -3,38 +3,30 @@
3
3
  require "spec_helper"
4
4
 
5
5
  RSpec.describe Geoblacklight::HomepageFeatureFacetComponent, type: :component do
6
- subject(:rendered) do
7
- render_inline_to_capybara_node(described_class.new(**kargs))
8
- end
9
-
10
6
  # Build a search
11
- let(:context) { {whatever: :value} }
12
- let(:service) { Blacklight::SearchService.new(config: blacklight_config, user_params: user_params, **context) }
13
- let(:repository) { Blacklight::Solr::Repository.new(blacklight_config) }
14
- let(:user_params) { {} }
15
- let(:blacklight_config) { Blacklight::Configuration.new }
16
- let(:copy_of_catalog_config) { ::CatalogController.blacklight_config.deep_copy }
17
- let(:blacklight_solr) { RSolr.connect(Blacklight.connection_config.except(:adapter)) }
7
+ let(:service) { Blacklight::SearchService.new(config: blacklight_config, search_state:) }
8
+ let(:search_state) { Blacklight::SearchState.new({}, blacklight_config) }
9
+ let(:blacklight_config) { ::CatalogController.blacklight_config.deep_copy }
10
+ let(:facet_field) { Geoblacklight.configuration.fields.provider }
11
+ let(:facet_config) { blacklight_config.facet_fields[facet_field] }
12
+ let(:facet_field_presenter) { Blacklight::FacetFieldPresenter.new(facet_config, nil, vc_test_controller.view_context, nil) }
13
+ let(:response) { service.search_results }
14
+ let(:items) { response.aggregations[facet_field].items }
18
15
 
19
- describe "homepage" do
20
- before do
21
- (@response, @document_list) = service.search_results
22
- end
23
-
24
- let(:kargs) do
25
- {
26
- icon: "home",
27
- label: "geoblacklight.home.institution",
28
- facet_field: Settings.FIELDS.PROVIDER,
29
- response: @response
30
- }
31
- end
16
+ subject(:instance) do
17
+ described_class.new(
18
+ icon: "home",
19
+ label: "geoblacklight.home.institution",
20
+ facet_field_presenter: facet_field_presenter,
21
+ items: items
22
+ )
23
+ end
32
24
 
33
- it "includes facet links" do
34
- expect(rendered).to have_selector("div.category-block")
35
- expect(rendered).to have_selector("div.category-icon")
36
- expect(rendered).to have_selector("a.home-facet-link")
37
- expect(rendered).to have_selector("a.more_facets_link")
38
- end
25
+ it "includes facet links" do
26
+ render_inline(instance)
27
+ expect(page).to have_selector("div.category-block")
28
+ expect(page).to have_selector("div.category-icon")
29
+ expect(page).to have_selector("a.home-facet-link")
30
+ expect(page).to have_selector("a.more_facets_link")
39
31
  end
40
32
  end
@@ -8,7 +8,6 @@ RSpec.describe Geoblacklight::IiifDragDropComponent, type: :component do
8
8
  let(:item_viewer) { instance_double(Geoblacklight::ItemViewer, iiif_manifest: reference) }
9
9
  let(:document) { instance_double(SolrDocument, id: 123, item_viewer: item_viewer) }
10
10
  let(:component) { described_class.new(document: document) }
11
- let(:rendered) { render_inline_to_capybara_node(component) }
12
11
 
13
12
  context "does not have viewer_endpoint url" do
14
13
  let(:endpoint) { nil }
@@ -21,9 +20,10 @@ RSpec.describe Geoblacklight::IiifDragDropComponent, type: :component do
21
20
  context "has viewer_endpoint url" do
22
21
  let(:endpoint) { "https://url.com/manifest.json" }
23
22
  it "renders iiif drag and drop icon" do
23
+ render_inline(component)
24
24
  expect(component.render?).to be true
25
- expect(rendered).to have_selector(:css, ".blacklight-icons-iiif-drag-drop")
26
- expect(rendered).to have_selector(:css, "a[href='https://url.com/manifest.json?manifest=https://url.com/manifest.json']")
25
+ expect(page).to have_selector(:css, ".blacklight-icons-iiif-drag-drop")
26
+ expect(page).to have_selector(:css, "a[href='https://url.com/manifest.json?manifest=https://url.com/manifest.json']")
27
27
  end
28
28
  end
29
29
  end
@@ -5,28 +5,14 @@ require "spec_helper"
5
5
  RSpec.describe Geoblacklight::IndexMapLegendComponent, type: :component do
6
6
  let(:document) { instance_double(SolrDocument) }
7
7
 
8
- subject(:rendered) do
9
- render_inline_to_capybara_node(described_class.new(document:))
10
- end
11
-
12
8
  context "when the document has an index map" do
13
9
  before do
14
10
  allow(document).to receive_message_chain(:item_viewer, :index_map).and_return(true)
15
11
  end
16
12
 
17
- it "shows available map text" do
18
- expect(rendered).to have_text("Green tile indicates")
19
- expect(rendered).to have_selector(:css, ".index-map-legend-default")
20
- end
21
-
22
- it "shows unavailable map text" do
23
- expect(rendered).to have_text("Yellow tile indicates")
24
- expect(rendered).to have_selector(:css, ".index-map-legend-unavailable")
25
- end
26
-
27
- it "shows selected map text" do
28
- expect(rendered).to have_text("Blue tile indicates")
29
- expect(rendered).to have_selector(:css, ".index-map-legend-selected")
13
+ it "renders the legend" do
14
+ render_inline(described_class.new(document:))
15
+ expect(page.text.strip).to include "Green tile indicates Map held by collection"
30
16
  end
31
17
  end
32
18
 
@@ -36,7 +22,8 @@ RSpec.describe Geoblacklight::IndexMapLegendComponent, type: :component do
36
22
  end
37
23
 
38
24
  it "does not render" do
39
- expect(rendered.text.strip).to be_empty
25
+ render_inline(described_class.new(document:))
26
+ expect(page.text.strip).to be_empty
40
27
  end
41
28
  end
42
29
  end
@@ -3,8 +3,8 @@
3
3
  require "spec_helper"
4
4
 
5
5
  RSpec.describe Geoblacklight::ItemMapViewerComponent, type: :component do
6
- subject(:rendered) do
7
- render_inline_to_capybara_node(described_class.new(document:))
6
+ before do
7
+ render_inline(described_class.new(document: document))
8
8
  end
9
9
 
10
10
  context "IIIF viewer" do
@@ -12,7 +12,7 @@ RSpec.describe Geoblacklight::ItemMapViewerComponent, type: :component do
12
12
  let(:document) { SolrDocument.new(fixture) }
13
13
 
14
14
  it "uses the IIIF tag" do
15
- expect(rendered).to have_css("div#mirador")
15
+ expect(page).to have_css("div#mirador")
16
16
  end
17
17
  end
18
18
 
@@ -21,7 +21,7 @@ RSpec.describe Geoblacklight::ItemMapViewerComponent, type: :component do
21
21
  let(:document) { SolrDocument.new(fixture) }
22
22
 
23
23
  it "uses the open layers tag" do
24
- expect(rendered).to have_css("div#openlayers-viewer")
24
+ expect(page).to have_css("div#openlayers-viewer")
25
25
  end
26
26
  end
27
27
 
@@ -30,7 +30,7 @@ RSpec.describe Geoblacklight::ItemMapViewerComponent, type: :component do
30
30
  let(:document) { SolrDocument.new(fixture) }
31
31
 
32
32
  it "uses the IIIF tag" do
33
- expect(rendered).to have_css("div#leaflet-viewer")
33
+ expect(page).to have_css("div#leaflet-viewer")
34
34
  end
35
35
  end
36
36
  end
@@ -3,9 +3,6 @@
3
3
  require "spec_helper"
4
4
 
5
5
  RSpec.describe Geoblacklight::LoginLinkComponent, type: :component do
6
- subject(:rendered) do
7
- render_inline_to_capybara_node(described_class.new(document: document))
8
- end
9
6
  let(:document) { instance_double(SolrDocument, id: 123) }
10
7
 
11
8
  context "when rendering is required" do
@@ -16,7 +13,8 @@ RSpec.describe Geoblacklight::LoginLinkComponent, type: :component do
16
13
  end
17
14
 
18
15
  it "shows download link" do
19
- expect(rendered).to have_text(I18n.t("geoblacklight.tools.login_to_view"))
16
+ render_inline(described_class.new(document: document))
17
+ expect(page).to have_text(I18n.t("geoblacklight.tools.login_to_view"))
20
18
  end
21
19
  end
22
20
 
@@ -27,7 +25,8 @@ RSpec.describe Geoblacklight::LoginLinkComponent, type: :component do
27
25
  end
28
26
 
29
27
  it "does not render anything" do
30
- expect(rendered).not_to have_text(I18n.t("geoblacklight.tools.login_to_view"))
28
+ render_inline(described_class.new(document: document))
29
+ expect(page).not_to have_text(I18n.t("geoblacklight.tools.login_to_view"))
31
30
  end
32
31
  end
33
32
  end
@@ -12,7 +12,6 @@ RSpec.describe Geoblacklight::SearchResultComponent, type: :component do
12
12
  config.add_index_field "multi_display"
13
13
  end
14
14
  end
15
- let(:solr_fields) { Settings.FIELDS }
16
15
  let(:presenter) do
17
16
  Blacklight::DocumentPresenter.new(document, request_context, blacklight_config)
18
17
  end
@@ -26,21 +25,18 @@ RSpec.describe Geoblacklight::SearchResultComponent, type: :component do
26
25
  multi_display: %w[blue blah]
27
26
  )
28
27
  end
29
- subject(:rendered) do
30
- render_inline_to_capybara_node(described_class.new(document: presenter))
31
- end
32
-
33
28
  before do
34
29
  allow(request_context).to receive(:snippit)
35
30
  allow_any_instance_of(BlacklightHelper).to receive(:link_to_document)
36
31
  allow_any_instance_of(GeoblacklightHelper).to receive(:blacklight_config).and_return(blacklight_config)
32
+ render_inline(described_class.new(document: presenter))
37
33
  end
38
34
 
39
35
  describe "#index_fields_display" do
40
36
  let(:multi_valued_text) { document["multi_display"].join(" and ") }
41
37
  let(:combined_fields) { document["gbl_wxsIdentifier_s"] + ". " + document["period"] }
42
38
 
43
- subject(:index_fields_display) { rendered.find("[itemprop=description]").text }
39
+ subject(:index_fields_display) { page.find("[itemprop=description]").text }
44
40
 
45
41
  context "with multi-valued field" do
46
42
  it "each value is separated by comma" do
@@ -11,10 +11,10 @@ RSpec.describe Geoblacklight::StaticMapComponent, type: :component do
11
11
 
12
12
  before do
13
13
  allow(document).to receive(:viewer_protocol).and_return("map")
14
- allow(Settings).to receive(:SIDEBAR_STATIC_MAP).and_return(["map"])
14
+ allow(Geoblacklight.configuration).to receive(:sidebar_static_map).and_return(["map"])
15
15
  end
16
16
 
17
- context "when the protocol matches the SIDEBAR_STATIC_MAP setting" do
17
+ context "when the protocol matches the sidebar_static_map setting" do
18
18
  it "renders the static map" do
19
19
  expect(rendered.css("#static-map")).to be_present
20
20
  end
@@ -6,13 +6,10 @@ RSpec.describe Geoblacklight::ViewerHelpTextComponent, type: :component do
6
6
  let(:feature) { "viewer_protocol" }
7
7
  let(:key) { "wms" }
8
8
 
9
- subject(:rendered) do
10
- render_inline_to_capybara_node(described_class.new(feature, key))
11
- end
12
-
13
9
  context "when the help text exists for an existing viewer protocol" do
14
10
  it "shows correct help text title for wms" do
15
- expect(rendered).to have_text(I18n.t("geoblacklight.help_text.viewer_protocol.wms.title"))
11
+ render_inline(described_class.new(feature, key))
12
+ expect(page).to have_text(I18n.t("geoblacklight.help_text.viewer_protocol.wms.title"))
16
13
  end
17
14
  end
18
15
 
@@ -22,7 +19,8 @@ RSpec.describe Geoblacklight::ViewerHelpTextComponent, type: :component do
22
19
  end
23
20
 
24
21
  it "shows missing help text class" do
25
- expect(render_inline_to_capybara_node(described_class.new(feature, key))).to have_css(".translation-missing")
22
+ render_inline(described_class.new(feature, key))
23
+ expect(page).to have_css(".translation-missing")
26
24
  end
27
25
  end
28
26
  end