geoblacklight 4.4.2 → 5.0.0

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 (579) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build-demo-app.yml +156 -0
  3. data/.github/workflows/prune-containers.yml +19 -0
  4. data/.github/workflows/ruby.yml +51 -52
  5. data/.gitignore +2 -2
  6. data/CONTRIBUTING.md +62 -44
  7. data/Gemfile +3 -28
  8. data/Rakefile +50 -67
  9. data/app/assets/images/blacklight/logo.svg +31 -1
  10. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +1 -2
  11. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +1 -2
  12. data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +24 -26
  13. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +13 -0
  14. data/app/assets/stylesheets/geoblacklight/modules/home.scss +2 -17
  15. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +48 -23
  16. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +1 -15
  17. data/app/assets/stylesheets/geoblacklight/modules/item.scss +13 -11
  18. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +3 -3
  19. data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +4 -0
  20. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -15
  21. data/app/assets/stylesheets/geoblacklight/modules/results.scss +14 -19
  22. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +2 -2
  23. data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +46 -0
  24. data/app/components/blacklight/icons/arizona_component.rb +24 -0
  25. data/app/components/blacklight/icons/arrow_circle_down_component.rb +23 -0
  26. data/app/components/blacklight/icons/baruch_cuny_component.rb +23 -0
  27. data/app/components/blacklight/icons/book_component.rb +23 -0
  28. data/app/components/blacklight/icons/bookmark_component.rb +23 -0
  29. data/app/components/blacklight/icons/cd_rom_component.rb +23 -0
  30. data/app/components/blacklight/icons/child_item_component.rb +23 -0
  31. data/app/components/blacklight/icons/circle_info_solid_component.rb +23 -0
  32. data/app/components/blacklight/icons/citation_component.rb +23 -0
  33. data/app/components/blacklight/icons/collection_component.rb +23 -0
  34. data/app/components/blacklight/icons/collections_component.rb +24 -0
  35. data/app/components/blacklight/icons/columbia_component.rb +23 -0
  36. data/app/components/blacklight/icons/cornell_component.rb +25 -0
  37. data/app/components/blacklight/icons/datasets_component.rb +27 -0
  38. data/app/components/blacklight/icons/dvd_rom_component.rb +23 -0
  39. data/app/components/blacklight/icons/email_component.rb +23 -0
  40. data/app/components/blacklight/icons/esri_globe_component.rb +51 -0
  41. data/app/components/blacklight/icons/fire_solid_component.rb +23 -0
  42. data/app/components/blacklight/icons/george_mason_component.rb +24 -0
  43. data/app/components/blacklight/icons/globe_component.rb +23 -0
  44. data/app/components/blacklight/icons/harvard_component.rb +23 -0
  45. data/app/components/blacklight/icons/home_component.rb +23 -0
  46. data/app/components/blacklight/icons/iiif_drag_drop_component.rb +31 -0
  47. data/app/components/blacklight/icons/image_component.rb +23 -0
  48. data/app/components/blacklight/icons/imagery_component.rb +24 -0
  49. data/app/components/blacklight/icons/indiana_component.rb +23 -0
  50. data/app/components/blacklight/icons/leaf_component.rb +23 -0
  51. data/app/components/blacklight/icons/lewis_clark_component.rb +25 -0
  52. data/app/components/blacklight/icons/lightbulb_solid_component.rb +23 -0
  53. data/app/components/blacklight/icons/line_component.rb +24 -0
  54. data/app/components/blacklight/icons/map_component.rb +23 -0
  55. data/app/components/blacklight/icons/map_marker_component.rb +23 -0
  56. data/app/components/blacklight/icons/maps_component.rb +24 -0
  57. data/app/components/blacklight/icons/massgis_component.rb +23 -0
  58. data/app/components/blacklight/icons/metadata_component.rb +23 -0
  59. data/app/components/blacklight/icons/michigan_state_university_component.rb +25 -0
  60. data/app/components/blacklight/icons/mit_component.rb +23 -0
  61. data/app/components/blacklight/icons/mixed_component.rb +25 -0
  62. data/app/components/blacklight/icons/multilinestring_component.rb +26 -0
  63. data/app/components/blacklight/icons/multipoint_component.rb +23 -0
  64. data/app/components/blacklight/icons/multipolygon_component.rb +26 -0
  65. data/app/components/blacklight/icons/northwestern_university_component.rb +24 -0
  66. data/app/components/blacklight/icons/nyu_component.rb +26 -0
  67. data/app/components/blacklight/icons/pagelines_brands_component.rb +23 -0
  68. data/app/components/blacklight/icons/paper_map_component.rb +23 -0
  69. data/app/components/blacklight/icons/parent_item_component.rb +23 -0
  70. data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +25 -0
  71. data/app/components/blacklight/icons/point_component.rb +23 -0
  72. data/app/components/blacklight/icons/polygon_component.rb +24 -0
  73. data/app/components/blacklight/icons/polyline_component.rb +26 -0
  74. data/app/components/blacklight/icons/princeton_component.rb +23 -0
  75. data/app/components/blacklight/icons/public_component.rb +23 -0
  76. data/app/components/blacklight/icons/purdue_university_component.rb +25 -0
  77. data/app/components/blacklight/icons/raster_component.rb +23 -0
  78. data/app/components/blacklight/icons/restricted_component.rb +23 -0
  79. data/app/components/blacklight/icons/rutgers_component.rb +25 -0
  80. data/app/components/blacklight/icons/sms_component.rb +23 -0
  81. data/app/components/blacklight/icons/stanford_component.rb +23 -0
  82. data/app/components/blacklight/icons/table_component.rb +23 -0
  83. data/app/components/blacklight/icons/tags_component.rb +23 -0
  84. data/app/components/blacklight/icons/texas_component.rb +23 -0
  85. data/app/components/blacklight/icons/the_ohio_state_university_component.rb +26 -0
  86. data/app/components/blacklight/icons/triangle_exclamation_solid_component.rb +23 -0
  87. data/app/components/blacklight/icons/tufts_component.rb +23 -0
  88. data/app/components/blacklight/icons/ucla_component.rb +23 -0
  89. data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +24 -0
  90. data/app/components/blacklight/icons/university_of_chicago_component.rb +25 -0
  91. data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +26 -0
  92. data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +25 -0
  93. data/app/components/blacklight/icons/university_of_iowa_component.rb +24 -0
  94. data/app/components/blacklight/icons/university_of_maryland_component.rb +24 -0
  95. data/app/components/blacklight/icons/university_of_michigan_component.rb +24 -0
  96. data/app/components/blacklight/icons/university_of_minnesota_component.rb +24 -0
  97. data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +27 -0
  98. data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +24 -0
  99. data/app/components/blacklight/icons/uva_component.rb +23 -0
  100. data/app/components/blacklight/icons/web_services_component.rb +23 -0
  101. data/app/components/blacklight/icons/websites_component.rb +24 -0
  102. data/app/components/geoblacklight/arcgis_component.html.erb +3 -0
  103. data/app/components/geoblacklight/arcgis_component.rb +25 -0
  104. data/app/components/geoblacklight/attribute_table_component.html.erb +17 -0
  105. data/app/components/geoblacklight/attribute_table_component.rb +17 -0
  106. data/app/components/geoblacklight/data_dictionary_download_component.html.erb +3 -0
  107. data/app/components/geoblacklight/data_dictionary_download_component.rb +16 -0
  108. data/app/components/geoblacklight/display_note_component.rb +1 -1
  109. data/app/components/geoblacklight/document/citation_component.html.erb +1 -0
  110. data/app/components/geoblacklight/document/citation_component.rb +19 -0
  111. data/app/components/geoblacklight/document/sidebar_component.html.erb +12 -0
  112. data/app/components/geoblacklight/document/sidebar_component.rb +8 -0
  113. data/app/components/geoblacklight/document_component.html.erb +43 -0
  114. data/app/components/geoblacklight/document_component.rb +6 -0
  115. data/app/components/geoblacklight/download_links_component.html.erb +31 -0
  116. data/app/components/geoblacklight/download_links_component.rb +80 -0
  117. data/app/components/geoblacklight/header_component.html.erb +14 -0
  118. data/app/components/geoblacklight/header_component.rb +9 -0
  119. data/app/components/geoblacklight/header_icons_component.html.erb +3 -0
  120. data/app/components/geoblacklight/header_icons_component.rb +29 -0
  121. data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +3 -0
  122. data/app/components/geoblacklight/iiif_drag_drop_component.rb +16 -0
  123. data/app/components/geoblacklight/index_map_inspect_component.rb +15 -0
  124. data/app/components/geoblacklight/index_map_legend_component.html.erb +14 -0
  125. data/app/components/geoblacklight/index_map_legend_component.rb +17 -0
  126. data/app/components/geoblacklight/item_map_viewer_component.html.erb +1 -0
  127. data/app/components/geoblacklight/item_map_viewer_component.rb +87 -0
  128. data/app/components/geoblacklight/location_leaflet_map_component.html.erb +1 -0
  129. data/app/components/geoblacklight/location_leaflet_map_component.rb +49 -0
  130. data/app/components/geoblacklight/login_link_component.html.erb +5 -0
  131. data/app/components/geoblacklight/login_link_component.rb +17 -0
  132. data/app/components/geoblacklight/relations_component.html.erb +23 -0
  133. data/app/components/geoblacklight/relations_component.rb +25 -0
  134. data/app/components/geoblacklight/search_result_component.html.erb +44 -0
  135. data/app/{presenters/geoblacklight/document_presenter.rb → components/geoblacklight/search_result_component.rb} +9 -6
  136. data/app/components/geoblacklight/static_map_component.html.erb +9 -0
  137. data/app/components/geoblacklight/static_map_component.rb +38 -0
  138. data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -0
  139. data/app/components/geoblacklight/viewer_help_text_component.rb +46 -0
  140. data/app/components/geoblacklight/web_services_component.html.erb +1 -0
  141. data/app/components/geoblacklight/web_services_component.rb +26 -0
  142. data/app/{views/catalog/_web_services_default.html.erb → components/geoblacklight/web_services_default_component.html.erb} +3 -5
  143. data/app/components/geoblacklight/web_services_default_component.rb +11 -0
  144. data/app/components/geoblacklight/web_services_link_component.html.erb +3 -0
  145. data/app/components/geoblacklight/web_services_link_component.rb +22 -0
  146. data/app/{views/catalog/_web_services_wfs.html.erb → components/geoblacklight/web_services_wfs_component.html.erb} +4 -7
  147. data/app/components/geoblacklight/web_services_wfs_component.rb +12 -0
  148. data/app/components/geoblacklight/web_services_wms_component.html.erb +10 -0
  149. data/app/components/geoblacklight/web_services_wms_component.rb +12 -0
  150. data/app/controllers/download_controller.rb +8 -24
  151. data/app/helpers/geoblacklight_helper.rb +10 -194
  152. data/app/javascript/geoblacklight/controllers/clipboard_controller.js +11 -0
  153. data/app/javascript/geoblacklight/controllers/clover_viewer_controller.js +47 -0
  154. data/app/javascript/geoblacklight/controllers/downloads_controller.js +56 -0
  155. data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +220 -0
  156. data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +18 -0
  157. data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +63 -0
  158. data/app/javascript/geoblacklight/controllers/search_results_controller.js +50 -0
  159. data/app/javascript/geoblacklight/core.js +69 -0
  160. data/app/javascript/geoblacklight/index.js +29 -0
  161. data/app/javascript/geoblacklight/initializers/metadata_download.js +54 -0
  162. data/app/javascript/geoblacklight/initializers/popovers.js +11 -0
  163. data/app/javascript/geoblacklight/initializers/relations.js +40 -0
  164. data/app/javascript/geoblacklight/initializers/tooltips.js +55 -0
  165. data/app/javascript/geoblacklight/initializers/truncation.js +45 -0
  166. data/app/javascript/geoblacklight/leaflet/basemaps.js +74 -0
  167. data/app/javascript/geoblacklight/leaflet/constants.js +18 -0
  168. data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +160 -0
  169. data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +120 -0
  170. data/app/javascript/geoblacklight/leaflet/controls/sleep.js +100 -0
  171. data/app/javascript/geoblacklight/leaflet/inspection.js +195 -0
  172. data/app/javascript/geoblacklight/leaflet/layer_index_map.js +120 -0
  173. data/app/javascript/geoblacklight/leaflet/layer_wmts.js +59 -0
  174. data/app/javascript/geoblacklight/leaflet/layers.js +153 -0
  175. data/app/javascript/geoblacklight/leaflet/utils.js +83 -0
  176. data/app/javascript/geoblacklight/openlayers/basemaps.js +47 -0
  177. data/app/javascript/geoblacklight/openlayers/layers.js +44 -0
  178. data/app/models/concerns/geoblacklight/solr_document/citation.rb +20 -8
  179. data/app/models/concerns/geoblacklight/solr_document.rb +22 -30
  180. data/app/presenters/geoblacklight/bbox_item_presenter.rb +1 -1
  181. data/app/views/catalog/_citation.html.erb +16 -33
  182. data/app/views/catalog/_document_split.html.erb +18 -3
  183. data/app/views/catalog/_home_text.html.erb +2 -2
  184. data/app/views/catalog/_metadata.html.erb +1 -1
  185. data/app/views/catalog/index.html.erb +8 -4
  186. data/app/views/catalog/metadata/_markup.html.erb +1 -1
  187. data/app/views/catalog/metadata.html.erb +14 -13
  188. data/app/views/catalog/web_services.html.erb +19 -28
  189. data/app/views/relation/index.html.erb +2 -12
  190. data/app/views/relation/index.json.jbuilder +1 -1
  191. data/compose.yml +14 -0
  192. data/config/importmap.rb +20 -0
  193. data/config/locales/geoblacklight.en.yml +15 -24
  194. data/geoblacklight.gemspec +8 -7
  195. data/lib/generators/geoblacklight/assets/importmap_generator.rb +82 -0
  196. data/lib/generators/geoblacklight/assets/vite_generator.rb +92 -0
  197. data/lib/generators/geoblacklight/assets_generator.rb +12 -37
  198. data/lib/generators/geoblacklight/install_generator.rb +11 -49
  199. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +13 -19
  200. data/lib/generators/geoblacklight/templates/assets/application.js +17 -0
  201. data/lib/generators/geoblacklight/templates/assets/application.scss +9 -4
  202. data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +11 -0
  203. data/lib/generators/geoblacklight/templates/base.html.erb +6 -12
  204. data/lib/generators/geoblacklight/templates/catalog_controller.rb +7 -15
  205. data/lib/generators/geoblacklight/templates/demo-app/Dockerfile +31 -0
  206. data/lib/generators/geoblacklight/templates/demo-app/compose.yml +26 -0
  207. data/lib/generators/geoblacklight/templates/demo-app/start-server.sh +21 -0
  208. data/lib/generators/geoblacklight/templates/settings.yml +53 -40
  209. data/lib/generators/geoblacklight/templates/vite.config.ts +22 -7
  210. data/lib/geoblacklight/bounding_box.rb +16 -0
  211. data/lib/geoblacklight/constants.rb +0 -1
  212. data/lib/geoblacklight/download/csv_download.rb +22 -0
  213. data/lib/geoblacklight/download/geojson_download.rb +1 -1
  214. data/lib/geoblacklight/download/geotiff_download.rb +1 -1
  215. data/lib/geoblacklight/download/kmz_download.rb +1 -1
  216. data/lib/geoblacklight/download/shapefile_download.rb +1 -1
  217. data/lib/geoblacklight/download.rb +1 -1
  218. data/lib/geoblacklight/engine.rb +15 -6
  219. data/lib/geoblacklight/item_viewer.rb +1 -1
  220. data/lib/geoblacklight/metadata/base.rb +2 -1
  221. data/lib/geoblacklight/references.rb +27 -8
  222. data/lib/geoblacklight/routes/downloadable.rb +0 -1
  223. data/lib/geoblacklight/routes.rb +0 -3
  224. data/lib/geoblacklight/version.rb +1 -1
  225. data/lib/geoblacklight/wms_layer/feature_info_response.rb +9 -6
  226. data/lib/geoblacklight.rb +6 -30
  227. data/lib/tasks/geoblacklight.rake +24 -60
  228. data/package.json +24 -17
  229. data/solr/conf/schema.xml +15 -13
  230. data/solr/conf/solrconfig.xml +6 -4
  231. data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +15 -0
  232. data/spec/components/blacklight/icons/arizona_component_spec.rb +15 -0
  233. data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +15 -0
  234. data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +15 -0
  235. data/spec/components/blacklight/icons/book_component_spec.rb +15 -0
  236. data/spec/components/blacklight/icons/bookmark_component_spec.rb +15 -0
  237. data/spec/components/blacklight/icons/cd_rom_component_spec.rb +15 -0
  238. data/spec/components/blacklight/icons/child_item_component_spec.rb +15 -0
  239. data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +15 -0
  240. data/spec/components/blacklight/icons/citation_component_spec.rb +15 -0
  241. data/spec/components/blacklight/icons/collection_component_spec.rb +15 -0
  242. data/spec/components/blacklight/icons/collections_component_spec.rb +15 -0
  243. data/spec/components/blacklight/icons/columbia_component_spec.rb +15 -0
  244. data/spec/components/blacklight/icons/cornell_component_spec.rb +15 -0
  245. data/spec/components/blacklight/icons/datasets_component_spec.rb +15 -0
  246. data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +15 -0
  247. data/spec/components/blacklight/icons/email_component_spec.rb +15 -0
  248. data/spec/components/blacklight/icons/esri_globe_component_spec.rb +15 -0
  249. data/spec/components/blacklight/icons/fire_solid_component_spec.rb +15 -0
  250. data/spec/components/blacklight/icons/george_mason_component_spec.rb +15 -0
  251. data/spec/components/blacklight/icons/globe_component_spec.rb +15 -0
  252. data/spec/components/blacklight/icons/harvard_component_spec.rb +15 -0
  253. data/spec/components/blacklight/icons/home_component_spec.rb +15 -0
  254. data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +15 -0
  255. data/spec/components/blacklight/icons/image_component_spec.rb +15 -0
  256. data/spec/components/blacklight/icons/imagery_component_spec.rb +15 -0
  257. data/spec/components/blacklight/icons/indiana_component_spec.rb +15 -0
  258. data/spec/components/blacklight/icons/leaf_component_spec.rb +15 -0
  259. data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +15 -0
  260. data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +15 -0
  261. data/spec/components/blacklight/icons/line_component_spec.rb +15 -0
  262. data/spec/components/blacklight/icons/map_component_spec.rb +15 -0
  263. data/spec/components/blacklight/icons/map_marker_component_spec.rb +15 -0
  264. data/spec/components/blacklight/icons/maps_component_spec.rb +15 -0
  265. data/spec/components/blacklight/icons/massgis_component_spec.rb +15 -0
  266. data/spec/components/blacklight/icons/metadata_component_spec.rb +15 -0
  267. data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +15 -0
  268. data/spec/components/blacklight/icons/mit_component_spec.rb +15 -0
  269. data/spec/components/blacklight/icons/mixed_component_spec.rb +15 -0
  270. data/spec/components/blacklight/icons/multilinestring_component_spec.rb +15 -0
  271. data/spec/components/blacklight/icons/multipoint_component_spec.rb +15 -0
  272. data/spec/components/blacklight/icons/multipolygon_component_spec.rb +15 -0
  273. data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +15 -0
  274. data/spec/components/blacklight/icons/nyu_component_spec.rb +15 -0
  275. data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +15 -0
  276. data/spec/components/blacklight/icons/paper_map_component_spec.rb +15 -0
  277. data/spec/components/blacklight/icons/parent_item_component_spec.rb +15 -0
  278. data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +15 -0
  279. data/spec/components/blacklight/icons/point_component_spec.rb +15 -0
  280. data/spec/components/blacklight/icons/polygon_component_spec.rb +15 -0
  281. data/spec/components/blacklight/icons/polyline_component_spec.rb +15 -0
  282. data/spec/components/blacklight/icons/princeton_component_spec.rb +15 -0
  283. data/spec/components/blacklight/icons/public_component_spec.rb +15 -0
  284. data/spec/components/blacklight/icons/purdue_university_component_spec.rb +15 -0
  285. data/spec/components/blacklight/icons/raster_component_spec.rb +15 -0
  286. data/spec/components/blacklight/icons/restricted_component_spec.rb +15 -0
  287. data/spec/components/blacklight/icons/rutgers_component_spec.rb +15 -0
  288. data/spec/components/blacklight/icons/sms_component_spec.rb +15 -0
  289. data/spec/components/blacklight/icons/stanford_component_spec.rb +15 -0
  290. data/spec/components/blacklight/icons/table_component_spec.rb +15 -0
  291. data/spec/components/blacklight/icons/tags_component_spec.rb +15 -0
  292. data/spec/components/blacklight/icons/texas_component_spec.rb +15 -0
  293. data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +15 -0
  294. data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +15 -0
  295. data/spec/components/blacklight/icons/tufts_component_spec.rb +15 -0
  296. data/spec/components/blacklight/icons/ucla_component_spec.rb +15 -0
  297. data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +15 -0
  298. data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +15 -0
  299. data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +15 -0
  300. data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +15 -0
  301. data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +15 -0
  302. data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +15 -0
  303. data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +15 -0
  304. data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +15 -0
  305. data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +15 -0
  306. data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +15 -0
  307. data/spec/components/blacklight/icons/uva_component_spec.rb +15 -0
  308. data/spec/components/blacklight/icons/web_services_component_spec.rb +15 -0
  309. data/spec/components/blacklight/icons/websites_component_spec.rb +15 -0
  310. data/spec/components/geoblacklight/arcgis_component_spec.rb +31 -0
  311. data/spec/components/geoblacklight/attribute_table_component_spec.rb +37 -0
  312. data/spec/components/geoblacklight/citation_component_spec.rb +37 -0
  313. data/spec/components/geoblacklight/document_component_spec.rb +92 -0
  314. data/spec/components/geoblacklight/download_links_component_spec.rb +102 -0
  315. data/spec/components/geoblacklight/header_icons_component_spec.rb +56 -0
  316. data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +30 -0
  317. data/spec/components/geoblacklight/index_map_legend_component_spec.rb +42 -0
  318. data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +36 -0
  319. data/spec/components/geoblacklight/login_link_component_spec.rb +33 -0
  320. data/spec/{lib/geoblacklight/document_presenter_spec.rb → components/geoblacklight/search_result_component_spec.rb} +19 -11
  321. data/spec/components/geoblacklight/static_map_component_spec.rb +22 -0
  322. data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +28 -0
  323. data/spec/components/geoblacklight/web_services_component_spec.rb +45 -0
  324. data/spec/controllers/download_controller_spec.rb +12 -35
  325. data/spec/features/axe_spec.rb +66 -0
  326. data/spec/features/bookmarks_spec.rb +1 -1
  327. data/spec/features/citations_spec.rb +7 -3
  328. data/spec/features/download_layer_spec.rb +24 -39
  329. data/spec/features/esri_viewer_spec.rb +1 -1
  330. data/spec/features/exports_spec.rb +0 -15
  331. data/spec/features/{full_screen_controll_spec.rb → full_screen_control_spec.rb} +6 -6
  332. data/spec/features/home_page_spec.rb +12 -7
  333. data/spec/features/iiif_viewer_spec.rb +1 -1
  334. data/spec/features/index_map_spec.rb +16 -9
  335. data/spec/features/{split_view.html.erb_spec.rb → index_view_spec.rb} +15 -13
  336. data/spec/features/layer_inspection_spec.rb +2 -2
  337. data/spec/features/layer_preview_spec.rb +1 -1
  338. data/spec/features/missing_metadata_spec.rb +5 -5
  339. data/spec/features/oembed_spec.rb +2 -2
  340. data/spec/features/saved_searches_spec.rb +4 -1
  341. data/spec/features/search_results_complex_geometry_spec.rb +2 -2
  342. data/spec/features/search_results_icons_spec.rb +3 -3
  343. data/spec/features/search_results_map_spec.rb +4 -36
  344. data/spec/features/search_results_overlap_ratio_spec.rb +1 -1
  345. data/spec/features/show_page_download_spec.rb +0 -8
  346. data/spec/features/tilejson_spec.rb +2 -2
  347. data/spec/features/web_services_modal_spec.rb +57 -39
  348. data/spec/features/wmts_spec.rb +4 -4
  349. data/spec/fixtures/solr_documents/README.md +2 -1
  350. data/spec/fixtures/solr_documents/complex-geom.json +61 -0
  351. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +45 -24
  352. data/spec/fixtures/solr_documents/harvard_raster.json +1 -1
  353. data/spec/fixtures/solr_documents/multiple-downloads.json +1 -0
  354. data/spec/helpers/geoblacklight_helper_spec.rb +8 -173
  355. data/spec/lib/geoblacklight/download/csv_download_spec.rb +21 -0
  356. data/spec/lib/geoblacklight/reference_spec.rb +17 -19
  357. data/spec/lib/geoblacklight/references_spec.rb +31 -17
  358. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +8 -6
  359. data/spec/lib/geoblacklight/wms_layer_spec.rb +14 -0
  360. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
  361. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -21
  362. data/spec/spec_helper.rb +3 -28
  363. data/spec/test_app_templates/lib/generators/test_app_generator.rb +2 -20
  364. data/template.rb +20 -11
  365. data/test/leaflet/layers.test.js +17 -0
  366. data/vite.config.ts +34 -23
  367. metadata +306 -259
  368. data/.hound.yml +0 -8
  369. data/.jshintignore +0 -2
  370. data/.jshintrc +0 -67
  371. data/.solr_wrapper +0 -6
  372. data/app/assets/images/blacklight/american-geographical-society-library-uwm-libraries.svg +0 -26
  373. data/app/assets/images/blacklight/arizona.svg +0 -4
  374. data/app/assets/images/blacklight/arrow-circle-down.svg +0 -3
  375. data/app/assets/images/blacklight/baruch-cuny.svg +0 -3
  376. data/app/assets/images/blacklight/book.svg +0 -3
  377. data/app/assets/images/blacklight/bookmark.svg +0 -3
  378. data/app/assets/images/blacklight/cd-rom.svg +0 -3
  379. data/app/assets/images/blacklight/chicago.svg +0 -4
  380. data/app/assets/images/blacklight/child-item.svg +0 -3
  381. data/app/assets/images/blacklight/circle-info-solid.svg +0 -1
  382. data/app/assets/images/blacklight/citation.svg +0 -3
  383. data/app/assets/images/blacklight/collection.svg +0 -3
  384. data/app/assets/images/blacklight/collections.svg +0 -4
  385. data/app/assets/images/blacklight/columbia.svg +0 -3
  386. data/app/assets/images/blacklight/cornell.svg +0 -5
  387. data/app/assets/images/blacklight/datasets.svg +0 -7
  388. data/app/assets/images/blacklight/dvd-rom.svg +0 -3
  389. data/app/assets/images/blacklight/email.svg +0 -3
  390. data/app/assets/images/blacklight/esri-globe.svg +0 -31
  391. data/app/assets/images/blacklight/fire-solid.svg +0 -1
  392. data/app/assets/images/blacklight/geoblacklight-icons.json +0 -3312
  393. data/app/assets/images/blacklight/george-mason.svg +0 -4
  394. data/app/assets/images/blacklight/globe.svg +0 -3
  395. data/app/assets/images/blacklight/harvard.svg +0 -3
  396. data/app/assets/images/blacklight/home.svg +0 -3
  397. data/app/assets/images/blacklight/illinois.svg +0 -4
  398. data/app/assets/images/blacklight/image.svg +0 -3
  399. data/app/assets/images/blacklight/imagery.svg +0 -4
  400. data/app/assets/images/blacklight/indiana.svg +0 -3
  401. data/app/assets/images/blacklight/iowa.svg +0 -3
  402. data/app/assets/images/blacklight/leaf.svg +0 -3
  403. data/app/assets/images/blacklight/lewis-clark.svg +0 -5
  404. data/app/assets/images/blacklight/lightbulb-solid.svg +0 -1
  405. data/app/assets/images/blacklight/line.svg +0 -4
  406. data/app/assets/images/blacklight/map-marker.svg +0 -3
  407. data/app/assets/images/blacklight/map.svg +0 -3
  408. data/app/assets/images/blacklight/maps.svg +0 -4
  409. data/app/assets/images/blacklight/maryland.svg +0 -3
  410. data/app/assets/images/blacklight/massgis.svg +0 -3
  411. data/app/assets/images/blacklight/metadata.svg +0 -3
  412. data/app/assets/images/blacklight/michigan-state-university.svg +0 -5
  413. data/app/assets/images/blacklight/michigan-state.svg +0 -4
  414. data/app/assets/images/blacklight/michigan.svg +0 -3
  415. data/app/assets/images/blacklight/minnesota.svg +0 -3
  416. data/app/assets/images/blacklight/mit.svg +0 -3
  417. data/app/assets/images/blacklight/mixed.svg +0 -5
  418. data/app/assets/images/blacklight/multilinestring.svg +0 -6
  419. data/app/assets/images/blacklight/multipoint.svg +0 -3
  420. data/app/assets/images/blacklight/multipolygon.svg +0 -6
  421. data/app/assets/images/blacklight/nebraska.svg +0 -4
  422. data/app/assets/images/blacklight/northwestern-university.svg +0 -5
  423. data/app/assets/images/blacklight/nyu.svg +0 -6
  424. data/app/assets/images/blacklight/ohio-state.svg +0 -5
  425. data/app/assets/images/blacklight/pagelines-brands.svg +0 -3
  426. data/app/assets/images/blacklight/paper-map.svg +0 -3
  427. data/app/assets/images/blacklight/parent-item.svg +0 -3
  428. data/app/assets/images/blacklight/penn-state.svg +0 -4
  429. data/app/assets/images/blacklight/pennsylvania-state-university.svg +0 -5
  430. data/app/assets/images/blacklight/point.svg +0 -3
  431. data/app/assets/images/blacklight/polygon.svg +0 -4
  432. data/app/assets/images/blacklight/polyline.svg +0 -6
  433. data/app/assets/images/blacklight/princeton.svg +0 -3
  434. data/app/assets/images/blacklight/public.svg +0 -3
  435. data/app/assets/images/blacklight/purdue-university.svg +0 -5
  436. data/app/assets/images/blacklight/purdue.svg +0 -4
  437. data/app/assets/images/blacklight/raster.svg +0 -3
  438. data/app/assets/images/blacklight/restricted.svg +0 -3
  439. data/app/assets/images/blacklight/rutgers.svg +0 -5
  440. data/app/assets/images/blacklight/sms.svg +0 -3
  441. data/app/assets/images/blacklight/stanford.svg +0 -3
  442. data/app/assets/images/blacklight/table.svg +0 -3
  443. data/app/assets/images/blacklight/tags.svg +0 -3
  444. data/app/assets/images/blacklight/texas.svg +0 -3
  445. data/app/assets/images/blacklight/the-ohio-state-university.svg +0 -6
  446. data/app/assets/images/blacklight/triangle-exclamation-solid.svg +0 -1
  447. data/app/assets/images/blacklight/tufts.svg +0 -3
  448. data/app/assets/images/blacklight/ucla.svg +0 -3
  449. data/app/assets/images/blacklight/university-of-california-berkeley.svg +0 -4
  450. data/app/assets/images/blacklight/university-of-chicago.svg +0 -5
  451. data/app/assets/images/blacklight/university-of-colorado-boulder.svg +0 -6
  452. data/app/assets/images/blacklight/university-of-illinois-urbana-champaign.svg +0 -5
  453. data/app/assets/images/blacklight/university-of-iowa.svg +0 -4
  454. data/app/assets/images/blacklight/university-of-maryland.svg +0 -4
  455. data/app/assets/images/blacklight/university-of-michigan.svg +0 -4
  456. data/app/assets/images/blacklight/university-of-minnesota.svg +0 -4
  457. data/app/assets/images/blacklight/university-of-nebraska-lincoln.svg +0 -7
  458. data/app/assets/images/blacklight/university-of-wisconsin-madison.svg +0 -4
  459. data/app/assets/images/blacklight/uva.svg +0 -3
  460. data/app/assets/images/blacklight/web_services.svg +0 -3
  461. data/app/assets/images/blacklight/websites.svg +0 -4
  462. data/app/assets/images/blacklight/wisconsin.svg +0 -3
  463. data/app/assets/javascripts/geoblacklight/basemaps.js +0 -85
  464. data/app/assets/javascripts/geoblacklight/controls/fullscreen.js +0 -8
  465. data/app/assets/javascripts/geoblacklight/controls/opacity.js +0 -6
  466. data/app/assets/javascripts/geoblacklight/controls.js +0 -1
  467. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +0 -61
  468. data/app/assets/javascripts/geoblacklight/downloaders/hgl_downloader.js +0 -32
  469. data/app/assets/javascripts/geoblacklight/downloaders.js +0 -1
  470. data/app/assets/javascripts/geoblacklight/geoblacklight.js +0 -60
  471. data/app/assets/javascripts/geoblacklight/modules/bookmarks.js +0 -43
  472. data/app/assets/javascripts/geoblacklight/modules/download.js +0 -11
  473. data/app/assets/javascripts/geoblacklight/modules/geosearch.js +0 -133
  474. data/app/assets/javascripts/geoblacklight/modules/help_text.js +0 -7
  475. data/app/assets/javascripts/geoblacklight/modules/home.js +0 -16
  476. data/app/assets/javascripts/geoblacklight/modules/item.js +0 -32
  477. data/app/assets/javascripts/geoblacklight/modules/layer_opacity.js +0 -68
  478. data/app/assets/javascripts/geoblacklight/modules/metadata.js +0 -15
  479. data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +0 -58
  480. data/app/assets/javascripts/geoblacklight/modules/relations.js +0 -14
  481. data/app/assets/javascripts/geoblacklight/modules/results.js +0 -81
  482. data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +0 -31
  483. data/app/assets/javascripts/geoblacklight/modules/util.js +0 -48
  484. data/app/assets/javascripts/geoblacklight/modules.js +0 -1
  485. data/app/assets/javascripts/geoblacklight/templates/index_map_download.hbs +0 -19
  486. data/app/assets/javascripts/geoblacklight/templates/index_map_info.hbs +0 -61
  487. data/app/assets/javascripts/geoblacklight/viewers/cog.js +0 -5
  488. data/app/assets/javascripts/geoblacklight/viewers/esri/dynamic_map_layer.js +0 -85
  489. data/app/assets/javascripts/geoblacklight/viewers/esri/feature_layer.js +0 -76
  490. data/app/assets/javascripts/geoblacklight/viewers/esri/image_map_layer.js +0 -14
  491. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +0 -50
  492. data/app/assets/javascripts/geoblacklight/viewers/esri.js +0 -78
  493. data/app/assets/javascripts/geoblacklight/viewers/iiif.js +0 -25
  494. data/app/assets/javascripts/geoblacklight/viewers/index_map.js +0 -71
  495. data/app/assets/javascripts/geoblacklight/viewers/map.js +0 -77
  496. data/app/assets/javascripts/geoblacklight/viewers/oembed.js +0 -13
  497. data/app/assets/javascripts/geoblacklight/viewers/pmtiles.js +0 -5
  498. data/app/assets/javascripts/geoblacklight/viewers/tilejson.js +0 -33
  499. data/app/assets/javascripts/geoblacklight/viewers/tms.js +0 -10
  500. data/app/assets/javascripts/geoblacklight/viewers/viewer.js +0 -68
  501. data/app/assets/javascripts/geoblacklight/viewers/wms.js +0 -74
  502. data/app/assets/javascripts/geoblacklight/viewers/wmts.js +0 -85
  503. data/app/assets/javascripts/geoblacklight/viewers/xyz.js +0 -10
  504. data/app/assets/javascripts/geoblacklight/viewers.js +0 -1
  505. data/app/assets/stylesheets/geoblacklight/modules/facets.scss +0 -5
  506. data/app/assets/stylesheets/geoblacklight/modules/mixins.scss +0 -5
  507. data/app/helpers/arcgis_helper.rb +0 -14
  508. data/app/helpers/blacklight_helper.rb +0 -11
  509. data/app/helpers/carto_helper.rb +0 -31
  510. data/app/helpers/geoblacklight/geoblacklight_helper_behavior.rb +0 -18
  511. data/app/javascript/clover/clover_initializer.js +0 -29
  512. data/app/javascript/index.js +0 -7
  513. data/app/javascript/openlayers/basemaps.js +0 -47
  514. data/app/javascript/openlayers/ol_initializer.js +0 -106
  515. data/app/javascript/stylesheets/openlayers.css +0 -1
  516. data/app/models/concerns/geoblacklight/solr_document/carto.rb +0 -17
  517. data/app/views/catalog/_arcgis.html.erb +0 -4
  518. data/app/views/catalog/_carto.html.erb +0 -4
  519. data/app/views/catalog/_data_dictionary.html.erb +0 -5
  520. data/app/views/catalog/_downloads_collapse.html.erb +0 -27
  521. data/app/views/catalog/_header_icons.html.erb +0 -3
  522. data/app/views/catalog/_index_split_default.html.erb +0 -30
  523. data/app/views/catalog/_results_pagination.html.erb +0 -12
  524. data/app/views/catalog/_show_default_attribute_table.html.erb +0 -19
  525. data/app/views/catalog/_show_default_display_note.html.erb +0 -7
  526. data/app/views/catalog/_show_default_viewer_container.html.erb +0 -28
  527. data/app/views/catalog/_show_downloads.html.erb +0 -23
  528. data/app/views/catalog/_show_header_default.html.erb +0 -4
  529. data/app/views/catalog/_show_sidebar.html.erb +0 -16
  530. data/app/views/catalog/_show_sidebar_static_map.html.erb +0 -10
  531. data/app/views/catalog/_show_web_services.html.erb +0 -11
  532. data/app/views/catalog/_web_services.html.erb +0 -9
  533. data/app/views/catalog/_web_services_wms.html.erb +0 -13
  534. data/app/views/download/hgl.html.erb +0 -27
  535. data/app/views/relation/_relations.html.erb +0 -15
  536. data/app/views/shared/_header_navbar.html.erb +0 -46
  537. data/babel.config.json +0 -4
  538. data/jest.config.js +0 -25
  539. data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +0 -1
  540. data/lib/generators/geoblacklight/templates/assets/_geoblacklight.scss +0 -1
  541. data/lib/generators/geoblacklight/templates/assets/geoblacklight.js +0 -9
  542. data/lib/generators/geoblacklight/templates/clover.js +0 -5
  543. data/lib/generators/geoblacklight/templates/ol.js +0 -6
  544. data/lib/generators/geoblacklight/templates/package-test.json +0 -10
  545. data/lib/generators/geoblacklight/templates/package.json +0 -10
  546. data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +0 -195
  547. data/lib/geoblacklight/download/hgl_download.rb +0 -20
  548. data/lib/geoblacklight/view_helper_override.rb +0 -16
  549. data/setupJest.js +0 -14
  550. data/spec/helpers/arcgis_helper_spec.rb +0 -16
  551. data/spec/helpers/carto_helper_spec.rb +0 -13
  552. data/spec/helpers/geoblacklight/geoblacklight_helper_behavior_spec.rb +0 -27
  553. data/spec/javascripts/util_spec.js +0 -10
  554. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +0 -62
  555. data/spec/lib/geoblacklight/view_helper_override_spec.rb +0 -29
  556. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +0 -43
  557. data/spec/test_app_templates/Gemfile.extra +0 -2
  558. data/spec/views/catalog/_document_split.html.erb_spec.rb +0 -7
  559. data/spec/views/catalog/_index_split.html.erb_spec.rb +0 -7
  560. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +0 -11
  561. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +0 -43
  562. data/spec/views/catalog/_show_tools.html.erb_spec.rb +0 -38
  563. data/vendor/assets/images/fullscreen.png +0 -0
  564. data/vendor/assets/images/fullscreen@2x.png +0 -0
  565. data/vendor/assets/images/layers-2x.png +0 -0
  566. data/vendor/assets/images/layers.png +0 -0
  567. data/vendor/assets/images/marker-icon-2x.png +0 -0
  568. data/vendor/assets/images/marker-icon.png +0 -0
  569. data/vendor/assets/images/marker-shadow.png +0 -0
  570. data/vendor/assets/javascripts/Leaflet.fullscreen.js +0 -152
  571. data/vendor/assets/javascripts/esri-leaflet.js +0 -12
  572. data/vendor/assets/javascripts/esri-leaflet.js.map +0 -1
  573. data/vendor/assets/javascripts/leaflet-iiif.js +0 -323
  574. data/vendor/assets/javascripts/leaflet-src.js.erb +0 -14126
  575. data/vendor/assets/javascripts/leaflet-src.js.map +0 -1
  576. data/vendor/assets/javascripts/native.history.js +0 -1
  577. data/vendor/assets/stylesheets/leaflet.css +0 -640
  578. data/vendor/assets/stylesheets/leaflet.fullscreen.css +0 -40
  579. /data/app/{views/catalog/_show_default_viewer_information.html.erb → components/geoblacklight/index_map_inspect_component.html.erb} +0 -0
@@ -1,28 +1,19 @@
1
- <div class="modal-header">
2
- <h1 class="modal-title"><%= t('geoblacklight.references.services')%></h1>
3
- <button type="button" class="blacklight-modal-close close" data-dismiss="modal" aria-label="<%= t('blacklight.modal.close') %>">
4
- <span aria-hidden="true">&times;</span>
5
- </button>
6
- </div>
7
- <div class="modal-body web-services-modal-body">
8
- <div class="alert alert-info d-none" role="alert">
9
- <%= t('geoblacklight.clipboard.web_service') %>
10
- <button type="button" class="close" data-dismiss="alert" aria-label="Close">
11
- <span aria-hidden="true">&times;</span>
12
- </button>
13
- </div>
14
- <%= render partial: 'web_services' %>
15
- </div>
16
- <div class="modal-footer">
17
- <button type="button" class="btn btn-default hide-without-js" data-dismiss="modal"><%= t('geoblacklight.references.services_close')%></button>
18
- </div>
19
-
20
- <script>
21
- $('[data-action="copyToClipboard"]').on('click', function() {
22
- let text = $(this).data('clipboard-value');
23
- navigator.clipboard.writeText(text)
24
- .then(() => {
25
- $('.alert').removeClass('d-none');
26
- })
27
- });
28
- </script>
1
+ <%= render Blacklight::System::ModalComponent.new do |component| %>
2
+ <% component.with_title do %>
3
+ <%= t('geoblacklight.references.services') %>
4
+ <% end %>
5
+ <% component.with_body do %>
6
+ <div class="modal-body web-services-modal-body" data-controller="clipboard">
7
+ <div class="alert alert-info d-none" role="alert" data-clipboard-target="alert">
8
+ <%= t('geoblacklight.clipboard.web_service') %>
9
+ <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
10
+ </div>
11
+ <div class="web-services-modal-entry">
12
+ <%= render Geoblacklight::WebServicesComponent.with_collection(@documents.first.references.refs, document: @documents.first) %>
13
+ </div>
14
+ </div>
15
+ <% end %>
16
+ <% component.with_footer do %>
17
+ <button type="button" class="btn btn-secondary" data-bl-dismiss="modal"><%= t('blacklight.modal.close') %></button>
18
+ <% end %>
19
+ <% end %>
@@ -1,13 +1,3 @@
1
- <%- Settings.RELATIONSHIPS_SHOWN.each do |rel, value| %>
2
- <% unless @relations.send(rel)['numFound'].to_i.zero? %>
3
- <div class="card relations relationship-<%= rel.downcase %>">
4
- <div class="card-header">
5
- <h2 class="mb-0 h6"><%= t("#{value.label}") %></h2>
6
- </div>
7
-
8
- <ul class="list-group list-group-flush">
9
- <%= render partial: 'relations', locals: { rel: rel, value: value } %>
10
- </ul>
11
- </div>
12
- <% end %>
1
+ <%- Settings.RELATIONSHIPS_SHOWN.each do |relationship_type, rel_type_info| %>
2
+ <%= render Geoblacklight::RelationsComponent.new(relations: @relations, relationship_type:, rel_type_info:) %>
13
3
  <% end %>
@@ -3,6 +3,6 @@
3
3
  json.current_doc @relations.search_id
4
4
  json.relations do
5
5
  Settings.RELATIONSHIPS_SHOWN.each do |key, _value|
6
- json.set! key.downcase.to_s, @relations.send(key) unless @relations.send(key)["numFound"].to_i.zero?
6
+ json.set! key.downcase.to_s, @relations.public_send(key) unless @relations.public_send(key)["numFound"].to_i.zero?
7
7
  end
8
8
  end
data/compose.yml ADDED
@@ -0,0 +1,14 @@
1
+ services:
2
+ solr:
3
+ image: solr:9.6.1
4
+ volumes:
5
+ - $PWD/solr/conf:/opt/solr/conf
6
+ ports:
7
+ - 8983:8983
8
+ entrypoint:
9
+ - docker-entrypoint.sh
10
+ - solr-precreate
11
+ - blacklight-core
12
+ - /opt/solr/conf
13
+ - "-Xms256m"
14
+ - "-Xmx512m"
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # OpenLayers viewer
4
+ pin "ol", to: "https://esm.sh/ol@8.1.0"
5
+ pin "ol/", to: "https://esm.sh/ol@8.1.0/"
6
+ pin "ol-pmtiles", to: "https://cdn.skypack.dev/ol-pmtiles@0.3.0"
7
+
8
+ # Leaflet viewer
9
+ pin "leaflet", to: "https://cdn.skypack.dev/leaflet@1.9.4"
10
+ pin "esri-leaflet", to: "https://cdn.skypack.dev/esri-leaflet@3.0.12"
11
+ pin "leaflet-fullscreen", to: "https://cdn.skypack.dev/leaflet-fullscreen@1.0.2"
12
+
13
+ # Clover viewer
14
+ pin "react", to: "https://esm.sh/react@18.3.1"
15
+ pin "react-dom/client", to: "https://esm.sh/react-dom@18.3.1/client"
16
+ pin "@samvera/clover-iiif/viewer", to: "https://esm.sh/@samvera/clover-iiif@2.10.0/dist/viewer"
17
+ pin "@samvera/clover-iiif/image", to: "https://esm.sh/@samvera/clover-iiif@2.10.0/dist/image"
18
+
19
+ # Geoblacklight
20
+ pin_all_from Geoblacklight::Engine.root.join("app", "javascript", "geoblacklight"), under: "geoblacklight"
@@ -2,8 +2,6 @@ en:
2
2
  geoblacklight:
3
3
  bbox_label: 'Bounding Box'
4
4
  location: 'Location'
5
- citation:
6
- retrieved_from: 'Retrieved from %{document_url}'
7
5
  clipboard:
8
6
  citation: Citation copied to clipboard
9
7
  web_service: Web service copied to clipboard
@@ -11,12 +9,6 @@ en:
11
9
  download: 'Download'
12
10
  download_link: 'Original %{download_format}'
13
11
  success: 'Your file %{title} is ready for download'
14
- hgl_success: 'You should receive an email when your download is ready.'
15
- hgl_request: 'Request Layer'
16
- hgl_request_button: 'Request'
17
- hgl_close: 'Close'
18
- hgl_instructions: 'Please enter your email address. You will receive a link to download the layer when it is ready.' ## new variable
19
- hgl_email: 'Email'
20
12
  error: 'Sorry, the requested file could not be downloaded.'
21
13
  export_formats: 'Export Formats'
22
14
  export_link: 'Export %{download_format}'
@@ -24,6 +16,7 @@ en:
24
16
  export_kmz_link: 'KMZ'
25
17
  export_geojson_link: 'GeoJSON'
26
18
  export_geotiff_link: 'GeoTIFF'
19
+ export_csv_link: 'CSV'
27
20
  home:
28
21
  headline: 'Explore and discover...'
29
22
  search_heading: 'Find the maps and data you need'
@@ -36,7 +29,6 @@ en:
36
29
  version: 'GeoBlacklight version %{version}'
37
30
  tools:
38
31
  login_to_view: 'Login to View and Download'
39
- open_carto: 'Open in Carto'
40
32
  open_arcgis: 'Open in ArcGIS Online'
41
33
  formats:
42
34
  arcgrid: 'ArcGRID'
@@ -45,6 +37,7 @@ en:
45
37
  kmz: 'KMZ'
46
38
  shapefile: 'Shapefile'
47
39
  jpg: 'JPG'
40
+ csv: 'CSV'
48
41
  esri_geodatabase: 'ESRI Geodatabase'
49
42
  sqlite_database: 'SQLite Database'
50
43
  map:
@@ -67,7 +60,6 @@ en:
67
60
  image_map_layer: 'ArcGIS Image Map Layer'
68
61
  data_dictionary: 'Documentation'
69
62
  services: 'Web services'
70
- services_close: 'Close'
71
63
  tms: 'Tile Map Service'
72
64
  tilejson: 'TileJSON Document'
73
65
  xyz: 'XYZ Tiles'
@@ -89,7 +81,8 @@ en:
89
81
  version_of_descendants: 'Has version...'
90
82
  browse_all_no_count: "Browse all records..."
91
83
  browse_all: "Browse all %{count} records..."
92
-
84
+ modal:
85
+ copy-citation: "Copy Citation"
93
86
  metadata:
94
87
  toggle_summary: 'Toggle summary'
95
88
  view_metadata: 'View Metadata'
@@ -132,12 +125,21 @@ en:
132
125
  tiled_map_layer:
133
126
  title: ArcGIS Tiled Map Layer
134
127
  content: An ArcGIS Tiled Map Layer Service displays set of web-accessible tiles that reside on a server.
128
+ tilejson:
129
+ title: TileJSON
130
+ content: A JSON format used for describing tilesets.
135
131
  tms:
136
- title: Tile Map Service
132
+ title: Tile Map Service (TMS)
137
133
  content: A Tile Map Service displays georeferenced map tiles as an image on a map.
138
134
  wms:
139
135
  title: Web Map Service (WMS)
140
136
  content: A Web Map Service displays a geospatial dataset as map images.
137
+ wmts:
138
+ title: Web Map Tile Service (WMTS)
139
+ content: A Web Map Tile Service displays maps over the web using cached image tiles.
140
+ xyz:
141
+ title: XYZ Tiles
142
+ content: Also known as slippy map tiles, is a method of expressing map tile mosaics, indexed by (x,y) offsets and zoom levels (z).
141
143
  blacklight:
142
144
  icon:
143
145
  american-geographical-society-library-uwm-libraries: American Geographical Society Library - UWM Libraries
@@ -146,34 +148,24 @@ en:
146
148
  baruch-cuny: Baruch College
147
149
  berkeley: University of California, Berkeley
148
150
  cd-rom: CD-Rom
149
- chicago: The University of Chicago
150
151
  columbia: Columbia University
151
152
  cornell: Cornell University
152
153
  dvd-rom: DVD-Rom
153
154
  esri-globe: Esri Global
154
155
  george-mason: George Mason University
155
156
  harvard: Harvard University
156
- illinois: University of Illinois
157
+ iiif-drag-drop: Drag icon to any IIIF viewer
157
158
  indiana: Indiana University
158
- iowa: University of Iowa
159
159
  lewis-clark: Lewis & Clark
160
- maryland: University of Maryland
161
160
  massgis: MassGIS
162
- michigan-state: Michigan State University
163
- michigan: University of Michigan
164
- minnesota: University of Minnesota
165
161
  mit: Massachusetts Institute of Technology
166
162
  multilinestring: Multi-line string
167
163
  multipoint: Multi-point
168
164
  multipolygon: Multi-polygon
169
- nebraska: University of Nebraska-Lincoln
170
165
  northwestern-university: Northwestern University
171
166
  nyu: New York University
172
- ohio-state: The Ohio State University
173
- penn-state: Penn State University
174
167
  princeton: Princeton University
175
168
  public: Public content
176
- purdue: Purdue University
177
169
  restricted: Restricted content
178
170
  rutgers: Rutgers University
179
171
  sms: SMS
@@ -182,4 +174,3 @@ en:
182
174
  tufts: Tufts University
183
175
  ucla: University of California, Los Angeles
184
176
  uva: University of Virginia
185
- wisconsin: University of Wisconsin
@@ -15,31 +15,32 @@ Gem::Specification.new do |spec|
15
15
  spec.files = `git ls-files -z`.split(%(\x0))
16
16
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
17
  spec.require_paths = ["lib"]
18
+ spec.required_ruby_version = ">= 3.2.0"
18
19
  spec.required_rubygems_version = ">= 2.5.2"
19
20
 
20
- spec.add_dependency "rails", ">= 6.1", "< 7.3"
21
- spec.add_dependency "blacklight", "~> 7.0"
21
+ spec.add_dependency "rails", ">= 6.1", "< 9"
22
+ spec.add_dependency "blacklight", "~> 8.0"
22
23
  spec.add_dependency "config"
23
24
  spec.add_dependency "faraday", "~> 2.0"
24
25
  spec.add_dependency "coderay"
25
26
  spec.add_dependency "deprecation"
26
27
  spec.add_dependency "geo_combine", "~> 0.9"
27
28
  spec.add_dependency "mime-types"
28
- spec.add_dependency "handlebars_assets"
29
29
  spec.add_dependency "rgeo-geojson"
30
- spec.add_dependency "sprockets-rails", "~> 3.0"
30
+ spec.add_dependency "rsolr"
31
31
  spec.add_dependency "vite_rails", "~> 3.0"
32
+ spec.add_dependency "zeitwerk"
32
33
 
33
- spec.add_development_dependency "solr_wrapper"
34
34
  spec.add_development_dependency "rails-controller-testing"
35
35
  spec.add_development_dependency "rspec-rails"
36
36
  spec.add_development_dependency "engine_cart", "~> 2.0"
37
37
  spec.add_development_dependency "capybara", ">= 2.5.0"
38
- spec.add_development_dependency "webdrivers"
38
+ spec.add_development_dependency "selenium-webdriver"
39
39
  spec.add_development_dependency "factory_bot_rails"
40
- spec.add_development_dependency "database_cleaner", "~> 2.0"
41
40
  spec.add_development_dependency "simplecov", "~> 0.22"
42
41
  spec.add_development_dependency "foreman"
43
42
  spec.add_development_dependency "standardrb", "1.0.1"
44
43
  spec.add_development_dependency "webmock", "~> 3.14"
44
+ spec.add_development_dependency "database_cleaner"
45
+ spec.add_development_dependency "axe-core-rspec"
45
46
  end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module Geoblacklight
6
+ module Assets
7
+ class ImportmapGenerator < Rails::Generators::Base
8
+ source_root Geoblacklight::Engine.root.join("lib", "generators", "geoblacklight", "templates")
9
+
10
+ class_option :test, type: :boolean, default: false, aliases: "-t", desc: "Indicates that app will be installed in a test environment"
11
+
12
+ desc <<-DESCRIPTION
13
+ This generator sets up the app to use Importmaps to manage the javascript,
14
+ and dartsass-rails to manage the styles.
15
+
16
+ SCSS sources from Bootstrap and Blacklight are installed via yarn and
17
+ built into a single CSS stylesheet.
18
+
19
+ JS sources from the Blacklight and Geoblacklight gems are delivered as
20
+ ES modules via importmap, and their dependencies are pinned to versions
21
+ delivered via CDN.
22
+ DESCRIPTION
23
+
24
+ # If this is a local dev/test build, symlink the frontend package so we
25
+ # can reference its stylesheets in development
26
+ def link_frontend
27
+ run "yarn link @geoblacklight/frontend" if options[:test]
28
+ end
29
+
30
+ # Add the customization overrides and insert before bootstrap import
31
+ def add_customizations
32
+ copy_file "assets/_customizations.scss", "app/assets/stylesheets/_customizations.scss"
33
+ gsub_file "app/assets/stylesheets/_customizations.scss", "@geoblacklight/frontend/app/assets/", ""
34
+ insert_into_file "app/assets/stylesheets/application.bootstrap.scss", "@import 'customizations';\n", before: "@import 'bootstrap/scss/bootstrap';"
35
+ end
36
+
37
+ # Add CDN imports for CSS files used by Geoblacklight (leaflet, openlayers)
38
+ def add_leaflet_ol_css_cdn
39
+ insert_into_file "app/assets/stylesheets/application.bootstrap.scss", before: "@import 'customizations';\n" do
40
+ <<~SCSS
41
+ /* GeoBlacklight dependencies CSS */
42
+ @import url("https://cdn.skypack.dev/leaflet@1.9.4/dist/leaflet.css");
43
+ @import url("https://cdn.jsdelivr.net/npm/leaflet-fullscreen@1.0.2/dist/leaflet.fullscreen.css");
44
+ @import url("https://cdn.skypack.dev/ol@8.1.0/ol.css");
45
+
46
+ SCSS
47
+ end
48
+ end
49
+
50
+ # Add an import for Geoblacklight's stylesheet
51
+ def add_geoblacklight_styles
52
+ append_to_file "app/assets/stylesheets/application.bootstrap.scss", "@import '@geoblacklight/frontend/app/assets/stylesheets/geoblacklight/geoblacklight';"
53
+ end
54
+
55
+ # Ensure import of Blacklight's JS uses the name that importmap has pinned
56
+ def update_blacklight_import
57
+ gsub_file "app/javascript/application.js", "blacklight-frontend", "blacklight"
58
+ end
59
+
60
+ # Import Geoblacklight's JS using the name that importmap has pinned
61
+ def add_geoblacklight_js
62
+ append_to_file "app/javascript/application.js", "import Geoblacklight from \"geoblacklight\";"
63
+ end
64
+
65
+ # Add pins for application dependencies to the importmap
66
+ def update_importmap
67
+ gsub_file "config/importmap.rb", "bootstrap.min.js", "https://cdn.skypack.dev/bootstrap@5.3.3"
68
+ append_to_file "config/importmap.rb" do
69
+ <<~CONTENT
70
+ pin "@github/auto-complete-element", to: "https://cdn.skypack.dev/@github/auto-complete-element"
71
+ pin "@popperjs/core", to: "https://ga.jspm.io/npm:@popperjs/core@2.11.8/dist/umd/popper.min.js"
72
+ CONTENT
73
+ end
74
+ end
75
+
76
+ # Run the build so styles are available for the first load of the app
77
+ def build_styles
78
+ run "yarn build:css"
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module Geoblacklight
6
+ module Assets
7
+ class ViteGenerator < Rails::Generators::Base
8
+ source_root Geoblacklight::Engine.root.join("lib", "generators", "geoblacklight", "templates")
9
+
10
+ class_option :test, type: :boolean, default: false, aliases: "-t", desc: "Indicates that app will be installed in a test environment"
11
+
12
+ desc <<-DESCRIPTION
13
+ This generator sets up the app to use Vite as the bundler for styles and
14
+ javascript using the vite_rails gem. Existing stylesheets for Blacklight
15
+ are removed and replaced with a single JS entrypoint file and a single
16
+ SCSS entrypoint file, which will be bundled by Vite.
17
+
18
+ Geoblacklight's frontend assets are installed from the npm package. In
19
+ local development they automatically reference the versions from the
20
+ outer directory (the Geoblacklight repository) via a yarn symlink.
21
+ DESCRIPTION
22
+
23
+ # Install Vite
24
+ def install_vite_rails
25
+ gem "vite_rails", "~> 3.0"
26
+ run "bundle install"
27
+ end
28
+
29
+ # Add our version of the Blacklight base layout with Vite helper tags
30
+ def geoblacklight_base_layout
31
+ copy_file "base.html.erb", "app/views/layouts/blacklight/base.html.erb"
32
+ end
33
+
34
+ # Copy Vite config files
35
+ def copy_config_vite_json
36
+ copy_file "vite.json", "config/vite.json"
37
+ copy_file "vite.config.ts", "vite.config.ts"
38
+ end
39
+
40
+ # Run the vite install generator (create binstubs, etc.)
41
+ def setup_vite
42
+ run "bundle exec vite install"
43
+ end
44
+
45
+ # Pick a version of the frontend asset package and install it.
46
+ def add_frontend
47
+ # If a branch was specified (e.g. you are running a template.rb build
48
+ # against a test branch), use the latest version available on npm
49
+ if ENV["BRANCH"]
50
+ run "yarn add @geoblacklight/frontend@latest"
51
+
52
+ # Otherwise, pick the version from npm that matches our Geoblacklight
53
+ # gem version
54
+ else
55
+ run "yarn add @geoblacklight/frontend@#{Geoblacklight::VERSION}"
56
+ end
57
+
58
+ # If in local development or CI, also create a link. This will make it so
59
+ # changes made in the outer directory are picked up automatically.
60
+ # `yarn link` has to have already been run in the outer directory first.
61
+ run "yarn link @geoblacklight/frontend" if options[:test]
62
+ end
63
+
64
+ # The vite_rails gem doesn't currently install the vite-plugin-rails
65
+ # node package, so we need to do that manually.
66
+ def install_dev_dependencies
67
+ run "yarn add --dev vite-plugin-rails"
68
+ end
69
+
70
+ # Remove generated npm scripts from rollup and replace with our own.
71
+ # Adds a shortcut so that 'yarn build' runs our vite pipeline
72
+ # No easy way to do this with yarn, so we use `npm pkg`...
73
+ def setup_npm_scripts
74
+ run "npm pkg delete scripts"
75
+ run "npm pkg set scripts.build=\"vite build\""
76
+ end
77
+
78
+ # Add our own stylesheets that reference the versions from npm
79
+ def add_stylesheets
80
+ copy_file "assets/_customizations.scss", "app/javascript/stylesheets/_customizations.scss"
81
+ copy_file "assets/geoblacklight.scss", "app/javascript/stylesheets/geoblacklight.scss"
82
+ copy_file "assets/application.scss", "app/javascript/entrypoints/application.scss"
83
+ end
84
+
85
+ # Replace the default generated Vite entrypoint with our own
86
+ def add_javascript
87
+ remove_file "app/javascript/entrypoints/application.js"
88
+ copy_file "assets/application.js", "app/javascript/entrypoints/application.js"
89
+ end
90
+ end
91
+ end
92
+ end
@@ -1,46 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "rails/generators"
4
-
5
3
  module Geoblacklight
4
+ # Run general asset setup and then delegate to the appropriate generator
5
+ # Based on Blacklight::AssetsGenerator
6
6
  class AssetsGenerator < Rails::Generators::Base
7
- source_root File.expand_path("templates", __dir__)
8
-
9
- desc <<-DESCRIPTION
10
- This generator makes the following changes to your application:
11
- 1. Copies GBL javascript into the application
12
- 2. Removes stock Rails and Blacklight stylesheets from the application
13
- 3. Copies GBL stylesheets into the local application
14
- 4. Sets asset initializer values into the local application
15
- DESCRIPTION
16
-
17
- def add_javascript
18
- copy_file "assets/geoblacklight.js", "app/assets/javascripts/geoblacklight.js"
19
-
20
- if Rails.version.to_i >= 6
21
- append_to_file "app/assets/javascripts/application.js",
22
- "\n// Required by GeoBlacklight\n//= require geoblacklight"
7
+ class_option :"asset-pipeline", type: :string, default: ENV.fetch("ASSET_PIPELINE", "vite"), desc: "Choose the asset pipeline to use (vite or importmap)"
8
+ class_option :test, type: :boolean, default: ENV.fetch("CI", false), aliases: "-t", desc: "Indicates that app will be installed in a test environment"
9
+
10
+ def run_asset_pipeline_specific_generator
11
+ generated_options = "--test=true" if options[:test]
12
+ generator = if options[:"asset-pipeline"]
13
+ "geoblacklight:assets:#{options[:"asset-pipeline"]}"
14
+ else
15
+ "geoblacklight:assets:vite"
23
16
  end
24
- end
25
-
26
- def remove_stylesheets
27
- remove_file "app/assets/stylesheets/application.css"
28
- remove_file "app/assets/stylesheets/blacklight.scss"
29
- end
30
-
31
- def add_stylesheets
32
- copy_file "assets/application.scss", "app/assets/stylesheets/application.scss"
33
- copy_file "assets/_blacklight.scss", "app/assets/stylesheets/_blacklight.scss"
34
- copy_file "assets/_customizations.scss", "app/assets/stylesheets/_customizations.scss"
35
- copy_file "assets/_geoblacklight.scss", "app/assets/stylesheets/_geoblacklight.scss"
36
- end
37
-
38
- def add_initializers
39
- append_to_file "config/initializers/assets.rb",
40
- "\nRails.application.config.assets.precompile += %w( favicon.ico )\n"
41
17
 
42
- append_to_file "config/initializers/assets.rb",
43
- "\nRails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'images')\n"
18
+ generate generator, generated_options
44
19
  end
45
20
  end
46
21
  end
@@ -50,10 +50,6 @@ module Geoblacklight
50
50
  inject_into_file "config/routes.rb", routes, before: /^end/
51
51
  end
52
52
 
53
- def generate_assets
54
- generate "geoblacklight:assets"
55
- end
56
-
57
53
  def create_blacklight_catalog
58
54
  remove_file "app/controllers/catalog_controller.rb"
59
55
  copy_file "catalog_controller.rb", "app/controllers/catalog_controller.rb"
@@ -67,6 +63,14 @@ module Geoblacklight
67
63
  directory "../../../../solr", "solr"
68
64
  end
69
65
 
66
+ def add_rsolr_gem
67
+ gem "rsolr", ">= 1.0", "< 3"
68
+ end
69
+
70
+ def docker_compose
71
+ copy_file "../../../../compose.yml", "compose.yml"
72
+ end
73
+
70
74
  def include_geoblacklight_solrdocument
71
75
  inject_into_file "app/models/solr_document.rb", after: "include Blacklight::Solr::Document" do
72
76
  "\n include Geoblacklight::SolrDocument"
@@ -85,13 +89,6 @@ module Geoblacklight
85
89
  end
86
90
  end
87
91
 
88
- # Turn off JQuery animations during testing
89
- def inject_disable_jquery_animations
90
- inject_into_file "app/views/layouts/application.html.erb", before: "</head>" do
91
- " <%= javascript_tag '$.fx.off = true;' if Rails.env.test? %>\n"
92
- end
93
- end
94
-
95
92
  def create_downloads_directory
96
93
  FileUtils.mkdir_p("tmp/cache/downloads") unless File.directory?("tmp/cache/downloads")
97
94
  end
@@ -105,47 +102,12 @@ module Geoblacklight
105
102
  FileUtils.mkdir_p("app/assets/images") unless File.directory?("app/assets/images")
106
103
  end
107
104
 
108
- # Vite - Required for successful installation
109
- def install_vite_rails
110
- append_to_file "Gemfile" do
111
- "gem \"vite_rails\", \"~> 3.0\""
112
- end
113
- end
114
-
115
- # Vite - GBL Base Layout with Vite Helper Tags
116
- def geoblacklight_base_layout
117
- copy_file "base.html.erb", "app/views/layouts/blacklight/base.html.erb"
118
- end
119
-
120
- def copy_package_json
105
+ def generate_assets
121
106
  if options[:test]
122
- # If building engine cart test app, use specific package.json so the
123
- # locally built frontend javascript is used instead of the npm package.
124
- copy_file "package-test.json", "package.json"
107
+ generate "geoblacklight:assets", "--test=true"
125
108
  else
126
- copy_file "package.json", "package.json"
109
+ generate "geoblacklight:assets"
127
110
  end
128
111
  end
129
-
130
- # Vite - Config files
131
- def copy_config_vite_json
132
- copy_file "vite.json", "config/vite.json"
133
- copy_file "vite.config.ts", "vite.config.ts"
134
- run "yarn install"
135
- end
136
-
137
- # Run bundle with vite install
138
- def bundle_install
139
- Bundler.with_clean_env do
140
- run "bundle install"
141
- run "bundle exec vite install"
142
- end
143
- end
144
-
145
- # Vite - Copy over the Vite entrypoints
146
- def copy_vite_entrypoints
147
- copy_file "clover.js", "app/javascript/entrypoints/clover.js"
148
- copy_file "ol.js", "app/javascript/entrypoints/ol.js"
149
- end
150
112
  end
151
113
  end
@@ -1,29 +1,23 @@
1
1
  // Local Application Customizations
2
2
 
3
3
  // Set Header Logo
4
- $logo-image: image_url('blacklight/logo.svg') !default;
5
-
6
- .navbar-brand { /* The main logo image for the Blacklight instance */
7
- @if $logo-image {
8
- background: transparent $logo-image no-repeat top left;
9
- }
10
- }
4
+ $logo-image: url("@geoblacklight/frontend/app/assets/images/blacklight/logo.svg");
11
5
 
12
6
  // Optional
13
7
  // Override default Bootstrap variables here
14
8
 
15
9
  // Example: Bootstrap Colors
16
- $blue: #0d6efd !default;
17
- $indigo: #6610f2 !default;
18
- $purple: #6f42c1 !default;
19
- $pink: #d63384 !default;
20
- $red: #dc3545 !default;
21
- $orange: #fd7e14 !default;
22
- $yellow: #ffc107 !default;
23
- $green: #198754 !default;
24
- $teal: #20c997 !default;
25
- $cyan: #0dcaf0 !default;
26
- $dark: #212529 !default; // $gray-900
10
+ // $blue: #0d6efd !default;
11
+ // $indigo: #6610f2 !default;
12
+ // $purple: #6f42c1 !default;
13
+ // $pink: #d63384 !default;
14
+ // $red: #dc3545 !default;
15
+ // $orange: #fd7e14 !default;
16
+ // $yellow: #ffc107 !default;
17
+ // $green: #198754 !default;
18
+ // $teal: #20c997 !default;
19
+ // $cyan: #0dcaf0 !default;
20
+ // $dark: #212529 !default; // $gray-900
27
21
 
28
22
  // Example: Bootstrap Link color
29
- $link-color: $blue;
23
+ // $link-color: $blue;
@@ -0,0 +1,17 @@
1
+ /* Main application javascript entrypoint */
2
+
3
+ // Turbo & Stimulus
4
+ import "@hotwired/turbo-rails";
5
+ import { application } from "~/controllers/application";
6
+
7
+ // Blacklight & Geoblacklight
8
+ import githubAutoCompleteElement from "@github/auto-complete-element";
9
+ import Blacklight from "blacklight-frontend";
10
+ import Geoblacklight from "@geoblacklight/frontend";
11
+
12
+ // Make imports available globally to your code
13
+ window.Blacklight = Blacklight;
14
+ window.Geoblacklight = Geoblacklight;
15
+
16
+ // Your javascript code goes here
17
+ // console.log("Hello Geoblacklight!");