geoblacklight 5.3.0 → 6.0.0.pre.alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. checksums.yaml +4 -4
  2. data/.engine_cart.yml +14 -0
  3. data/.github/workflows/ruby.yml +25 -25
  4. data/.gitignore +0 -9
  5. data/.prettierignore +4 -0
  6. data/.prettierrc +5 -0
  7. data/CONTRIBUTING.md +2 -4
  8. data/Gemfile +4 -2
  9. data/README.md +4 -4
  10. data/Rakefile +0 -22
  11. data/app/assets/stylesheets/geoblacklight/global.css +7 -0
  12. data/app/assets/stylesheets/geoblacklight/home.css +22 -0
  13. data/app/assets/stylesheets/geoblacklight/index_maps.css +36 -0
  14. data/app/assets/stylesheets/geoblacklight/record.css +39 -0
  15. data/app/assets/stylesheets/geoblacklight/search.css +56 -0
  16. data/app/assets/stylesheets/geoblacklight/viewers.css +50 -0
  17. data/app/assets/stylesheets/geoblacklight.css +14 -0
  18. data/app/components/blacklight/icons/web_services_component.rb +3 -3
  19. data/app/components/geoblacklight/accordion_component.html.erb +3 -3
  20. data/app/components/geoblacklight/accordion_component.rb +4 -0
  21. data/app/components/geoblacklight/arcgis_component.html.erb +1 -1
  22. data/app/components/geoblacklight/arcgis_component.rb +1 -1
  23. data/app/components/geoblacklight/attribute_table_component.html.erb +3 -3
  24. data/app/components/geoblacklight/data_dictionary_download_component.html.erb +1 -1
  25. data/app/components/geoblacklight/display_note_component.html.erb +1 -1
  26. data/app/components/geoblacklight/display_note_component.rb +2 -1
  27. data/app/components/geoblacklight/document/citation_component.html.erb +1 -1
  28. data/app/components/geoblacklight/document/relations_container_component.html.erb +1 -0
  29. data/app/components/geoblacklight/document/relations_container_component.rb +12 -0
  30. data/app/components/geoblacklight/document/sidebar_component.html.erb +3 -4
  31. data/app/components/geoblacklight/document/sidebar_component.rb +0 -1
  32. data/app/components/geoblacklight/document_component.html.erb +1 -2
  33. data/app/components/geoblacklight/download_links_component.rb +1 -1
  34. data/app/components/geoblacklight/header_component.html.erb +4 -4
  35. data/app/components/geoblacklight/header_icons_component.rb +4 -2
  36. data/app/components/geoblacklight/homepage_feature_facet_component.html.erb +3 -7
  37. data/app/components/geoblacklight/homepage_feature_facet_component.rb +12 -3
  38. data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +2 -2
  39. data/app/components/geoblacklight/iiif_drag_drop_component.rb +2 -2
  40. data/app/components/geoblacklight/index_map_inspect_component.html.erb +3 -3
  41. data/app/components/geoblacklight/index_map_legend_component.html.erb +7 -7
  42. data/app/components/geoblacklight/index_map_legend_component.rb +7 -0
  43. data/app/components/geoblacklight/item_map_viewer_component.rb +8 -4
  44. data/app/components/geoblacklight/location_leaflet_map_component.rb +28 -15
  45. data/app/components/geoblacklight/login_link_component.rb +1 -1
  46. data/app/components/geoblacklight/relations_component.html.erb +2 -2
  47. data/app/components/geoblacklight/search_result_component.html.erb +28 -26
  48. data/app/components/geoblacklight/search_result_component.rb +2 -2
  49. data/app/components/geoblacklight/static_map_component.html.erb +1 -1
  50. data/app/components/geoblacklight/static_map_component.rb +5 -4
  51. data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -1
  52. data/app/components/geoblacklight/viewer_help_text_component.rb +1 -1
  53. data/app/components/geoblacklight/web_services_component.html.erb +1 -1
  54. data/app/components/geoblacklight/web_services_component.rb +1 -1
  55. data/app/components/geoblacklight/web_services_default_component.html.erb +6 -6
  56. data/app/components/geoblacklight/web_services_link_component.rb +12 -9
  57. data/app/components/geoblacklight/web_services_wfs_component.html.erb +4 -4
  58. data/app/components/geoblacklight/web_services_wms_component.html.erb +4 -4
  59. data/app/controllers/download_controller.rb +0 -1
  60. data/app/controllers/relation_controller.rb +1 -1
  61. data/app/controllers/wms_controller.rb +1 -1
  62. data/app/helpers/geoblacklight_helper.rb +1 -16
  63. data/app/javascript/geoblacklight/controllers/clipboard_controller.js +6 -6
  64. data/app/javascript/geoblacklight/controllers/downloads_controller.js +37 -29
  65. data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +108 -117
  66. data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +5 -5
  67. data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +27 -30
  68. data/app/javascript/geoblacklight/controllers/search_results_controller.js +18 -18
  69. data/app/javascript/geoblacklight/core.js +33 -36
  70. data/app/javascript/geoblacklight/index.js +10 -10
  71. data/app/javascript/geoblacklight/initializers/metadata_download.js +23 -25
  72. data/app/javascript/geoblacklight/initializers/popovers.js +4 -4
  73. data/app/javascript/geoblacklight/initializers/tooltips.js +19 -23
  74. data/app/javascript/geoblacklight/initializers/truncation.js +18 -18
  75. data/app/javascript/geoblacklight/leaflet/basemaps.js +2 -3
  76. data/app/javascript/geoblacklight/leaflet/constants.js +7 -7
  77. data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +80 -74
  78. data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +74 -73
  79. data/app/javascript/geoblacklight/leaflet/controls/sidebar.js +31 -29
  80. data/app/javascript/geoblacklight/leaflet/controls/sleep.js +54 -51
  81. data/app/javascript/geoblacklight/leaflet/inspection.js +77 -68
  82. data/app/javascript/geoblacklight/leaflet/layer_index_map.js +74 -69
  83. data/app/javascript/geoblacklight/leaflet/layer_wmts.js +14 -16
  84. data/app/javascript/geoblacklight/leaflet/layers.js +59 -66
  85. data/app/javascript/geoblacklight/leaflet/utils.js +37 -43
  86. data/app/javascript/geoblacklight/openlayers/basemaps.js +35 -27
  87. data/app/javascript/geoblacklight/openlayers/inspection.js +23 -23
  88. data/app/javascript/geoblacklight/openlayers/layers.js +11 -11
  89. data/app/models/concerns/geoblacklight/bbox_filter_query.rb +7 -9
  90. data/app/models/concerns/geoblacklight/solr_document.rb +16 -39
  91. data/app/models/concerns/geoblacklight/suppressed_records_search_behavior.rb +3 -3
  92. data/app/views/catalog/_document_split.html.erb +3 -3
  93. data/app/views/catalog/_home_text.html.erb +22 -14
  94. data/app/views/catalog/_metadata.html.erb +1 -1
  95. data/app/views/catalog/index.html.erb +0 -1
  96. data/app/views/catalog/metadata/_markup.html.erb +1 -2
  97. data/app/views/catalog/metadata/_missing.html.erb +2 -2
  98. data/app/views/catalog/web_services.html.erb +1 -1
  99. data/app/views/relation/index.html.erb +4 -2
  100. data/app/views/relation/index.json.jbuilder +1 -1
  101. data/config/initializers/rails_config.rb +0 -3
  102. data/config/locales/geoblacklight.en.yml +79 -78
  103. data/geoblacklight.gemspec +1 -2
  104. data/lib/generators/geoblacklight/assets_generator.rb +35 -26
  105. data/lib/generators/geoblacklight/install_generator.rb +6 -11
  106. data/lib/generators/geoblacklight/templates/assets/customizations.css +6 -0
  107. data/lib/generators/geoblacklight/templates/catalog_controller.rb +97 -73
  108. data/lib/generators/geoblacklight/templates/settings.yml +159 -171
  109. data/lib/geoblacklight/configuration/case_insensitive_settings.rb +59 -0
  110. data/lib/geoblacklight/configuration/default_settings_builder.rb +18 -0
  111. data/lib/geoblacklight/configuration/display_note_shown_config.rb +13 -0
  112. data/lib/geoblacklight/configuration/fields_config.rb +51 -0
  113. data/lib/geoblacklight/configuration/layer_config.rb +28 -0
  114. data/lib/geoblacklight/configuration/leaflet_config.rb +69 -0
  115. data/lib/geoblacklight/configuration/leaflet_layers_config.rb +33 -0
  116. data/lib/geoblacklight/configuration/leaflet_sleep_config.rb +20 -0
  117. data/lib/geoblacklight/configuration/relationship_config.rb +15 -0
  118. data/lib/geoblacklight/configuration/relationships_config.rb +123 -0
  119. data/lib/geoblacklight/configuration/settings_builder.rb +118 -0
  120. data/lib/geoblacklight/configuration.rb +153 -0
  121. data/lib/geoblacklight/deprecation.rb +7 -0
  122. data/lib/geoblacklight/download.rb +2 -2
  123. data/lib/geoblacklight/engine.rb +7 -5
  124. data/lib/geoblacklight/metadata/base.rb +0 -2
  125. data/lib/geoblacklight/metadata_transformer.rb +0 -2
  126. data/lib/geoblacklight/references.rb +5 -4
  127. data/lib/geoblacklight/relation/ancestors.rb +3 -2
  128. data/lib/geoblacklight/relation/descendants.rb +2 -1
  129. data/lib/geoblacklight/relation/relation_response.rb +4 -4
  130. data/lib/geoblacklight/version.rb +1 -1
  131. data/lib/geoblacklight/wms_layer.rb +3 -3
  132. data/lib/geoblacklight.rb +7 -1
  133. data/package.json +10 -31
  134. data/schema/geoblacklight-schema-aardvark.json +1 -9
  135. data/schema/readme.md +3 -4
  136. data/solr/conf/_rest_managed.json +3 -2
  137. data/solr/conf/schema.xml +1 -1
  138. data/spec/components/geoblacklight/arcgis_component_spec.rb +6 -6
  139. data/spec/components/geoblacklight/attribute_table_component_spec.rb +6 -7
  140. data/spec/components/geoblacklight/citation_component_spec.rb +7 -4
  141. data/spec/components/geoblacklight/display_note_component_spec.rb +8 -8
  142. data/spec/components/geoblacklight/document/sidebar_component_spec.rb +48 -0
  143. data/spec/components/geoblacklight/document_component_spec.rb +13 -13
  144. data/spec/components/geoblacklight/download_links_component_spec.rb +17 -14
  145. data/spec/components/geoblacklight/header_icons_component_spec.rb +6 -11
  146. data/spec/components/geoblacklight/homepage_feature_facet_component_spec.rb +22 -30
  147. data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +3 -3
  148. data/spec/components/geoblacklight/index_map_legend_component_spec.rb +5 -18
  149. data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +5 -5
  150. data/spec/components/geoblacklight/login_link_component_spec.rb +5 -6
  151. data/spec/components/geoblacklight/search_result_component_spec.rb +2 -6
  152. data/spec/components/geoblacklight/static_map_component_spec.rb +2 -2
  153. data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +4 -6
  154. data/spec/components/geoblacklight/web_services_component_spec.rb +11 -10
  155. data/spec/controllers/catalog_controller_spec.rb +7 -7
  156. data/spec/controllers/download_controller_spec.rb +1 -1
  157. data/spec/controllers/relation_controller_spec.rb +1 -1
  158. data/spec/controllers/wms_controller_spec.rb +1 -1
  159. data/spec/features/axe_spec.rb +4 -4
  160. data/spec/features/bookmarks_spec.rb +1 -1
  161. data/spec/features/citations_spec.rb +1 -1
  162. data/spec/features/configurable_basemap_spec.rb +1 -1
  163. data/spec/features/data_dictionary_download_spec.rb +1 -1
  164. data/spec/features/download_layer_spec.rb +1 -1
  165. data/spec/features/empty_search_spec.rb +1 -1
  166. data/spec/features/esri_viewer_spec.rb +1 -1
  167. data/spec/features/exports_spec.rb +1 -1
  168. data/spec/features/full_screen_control_spec.rb +3 -10
  169. data/spec/features/help_text_spec.rb +1 -1
  170. data/spec/features/home_page_spec.rb +1 -1
  171. data/spec/features/index_map_spec.rb +3 -3
  172. data/spec/features/index_view_spec.rb +7 -7
  173. data/spec/features/layer_inspection_spec.rb +1 -1
  174. data/spec/features/layer_opacity_spec.rb +1 -1
  175. data/spec/features/layer_preview_spec.rb +1 -1
  176. data/spec/features/layer_with_no_references_spec.rb +1 -1
  177. data/spec/features/linkified_attribute_table_spec.rb +1 -1
  178. data/spec/features/metadata_panel_spec.rb +1 -1
  179. data/spec/features/missing_metadata_spec.rb +1 -1
  180. data/spec/features/multiple_downloads_spec.rb +1 -1
  181. data/spec/features/oembed_spec.rb +1 -1
  182. data/spec/features/relations_spec.rb +2 -2
  183. data/spec/features/saved_searches_spec.rb +1 -1
  184. data/spec/features/search_bar_spec.rb +1 -1
  185. data/spec/features/search_results_complex_geometry_spec.rb +1 -1
  186. data/spec/features/search_results_icons_spec.rb +3 -4
  187. data/spec/features/search_results_map_spec.rb +1 -1
  188. data/spec/features/search_results_overlap_ratio_spec.rb +3 -3
  189. data/spec/features/search_spec.rb +1 -1
  190. data/spec/features/show_page_download_spec.rb +1 -1
  191. data/spec/features/show_page_metadata_spec.rb +2 -2
  192. data/spec/features/sms_spec.rb +1 -1
  193. data/spec/features/suppressed_records_spec.rb +1 -1
  194. data/spec/features/tilejson_spec.rb +1 -1
  195. data/spec/features/tms_spec.rb +1 -1
  196. data/spec/features/web_services_modal_spec.rb +1 -1
  197. data/spec/features/wmts_spec.rb +1 -1
  198. data/spec/features/xyz_spec.rb +1 -1
  199. data/spec/fixtures/manifests/tilejson.json +10 -19
  200. data/spec/fixtures/metadata/fgdc.html +1 -1
  201. data/spec/fixtures/metadata/iso.html +1 -1
  202. data/spec/fixtures/solr_documents/README.md +0 -1
  203. data/spec/fixtures/solr_documents/actual-papermap1.json +9 -28
  204. data/spec/fixtures/solr_documents/actual-point1.json +12 -39
  205. data/spec/fixtures/solr_documents/actual-polygon1.json +10 -30
  206. data/spec/fixtures/solr_documents/actual-raster1.json +14 -46
  207. data/spec/fixtures/solr_documents/all-relationships.json +12 -36
  208. data/spec/fixtures/solr_documents/b1g_iiif_manifest.json +33 -62
  209. data/spec/fixtures/solr_documents/b1g_wabash_child_15.json +13 -40
  210. data/spec/fixtures/solr_documents/b1g_wabash_child_16.json +13 -40
  211. data/spec/fixtures/solr_documents/b1g_wabash_child_17.json +13 -40
  212. data/spec/fixtures/solr_documents/b1g_wabash_child_18.json +13 -40
  213. data/spec/fixtures/solr_documents/b1g_wabash_parent.json +13 -40
  214. data/spec/fixtures/solr_documents/baruch_ancestor1.json +13 -40
  215. data/spec/fixtures/solr_documents/baruch_ancestor2.json +13 -40
  216. data/spec/fixtures/solr_documents/baruch_documentation_download.json +14 -46
  217. data/spec/fixtures/solr_documents/bbox-spans-180.json +7 -21
  218. data/spec/fixtures/solr_documents/complex-geom.json +11 -37
  219. data/spec/fixtures/solr_documents/cornell_html_metadata.json +12 -37
  220. data/spec/fixtures/solr_documents/display-note.json +11 -33
  221. data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +13 -39
  222. data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +13 -40
  223. data/spec/fixtures/solr_documents/esri-feature-layer.json +13 -39
  224. data/spec/fixtures/solr_documents/esri-image-map-layer.json +13 -40
  225. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +16 -54
  226. data/spec/fixtures/solr_documents/esri-wms-layer.json +12 -36
  227. data/spec/fixtures/solr_documents/harvard_raster.json +12 -37
  228. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +9 -27
  229. data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +12 -41
  230. data/spec/fixtures/solr_documents/index-map-polygon.json +12 -41
  231. data/spec/fixtures/solr_documents/index-map-stanford.json +14 -45
  232. data/spec/fixtures/solr_documents/index-map-v1-complex.json +13 -38
  233. data/spec/fixtures/solr_documents/index_map_point.json +13 -42
  234. data/spec/fixtures/solr_documents/metadata_no_geom.json +4 -14
  235. data/spec/fixtures/solr_documents/metadata_no_provider.json +8 -25
  236. data/spec/fixtures/solr_documents/multiple-downloads.json +6 -18
  237. data/spec/fixtures/solr_documents/no_locn_geometry.json +4 -12
  238. data/spec/fixtures/solr_documents/no_spatial.json +4 -12
  239. data/spec/fixtures/solr_documents/oembed.json +8 -25
  240. data/spec/fixtures/solr_documents/princeton-child1.json +9 -29
  241. data/spec/fixtures/solr_documents/princeton-child2.json +9 -29
  242. data/spec/fixtures/solr_documents/princeton-child3.json +9 -29
  243. data/spec/fixtures/solr_documents/princeton-child4.json +9 -29
  244. data/spec/fixtures/solr_documents/princeton-parent.json +10 -33
  245. data/spec/fixtures/solr_documents/public_cog_princeton.json +9 -27
  246. data/spec/fixtures/solr_documents/public_iiif_princeton.json +13 -43
  247. data/spec/fixtures/solr_documents/public_pmtiles_princeton.json +29 -39
  248. data/spec/fixtures/solr_documents/public_polygon_mit.json +9 -30
  249. data/spec/fixtures/solr_documents/restricted-line.json +14 -47
  250. data/spec/fixtures/solr_documents/the-related-record.json +4 -12
  251. data/spec/fixtures/solr_documents/tilejson.json +23 -46
  252. data/spec/fixtures/solr_documents/tms.json +7 -21
  253. data/spec/fixtures/solr_documents/umn_metro_result1.json +13 -41
  254. data/spec/fixtures/solr_documents/umn_state_result1.json +13 -39
  255. data/spec/fixtures/solr_documents/umn_state_result2.json +13 -39
  256. data/spec/fixtures/solr_documents/uva_slug_colon.json +10 -30
  257. data/spec/fixtures/solr_documents/wmts-multiple.json +23 -39
  258. data/spec/fixtures/solr_documents/wmts-single-layer.json +23 -46
  259. data/spec/fixtures/solr_documents/xyz.json +10 -33
  260. data/spec/helpers/geoblacklight_helper_spec.rb +5 -50
  261. data/spec/javascripts/geoblacklight_spec.js +10 -10
  262. data/spec/javascripts/metadata_download_button_spec.js +14 -13
  263. data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -1
  264. data/spec/lib/geoblacklight/configuration/default_settings_builder_spec.rb +9 -0
  265. data/spec/lib/geoblacklight/configuration/layer_config_spec.rb +71 -0
  266. data/spec/lib/geoblacklight/configuration/leaflet_layers_config_spec.rb +63 -0
  267. data/spec/lib/geoblacklight/configuration/settings_builder_spec.rb +177 -0
  268. data/spec/lib/geoblacklight/configuration_spec.rb +48 -0
  269. data/spec/lib/geoblacklight/download/csv_download_spec.rb +2 -2
  270. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +2 -2
  271. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +5 -2
  272. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +2 -2
  273. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +2 -2
  274. data/spec/lib/geoblacklight/download_spec.rb +15 -6
  275. data/spec/lib/geoblacklight/geometry_spec.rb +1 -1
  276. data/spec/lib/geoblacklight/item_viewer_spec.rb +2 -2
  277. data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -1
  278. data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -1
  279. data/spec/lib/geoblacklight/metadata_spec.rb +1 -1
  280. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +1 -1
  281. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +1 -1
  282. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +1 -1
  283. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +1 -1
  284. data/spec/lib/geoblacklight/reference_spec.rb +1 -1
  285. data/spec/lib/geoblacklight/references_spec.rb +6 -4
  286. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +10 -4
  287. data/spec/lib/geoblacklight/relation/descendants_spec.rb +9 -4
  288. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +16 -19
  289. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +1 -1
  290. data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -1
  291. data/spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb +20 -11
  292. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
  293. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -1
  294. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -1
  295. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +4 -39
  296. data/spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb +2 -2
  297. data/spec/routing/catalog_routing_spec.rb +1 -1
  298. data/spec/spec_helper.rb +26 -10
  299. data/spec/tasks/geoblacklight_spec.rb +1 -1
  300. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -3
  301. metadata +44 -187
  302. data/Procfile.dev +0 -3
  303. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +0 -2
  304. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +0 -31
  305. data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +0 -40
  306. data/app/assets/stylesheets/geoblacklight/modules/_styles.scss +0 -9
  307. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +0 -62
  308. data/app/assets/stylesheets/geoblacklight/modules/geosearch.scss +0 -23
  309. data/app/assets/stylesheets/geoblacklight/modules/home.scss +0 -13
  310. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +0 -116
  311. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +0 -61
  312. data/app/assets/stylesheets/geoblacklight/modules/item.scss +0 -78
  313. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +0 -87
  314. data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +0 -4
  315. data/app/assets/stylesheets/geoblacklight/modules/metadata.scss +0 -31
  316. data/app/assets/stylesheets/geoblacklight/modules/metadata_content.scss +0 -43
  317. data/app/assets/stylesheets/geoblacklight/modules/metadata_markup.scss +0 -9
  318. data/app/assets/stylesheets/geoblacklight/modules/metadata_missing.scss +0 -7
  319. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -5
  320. data/app/assets/stylesheets/geoblacklight/modules/results.scss +0 -60
  321. data/app/assets/stylesheets/geoblacklight/modules/search_widgets.scss +0 -5
  322. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +0 -42
  323. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +0 -34
  324. data/app/assets/stylesheets/geoblacklight/modules/web_services.scss +0 -5
  325. data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +0 -46
  326. data/app/components/blacklight/icons/arizona_component.rb +0 -24
  327. data/app/components/blacklight/icons/baruch_cuny_component.rb +0 -23
  328. data/app/components/blacklight/icons/bookmark_component.rb +0 -23
  329. data/app/components/blacklight/icons/circle_info_solid_component.rb +0 -23
  330. data/app/components/blacklight/icons/columbia_component.rb +0 -23
  331. data/app/components/blacklight/icons/cornell_component.rb +0 -25
  332. data/app/components/blacklight/icons/george_mason_component.rb +0 -24
  333. data/app/components/blacklight/icons/harvard_component.rb +0 -23
  334. data/app/components/blacklight/icons/indiana_component.rb +0 -23
  335. data/app/components/blacklight/icons/lewis_clark_component.rb +0 -25
  336. data/app/components/blacklight/icons/massgis_component.rb +0 -23
  337. data/app/components/blacklight/icons/michigan_state_university_component.rb +0 -25
  338. data/app/components/blacklight/icons/mit_component.rb +0 -23
  339. data/app/components/blacklight/icons/northwestern_university_component.rb +0 -24
  340. data/app/components/blacklight/icons/nyu_component.rb +0 -26
  341. data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +0 -25
  342. data/app/components/blacklight/icons/princeton_component.rb +0 -23
  343. data/app/components/blacklight/icons/purdue_university_component.rb +0 -25
  344. data/app/components/blacklight/icons/rutgers_component.rb +0 -25
  345. data/app/components/blacklight/icons/sms_component.rb +0 -23
  346. data/app/components/blacklight/icons/stanford_component.rb +0 -23
  347. data/app/components/blacklight/icons/texas_component.rb +0 -23
  348. data/app/components/blacklight/icons/the_ohio_state_university_component.rb +0 -26
  349. data/app/components/blacklight/icons/tufts_component.rb +0 -23
  350. data/app/components/blacklight/icons/ucla_component.rb +0 -23
  351. data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +0 -24
  352. data/app/components/blacklight/icons/university_of_chicago_component.rb +0 -25
  353. data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +0 -26
  354. data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +0 -25
  355. data/app/components/blacklight/icons/university_of_iowa_component.rb +0 -24
  356. data/app/components/blacklight/icons/university_of_maryland_component.rb +0 -24
  357. data/app/components/blacklight/icons/university_of_michigan_component.rb +0 -24
  358. data/app/components/blacklight/icons/university_of_minnesota_component.rb +0 -24
  359. data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +0 -27
  360. data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +0 -24
  361. data/app/components/blacklight/icons/uva_component.rb +0 -23
  362. data/app/components/geoblacklight/icon_facet_item_component.rb +0 -33
  363. data/app/components/geoblacklight/web_services_link_component.html.erb +0 -3
  364. data/app/javascript/geoblacklight/initializers/relations.js +0 -40
  365. data/app/views/catalog/_relations_container.html.erb +0 -1
  366. data/bin/vite +0 -29
  367. data/config/initializers/new_gbl_settings_defaults_4.1.yml +0 -104
  368. data/lib/generators/geoblacklight/assets/importmap_generator.rb +0 -73
  369. data/lib/generators/geoblacklight/assets/vite_generator.rb +0 -89
  370. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +0 -23
  371. data/lib/generators/geoblacklight/templates/assets/application.js +0 -17
  372. data/lib/generators/geoblacklight/templates/assets/application.scss +0 -9
  373. data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +0 -11
  374. data/lib/generators/geoblacklight/templates/base.html.erb +0 -46
  375. data/lib/generators/geoblacklight/templates/vite.config.ts +0 -23
  376. data/lib/generators/geoblacklight/templates/vite.json +0 -16
  377. data/schema/geoblacklight-schema-1.0.json +0 -214
  378. data/solr/conf/xslt/example.xsl +0 -132
  379. data/solr/conf/xslt/example_atom.xsl +0 -67
  380. data/solr/conf/xslt/example_rss.xsl +0 -66
  381. data/solr/conf/xslt/luke.xsl +0 -337
  382. data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +0 -15
  383. data/spec/components/blacklight/icons/arizona_component_spec.rb +0 -15
  384. data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +0 -15
  385. data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +0 -15
  386. data/spec/components/blacklight/icons/book_component_spec.rb +0 -15
  387. data/spec/components/blacklight/icons/bookmark_component_spec.rb +0 -15
  388. data/spec/components/blacklight/icons/cd_rom_component_spec.rb +0 -15
  389. data/spec/components/blacklight/icons/child_item_component_spec.rb +0 -15
  390. data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +0 -15
  391. data/spec/components/blacklight/icons/citation_component_spec.rb +0 -15
  392. data/spec/components/blacklight/icons/collection_component_spec.rb +0 -15
  393. data/spec/components/blacklight/icons/collections_component_spec.rb +0 -15
  394. data/spec/components/blacklight/icons/columbia_component_spec.rb +0 -15
  395. data/spec/components/blacklight/icons/cornell_component_spec.rb +0 -15
  396. data/spec/components/blacklight/icons/datasets_component_spec.rb +0 -15
  397. data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +0 -15
  398. data/spec/components/blacklight/icons/email_component_spec.rb +0 -15
  399. data/spec/components/blacklight/icons/esri_globe_component_spec.rb +0 -15
  400. data/spec/components/blacklight/icons/fire_solid_component_spec.rb +0 -15
  401. data/spec/components/blacklight/icons/george_mason_component_spec.rb +0 -15
  402. data/spec/components/blacklight/icons/globe_component_spec.rb +0 -15
  403. data/spec/components/blacklight/icons/harvard_component_spec.rb +0 -15
  404. data/spec/components/blacklight/icons/home_component_spec.rb +0 -15
  405. data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +0 -15
  406. data/spec/components/blacklight/icons/image_component_spec.rb +0 -15
  407. data/spec/components/blacklight/icons/imagery_component_spec.rb +0 -15
  408. data/spec/components/blacklight/icons/indiana_component_spec.rb +0 -15
  409. data/spec/components/blacklight/icons/leaf_component_spec.rb +0 -15
  410. data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +0 -15
  411. data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +0 -15
  412. data/spec/components/blacklight/icons/line_component_spec.rb +0 -15
  413. data/spec/components/blacklight/icons/map_component_spec.rb +0 -15
  414. data/spec/components/blacklight/icons/map_marker_component_spec.rb +0 -15
  415. data/spec/components/blacklight/icons/maps_component_spec.rb +0 -15
  416. data/spec/components/blacklight/icons/massgis_component_spec.rb +0 -15
  417. data/spec/components/blacklight/icons/metadata_component_spec.rb +0 -15
  418. data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +0 -15
  419. data/spec/components/blacklight/icons/mit_component_spec.rb +0 -15
  420. data/spec/components/blacklight/icons/mixed_component_spec.rb +0 -15
  421. data/spec/components/blacklight/icons/multilinestring_component_spec.rb +0 -15
  422. data/spec/components/blacklight/icons/multipoint_component_spec.rb +0 -15
  423. data/spec/components/blacklight/icons/multipolygon_component_spec.rb +0 -15
  424. data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +0 -15
  425. data/spec/components/blacklight/icons/nyu_component_spec.rb +0 -15
  426. data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +0 -15
  427. data/spec/components/blacklight/icons/paper_map_component_spec.rb +0 -15
  428. data/spec/components/blacklight/icons/parent_item_component_spec.rb +0 -15
  429. data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +0 -15
  430. data/spec/components/blacklight/icons/point_component_spec.rb +0 -15
  431. data/spec/components/blacklight/icons/polygon_component_spec.rb +0 -15
  432. data/spec/components/blacklight/icons/polyline_component_spec.rb +0 -15
  433. data/spec/components/blacklight/icons/princeton_component_spec.rb +0 -15
  434. data/spec/components/blacklight/icons/public_component_spec.rb +0 -15
  435. data/spec/components/blacklight/icons/purdue_university_component_spec.rb +0 -15
  436. data/spec/components/blacklight/icons/raster_component_spec.rb +0 -15
  437. data/spec/components/blacklight/icons/restricted_component_spec.rb +0 -15
  438. data/spec/components/blacklight/icons/rutgers_component_spec.rb +0 -15
  439. data/spec/components/blacklight/icons/sms_component_spec.rb +0 -15
  440. data/spec/components/blacklight/icons/stanford_component_spec.rb +0 -15
  441. data/spec/components/blacklight/icons/table_component_spec.rb +0 -15
  442. data/spec/components/blacklight/icons/tags_component_spec.rb +0 -15
  443. data/spec/components/blacklight/icons/texas_component_spec.rb +0 -15
  444. data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +0 -15
  445. data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +0 -15
  446. data/spec/components/blacklight/icons/tufts_component_spec.rb +0 -15
  447. data/spec/components/blacklight/icons/ucla_component_spec.rb +0 -15
  448. data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +0 -15
  449. data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +0 -15
  450. data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +0 -15
  451. data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +0 -15
  452. data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +0 -15
  453. data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +0 -15
  454. data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +0 -15
  455. data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +0 -15
  456. data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +0 -15
  457. data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +0 -15
  458. data/spec/components/blacklight/icons/uva_component_spec.rb +0 -15
  459. data/spec/components/blacklight/icons/web_services_component_spec.rb +0 -15
  460. data/spec/components/blacklight/icons/websites_component_spec.rb +0 -15
  461. data/spec/components/geoblacklight/icon_facet_item_component_spec.rb +0 -18
  462. data/spec/config/initializers/rails_config_spec.rb +0 -16
  463. data/spec/features/show_page_sidebar_static_map_spec.rb +0 -21
  464. data/spec/fixtures/solr_documents/public_direct_download.json +0 -62
  465. data/spec/support/backport_test_helpers.rb +0 -47
  466. data/spec/support/view_component_capybara_test_helpers.rb +0 -8
  467. data/vite.config.ts +0 -32
  468. /data/app/assets/images/{blacklight → geoblacklight}/logo.svg +0 -0
@@ -1,23 +1,25 @@
1
1
  # ArcGIS Online Base URL
2
- ARCGIS_BASE_URL: 'https://www.arcgis.com/apps/mapviewer/index.html'
2
+ arcgis_base_url: "https://www.arcgis.com/apps/mapviewer/index.html"
3
3
 
4
4
  # Download path can be configured using this setting
5
- #DOWNLOAD_PATH: "./tmp/cache/downloads"
5
+ #download_path: "./tmp/cache/downloads"
6
6
 
7
7
  # The bq boost value for spatial search matches within a bounding box
8
- BBOX_WITHIN_BOOST: '10'
8
+ bbox_within_boost: "10"
9
9
 
10
10
  # The bf boost value for overlap ratio
11
- OVERLAP_RATIO_BOOST: '2'
11
+ overlap_ratio_boost: "2"
12
12
 
13
13
  # Homepage Map Geometry
14
14
  # Leave null to default to entire world
15
15
  # Add a stringified GeoJSON object to scope initial render (example from UMass)
16
- HOMEPAGE_MAP_GEOM: null
17
- # HOMEPAGE_MAP_GEOM: '{"type":"Polygon","coordinates":[[[-73.58,42.93],[-73.58,41.20],[-69.90,41.20],[-69.90,42.93]]]}'
16
+ homepage_map_geom: null
17
+ # homepage_map_geom: '{"type":"Polygon","coordinates":[[[-73.58,42.93],[-73.58,41.20],[-69.90,41.20],[-69.90,42.93]]]}'
18
18
 
19
- # Non-search-field GeoBlacklight application permitted params
20
- GBL_PARAMS:
19
+ # Non-search-field GeoBlacklight application permitted params.
20
+ # Values are left mixed-case on purpose: the uppercase symbols are WMS/OGC
21
+ # request parameter names (BBOX, WIDTH, etc.) and must match what clients send.
22
+ gbl_params:
21
23
  - :bbox
22
24
  - :email
23
25
  - :file
@@ -36,88 +38,84 @@ GBL_PARAMS:
36
38
  - :Y
37
39
 
38
40
  # Solr field mappings
39
- FIELDS:
40
- :ACCESS_RIGHTS: 'dct_accessRights_s'
41
- :ALTERNATIVE_TITLE: 'dct_alternative_sm'
42
- :CENTROID: 'dcat_centroid'
43
- :CREATOR: 'dct_creator_sm'
44
- :DATE_ISSUED: 'dct_issued_s'
45
- :DATE_RANGE: 'gbl_dateRange_drsim'
46
- :DESCRIPTION: 'dct_description_sm'
47
- :DISPLAY_NOTE: 'gbl_displayNote_sm'
48
- :FORMAT: 'dct_format_s'
49
- :FILE_SIZE: 'gbl_fileSize_s'
50
- :GEOREFERENCED: 'gbl_georeferenced_b'
51
- :ID: 'id'
52
- :IDENTIFIER: 'dct_identifier_sm'
53
- :INDEX_YEAR: 'gbl_indexYear_im'
54
- :IS_PART_OF: 'dct_isPartOf_sm'
55
- :IS_REPLACED_BY: 'dct_isReplacedBy_sm'
56
- :THEME: 'dcat_theme_sm'
57
- :KEYWORD: 'dcat_keyword_sm'
58
- :LANGUAGE: 'dct_language_sm'
59
- :LAYER_MODIFIED: 'gbl_mdModified_dt'
60
- :LICENSE: 'dct_license_sm'
61
- :MEMBER_OF: 'pcdm_memberOf_sm'
62
- :METADATA_VERSION: 'gbl_mdVersion_s'
63
- :MODIFIED: 'gbl_mdModified_dt'
64
- :OVERLAP_FIELD: 'solr_bboxtype'
65
- :PUBLISHER: 'dct_publisher_sm'
66
- :PROVIDER: 'schema_provider_s'
67
- :REFERENCES: 'dct_references_s'
68
- :RELATION: 'dct_relation_sm'
69
- :REPLACES: 'dct_replaces_sm'
70
- :RESOURCE_CLASS: 'gbl_resourceClass_sm'
71
- :RESOURCE_TYPE: 'gbl_resourceType_sm'
72
- :RIGHTS: 'dct_rights_sm'
73
- :RIGHTS_HOLDER: 'dct_rightsHolder_sm'
74
- :SOURCE: 'dct_source_sm'
75
- :SPATIAL_COVERAGE: 'dct_spatial_sm'
76
- :GEOMETRY: 'locn_geometry'
77
- :SUBJECT: 'dct_subject_sm'
78
- :SUPPRESSED: 'gbl_suppressed_b'
79
- :TEMPORAL_COVERAGE: 'dct_temporal_sm'
80
- :TITLE: 'dct_title_s'
81
- :VERSION: 'dct_isVersionOf_sm'
82
- :WXS_IDENTIFIER: 'gbl_wxsIdentifier_s'
41
+ fields:
42
+ access_rights: "dct_accessRights_s"
43
+ alternative_title: "dct_alternative_sm"
44
+ centroid: "dcat_centroid"
45
+ creator: "dct_creator_sm"
46
+ date_issued: "dct_issued_s"
47
+ date_range: "gbl_dateRange_drsim"
48
+ description: "dct_description_sm"
49
+ display_note: "gbl_displayNote_sm"
50
+ format: "dct_format_s"
51
+ file_size: "gbl_fileSize_s"
52
+ georeferenced: "gbl_georeferenced_b"
53
+ id: "id"
54
+ identifier: "dct_identifier_sm"
55
+ index_year: "gbl_indexYear_im"
56
+ is_part_of: "dct_isPartOf_sm"
57
+ is_replaced_by: "dct_isReplacedBy_sm"
58
+ theme: "dcat_theme_sm"
59
+ keyword: "dcat_keyword_sm"
60
+ language: "dct_language_sm"
61
+ license: "dct_license_sm"
62
+ member_of: "pcdm_memberOf_sm"
63
+ metadata_version: "gbl_mdVersion_s"
64
+ modified: "gbl_mdModified_dt"
65
+ overlap_field: "solr_bboxtype"
66
+ publisher: "dct_publisher_sm"
67
+ provider: "schema_provider_s"
68
+ references: "dct_references_s"
69
+ relation: "dct_relation_sm"
70
+ replaces: "dct_replaces_sm"
71
+ resource_class: "gbl_resourceClass_sm"
72
+ resource_type: "gbl_resourceType_sm"
73
+ rights: "dct_rights_sm"
74
+ rights_holder: "dct_rightsHolder_sm"
75
+ source: "dct_source_sm"
76
+ spatial_coverage: "dct_spatial_sm"
77
+ geometry: "locn_geometry"
78
+ subject: "dct_subject_sm"
79
+ suppressed: "gbl_suppressed_b"
80
+ temporal_coverage: "dct_temporal_sm"
81
+ title: "dct_title_s"
82
+ version: "dct_isVersionOf_sm"
83
+ wxs_identifier: "gbl_wxsIdentifier_s"
83
84
 
84
85
  # Institution deployed at
85
- INSTITUTION: 'Stanford'
86
+ institution: "Stanford"
86
87
 
87
88
  # Metadata shown in tool panel
88
- METADATA_SHOWN:
89
- - 'mods'
90
- - 'fgdc'
91
- - 'iso19139'
92
- - 'html'
89
+ metadata_shown:
90
+ - "mods"
91
+ - "fgdc"
92
+ - "iso19139"
93
+ - "html"
93
94
 
94
95
  # (For external Download) timeout and open_timeout parameters for Faraday
95
- TIMEOUT_DOWNLOAD: 180
96
+ timeout_download: 180
96
97
 
97
98
  # (For WMS inspection) timeout and open_timeout parameters for Faraday
98
- TIMEOUT_WMS: 4
99
-
100
- # Use the geometry type for the data relations icon
101
- USE_GEOM_FOR_RELATIONS_ICON: false
99
+ timeout_wms: 4
102
100
 
103
101
  # Web services shown in tool panel
104
- WEBSERVICES_SHOWN:
105
- - 'wms'
106
- - 'tms'
107
- - 'wfs'
108
- - 'xyz'
109
- - 'wmts'
110
- - 'tilejson'
111
- - 'iiif'
112
- - 'feature_layer'
113
- - 'tiled_map_layer'
114
- - 'dynamic_map_layer'
115
- - 'image_map_layer'
116
- - 'cog'
117
- - 'pmtiles'
102
+ webservices_shown:
103
+ - "wms"
104
+ - "tms"
105
+ - "wfs"
106
+ - "xyz"
107
+ - "wmts"
108
+ - "tilejson"
109
+ - "iiif"
110
+ - "feature_layer"
111
+ - "tiled_map_layer"
112
+ - "dynamic_map_layer"
113
+ - "image_map_layer"
114
+ - "cog"
115
+ - "pmtiles"
118
116
 
119
117
  # Display Notes to display / Non-prefixed default bootstrap class is alert-secondary
120
- DISPLAY_NOTES_SHOWN:
118
+ display_notes_shown:
121
119
  danger:
122
120
  bootstrap_alert_class: alert-danger
123
121
  icon: fire-solid
@@ -136,121 +134,125 @@ DISPLAY_NOTES_SHOWN:
136
134
  note_prefix: "Warning: "
137
135
 
138
136
  # Relationships to display
139
- RELATIONSHIPS_SHOWN:
140
- MEMBER_OF_ANCESTORS:
137
+ relationships_shown:
138
+ member_of_ancestors:
141
139
  field: pcdm_memberOf_sm
142
140
  icon: parent-item
143
- inverse: :MEMBER_OF_DESCENDANTS
141
+ inverse: :member_of_descendants
144
142
  label: geoblacklight.relations.member_of_ancestors
145
143
  query_type: ancestors
146
- MEMBER_OF_DESCENDANTS:
144
+ member_of_descendants:
147
145
  field: pcdm_memberOf_sm
148
146
  icon: child-item
149
- inverse: :MEMBER_OF_ANCESTORS
147
+ inverse: :member_of_ancestors
150
148
  label: geoblacklight.relations.member_of_descendants
151
149
  query_type: descendants
152
- PART_OF_ANCESTORS:
150
+ part_of_ancestors:
153
151
  field: dct_isPartOf_sm
154
152
  icon: parent-item
155
- inverse: :PART_OF_DESCENDANTS
153
+ inverse: :part_of_descendants
156
154
  label: geoblacklight.relations.part_of_ancestors
157
155
  query_type: ancestors
158
- PART_OF_DESCENDANTS:
156
+ part_of_descendants:
159
157
  field: dct_isPartOf_sm
160
158
  icon: child-item
161
- inverse: :PART_OF_ANCESTORS
159
+ inverse: :part_of_ancestors
162
160
  label: geoblacklight.relations.part_of_descendants
163
161
  query_type: descendants
164
- RELATION_ANCESTORS:
162
+ relation_ancestors:
165
163
  field: dct_relation_sm
166
164
  icon: nil
167
- inverse: :RELATION_DESCENDANTS
165
+ inverse: :relation_descendants
168
166
  label: geoblacklight.relations.relation_ancestors
169
167
  query_type: ancestors
170
- RELATION_DESCENDANTS:
168
+ relation_descendants:
171
169
  field: dct_relation_sm
172
170
  icon: nil
173
- inverse: :RELATION_ANCESTORS
171
+ inverse: :relation_ancestors
174
172
  label: geoblacklight.relations.relation_descendants
175
173
  query_type: descendants
176
- REPLACES_ANCESTORS:
174
+ replaces_ancestors:
177
175
  field: dct_replaces_sm
178
176
  icon: nil
179
- inverse: :REPLACES_DESCENDANTS
177
+ inverse: :replaces_descendants
180
178
  label: geoblacklight.relations.replaces_ancestors
181
179
  query_type: ancestors
182
- REPLACES_DESCENDANTS:
180
+ replaces_descendants:
183
181
  field: dct_replaces_sm
184
182
  icon: nil
185
- inverse: :REPLACES_ANCESTORS
183
+ inverse: :replaces_ancestors
186
184
  label: geoblacklight.relations.replaces_descendants
187
185
  query_type: descendants
188
- SOURCE_ANCESTORS:
186
+ source_ancestors:
189
187
  field: dct_source_sm
190
188
  icon: parent-item
191
- inverse: :SOURCE_DESCENDANTS
189
+ inverse: :source_descendants
192
190
  label: geoblacklight.relations.source_ancestors
193
191
  query_type: ancestors
194
- SOURCE_DESCENDANTS:
192
+ source_descendants:
195
193
  field: dct_source_sm
196
194
  icon: child-item
197
- inverse: :SOURCE_ANCESTORS
195
+ inverse: :source_ancestors
198
196
  label: geoblacklight.relations.source_descendants
199
197
  query_type: descendants
200
- VERSION_OF_ANCESTORS:
198
+ version_of_ancestors:
201
199
  field: dct_isVersionOf_sm
202
200
  icon: parent-item
203
- inverse: :VERSION_OF_DESCENDANTS
201
+ inverse: :version_of_descendants
204
202
  label: geoblacklight.relations.version_of_ancestors
205
203
  query_type: ancestors
206
- VERSION_OF_DESCENDANTS:
204
+ version_of_descendants:
207
205
  field: dct_isVersionOf_sm
208
206
  icon: child-item
209
- inverse: :VERSION_OF_ANCESTORS
207
+ inverse: :version_of_ancestors
210
208
  label: geoblacklight.relations.version_of_descendants
211
209
  query_type: descendants
212
210
 
213
211
  # Vector data download formats to be displayed
214
- DOWNLOAD_FORMATS:
215
- VECTOR:
216
- - 'Shapefile'
217
- - 'KMZ'
218
- - 'GeoJSON'
219
- - 'CSV'
212
+ download_formats:
213
+ vector:
214
+ - "Shapefile"
215
+ - "KMZ"
216
+ - "GeoJSON"
217
+ - "CSV"
220
218
 
221
- # WMS Parameters
222
- WMS_PARAMS:
223
- :SERVICE: 'WMS'
224
- :VERSION: '1.1.1'
225
- :REQUEST: 'GetFeatureInfo'
226
- :STYLES: ''
227
- :SRS: 'EPSG:4326'
228
- :EXCEPTIONS: 'application/json'
229
- :INFO_FORMAT: 'application/json'
219
+ # WMS Parameters. Keys are OGC WMS request parameter names and are sent to
220
+ # remote WMS servers, so they are intentionally left uppercase.
221
+ wms_params:
222
+ SERVICE: "WMS"
223
+ VERSION: "1.1.1"
224
+ REQUEST: "GetFeatureInfo"
225
+ STYLES: ""
226
+ SRS: "EPSG:4326"
227
+ EXCEPTIONS: "application/json"
228
+ INFO_FORMAT: "application/json"
230
229
 
231
230
  # Settings for leaflet
232
- LEAFLET:
233
- MAP:
234
- BOUNDSOVERLAY:
231
+ leaflet:
232
+ # Keys below are consumed by the JS viewer via the page value
233
+ # ("INDEX" / "SHOW" / "STATIC_MAP"), so they are intentionally left uppercase.
234
+ boundsoverlay:
235
235
  INDEX:
236
- color: '#3388ff'
236
+ color: "#3388ff"
237
237
  SHOW:
238
- color: '#3388ff'
238
+ color: "#3388ff"
239
239
  STATIC_MAP:
240
- color: '#3388ff'
241
- SELECTED_COLOR: "#2C7FB8"
242
- SLEEP:
243
- SLEEP: true # set to false to disable
244
- MARGIN_DISTANCE: 100 # set to zero / false if you want to disable this check
245
- SLEEPTIME: 750
246
- WAKETIME: 750
247
- HOVERTOWAKE: false
248
- MESSAGE: 'Click to Wake'
249
- BACKGROUND: 'rgba(214, 214, 214, .7)'
250
- SIDEBAR: false # set to true to display attribute table as sidebar on map
251
- LAYERS:
252
- DETECT_RETINA: true
253
- INDEX:
240
+ color: "#3388ff"
241
+ selected_color: "#2C7FB8"
242
+ sleep:
243
+ sleep: true # set to false to disable
244
+ margin_distance: 100 # set to zero / false if you want to disable this check
245
+ sleeptime: 750
246
+ waketime: 750
247
+ hovertowake: false
248
+ message: "Click to Wake"
249
+ background: "rgba(214, 214, 214, .7)"
250
+ sidebar: false # set to true to display attribute table as sidebar on map
251
+ layers:
252
+ detect_retina: true
253
+ index:
254
+ # DEFAULT / UNAVAILABLE / SELECTED are consumed by the JS viewer and the
255
+ # index-map legend, so they are intentionally left uppercase.
254
256
  DEFAULT: &default
255
257
  color: "#7FCDBB"
256
258
  weight: 1
@@ -266,41 +268,27 @@ LEAFLET:
266
268
  sr_color_name: "Blue"
267
269
 
268
270
  # Toggle the help text feature that offers users context
269
- HELP_TEXT:
271
+ help_text:
270
272
  viewer_protocol:
271
- - 'cog'
272
- - 'dynamic_map_layer'
273
- - 'feature_layer'
274
- - 'iiif'
275
- - 'iiif_manifest'
276
- - 'image_map_layer'
277
- - 'index_map'
278
- - 'oembed'
279
- - 'pmtiles'
280
- - 'tiled_map_layer'
281
- - 'tilejson'
282
- - 'tms'
283
- - 'wms'
284
- - 'wmts'
285
- - 'xyz'
273
+ - "cog"
274
+ - "dynamic_map_layer"
275
+ - "feature_layer"
276
+ - "iiif"
277
+ - "iiif_manifest"
278
+ - "image_map_layer"
279
+ - "index_map"
280
+ - "oembed"
281
+ - "pmtiles"
282
+ - "tiled_map_layer"
283
+ - "tilejson"
284
+ - "tms"
285
+ - "wms"
286
+ - "wmts"
287
+ - "xyz"
286
288
 
287
289
  # Enable catalog#show sidebar static map for items with the following viewer protocols
288
- SIDEBAR_STATIC_MAP:
289
- - 'iiif'
290
- - 'iiif_manifest'
291
-
292
- IIIF_DRAG_DROP_LINK: '@manifest?manifest=@manifest'
290
+ sidebar_static_map:
291
+ - "iiif"
292
+ - "iiif_manifest"
293
293
 
294
- ICON_MAPPING:
295
- chicago: university-of-chicago
296
- illinois: university-of-illinois-urbana-champaign
297
- iowa: university-of-iowa
298
- maryland: university-of-maryland
299
- michigan-state: michigan-state-university
300
- michigan: university-of-michigan
301
- minnesota: university-of-minnesota
302
- nebraska: university-of-nebraska-lincoln
303
- ohio-state: the-ohio-state-university
304
- penn-state: pennsylvania-state-university
305
- purdue: purdue-university
306
- wisconsin: university-of-wisconsin-madison
294
+ iiif_drag_drop_link: "@manifest?manifest=@manifest"
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ class Configuration
5
+ # Wraps the global +Settings+ object so that its keys can be resolved
6
+ # case-insensitively. When a key exists in both lower- and uppercase forms
7
+ # the lowercase value wins. Nested hash values are wrapped recursively, so
8
+ # chained access (e.g. +settings.fields.access_rights+) resolves regardless
9
+ # of the case used in settings.yml. Missing keys return +nil+, mirroring the
10
+ # behavior of the underlying Config::Options object.
11
+ #
12
+ # When a +deprecation+ (e.g. an ActiveSupport::Deprecation) is provided, a
13
+ # deprecation warning is issued whenever an uppercase key has to be used
14
+ # because no lowercase equivalent is present.
15
+ class CaseInsensitiveSettings
16
+ def initialize(settings, deprecation: nil)
17
+ @hash = settings.to_h
18
+ @deprecation = deprecation
19
+ end
20
+
21
+ def [](key)
22
+ resolve(key)
23
+ end
24
+
25
+ def to_h
26
+ @hash
27
+ end
28
+
29
+ def method_missing(name, *) # rubocop:disable Style/MissingRespondToMissing, Style/MethodMissingSuper
30
+ resolve(name)
31
+ end
32
+
33
+ private
34
+
35
+ def resolve(name)
36
+ target = name.to_s.downcase
37
+ keys = @hash.keys.select { |key| key.to_s.downcase == target }
38
+ return nil if keys.empty?
39
+
40
+ key = keys.find { |candidate| candidate.to_s == candidate.to_s.downcase }
41
+ if key.nil?
42
+ key = keys.first
43
+ warn_deprecated(key)
44
+ end
45
+ value = @hash[key]
46
+ value.is_a?(Hash) ? self.class.new(value, deprecation: @deprecation) : value
47
+ end
48
+
49
+ def warn_deprecated(key)
50
+ return unless @deprecation
51
+
52
+ @deprecation.warn(
53
+ "GeoBlacklight settings.yml key #{key} is uppercase; rename it to #{key.to_s.downcase}. " \
54
+ "Uppercase keys are deprecated and support will be removed in a future version."
55
+ )
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,18 @@
1
+ module Geoblacklight
2
+ class Configuration
3
+ # Builds a configuration from default settings
4
+ class DefaultSettingsBuilder
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
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,13 @@
1
+ module Geoblacklight
2
+ class Configuration
3
+ # Configuration for display note shown.
4
+ class DisplayNoteShownConfig
5
+ include ActiveModel::Model
6
+ include ActiveModel::Attributes
7
+
8
+ attribute :bootstrap_alert_class, :string
9
+ attribute :icon, :string
10
+ attribute :note_prefix, :string
11
+ end
12
+ end
13
+ end
@@ -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_sm"
15
+ attribute :format, :string, default: "dct_format_s"
16
+ attribute :file_size, :string, default: "gbl_fileSize_s"
17
+ attribute :georeferenced, :string, default: "gbl_georeferenced_b"
18
+ attribute :id, :string, default: "id"
19
+ attribute :identifier, :string, default: "dct_identifier_sm"
20
+ attribute :index_year, :string, default: "gbl_indexYear_im"
21
+ attribute :is_part_of, :string, default: "dct_isPartOf_sm"
22
+ attribute :is_replaced_by, :string, default: "dct_isReplacedBy_sm"
23
+ attribute :theme, :string, default: "dcat_theme_sm"
24
+ attribute :keyword, :string, default: "dcat_keyword_sm"
25
+ attribute :language, :string, default: "dct_language_sm"
26
+ attribute :license, :string, default: "dct_license_sm"
27
+ attribute :member_of, :string, default: "pcdm_memberOf_sm"
28
+ attribute :metadata_version, :string, default: "gbl_mdVersion_s"
29
+ attribute :modified, :string, default: "gbl_mdModified_dt"
30
+ attribute :overlap_field, :string, default: "solr_bboxtype"
31
+ attribute :publisher, :string, default: "dct_publisher_sm"
32
+ attribute :provider, :string, default: "schema_provider_s"
33
+ attribute :references, :string, default: "dct_references_s"
34
+ attribute :relation, :string, default: "dct_relation_sm"
35
+ attribute :replaces, :string, default: "dct_replaces_sm"
36
+ attribute :resource_class, :string, default: "gbl_resourceClass_sm"
37
+ attribute :resource_type, :string, default: "gbl_resourceType_sm"
38
+ attribute :rights, :string, default: "dct_rights_sm"
39
+ attribute :rights_holder, :string, default: "dct_rightsHolder_sm"
40
+ attribute :source, :string, default: "dct_source_sm"
41
+ attribute :spatial_coverage, :string, default: "dct_spatial_sm"
42
+ attribute :geometry, :string, default: "locn_geometry"
43
+ attribute :subject, :string, default: "dct_subject_sm"
44
+ attribute :suppressed, :string, default: "gbl_suppressed_b"
45
+ attribute :temporal_coverage, :string, default: "dct_temporal_sm"
46
+ attribute :title, :string, default: "dct_title_s"
47
+ attribute :version, :string, default: "dct_isVersionOf_sm"
48
+ attribute :wxs_identifier, :string, default: "gbl_wxsIdentifier_s"
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geoblacklight
4
+ class Configuration
5
+ # Configuration for Leaflet map layer styles.
6
+ class LayerConfig
7
+ include ActiveModel::Model
8
+ include ActiveModel::Attributes
9
+
10
+ attribute :color, :string
11
+ attribute :weight, :integer, default: 1
12
+ attribute :radius, :integer, default: 4
13
+ attribute :sr_color_name, :string
14
+
15
+ # Supports Hash-like access for backward compatibility
16
+ # @param [Symbol, String] key
17
+ def [](key)
18
+ respond_to?(key) ? send(key) : nil
19
+ end
20
+
21
+ # Returns the attributes as a symbolized hash
22
+ # @return [Hash]
23
+ def to_h
24
+ attributes.symbolize_keys
25
+ end
26
+ end
27
+ end
28
+ end