geoblacklight 5.3.0 → 6.0.0.pre.alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. checksums.yaml +4 -4
  2. data/.engine_cart.yml +14 -0
  3. data/.github/workflows/ruby.yml +24 -25
  4. data/.gitignore +0 -9
  5. data/.prettierignore +4 -0
  6. data/.prettierrc +5 -0
  7. data/CONTRIBUTING.md +2 -4
  8. data/Gemfile +4 -2
  9. data/README.md +4 -4
  10. data/Rakefile +0 -22
  11. data/app/assets/stylesheets/geoblacklight/global.css +7 -0
  12. data/app/assets/stylesheets/geoblacklight/home.css +22 -0
  13. data/app/assets/stylesheets/geoblacklight/index_maps.css +36 -0
  14. data/app/assets/stylesheets/geoblacklight/record.css +39 -0
  15. data/app/assets/stylesheets/geoblacklight/search.css +56 -0
  16. data/app/assets/stylesheets/geoblacklight/viewers.css +50 -0
  17. data/app/assets/stylesheets/geoblacklight.css +14 -0
  18. data/app/components/blacklight/icons/web_services_component.rb +3 -3
  19. data/app/components/geoblacklight/accordion_component.html.erb +3 -3
  20. data/app/components/geoblacklight/accordion_component.rb +4 -0
  21. data/app/components/geoblacklight/arcgis_component.html.erb +1 -1
  22. data/app/components/geoblacklight/arcgis_component.rb +1 -1
  23. data/app/components/geoblacklight/attribute_table_component.html.erb +3 -3
  24. data/app/components/geoblacklight/data_dictionary_download_component.html.erb +1 -1
  25. data/app/components/geoblacklight/display_note_component.html.erb +1 -1
  26. data/app/components/geoblacklight/display_note_component.rb +2 -1
  27. data/app/components/geoblacklight/document/citation_component.html.erb +1 -1
  28. data/app/components/geoblacklight/document/sidebar_component.html.erb +1 -1
  29. data/app/components/geoblacklight/document/sidebar_component.rb +0 -1
  30. data/app/components/geoblacklight/document_component.html.erb +1 -2
  31. data/app/components/geoblacklight/header_component.html.erb +4 -4
  32. data/app/components/geoblacklight/header_icons_component.rb +4 -2
  33. data/app/components/geoblacklight/homepage_feature_facet_component.html.erb +3 -7
  34. data/app/components/geoblacklight/homepage_feature_facet_component.rb +12 -3
  35. data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +2 -2
  36. data/app/components/geoblacklight/iiif_drag_drop_component.rb +2 -2
  37. data/app/components/geoblacklight/index_map_inspect_component.html.erb +3 -3
  38. data/app/components/geoblacklight/index_map_legend_component.html.erb +7 -7
  39. data/app/components/geoblacklight/index_map_legend_component.rb +7 -0
  40. data/app/components/geoblacklight/item_map_viewer_component.rb +8 -4
  41. data/app/components/geoblacklight/location_leaflet_map_component.rb +28 -15
  42. data/app/components/geoblacklight/relations_component.html.erb +2 -2
  43. data/app/components/geoblacklight/search_result_component.html.erb +28 -26
  44. data/app/components/geoblacklight/search_result_component.rb +2 -2
  45. data/app/components/geoblacklight/static_map_component.rb +5 -4
  46. data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -1
  47. data/app/components/geoblacklight/viewer_help_text_component.rb +1 -1
  48. data/app/components/geoblacklight/web_services_component.html.erb +1 -1
  49. data/app/components/geoblacklight/web_services_component.rb +1 -1
  50. data/app/components/geoblacklight/web_services_default_component.html.erb +6 -6
  51. data/app/components/geoblacklight/web_services_link_component.rb +12 -9
  52. data/app/components/geoblacklight/web_services_wfs_component.html.erb +4 -4
  53. data/app/components/geoblacklight/web_services_wms_component.html.erb +4 -4
  54. data/app/controllers/download_controller.rb +0 -1
  55. data/app/controllers/wms_controller.rb +1 -1
  56. data/app/helpers/geoblacklight_helper.rb +0 -15
  57. data/app/javascript/geoblacklight/controllers/clipboard_controller.js +6 -6
  58. data/app/javascript/geoblacklight/controllers/downloads_controller.js +37 -29
  59. data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +108 -117
  60. data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +5 -5
  61. data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +27 -30
  62. data/app/javascript/geoblacklight/controllers/search_results_controller.js +18 -18
  63. data/app/javascript/geoblacklight/core.js +35 -36
  64. data/app/javascript/geoblacklight/index.js +10 -10
  65. data/app/javascript/geoblacklight/initializers/metadata_download.js +23 -25
  66. data/app/javascript/geoblacklight/initializers/popovers.js +4 -4
  67. data/app/javascript/geoblacklight/initializers/relations.js +20 -20
  68. data/app/javascript/geoblacklight/initializers/tooltips.js +19 -23
  69. data/app/javascript/geoblacklight/initializers/truncation.js +18 -18
  70. data/app/javascript/geoblacklight/leaflet/basemaps.js +2 -3
  71. data/app/javascript/geoblacklight/leaflet/constants.js +7 -7
  72. data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +80 -74
  73. data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +74 -73
  74. data/app/javascript/geoblacklight/leaflet/controls/sidebar.js +31 -29
  75. data/app/javascript/geoblacklight/leaflet/controls/sleep.js +54 -51
  76. data/app/javascript/geoblacklight/leaflet/inspection.js +77 -68
  77. data/app/javascript/geoblacklight/leaflet/layer_index_map.js +74 -69
  78. data/app/javascript/geoblacklight/leaflet/layer_wmts.js +14 -16
  79. data/app/javascript/geoblacklight/leaflet/layers.js +59 -66
  80. data/app/javascript/geoblacklight/leaflet/utils.js +37 -43
  81. data/app/javascript/geoblacklight/openlayers/basemaps.js +35 -27
  82. data/app/javascript/geoblacklight/openlayers/inspection.js +23 -23
  83. data/app/javascript/geoblacklight/openlayers/layers.js +11 -11
  84. data/app/models/concerns/geoblacklight/bbox_filter_query.rb +7 -9
  85. data/app/models/concerns/geoblacklight/solr_document.rb +16 -39
  86. data/app/models/concerns/geoblacklight/suppressed_records_search_behavior.rb +3 -3
  87. data/app/views/catalog/_document_split.html.erb +3 -3
  88. data/app/views/catalog/_home_text.html.erb +22 -14
  89. data/app/views/catalog/_metadata.html.erb +1 -1
  90. data/app/views/catalog/_relations_container.html.erb +1 -1
  91. data/app/views/catalog/index.html.erb +0 -1
  92. data/app/views/catalog/metadata/_markup.html.erb +1 -2
  93. data/app/views/catalog/metadata/_missing.html.erb +2 -2
  94. data/app/views/catalog/web_services.html.erb +1 -1
  95. data/app/views/relation/index.html.erb +1 -1
  96. data/app/views/relation/index.json.jbuilder +1 -1
  97. data/config/initializers/rails_config.rb +0 -3
  98. data/config/locales/geoblacklight.en.yml +79 -78
  99. data/geoblacklight.gemspec +1 -2
  100. data/lib/generators/geoblacklight/assets_generator.rb +35 -26
  101. data/lib/generators/geoblacklight/install_generator.rb +6 -11
  102. data/lib/generators/geoblacklight/templates/assets/customizations.css +6 -0
  103. data/lib/generators/geoblacklight/templates/catalog_controller.rb +97 -73
  104. data/lib/generators/geoblacklight/templates/settings.yml +97 -113
  105. data/lib/geoblacklight/configuration/default_settings_builder.rb +18 -0
  106. data/lib/geoblacklight/configuration/display_note_shown_config.rb +13 -0
  107. data/lib/geoblacklight/configuration/fields_config.rb +51 -0
  108. data/lib/geoblacklight/configuration/leaflet_config.rb +73 -0
  109. data/lib/geoblacklight/configuration/leaflet_layers_config.rb +21 -0
  110. data/lib/geoblacklight/configuration/leaflet_sleep_config.rb +20 -0
  111. data/lib/geoblacklight/configuration/legacy_settings_builder.rb +94 -0
  112. data/lib/geoblacklight/configuration.rb +148 -0
  113. data/lib/geoblacklight/download.rb +2 -2
  114. data/lib/geoblacklight/engine.rb +7 -5
  115. data/lib/geoblacklight/metadata/base.rb +0 -2
  116. data/lib/geoblacklight/metadata_transformer.rb +0 -2
  117. data/lib/geoblacklight/references.rb +5 -4
  118. data/lib/geoblacklight/relation/ancestors.rb +3 -2
  119. data/lib/geoblacklight/relation/descendants.rb +2 -1
  120. data/lib/geoblacklight/relation/relation_response.rb +4 -4
  121. data/lib/geoblacklight/version.rb +1 -1
  122. data/lib/geoblacklight/wms_layer.rb +3 -3
  123. data/lib/geoblacklight.rb +7 -1
  124. data/package.json +10 -31
  125. data/schema/geoblacklight-schema-aardvark.json +1 -9
  126. data/schema/readme.md +3 -4
  127. data/solr/conf/_rest_managed.json +3 -2
  128. data/solr/conf/schema.xml +1 -1
  129. data/spec/components/geoblacklight/arcgis_component_spec.rb +6 -6
  130. data/spec/components/geoblacklight/attribute_table_component_spec.rb +6 -7
  131. data/spec/components/geoblacklight/citation_component_spec.rb +7 -4
  132. data/spec/components/geoblacklight/display_note_component_spec.rb +8 -8
  133. data/spec/components/geoblacklight/document_component_spec.rb +13 -13
  134. data/spec/components/geoblacklight/download_links_component_spec.rb +17 -14
  135. data/spec/components/geoblacklight/header_icons_component_spec.rb +6 -11
  136. data/spec/components/geoblacklight/homepage_feature_facet_component_spec.rb +22 -30
  137. data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +3 -3
  138. data/spec/components/geoblacklight/index_map_legend_component_spec.rb +5 -18
  139. data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +5 -5
  140. data/spec/components/geoblacklight/login_link_component_spec.rb +4 -5
  141. data/spec/components/geoblacklight/search_result_component_spec.rb +2 -6
  142. data/spec/components/geoblacklight/static_map_component_spec.rb +2 -2
  143. data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +4 -6
  144. data/spec/components/geoblacklight/web_services_component_spec.rb +11 -10
  145. data/spec/controllers/catalog_controller_spec.rb +7 -7
  146. data/spec/controllers/download_controller_spec.rb +1 -1
  147. data/spec/controllers/relation_controller_spec.rb +1 -1
  148. data/spec/controllers/wms_controller_spec.rb +1 -1
  149. data/spec/features/axe_spec.rb +4 -4
  150. data/spec/features/bookmarks_spec.rb +1 -1
  151. data/spec/features/citations_spec.rb +1 -1
  152. data/spec/features/configurable_basemap_spec.rb +1 -1
  153. data/spec/features/data_dictionary_download_spec.rb +1 -1
  154. data/spec/features/download_layer_spec.rb +1 -1
  155. data/spec/features/empty_search_spec.rb +1 -1
  156. data/spec/features/esri_viewer_spec.rb +1 -1
  157. data/spec/features/exports_spec.rb +1 -1
  158. data/spec/features/full_screen_control_spec.rb +3 -10
  159. data/spec/features/help_text_spec.rb +1 -1
  160. data/spec/features/home_page_spec.rb +1 -1
  161. data/spec/features/index_map_spec.rb +3 -3
  162. data/spec/features/index_view_spec.rb +7 -7
  163. data/spec/features/layer_inspection_spec.rb +1 -1
  164. data/spec/features/layer_opacity_spec.rb +1 -1
  165. data/spec/features/layer_preview_spec.rb +1 -1
  166. data/spec/features/layer_with_no_references_spec.rb +1 -1
  167. data/spec/features/linkified_attribute_table_spec.rb +1 -1
  168. data/spec/features/metadata_panel_spec.rb +1 -1
  169. data/spec/features/missing_metadata_spec.rb +1 -1
  170. data/spec/features/multiple_downloads_spec.rb +1 -1
  171. data/spec/features/oembed_spec.rb +1 -1
  172. data/spec/features/relations_spec.rb +2 -2
  173. data/spec/features/saved_searches_spec.rb +1 -1
  174. data/spec/features/search_bar_spec.rb +1 -1
  175. data/spec/features/search_results_complex_geometry_spec.rb +1 -1
  176. data/spec/features/search_results_icons_spec.rb +3 -4
  177. data/spec/features/search_results_map_spec.rb +1 -1
  178. data/spec/features/search_results_overlap_ratio_spec.rb +3 -3
  179. data/spec/features/search_spec.rb +1 -1
  180. data/spec/features/show_page_download_spec.rb +1 -1
  181. data/spec/features/show_page_metadata_spec.rb +2 -2
  182. data/spec/features/show_page_sidebar_static_map_spec.rb +1 -1
  183. data/spec/features/sms_spec.rb +1 -1
  184. data/spec/features/suppressed_records_spec.rb +1 -1
  185. data/spec/features/tilejson_spec.rb +1 -1
  186. data/spec/features/tms_spec.rb +1 -1
  187. data/spec/features/web_services_modal_spec.rb +1 -1
  188. data/spec/features/wmts_spec.rb +1 -1
  189. data/spec/features/xyz_spec.rb +1 -1
  190. data/spec/fixtures/manifests/tilejson.json +10 -19
  191. data/spec/fixtures/metadata/fgdc.html +1 -1
  192. data/spec/fixtures/metadata/iso.html +1 -1
  193. data/spec/fixtures/solr_documents/README.md +0 -1
  194. data/spec/fixtures/solr_documents/actual-papermap1.json +9 -28
  195. data/spec/fixtures/solr_documents/actual-point1.json +12 -39
  196. data/spec/fixtures/solr_documents/actual-polygon1.json +10 -30
  197. data/spec/fixtures/solr_documents/actual-raster1.json +14 -46
  198. data/spec/fixtures/solr_documents/all-relationships.json +12 -36
  199. data/spec/fixtures/solr_documents/b1g_iiif_manifest.json +33 -62
  200. data/spec/fixtures/solr_documents/b1g_wabash_child_15.json +13 -40
  201. data/spec/fixtures/solr_documents/b1g_wabash_child_16.json +13 -40
  202. data/spec/fixtures/solr_documents/b1g_wabash_child_17.json +13 -40
  203. data/spec/fixtures/solr_documents/b1g_wabash_child_18.json +13 -40
  204. data/spec/fixtures/solr_documents/b1g_wabash_parent.json +13 -40
  205. data/spec/fixtures/solr_documents/baruch_ancestor1.json +13 -40
  206. data/spec/fixtures/solr_documents/baruch_ancestor2.json +13 -40
  207. data/spec/fixtures/solr_documents/baruch_documentation_download.json +14 -46
  208. data/spec/fixtures/solr_documents/bbox-spans-180.json +7 -21
  209. data/spec/fixtures/solr_documents/complex-geom.json +11 -37
  210. data/spec/fixtures/solr_documents/cornell_html_metadata.json +12 -37
  211. data/spec/fixtures/solr_documents/display-note.json +11 -33
  212. data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +13 -39
  213. data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +13 -40
  214. data/spec/fixtures/solr_documents/esri-feature-layer.json +13 -39
  215. data/spec/fixtures/solr_documents/esri-image-map-layer.json +13 -40
  216. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +16 -54
  217. data/spec/fixtures/solr_documents/esri-wms-layer.json +12 -36
  218. data/spec/fixtures/solr_documents/harvard_raster.json +12 -37
  219. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +9 -27
  220. data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +12 -41
  221. data/spec/fixtures/solr_documents/index-map-polygon.json +12 -41
  222. data/spec/fixtures/solr_documents/index-map-stanford.json +14 -45
  223. data/spec/fixtures/solr_documents/index-map-v1-complex.json +13 -38
  224. data/spec/fixtures/solr_documents/index_map_point.json +13 -42
  225. data/spec/fixtures/solr_documents/metadata_no_geom.json +4 -14
  226. data/spec/fixtures/solr_documents/metadata_no_provider.json +8 -25
  227. data/spec/fixtures/solr_documents/multiple-downloads.json +6 -18
  228. data/spec/fixtures/solr_documents/no_locn_geometry.json +4 -12
  229. data/spec/fixtures/solr_documents/no_spatial.json +4 -12
  230. data/spec/fixtures/solr_documents/oembed.json +8 -25
  231. data/spec/fixtures/solr_documents/princeton-child1.json +9 -29
  232. data/spec/fixtures/solr_documents/princeton-child2.json +9 -29
  233. data/spec/fixtures/solr_documents/princeton-child3.json +9 -29
  234. data/spec/fixtures/solr_documents/princeton-child4.json +9 -29
  235. data/spec/fixtures/solr_documents/princeton-parent.json +10 -33
  236. data/spec/fixtures/solr_documents/public_cog_princeton.json +9 -27
  237. data/spec/fixtures/solr_documents/public_iiif_princeton.json +13 -43
  238. data/spec/fixtures/solr_documents/public_pmtiles_princeton.json +29 -39
  239. data/spec/fixtures/solr_documents/public_polygon_mit.json +9 -30
  240. data/spec/fixtures/solr_documents/restricted-line.json +14 -47
  241. data/spec/fixtures/solr_documents/the-related-record.json +4 -12
  242. data/spec/fixtures/solr_documents/tilejson.json +23 -46
  243. data/spec/fixtures/solr_documents/tms.json +7 -21
  244. data/spec/fixtures/solr_documents/umn_metro_result1.json +13 -41
  245. data/spec/fixtures/solr_documents/umn_state_result1.json +13 -39
  246. data/spec/fixtures/solr_documents/umn_state_result2.json +13 -39
  247. data/spec/fixtures/solr_documents/uva_slug_colon.json +10 -30
  248. data/spec/fixtures/solr_documents/wmts-multiple.json +23 -39
  249. data/spec/fixtures/solr_documents/wmts-single-layer.json +23 -46
  250. data/spec/fixtures/solr_documents/xyz.json +10 -33
  251. data/spec/helpers/geoblacklight_helper_spec.rb +5 -50
  252. data/spec/javascripts/geoblacklight_spec.js +10 -10
  253. data/spec/javascripts/metadata_download_button_spec.js +14 -13
  254. data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -1
  255. data/spec/lib/geoblacklight/configuration/default_settings_builder_spec.rb +9 -0
  256. data/spec/lib/geoblacklight/configuration_spec.rb +13 -0
  257. data/spec/lib/geoblacklight/download/csv_download_spec.rb +2 -2
  258. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +2 -2
  259. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +5 -2
  260. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +2 -2
  261. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +2 -2
  262. data/spec/lib/geoblacklight/download_spec.rb +15 -6
  263. data/spec/lib/geoblacklight/geometry_spec.rb +1 -1
  264. data/spec/lib/geoblacklight/item_viewer_spec.rb +2 -2
  265. data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -1
  266. data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -1
  267. data/spec/lib/geoblacklight/metadata_spec.rb +1 -1
  268. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +1 -1
  269. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +1 -1
  270. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +1 -1
  271. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +1 -1
  272. data/spec/lib/geoblacklight/reference_spec.rb +1 -1
  273. data/spec/lib/geoblacklight/references_spec.rb +6 -4
  274. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +10 -4
  275. data/spec/lib/geoblacklight/relation/descendants_spec.rb +9 -4
  276. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +12 -15
  277. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +1 -1
  278. data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -1
  279. data/spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb +20 -11
  280. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
  281. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -1
  282. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -1
  283. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +4 -39
  284. data/spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb +2 -2
  285. data/spec/routing/catalog_routing_spec.rb +1 -1
  286. data/spec/spec_helper.rb +21 -10
  287. data/spec/tasks/geoblacklight_spec.rb +1 -1
  288. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -3
  289. metadata +33 -184
  290. data/Procfile.dev +0 -3
  291. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +0 -2
  292. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +0 -31
  293. data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +0 -40
  294. data/app/assets/stylesheets/geoblacklight/modules/_styles.scss +0 -9
  295. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +0 -62
  296. data/app/assets/stylesheets/geoblacklight/modules/geosearch.scss +0 -23
  297. data/app/assets/stylesheets/geoblacklight/modules/home.scss +0 -13
  298. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +0 -116
  299. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +0 -61
  300. data/app/assets/stylesheets/geoblacklight/modules/item.scss +0 -78
  301. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +0 -87
  302. data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +0 -4
  303. data/app/assets/stylesheets/geoblacklight/modules/metadata.scss +0 -31
  304. data/app/assets/stylesheets/geoblacklight/modules/metadata_content.scss +0 -43
  305. data/app/assets/stylesheets/geoblacklight/modules/metadata_markup.scss +0 -9
  306. data/app/assets/stylesheets/geoblacklight/modules/metadata_missing.scss +0 -7
  307. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -5
  308. data/app/assets/stylesheets/geoblacklight/modules/results.scss +0 -60
  309. data/app/assets/stylesheets/geoblacklight/modules/search_widgets.scss +0 -5
  310. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +0 -42
  311. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +0 -34
  312. data/app/assets/stylesheets/geoblacklight/modules/web_services.scss +0 -5
  313. data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +0 -46
  314. data/app/components/blacklight/icons/arizona_component.rb +0 -24
  315. data/app/components/blacklight/icons/baruch_cuny_component.rb +0 -23
  316. data/app/components/blacklight/icons/bookmark_component.rb +0 -23
  317. data/app/components/blacklight/icons/circle_info_solid_component.rb +0 -23
  318. data/app/components/blacklight/icons/columbia_component.rb +0 -23
  319. data/app/components/blacklight/icons/cornell_component.rb +0 -25
  320. data/app/components/blacklight/icons/george_mason_component.rb +0 -24
  321. data/app/components/blacklight/icons/harvard_component.rb +0 -23
  322. data/app/components/blacklight/icons/indiana_component.rb +0 -23
  323. data/app/components/blacklight/icons/lewis_clark_component.rb +0 -25
  324. data/app/components/blacklight/icons/massgis_component.rb +0 -23
  325. data/app/components/blacklight/icons/michigan_state_university_component.rb +0 -25
  326. data/app/components/blacklight/icons/mit_component.rb +0 -23
  327. data/app/components/blacklight/icons/northwestern_university_component.rb +0 -24
  328. data/app/components/blacklight/icons/nyu_component.rb +0 -26
  329. data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +0 -25
  330. data/app/components/blacklight/icons/princeton_component.rb +0 -23
  331. data/app/components/blacklight/icons/purdue_university_component.rb +0 -25
  332. data/app/components/blacklight/icons/rutgers_component.rb +0 -25
  333. data/app/components/blacklight/icons/sms_component.rb +0 -23
  334. data/app/components/blacklight/icons/stanford_component.rb +0 -23
  335. data/app/components/blacklight/icons/texas_component.rb +0 -23
  336. data/app/components/blacklight/icons/the_ohio_state_university_component.rb +0 -26
  337. data/app/components/blacklight/icons/tufts_component.rb +0 -23
  338. data/app/components/blacklight/icons/ucla_component.rb +0 -23
  339. data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +0 -24
  340. data/app/components/blacklight/icons/university_of_chicago_component.rb +0 -25
  341. data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +0 -26
  342. data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +0 -25
  343. data/app/components/blacklight/icons/university_of_iowa_component.rb +0 -24
  344. data/app/components/blacklight/icons/university_of_maryland_component.rb +0 -24
  345. data/app/components/blacklight/icons/university_of_michigan_component.rb +0 -24
  346. data/app/components/blacklight/icons/university_of_minnesota_component.rb +0 -24
  347. data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +0 -27
  348. data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +0 -24
  349. data/app/components/blacklight/icons/uva_component.rb +0 -23
  350. data/app/components/geoblacklight/icon_facet_item_component.rb +0 -33
  351. data/app/components/geoblacklight/web_services_link_component.html.erb +0 -3
  352. data/bin/vite +0 -29
  353. data/config/initializers/new_gbl_settings_defaults_4.1.yml +0 -104
  354. data/lib/generators/geoblacklight/assets/importmap_generator.rb +0 -73
  355. data/lib/generators/geoblacklight/assets/vite_generator.rb +0 -89
  356. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +0 -23
  357. data/lib/generators/geoblacklight/templates/assets/application.js +0 -17
  358. data/lib/generators/geoblacklight/templates/assets/application.scss +0 -9
  359. data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +0 -11
  360. data/lib/generators/geoblacklight/templates/base.html.erb +0 -46
  361. data/lib/generators/geoblacklight/templates/vite.config.ts +0 -23
  362. data/lib/generators/geoblacklight/templates/vite.json +0 -16
  363. data/schema/geoblacklight-schema-1.0.json +0 -214
  364. data/solr/conf/xslt/example.xsl +0 -132
  365. data/solr/conf/xslt/example_atom.xsl +0 -67
  366. data/solr/conf/xslt/example_rss.xsl +0 -66
  367. data/solr/conf/xslt/luke.xsl +0 -337
  368. data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +0 -15
  369. data/spec/components/blacklight/icons/arizona_component_spec.rb +0 -15
  370. data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +0 -15
  371. data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +0 -15
  372. data/spec/components/blacklight/icons/book_component_spec.rb +0 -15
  373. data/spec/components/blacklight/icons/bookmark_component_spec.rb +0 -15
  374. data/spec/components/blacklight/icons/cd_rom_component_spec.rb +0 -15
  375. data/spec/components/blacklight/icons/child_item_component_spec.rb +0 -15
  376. data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +0 -15
  377. data/spec/components/blacklight/icons/citation_component_spec.rb +0 -15
  378. data/spec/components/blacklight/icons/collection_component_spec.rb +0 -15
  379. data/spec/components/blacklight/icons/collections_component_spec.rb +0 -15
  380. data/spec/components/blacklight/icons/columbia_component_spec.rb +0 -15
  381. data/spec/components/blacklight/icons/cornell_component_spec.rb +0 -15
  382. data/spec/components/blacklight/icons/datasets_component_spec.rb +0 -15
  383. data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +0 -15
  384. data/spec/components/blacklight/icons/email_component_spec.rb +0 -15
  385. data/spec/components/blacklight/icons/esri_globe_component_spec.rb +0 -15
  386. data/spec/components/blacklight/icons/fire_solid_component_spec.rb +0 -15
  387. data/spec/components/blacklight/icons/george_mason_component_spec.rb +0 -15
  388. data/spec/components/blacklight/icons/globe_component_spec.rb +0 -15
  389. data/spec/components/blacklight/icons/harvard_component_spec.rb +0 -15
  390. data/spec/components/blacklight/icons/home_component_spec.rb +0 -15
  391. data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +0 -15
  392. data/spec/components/blacklight/icons/image_component_spec.rb +0 -15
  393. data/spec/components/blacklight/icons/imagery_component_spec.rb +0 -15
  394. data/spec/components/blacklight/icons/indiana_component_spec.rb +0 -15
  395. data/spec/components/blacklight/icons/leaf_component_spec.rb +0 -15
  396. data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +0 -15
  397. data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +0 -15
  398. data/spec/components/blacklight/icons/line_component_spec.rb +0 -15
  399. data/spec/components/blacklight/icons/map_component_spec.rb +0 -15
  400. data/spec/components/blacklight/icons/map_marker_component_spec.rb +0 -15
  401. data/spec/components/blacklight/icons/maps_component_spec.rb +0 -15
  402. data/spec/components/blacklight/icons/massgis_component_spec.rb +0 -15
  403. data/spec/components/blacklight/icons/metadata_component_spec.rb +0 -15
  404. data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +0 -15
  405. data/spec/components/blacklight/icons/mit_component_spec.rb +0 -15
  406. data/spec/components/blacklight/icons/mixed_component_spec.rb +0 -15
  407. data/spec/components/blacklight/icons/multilinestring_component_spec.rb +0 -15
  408. data/spec/components/blacklight/icons/multipoint_component_spec.rb +0 -15
  409. data/spec/components/blacklight/icons/multipolygon_component_spec.rb +0 -15
  410. data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +0 -15
  411. data/spec/components/blacklight/icons/nyu_component_spec.rb +0 -15
  412. data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +0 -15
  413. data/spec/components/blacklight/icons/paper_map_component_spec.rb +0 -15
  414. data/spec/components/blacklight/icons/parent_item_component_spec.rb +0 -15
  415. data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +0 -15
  416. data/spec/components/blacklight/icons/point_component_spec.rb +0 -15
  417. data/spec/components/blacklight/icons/polygon_component_spec.rb +0 -15
  418. data/spec/components/blacklight/icons/polyline_component_spec.rb +0 -15
  419. data/spec/components/blacklight/icons/princeton_component_spec.rb +0 -15
  420. data/spec/components/blacklight/icons/public_component_spec.rb +0 -15
  421. data/spec/components/blacklight/icons/purdue_university_component_spec.rb +0 -15
  422. data/spec/components/blacklight/icons/raster_component_spec.rb +0 -15
  423. data/spec/components/blacklight/icons/restricted_component_spec.rb +0 -15
  424. data/spec/components/blacklight/icons/rutgers_component_spec.rb +0 -15
  425. data/spec/components/blacklight/icons/sms_component_spec.rb +0 -15
  426. data/spec/components/blacklight/icons/stanford_component_spec.rb +0 -15
  427. data/spec/components/blacklight/icons/table_component_spec.rb +0 -15
  428. data/spec/components/blacklight/icons/tags_component_spec.rb +0 -15
  429. data/spec/components/blacklight/icons/texas_component_spec.rb +0 -15
  430. data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +0 -15
  431. data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +0 -15
  432. data/spec/components/blacklight/icons/tufts_component_spec.rb +0 -15
  433. data/spec/components/blacklight/icons/ucla_component_spec.rb +0 -15
  434. data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +0 -15
  435. data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +0 -15
  436. data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +0 -15
  437. data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +0 -15
  438. data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +0 -15
  439. data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +0 -15
  440. data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +0 -15
  441. data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +0 -15
  442. data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +0 -15
  443. data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +0 -15
  444. data/spec/components/blacklight/icons/uva_component_spec.rb +0 -15
  445. data/spec/components/blacklight/icons/web_services_component_spec.rb +0 -15
  446. data/spec/components/blacklight/icons/websites_component_spec.rb +0 -15
  447. data/spec/components/geoblacklight/icon_facet_item_component_spec.rb +0 -18
  448. data/spec/config/initializers/rails_config_spec.rb +0 -16
  449. data/spec/fixtures/solr_documents/public_direct_download.json +0 -62
  450. data/spec/support/backport_test_helpers.rb +0 -47
  451. data/spec/support/view_component_capybara_test_helpers.rb +0 -8
  452. data/vite.config.ts +0 -32
  453. /data/app/assets/images/{blacklight → geoblacklight}/logo.svg +0 -0
@@ -7,6 +7,9 @@ class CatalogController < ApplicationController
7
7
  # Please see https://github.com/projectblacklight/blacklight/pull/2006/
8
8
  config.raw_endpoint.enabled = true
9
9
 
10
+ gbl_config = Geoblacklight.configuration
11
+ field_config = gbl_config.fields
12
+
10
13
  ## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
11
14
  ## @see https://lucene.apache.org/solr/guide/6_6/common-query-parameters.html
12
15
  ## @see https://lucene.apache.org/solr/guide/6_6/the-dismax-query-parser.html#TheDisMaxQueryParser-Theq.altParameter
@@ -24,7 +27,7 @@ class CatalogController < ApplicationController
24
27
  #
25
28
  config.default_document_solr_params = {
26
29
  qt: "document",
27
- q: "{!raw f=#{Settings.FIELDS.ID} v=$id}"
30
+ q: "{!raw f=#{field_config.id} v=$id}"
28
31
  }
29
32
 
30
33
  # GeoBlacklight Defaults
@@ -36,7 +39,7 @@ class CatalogController < ApplicationController
36
39
  # config.index.show_link = 'title_display'
37
40
  # config.index.record_display_type = 'format'
38
41
  config.index.document_component = Geoblacklight::SearchResultComponent
39
- config.index.title_field = Settings.FIELDS.TITLE
42
+ config.index.title_field = field_config.title
40
43
 
41
44
  # solr field configuration for document/show views
42
45
  # This sets the metadata to display below the map viewer.
@@ -84,19 +87,18 @@ class CatalogController < ApplicationController
84
87
  # FACETS
85
88
 
86
89
  # DEFAULT FACETS
87
- # to add additional facets, use the keys defined in the settings.yml file
88
- config.add_facet_field Settings.FIELDS.INDEX_YEAR, label: "Year", limit: 10
89
- config.add_facet_field Settings.FIELDS.SPATIAL_COVERAGE, label: "Place", limit: 8
90
- config.add_facet_field Settings.FIELDS.ACCESS_RIGHTS, label: "Access", limit: 8, item_component: Geoblacklight::IconFacetItemComponent
91
- config.add_facet_field Settings.FIELDS.RESOURCE_CLASS, label: "Resource Class", limit: 8
92
- config.add_facet_field Settings.FIELDS.RESOURCE_TYPE, label: "Resource Type", limit: 8
93
- config.add_facet_field Settings.FIELDS.FORMAT, label: "Format", limit: 8
94
- config.add_facet_field Settings.FIELDS.SUBJECT, label: "Subject", limit: 8
95
- config.add_facet_field Settings.FIELDS.THEME, label: "Theme", limit: 8
96
- config.add_facet_field Settings.FIELDS.CREATOR, label: "Creator", limit: 8
97
- config.add_facet_field Settings.FIELDS.PUBLISHER, label: "Publisher", limit: 8
98
- config.add_facet_field Settings.FIELDS.PROVIDER, label: "Provider", limit: 8, item_component: Geoblacklight::IconFacetItemComponent
99
- config.add_facet_field Settings.FIELDS.GEOREFERENCED, label: "Georeferenced", limit: 3
90
+ config.add_facet_field field_config.index_year, label: "Year", limit: 10
91
+ config.add_facet_field field_config.spatial_coverage, label: "Place", limit: 8
92
+ config.add_facet_field field_config.access_rights, label: "Access", limit: 8
93
+ config.add_facet_field field_config.resource_class, label: "Resource Class", limit: 8
94
+ config.add_facet_field field_config.resource_type, label: "Resource Type", limit: 8
95
+ config.add_facet_field field_config.format, label: "Format", limit: 8
96
+ config.add_facet_field field_config.subject, label: "Subject", limit: 8
97
+ config.add_facet_field field_config.theme, label: "Theme", limit: 8
98
+ config.add_facet_field field_config.creator, label: "Creator", limit: 8
99
+ config.add_facet_field field_config.publisher, label: "Publisher", limit: 8
100
+ config.add_facet_field field_config.provider, label: "Provider", limit: 8
101
+ config.add_facet_field field_config.georeferenced, label: "Georeferenced", limit: 3
100
102
 
101
103
  # GEOBLACKLIGHT APPLICATION FACETS
102
104
 
@@ -105,19 +107,25 @@ class CatalogController < ApplicationController
105
107
  # filter_query_builder - Defines the query generated for Solr
106
108
  # filter_class - Defines how to add/remove facet from query
107
109
  # label - Defines the label used in contstraints container
108
- config.add_facet_field Settings.FIELDS.GEOMETRY, item_presenter: Geoblacklight::BboxItemPresenter, filter_class: Geoblacklight::BboxFilterField, filter_query_builder: Geoblacklight::BboxFilterQuery, within_boost: Settings.BBOX_WITHIN_BOOST, overlap_boost: Settings.OVERLAP_RATIO_BOOST, overlap_field: Settings.FIELDS.OVERLAP_FIELD, label: "Bounding Box"
110
+ config.add_facet_field field_config.geometry, item_presenter: Geoblacklight::BboxItemPresenter,
111
+ filter_class: Geoblacklight::BboxFilterField,
112
+ filter_query_builder: Geoblacklight::BboxFilterQuery,
113
+ within_boost: gbl_config.bbox_within_boost,
114
+ overlap_boost: gbl_config.overlap_ratio_boost,
115
+ overlap_field: field_config.overlap_field,
116
+ label: "Bounding Box"
109
117
 
110
118
  # Item Relationship Facets
111
119
  # * Not displayed to end user (show: false)
112
120
  # * Must be present for relationship "Browse all 4 records" links to work
113
121
  # * Label value becomes the search contraint filter name
114
- config.add_facet_field Settings.FIELDS.MEMBER_OF, label: "Member Of", show: false
115
- config.add_facet_field Settings.FIELDS.IS_PART_OF, label: "Is Part Of", show: false
116
- config.add_facet_field Settings.FIELDS.RELATION, label: "Related", show: false
117
- config.add_facet_field Settings.FIELDS.REPLACES, label: "Replaces", show: false
118
- config.add_facet_field Settings.FIELDS.IS_REPLACED_BY, label: "Is Replaced By", show: false
119
- config.add_facet_field Settings.FIELDS.SOURCE, label: "Source", show: false
120
- config.add_facet_field Settings.FIELDS.VERSION, label: "Is Version Of", show: false
122
+ config.add_facet_field field_config.member_of, label: "Member Of", show: false
123
+ config.add_facet_field field_config.is_part_of, label: "Is Part Of", show: false
124
+ config.add_facet_field field_config.relation, label: "Related", show: false
125
+ config.add_facet_field field_config.replaces, label: "Replaces", show: false
126
+ config.add_facet_field field_config.is_replaced_by, label: "Is Replaced By", show: false
127
+ config.add_facet_field field_config.source, label: "Source", show: false
128
+ config.add_facet_field field_config.version, label: "Is Version Of", show: false
121
129
 
122
130
  # Have BL send all facet field names to Solr, which has been the default
123
131
  # previously. Simply remove these lines if you'd rather use Solr request
@@ -128,14 +136,14 @@ class CatalogController < ApplicationController
128
136
 
129
137
  # solr fields to be displayed in the index (search results) view
130
138
  # The ordering of the field names is the order of the display
131
- # config.add_index_field Settings.FIELDS.PROVIDER, :label => 'Institution:'
132
- # config.add_index_field Settings.FIELDS.RIGHTS, :label => 'Access:'
139
+ # config.add_index_field field_config.provider, :label => 'Institution:'
140
+ # config.add_index_field field_config.rights, :label => 'Access:'
133
141
  # # config.add_index_field 'Area', :label => 'Area:'
134
- # config.add_index_field Settings.FIELDS.SUBJECT, :label => 'Keywords:'
135
- config.add_index_field Settings.FIELDS.INDEX_YEAR
136
- config.add_index_field Settings.FIELDS.CREATOR
137
- config.add_index_field Settings.FIELDS.DESCRIPTION, helper_method: :snippit
138
- config.add_index_field Settings.FIELDS.PUBLISHER
142
+ # config.add_index_field field_config.subject, :label => 'Keywords:'
143
+ config.add_index_field field_config.index_year
144
+ config.add_index_field field_config.creator
145
+ config.add_index_field field_config.description, helper_method: :snippit
146
+ config.add_index_field field_config.publisher
139
147
 
140
148
  # ITEM VIEW FIELDS
141
149
 
@@ -149,27 +157,35 @@ class CatalogController < ApplicationController
149
157
  # The following fields all feature string values. If there is a value present in the metadata, they fields will show up on the item show page.
150
158
  # The labels and order can be customed. Comment out fields to hide them.
151
159
 
152
- config.add_show_field Settings.FIELDS.ALTERNATIVE_TITLE, label: "Alternative Title", itemprop: "alt_title"
153
- config.add_show_field Settings.FIELDS.DESCRIPTION, label: "Description", itemprop: "description", helper_method: :render_value_as_truncate_abstract
154
- config.add_show_field Settings.FIELDS.CREATOR, label: "Creator", itemprop: "creator"
155
- config.add_show_field Settings.FIELDS.PUBLISHER, label: "Publisher", itemprop: "publisher"
156
- config.add_show_field Settings.FIELDS.PROVIDER, label: "Provider", link_to_facet: true
157
- config.add_show_field Settings.FIELDS.RESOURCE_CLASS, label: "Resource Class", itemprop: "class"
158
- config.add_show_field Settings.FIELDS.RESOURCE_TYPE, label: "Resource Type", itemprop: "type"
159
- config.add_show_field Settings.FIELDS.SUBJECT, label: "Subject", itemprop: "keywords", link_to_facet: true
160
- config.add_show_field Settings.FIELDS.THEME, label: "Theme", itemprop: "theme"
161
- config.add_show_field Settings.FIELDS.TEMPORAL_COVERAGE, label: "Temporal Coverage", itemprop: "temporal"
162
- config.add_show_field Settings.FIELDS.DATE_ISSUED, label: "Date Issued", itemprop: "issued"
163
- config.add_show_field Settings.FIELDS.SPATIAL_COVERAGE, label: "Spatial Coverage", itemprop: "spatial", link_to_facet: true
164
- config.add_show_field Settings.FIELDS.RIGHTS, label: "Rights", itemprop: "rights"
165
- config.add_show_field Settings.FIELDS.RIGHTS_HOLDER, label: "Rights Holder", itemprop: "rights_holder"
166
- config.add_show_field Settings.FIELDS.LICENSE, label: "License", itemprop: "license"
167
- config.add_show_field Settings.FIELDS.ACCESS_RIGHTS, label: "Access Rights", itemprop: "access_rights"
168
- config.add_show_field Settings.FIELDS.FORMAT, label: "Format", itemprop: "format"
169
- config.add_show_field Settings.FIELDS.FILE_SIZE, label: "File Size", itemprop: "file_size"
170
- config.add_show_field Settings.FIELDS.GEOREFERENCED, label: "Georeferenced", itemprop: "georeferenced"
160
+ config.add_show_field field_config.alternative_title, label: "Alternative Title",
161
+ itemprop: "alt_title"
162
+ config.add_show_field field_config.description, label: "Description", itemprop: "description",
163
+ helper_method: :render_value_as_truncate_abstract
164
+ config.add_show_field field_config.creator, label: "Creator", itemprop: "creator"
165
+ config.add_show_field field_config.publisher, label: "Publisher", itemprop: "publisher"
166
+ config.add_show_field field_config.provider, label: "Provider", link_to_facet: true
167
+ config.add_show_field field_config.resource_class, label: "Resource Class", itemprop: "class"
168
+ config.add_show_field field_config.resource_type, label: "Resource Type", itemprop: "type"
169
+ config.add_show_field field_config.subject, label: "Subject", itemprop: "keywords",
170
+ link_to_facet: true
171
+ config.add_show_field field_config.theme, label: "Theme", itemprop: "theme"
172
+ config.add_show_field field_config.temporal_coverage, label: "Temporal Coverage",
173
+ itemprop: "temporal"
174
+ config.add_show_field field_config.date_issued, label: "Date Issued", itemprop: "issued"
175
+ config.add_show_field field_config.spatial_coverage, label: "Spatial Coverage", itemprop: "spatial",
176
+ link_to_facet: true
177
+ config.add_show_field field_config.rights, label: "Rights", itemprop: "rights"
178
+ config.add_show_field field_config.rights_holder, label: "Rights Holder",
179
+ itemprop: "rights_holder"
180
+ config.add_show_field field_config.license, label: "License", itemprop: "license"
181
+ config.add_show_field field_config.access_rights, label: "Access Rights",
182
+ itemprop: "access_rights"
183
+ config.add_show_field field_config.format, label: "Format", itemprop: "format"
184
+ config.add_show_field field_config.file_size, label: "File Size", itemprop: "file_size"
185
+ config.add_show_field field_config.georeferenced, label: "Georeferenced",
186
+ itemprop: "georeferenced"
171
187
  config.add_show_field(
172
- Settings.FIELDS.REFERENCES,
188
+ field_config.references,
173
189
  label: "More details at",
174
190
  accessor: [:external_url],
175
191
  if: proc { |_, _, doc| doc.external_url },
@@ -180,29 +196,29 @@ class CatalogController < ApplicationController
180
196
  # The following fields are not user friendly and are not set to appear on the item show page. They contain non-literal values, codes, URIs, or are otherwise designed to power features in the interface.
181
197
  # These values might need a translations to be readable by users.
182
198
 
183
- # config.add_show_field Settings.FIELDS.LANGUAGE, label: 'Language', itemprop: 'language'
184
- # config.add_show_field Settings.FIELDS.KEYWORD, label: 'Keyword(s)', itemprop: 'keyword'
199
+ # config.add_show_field field_config.language, label: 'Language', itemprop: 'language'
200
+ # config.add_show_field field_config.keyword, label: 'Keyword(s)', itemprop: 'keyword'
185
201
 
186
- # config.add_show_field Settings.FIELDS.INDEX_YEAR, label: 'Year', itemprop: 'year'
187
- # config.add_show_field Settings.FIELDS.DATE_RANGE, label: 'Date Range', itemprop: 'date_range'
202
+ # config.add_show_field field_config.index_year, label: 'Year', itemprop: 'year'
203
+ # config.add_show_field field_config.date_range, label: 'Date Range', itemprop: 'date_range'
188
204
 
189
- # config.add_show_field Settings.FIELDS.CENTROID, label: 'Centroid', itemprop: 'centroid'
190
- # config.add_show_field Settings.FIELDS.OVERLAP_FIELD, label: 'Overlap BBox', itemprop: 'overlap_field'
205
+ # config.add_show_field field_config.centroid, label: 'Centroid', itemprop: 'centroid'
206
+ # config.add_show_field field_config.overlap_field, label: 'Overlap BBox', itemprop: 'overlap_field'
191
207
 
192
- # config.add_show_field Settings.FIELDS.RELATION, label: 'Relation', itemprop: 'relation'
193
- # config.add_show_field Settings.FIELDS.MEMBER_OF, label: 'Member Of', itemprop: 'member_of'
194
- # config.add_show_field Settings.FIELDS.IS_PART_OF, label: 'Is Part Of', itemprop: 'is_part_of'
195
- # config.add_show_field Settings.FIELDS.VERSION, label: 'Version', itemprop: 'version'
196
- # config.add_show_field Settings.FIELDS.REPLACES, label: 'Replaces', itemprop: 'replaces'
197
- # config.add_show_field Settings.FIELDS.IS_REPLACED_BY, label: 'Is Replaced By', itemprop: 'is_replaced_by'
208
+ # config.add_show_field field_config.relation, label: 'Relation', itemprop: 'relation'
209
+ # config.add_show_field field_config.member_of, label: 'Member Of', itemprop: 'member_of'
210
+ # config.add_show_field field_config.is_part_of, label: 'Is Part Of', itemprop: 'is_part_of'
211
+ # config.add_show_field field_config.version, label: 'Version', itemprop: 'version'
212
+ # config.add_show_field field_config.replaces, label: 'Replaces', itemprop: 'replaces'
213
+ # config.add_show_field field_config.is_replaced_by, label: 'Is Replaced By', itemprop: 'is_replaced_by'
198
214
 
199
- # config.add_show_field Settings.FIELDS.WXS_IDENTIFIER, label: 'Web Service Layer', itemprop: 'wxs_identifier'
200
- # config.add_show_field Settings.FIELDS.ID, label: 'ID', itemprop: 'id'
201
- # config.add_show_field Settings.FIELDS.IDENTIFIER, label: 'Identifier', itemprop: 'identifier'
215
+ # config.add_show_field field_config.wxs_identifier, label: 'Web Service Layer', itemprop: 'wxs_identifier'
216
+ # config.add_show_field field_config.id, label: 'ID', itemprop: 'id'
217
+ # config.add_show_field field_config.identifier, label: 'Identifier', itemprop: 'identifier'
202
218
 
203
- # config.add_show_field Settings.FIELDS.MODIFIED, label: 'Date Modified', itemprop: 'modified'
204
- # config.add_show_field Settings.FIELDS.METADATA_VERSION, label: 'Metadata Version', itemprop: 'metadata_version'
205
- # config.add_show_field Settings.FIELDS.SUPPRESSED, label: 'Suppressed', itemprop: 'suppresed'
219
+ # config.add_show_field field_config.modified, label: 'Date Modified', itemprop: 'modified'
220
+ # config.add_show_field field_config.metadata_version, label: 'Metadata Version', itemprop: 'metadata_version'
221
+ # config.add_show_field field_config.suppressed, label: 'Suppressed', itemprop: 'suppresed'
206
222
 
207
223
  # "fielded" search configuration. Used by pulldown among other places.
208
224
  # For supported keys in hash, see rdoc for Blacklight::SearchFields
@@ -277,8 +293,10 @@ class CatalogController < ApplicationController
277
293
  # whether the sort is ascending or descending (it must be asc or desc
278
294
  # except in the relevancy case).
279
295
  config.add_sort_field "score desc, dct_title_sort asc", label: "Relevance"
280
- config.add_sort_field "#{Settings.FIELDS.INDEX_YEAR} desc, dct_title_sort asc", label: "Year (Newest first)"
281
- config.add_sort_field "#{Settings.FIELDS.INDEX_YEAR} asc, dct_title_sort asc", label: "Year (Oldest first)"
296
+ config.add_sort_field "#{field_config.index_year} desc, dct_title_sort asc",
297
+ label: "Year (Newest first)"
298
+ config.add_sort_field "#{field_config.index_year} asc, dct_title_sort asc",
299
+ label: "Year (Oldest first)"
282
300
  config.add_sort_field "dct_title_sort asc", label: "Title (A-Z)"
283
301
  config.add_sort_field "dct_title_sort desc", label: "Title (Z-A)"
284
302
 
@@ -299,9 +317,15 @@ class CatalogController < ApplicationController
299
317
  config.add_show_tools_partial(:sms, if: :render_sms_action?, callback: :sms_action, validator: :validate_sms_params)
300
318
 
301
319
  # Custom tools for GeoBlacklight
302
- config.add_show_tools_partial :metadata, if: proc { |_context, _config, options| options[:document] && (Settings.METADATA_SHOWN & options[:document].references.refs.map(&:type).map(&:to_s)).any? }
303
- config.add_show_tools_partial :arcgis, component: Geoblacklight::ArcgisComponent, if: proc { |_context, _config, options| options[:document] && options[:document].arcgis_urls.present? }
304
- config.add_show_tools_partial :data_dictionary, component: Geoblacklight::DataDictionaryDownloadComponent, if: proc { |_context, _config, options| options[:document] && options[:document].data_dictionary_download.present? }
320
+ config.add_show_tools_partial :metadata, if: proc { |_context, _config, options|
321
+ options[:document] && (gbl_config.metadata_shown & options[:document].references.refs.map(&:type).map(&:to_s)).any?
322
+ }
323
+ config.add_show_tools_partial :arcgis, component: Geoblacklight::ArcgisComponent,
324
+ if: proc { |_context, _config, options| options[:document]&.arcgis_urls.present? }
325
+ config.add_show_tools_partial :data_dictionary, component: Geoblacklight::DataDictionaryDownloadComponent,
326
+ if: proc { |_context, _config, options| options[:document]&.data_dictionary_download.present? }
327
+ config.add_show_tools_partial :web_services, component: Geoblacklight::WebServicesLinkComponent,
328
+ if: proc { |_context, _config, options| options[:document] && (gbl_config.webservices_shown & options[:document].references.refs.map(&:type).map(&:to_s)).any? }
305
329
 
306
330
  # Configure basemap provider for GeoBlacklight maps (uses https only basemap
307
331
  # providers with open licenses)
@@ -1,14 +1,14 @@
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
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
@@ -37,59 +37,58 @@ GBL_PARAMS:
37
37
 
38
38
  # Solr field mappings
39
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'
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
+ :LICENSE: "dct_license_sm"
60
+ :MEMBER_OF: "pcdm_memberOf_sm"
61
+ :METADATA_VERSION: "gbl_mdVersion_s"
62
+ :MODIFIED: "gbl_mdModified_dt"
63
+ :OVERLAP_FIELD: "solr_bboxtype"
64
+ :PUBLISHER: "dct_publisher_sm"
65
+ :PROVIDER: "schema_provider_s"
66
+ :REFERENCES: "dct_references_s"
67
+ :RELATION: "dct_relation_sm"
68
+ :REPLACES: "dct_replaces_sm"
69
+ :RESOURCE_CLASS: "gbl_resourceClass_sm"
70
+ :RESOURCE_TYPE: "gbl_resourceType_sm"
71
+ :RIGHTS: "dct_rights_sm"
72
+ :RIGHTS_HOLDER: "dct_rightsHolder_sm"
73
+ :SOURCE: "dct_source_sm"
74
+ :SPATIAL_COVERAGE: "dct_spatial_sm"
75
+ :GEOMETRY: "locn_geometry"
76
+ :SUBJECT: "dct_subject_sm"
77
+ :SUPPRESSED: "gbl_suppressed_b"
78
+ :TEMPORAL_COVERAGE: "dct_temporal_sm"
79
+ :TITLE: "dct_title_s"
80
+ :VERSION: "dct_isVersionOf_sm"
81
+ :WXS_IDENTIFIER: "gbl_wxsIdentifier_s"
83
82
 
84
83
  # Institution deployed at
85
- INSTITUTION: 'Stanford'
84
+ INSTITUTION: "Stanford"
86
85
 
87
86
  # Metadata shown in tool panel
88
87
  METADATA_SHOWN:
89
- - 'mods'
90
- - 'fgdc'
91
- - 'iso19139'
92
- - 'html'
88
+ - "mods"
89
+ - "fgdc"
90
+ - "iso19139"
91
+ - "html"
93
92
 
94
93
  # (For external Download) timeout and open_timeout parameters for Faraday
95
94
  TIMEOUT_DOWNLOAD: 180
@@ -102,19 +101,19 @@ USE_GEOM_FOR_RELATIONS_ICON: false
102
101
 
103
102
  # Web services shown in tool panel
104
103
  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'
104
+ - "wms"
105
+ - "tms"
106
+ - "wfs"
107
+ - "xyz"
108
+ - "wmts"
109
+ - "tilejson"
110
+ - "iiif"
111
+ - "feature_layer"
112
+ - "tiled_map_layer"
113
+ - "dynamic_map_layer"
114
+ - "image_map_layer"
115
+ - "cog"
116
+ - "pmtiles"
118
117
 
119
118
  # Display Notes to display / Non-prefixed default bootstrap class is alert-secondary
120
119
  DISPLAY_NOTES_SHOWN:
@@ -213,31 +212,30 @@ RELATIONSHIPS_SHOWN:
213
212
  # Vector data download formats to be displayed
214
213
  DOWNLOAD_FORMATS:
215
214
  VECTOR:
216
- - 'Shapefile'
217
- - 'KMZ'
218
- - 'GeoJSON'
219
- - 'CSV'
215
+ - "Shapefile"
216
+ - "KMZ"
217
+ - "GeoJSON"
218
+ - "CSV"
220
219
 
221
220
  # WMS Parameters
222
221
  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'
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
231
  LEAFLET:
233
- MAP:
234
232
  BOUNDSOVERLAY:
235
233
  INDEX:
236
- color: '#3388ff'
234
+ color: "#3388ff"
237
235
  SHOW:
238
- color: '#3388ff'
236
+ color: "#3388ff"
239
237
  STATIC_MAP:
240
- color: '#3388ff'
238
+ color: "#3388ff"
241
239
  SELECTED_COLOR: "#2C7FB8"
242
240
  SLEEP:
243
241
  SLEEP: true # set to false to disable
@@ -245,8 +243,8 @@ LEAFLET:
245
243
  SLEEPTIME: 750
246
244
  WAKETIME: 750
247
245
  HOVERTOWAKE: false
248
- MESSAGE: 'Click to Wake'
249
- BACKGROUND: 'rgba(214, 214, 214, .7)'
246
+ MESSAGE: "Click to Wake"
247
+ BACKGROUND: "rgba(214, 214, 214, .7)"
250
248
  SIDEBAR: false # set to true to display attribute table as sidebar on map
251
249
  LAYERS:
252
250
  DETECT_RETINA: true
@@ -268,39 +266,25 @@ LEAFLET:
268
266
  # Toggle the help text feature that offers users context
269
267
  HELP_TEXT:
270
268
  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'
269
+ - "cog"
270
+ - "dynamic_map_layer"
271
+ - "feature_layer"
272
+ - "iiif"
273
+ - "iiif_manifest"
274
+ - "image_map_layer"
275
+ - "index_map"
276
+ - "oembed"
277
+ - "pmtiles"
278
+ - "tiled_map_layer"
279
+ - "tilejson"
280
+ - "tms"
281
+ - "wms"
282
+ - "wmts"
283
+ - "xyz"
286
284
 
287
285
  # Enable catalog#show sidebar static map for items with the following viewer protocols
288
286
  SIDEBAR_STATIC_MAP:
289
- - 'iiif'
290
- - 'iiif_manifest'
287
+ - "iiif"
288
+ - "iiif_manifest"
291
289
 
292
- IIIF_DRAG_DROP_LINK: '@manifest?manifest=@manifest'
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
290
+ IIIF_DRAG_DROP_LINK: "@manifest?manifest=@manifest"
@@ -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_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