geoblacklight 5.4.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 (461) 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 -4
  29. data/app/components/geoblacklight/document/sidebar_component.rb +0 -8
  30. data/app/components/geoblacklight/document_component.html.erb +1 -2
  31. data/app/components/geoblacklight/download_links_component.html.erb +0 -3
  32. data/app/components/geoblacklight/download_links_component.rb +1 -1
  33. data/app/components/geoblacklight/header_component.html.erb +4 -4
  34. data/app/components/geoblacklight/header_icons_component.rb +4 -2
  35. data/app/components/geoblacklight/homepage_feature_facet_component.html.erb +3 -7
  36. data/app/components/geoblacklight/homepage_feature_facet_component.rb +12 -3
  37. data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +2 -2
  38. data/app/components/geoblacklight/iiif_drag_drop_component.rb +2 -2
  39. data/app/components/geoblacklight/index_map_inspect_component.html.erb +3 -3
  40. data/app/components/geoblacklight/index_map_legend_component.html.erb +7 -7
  41. data/app/components/geoblacklight/index_map_legend_component.rb +7 -0
  42. data/app/components/geoblacklight/item_map_viewer_component.rb +9 -5
  43. data/app/components/geoblacklight/location_leaflet_map_component.rb +28 -15
  44. data/app/components/geoblacklight/relations_component.html.erb +2 -2
  45. data/app/components/geoblacklight/search_result_component.html.erb +28 -26
  46. data/app/components/geoblacklight/search_result_component.rb +2 -2
  47. data/app/components/geoblacklight/static_map_component.rb +6 -5
  48. data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -1
  49. data/app/components/geoblacklight/viewer_help_text_component.rb +1 -1
  50. data/app/components/geoblacklight/web_services_component.html.erb +1 -1
  51. data/app/components/geoblacklight/web_services_component.rb +1 -1
  52. data/app/components/geoblacklight/web_services_default_component.html.erb +6 -6
  53. data/app/components/geoblacklight/web_services_link_component.rb +12 -9
  54. data/app/components/geoblacklight/web_services_wfs_component.html.erb +4 -4
  55. data/app/components/geoblacklight/web_services_wms_component.html.erb +4 -4
  56. data/app/controllers/download_controller.rb +0 -7
  57. data/app/controllers/relation_controller.rb +1 -1
  58. data/app/controllers/wms_controller.rb +1 -1
  59. data/app/helpers/geoblacklight_helper.rb +0 -43
  60. data/app/javascript/geoblacklight/controllers/clipboard_controller.js +6 -6
  61. data/app/javascript/geoblacklight/controllers/downloads_controller.js +37 -29
  62. data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +110 -134
  63. data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +5 -5
  64. data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +27 -61
  65. data/app/javascript/geoblacklight/controllers/search_results_controller.js +18 -18
  66. data/app/javascript/geoblacklight/core.js +35 -36
  67. data/app/javascript/geoblacklight/index.js +10 -10
  68. data/app/javascript/geoblacklight/initializers/metadata_download.js +23 -25
  69. data/app/javascript/geoblacklight/initializers/popovers.js +4 -4
  70. data/app/javascript/geoblacklight/initializers/relations.js +20 -20
  71. data/app/javascript/geoblacklight/initializers/tooltips.js +19 -23
  72. data/app/javascript/geoblacklight/initializers/truncation.js +18 -18
  73. data/app/javascript/geoblacklight/leaflet/basemaps.js +34 -3
  74. data/app/javascript/geoblacklight/leaflet/constants.js +7 -7
  75. data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +80 -74
  76. data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +74 -73
  77. data/app/javascript/geoblacklight/leaflet/controls/sidebar.js +31 -29
  78. data/app/javascript/geoblacklight/leaflet/controls/sleep.js +54 -51
  79. data/app/javascript/geoblacklight/leaflet/inspection.js +79 -71
  80. data/app/javascript/geoblacklight/leaflet/layer_index_map.js +74 -69
  81. data/app/javascript/geoblacklight/leaflet/layer_wmts.js +14 -16
  82. data/app/javascript/geoblacklight/leaflet/layers.js +59 -66
  83. data/app/javascript/geoblacklight/leaflet/utils.js +37 -43
  84. data/app/javascript/geoblacklight/openlayers/basemaps.js +43 -15
  85. data/app/javascript/geoblacklight/openlayers/inspection.js +23 -23
  86. data/app/javascript/geoblacklight/openlayers/layers.js +12 -12
  87. data/app/models/concerns/geoblacklight/bbox_filter_query.rb +7 -9
  88. data/app/models/concerns/geoblacklight/solr_document.rb +17 -57
  89. data/app/models/concerns/geoblacklight/suppressed_records_search_behavior.rb +3 -3
  90. data/app/views/catalog/_document_split.html.erb +3 -3
  91. data/app/views/catalog/_home_text.html.erb +22 -14
  92. data/app/views/catalog/_metadata.html.erb +1 -4
  93. data/app/views/catalog/_relations_container.html.erb +1 -1
  94. data/app/views/catalog/index.html.erb +0 -1
  95. data/app/views/catalog/metadata/_markup.html.erb +1 -2
  96. data/app/views/catalog/metadata/_missing.html.erb +2 -2
  97. data/app/views/catalog/web_services.html.erb +1 -1
  98. data/app/views/relation/index.html.erb +1 -1
  99. data/app/views/relation/index.json.jbuilder +1 -1
  100. data/config/initializers/rails_config.rb +0 -3
  101. data/config/locales/geoblacklight.en.yml +79 -78
  102. data/geoblacklight.gemspec +3 -4
  103. data/lib/generators/geoblacklight/assets_generator.rb +35 -26
  104. data/lib/generators/geoblacklight/install_generator.rb +6 -11
  105. data/lib/generators/geoblacklight/templates/assets/customizations.css +6 -0
  106. data/lib/generators/geoblacklight/templates/catalog_controller.rb +102 -77
  107. data/lib/generators/geoblacklight/templates/settings.yml +97 -132
  108. data/lib/geoblacklight/configuration/default_settings_builder.rb +18 -0
  109. data/lib/geoblacklight/configuration/display_note_shown_config.rb +13 -0
  110. data/lib/geoblacklight/configuration/fields_config.rb +51 -0
  111. data/lib/geoblacklight/configuration/leaflet_config.rb +73 -0
  112. data/lib/geoblacklight/configuration/leaflet_layers_config.rb +21 -0
  113. data/lib/geoblacklight/configuration/leaflet_sleep_config.rb +20 -0
  114. data/lib/geoblacklight/configuration/legacy_settings_builder.rb +94 -0
  115. data/lib/geoblacklight/configuration.rb +148 -0
  116. data/lib/geoblacklight/download.rb +2 -5
  117. data/lib/geoblacklight/engine.rb +7 -18
  118. data/lib/geoblacklight/metadata/base.rb +0 -2
  119. data/lib/geoblacklight/metadata_transformer.rb +0 -2
  120. data/lib/geoblacklight/references.rb +6 -10
  121. data/lib/geoblacklight/relation/ancestors.rb +3 -5
  122. data/lib/geoblacklight/relation/descendants.rb +2 -4
  123. data/lib/geoblacklight/relation/relation_response.rb +5 -8
  124. data/lib/geoblacklight/version.rb +1 -1
  125. data/lib/geoblacklight/wms_layer.rb +3 -3
  126. data/lib/geoblacklight.rb +5 -15
  127. data/lib/tasks/geoblacklight.rake +0 -9
  128. data/package.json +10 -31
  129. data/schema/geoblacklight-schema-aardvark.json +1 -9
  130. data/schema/readme.md +3 -4
  131. data/solr/conf/_rest_managed.json +3 -2
  132. data/solr/conf/schema.xml +1 -1
  133. data/solr/conf/solrconfig.xml +10 -10
  134. data/spec/components/geoblacklight/arcgis_component_spec.rb +6 -6
  135. data/spec/components/geoblacklight/attribute_table_component_spec.rb +6 -7
  136. data/spec/components/geoblacklight/citation_component_spec.rb +7 -4
  137. data/spec/components/geoblacklight/display_note_component_spec.rb +8 -8
  138. data/spec/components/geoblacklight/document_component_spec.rb +13 -13
  139. data/spec/components/geoblacklight/download_links_component_spec.rb +17 -14
  140. data/spec/components/geoblacklight/header_icons_component_spec.rb +6 -11
  141. data/spec/components/geoblacklight/homepage_feature_facet_component_spec.rb +22 -30
  142. data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +3 -3
  143. data/spec/components/geoblacklight/index_map_legend_component_spec.rb +5 -18
  144. data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +5 -5
  145. data/spec/components/geoblacklight/login_link_component_spec.rb +4 -5
  146. data/spec/components/geoblacklight/search_result_component_spec.rb +2 -6
  147. data/spec/components/geoblacklight/static_map_component_spec.rb +2 -2
  148. data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +4 -6
  149. data/spec/components/geoblacklight/web_services_component_spec.rb +11 -10
  150. data/spec/controllers/catalog_controller_spec.rb +7 -7
  151. data/spec/controllers/download_controller_spec.rb +1 -1
  152. data/spec/controllers/relation_controller_spec.rb +1 -1
  153. data/spec/controllers/wms_controller_spec.rb +1 -1
  154. data/spec/features/axe_spec.rb +4 -4
  155. data/spec/features/bookmarks_spec.rb +1 -1
  156. data/spec/features/citations_spec.rb +1 -1
  157. data/spec/features/configurable_basemap_spec.rb +1 -69
  158. data/spec/features/data_dictionary_download_spec.rb +1 -1
  159. data/spec/features/download_layer_spec.rb +1 -1
  160. data/spec/features/empty_search_spec.rb +1 -1
  161. data/spec/features/esri_viewer_spec.rb +1 -1
  162. data/spec/features/exports_spec.rb +1 -1
  163. data/spec/features/full_screen_control_spec.rb +3 -10
  164. data/spec/features/help_text_spec.rb +1 -1
  165. data/spec/features/home_page_spec.rb +1 -1
  166. data/spec/features/index_map_spec.rb +3 -3
  167. data/spec/features/index_view_spec.rb +7 -7
  168. data/spec/features/layer_inspection_spec.rb +1 -1
  169. data/spec/features/layer_opacity_spec.rb +1 -1
  170. data/spec/features/layer_preview_spec.rb +1 -1
  171. data/spec/features/layer_with_no_references_spec.rb +1 -1
  172. data/spec/features/linkified_attribute_table_spec.rb +1 -1
  173. data/spec/features/metadata_panel_spec.rb +1 -1
  174. data/spec/features/missing_metadata_spec.rb +1 -1
  175. data/spec/features/multiple_downloads_spec.rb +1 -1
  176. data/spec/features/oembed_spec.rb +1 -1
  177. data/spec/features/relations_spec.rb +5 -4
  178. data/spec/features/saved_searches_spec.rb +1 -1
  179. data/spec/features/search_bar_spec.rb +1 -1
  180. data/spec/features/search_results_complex_geometry_spec.rb +1 -1
  181. data/spec/features/search_results_icons_spec.rb +3 -4
  182. data/spec/features/search_results_map_spec.rb +1 -1
  183. data/spec/features/search_results_overlap_ratio_spec.rb +3 -3
  184. data/spec/features/search_spec.rb +1 -1
  185. data/spec/features/show_page_download_spec.rb +1 -1
  186. data/spec/features/show_page_metadata_spec.rb +2 -2
  187. data/spec/features/show_page_sidebar_static_map_spec.rb +1 -1
  188. data/spec/features/sms_spec.rb +1 -1
  189. data/spec/features/suppressed_records_spec.rb +1 -1
  190. data/spec/features/tilejson_spec.rb +1 -1
  191. data/spec/features/tms_spec.rb +1 -1
  192. data/spec/features/web_services_modal_spec.rb +1 -1
  193. data/spec/features/wmts_spec.rb +1 -1
  194. data/spec/features/xyz_spec.rb +1 -1
  195. data/spec/fixtures/manifests/tilejson.json +10 -19
  196. data/spec/fixtures/metadata/fgdc.html +1 -1
  197. data/spec/fixtures/metadata/iso.html +1 -1
  198. data/spec/fixtures/solr_documents/README.md +0 -1
  199. data/spec/fixtures/solr_documents/actual-papermap1.json +9 -28
  200. data/spec/fixtures/solr_documents/actual-point1.json +12 -39
  201. data/spec/fixtures/solr_documents/actual-polygon1.json +10 -30
  202. data/spec/fixtures/solr_documents/actual-raster1.json +14 -46
  203. data/spec/fixtures/solr_documents/all-relationships.json +12 -36
  204. data/spec/fixtures/solr_documents/b1g_iiif_manifest.json +33 -62
  205. data/spec/fixtures/solr_documents/b1g_wabash_child_15.json +13 -40
  206. data/spec/fixtures/solr_documents/b1g_wabash_child_16.json +13 -40
  207. data/spec/fixtures/solr_documents/b1g_wabash_child_17.json +13 -40
  208. data/spec/fixtures/solr_documents/b1g_wabash_child_18.json +13 -40
  209. data/spec/fixtures/solr_documents/b1g_wabash_parent.json +13 -40
  210. data/spec/fixtures/solr_documents/baruch_ancestor1.json +13 -40
  211. data/spec/fixtures/solr_documents/baruch_ancestor2.json +13 -40
  212. data/spec/fixtures/solr_documents/baruch_documentation_download.json +14 -46
  213. data/spec/fixtures/solr_documents/bbox-spans-180.json +7 -21
  214. data/spec/fixtures/solr_documents/complex-geom.json +11 -37
  215. data/spec/fixtures/solr_documents/cornell_html_metadata.json +12 -37
  216. data/spec/fixtures/solr_documents/display-note.json +11 -33
  217. data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +13 -39
  218. data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +13 -40
  219. data/spec/fixtures/solr_documents/esri-feature-layer.json +13 -39
  220. data/spec/fixtures/solr_documents/esri-image-map-layer.json +13 -40
  221. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +16 -54
  222. data/spec/fixtures/solr_documents/esri-wms-layer.json +12 -36
  223. data/spec/fixtures/solr_documents/harvard_raster.json +12 -37
  224. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +9 -27
  225. data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +12 -41
  226. data/spec/fixtures/solr_documents/index-map-polygon.json +12 -41
  227. data/spec/fixtures/solr_documents/index-map-stanford.json +14 -45
  228. data/spec/fixtures/solr_documents/index-map-v1-complex.json +13 -38
  229. data/spec/fixtures/solr_documents/index_map_point.json +13 -42
  230. data/spec/fixtures/solr_documents/metadata_no_geom.json +4 -14
  231. data/spec/fixtures/solr_documents/metadata_no_provider.json +8 -25
  232. data/spec/fixtures/solr_documents/multiple-downloads.json +6 -18
  233. data/spec/fixtures/solr_documents/no_locn_geometry.json +4 -12
  234. data/spec/fixtures/solr_documents/no_spatial.json +4 -12
  235. data/spec/fixtures/solr_documents/oembed.json +8 -25
  236. data/spec/fixtures/solr_documents/princeton-child1.json +9 -29
  237. data/spec/fixtures/solr_documents/princeton-child2.json +9 -29
  238. data/spec/fixtures/solr_documents/princeton-child3.json +9 -29
  239. data/spec/fixtures/solr_documents/princeton-child4.json +9 -29
  240. data/spec/fixtures/solr_documents/princeton-parent.json +10 -33
  241. data/spec/fixtures/solr_documents/public_cog_princeton.json +9 -27
  242. data/spec/fixtures/solr_documents/public_iiif_princeton.json +13 -43
  243. data/spec/fixtures/solr_documents/public_pmtiles_princeton.json +29 -39
  244. data/spec/fixtures/solr_documents/public_polygon_mit.json +9 -30
  245. data/spec/fixtures/solr_documents/restricted-line.json +14 -47
  246. data/spec/fixtures/solr_documents/the-related-record.json +4 -12
  247. data/spec/fixtures/solr_documents/tilejson.json +23 -46
  248. data/spec/fixtures/solr_documents/tms.json +7 -21
  249. data/spec/fixtures/solr_documents/umn_metro_result1.json +13 -41
  250. data/spec/fixtures/solr_documents/umn_state_result1.json +13 -39
  251. data/spec/fixtures/solr_documents/umn_state_result2.json +13 -39
  252. data/spec/fixtures/solr_documents/uva_slug_colon.json +10 -30
  253. data/spec/fixtures/solr_documents/wmts-multiple.json +23 -39
  254. data/spec/fixtures/solr_documents/wmts-single-layer.json +23 -46
  255. data/spec/fixtures/solr_documents/xyz.json +10 -33
  256. data/spec/helpers/geoblacklight_helper_spec.rb +5 -50
  257. data/spec/javascripts/geoblacklight_spec.js +10 -10
  258. data/spec/javascripts/metadata_download_button_spec.js +14 -13
  259. data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -1
  260. data/spec/lib/geoblacklight/configuration/default_settings_builder_spec.rb +9 -0
  261. data/spec/lib/geoblacklight/configuration_spec.rb +13 -0
  262. data/spec/lib/geoblacklight/download/csv_download_spec.rb +2 -2
  263. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +2 -2
  264. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +5 -2
  265. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +2 -2
  266. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +2 -2
  267. data/spec/lib/geoblacklight/download_spec.rb +15 -6
  268. data/spec/lib/geoblacklight/geometry_spec.rb +1 -1
  269. data/spec/lib/geoblacklight/item_viewer_spec.rb +2 -2
  270. data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -1
  271. data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -1
  272. data/spec/lib/geoblacklight/metadata_spec.rb +1 -1
  273. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +1 -1
  274. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +1 -1
  275. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +1 -1
  276. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +1 -1
  277. data/spec/lib/geoblacklight/reference_spec.rb +1 -1
  278. data/spec/lib/geoblacklight/references_spec.rb +6 -4
  279. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +10 -4
  280. data/spec/lib/geoblacklight/relation/descendants_spec.rb +9 -4
  281. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +12 -15
  282. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +1 -1
  283. data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -1
  284. data/spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb +20 -11
  285. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
  286. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -1
  287. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -1
  288. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +4 -39
  289. data/spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb +2 -2
  290. data/spec/routing/catalog_routing_spec.rb +1 -1
  291. data/spec/spec_helper.rb +4 -16
  292. data/spec/tasks/geoblacklight_spec.rb +1 -1
  293. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -3
  294. metadata +40 -194
  295. data/Procfile.dev +0 -3
  296. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +0 -2
  297. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +0 -31
  298. data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +0 -40
  299. data/app/assets/stylesheets/geoblacklight/modules/_styles.scss +0 -9
  300. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +0 -62
  301. data/app/assets/stylesheets/geoblacklight/modules/geosearch.scss +0 -23
  302. data/app/assets/stylesheets/geoblacklight/modules/home.scss +0 -13
  303. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +0 -116
  304. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +0 -61
  305. data/app/assets/stylesheets/geoblacklight/modules/item.scss +0 -78
  306. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +0 -87
  307. data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +0 -4
  308. data/app/assets/stylesheets/geoblacklight/modules/metadata.scss +0 -31
  309. data/app/assets/stylesheets/geoblacklight/modules/metadata_content.scss +0 -43
  310. data/app/assets/stylesheets/geoblacklight/modules/metadata_markup.scss +0 -9
  311. data/app/assets/stylesheets/geoblacklight/modules/metadata_missing.scss +0 -7
  312. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -5
  313. data/app/assets/stylesheets/geoblacklight/modules/results.scss +0 -60
  314. data/app/assets/stylesheets/geoblacklight/modules/search_widgets.scss +0 -5
  315. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +0 -42
  316. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +0 -34
  317. data/app/assets/stylesheets/geoblacklight/modules/web_services.scss +0 -5
  318. data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +0 -46
  319. data/app/components/blacklight/icons/arizona_component.rb +0 -24
  320. data/app/components/blacklight/icons/baruch_cuny_component.rb +0 -23
  321. data/app/components/blacklight/icons/bookmark_component.rb +0 -23
  322. data/app/components/blacklight/icons/circle_info_solid_component.rb +0 -23
  323. data/app/components/blacklight/icons/columbia_component.rb +0 -23
  324. data/app/components/blacklight/icons/cornell_component.rb +0 -25
  325. data/app/components/blacklight/icons/george_mason_component.rb +0 -24
  326. data/app/components/blacklight/icons/harvard_component.rb +0 -23
  327. data/app/components/blacklight/icons/indiana_component.rb +0 -23
  328. data/app/components/blacklight/icons/lewis_clark_component.rb +0 -25
  329. data/app/components/blacklight/icons/massgis_component.rb +0 -23
  330. data/app/components/blacklight/icons/michigan_state_university_component.rb +0 -25
  331. data/app/components/blacklight/icons/mit_component.rb +0 -23
  332. data/app/components/blacklight/icons/northwestern_university_component.rb +0 -24
  333. data/app/components/blacklight/icons/nyu_component.rb +0 -26
  334. data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +0 -25
  335. data/app/components/blacklight/icons/princeton_component.rb +0 -23
  336. data/app/components/blacklight/icons/purdue_university_component.rb +0 -25
  337. data/app/components/blacklight/icons/rutgers_component.rb +0 -25
  338. data/app/components/blacklight/icons/sms_component.rb +0 -23
  339. data/app/components/blacklight/icons/stanford_component.rb +0 -23
  340. data/app/components/blacklight/icons/texas_component.rb +0 -23
  341. data/app/components/blacklight/icons/the_ohio_state_university_component.rb +0 -26
  342. data/app/components/blacklight/icons/tufts_component.rb +0 -23
  343. data/app/components/blacklight/icons/ucla_component.rb +0 -23
  344. data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +0 -24
  345. data/app/components/blacklight/icons/university_of_chicago_component.rb +0 -25
  346. data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +0 -26
  347. data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +0 -25
  348. data/app/components/blacklight/icons/university_of_iowa_component.rb +0 -24
  349. data/app/components/blacklight/icons/university_of_maryland_component.rb +0 -24
  350. data/app/components/blacklight/icons/university_of_michigan_component.rb +0 -24
  351. data/app/components/blacklight/icons/university_of_minnesota_component.rb +0 -24
  352. data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +0 -27
  353. data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +0 -24
  354. data/app/components/blacklight/icons/uva_component.rb +0 -23
  355. data/app/components/geoblacklight/icon_facet_item_component.rb +0 -33
  356. data/app/components/geoblacklight/web_services_link_component.html.erb +0 -3
  357. data/bin/vite +0 -29
  358. data/config/initializers/new_gbl_settings_defaults_4.1.yml +0 -104
  359. data/lib/generators/geoblacklight/assets/importmap_generator.rb +0 -73
  360. data/lib/generators/geoblacklight/assets/vite_generator.rb +0 -89
  361. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +0 -23
  362. data/lib/generators/geoblacklight/templates/assets/application.js +0 -17
  363. data/lib/generators/geoblacklight/templates/assets/application.scss +0 -9
  364. data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +0 -11
  365. data/lib/generators/geoblacklight/templates/base.html.erb +0 -46
  366. data/lib/generators/geoblacklight/templates/vite.config.ts +0 -23
  367. data/lib/generators/geoblacklight/templates/vite.json +0 -16
  368. data/lib/geoblacklight/deprecated_configuration.rb +0 -665
  369. data/schema/geoblacklight-schema-1.0.json +0 -214
  370. data/solr/conf/xslt/example.xsl +0 -132
  371. data/solr/conf/xslt/example_atom.xsl +0 -67
  372. data/solr/conf/xslt/example_rss.xsl +0 -66
  373. data/solr/conf/xslt/luke.xsl +0 -337
  374. data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +0 -15
  375. data/spec/components/blacklight/icons/arizona_component_spec.rb +0 -15
  376. data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +0 -15
  377. data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +0 -15
  378. data/spec/components/blacklight/icons/book_component_spec.rb +0 -15
  379. data/spec/components/blacklight/icons/bookmark_component_spec.rb +0 -15
  380. data/spec/components/blacklight/icons/cd_rom_component_spec.rb +0 -15
  381. data/spec/components/blacklight/icons/child_item_component_spec.rb +0 -15
  382. data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +0 -15
  383. data/spec/components/blacklight/icons/citation_component_spec.rb +0 -15
  384. data/spec/components/blacklight/icons/collection_component_spec.rb +0 -15
  385. data/spec/components/blacklight/icons/collections_component_spec.rb +0 -15
  386. data/spec/components/blacklight/icons/columbia_component_spec.rb +0 -15
  387. data/spec/components/blacklight/icons/cornell_component_spec.rb +0 -15
  388. data/spec/components/blacklight/icons/datasets_component_spec.rb +0 -15
  389. data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +0 -15
  390. data/spec/components/blacklight/icons/email_component_spec.rb +0 -15
  391. data/spec/components/blacklight/icons/esri_globe_component_spec.rb +0 -15
  392. data/spec/components/blacklight/icons/fire_solid_component_spec.rb +0 -15
  393. data/spec/components/blacklight/icons/george_mason_component_spec.rb +0 -15
  394. data/spec/components/blacklight/icons/globe_component_spec.rb +0 -15
  395. data/spec/components/blacklight/icons/harvard_component_spec.rb +0 -15
  396. data/spec/components/blacklight/icons/home_component_spec.rb +0 -15
  397. data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +0 -15
  398. data/spec/components/blacklight/icons/image_component_spec.rb +0 -15
  399. data/spec/components/blacklight/icons/imagery_component_spec.rb +0 -15
  400. data/spec/components/blacklight/icons/indiana_component_spec.rb +0 -15
  401. data/spec/components/blacklight/icons/leaf_component_spec.rb +0 -15
  402. data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +0 -15
  403. data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +0 -15
  404. data/spec/components/blacklight/icons/line_component_spec.rb +0 -15
  405. data/spec/components/blacklight/icons/map_component_spec.rb +0 -15
  406. data/spec/components/blacklight/icons/map_marker_component_spec.rb +0 -15
  407. data/spec/components/blacklight/icons/maps_component_spec.rb +0 -15
  408. data/spec/components/blacklight/icons/massgis_component_spec.rb +0 -15
  409. data/spec/components/blacklight/icons/metadata_component_spec.rb +0 -15
  410. data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +0 -15
  411. data/spec/components/blacklight/icons/mit_component_spec.rb +0 -15
  412. data/spec/components/blacklight/icons/mixed_component_spec.rb +0 -15
  413. data/spec/components/blacklight/icons/multilinestring_component_spec.rb +0 -15
  414. data/spec/components/blacklight/icons/multipoint_component_spec.rb +0 -15
  415. data/spec/components/blacklight/icons/multipolygon_component_spec.rb +0 -15
  416. data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +0 -15
  417. data/spec/components/blacklight/icons/nyu_component_spec.rb +0 -15
  418. data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +0 -15
  419. data/spec/components/blacklight/icons/paper_map_component_spec.rb +0 -15
  420. data/spec/components/blacklight/icons/parent_item_component_spec.rb +0 -15
  421. data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +0 -15
  422. data/spec/components/blacklight/icons/point_component_spec.rb +0 -15
  423. data/spec/components/blacklight/icons/polygon_component_spec.rb +0 -15
  424. data/spec/components/blacklight/icons/polyline_component_spec.rb +0 -15
  425. data/spec/components/blacklight/icons/princeton_component_spec.rb +0 -15
  426. data/spec/components/blacklight/icons/public_component_spec.rb +0 -15
  427. data/spec/components/blacklight/icons/purdue_university_component_spec.rb +0 -15
  428. data/spec/components/blacklight/icons/raster_component_spec.rb +0 -15
  429. data/spec/components/blacklight/icons/restricted_component_spec.rb +0 -15
  430. data/spec/components/blacklight/icons/rutgers_component_spec.rb +0 -15
  431. data/spec/components/blacklight/icons/sms_component_spec.rb +0 -15
  432. data/spec/components/blacklight/icons/stanford_component_spec.rb +0 -15
  433. data/spec/components/blacklight/icons/table_component_spec.rb +0 -15
  434. data/spec/components/blacklight/icons/tags_component_spec.rb +0 -15
  435. data/spec/components/blacklight/icons/texas_component_spec.rb +0 -15
  436. data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +0 -15
  437. data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +0 -15
  438. data/spec/components/blacklight/icons/tufts_component_spec.rb +0 -15
  439. data/spec/components/blacklight/icons/ucla_component_spec.rb +0 -15
  440. data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +0 -15
  441. data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +0 -15
  442. data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +0 -15
  443. data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +0 -15
  444. data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +0 -15
  445. data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +0 -15
  446. data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +0 -15
  447. data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +0 -15
  448. data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +0 -15
  449. data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +0 -15
  450. data/spec/components/blacklight/icons/uva_component_spec.rb +0 -15
  451. data/spec/components/blacklight/icons/web_services_component_spec.rb +0 -15
  452. data/spec/components/blacklight/icons/websites_component_spec.rb +0 -15
  453. data/spec/components/geoblacklight/icon_facet_item_component_spec.rb +0 -18
  454. data/spec/config/initializers/rails_config_spec.rb +0 -16
  455. data/spec/fixtures/solr_documents/public_direct_download.json +0 -62
  456. data/spec/lib/geoblacklight/deprecated_configuration_spec.rb +0 -680
  457. data/spec/solr_config_spec.rb +0 -41
  458. data/spec/support/backport_test_helpers.rb +0 -47
  459. data/spec/support/view_component_capybara_test_helpers.rb +0 -8
  460. data/vite.config.ts +0 -32
  461. /data/app/assets/images/{blacklight → geoblacklight}/logo.svg +0 -0
data/lib/geoblacklight.rb CHANGED
@@ -1,32 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "active_support/dependencies"
4
- require "active_support/deprecation"
5
- require "geoblacklight/engine"
6
4
  require "zeitwerk"
7
5
  loader = Zeitwerk::Loader.for_gem
8
6
  loader.ignore("#{__dir__}/generators")
9
7
  loader.collapse("#{__dir__}/geoblacklight/download")
10
8
  loader.collapse("#{__dir__}/geoblacklight/wms_layer")
11
9
  loader.setup
10
+ require "geoblacklight/engine"
12
11
 
13
12
  module Geoblacklight
14
13
  def self.logger
15
14
  ::Rails.logger
16
15
  end
17
16
 
18
- # Deprecator for GeoBlacklight's own deprecations. Anything deprecated here is
19
- # slated for removal in GeoBlacklight 6.0.
20
- #
21
- # Downstream applications can configure its behavior the same way they would any
22
- # other Rails deprecator, e.g. in config/application.rb:
23
- #
24
- # config.active_support.deprecation = :raise
25
- #
26
- # or directly:
27
- #
28
- # Geoblacklight.deprecation.behavior = :silence
29
- def self.deprecation
30
- @deprecation ||= ActiveSupport::Deprecation.new("6.0", "GeoBlacklight")
17
+ mattr_accessor :configuration_builder, default: Geoblacklight::Configuration::LegacySettingsBuilder
18
+
19
+ def self.configuration
20
+ @configuration ||= configuration_builder.build
31
21
  end
32
22
  end
@@ -54,23 +54,14 @@ namespace :geoblacklight do
54
54
  namespace :downloads do
55
55
  desc "Delete all cached downloads"
56
56
  task delete: :environment do
57
- Geoblacklight.deprecation.warn(
58
- "The geoblacklight:downloads:delete rake task is deprecated; GeoBlacklight 6 removes the generated download subsystem: downloads are direct links only, rendered by Geoblacklight::Document::DownloadLinksComponent"
59
- )
60
57
  FileUtils.rm_rf Dir.glob(Rails.root.join("tmp", "cache", "downloads", "*"))
61
58
  end
62
59
  desc "Create download directory"
63
60
  task mkdir: :environment do
64
- Geoblacklight.deprecation.warn(
65
- "The geoblacklight:downloads:mkdir rake task is deprecated; GeoBlacklight 6 removes the generated download subsystem: downloads are direct links only, rendered by Geoblacklight::Document::DownloadLinksComponent"
66
- )
67
61
  FileUtils.mkdir_p(Rails.root.join("tmp", "cache", "downloads"), verbose: true)
68
62
  end
69
63
  desc "Precaches a download"
70
64
  task :precache, %i[doc_id download_type timeout] => [:environment] do |_t, args|
71
- Geoblacklight.deprecation.warn(
72
- "The geoblacklight:downloads:precache rake task is deprecated; GeoBlacklight 6 removes the generated download subsystem: downloads are direct links only, rendered by Geoblacklight::Document::DownloadLinksComponent"
73
- )
74
65
  unless args[:doc_id] && args[:download_type] && args[:timeout]
75
66
  raise "Please supply required arguments [document_id, download_type and timeout]"
76
67
  end
data/package.json CHANGED
@@ -1,37 +1,16 @@
1
1
  {
2
- "name": "@geoblacklight/frontend",
3
- "type": "module",
4
- "version": "5.4.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"/>
@@ -117,9 +117,9 @@
117
117
  <str name="q.alt">*:*</str>
118
118
  <str name="qf">
119
119
  text^1
120
- dct_description_tmi^2
120
+ dct_description_ti^2
121
121
  dct_creator_tmi^3
122
- dct_publisher_tmi^3
122
+ dct_publisher_ti^3
123
123
  dct_isPartOf_tmi^4
124
124
  dct_subject_tmi^5
125
125
  dct_spatial_tmi^5
@@ -127,16 +127,16 @@
127
127
  dct_title_ti^6
128
128
  dct_accessRights_ti^7
129
129
  dct_provider_ti^8
130
- gbl_resourceClass_tmi^9
131
- gbl_resourceType_tmi^9
132
- dct_identifier_tmi^10
130
+ gbl_resourceClass_ti^9
131
+ gbl_resourceType_ti^9
132
+ dct_identifier_ti^10
133
133
  id_ti^10
134
134
  </str>
135
135
  <str name="pf"><!-- phrase boost within result set -->
136
136
  text^1
137
- dct_description_tmi^2
137
+ dct_description_ti^2
138
138
  dct_creator_tmi^3
139
- dct_publisher_tmi^3
139
+ dct_publisher_ti^3
140
140
  dct_isPartOf_tmi^4
141
141
  dct_subject_tmi^5
142
142
  dct_spatial_tmi^5
@@ -144,9 +144,9 @@
144
144
  dct_title_ti^6
145
145
  dct_accessRights_ti^7
146
146
  dct_provider_ti^8
147
- gbl_resourceClass_tmi^9
148
- gbl_resourceType_tmi^9
149
- dct_identifier_tmi^10
147
+ gbl_resourceClass_ti^9
148
+ gbl_resourceType_ti^9
149
+ dct_identifier_ti^10
150
150
  id_ti^10
151
151
  </str>
152
152
  <bool name="facet">true</bool>
@@ -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