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
@@ -0,0 +1,51 @@
1
+ module Geoblacklight
2
+ class Configuration
3
+ # Configuration for fields used in GeoBlacklight search results and metadata display.
4
+ class FieldsConfig
5
+ include ActiveModel::Attributes
6
+
7
+ attribute :access_rights, :string, default: "dct_accessRights_s"
8
+ attribute :alternative_title, :string, default: "dct_alternative_sm"
9
+ attribute :centroid, :string, default: "dcat_centroid"
10
+ attribute :creator, :string, default: "dct_creator_sm"
11
+ attribute :date_issued, :string, default: "dct_issued_s"
12
+ attribute :date_range, :string, default: "gbl_dateRange_drsim"
13
+ attribute :description, :string, default: "dct_description_sm"
14
+ attribute :display_note, :string, default: "gbl_displayNote_s"
15
+ attribute :format, :string, default: "dct_format_s"
16
+ attribute :file_size, :string, default: "gbl_fileSize_drsim"
17
+ attribute :georeferenced, :string, default: "gbl_georeferenced_drsim"
18
+ attribute :id, :string, default: "id"
19
+ attribute :identifier, :string, default: "dct_identifier_s"
20
+ attribute :index_year, :string, default: "gbl_indexYear_drsim"
21
+ attribute :is_part_of, :string, default: "gbl_isPartOf_drsim"
22
+ attribute :is_replaced_by, :string, default: "gbl_isReplacedBy_drsim"
23
+ attribute :theme, :string, default: "gbl_theme_drsim"
24
+ attribute :keyword, :string, default: "dct_keyword_sm"
25
+ attribute :language, :string, default: "dct_language_s"
26
+ attribute :license, :string, default: "dct_license_s"
27
+ attribute :member_of, :string, default: "gbl_memberOf_drsim"
28
+ attribute :metadata_version, :string, default: "gbl_metadataVersion_drsim"
29
+ attribute :modified, :string, default: "gbl_modified_drsim"
30
+ attribute :overlap_field, :string, default: "gbl_overlapField_drsim"
31
+ attribute :publisher, :string, default: "gbl_publisher_drsim"
32
+ attribute :provider, :string, default: "gbl_provider_drsim"
33
+ attribute :references, :string, default: "gbl_references_drsim"
34
+ attribute :relation, :string, default: "gbl_relation_drsim"
35
+ attribute :replaces, :string, default: "gbl_replaces_drsim"
36
+ attribute :resource_class, :string, default: "gbl_resourceClass_drsim"
37
+ attribute :resource_type, :string, default: "gbl_resourceType_drsim"
38
+ attribute :rights, :string, default: "gbl_rights_drsim"
39
+ attribute :rights_holder, :string, default: "gbl_rightsHolder_drsim"
40
+ attribute :source, :string, default: "gbl_source_drsim"
41
+ attribute :spatial_coverage, :string, default: "gbl_spatialCoverage_drsim"
42
+ attribute :geometry, :string, default: "gbl_geometry_drsim"
43
+ attribute :subject, :string, default: "gbl_subject_drsim"
44
+ attribute :suppressed, :string, default: "gbl_suppressed_drsim"
45
+ attribute :temporal_coverage, :string, default: "gbl_temporalCoverage_drsim"
46
+ attribute :title, :string, default: "gbl_title_drsim"
47
+ attribute :version, :string, default: "gbl_version_drsim"
48
+ attribute :wxs_identifier, :string, default: "gbl_wxsIdentifier_drsim"
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,73 @@
1
+ module Geoblacklight
2
+ class Configuration
3
+ class LeafletConfig
4
+ include ActiveModel::Model
5
+ include ActiveModel::Attributes
6
+
7
+ attr_accessor :bounds_overlay, :controls
8
+
9
+ attr_reader :sleep, :layers
10
+ # set to true to display attribute table as sidebar on map
11
+ attribute :sidebar, :boolean, default: false
12
+ attribute :selected_color, :string, default: "#2C7FB8"
13
+
14
+ DEFAULT_LAYERS_CONFIG = {
15
+ index: {
16
+ DEFAULT: {
17
+ color: "#7FCDBB",
18
+ weight: 1,
19
+ radius: 4,
20
+ sr_color_name: "Green"
21
+ },
22
+ UNAVAILABLE: {
23
+ weight: 1,
24
+ radius: 4,
25
+ color: "#EDF8B1",
26
+ sr_color_name: "Yellow"
27
+ },
28
+ SELECTED: {
29
+ weight: 1,
30
+ radius: 4,
31
+ color: "#2C7FB8",
32
+ sr_color_name: "Blue"
33
+ }
34
+ }
35
+ }.freeze
36
+
37
+ DEFAULT_SLEEP_CONFIG = {
38
+ sleep: true, # set to false to disable
39
+ margin_distance: 100, # set to zero / false if you want to disable this check
40
+ sleeptime: 750,
41
+ waketime: 750,
42
+ hovertowake: false,
43
+ message: "Click to Wake",
44
+ background: "rgba(214, 214, 214, .7)"
45
+ }.freeze
46
+
47
+ def initialize
48
+ super
49
+ @sleep = LeafletSleepConfig.new(DEFAULT_SLEEP_CONFIG)
50
+ @layers = LeafletLayersConfig.new(DEFAULT_LAYERS_CONFIG)
51
+ end
52
+
53
+ def sleep=(attributes)
54
+ @sleep = LeafletSleepConfig.new(attributes)
55
+ end
56
+
57
+ def layers=(attributes)
58
+ @layers = LeafletLayersConfig.new(attributes)
59
+ end
60
+
61
+ def to_h
62
+ {
63
+ bounds_overlay: bounds_overlay,
64
+ selected_color: selected_color,
65
+ sleep: sleep.to_h,
66
+ sidebar: sidebar,
67
+ layers: layers.to_h,
68
+ controls: controls
69
+ }.compact
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,21 @@
1
+ module Geoblacklight
2
+ class Configuration
3
+ class LeafletLayersConfig
4
+ include ActiveModel::Model
5
+ include ActiveModel::Attributes
6
+
7
+ attribute :detect_retina, :boolean, default: true
8
+
9
+ attr_accessor :index
10
+
11
+ def initialize(attributes = {})
12
+ super
13
+ @index = attributes[:index]
14
+ end
15
+
16
+ def to_h
17
+ attributes.merge({"index" => index})
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ module Geoblacklight
2
+ class Configuration
3
+ class LeafletSleepConfig
4
+ include ActiveModel::Model
5
+ include ActiveModel::Attributes
6
+
7
+ attribute :sleep, :boolean, default: true # set to false to disable
8
+ attribute :margin_distance, :integer, default: 100 # set to zero / false if you want to disable this check
9
+ attribute :sleeptime, :integer, default: 750
10
+ attribute :waketime, :integer, default: 750
11
+ attribute :hovertowake, :boolean, default: false
12
+ attribute :message, :string, default: "Click to Wake"
13
+ attribute :background, :string, default: "rgba(214, 214, 214, .7)"
14
+
15
+ def to_h
16
+ attributes
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,94 @@
1
+ module Geoblacklight
2
+ class Configuration
3
+ # Builds a configuration from legacy (uppercase) settings
4
+ class LegacySettingsBuilder
5
+ def self.build
6
+ new.build
7
+ end
8
+
9
+ def initialize
10
+ @configuration = Configuration.new
11
+ end
12
+
13
+ def build
14
+ @configuration.tap do |config|
15
+ config.arcgis_base_url = Settings.ARCGIS_BASE_URL
16
+ config.bbox_within_boost = Settings.BBOX_WITHIN_BOOST
17
+ config.overlap_ratio_boost = Settings.OVERLAP_RATIO_BOOST
18
+ config.display_notes_shown = Settings.DISPLAY_NOTES_SHOWN
19
+ config.institution = Settings.INSTITUTION
20
+ config.help_text = Settings.HELP_TEXT.to_h
21
+ config.sidebar_static_map = Settings.SIDEBAR_STATIC_MAP
22
+ config.iiif_drag_drop_link = Settings.IIIF_DRAG_DROP_LINK
23
+ config.homepage_map_geom = Settings.HOMEPAGE_MAP_GEOM
24
+ config.vector_download_formats = Settings.DOWNLOAD_FORMATS&.VECTOR
25
+ config.metadata_shown = Settings.METADATA_SHOWN
26
+ config.webservices_shown = Settings.WEBSERVICES_SHOWN
27
+ config.relationships_shown = Settings.RELATIONSHIPS_SHOWN
28
+ config.download_path = Settings.DOWNLOAD_PATH if Settings.DOWNLOAD_PATH
29
+ config.gbl_params = Settings.GBL_PARAMS
30
+ config.wms_params = Settings.WMS_PARAMS.to_h
31
+ config.timeout_wms = Settings.TIMEOUT_WMS
32
+
33
+ build_fields(config)
34
+ build_leaflet_options(config)
35
+ end
36
+ end
37
+
38
+ private
39
+
40
+ def build_leaflet_options(config)
41
+ config.leaflet_options.bounds_overlay = Settings.LEAFLET.BOUNDSOVERLAY.to_h
42
+ config.leaflet_options.selected_color = Settings.LEAFLET.SELECTED_COLOR
43
+ config.leaflet_options.sleep = Settings.LEAFLET.SLEEP.to_h.transform_keys(&:downcase)
44
+ config.leaflet_options.sidebar = Settings.LEAFLET.SIDEBAR
45
+ config.leaflet_options.layers = Settings.LEAFLET.LAYERS.to_h.transform_keys(&:downcase)
46
+ end
47
+
48
+ def build_fields(config)
49
+ config.fields.access_rights = Settings.FIELDS.ACCESS_RIGHTS
50
+ config.fields.alternative_title = Settings.FIELDS.ALTERNATIVE_TITLE
51
+ config.fields.centroid = Settings.FIELDS.CENTROID
52
+ config.fields.creator = Settings.FIELDS.CREATOR
53
+ config.fields.date_issued = Settings.FIELDS.DATE_ISSUED
54
+ config.fields.date_range = Settings.FIELDS.DATE_RANGE
55
+ config.fields.description = Settings.FIELDS.DESCRIPTION
56
+ config.fields.display_note = Settings.FIELDS.DISPLAY_NOTE
57
+ config.fields.format = Settings.FIELDS.FORMAT
58
+ config.fields.file_size = Settings.FIELDS.FILE_SIZE
59
+ config.fields.georeferenced = Settings.FIELDS.GEOREFERENCED
60
+ config.fields.id = Settings.FIELDS.ID
61
+ config.fields.identifier = Settings.FIELDS.IDENTIFIER
62
+ config.fields.index_year = Settings.FIELDS.INDEX_YEAR
63
+ config.fields.is_part_of = Settings.FIELDS.IS_PART_OF
64
+ config.fields.is_replaced_by = Settings.FIELDS.IS_REPLACED_BY
65
+ config.fields.theme = Settings.FIELDS.THEME
66
+ config.fields.keyword = Settings.FIELDS.KEYWORD
67
+ config.fields.language = Settings.FIELDS.LANGUAGE
68
+ config.fields.license = Settings.FIELDS.LICENSE
69
+ config.fields.member_of = Settings.FIELDS.MEMBER_OF
70
+ config.fields.metadata_version = Settings.FIELDS.METADATA_VERSION
71
+ config.fields.modified = Settings.FIELDS.MODIFIED
72
+ config.fields.overlap_field = Settings.FIELDS.OVERLAP_FIELD
73
+ config.fields.publisher = Settings.FIELDS.PUBLISHER
74
+ config.fields.provider = Settings.FIELDS.PROVIDER
75
+ config.fields.references = Settings.FIELDS.REFERENCES
76
+ config.fields.relation = Settings.FIELDS.RELATION
77
+ config.fields.replaces = Settings.FIELDS.REPLACES
78
+ config.fields.resource_class = Settings.FIELDS.RESOURCE_CLASS
79
+ config.fields.resource_type = Settings.FIELDS.RESOURCE_TYPE
80
+ config.fields.rights = Settings.FIELDS.RIGHTS
81
+ config.fields.rights_holder = Settings.FIELDS.RIGHTS_HOLDER
82
+ config.fields.source = Settings.FIELDS.SOURCE
83
+ config.fields.spatial_coverage = Settings.FIELDS.SPATIAL_COVERAGE
84
+ config.fields.geometry = Settings.FIELDS.GEOMETRY
85
+ config.fields.subject = Settings.FIELDS.SUBJECT
86
+ config.fields.suppressed = Settings.FIELDS.SUPPRESSED
87
+ config.fields.temporal_coverage = Settings.FIELDS.TEMPORAL_COVERAGE
88
+ config.fields.title = Settings.FIELDS.TITLE
89
+ config.fields.version = Settings.FIELDS.VERSION
90
+ config.fields.wxs_identifier = Settings.FIELDS.WXS_IDENTIFIER
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,148 @@
1
+ module Geoblacklight
2
+ # Configuration for Geoblacklight
3
+ class Configuration
4
+ include ActiveModel::Attributes
5
+
6
+ # ArcGIS Online Base URL
7
+ attribute :arcgis_base_url, :string, default: "https://www.arcgis.com/apps/mapviewer/index.html"
8
+
9
+ # The bq boost value for spatial search matches within a bounding box
10
+ attribute :bbox_within_boost, :string, default: "10"
11
+
12
+ # The bf boost value for overlap ratio
13
+ attribute :overlap_ratio_boost, :string, default: "2"
14
+
15
+ # Institution deployed at
16
+ attribute :institution, :string, default: "Stanford"
17
+
18
+ # (For external Download) timeout and open_timeout parameters for Faraday
19
+ attribute :timeout_download, :integer, default: 180
20
+
21
+ # (For WMS inspection) timeout and open_timeout parameters for Faraday
22
+ attribute :timeout_wms, :integer, default: 4
23
+
24
+ # Display Notes to display / Non-prefixed default bootstrap class is alert-secondary
25
+ attr_accessor :display_notes_shown # typed as Hash
26
+
27
+ # Toggle the help text feature that offers users context
28
+ attr_accessor :help_text # typed as Hash
29
+
30
+ # Non-search-field GeoBlacklight application permitted params
31
+ attr_accessor :gbl_params # typed as Array
32
+
33
+ # WMS Parameters
34
+ attr_accessor :wms_params # typed as Hash
35
+
36
+ # Enable catalog#show sidebar static map for items with the following viewer protocols
37
+ attr_accessor :sidebar_static_map # typed as Array
38
+
39
+ attribute :iiif_drag_drop_link, :string, default: "@manifest?manifest=@manifest"
40
+
41
+ # Homepage Map Geometry
42
+ # Leave null to default to entire world
43
+ # Add a stringified GeoJSON object to scope initial render (example from UMass)
44
+ # config.homepage_map_geom = '{"type":"Polygon","coordinates":[[[-73.58,42.93],[-73.58,41.20],[-69.90,41.20],[-69.90,42.93]]]}'
45
+ attribute :homepage_map_geom, :string
46
+
47
+ # Vector data download formats to be displayed
48
+ attr_accessor :vector_download_formats # typed as Array
49
+
50
+ # Metadata shown in tool panel
51
+ attr_accessor :metadata_shown # typed as Array
52
+
53
+ # Web services shown in tool panel
54
+ attr_accessor :webservices_shown # typed as Array
55
+
56
+ # Relationships to display
57
+ attr_accessor :relationships_shown # typed as Hash
58
+
59
+ attribute :download_path, :string
60
+
61
+ def initialize
62
+ super
63
+ self.download_path ||= Rails.root.join("tmp", "cache", "downloads")
64
+ @gbl_params = [
65
+ :bbox, :email, :file, :format, :id, :logo, :provider, :type,
66
+ :BBOX, :HEIGHT, :LAYERS, :QUERY_LAYERS, :URL, :WIDTH, :X, :Y
67
+ ]
68
+ @wms_params = {
69
+ SERVICE: "WMS",
70
+ VERSION: "1.1.1",
71
+ REQUEST: "GetFeatureInfo",
72
+ STYLES: "",
73
+ SRS: "EPSG:4326",
74
+ EXCEPTIONS: "application/json",
75
+ INFO_FORMAT: "application/json"
76
+ }
77
+ @help_text = {
78
+ viewer_protocol: %w[
79
+ cog
80
+ dynamic_map_layer
81
+ feature_layer
82
+ iiif
83
+ iiif_manifest
84
+ image_map_layer
85
+ index_map
86
+ oembed
87
+ pmtiles
88
+ tiled_map_layer
89
+ tilejson
90
+ tms
91
+ wms
92
+ wmts
93
+ xyz
94
+ ]
95
+ }
96
+
97
+ @webservices_shown = %w[
98
+ wms
99
+ tms
100
+ wfs
101
+ xyz
102
+ wmts
103
+ tilejson
104
+ iiif
105
+ feature_layer
106
+ tiled_map_layer
107
+ dynamic_map_layer
108
+ image_map_layer
109
+ cog
110
+ pmtile
111
+ ]
112
+
113
+ @display_notes_shown = {
114
+ danger: DisplayNoteShownConfig.new(
115
+ bootstrap_alert_class: "alert-danger",
116
+ icon: "fire-solid",
117
+ note_prefix: "Danger: "
118
+ ),
119
+ info: DisplayNoteShownConfig.new(
120
+ bootstrap_alert_class: "alert-info",
121
+ icon: "circle-info-solid",
122
+ note_prefix: "Info: "
123
+ ),
124
+ tip: DisplayNoteShownConfig.new(
125
+ bootstrap_alert_class: "alert-success",
126
+ icon: "lightbulb-solid",
127
+ note_prefix: "Tip: "
128
+ ),
129
+ warning: DisplayNoteShownConfig.new(
130
+ bootstrap_alert_class: "alert-warning",
131
+ icon: "triangle-exclamation-solid",
132
+ note_prefix: "Warning: "
133
+ )
134
+ }
135
+ end
136
+
137
+ def fields
138
+ @fields ||= FieldsConfig.new
139
+ end
140
+
141
+ ##
142
+ # Returns Leaflet plugin settings to pass to the viewer.
143
+ # @return[Geoblacklight::Configuration::LeafletConfig]
144
+ def leaflet_options
145
+ @leaflet_options ||= Geoblacklight::Configuration::LeafletConfig.new
146
+ end
147
+ end
148
+ end
@@ -3,9 +3,6 @@
3
3
  module Geoblacklight
4
4
  class Download
5
5
  def initialize(document, options = {})
6
- Geoblacklight.deprecation.warn(
7
- "#{self.class} is deprecated; GeoBlacklight 6 removes the generated download subsystem: downloads are direct links only, rendered by Geoblacklight::Document::DownloadLinksComponent"
8
- )
9
6
  @document = document
10
7
  @options = options
11
8
  end
@@ -19,7 +16,7 @@ module Geoblacklight
19
16
  end
20
17
 
21
18
  def self.file_path
22
- Settings.DOWNLOAD_PATH || Rails.root.join("tmp", "cache", "downloads")
19
+ Geoblacklight.configuration.download_path
23
20
  end
24
21
 
25
22
  def file_path_and_name
@@ -98,7 +95,7 @@ module Geoblacklight
98
95
  # the Geoblacklight::Download class
99
96
  # @return [Fixnum] download timeout in seconds
100
97
  def timeout
101
- @options[:timeout] || Settings.TIMEOUT_DOWNLOAD || 20
98
+ @options[:timeout] || Geoblacklight.configuration.timeout_download
102
99
  end
103
100
 
104
101
  ##
@@ -7,22 +7,10 @@ require "faraday"
7
7
  require "geoblacklight/version"
8
8
  require "nokogiri"
9
9
  require "mime/types"
10
+ require "geo_combine"
10
11
 
11
12
  module Geoblacklight
12
13
  class Engine < ::Rails::Engine
13
- # Register GeoBlacklight's deprecator so that applications can configure it
14
- # alongside Rails' own, e.g. `config.active_support.deprecation = :raise`.
15
- initializer "geoblacklight.deprecator" do |app|
16
- app.deprecators[:geoblacklight] = Geoblacklight.deprecation if app.respond_to?(:deprecators)
17
- end
18
-
19
- # Warn about application configuration that GeoBlacklight 6 removes. This runs
20
- # once per boot rather than per request, because nothing in GeoBlacklight calls
21
- # the deprecated templates or settings on the application's behalf.
22
- config.after_initialize do
23
- Geoblacklight::DeprecatedConfiguration.warn!
24
- end
25
-
26
14
  # GeoblacklightHelper is needed by all helpers, so we inject it
27
15
  # into action view base here.
28
16
  initializer "geoblacklight.helpers" do
@@ -31,21 +19,22 @@ module Geoblacklight
31
19
  end
32
20
  end
33
21
 
34
- PRECOMPILE_ASSETS = %w[favicon.ico geoblacklight/geoblacklight.umd.cjs geoblacklight/geoblacklight.umd.cjs.map geoblacklight/geoblacklight.js geoblacklight/geoblacklight.js.map].freeze
22
+ PRECOMPILE_ASSETS = %w[favicon.ico].freeze
35
23
 
36
24
  # Make the source JS and CSS available to built apps
37
25
  initializer "geoblacklight.assets" do |app|
38
26
  app.config.assets.paths << Geoblacklight::Engine.root.join("app/javascript")
39
- app.config.assets.paths << Geoblacklight::Engine.root.join("app/assets")
27
+ app.config.assets.paths << Geoblacklight::Engine.root.join("app/assets/images")
28
+ app.config.assets.paths << Geoblacklight::Engine.root.join("app/assets/stylesheets")
40
29
  app.config.assets.precompile += Geoblacklight::Engine::PRECOMPILE_ASSETS
41
30
  end
42
31
 
43
32
  # Add the Geoblacklight importmap to the built app's importmap
44
33
  initializer "geoblacklight.importmap", before: "importmap" do |app|
45
- next unless app.config.respond_to?(:importmap) # skip for Vite
34
+ next unless app.config.respond_to?(:importmap)
46
35
 
47
- app.config.importmap.paths << Engine.root.join("config/importmap.rb")
48
- app.config.importmap.cache_sweepers << Engine.root.join("app/javascript")
36
+ app.config.importmap.paths << Geoblacklight::Engine.root.join("config/importmap.rb")
37
+ app.config.importmap.cache_sweepers << Geoblacklight::Engine.root.join("app/javascript")
49
38
  end
50
39
  end
51
40
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "geo_combine"
4
-
5
3
  module Geoblacklight
6
4
  module Metadata
7
5
  ##
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "geo_combine"
4
-
5
3
  module Geoblacklight
6
4
  module MetadataTransformer
7
5
  ##
@@ -5,7 +5,7 @@ module Geoblacklight
5
5
  class References
6
6
  attr_reader :refs, :reference_field
7
7
 
8
- def initialize(document, reference_field = Settings.FIELDS.REFERENCES)
8
+ def initialize(document, reference_field = Geoblacklight.configuration.fields.references)
9
9
  @document = document
10
10
  @reference_field = reference_field
11
11
  @refs = parse_references.map { |ref| Reference.new(ref) }
@@ -15,9 +15,10 @@ module Geoblacklight
15
15
  # Return only those metadata references which are exposed within the configuration
16
16
  # @return [Geoblacklight::Reference]
17
17
  def shown_metadata_refs
18
- metadata = @refs.select { |ref| Settings.METADATA_SHOWN.include?(ref.type.to_s) }
18
+ metadata_shown = Geoblacklight.configuration.metadata_shown
19
+ metadata = @refs.select { |ref| metadata_shown.include?(ref.type.to_s) }
19
20
  metadata.sort do |u, v|
20
- Settings.METADATA_SHOWN.index(u.type.to_s) <=> Settings.METADATA_SHOWN.index(v.type.to_s)
21
+ metadata_shown.index(u.type.to_s) <=> metadata_shown.index(v.type.to_s)
21
22
  end
22
23
  end
23
24
 
@@ -52,7 +53,6 @@ module Geoblacklight
52
53
  ##
53
54
  # Download hash based off of format type
54
55
  # @return [Hash, nil]
55
- # @deprecated
56
56
  def downloads_by_format
57
57
  case format
58
58
  when "Shapefile"
@@ -67,9 +67,8 @@ module Geoblacklight
67
67
  ##
68
68
  # Generated download types from wxs services
69
69
  # @return (see #downloads_by_format)
70
- # @deprecated
71
70
  def download_types
72
- Geoblacklight.deprecation.silence { downloads_by_format }
71
+ downloads_by_format
73
72
  end
74
73
 
75
74
  ##
@@ -113,7 +112,7 @@ module Geoblacklight
113
112
  end
114
113
 
115
114
  def format_list
116
- Settings.DOWNLOAD_FORMATS&.VECTOR
115
+ Geoblacklight.configuration.vector_download_formats || []
117
116
  end
118
117
 
119
118
  def web_service_hash(format)
@@ -158,8 +157,5 @@ module Geoblacklight
158
157
  def respond_to_missing?(m, *args, &b)
159
158
  Geoblacklight::Constants::URI.key?(m) || super
160
159
  end
161
- Geoblacklight.deprecation.deprecate_methods(Geoblacklight::References,
162
- downloads_by_format: "GeoBlacklight 6 removes the generated download subsystem: downloads are direct links only, rendered by Geoblacklight::Document::DownloadLinksComponent",
163
- download_types: "GeoBlacklight 6 removes the generated download subsystem: downloads are direct links only, rendered by Geoblacklight::Document::DownloadLinksComponent")
164
160
  end
165
161
  end
@@ -4,17 +4,15 @@ module Geoblacklight
4
4
  module Relation
5
5
  class Ancestors
6
6
  def initialize(id, field, repository)
7
- Geoblacklight.deprecation.warn(
8
- "GeoBlacklight 6 renames the Geoblacklight::Relation namespace to Geoblacklight::Relations, and RelationController to RelationsController, so update any reference to Geoblacklight::Relation::Ancestors"
9
- )
10
7
  @search_id = id
11
8
  @field = field
12
9
  @repository = repository
13
10
  end
14
11
 
15
12
  def create_search_params
16
- {fq: ["{!join from=#{@field} to=#{Settings.FIELDS.ID}}#{Settings.FIELDS.ID}:#{@search_id}"],
17
- fl: [Settings.FIELDS.TITLE, Settings.FIELDS.ID, Settings.FIELDS.RESOURCE_TYPE]}
13
+ {fq: ["{!join from=#{@field} to=#{Geoblacklight.configuration.fields.id}}#{Geoblacklight.configuration.fields.id}:#{@search_id}"],
14
+ fl: [Geoblacklight.configuration.fields.title, Geoblacklight.configuration.fields.id,
15
+ Geoblacklight.configuration.fields.resource_type]}
18
16
  end
19
17
 
20
18
  def execute_query
@@ -4,9 +4,6 @@ module Geoblacklight
4
4
  module Relation
5
5
  class Descendants
6
6
  def initialize(id, field, repository)
7
- Geoblacklight.deprecation.warn(
8
- "GeoBlacklight 6 renames the Geoblacklight::Relation namespace to Geoblacklight::Relations, and RelationController to RelationsController, so update any reference to Geoblacklight::Relation::Descendants"
9
- )
10
7
  @search_id = id
11
8
  @field = field
12
9
  @repository = repository
@@ -14,7 +11,8 @@ module Geoblacklight
14
11
 
15
12
  def create_search_params
16
13
  {fq: "#{@field}:#{@search_id}",
17
- fl: [Settings.FIELDS.TITLE, Settings.FIELDS.ID, Settings.FIELDS.RESOURCE_TYPE]}
14
+ fl: [Geoblacklight.configuration.fields.title, Geoblacklight.configuration.fields.id,
15
+ Geoblacklight.configuration.fields.resource_type]}
18
16
  end
19
17
 
20
18
  def execute_query
@@ -5,26 +5,23 @@ module Geoblacklight
5
5
  class RelationResponse
6
6
  attr_reader :search_id, :link_id
7
7
  def initialize(id, repository)
8
- Geoblacklight.deprecation.warn(
9
- "GeoBlacklight 6 renames the Geoblacklight::Relation namespace to Geoblacklight::Relations, and RelationController to RelationsController, so update any reference to Geoblacklight::Relation::RelationResponse"
10
- )
11
8
  @link_id = id
12
9
  @search_id = RSolr.solr_escape(id)
13
10
  @repository = repository
14
11
  end
15
12
 
16
13
  def method_missing(method, *args, &block)
17
- if Settings.RELATIONSHIPS_SHOWN.key?(method)
18
- field = Settings.RELATIONSHIPS_SHOWN[method].field
19
- query_type = query_type(Settings.RELATIONSHIPS_SHOWN[method])
20
- @results = Geoblacklight.deprecation.silence { query_type.new(@search_id, field, @repository) }.results
14
+ if Geoblacklight.configuration.relationships_shown.key?(method)
15
+ field = Geoblacklight.configuration.relationships_shown[method].field
16
+ query_type = query_type(Geoblacklight.configuration.relationships_shown[method])
17
+ @results = query_type.new(@search_id, field, @repository).results
21
18
  else
22
19
  super
23
20
  end
24
21
  end
25
22
 
26
23
  def respond_to_missing?(method_name, *args)
27
- Settings.RELATIONSHIPS_SHOWN.key?(method_name) or super
24
+ Geoblacklight.configuration.relationships_shown.key?(method_name) or super
28
25
  end
29
26
 
30
27
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Geoblacklight
4
- VERSION = "5.4.0"
4
+ VERSION = "6.0.0-alpha.1"
5
5
  end
@@ -3,7 +3,7 @@
3
3
  module Geoblacklight
4
4
  class WmsLayer
5
5
  def initialize(params)
6
- @params = params.to_h.merge(Settings.WMS_PARAMS)
6
+ @params = params.to_h.merge(Geoblacklight.configuration.wms_params)
7
7
  @response = Geoblacklight::FeatureInfoResponse.new(request_response)
8
8
  end
9
9
 
@@ -23,8 +23,8 @@ module Geoblacklight
23
23
  conn = Faraday.new(url: url)
24
24
  conn.get do |request|
25
25
  request.params = search_params
26
- request.options.timeout = Settings.TIMEOUT_WMS
27
- request.options.open_timeout = Settings.TIMEOUT_WMS
26
+ request.options.timeout = Geoblacklight.configuration.timeout_wms
27
+ request.options.open_timeout = Geoblacklight.configuration.timeout_wms
28
28
  end
29
29
  rescue Faraday::ConnectionFailed, Faraday::TimeoutError => error
30
30
  Geoblacklight.logger.error error.inspect