geoblacklight 4.4.2 → 5.0.0.pre.alpha.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/build-demo-app.yml +153 -0
- data/.github/workflows/prune-containers.yml +19 -0
- data/.github/workflows/ruby.yml +54 -52
- data/.gitignore +2 -2
- data/CONTRIBUTING.md +62 -44
- data/Gemfile +3 -28
- data/Rakefile +42 -67
- data/app/assets/images/blacklight/logo.svg +31 -1
- data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +1 -2
- data/app/assets/stylesheets/geoblacklight/modules/_base.scss +1 -1
- data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +24 -26
- data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +13 -0
- data/app/assets/stylesheets/geoblacklight/modules/home.scss +2 -17
- data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +48 -23
- data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +1 -15
- data/app/assets/stylesheets/geoblacklight/modules/item.scss +13 -11
- data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +3 -3
- data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +4 -0
- data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -15
- data/app/assets/stylesheets/geoblacklight/modules/results.scss +10 -19
- data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +2 -2
- data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +46 -0
- data/app/components/blacklight/icons/arizona_component.rb +24 -0
- data/app/components/blacklight/icons/arrow_circle_down_component.rb +23 -0
- data/app/components/blacklight/icons/baruch_cuny_component.rb +23 -0
- data/app/components/blacklight/icons/book_component.rb +23 -0
- data/app/components/blacklight/icons/bookmark_component.rb +23 -0
- data/app/components/blacklight/icons/cd_rom_component.rb +23 -0
- data/app/components/blacklight/icons/child_item_component.rb +23 -0
- data/app/components/blacklight/icons/circle_info_solid_component.rb +23 -0
- data/app/components/blacklight/icons/citation_component.rb +23 -0
- data/app/components/blacklight/icons/collection_component.rb +23 -0
- data/app/components/blacklight/icons/collections_component.rb +24 -0
- data/app/components/blacklight/icons/columbia_component.rb +23 -0
- data/app/components/blacklight/icons/cornell_component.rb +25 -0
- data/app/components/blacklight/icons/datasets_component.rb +27 -0
- data/app/components/blacklight/icons/dvd_rom_component.rb +23 -0
- data/app/components/blacklight/icons/email_component.rb +23 -0
- data/app/components/blacklight/icons/esri_globe_component.rb +51 -0
- data/app/components/blacklight/icons/fire_solid_component.rb +23 -0
- data/app/components/blacklight/icons/george_mason_component.rb +24 -0
- data/app/components/blacklight/icons/globe_component.rb +23 -0
- data/app/components/blacklight/icons/harvard_component.rb +23 -0
- data/app/components/blacklight/icons/home_component.rb +23 -0
- data/app/components/blacklight/icons/iiif_drag_drop_component.rb +31 -0
- data/app/components/blacklight/icons/image_component.rb +23 -0
- data/app/components/blacklight/icons/imagery_component.rb +24 -0
- data/app/components/blacklight/icons/indiana_component.rb +23 -0
- data/app/components/blacklight/icons/leaf_component.rb +23 -0
- data/app/components/blacklight/icons/lewis_clark_component.rb +25 -0
- data/app/components/blacklight/icons/lightbulb_solid_component.rb +23 -0
- data/app/components/blacklight/icons/line_component.rb +24 -0
- data/app/components/blacklight/icons/map_component.rb +23 -0
- data/app/components/blacklight/icons/map_marker_component.rb +23 -0
- data/app/components/blacklight/icons/maps_component.rb +24 -0
- data/app/components/blacklight/icons/massgis_component.rb +23 -0
- data/app/components/blacklight/icons/metadata_component.rb +23 -0
- data/app/components/blacklight/icons/michigan_state_university_component.rb +25 -0
- data/app/components/blacklight/icons/mit_component.rb +23 -0
- data/app/components/blacklight/icons/mixed_component.rb +25 -0
- data/app/components/blacklight/icons/multilinestring_component.rb +26 -0
- data/app/components/blacklight/icons/multipoint_component.rb +23 -0
- data/app/components/blacklight/icons/multipolygon_component.rb +26 -0
- data/app/components/blacklight/icons/northwestern_university_component.rb +24 -0
- data/app/components/blacklight/icons/nyu_component.rb +26 -0
- data/app/components/blacklight/icons/pagelines_brands_component.rb +23 -0
- data/app/components/blacklight/icons/paper_map_component.rb +23 -0
- data/app/components/blacklight/icons/parent_item_component.rb +23 -0
- data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +25 -0
- data/app/components/blacklight/icons/point_component.rb +23 -0
- data/app/components/blacklight/icons/polygon_component.rb +24 -0
- data/app/components/blacklight/icons/polyline_component.rb +26 -0
- data/app/components/blacklight/icons/princeton_component.rb +23 -0
- data/app/components/blacklight/icons/public_component.rb +23 -0
- data/app/components/blacklight/icons/purdue_university_component.rb +25 -0
- data/app/components/blacklight/icons/raster_component.rb +23 -0
- data/app/components/blacklight/icons/restricted_component.rb +23 -0
- data/app/components/blacklight/icons/rutgers_component.rb +25 -0
- data/app/components/blacklight/icons/sms_component.rb +23 -0
- data/app/components/blacklight/icons/stanford_component.rb +23 -0
- data/app/components/blacklight/icons/table_component.rb +23 -0
- data/app/components/blacklight/icons/tags_component.rb +23 -0
- data/app/components/blacklight/icons/texas_component.rb +23 -0
- data/app/components/blacklight/icons/the_ohio_state_university_component.rb +26 -0
- data/app/components/blacklight/icons/triangle_exclamation_solid_component.rb +23 -0
- data/app/components/blacklight/icons/tufts_component.rb +23 -0
- data/app/components/blacklight/icons/ucla_component.rb +23 -0
- data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +24 -0
- data/app/components/blacklight/icons/university_of_chicago_component.rb +25 -0
- data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +26 -0
- data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +25 -0
- data/app/components/blacklight/icons/university_of_iowa_component.rb +24 -0
- data/app/components/blacklight/icons/university_of_maryland_component.rb +24 -0
- data/app/components/blacklight/icons/university_of_michigan_component.rb +24 -0
- data/app/components/blacklight/icons/university_of_minnesota_component.rb +24 -0
- data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +27 -0
- data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +24 -0
- data/app/components/blacklight/icons/uva_component.rb +23 -0
- data/app/components/blacklight/icons/web_services_component.rb +23 -0
- data/app/components/blacklight/icons/websites_component.rb +24 -0
- data/app/components/geoblacklight/arcgis_component.html.erb +3 -0
- data/app/components/geoblacklight/arcgis_component.rb +25 -0
- data/app/components/geoblacklight/attribute_table_component.html.erb +17 -0
- data/app/components/geoblacklight/attribute_table_component.rb +17 -0
- data/app/components/geoblacklight/data_dictionary_download_component.html.erb +3 -0
- data/app/components/geoblacklight/data_dictionary_download_component.rb +16 -0
- data/app/components/geoblacklight/display_note_component.rb +1 -1
- data/app/components/geoblacklight/document/citation_component.html.erb +1 -0
- data/app/components/geoblacklight/document/citation_component.rb +19 -0
- data/app/components/geoblacklight/document/sidebar_component.html.erb +12 -0
- data/app/components/geoblacklight/document/sidebar_component.rb +8 -0
- data/app/components/geoblacklight/document_component.html.erb +43 -0
- data/app/components/geoblacklight/document_component.rb +6 -0
- data/app/components/geoblacklight/download_links_component.html.erb +31 -0
- data/app/components/geoblacklight/download_links_component.rb +80 -0
- data/app/components/geoblacklight/header_component.html.erb +14 -0
- data/app/components/geoblacklight/header_component.rb +9 -0
- data/app/components/geoblacklight/header_icons_component.html.erb +3 -0
- data/app/components/geoblacklight/header_icons_component.rb +29 -0
- data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +3 -0
- data/app/components/geoblacklight/iiif_drag_drop_component.rb +16 -0
- data/app/components/geoblacklight/index_map_inspect_component.rb +15 -0
- data/app/components/geoblacklight/index_map_legend_component.html.erb +14 -0
- data/app/components/geoblacklight/index_map_legend_component.rb +17 -0
- data/app/components/geoblacklight/item_map_viewer_component.html.erb +1 -0
- data/app/components/geoblacklight/item_map_viewer_component.rb +87 -0
- data/app/components/geoblacklight/location_leaflet_map_component.html.erb +1 -0
- data/app/components/geoblacklight/location_leaflet_map_component.rb +49 -0
- data/app/components/geoblacklight/login_link_component.html.erb +5 -0
- data/app/components/geoblacklight/login_link_component.rb +17 -0
- data/app/components/geoblacklight/relations_component.html.erb +23 -0
- data/app/components/geoblacklight/relations_component.rb +25 -0
- data/app/components/geoblacklight/search_result_component.html.erb +44 -0
- data/app/{presenters/geoblacklight/document_presenter.rb → components/geoblacklight/search_result_component.rb} +9 -6
- data/app/components/geoblacklight/static_map_component.html.erb +9 -0
- data/app/components/geoblacklight/static_map_component.rb +36 -0
- data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -0
- data/app/components/geoblacklight/viewer_help_text_component.rb +46 -0
- data/app/components/geoblacklight/web_services_component.html.erb +1 -0
- data/app/components/geoblacklight/web_services_component.rb +26 -0
- data/app/{views/catalog/_web_services_default.html.erb → components/geoblacklight/web_services_default_component.html.erb} +3 -5
- data/app/components/geoblacklight/web_services_default_component.rb +11 -0
- data/app/components/geoblacklight/web_services_link_component.html.erb +3 -0
- data/app/components/geoblacklight/web_services_link_component.rb +22 -0
- data/app/{views/catalog/_web_services_wfs.html.erb → components/geoblacklight/web_services_wfs_component.html.erb} +4 -7
- data/app/components/geoblacklight/web_services_wfs_component.rb +12 -0
- data/app/components/geoblacklight/web_services_wms_component.html.erb +10 -0
- data/app/components/geoblacklight/web_services_wms_component.rb +12 -0
- data/app/controllers/download_controller.rb +8 -24
- data/app/helpers/geoblacklight_helper.rb +10 -194
- data/app/javascript/geoblacklight/controllers/clipboard_controller.js +11 -0
- data/app/javascript/geoblacklight/controllers/clover_viewer_controller.js +47 -0
- data/app/javascript/geoblacklight/controllers/downloads_controller.js +56 -0
- data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +217 -0
- data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +18 -0
- data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +63 -0
- data/app/javascript/geoblacklight/controllers/search_results_controller.js +50 -0
- data/app/javascript/geoblacklight/core.js +69 -0
- data/app/javascript/geoblacklight/index.js +29 -0
- data/app/javascript/geoblacklight/initializers/metadata_download.js +54 -0
- data/app/javascript/geoblacklight/initializers/popovers.js +11 -0
- data/app/javascript/geoblacklight/initializers/relations.js +40 -0
- data/app/javascript/geoblacklight/initializers/tooltips.js +55 -0
- data/app/javascript/geoblacklight/initializers/truncation.js +45 -0
- data/app/javascript/geoblacklight/leaflet/basemaps.js +74 -0
- data/app/javascript/geoblacklight/leaflet/constants.js +18 -0
- data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +160 -0
- data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +120 -0
- data/app/javascript/geoblacklight/leaflet/inspection.js +195 -0
- data/app/javascript/geoblacklight/leaflet/layer_index_map.js +120 -0
- data/app/javascript/geoblacklight/leaflet/layer_wmts.js +59 -0
- data/app/javascript/geoblacklight/leaflet/layers.js +153 -0
- data/app/javascript/geoblacklight/leaflet/utils.js +83 -0
- data/app/javascript/geoblacklight/openlayers/basemaps.js +47 -0
- data/app/javascript/geoblacklight/openlayers/layers.js +44 -0
- data/app/models/concerns/geoblacklight/solr_document/citation.rb +20 -8
- data/app/models/concerns/geoblacklight/solr_document.rb +22 -30
- data/app/presenters/geoblacklight/bbox_item_presenter.rb +1 -1
- data/app/views/catalog/_citation.html.erb +16 -33
- data/app/views/catalog/_document_split.html.erb +18 -3
- data/app/views/catalog/_home_text.html.erb +2 -2
- data/app/views/catalog/_metadata.html.erb +1 -1
- data/app/views/catalog/index.html.erb +8 -4
- data/app/views/catalog/metadata/_markup.html.erb +1 -1
- data/app/views/catalog/metadata.html.erb +14 -13
- data/app/views/catalog/web_services.html.erb +19 -28
- data/app/views/relation/index.html.erb +2 -12
- data/app/views/relation/index.json.jbuilder +1 -1
- data/compose.yml +14 -0
- data/config/importmap.rb +20 -0
- data/config/locales/geoblacklight.en.yml +15 -24
- data/geoblacklight.gemspec +7 -7
- data/lib/generators/geoblacklight/assets/importmap_generator.rb +87 -0
- data/lib/generators/geoblacklight/assets/vite_generator.rb +90 -0
- data/lib/generators/geoblacklight/assets_generator.rb +12 -37
- data/lib/generators/geoblacklight/install_generator.rb +11 -49
- data/lib/generators/geoblacklight/templates/assets/_customizations.scss +13 -19
- data/lib/generators/geoblacklight/templates/assets/application.js +17 -0
- data/lib/generators/geoblacklight/templates/assets/application.scss +9 -4
- data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +11 -0
- data/lib/generators/geoblacklight/templates/base.html.erb +9 -12
- data/lib/generators/geoblacklight/templates/catalog_controller.rb +7 -15
- data/lib/generators/geoblacklight/templates/demo-app/Dockerfile +31 -0
- data/lib/generators/geoblacklight/templates/demo-app/compose.yml +26 -0
- data/lib/generators/geoblacklight/templates/demo-app/start-server.sh +21 -0
- data/lib/generators/geoblacklight/templates/package.json +7 -1
- data/lib/generators/geoblacklight/templates/settings.yml +45 -40
- data/lib/generators/geoblacklight/templates/vite.config.ts +22 -7
- data/lib/geoblacklight/bounding_box.rb +16 -0
- data/lib/geoblacklight/constants.rb +0 -1
- data/lib/geoblacklight/download/csv_download.rb +22 -0
- data/lib/geoblacklight/download/geojson_download.rb +1 -1
- data/lib/geoblacklight/download/geotiff_download.rb +1 -1
- data/lib/geoblacklight/download/kmz_download.rb +1 -1
- data/lib/geoblacklight/download/shapefile_download.rb +1 -1
- data/lib/geoblacklight/download.rb +1 -1
- data/lib/geoblacklight/engine.rb +15 -6
- data/lib/geoblacklight/item_viewer.rb +1 -1
- data/lib/geoblacklight/metadata/base.rb +2 -1
- data/lib/geoblacklight/references.rb +27 -8
- data/lib/geoblacklight/routes/downloadable.rb +0 -1
- data/lib/geoblacklight/routes.rb +0 -3
- data/lib/geoblacklight/version.rb +1 -1
- data/lib/geoblacklight/wms_layer/feature_info_response.rb +9 -6
- data/lib/geoblacklight.rb +6 -30
- data/lib/tasks/geoblacklight.rake +24 -60
- data/package.json +24 -17
- data/solr/conf/schema.xml +15 -13
- data/solr/conf/solrconfig.xml +6 -4
- data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/arizona_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/book_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/bookmark_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/cd_rom_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/child_item_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/citation_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/collection_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/collections_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/columbia_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/cornell_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/datasets_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/email_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/esri_globe_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/fire_solid_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/george_mason_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/globe_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/harvard_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/home_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/image_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/imagery_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/indiana_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/leaf_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/line_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/map_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/map_marker_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/maps_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/massgis_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/metadata_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/mit_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/mixed_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/multilinestring_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/multipoint_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/multipolygon_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/nyu_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/paper_map_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/parent_item_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/point_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/polygon_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/polyline_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/princeton_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/public_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/purdue_university_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/raster_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/restricted_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/rutgers_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/sms_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/stanford_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/table_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/tags_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/texas_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/tufts_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/ucla_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/uva_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/web_services_component_spec.rb +15 -0
- data/spec/components/blacklight/icons/websites_component_spec.rb +15 -0
- data/spec/components/geoblacklight/arcgis_component_spec.rb +31 -0
- data/spec/components/geoblacklight/attribute_table_component_spec.rb +37 -0
- data/spec/components/geoblacklight/citation_component_spec.rb +37 -0
- data/spec/components/geoblacklight/document_component_spec.rb +92 -0
- data/spec/components/geoblacklight/download_links_component_spec.rb +102 -0
- data/spec/components/geoblacklight/header_icons_component_spec.rb +56 -0
- data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +30 -0
- data/spec/components/geoblacklight/index_map_legend_component_spec.rb +42 -0
- data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +36 -0
- data/spec/components/geoblacklight/login_link_component_spec.rb +33 -0
- data/spec/{lib/geoblacklight/document_presenter_spec.rb → components/geoblacklight/search_result_component_spec.rb} +19 -11
- data/spec/components/geoblacklight/static_map_component_spec.rb +22 -0
- data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +28 -0
- data/spec/components/geoblacklight/web_services_component_spec.rb +45 -0
- data/spec/controllers/download_controller_spec.rb +12 -35
- data/spec/features/axe_spec.rb +66 -0
- data/spec/features/bookmarks_spec.rb +1 -1
- data/spec/features/citations_spec.rb +7 -3
- data/spec/features/download_layer_spec.rb +24 -39
- data/spec/features/esri_viewer_spec.rb +1 -1
- data/spec/features/exports_spec.rb +0 -15
- data/spec/features/{full_screen_controll_spec.rb → full_screen_control_spec.rb} +6 -6
- data/spec/features/home_page_spec.rb +12 -7
- data/spec/features/iiif_viewer_spec.rb +1 -1
- data/spec/features/index_map_spec.rb +16 -9
- data/spec/features/{split_view.html.erb_spec.rb → index_view_spec.rb} +15 -13
- data/spec/features/layer_inspection_spec.rb +2 -2
- data/spec/features/layer_preview_spec.rb +1 -1
- data/spec/features/missing_metadata_spec.rb +5 -5
- data/spec/features/oembed_spec.rb +2 -2
- data/spec/features/saved_searches_spec.rb +4 -1
- data/spec/features/search_results_complex_geometry_spec.rb +2 -2
- data/spec/features/search_results_icons_spec.rb +3 -3
- data/spec/features/search_results_map_spec.rb +4 -36
- data/spec/features/search_results_overlap_ratio_spec.rb +1 -1
- data/spec/features/show_page_download_spec.rb +0 -8
- data/spec/features/tilejson_spec.rb +2 -2
- data/spec/features/web_services_modal_spec.rb +57 -39
- data/spec/features/wmts_spec.rb +4 -4
- data/spec/fixtures/solr_documents/README.md +2 -1
- data/spec/fixtures/solr_documents/complex-geom.json +61 -0
- data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +45 -24
- data/spec/fixtures/solr_documents/harvard_raster.json +1 -1
- data/spec/fixtures/solr_documents/multiple-downloads.json +1 -0
- data/spec/helpers/geoblacklight_helper_spec.rb +8 -173
- data/spec/lib/geoblacklight/download/csv_download_spec.rb +21 -0
- data/spec/lib/geoblacklight/reference_spec.rb +17 -19
- data/spec/lib/geoblacklight/references_spec.rb +31 -17
- data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +8 -6
- data/spec/lib/geoblacklight/wms_layer_spec.rb +14 -0
- data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
- data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -21
- data/spec/spec_helper.rb +2 -28
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -12
- data/template.rb +13 -11
- data/test/leaflet/layers.test.js +17 -0
- data/vite.config.ts +34 -23
- metadata +304 -256
- data/.hound.yml +0 -8
- data/.jshintignore +0 -2
- data/.jshintrc +0 -67
- data/.solr_wrapper +0 -6
- data/app/assets/images/blacklight/american-geographical-society-library-uwm-libraries.svg +0 -26
- data/app/assets/images/blacklight/arizona.svg +0 -4
- data/app/assets/images/blacklight/arrow-circle-down.svg +0 -3
- data/app/assets/images/blacklight/baruch-cuny.svg +0 -3
- data/app/assets/images/blacklight/book.svg +0 -3
- data/app/assets/images/blacklight/bookmark.svg +0 -3
- data/app/assets/images/blacklight/cd-rom.svg +0 -3
- data/app/assets/images/blacklight/chicago.svg +0 -4
- data/app/assets/images/blacklight/child-item.svg +0 -3
- data/app/assets/images/blacklight/circle-info-solid.svg +0 -1
- data/app/assets/images/blacklight/citation.svg +0 -3
- data/app/assets/images/blacklight/collection.svg +0 -3
- data/app/assets/images/blacklight/collections.svg +0 -4
- data/app/assets/images/blacklight/columbia.svg +0 -3
- data/app/assets/images/blacklight/cornell.svg +0 -5
- data/app/assets/images/blacklight/datasets.svg +0 -7
- data/app/assets/images/blacklight/dvd-rom.svg +0 -3
- data/app/assets/images/blacklight/email.svg +0 -3
- data/app/assets/images/blacklight/esri-globe.svg +0 -31
- data/app/assets/images/blacklight/fire-solid.svg +0 -1
- data/app/assets/images/blacklight/geoblacklight-icons.json +0 -3312
- data/app/assets/images/blacklight/george-mason.svg +0 -4
- data/app/assets/images/blacklight/globe.svg +0 -3
- data/app/assets/images/blacklight/harvard.svg +0 -3
- data/app/assets/images/blacklight/home.svg +0 -3
- data/app/assets/images/blacklight/illinois.svg +0 -4
- data/app/assets/images/blacklight/image.svg +0 -3
- data/app/assets/images/blacklight/imagery.svg +0 -4
- data/app/assets/images/blacklight/indiana.svg +0 -3
- data/app/assets/images/blacklight/iowa.svg +0 -3
- data/app/assets/images/blacklight/leaf.svg +0 -3
- data/app/assets/images/blacklight/lewis-clark.svg +0 -5
- data/app/assets/images/blacklight/lightbulb-solid.svg +0 -1
- data/app/assets/images/blacklight/line.svg +0 -4
- data/app/assets/images/blacklight/map-marker.svg +0 -3
- data/app/assets/images/blacklight/map.svg +0 -3
- data/app/assets/images/blacklight/maps.svg +0 -4
- data/app/assets/images/blacklight/maryland.svg +0 -3
- data/app/assets/images/blacklight/massgis.svg +0 -3
- data/app/assets/images/blacklight/metadata.svg +0 -3
- data/app/assets/images/blacklight/michigan-state-university.svg +0 -5
- data/app/assets/images/blacklight/michigan-state.svg +0 -4
- data/app/assets/images/blacklight/michigan.svg +0 -3
- data/app/assets/images/blacklight/minnesota.svg +0 -3
- data/app/assets/images/blacklight/mit.svg +0 -3
- data/app/assets/images/blacklight/mixed.svg +0 -5
- data/app/assets/images/blacklight/multilinestring.svg +0 -6
- data/app/assets/images/blacklight/multipoint.svg +0 -3
- data/app/assets/images/blacklight/multipolygon.svg +0 -6
- data/app/assets/images/blacklight/nebraska.svg +0 -4
- data/app/assets/images/blacklight/northwestern-university.svg +0 -5
- data/app/assets/images/blacklight/nyu.svg +0 -6
- data/app/assets/images/blacklight/ohio-state.svg +0 -5
- data/app/assets/images/blacklight/pagelines-brands.svg +0 -3
- data/app/assets/images/blacklight/paper-map.svg +0 -3
- data/app/assets/images/blacklight/parent-item.svg +0 -3
- data/app/assets/images/blacklight/penn-state.svg +0 -4
- data/app/assets/images/blacklight/pennsylvania-state-university.svg +0 -5
- data/app/assets/images/blacklight/point.svg +0 -3
- data/app/assets/images/blacklight/polygon.svg +0 -4
- data/app/assets/images/blacklight/polyline.svg +0 -6
- data/app/assets/images/blacklight/princeton.svg +0 -3
- data/app/assets/images/blacklight/public.svg +0 -3
- data/app/assets/images/blacklight/purdue-university.svg +0 -5
- data/app/assets/images/blacklight/purdue.svg +0 -4
- data/app/assets/images/blacklight/raster.svg +0 -3
- data/app/assets/images/blacklight/restricted.svg +0 -3
- data/app/assets/images/blacklight/rutgers.svg +0 -5
- data/app/assets/images/blacklight/sms.svg +0 -3
- data/app/assets/images/blacklight/stanford.svg +0 -3
- data/app/assets/images/blacklight/table.svg +0 -3
- data/app/assets/images/blacklight/tags.svg +0 -3
- data/app/assets/images/blacklight/texas.svg +0 -3
- data/app/assets/images/blacklight/the-ohio-state-university.svg +0 -6
- data/app/assets/images/blacklight/triangle-exclamation-solid.svg +0 -1
- data/app/assets/images/blacklight/tufts.svg +0 -3
- data/app/assets/images/blacklight/ucla.svg +0 -3
- data/app/assets/images/blacklight/university-of-california-berkeley.svg +0 -4
- data/app/assets/images/blacklight/university-of-chicago.svg +0 -5
- data/app/assets/images/blacklight/university-of-colorado-boulder.svg +0 -6
- data/app/assets/images/blacklight/university-of-illinois-urbana-champaign.svg +0 -5
- data/app/assets/images/blacklight/university-of-iowa.svg +0 -4
- data/app/assets/images/blacklight/university-of-maryland.svg +0 -4
- data/app/assets/images/blacklight/university-of-michigan.svg +0 -4
- data/app/assets/images/blacklight/university-of-minnesota.svg +0 -4
- data/app/assets/images/blacklight/university-of-nebraska-lincoln.svg +0 -7
- data/app/assets/images/blacklight/university-of-wisconsin-madison.svg +0 -4
- data/app/assets/images/blacklight/uva.svg +0 -3
- data/app/assets/images/blacklight/web_services.svg +0 -3
- data/app/assets/images/blacklight/websites.svg +0 -4
- data/app/assets/images/blacklight/wisconsin.svg +0 -3
- data/app/assets/javascripts/geoblacklight/basemaps.js +0 -85
- data/app/assets/javascripts/geoblacklight/controls/fullscreen.js +0 -8
- data/app/assets/javascripts/geoblacklight/controls/opacity.js +0 -6
- data/app/assets/javascripts/geoblacklight/controls.js +0 -1
- data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +0 -61
- data/app/assets/javascripts/geoblacklight/downloaders/hgl_downloader.js +0 -32
- data/app/assets/javascripts/geoblacklight/downloaders.js +0 -1
- data/app/assets/javascripts/geoblacklight/geoblacklight.js +0 -60
- data/app/assets/javascripts/geoblacklight/modules/bookmarks.js +0 -43
- data/app/assets/javascripts/geoblacklight/modules/download.js +0 -11
- data/app/assets/javascripts/geoblacklight/modules/geosearch.js +0 -133
- data/app/assets/javascripts/geoblacklight/modules/help_text.js +0 -7
- data/app/assets/javascripts/geoblacklight/modules/home.js +0 -16
- data/app/assets/javascripts/geoblacklight/modules/item.js +0 -32
- data/app/assets/javascripts/geoblacklight/modules/layer_opacity.js +0 -68
- data/app/assets/javascripts/geoblacklight/modules/metadata.js +0 -15
- data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +0 -58
- data/app/assets/javascripts/geoblacklight/modules/relations.js +0 -14
- data/app/assets/javascripts/geoblacklight/modules/results.js +0 -81
- data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +0 -31
- data/app/assets/javascripts/geoblacklight/modules/util.js +0 -48
- data/app/assets/javascripts/geoblacklight/modules.js +0 -1
- data/app/assets/javascripts/geoblacklight/templates/index_map_download.hbs +0 -19
- data/app/assets/javascripts/geoblacklight/templates/index_map_info.hbs +0 -61
- data/app/assets/javascripts/geoblacklight/viewers/cog.js +0 -5
- data/app/assets/javascripts/geoblacklight/viewers/esri/dynamic_map_layer.js +0 -85
- data/app/assets/javascripts/geoblacklight/viewers/esri/feature_layer.js +0 -76
- data/app/assets/javascripts/geoblacklight/viewers/esri/image_map_layer.js +0 -14
- data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +0 -50
- data/app/assets/javascripts/geoblacklight/viewers/esri.js +0 -78
- data/app/assets/javascripts/geoblacklight/viewers/iiif.js +0 -25
- data/app/assets/javascripts/geoblacklight/viewers/index_map.js +0 -71
- data/app/assets/javascripts/geoblacklight/viewers/map.js +0 -77
- data/app/assets/javascripts/geoblacklight/viewers/oembed.js +0 -13
- data/app/assets/javascripts/geoblacklight/viewers/pmtiles.js +0 -5
- data/app/assets/javascripts/geoblacklight/viewers/tilejson.js +0 -33
- data/app/assets/javascripts/geoblacklight/viewers/tms.js +0 -10
- data/app/assets/javascripts/geoblacklight/viewers/viewer.js +0 -68
- data/app/assets/javascripts/geoblacklight/viewers/wms.js +0 -74
- data/app/assets/javascripts/geoblacklight/viewers/wmts.js +0 -85
- data/app/assets/javascripts/geoblacklight/viewers/xyz.js +0 -10
- data/app/assets/javascripts/geoblacklight/viewers.js +0 -1
- data/app/assets/stylesheets/geoblacklight/modules/mixins.scss +0 -5
- data/app/helpers/arcgis_helper.rb +0 -14
- data/app/helpers/blacklight_helper.rb +0 -11
- data/app/helpers/carto_helper.rb +0 -31
- data/app/helpers/geoblacklight/geoblacklight_helper_behavior.rb +0 -18
- data/app/javascript/clover/clover_initializer.js +0 -29
- data/app/javascript/index.js +0 -7
- data/app/javascript/openlayers/basemaps.js +0 -47
- data/app/javascript/openlayers/ol_initializer.js +0 -106
- data/app/javascript/stylesheets/openlayers.css +0 -1
- data/app/models/concerns/geoblacklight/solr_document/carto.rb +0 -17
- data/app/views/catalog/_arcgis.html.erb +0 -4
- data/app/views/catalog/_carto.html.erb +0 -4
- data/app/views/catalog/_data_dictionary.html.erb +0 -5
- data/app/views/catalog/_downloads_collapse.html.erb +0 -27
- data/app/views/catalog/_header_icons.html.erb +0 -3
- data/app/views/catalog/_index_split_default.html.erb +0 -30
- data/app/views/catalog/_results_pagination.html.erb +0 -12
- data/app/views/catalog/_show_default_attribute_table.html.erb +0 -19
- data/app/views/catalog/_show_default_display_note.html.erb +0 -7
- data/app/views/catalog/_show_default_viewer_container.html.erb +0 -28
- data/app/views/catalog/_show_downloads.html.erb +0 -23
- data/app/views/catalog/_show_header_default.html.erb +0 -4
- data/app/views/catalog/_show_sidebar.html.erb +0 -16
- data/app/views/catalog/_show_sidebar_static_map.html.erb +0 -10
- data/app/views/catalog/_show_web_services.html.erb +0 -11
- data/app/views/catalog/_web_services.html.erb +0 -9
- data/app/views/catalog/_web_services_wms.html.erb +0 -13
- data/app/views/download/hgl.html.erb +0 -27
- data/app/views/relation/_relations.html.erb +0 -15
- data/app/views/shared/_header_navbar.html.erb +0 -46
- data/babel.config.json +0 -4
- data/jest.config.js +0 -25
- data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +0 -1
- data/lib/generators/geoblacklight/templates/assets/_geoblacklight.scss +0 -1
- data/lib/generators/geoblacklight/templates/assets/geoblacklight.js +0 -9
- data/lib/generators/geoblacklight/templates/clover.js +0 -5
- data/lib/generators/geoblacklight/templates/ol.js +0 -6
- data/lib/generators/geoblacklight/templates/package-test.json +0 -10
- data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +0 -195
- data/lib/geoblacklight/download/hgl_download.rb +0 -20
- data/lib/geoblacklight/view_helper_override.rb +0 -16
- data/setupJest.js +0 -14
- data/spec/helpers/arcgis_helper_spec.rb +0 -16
- data/spec/helpers/carto_helper_spec.rb +0 -13
- data/spec/helpers/geoblacklight/geoblacklight_helper_behavior_spec.rb +0 -27
- data/spec/javascripts/util_spec.js +0 -10
- data/spec/lib/geoblacklight/download/hgl_download_spec.rb +0 -62
- data/spec/lib/geoblacklight/view_helper_override_spec.rb +0 -29
- data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +0 -43
- data/spec/test_app_templates/Gemfile.extra +0 -2
- data/spec/views/catalog/_document_split.html.erb_spec.rb +0 -7
- data/spec/views/catalog/_index_split.html.erb_spec.rb +0 -7
- data/spec/views/catalog/_results_pagination.html.erb_spec.rb +0 -11
- data/spec/views/catalog/_show_downloads.html.erb_spec.rb +0 -43
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +0 -38
- data/vendor/assets/images/fullscreen.png +0 -0
- data/vendor/assets/images/fullscreen@2x.png +0 -0
- data/vendor/assets/images/layers-2x.png +0 -0
- data/vendor/assets/images/layers.png +0 -0
- data/vendor/assets/images/marker-icon-2x.png +0 -0
- data/vendor/assets/images/marker-icon.png +0 -0
- data/vendor/assets/images/marker-shadow.png +0 -0
- data/vendor/assets/javascripts/Leaflet.fullscreen.js +0 -152
- data/vendor/assets/javascripts/esri-leaflet.js +0 -12
- data/vendor/assets/javascripts/esri-leaflet.js.map +0 -1
- data/vendor/assets/javascripts/leaflet-iiif.js +0 -323
- data/vendor/assets/javascripts/leaflet-src.js.erb +0 -14126
- data/vendor/assets/javascripts/leaflet-src.js.map +0 -1
- data/vendor/assets/javascripts/native.history.js +0 -1
- data/vendor/assets/stylesheets/leaflet.css +0 -640
- data/vendor/assets/stylesheets/leaflet.fullscreen.css +0 -40
- /data/app/{views/catalog/_show_default_viewer_information.html.erb → components/geoblacklight/index_map_inspect_component.html.erb} +0 -0
@@ -35,7 +35,7 @@ class CatalogController < ApplicationController
|
|
35
35
|
# solr field configuration for search results/index views
|
36
36
|
# config.index.show_link = 'title_display'
|
37
37
|
# config.index.record_display_type = 'format'
|
38
|
-
|
38
|
+
config.index.document_component = Geoblacklight::SearchResultComponent
|
39
39
|
config.index.title_field = Settings.FIELDS.TITLE
|
40
40
|
|
41
41
|
# solr field configuration for document/show views
|
@@ -43,16 +43,9 @@ class CatalogController < ApplicationController
|
|
43
43
|
# To move metadata above the map viewer,
|
44
44
|
# remove the lines deleting and re-adding the :show partial
|
45
45
|
config.show.display_type_field = "format"
|
46
|
-
config.show.
|
47
|
-
config.show.
|
48
|
-
config.
|
49
|
-
config.show.partials << "show_default_attribute_table"
|
50
|
-
config.show.partials << "show_default_viewer_information"
|
51
|
-
config.show.partials << :show
|
52
|
-
|
53
|
-
##
|
54
|
-
# Configure the index document presenter.
|
55
|
-
config.index.document_presenter_class = Geoblacklight::DocumentPresenter
|
46
|
+
config.show.document_component = Geoblacklight::DocumentComponent
|
47
|
+
config.show.sidebar_component = Geoblacklight::Document::SidebarComponent
|
48
|
+
config.header_component = Geoblacklight::HeaderComponent
|
56
49
|
|
57
50
|
# solr fields that will be treated as facets by the blacklight application
|
58
51
|
# The ordering of the field names is the order of the display
|
@@ -307,9 +300,8 @@ class CatalogController < ApplicationController
|
|
307
300
|
|
308
301
|
# Custom tools for GeoBlacklight
|
309
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? }
|
310
|
-
config.add_show_tools_partial :
|
311
|
-
config.add_show_tools_partial :
|
312
|
-
config.add_show_tools_partial :data_dictionary, partial: "data_dictionary", if: proc { |_context, _config, options| options[:document] && options[:document].data_dictionary_download.present? }
|
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? }
|
313
305
|
|
314
306
|
# Configure basemap provider for GeoBlacklight maps (uses https only basemap
|
315
307
|
# providers with open licenses)
|
@@ -332,7 +324,7 @@ class CatalogController < ApplicationController
|
|
332
324
|
end
|
333
325
|
|
334
326
|
def web_services
|
335
|
-
@
|
327
|
+
@docs = action_documents
|
336
328
|
|
337
329
|
respond_to do |format|
|
338
330
|
format.html do
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# syntax = docker/dockerfile:1
|
2
|
+
|
3
|
+
# Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile
|
4
|
+
ARG RUBY_VERSION=3.3.4
|
5
|
+
FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim AS base
|
6
|
+
|
7
|
+
RUN apt-get update -qq && \
|
8
|
+
apt-get install --no-install-recommends -y build-essential git pkg-config nodejs npm curl libsqlite3-0
|
9
|
+
|
10
|
+
RUN npm install --global yarn
|
11
|
+
|
12
|
+
ENV RAILS_ENV="development" \
|
13
|
+
BUNDLE_PATH="/usr/local/bundle"
|
14
|
+
|
15
|
+
# Rails app lives here
|
16
|
+
WORKDIR /rails
|
17
|
+
|
18
|
+
# Install gems and javascript packages
|
19
|
+
COPY Gemfile .
|
20
|
+
RUN bundle install
|
21
|
+
COPY package.json .
|
22
|
+
RUN yarn install
|
23
|
+
|
24
|
+
FROM ghcr.io/geoblacklight/geoblacklight:base AS app
|
25
|
+
|
26
|
+
# Add application code
|
27
|
+
COPY . .
|
28
|
+
|
29
|
+
# Run the server script by default, this can be overwritten at runtime
|
30
|
+
EXPOSE 3000
|
31
|
+
CMD ["sh", "start-server"]
|
@@ -0,0 +1,26 @@
|
|
1
|
+
services:
|
2
|
+
app:
|
3
|
+
image: ghcr.io/geoblacklight/geoblacklight:main
|
4
|
+
ports:
|
5
|
+
- "3001:3001"
|
6
|
+
links:
|
7
|
+
- "solr:solr"
|
8
|
+
environment:
|
9
|
+
SOLR_URL: "http://solr:8983/solr/blacklight-core"
|
10
|
+
RAILS_DEVELOPMENT_HOSTS: ".githubpreview.dev,.preview.app.github.dev,.app.github.dev,.csb.app"
|
11
|
+
depends_on:
|
12
|
+
- solr
|
13
|
+
command: sh start-server.sh
|
14
|
+
solr:
|
15
|
+
image: solr:9.6.1
|
16
|
+
volumes:
|
17
|
+
- $PWD/solr/conf:/opt/solr/conf
|
18
|
+
ports:
|
19
|
+
- 8984:8983
|
20
|
+
entrypoint:
|
21
|
+
- docker-entrypoint.sh
|
22
|
+
- solr-precreate
|
23
|
+
- blacklight-core
|
24
|
+
- /opt/solr/conf
|
25
|
+
- "-Xms256m"
|
26
|
+
- "-Xmx512m"
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
bundle install
|
4
|
+
yarn install
|
5
|
+
|
6
|
+
# Build and Install local copy of @geoblackligt/frontend
|
7
|
+
# These steps are included in the docker image instead if the image build script
|
8
|
+
# to reduce the size of the layers that docker compose has to pull with each new version.
|
9
|
+
gempath=$(bundle exec gem which geoblacklight | sed 's/\/lib\/geoblacklight.rb//')
|
10
|
+
if [ ! -d "$gempath/dist/" ]; then
|
11
|
+
cd $gempath
|
12
|
+
yarn install
|
13
|
+
yarn vite build
|
14
|
+
cd -
|
15
|
+
fi
|
16
|
+
yarn add file:$gempath
|
17
|
+
|
18
|
+
# Start the server
|
19
|
+
bundle exec rake db:prepare
|
20
|
+
bundle exec rake geoblacklight:index:seed
|
21
|
+
bundle exec rails server -b 0.0.0.0 -p 3001
|
@@ -1,6 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"dependencies": {
|
3
|
-
"@
|
3
|
+
"@github/auto-complete-element": "3.6.2",
|
4
|
+
"@hotwired/stimulus": "^3.2.2",
|
5
|
+
"@hotwired/turbo-rails": "^8.0.4",
|
6
|
+
"@popperjs/core": "2.11.8",
|
7
|
+
"blacklight-frontend": "8.3.0",
|
8
|
+
"bootstrap": "^5.3.3",
|
9
|
+
"sass": "^1.77.7"
|
4
10
|
},
|
5
11
|
"devDependencies": {
|
6
12
|
"vite": "^5.1.5",
|
@@ -1,9 +1,3 @@
|
|
1
|
-
# Configurable Logo Used for CartoDB export
|
2
|
-
APPLICATION_LOGO_URL: 'http://geoblacklight.org/images/geoblacklight-logo.png'
|
3
|
-
|
4
|
-
# Carto OneClick Service https://carto.com/engine/open-in-carto/
|
5
|
-
CARTO_ONECLICK_LINK: 'http://oneclick.carto.com/'
|
6
|
-
|
7
1
|
# ArcGIS Online Base URL
|
8
2
|
ARCGIS_BASE_URL: 'https://www.arcgis.com/home/webmap/viewer.html'
|
9
3
|
|
@@ -98,7 +92,7 @@ METADATA_SHOWN:
|
|
98
92
|
- 'html'
|
99
93
|
|
100
94
|
# (For external Download) timeout and open_timeout parameters for Faraday
|
101
|
-
TIMEOUT_DOWNLOAD:
|
95
|
+
TIMEOUT_DOWNLOAD: 180
|
102
96
|
|
103
97
|
# (For WMS inspection) timeout and open_timeout parameters for Faraday
|
104
98
|
TIMEOUT_WMS: 4
|
@@ -215,7 +209,15 @@ RELATIONSHIPS_SHOWN:
|
|
215
209
|
inverse: :VERSION_OF_ANCESTORS
|
216
210
|
label: geoblacklight.relations.version_of_descendants
|
217
211
|
query_type: descendants
|
218
|
-
|
212
|
+
|
213
|
+
# Vector data download formats to be displayed
|
214
|
+
DOWNLOAD_FORMATS:
|
215
|
+
VECTOR:
|
216
|
+
- 'Shapefile'
|
217
|
+
- 'KMZ'
|
218
|
+
- 'GeoJSON'
|
219
|
+
- 'CSV'
|
220
|
+
|
219
221
|
# WMS Parameters
|
220
222
|
WMS_PARAMS:
|
221
223
|
:SERVICE: 'WMS'
|
@@ -224,11 +226,19 @@ WMS_PARAMS:
|
|
224
226
|
:STYLES: ''
|
225
227
|
:SRS: 'EPSG:4326'
|
226
228
|
:EXCEPTIONS: 'application/json'
|
227
|
-
:INFO_FORMAT: '
|
229
|
+
:INFO_FORMAT: 'application/json'
|
228
230
|
|
229
231
|
# Settings for leaflet
|
230
232
|
LEAFLET:
|
231
233
|
MAP:
|
234
|
+
BOUNDSOVERLAY:
|
235
|
+
INDEX:
|
236
|
+
color: '#3388ff'
|
237
|
+
SHOW:
|
238
|
+
color: '#3388ff'
|
239
|
+
STATIC_MAP:
|
240
|
+
color: '#3388ff'
|
241
|
+
SELECTED_COLOR: "#2C7FB8"
|
232
242
|
LAYERS:
|
233
243
|
DETECT_RETINA: true
|
234
244
|
INDEX:
|
@@ -236,57 +246,52 @@ LEAFLET:
|
|
236
246
|
color: "#7FCDBB"
|
237
247
|
weight: 1
|
238
248
|
radius: 4
|
249
|
+
sr_color_name: "Green"
|
239
250
|
UNAVAILABLE:
|
240
251
|
<<: *default
|
241
252
|
color: "#EDF8B1"
|
253
|
+
sr_color_name: "Yellow"
|
242
254
|
SELECTED:
|
243
255
|
<<: *default
|
244
256
|
color: "#2C7FB8"
|
245
|
-
|
246
|
-
DYNAMICMAPLAYER:
|
247
|
-
CONTROLS:
|
248
|
-
- 'Opacity'
|
249
|
-
- 'Fullscreen'
|
250
|
-
FEATURELAYER:
|
251
|
-
CONTROLS:
|
252
|
-
- 'Opacity'
|
253
|
-
- 'Fullscreen'
|
254
|
-
IIIF:
|
255
|
-
CONTROLS:
|
256
|
-
- 'Fullscreen'
|
257
|
-
IMAGEMAPLAYER:
|
258
|
-
CONTROLS:
|
259
|
-
- 'Opacity'
|
260
|
-
- 'Fullscreen'
|
261
|
-
INDEXMAP:
|
262
|
-
CONTROLS:
|
263
|
-
- 'Fullscreen'
|
264
|
-
TILEDMAPLAYER:
|
265
|
-
CONTROLS:
|
266
|
-
- 'Opacity'
|
267
|
-
- 'Fullscreen'
|
268
|
-
WMS:
|
269
|
-
CONTROLS:
|
270
|
-
- 'Opacity'
|
271
|
-
- 'Fullscreen'
|
257
|
+
sr_color_name: "Blue"
|
272
258
|
|
273
259
|
# Toggle the help text feature that offers users context
|
274
260
|
HELP_TEXT:
|
275
261
|
viewer_protocol:
|
262
|
+
- 'cog'
|
276
263
|
- 'dynamic_map_layer'
|
277
264
|
- 'feature_layer'
|
278
265
|
- 'iiif'
|
279
266
|
- 'iiif_manifest'
|
280
267
|
- 'image_map_layer'
|
281
268
|
- 'index_map'
|
282
|
-
- 'tiled_map_layer'
|
283
|
-
- 'wms'
|
284
|
-
- 'tms'
|
285
269
|
- 'oembed'
|
286
270
|
- 'pmtiles'
|
287
|
-
- '
|
271
|
+
- 'tiled_map_layer'
|
272
|
+
- 'tilejson'
|
273
|
+
- 'tms'
|
274
|
+
- 'wms'
|
275
|
+
- 'wmts'
|
276
|
+
- 'xyz'
|
288
277
|
|
289
278
|
# Enable catalog#show sidebar static map for items with the following viewer protocols
|
290
279
|
SIDEBAR_STATIC_MAP:
|
291
280
|
- 'iiif'
|
292
281
|
- 'iiif_manifest'
|
282
|
+
|
283
|
+
IIIF_DRAG_DROP_LINK: '@manifest?manifest=@manifest'
|
284
|
+
|
285
|
+
ICON_MAPPING:
|
286
|
+
chicago: university-of-chicago
|
287
|
+
illinois: university-of-illinois-urbana-champaign
|
288
|
+
iowa: university-of-iowa
|
289
|
+
maryland: university-of-maryland
|
290
|
+
michigan-state: michigan-state-university
|
291
|
+
michigan: university-of-michigan
|
292
|
+
minnesota: university-of-minnesota
|
293
|
+
nebraska: university-of-nebraska-lincoln
|
294
|
+
ohio-state: the-ohio-state-university
|
295
|
+
penn-state: pennsylvania-state-university
|
296
|
+
purdue: purdue-university
|
297
|
+
wisconsin: university-of-wisconsin-madison
|
@@ -1,8 +1,23 @@
|
|
1
|
-
import { defineConfig } from
|
2
|
-
import rails from
|
1
|
+
import { defineConfig, searchForWorkspaceRoot } from "vite";
|
2
|
+
import rails from "vite-plugin-rails";
|
3
3
|
|
4
|
-
export default defineConfig({
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
export default defineConfig(({ mode }) => {
|
5
|
+
return {
|
6
|
+
build: {
|
7
|
+
minify: mode === "production",
|
8
|
+
manifest: true,
|
9
|
+
sourcemap: true,
|
10
|
+
},
|
11
|
+
server: {
|
12
|
+
fs: {
|
13
|
+
allow: [
|
14
|
+
// search up for workspace root
|
15
|
+
searchForWorkspaceRoot(process.cwd()),
|
16
|
+
// One directory up (from .internal_test_app where we do `yarn link @geoblacklight`)
|
17
|
+
`${process.cwd()}/..`,
|
18
|
+
],
|
19
|
+
},
|
20
|
+
},
|
21
|
+
plugins: [rails()],
|
22
|
+
};
|
23
|
+
});
|
@@ -28,6 +28,22 @@ module Geoblacklight
|
|
28
28
|
"#{west} #{south} #{east} #{north}"
|
29
29
|
end
|
30
30
|
|
31
|
+
# Output a GeoJSON representation of the bounding box
|
32
|
+
def to_geojson
|
33
|
+
{
|
34
|
+
"type" => "Polygon",
|
35
|
+
"coordinates" => [
|
36
|
+
[
|
37
|
+
[west.to_f, south.to_f],
|
38
|
+
[west.to_f, north.to_f],
|
39
|
+
[east.to_f, north.to_f],
|
40
|
+
[east.to_f, south.to_f],
|
41
|
+
[west.to_f, south.to_f]
|
42
|
+
]
|
43
|
+
]
|
44
|
+
}.to_json
|
45
|
+
end
|
46
|
+
|
31
47
|
##
|
32
48
|
# Create a Geoblacklight::BoundingBox from a Solr rectangle syntax
|
33
49
|
# @param [String] bbox as "W S E N"
|
@@ -21,7 +21,6 @@ module Geoblacklight
|
|
21
21
|
tms: "https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification",
|
22
22
|
tilejson: "https://github.com/mapbox/tilejson-spec",
|
23
23
|
xyz: "https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames",
|
24
|
-
hgl: "http://schema.org/DownloadAction",
|
25
24
|
feature_layer: "urn:x-esri:serviceType:ArcGIS#FeatureLayer",
|
26
25
|
tiled_map_layer: "urn:x-esri:serviceType:ArcGIS#TiledMapLayer",
|
27
26
|
dynamic_map_layer: "urn:x-esri:serviceType:ArcGIS#DynamicMapLayer",
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Geoblacklight
|
4
|
+
class CsvDownload < Geoblacklight::Download
|
5
|
+
CSV_DOWNLOAD_PARAMS = {service: "wfs",
|
6
|
+
version: "2.0.0",
|
7
|
+
request: "GetFeature",
|
8
|
+
srsName: "EPSG:4326",
|
9
|
+
outputformat: "csv"}.freeze
|
10
|
+
|
11
|
+
def initialize(document, options = {})
|
12
|
+
request_params = CSV_DOWNLOAD_PARAMS.merge(typeName: document.wxs_identifier)
|
13
|
+
super(document, {
|
14
|
+
type: "csv",
|
15
|
+
extension: "csv",
|
16
|
+
request_params: request_params,
|
17
|
+
content_type: "text/csv",
|
18
|
+
service_type: "wfs"
|
19
|
+
}.merge(options))
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -11,7 +11,7 @@ module Geoblacklight
|
|
11
11
|
}.freeze
|
12
12
|
|
13
13
|
def initialize(document, options = {})
|
14
|
-
request_params = GEOJSON_DOWNLOAD_PARAMS.merge(typeName: document
|
14
|
+
request_params = GEOJSON_DOWNLOAD_PARAMS.merge(typeName: document.wxs_identifier)
|
15
15
|
super(document, {
|
16
16
|
type: "geojson",
|
17
17
|
extension: "json",
|
@@ -8,7 +8,7 @@ module Geoblacklight
|
|
8
8
|
}.freeze
|
9
9
|
|
10
10
|
def initialize(document, options = {})
|
11
|
-
request_params = GEOTIFF_DOWNLOAD_PARAMS.merge(layers: document
|
11
|
+
request_params = GEOTIFF_DOWNLOAD_PARAMS.merge(layers: document.wxs_identifier)
|
12
12
|
super(document, {
|
13
13
|
type: "geotiff",
|
14
14
|
extension: "tif",
|
@@ -11,7 +11,7 @@ module Geoblacklight
|
|
11
11
|
|
12
12
|
def initialize(document, options = {})
|
13
13
|
bbox_wsen = document.geometry.bounding_box
|
14
|
-
request_params = KMZ_DOWNLOAD_PARAMS.merge(layers: document
|
14
|
+
request_params = KMZ_DOWNLOAD_PARAMS.merge(layers: document.wxs_identifier, bbox: bbox_wsen)
|
15
15
|
super(document, {
|
16
16
|
type: "kmz",
|
17
17
|
extension: "kmz",
|
@@ -9,7 +9,7 @@ module Geoblacklight
|
|
9
9
|
outputformat: "SHAPE-ZIP"}.freeze
|
10
10
|
|
11
11
|
def initialize(document, options = {})
|
12
|
-
request_params = SHAPEFILE_DOWNLOAD_PARAMS.merge(typeName: document
|
12
|
+
request_params = SHAPEFILE_DOWNLOAD_PARAMS.merge(typeName: document.wxs_identifier)
|
13
13
|
super(document, {
|
14
14
|
type: "shapefile",
|
15
15
|
extension: "zip",
|
@@ -102,7 +102,7 @@ module Geoblacklight
|
|
102
102
|
# URL for download
|
103
103
|
# @return [String] URL that is checked in download
|
104
104
|
def url
|
105
|
-
url = @document.references.
|
105
|
+
url = @document.references.public_send(@options[:service_type]).endpoint
|
106
106
|
url += "/reflect" if @options[:reflect]
|
107
107
|
url
|
108
108
|
end
|
data/lib/geoblacklight/engine.rb
CHANGED
@@ -7,7 +7,6 @@ require "faraday"
|
|
7
7
|
require "geoblacklight/version"
|
8
8
|
require "nokogiri"
|
9
9
|
require "mime/types"
|
10
|
-
require "handlebars_assets"
|
11
10
|
|
12
11
|
module Geoblacklight
|
13
12
|
class Engine < ::Rails::Engine
|
@@ -16,14 +15,24 @@ module Geoblacklight
|
|
16
15
|
initializer "geoblacklight.helpers" do
|
17
16
|
config.after_initialize do
|
18
17
|
ActionView::Base.send :include, GeoblacklightHelper
|
19
|
-
ActionView::Base.send :include, CartoHelper
|
20
18
|
end
|
21
19
|
end
|
22
20
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
21
|
+
PRECOMPILE_ASSETS = %w[favicon.ico geoblacklight/geoblacklight.umd.cjs geoblacklight/geoblacklight.umd.cjs.map geoblacklight/geoblacklight.js geoblacklight/geoblacklight.js.map].freeze
|
22
|
+
|
23
|
+
# Make the source JS and CSS available to built apps
|
24
|
+
initializer "geoblacklight.assets" do |app|
|
25
|
+
app.config.assets.paths << Geoblacklight::Engine.root.join("app/javascript")
|
26
|
+
app.config.assets.paths << Geoblacklight::Engine.root.join("app/assets")
|
27
|
+
app.config.assets.precompile += Geoblacklight::Engine::PRECOMPILE_ASSETS
|
28
|
+
end
|
29
|
+
|
30
|
+
# Add the Geoblacklight importmap to the built app's importmap
|
31
|
+
initializer "geoblacklight.importmap", before: "importmap" do |app|
|
32
|
+
next unless app.config.respond_to?(:importmap) # skip for Vite
|
33
|
+
|
34
|
+
app.config.importmap.paths << Engine.root.join("config/importmap.rb")
|
35
|
+
app.config.importmap.cache_sweepers << Engine.root.join("app/assets/javascripts")
|
27
36
|
end
|
28
37
|
end
|
29
38
|
end
|
@@ -4,6 +4,7 @@ module Geoblacklight
|
|
4
4
|
# References is a geoblacklight-schema dct:references parser
|
5
5
|
class References
|
6
6
|
attr_reader :refs, :reference_field
|
7
|
+
|
7
8
|
def initialize(document, reference_field = Settings.FIELDS.REFERENCES)
|
8
9
|
@document = document
|
9
10
|
@reference_field = reference_field
|
@@ -31,7 +32,7 @@ module Geoblacklight
|
|
31
32
|
# Accessor for a document's file format
|
32
33
|
# @return [String] file format for the document
|
33
34
|
def format
|
34
|
-
@document
|
35
|
+
@document.file_format
|
35
36
|
end
|
36
37
|
|
37
38
|
##
|
@@ -72,9 +73,9 @@ module Geoblacklight
|
|
72
73
|
##
|
73
74
|
# Returns all of the Esri webservices for given set of references
|
74
75
|
def esri_webservices
|
75
|
-
%w[tiled_map_layer dynamic_map_layer feature_layer image_map_layer].
|
76
|
+
%w[tiled_map_layer dynamic_map_layer feature_layer image_map_layer].filter_map do |layer_type|
|
76
77
|
send(layer_type)
|
77
|
-
end
|
78
|
+
end
|
78
79
|
end
|
79
80
|
|
80
81
|
private
|
@@ -103,11 +104,29 @@ module Geoblacklight
|
|
103
104
|
# @return (see #downloads_by_format)
|
104
105
|
def vector_download_formats
|
105
106
|
return unless wms.present? && wfs.present?
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
107
|
+
|
108
|
+
download_formats = {}
|
109
|
+
format_list.each { |format| download_formats.merge!(web_service_hash(format)) }
|
110
|
+
download_formats
|
111
|
+
end
|
112
|
+
|
113
|
+
def format_list
|
114
|
+
Settings.DOWNLOAD_FORMATS&.VECTOR
|
115
|
+
end
|
116
|
+
|
117
|
+
def web_service_hash(format)
|
118
|
+
case format
|
119
|
+
when "Shapefile"
|
120
|
+
{shapefile: wfs.to_hash}
|
121
|
+
when "KMZ"
|
122
|
+
{kmz: wms.to_hash}
|
123
|
+
when "GeoJSON"
|
124
|
+
{geojson: wfs.to_hash}
|
125
|
+
when "CSV"
|
126
|
+
{csv: wfs.to_hash}
|
127
|
+
else
|
128
|
+
{}
|
129
|
+
end
|
111
130
|
end
|
112
131
|
|
113
132
|
##
|
data/lib/geoblacklight/routes.rb
CHANGED
@@ -15,15 +15,18 @@ module Geoblacklight
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def format
|
18
|
+
JSON.parse(@response.body)
|
19
|
+
rescue
|
18
20
|
page = Nokogiri::HTML(@response.body)
|
19
|
-
|
20
|
-
|
21
|
-
table_values[:values].push([th.text])
|
22
|
-
end
|
21
|
+
properties = {}
|
22
|
+
values = {}
|
23
23
|
page.css("td").each_with_index do |td, index|
|
24
|
-
|
24
|
+
values[index] = td.text
|
25
|
+
end
|
26
|
+
page.css("th").each_with_index do |th, index|
|
27
|
+
properties[th.text] = values[index] unless index >= values.keys.count
|
25
28
|
end
|
26
|
-
|
29
|
+
{features: [{properties: properties, isHTML: true}]}
|
27
30
|
end
|
28
31
|
|
29
32
|
def error?
|
data/lib/geoblacklight.rb
CHANGED
@@ -2,38 +2,14 @@
|
|
2
2
|
|
3
3
|
require "active_support/dependencies"
|
4
4
|
require "geoblacklight/engine"
|
5
|
+
require "zeitwerk"
|
6
|
+
loader = Zeitwerk::Loader.for_gem
|
7
|
+
loader.ignore("#{__dir__}/generators")
|
8
|
+
loader.collapse("#{__dir__}/geoblacklight/download")
|
9
|
+
loader.collapse("#{__dir__}/geoblacklight/wms_layer")
|
10
|
+
loader.setup
|
5
11
|
|
6
12
|
module Geoblacklight
|
7
|
-
require "geoblacklight/bounding_box"
|
8
|
-
require "geoblacklight/constants"
|
9
|
-
require "geoblacklight/exceptions"
|
10
|
-
require "geoblacklight/geometry"
|
11
|
-
require "geoblacklight/view_helper_override"
|
12
|
-
require "geoblacklight/item_viewer"
|
13
|
-
require "geoblacklight/wms_layer"
|
14
|
-
require "geoblacklight/wms_layer/feature_info_response"
|
15
|
-
require "geoblacklight/download"
|
16
|
-
require "geoblacklight/download/geojson_download"
|
17
|
-
require "geoblacklight/download/geotiff_download"
|
18
|
-
require "geoblacklight/download/kmz_download"
|
19
|
-
require "geoblacklight/download/shapefile_download"
|
20
|
-
require "geoblacklight/download/hgl_download"
|
21
|
-
require "geoblacklight/metadata"
|
22
|
-
require "geoblacklight/metadata/base"
|
23
|
-
require "geoblacklight/metadata/fgdc"
|
24
|
-
require "geoblacklight/metadata/html"
|
25
|
-
require "geoblacklight/metadata/iso19139"
|
26
|
-
require "geoblacklight/metadata_transformer"
|
27
|
-
require "geoblacklight/metadata_transformer/base"
|
28
|
-
require "geoblacklight/metadata_transformer/fgdc"
|
29
|
-
require "geoblacklight/metadata_transformer/iso19139"
|
30
|
-
require "geoblacklight/reference"
|
31
|
-
require "geoblacklight/references"
|
32
|
-
require "geoblacklight/routes"
|
33
|
-
require "geoblacklight/relation/descendants"
|
34
|
-
require "geoblacklight/relation/ancestors"
|
35
|
-
require "geoblacklight/relation/relation_response"
|
36
|
-
|
37
13
|
def self.logger
|
38
14
|
::Rails.logger
|
39
15
|
end
|