geoblacklight 5.4.0 → 6.0.0.pre.alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.engine_cart.yml +14 -0
- data/.github/workflows/ruby.yml +24 -25
- data/.gitignore +0 -9
- data/.prettierignore +4 -0
- data/.prettierrc +5 -0
- data/CONTRIBUTING.md +2 -4
- data/Gemfile +4 -2
- data/README.md +4 -4
- data/Rakefile +0 -22
- data/app/assets/stylesheets/geoblacklight/global.css +7 -0
- data/app/assets/stylesheets/geoblacklight/home.css +22 -0
- data/app/assets/stylesheets/geoblacklight/index_maps.css +36 -0
- data/app/assets/stylesheets/geoblacklight/record.css +39 -0
- data/app/assets/stylesheets/geoblacklight/search.css +56 -0
- data/app/assets/stylesheets/geoblacklight/viewers.css +50 -0
- data/app/assets/stylesheets/geoblacklight.css +14 -0
- data/app/components/blacklight/icons/web_services_component.rb +3 -3
- data/app/components/geoblacklight/accordion_component.html.erb +3 -3
- data/app/components/geoblacklight/accordion_component.rb +4 -0
- data/app/components/geoblacklight/arcgis_component.html.erb +1 -1
- data/app/components/geoblacklight/arcgis_component.rb +1 -1
- data/app/components/geoblacklight/attribute_table_component.html.erb +3 -3
- data/app/components/geoblacklight/data_dictionary_download_component.html.erb +1 -1
- data/app/components/geoblacklight/display_note_component.html.erb +1 -1
- data/app/components/geoblacklight/display_note_component.rb +2 -1
- data/app/components/geoblacklight/document/citation_component.html.erb +1 -1
- data/app/components/geoblacklight/document/sidebar_component.html.erb +1 -4
- data/app/components/geoblacklight/document/sidebar_component.rb +0 -8
- data/app/components/geoblacklight/document_component.html.erb +1 -2
- data/app/components/geoblacklight/download_links_component.html.erb +0 -3
- data/app/components/geoblacklight/download_links_component.rb +1 -1
- data/app/components/geoblacklight/header_component.html.erb +4 -4
- data/app/components/geoblacklight/header_icons_component.rb +4 -2
- data/app/components/geoblacklight/homepage_feature_facet_component.html.erb +3 -7
- data/app/components/geoblacklight/homepage_feature_facet_component.rb +12 -3
- data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +2 -2
- data/app/components/geoblacklight/iiif_drag_drop_component.rb +2 -2
- data/app/components/geoblacklight/index_map_inspect_component.html.erb +3 -3
- data/app/components/geoblacklight/index_map_legend_component.html.erb +7 -7
- data/app/components/geoblacklight/index_map_legend_component.rb +7 -0
- data/app/components/geoblacklight/item_map_viewer_component.rb +9 -5
- data/app/components/geoblacklight/location_leaflet_map_component.rb +28 -15
- data/app/components/geoblacklight/relations_component.html.erb +2 -2
- data/app/components/geoblacklight/search_result_component.html.erb +28 -26
- data/app/components/geoblacklight/search_result_component.rb +2 -2
- data/app/components/geoblacklight/static_map_component.rb +6 -5
- data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -1
- data/app/components/geoblacklight/viewer_help_text_component.rb +1 -1
- data/app/components/geoblacklight/web_services_component.html.erb +1 -1
- data/app/components/geoblacklight/web_services_component.rb +1 -1
- data/app/components/geoblacklight/web_services_default_component.html.erb +6 -6
- data/app/components/geoblacklight/web_services_link_component.rb +12 -9
- data/app/components/geoblacklight/web_services_wfs_component.html.erb +4 -4
- data/app/components/geoblacklight/web_services_wms_component.html.erb +4 -4
- data/app/controllers/download_controller.rb +0 -7
- data/app/controllers/relation_controller.rb +1 -1
- data/app/controllers/wms_controller.rb +1 -1
- data/app/helpers/geoblacklight_helper.rb +0 -43
- data/app/javascript/geoblacklight/controllers/clipboard_controller.js +6 -6
- data/app/javascript/geoblacklight/controllers/downloads_controller.js +37 -29
- data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +110 -134
- data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +5 -5
- data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +27 -61
- data/app/javascript/geoblacklight/controllers/search_results_controller.js +18 -18
- data/app/javascript/geoblacklight/core.js +35 -36
- data/app/javascript/geoblacklight/index.js +10 -10
- data/app/javascript/geoblacklight/initializers/metadata_download.js +23 -25
- data/app/javascript/geoblacklight/initializers/popovers.js +4 -4
- data/app/javascript/geoblacklight/initializers/relations.js +20 -20
- data/app/javascript/geoblacklight/initializers/tooltips.js +19 -23
- data/app/javascript/geoblacklight/initializers/truncation.js +18 -18
- data/app/javascript/geoblacklight/leaflet/basemaps.js +34 -3
- data/app/javascript/geoblacklight/leaflet/constants.js +7 -7
- data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +80 -74
- data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +74 -73
- data/app/javascript/geoblacklight/leaflet/controls/sidebar.js +31 -29
- data/app/javascript/geoblacklight/leaflet/controls/sleep.js +54 -51
- data/app/javascript/geoblacklight/leaflet/inspection.js +79 -71
- data/app/javascript/geoblacklight/leaflet/layer_index_map.js +74 -69
- data/app/javascript/geoblacklight/leaflet/layer_wmts.js +14 -16
- data/app/javascript/geoblacklight/leaflet/layers.js +59 -66
- data/app/javascript/geoblacklight/leaflet/utils.js +37 -43
- data/app/javascript/geoblacklight/openlayers/basemaps.js +43 -15
- data/app/javascript/geoblacklight/openlayers/inspection.js +23 -23
- data/app/javascript/geoblacklight/openlayers/layers.js +12 -12
- data/app/models/concerns/geoblacklight/bbox_filter_query.rb +7 -9
- data/app/models/concerns/geoblacklight/solr_document.rb +17 -57
- data/app/models/concerns/geoblacklight/suppressed_records_search_behavior.rb +3 -3
- data/app/views/catalog/_document_split.html.erb +3 -3
- data/app/views/catalog/_home_text.html.erb +22 -14
- data/app/views/catalog/_metadata.html.erb +1 -4
- data/app/views/catalog/_relations_container.html.erb +1 -1
- data/app/views/catalog/index.html.erb +0 -1
- data/app/views/catalog/metadata/_markup.html.erb +1 -2
- data/app/views/catalog/metadata/_missing.html.erb +2 -2
- data/app/views/catalog/web_services.html.erb +1 -1
- data/app/views/relation/index.html.erb +1 -1
- data/app/views/relation/index.json.jbuilder +1 -1
- data/config/initializers/rails_config.rb +0 -3
- data/config/locales/geoblacklight.en.yml +79 -78
- data/geoblacklight.gemspec +3 -4
- data/lib/generators/geoblacklight/assets_generator.rb +35 -26
- data/lib/generators/geoblacklight/install_generator.rb +6 -11
- data/lib/generators/geoblacklight/templates/assets/customizations.css +6 -0
- data/lib/generators/geoblacklight/templates/catalog_controller.rb +102 -77
- data/lib/generators/geoblacklight/templates/settings.yml +97 -132
- data/lib/geoblacklight/configuration/default_settings_builder.rb +18 -0
- data/lib/geoblacklight/configuration/display_note_shown_config.rb +13 -0
- data/lib/geoblacklight/configuration/fields_config.rb +51 -0
- data/lib/geoblacklight/configuration/leaflet_config.rb +73 -0
- data/lib/geoblacklight/configuration/leaflet_layers_config.rb +21 -0
- data/lib/geoblacklight/configuration/leaflet_sleep_config.rb +20 -0
- data/lib/geoblacklight/configuration/legacy_settings_builder.rb +94 -0
- data/lib/geoblacklight/configuration.rb +148 -0
- data/lib/geoblacklight/download.rb +2 -5
- data/lib/geoblacklight/engine.rb +7 -18
- data/lib/geoblacklight/metadata/base.rb +0 -2
- data/lib/geoblacklight/metadata_transformer.rb +0 -2
- data/lib/geoblacklight/references.rb +6 -10
- data/lib/geoblacklight/relation/ancestors.rb +3 -5
- data/lib/geoblacklight/relation/descendants.rb +2 -4
- data/lib/geoblacklight/relation/relation_response.rb +5 -8
- data/lib/geoblacklight/version.rb +1 -1
- data/lib/geoblacklight/wms_layer.rb +3 -3
- data/lib/geoblacklight.rb +5 -15
- data/lib/tasks/geoblacklight.rake +0 -9
- data/package.json +10 -31
- data/schema/geoblacklight-schema-aardvark.json +1 -9
- data/schema/readme.md +3 -4
- data/solr/conf/_rest_managed.json +3 -2
- data/solr/conf/schema.xml +1 -1
- data/solr/conf/solrconfig.xml +10 -10
- data/spec/components/geoblacklight/arcgis_component_spec.rb +6 -6
- data/spec/components/geoblacklight/attribute_table_component_spec.rb +6 -7
- data/spec/components/geoblacklight/citation_component_spec.rb +7 -4
- data/spec/components/geoblacklight/display_note_component_spec.rb +8 -8
- data/spec/components/geoblacklight/document_component_spec.rb +13 -13
- data/spec/components/geoblacklight/download_links_component_spec.rb +17 -14
- data/spec/components/geoblacklight/header_icons_component_spec.rb +6 -11
- data/spec/components/geoblacklight/homepage_feature_facet_component_spec.rb +22 -30
- data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +3 -3
- data/spec/components/geoblacklight/index_map_legend_component_spec.rb +5 -18
- data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +5 -5
- data/spec/components/geoblacklight/login_link_component_spec.rb +4 -5
- data/spec/components/geoblacklight/search_result_component_spec.rb +2 -6
- data/spec/components/geoblacklight/static_map_component_spec.rb +2 -2
- data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +4 -6
- data/spec/components/geoblacklight/web_services_component_spec.rb +11 -10
- data/spec/controllers/catalog_controller_spec.rb +7 -7
- data/spec/controllers/download_controller_spec.rb +1 -1
- data/spec/controllers/relation_controller_spec.rb +1 -1
- data/spec/controllers/wms_controller_spec.rb +1 -1
- data/spec/features/axe_spec.rb +4 -4
- data/spec/features/bookmarks_spec.rb +1 -1
- data/spec/features/citations_spec.rb +1 -1
- data/spec/features/configurable_basemap_spec.rb +1 -69
- data/spec/features/data_dictionary_download_spec.rb +1 -1
- data/spec/features/download_layer_spec.rb +1 -1
- data/spec/features/empty_search_spec.rb +1 -1
- data/spec/features/esri_viewer_spec.rb +1 -1
- data/spec/features/exports_spec.rb +1 -1
- data/spec/features/full_screen_control_spec.rb +3 -10
- data/spec/features/help_text_spec.rb +1 -1
- data/spec/features/home_page_spec.rb +1 -1
- data/spec/features/index_map_spec.rb +3 -3
- data/spec/features/index_view_spec.rb +7 -7
- data/spec/features/layer_inspection_spec.rb +1 -1
- data/spec/features/layer_opacity_spec.rb +1 -1
- data/spec/features/layer_preview_spec.rb +1 -1
- data/spec/features/layer_with_no_references_spec.rb +1 -1
- data/spec/features/linkified_attribute_table_spec.rb +1 -1
- data/spec/features/metadata_panel_spec.rb +1 -1
- data/spec/features/missing_metadata_spec.rb +1 -1
- data/spec/features/multiple_downloads_spec.rb +1 -1
- data/spec/features/oembed_spec.rb +1 -1
- data/spec/features/relations_spec.rb +5 -4
- data/spec/features/saved_searches_spec.rb +1 -1
- data/spec/features/search_bar_spec.rb +1 -1
- data/spec/features/search_results_complex_geometry_spec.rb +1 -1
- data/spec/features/search_results_icons_spec.rb +3 -4
- data/spec/features/search_results_map_spec.rb +1 -1
- data/spec/features/search_results_overlap_ratio_spec.rb +3 -3
- data/spec/features/search_spec.rb +1 -1
- data/spec/features/show_page_download_spec.rb +1 -1
- data/spec/features/show_page_metadata_spec.rb +2 -2
- data/spec/features/show_page_sidebar_static_map_spec.rb +1 -1
- data/spec/features/sms_spec.rb +1 -1
- data/spec/features/suppressed_records_spec.rb +1 -1
- data/spec/features/tilejson_spec.rb +1 -1
- data/spec/features/tms_spec.rb +1 -1
- data/spec/features/web_services_modal_spec.rb +1 -1
- data/spec/features/wmts_spec.rb +1 -1
- data/spec/features/xyz_spec.rb +1 -1
- data/spec/fixtures/manifests/tilejson.json +10 -19
- data/spec/fixtures/metadata/fgdc.html +1 -1
- data/spec/fixtures/metadata/iso.html +1 -1
- data/spec/fixtures/solr_documents/README.md +0 -1
- data/spec/fixtures/solr_documents/actual-papermap1.json +9 -28
- data/spec/fixtures/solr_documents/actual-point1.json +12 -39
- data/spec/fixtures/solr_documents/actual-polygon1.json +10 -30
- data/spec/fixtures/solr_documents/actual-raster1.json +14 -46
- data/spec/fixtures/solr_documents/all-relationships.json +12 -36
- data/spec/fixtures/solr_documents/b1g_iiif_manifest.json +33 -62
- data/spec/fixtures/solr_documents/b1g_wabash_child_15.json +13 -40
- data/spec/fixtures/solr_documents/b1g_wabash_child_16.json +13 -40
- data/spec/fixtures/solr_documents/b1g_wabash_child_17.json +13 -40
- data/spec/fixtures/solr_documents/b1g_wabash_child_18.json +13 -40
- data/spec/fixtures/solr_documents/b1g_wabash_parent.json +13 -40
- data/spec/fixtures/solr_documents/baruch_ancestor1.json +13 -40
- data/spec/fixtures/solr_documents/baruch_ancestor2.json +13 -40
- data/spec/fixtures/solr_documents/baruch_documentation_download.json +14 -46
- data/spec/fixtures/solr_documents/bbox-spans-180.json +7 -21
- data/spec/fixtures/solr_documents/complex-geom.json +11 -37
- data/spec/fixtures/solr_documents/cornell_html_metadata.json +12 -37
- data/spec/fixtures/solr_documents/display-note.json +11 -33
- data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +13 -39
- data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +13 -40
- data/spec/fixtures/solr_documents/esri-feature-layer.json +13 -39
- data/spec/fixtures/solr_documents/esri-image-map-layer.json +13 -40
- data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +16 -54
- data/spec/fixtures/solr_documents/esri-wms-layer.json +12 -36
- data/spec/fixtures/solr_documents/harvard_raster.json +12 -37
- data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +9 -27
- data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +12 -41
- data/spec/fixtures/solr_documents/index-map-polygon.json +12 -41
- data/spec/fixtures/solr_documents/index-map-stanford.json +14 -45
- data/spec/fixtures/solr_documents/index-map-v1-complex.json +13 -38
- data/spec/fixtures/solr_documents/index_map_point.json +13 -42
- data/spec/fixtures/solr_documents/metadata_no_geom.json +4 -14
- data/spec/fixtures/solr_documents/metadata_no_provider.json +8 -25
- data/spec/fixtures/solr_documents/multiple-downloads.json +6 -18
- data/spec/fixtures/solr_documents/no_locn_geometry.json +4 -12
- data/spec/fixtures/solr_documents/no_spatial.json +4 -12
- data/spec/fixtures/solr_documents/oembed.json +8 -25
- data/spec/fixtures/solr_documents/princeton-child1.json +9 -29
- data/spec/fixtures/solr_documents/princeton-child2.json +9 -29
- data/spec/fixtures/solr_documents/princeton-child3.json +9 -29
- data/spec/fixtures/solr_documents/princeton-child4.json +9 -29
- data/spec/fixtures/solr_documents/princeton-parent.json +10 -33
- data/spec/fixtures/solr_documents/public_cog_princeton.json +9 -27
- data/spec/fixtures/solr_documents/public_iiif_princeton.json +13 -43
- data/spec/fixtures/solr_documents/public_pmtiles_princeton.json +29 -39
- data/spec/fixtures/solr_documents/public_polygon_mit.json +9 -30
- data/spec/fixtures/solr_documents/restricted-line.json +14 -47
- data/spec/fixtures/solr_documents/the-related-record.json +4 -12
- data/spec/fixtures/solr_documents/tilejson.json +23 -46
- data/spec/fixtures/solr_documents/tms.json +7 -21
- data/spec/fixtures/solr_documents/umn_metro_result1.json +13 -41
- data/spec/fixtures/solr_documents/umn_state_result1.json +13 -39
- data/spec/fixtures/solr_documents/umn_state_result2.json +13 -39
- data/spec/fixtures/solr_documents/uva_slug_colon.json +10 -30
- data/spec/fixtures/solr_documents/wmts-multiple.json +23 -39
- data/spec/fixtures/solr_documents/wmts-single-layer.json +23 -46
- data/spec/fixtures/solr_documents/xyz.json +10 -33
- data/spec/helpers/geoblacklight_helper_spec.rb +5 -50
- data/spec/javascripts/geoblacklight_spec.js +10 -10
- data/spec/javascripts/metadata_download_button_spec.js +14 -13
- data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -1
- data/spec/lib/geoblacklight/configuration/default_settings_builder_spec.rb +9 -0
- data/spec/lib/geoblacklight/configuration_spec.rb +13 -0
- data/spec/lib/geoblacklight/download/csv_download_spec.rb +2 -2
- data/spec/lib/geoblacklight/download/geojson_download_spec.rb +2 -2
- data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +5 -2
- data/spec/lib/geoblacklight/download/kmz_download_spec.rb +2 -2
- data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +2 -2
- data/spec/lib/geoblacklight/download_spec.rb +15 -6
- data/spec/lib/geoblacklight/geometry_spec.rb +1 -1
- data/spec/lib/geoblacklight/item_viewer_spec.rb +2 -2
- data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -1
- data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -1
- data/spec/lib/geoblacklight/metadata_spec.rb +1 -1
- data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +1 -1
- data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +1 -1
- data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +1 -1
- data/spec/lib/geoblacklight/metadata_transformer_spec.rb +1 -1
- data/spec/lib/geoblacklight/reference_spec.rb +1 -1
- data/spec/lib/geoblacklight/references_spec.rb +6 -4
- data/spec/lib/geoblacklight/relation/ancestors_spec.rb +10 -4
- data/spec/lib/geoblacklight/relation/descendants_spec.rb +9 -4
- data/spec/lib/geoblacklight/relation/relation_response_spec.rb +12 -15
- data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +1 -1
- data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -1
- data/spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb +20 -11
- data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
- data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -1
- data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -1
- data/spec/models/concerns/geoblacklight/solr_document_spec.rb +4 -39
- data/spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb +2 -2
- data/spec/routing/catalog_routing_spec.rb +1 -1
- data/spec/spec_helper.rb +4 -16
- data/spec/tasks/geoblacklight_spec.rb +1 -1
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -3
- metadata +40 -194
- data/Procfile.dev +0 -3
- data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +0 -2
- data/app/assets/stylesheets/geoblacklight/modules/_base.scss +0 -31
- data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +0 -40
- data/app/assets/stylesheets/geoblacklight/modules/_styles.scss +0 -9
- data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +0 -62
- data/app/assets/stylesheets/geoblacklight/modules/geosearch.scss +0 -23
- data/app/assets/stylesheets/geoblacklight/modules/home.scss +0 -13
- data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +0 -116
- data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +0 -61
- data/app/assets/stylesheets/geoblacklight/modules/item.scss +0 -78
- data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +0 -87
- data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +0 -4
- data/app/assets/stylesheets/geoblacklight/modules/metadata.scss +0 -31
- data/app/assets/stylesheets/geoblacklight/modules/metadata_content.scss +0 -43
- data/app/assets/stylesheets/geoblacklight/modules/metadata_markup.scss +0 -9
- data/app/assets/stylesheets/geoblacklight/modules/metadata_missing.scss +0 -7
- data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -5
- data/app/assets/stylesheets/geoblacklight/modules/results.scss +0 -60
- data/app/assets/stylesheets/geoblacklight/modules/search_widgets.scss +0 -5
- data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +0 -42
- data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +0 -34
- data/app/assets/stylesheets/geoblacklight/modules/web_services.scss +0 -5
- data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +0 -46
- data/app/components/blacklight/icons/arizona_component.rb +0 -24
- data/app/components/blacklight/icons/baruch_cuny_component.rb +0 -23
- data/app/components/blacklight/icons/bookmark_component.rb +0 -23
- data/app/components/blacklight/icons/circle_info_solid_component.rb +0 -23
- data/app/components/blacklight/icons/columbia_component.rb +0 -23
- data/app/components/blacklight/icons/cornell_component.rb +0 -25
- data/app/components/blacklight/icons/george_mason_component.rb +0 -24
- data/app/components/blacklight/icons/harvard_component.rb +0 -23
- data/app/components/blacklight/icons/indiana_component.rb +0 -23
- data/app/components/blacklight/icons/lewis_clark_component.rb +0 -25
- data/app/components/blacklight/icons/massgis_component.rb +0 -23
- data/app/components/blacklight/icons/michigan_state_university_component.rb +0 -25
- data/app/components/blacklight/icons/mit_component.rb +0 -23
- data/app/components/blacklight/icons/northwestern_university_component.rb +0 -24
- data/app/components/blacklight/icons/nyu_component.rb +0 -26
- data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +0 -25
- data/app/components/blacklight/icons/princeton_component.rb +0 -23
- data/app/components/blacklight/icons/purdue_university_component.rb +0 -25
- data/app/components/blacklight/icons/rutgers_component.rb +0 -25
- data/app/components/blacklight/icons/sms_component.rb +0 -23
- data/app/components/blacklight/icons/stanford_component.rb +0 -23
- data/app/components/blacklight/icons/texas_component.rb +0 -23
- data/app/components/blacklight/icons/the_ohio_state_university_component.rb +0 -26
- data/app/components/blacklight/icons/tufts_component.rb +0 -23
- data/app/components/blacklight/icons/ucla_component.rb +0 -23
- data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +0 -24
- data/app/components/blacklight/icons/university_of_chicago_component.rb +0 -25
- data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +0 -26
- data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +0 -25
- data/app/components/blacklight/icons/university_of_iowa_component.rb +0 -24
- data/app/components/blacklight/icons/university_of_maryland_component.rb +0 -24
- data/app/components/blacklight/icons/university_of_michigan_component.rb +0 -24
- data/app/components/blacklight/icons/university_of_minnesota_component.rb +0 -24
- data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +0 -27
- data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +0 -24
- data/app/components/blacklight/icons/uva_component.rb +0 -23
- data/app/components/geoblacklight/icon_facet_item_component.rb +0 -33
- data/app/components/geoblacklight/web_services_link_component.html.erb +0 -3
- data/bin/vite +0 -29
- data/config/initializers/new_gbl_settings_defaults_4.1.yml +0 -104
- data/lib/generators/geoblacklight/assets/importmap_generator.rb +0 -73
- data/lib/generators/geoblacklight/assets/vite_generator.rb +0 -89
- data/lib/generators/geoblacklight/templates/assets/_customizations.scss +0 -23
- data/lib/generators/geoblacklight/templates/assets/application.js +0 -17
- data/lib/generators/geoblacklight/templates/assets/application.scss +0 -9
- data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +0 -11
- data/lib/generators/geoblacklight/templates/base.html.erb +0 -46
- data/lib/generators/geoblacklight/templates/vite.config.ts +0 -23
- data/lib/generators/geoblacklight/templates/vite.json +0 -16
- data/lib/geoblacklight/deprecated_configuration.rb +0 -665
- data/schema/geoblacklight-schema-1.0.json +0 -214
- data/solr/conf/xslt/example.xsl +0 -132
- data/solr/conf/xslt/example_atom.xsl +0 -67
- data/solr/conf/xslt/example_rss.xsl +0 -66
- data/solr/conf/xslt/luke.xsl +0 -337
- data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/arizona_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/book_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/bookmark_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/cd_rom_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/child_item_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/citation_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/collection_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/collections_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/columbia_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/cornell_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/datasets_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/email_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/esri_globe_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/fire_solid_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/george_mason_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/globe_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/harvard_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/home_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/image_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/imagery_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/indiana_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/leaf_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/line_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/map_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/map_marker_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/maps_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/massgis_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/metadata_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/mit_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/mixed_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/multilinestring_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/multipoint_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/multipolygon_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/nyu_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/paper_map_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/parent_item_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/point_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/polygon_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/polyline_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/princeton_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/public_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/purdue_university_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/raster_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/restricted_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/rutgers_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/sms_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/stanford_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/table_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/tags_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/texas_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/tufts_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/ucla_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/uva_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/web_services_component_spec.rb +0 -15
- data/spec/components/blacklight/icons/websites_component_spec.rb +0 -15
- data/spec/components/geoblacklight/icon_facet_item_component_spec.rb +0 -18
- data/spec/config/initializers/rails_config_spec.rb +0 -16
- data/spec/fixtures/solr_documents/public_direct_download.json +0 -62
- data/spec/lib/geoblacklight/deprecated_configuration_spec.rb +0 -680
- data/spec/solr_config_spec.rb +0 -41
- data/spec/support/backport_test_helpers.rb +0 -47
- data/spec/support/view_component_capybara_test_helpers.rb +0 -8
- data/vite.config.ts +0 -32
- /data/app/assets/images/{blacklight → geoblacklight}/logo.svg +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Geoblacklight
|
|
2
|
+
class Configuration
|
|
3
|
+
# Configuration for fields used in GeoBlacklight search results and metadata display.
|
|
4
|
+
class FieldsConfig
|
|
5
|
+
include ActiveModel::Attributes
|
|
6
|
+
|
|
7
|
+
attribute :access_rights, :string, default: "dct_accessRights_s"
|
|
8
|
+
attribute :alternative_title, :string, default: "dct_alternative_sm"
|
|
9
|
+
attribute :centroid, :string, default: "dcat_centroid"
|
|
10
|
+
attribute :creator, :string, default: "dct_creator_sm"
|
|
11
|
+
attribute :date_issued, :string, default: "dct_issued_s"
|
|
12
|
+
attribute :date_range, :string, default: "gbl_dateRange_drsim"
|
|
13
|
+
attribute :description, :string, default: "dct_description_sm"
|
|
14
|
+
attribute :display_note, :string, default: "gbl_displayNote_s"
|
|
15
|
+
attribute :format, :string, default: "dct_format_s"
|
|
16
|
+
attribute :file_size, :string, default: "gbl_fileSize_drsim"
|
|
17
|
+
attribute :georeferenced, :string, default: "gbl_georeferenced_drsim"
|
|
18
|
+
attribute :id, :string, default: "id"
|
|
19
|
+
attribute :identifier, :string, default: "dct_identifier_s"
|
|
20
|
+
attribute :index_year, :string, default: "gbl_indexYear_drsim"
|
|
21
|
+
attribute :is_part_of, :string, default: "gbl_isPartOf_drsim"
|
|
22
|
+
attribute :is_replaced_by, :string, default: "gbl_isReplacedBy_drsim"
|
|
23
|
+
attribute :theme, :string, default: "gbl_theme_drsim"
|
|
24
|
+
attribute :keyword, :string, default: "dct_keyword_sm"
|
|
25
|
+
attribute :language, :string, default: "dct_language_s"
|
|
26
|
+
attribute :license, :string, default: "dct_license_s"
|
|
27
|
+
attribute :member_of, :string, default: "gbl_memberOf_drsim"
|
|
28
|
+
attribute :metadata_version, :string, default: "gbl_metadataVersion_drsim"
|
|
29
|
+
attribute :modified, :string, default: "gbl_modified_drsim"
|
|
30
|
+
attribute :overlap_field, :string, default: "gbl_overlapField_drsim"
|
|
31
|
+
attribute :publisher, :string, default: "gbl_publisher_drsim"
|
|
32
|
+
attribute :provider, :string, default: "gbl_provider_drsim"
|
|
33
|
+
attribute :references, :string, default: "gbl_references_drsim"
|
|
34
|
+
attribute :relation, :string, default: "gbl_relation_drsim"
|
|
35
|
+
attribute :replaces, :string, default: "gbl_replaces_drsim"
|
|
36
|
+
attribute :resource_class, :string, default: "gbl_resourceClass_drsim"
|
|
37
|
+
attribute :resource_type, :string, default: "gbl_resourceType_drsim"
|
|
38
|
+
attribute :rights, :string, default: "gbl_rights_drsim"
|
|
39
|
+
attribute :rights_holder, :string, default: "gbl_rightsHolder_drsim"
|
|
40
|
+
attribute :source, :string, default: "gbl_source_drsim"
|
|
41
|
+
attribute :spatial_coverage, :string, default: "gbl_spatialCoverage_drsim"
|
|
42
|
+
attribute :geometry, :string, default: "gbl_geometry_drsim"
|
|
43
|
+
attribute :subject, :string, default: "gbl_subject_drsim"
|
|
44
|
+
attribute :suppressed, :string, default: "gbl_suppressed_drsim"
|
|
45
|
+
attribute :temporal_coverage, :string, default: "gbl_temporalCoverage_drsim"
|
|
46
|
+
attribute :title, :string, default: "gbl_title_drsim"
|
|
47
|
+
attribute :version, :string, default: "gbl_version_drsim"
|
|
48
|
+
attribute :wxs_identifier, :string, default: "gbl_wxsIdentifier_drsim"
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
module Geoblacklight
|
|
2
|
+
class Configuration
|
|
3
|
+
class LeafletConfig
|
|
4
|
+
include ActiveModel::Model
|
|
5
|
+
include ActiveModel::Attributes
|
|
6
|
+
|
|
7
|
+
attr_accessor :bounds_overlay, :controls
|
|
8
|
+
|
|
9
|
+
attr_reader :sleep, :layers
|
|
10
|
+
# set to true to display attribute table as sidebar on map
|
|
11
|
+
attribute :sidebar, :boolean, default: false
|
|
12
|
+
attribute :selected_color, :string, default: "#2C7FB8"
|
|
13
|
+
|
|
14
|
+
DEFAULT_LAYERS_CONFIG = {
|
|
15
|
+
index: {
|
|
16
|
+
DEFAULT: {
|
|
17
|
+
color: "#7FCDBB",
|
|
18
|
+
weight: 1,
|
|
19
|
+
radius: 4,
|
|
20
|
+
sr_color_name: "Green"
|
|
21
|
+
},
|
|
22
|
+
UNAVAILABLE: {
|
|
23
|
+
weight: 1,
|
|
24
|
+
radius: 4,
|
|
25
|
+
color: "#EDF8B1",
|
|
26
|
+
sr_color_name: "Yellow"
|
|
27
|
+
},
|
|
28
|
+
SELECTED: {
|
|
29
|
+
weight: 1,
|
|
30
|
+
radius: 4,
|
|
31
|
+
color: "#2C7FB8",
|
|
32
|
+
sr_color_name: "Blue"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}.freeze
|
|
36
|
+
|
|
37
|
+
DEFAULT_SLEEP_CONFIG = {
|
|
38
|
+
sleep: true, # set to false to disable
|
|
39
|
+
margin_distance: 100, # set to zero / false if you want to disable this check
|
|
40
|
+
sleeptime: 750,
|
|
41
|
+
waketime: 750,
|
|
42
|
+
hovertowake: false,
|
|
43
|
+
message: "Click to Wake",
|
|
44
|
+
background: "rgba(214, 214, 214, .7)"
|
|
45
|
+
}.freeze
|
|
46
|
+
|
|
47
|
+
def initialize
|
|
48
|
+
super
|
|
49
|
+
@sleep = LeafletSleepConfig.new(DEFAULT_SLEEP_CONFIG)
|
|
50
|
+
@layers = LeafletLayersConfig.new(DEFAULT_LAYERS_CONFIG)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def sleep=(attributes)
|
|
54
|
+
@sleep = LeafletSleepConfig.new(attributes)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def layers=(attributes)
|
|
58
|
+
@layers = LeafletLayersConfig.new(attributes)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def to_h
|
|
62
|
+
{
|
|
63
|
+
bounds_overlay: bounds_overlay,
|
|
64
|
+
selected_color: selected_color,
|
|
65
|
+
sleep: sleep.to_h,
|
|
66
|
+
sidebar: sidebar,
|
|
67
|
+
layers: layers.to_h,
|
|
68
|
+
controls: controls
|
|
69
|
+
}.compact
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Geoblacklight
|
|
2
|
+
class Configuration
|
|
3
|
+
class LeafletLayersConfig
|
|
4
|
+
include ActiveModel::Model
|
|
5
|
+
include ActiveModel::Attributes
|
|
6
|
+
|
|
7
|
+
attribute :detect_retina, :boolean, default: true
|
|
8
|
+
|
|
9
|
+
attr_accessor :index
|
|
10
|
+
|
|
11
|
+
def initialize(attributes = {})
|
|
12
|
+
super
|
|
13
|
+
@index = attributes[:index]
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def to_h
|
|
17
|
+
attributes.merge({"index" => index})
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Geoblacklight
|
|
2
|
+
class Configuration
|
|
3
|
+
class LeafletSleepConfig
|
|
4
|
+
include ActiveModel::Model
|
|
5
|
+
include ActiveModel::Attributes
|
|
6
|
+
|
|
7
|
+
attribute :sleep, :boolean, default: true # set to false to disable
|
|
8
|
+
attribute :margin_distance, :integer, default: 100 # set to zero / false if you want to disable this check
|
|
9
|
+
attribute :sleeptime, :integer, default: 750
|
|
10
|
+
attribute :waketime, :integer, default: 750
|
|
11
|
+
attribute :hovertowake, :boolean, default: false
|
|
12
|
+
attribute :message, :string, default: "Click to Wake"
|
|
13
|
+
attribute :background, :string, default: "rgba(214, 214, 214, .7)"
|
|
14
|
+
|
|
15
|
+
def to_h
|
|
16
|
+
attributes
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
module Geoblacklight
|
|
2
|
+
class Configuration
|
|
3
|
+
# Builds a configuration from legacy (uppercase) settings
|
|
4
|
+
class LegacySettingsBuilder
|
|
5
|
+
def self.build
|
|
6
|
+
new.build
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def initialize
|
|
10
|
+
@configuration = Configuration.new
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def build
|
|
14
|
+
@configuration.tap do |config|
|
|
15
|
+
config.arcgis_base_url = Settings.ARCGIS_BASE_URL
|
|
16
|
+
config.bbox_within_boost = Settings.BBOX_WITHIN_BOOST
|
|
17
|
+
config.overlap_ratio_boost = Settings.OVERLAP_RATIO_BOOST
|
|
18
|
+
config.display_notes_shown = Settings.DISPLAY_NOTES_SHOWN
|
|
19
|
+
config.institution = Settings.INSTITUTION
|
|
20
|
+
config.help_text = Settings.HELP_TEXT.to_h
|
|
21
|
+
config.sidebar_static_map = Settings.SIDEBAR_STATIC_MAP
|
|
22
|
+
config.iiif_drag_drop_link = Settings.IIIF_DRAG_DROP_LINK
|
|
23
|
+
config.homepage_map_geom = Settings.HOMEPAGE_MAP_GEOM
|
|
24
|
+
config.vector_download_formats = Settings.DOWNLOAD_FORMATS&.VECTOR
|
|
25
|
+
config.metadata_shown = Settings.METADATA_SHOWN
|
|
26
|
+
config.webservices_shown = Settings.WEBSERVICES_SHOWN
|
|
27
|
+
config.relationships_shown = Settings.RELATIONSHIPS_SHOWN
|
|
28
|
+
config.download_path = Settings.DOWNLOAD_PATH if Settings.DOWNLOAD_PATH
|
|
29
|
+
config.gbl_params = Settings.GBL_PARAMS
|
|
30
|
+
config.wms_params = Settings.WMS_PARAMS.to_h
|
|
31
|
+
config.timeout_wms = Settings.TIMEOUT_WMS
|
|
32
|
+
|
|
33
|
+
build_fields(config)
|
|
34
|
+
build_leaflet_options(config)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
private
|
|
39
|
+
|
|
40
|
+
def build_leaflet_options(config)
|
|
41
|
+
config.leaflet_options.bounds_overlay = Settings.LEAFLET.BOUNDSOVERLAY.to_h
|
|
42
|
+
config.leaflet_options.selected_color = Settings.LEAFLET.SELECTED_COLOR
|
|
43
|
+
config.leaflet_options.sleep = Settings.LEAFLET.SLEEP.to_h.transform_keys(&:downcase)
|
|
44
|
+
config.leaflet_options.sidebar = Settings.LEAFLET.SIDEBAR
|
|
45
|
+
config.leaflet_options.layers = Settings.LEAFLET.LAYERS.to_h.transform_keys(&:downcase)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def build_fields(config)
|
|
49
|
+
config.fields.access_rights = Settings.FIELDS.ACCESS_RIGHTS
|
|
50
|
+
config.fields.alternative_title = Settings.FIELDS.ALTERNATIVE_TITLE
|
|
51
|
+
config.fields.centroid = Settings.FIELDS.CENTROID
|
|
52
|
+
config.fields.creator = Settings.FIELDS.CREATOR
|
|
53
|
+
config.fields.date_issued = Settings.FIELDS.DATE_ISSUED
|
|
54
|
+
config.fields.date_range = Settings.FIELDS.DATE_RANGE
|
|
55
|
+
config.fields.description = Settings.FIELDS.DESCRIPTION
|
|
56
|
+
config.fields.display_note = Settings.FIELDS.DISPLAY_NOTE
|
|
57
|
+
config.fields.format = Settings.FIELDS.FORMAT
|
|
58
|
+
config.fields.file_size = Settings.FIELDS.FILE_SIZE
|
|
59
|
+
config.fields.georeferenced = Settings.FIELDS.GEOREFERENCED
|
|
60
|
+
config.fields.id = Settings.FIELDS.ID
|
|
61
|
+
config.fields.identifier = Settings.FIELDS.IDENTIFIER
|
|
62
|
+
config.fields.index_year = Settings.FIELDS.INDEX_YEAR
|
|
63
|
+
config.fields.is_part_of = Settings.FIELDS.IS_PART_OF
|
|
64
|
+
config.fields.is_replaced_by = Settings.FIELDS.IS_REPLACED_BY
|
|
65
|
+
config.fields.theme = Settings.FIELDS.THEME
|
|
66
|
+
config.fields.keyword = Settings.FIELDS.KEYWORD
|
|
67
|
+
config.fields.language = Settings.FIELDS.LANGUAGE
|
|
68
|
+
config.fields.license = Settings.FIELDS.LICENSE
|
|
69
|
+
config.fields.member_of = Settings.FIELDS.MEMBER_OF
|
|
70
|
+
config.fields.metadata_version = Settings.FIELDS.METADATA_VERSION
|
|
71
|
+
config.fields.modified = Settings.FIELDS.MODIFIED
|
|
72
|
+
config.fields.overlap_field = Settings.FIELDS.OVERLAP_FIELD
|
|
73
|
+
config.fields.publisher = Settings.FIELDS.PUBLISHER
|
|
74
|
+
config.fields.provider = Settings.FIELDS.PROVIDER
|
|
75
|
+
config.fields.references = Settings.FIELDS.REFERENCES
|
|
76
|
+
config.fields.relation = Settings.FIELDS.RELATION
|
|
77
|
+
config.fields.replaces = Settings.FIELDS.REPLACES
|
|
78
|
+
config.fields.resource_class = Settings.FIELDS.RESOURCE_CLASS
|
|
79
|
+
config.fields.resource_type = Settings.FIELDS.RESOURCE_TYPE
|
|
80
|
+
config.fields.rights = Settings.FIELDS.RIGHTS
|
|
81
|
+
config.fields.rights_holder = Settings.FIELDS.RIGHTS_HOLDER
|
|
82
|
+
config.fields.source = Settings.FIELDS.SOURCE
|
|
83
|
+
config.fields.spatial_coverage = Settings.FIELDS.SPATIAL_COVERAGE
|
|
84
|
+
config.fields.geometry = Settings.FIELDS.GEOMETRY
|
|
85
|
+
config.fields.subject = Settings.FIELDS.SUBJECT
|
|
86
|
+
config.fields.suppressed = Settings.FIELDS.SUPPRESSED
|
|
87
|
+
config.fields.temporal_coverage = Settings.FIELDS.TEMPORAL_COVERAGE
|
|
88
|
+
config.fields.title = Settings.FIELDS.TITLE
|
|
89
|
+
config.fields.version = Settings.FIELDS.VERSION
|
|
90
|
+
config.fields.wxs_identifier = Settings.FIELDS.WXS_IDENTIFIER
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
module Geoblacklight
|
|
2
|
+
# Configuration for Geoblacklight
|
|
3
|
+
class Configuration
|
|
4
|
+
include ActiveModel::Attributes
|
|
5
|
+
|
|
6
|
+
# ArcGIS Online Base URL
|
|
7
|
+
attribute :arcgis_base_url, :string, default: "https://www.arcgis.com/apps/mapviewer/index.html"
|
|
8
|
+
|
|
9
|
+
# The bq boost value for spatial search matches within a bounding box
|
|
10
|
+
attribute :bbox_within_boost, :string, default: "10"
|
|
11
|
+
|
|
12
|
+
# The bf boost value for overlap ratio
|
|
13
|
+
attribute :overlap_ratio_boost, :string, default: "2"
|
|
14
|
+
|
|
15
|
+
# Institution deployed at
|
|
16
|
+
attribute :institution, :string, default: "Stanford"
|
|
17
|
+
|
|
18
|
+
# (For external Download) timeout and open_timeout parameters for Faraday
|
|
19
|
+
attribute :timeout_download, :integer, default: 180
|
|
20
|
+
|
|
21
|
+
# (For WMS inspection) timeout and open_timeout parameters for Faraday
|
|
22
|
+
attribute :timeout_wms, :integer, default: 4
|
|
23
|
+
|
|
24
|
+
# Display Notes to display / Non-prefixed default bootstrap class is alert-secondary
|
|
25
|
+
attr_accessor :display_notes_shown # typed as Hash
|
|
26
|
+
|
|
27
|
+
# Toggle the help text feature that offers users context
|
|
28
|
+
attr_accessor :help_text # typed as Hash
|
|
29
|
+
|
|
30
|
+
# Non-search-field GeoBlacklight application permitted params
|
|
31
|
+
attr_accessor :gbl_params # typed as Array
|
|
32
|
+
|
|
33
|
+
# WMS Parameters
|
|
34
|
+
attr_accessor :wms_params # typed as Hash
|
|
35
|
+
|
|
36
|
+
# Enable catalog#show sidebar static map for items with the following viewer protocols
|
|
37
|
+
attr_accessor :sidebar_static_map # typed as Array
|
|
38
|
+
|
|
39
|
+
attribute :iiif_drag_drop_link, :string, default: "@manifest?manifest=@manifest"
|
|
40
|
+
|
|
41
|
+
# Homepage Map Geometry
|
|
42
|
+
# Leave null to default to entire world
|
|
43
|
+
# Add a stringified GeoJSON object to scope initial render (example from UMass)
|
|
44
|
+
# config.homepage_map_geom = '{"type":"Polygon","coordinates":[[[-73.58,42.93],[-73.58,41.20],[-69.90,41.20],[-69.90,42.93]]]}'
|
|
45
|
+
attribute :homepage_map_geom, :string
|
|
46
|
+
|
|
47
|
+
# Vector data download formats to be displayed
|
|
48
|
+
attr_accessor :vector_download_formats # typed as Array
|
|
49
|
+
|
|
50
|
+
# Metadata shown in tool panel
|
|
51
|
+
attr_accessor :metadata_shown # typed as Array
|
|
52
|
+
|
|
53
|
+
# Web services shown in tool panel
|
|
54
|
+
attr_accessor :webservices_shown # typed as Array
|
|
55
|
+
|
|
56
|
+
# Relationships to display
|
|
57
|
+
attr_accessor :relationships_shown # typed as Hash
|
|
58
|
+
|
|
59
|
+
attribute :download_path, :string
|
|
60
|
+
|
|
61
|
+
def initialize
|
|
62
|
+
super
|
|
63
|
+
self.download_path ||= Rails.root.join("tmp", "cache", "downloads")
|
|
64
|
+
@gbl_params = [
|
|
65
|
+
:bbox, :email, :file, :format, :id, :logo, :provider, :type,
|
|
66
|
+
:BBOX, :HEIGHT, :LAYERS, :QUERY_LAYERS, :URL, :WIDTH, :X, :Y
|
|
67
|
+
]
|
|
68
|
+
@wms_params = {
|
|
69
|
+
SERVICE: "WMS",
|
|
70
|
+
VERSION: "1.1.1",
|
|
71
|
+
REQUEST: "GetFeatureInfo",
|
|
72
|
+
STYLES: "",
|
|
73
|
+
SRS: "EPSG:4326",
|
|
74
|
+
EXCEPTIONS: "application/json",
|
|
75
|
+
INFO_FORMAT: "application/json"
|
|
76
|
+
}
|
|
77
|
+
@help_text = {
|
|
78
|
+
viewer_protocol: %w[
|
|
79
|
+
cog
|
|
80
|
+
dynamic_map_layer
|
|
81
|
+
feature_layer
|
|
82
|
+
iiif
|
|
83
|
+
iiif_manifest
|
|
84
|
+
image_map_layer
|
|
85
|
+
index_map
|
|
86
|
+
oembed
|
|
87
|
+
pmtiles
|
|
88
|
+
tiled_map_layer
|
|
89
|
+
tilejson
|
|
90
|
+
tms
|
|
91
|
+
wms
|
|
92
|
+
wmts
|
|
93
|
+
xyz
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@webservices_shown = %w[
|
|
98
|
+
wms
|
|
99
|
+
tms
|
|
100
|
+
wfs
|
|
101
|
+
xyz
|
|
102
|
+
wmts
|
|
103
|
+
tilejson
|
|
104
|
+
iiif
|
|
105
|
+
feature_layer
|
|
106
|
+
tiled_map_layer
|
|
107
|
+
dynamic_map_layer
|
|
108
|
+
image_map_layer
|
|
109
|
+
cog
|
|
110
|
+
pmtile
|
|
111
|
+
]
|
|
112
|
+
|
|
113
|
+
@display_notes_shown = {
|
|
114
|
+
danger: DisplayNoteShownConfig.new(
|
|
115
|
+
bootstrap_alert_class: "alert-danger",
|
|
116
|
+
icon: "fire-solid",
|
|
117
|
+
note_prefix: "Danger: "
|
|
118
|
+
),
|
|
119
|
+
info: DisplayNoteShownConfig.new(
|
|
120
|
+
bootstrap_alert_class: "alert-info",
|
|
121
|
+
icon: "circle-info-solid",
|
|
122
|
+
note_prefix: "Info: "
|
|
123
|
+
),
|
|
124
|
+
tip: DisplayNoteShownConfig.new(
|
|
125
|
+
bootstrap_alert_class: "alert-success",
|
|
126
|
+
icon: "lightbulb-solid",
|
|
127
|
+
note_prefix: "Tip: "
|
|
128
|
+
),
|
|
129
|
+
warning: DisplayNoteShownConfig.new(
|
|
130
|
+
bootstrap_alert_class: "alert-warning",
|
|
131
|
+
icon: "triangle-exclamation-solid",
|
|
132
|
+
note_prefix: "Warning: "
|
|
133
|
+
)
|
|
134
|
+
}
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
def fields
|
|
138
|
+
@fields ||= FieldsConfig.new
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
##
|
|
142
|
+
# Returns Leaflet plugin settings to pass to the viewer.
|
|
143
|
+
# @return[Geoblacklight::Configuration::LeafletConfig]
|
|
144
|
+
def leaflet_options
|
|
145
|
+
@leaflet_options ||= Geoblacklight::Configuration::LeafletConfig.new
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
@@ -3,9 +3,6 @@
|
|
|
3
3
|
module Geoblacklight
|
|
4
4
|
class Download
|
|
5
5
|
def initialize(document, options = {})
|
|
6
|
-
Geoblacklight.deprecation.warn(
|
|
7
|
-
"#{self.class} is deprecated; GeoBlacklight 6 removes the generated download subsystem: downloads are direct links only, rendered by Geoblacklight::Document::DownloadLinksComponent"
|
|
8
|
-
)
|
|
9
6
|
@document = document
|
|
10
7
|
@options = options
|
|
11
8
|
end
|
|
@@ -19,7 +16,7 @@ module Geoblacklight
|
|
|
19
16
|
end
|
|
20
17
|
|
|
21
18
|
def self.file_path
|
|
22
|
-
|
|
19
|
+
Geoblacklight.configuration.download_path
|
|
23
20
|
end
|
|
24
21
|
|
|
25
22
|
def file_path_and_name
|
|
@@ -98,7 +95,7 @@ module Geoblacklight
|
|
|
98
95
|
# the Geoblacklight::Download class
|
|
99
96
|
# @return [Fixnum] download timeout in seconds
|
|
100
97
|
def timeout
|
|
101
|
-
@options[:timeout] ||
|
|
98
|
+
@options[:timeout] || Geoblacklight.configuration.timeout_download
|
|
102
99
|
end
|
|
103
100
|
|
|
104
101
|
##
|
data/lib/geoblacklight/engine.rb
CHANGED
|
@@ -7,22 +7,10 @@ require "faraday"
|
|
|
7
7
|
require "geoblacklight/version"
|
|
8
8
|
require "nokogiri"
|
|
9
9
|
require "mime/types"
|
|
10
|
+
require "geo_combine"
|
|
10
11
|
|
|
11
12
|
module Geoblacklight
|
|
12
13
|
class Engine < ::Rails::Engine
|
|
13
|
-
# Register GeoBlacklight's deprecator so that applications can configure it
|
|
14
|
-
# alongside Rails' own, e.g. `config.active_support.deprecation = :raise`.
|
|
15
|
-
initializer "geoblacklight.deprecator" do |app|
|
|
16
|
-
app.deprecators[:geoblacklight] = Geoblacklight.deprecation if app.respond_to?(:deprecators)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# Warn about application configuration that GeoBlacklight 6 removes. This runs
|
|
20
|
-
# once per boot rather than per request, because nothing in GeoBlacklight calls
|
|
21
|
-
# the deprecated templates or settings on the application's behalf.
|
|
22
|
-
config.after_initialize do
|
|
23
|
-
Geoblacklight::DeprecatedConfiguration.warn!
|
|
24
|
-
end
|
|
25
|
-
|
|
26
14
|
# GeoblacklightHelper is needed by all helpers, so we inject it
|
|
27
15
|
# into action view base here.
|
|
28
16
|
initializer "geoblacklight.helpers" do
|
|
@@ -31,21 +19,22 @@ module Geoblacklight
|
|
|
31
19
|
end
|
|
32
20
|
end
|
|
33
21
|
|
|
34
|
-
PRECOMPILE_ASSETS = %w[favicon.ico
|
|
22
|
+
PRECOMPILE_ASSETS = %w[favicon.ico].freeze
|
|
35
23
|
|
|
36
24
|
# Make the source JS and CSS available to built apps
|
|
37
25
|
initializer "geoblacklight.assets" do |app|
|
|
38
26
|
app.config.assets.paths << Geoblacklight::Engine.root.join("app/javascript")
|
|
39
|
-
app.config.assets.paths << Geoblacklight::Engine.root.join("app/assets")
|
|
27
|
+
app.config.assets.paths << Geoblacklight::Engine.root.join("app/assets/images")
|
|
28
|
+
app.config.assets.paths << Geoblacklight::Engine.root.join("app/assets/stylesheets")
|
|
40
29
|
app.config.assets.precompile += Geoblacklight::Engine::PRECOMPILE_ASSETS
|
|
41
30
|
end
|
|
42
31
|
|
|
43
32
|
# Add the Geoblacklight importmap to the built app's importmap
|
|
44
33
|
initializer "geoblacklight.importmap", before: "importmap" do |app|
|
|
45
|
-
next unless app.config.respond_to?(:importmap)
|
|
34
|
+
next unless app.config.respond_to?(:importmap)
|
|
46
35
|
|
|
47
|
-
app.config.importmap.paths << Engine.root.join("config/importmap.rb")
|
|
48
|
-
app.config.importmap.cache_sweepers << Engine.root.join("app/javascript")
|
|
36
|
+
app.config.importmap.paths << Geoblacklight::Engine.root.join("config/importmap.rb")
|
|
37
|
+
app.config.importmap.cache_sweepers << Geoblacklight::Engine.root.join("app/javascript")
|
|
49
38
|
end
|
|
50
39
|
end
|
|
51
40
|
end
|
|
@@ -5,7 +5,7 @@ module Geoblacklight
|
|
|
5
5
|
class References
|
|
6
6
|
attr_reader :refs, :reference_field
|
|
7
7
|
|
|
8
|
-
def initialize(document, reference_field =
|
|
8
|
+
def initialize(document, reference_field = Geoblacklight.configuration.fields.references)
|
|
9
9
|
@document = document
|
|
10
10
|
@reference_field = reference_field
|
|
11
11
|
@refs = parse_references.map { |ref| Reference.new(ref) }
|
|
@@ -15,9 +15,10 @@ module Geoblacklight
|
|
|
15
15
|
# Return only those metadata references which are exposed within the configuration
|
|
16
16
|
# @return [Geoblacklight::Reference]
|
|
17
17
|
def shown_metadata_refs
|
|
18
|
-
|
|
18
|
+
metadata_shown = Geoblacklight.configuration.metadata_shown
|
|
19
|
+
metadata = @refs.select { |ref| metadata_shown.include?(ref.type.to_s) }
|
|
19
20
|
metadata.sort do |u, v|
|
|
20
|
-
|
|
21
|
+
metadata_shown.index(u.type.to_s) <=> metadata_shown.index(v.type.to_s)
|
|
21
22
|
end
|
|
22
23
|
end
|
|
23
24
|
|
|
@@ -52,7 +53,6 @@ module Geoblacklight
|
|
|
52
53
|
##
|
|
53
54
|
# Download hash based off of format type
|
|
54
55
|
# @return [Hash, nil]
|
|
55
|
-
# @deprecated
|
|
56
56
|
def downloads_by_format
|
|
57
57
|
case format
|
|
58
58
|
when "Shapefile"
|
|
@@ -67,9 +67,8 @@ module Geoblacklight
|
|
|
67
67
|
##
|
|
68
68
|
# Generated download types from wxs services
|
|
69
69
|
# @return (see #downloads_by_format)
|
|
70
|
-
# @deprecated
|
|
71
70
|
def download_types
|
|
72
|
-
|
|
71
|
+
downloads_by_format
|
|
73
72
|
end
|
|
74
73
|
|
|
75
74
|
##
|
|
@@ -113,7 +112,7 @@ module Geoblacklight
|
|
|
113
112
|
end
|
|
114
113
|
|
|
115
114
|
def format_list
|
|
116
|
-
|
|
115
|
+
Geoblacklight.configuration.vector_download_formats || []
|
|
117
116
|
end
|
|
118
117
|
|
|
119
118
|
def web_service_hash(format)
|
|
@@ -158,8 +157,5 @@ module Geoblacklight
|
|
|
158
157
|
def respond_to_missing?(m, *args, &b)
|
|
159
158
|
Geoblacklight::Constants::URI.key?(m) || super
|
|
160
159
|
end
|
|
161
|
-
Geoblacklight.deprecation.deprecate_methods(Geoblacklight::References,
|
|
162
|
-
downloads_by_format: "GeoBlacklight 6 removes the generated download subsystem: downloads are direct links only, rendered by Geoblacklight::Document::DownloadLinksComponent",
|
|
163
|
-
download_types: "GeoBlacklight 6 removes the generated download subsystem: downloads are direct links only, rendered by Geoblacklight::Document::DownloadLinksComponent")
|
|
164
160
|
end
|
|
165
161
|
end
|
|
@@ -4,17 +4,15 @@ module Geoblacklight
|
|
|
4
4
|
module Relation
|
|
5
5
|
class Ancestors
|
|
6
6
|
def initialize(id, field, repository)
|
|
7
|
-
Geoblacklight.deprecation.warn(
|
|
8
|
-
"GeoBlacklight 6 renames the Geoblacklight::Relation namespace to Geoblacklight::Relations, and RelationController to RelationsController, so update any reference to Geoblacklight::Relation::Ancestors"
|
|
9
|
-
)
|
|
10
7
|
@search_id = id
|
|
11
8
|
@field = field
|
|
12
9
|
@repository = repository
|
|
13
10
|
end
|
|
14
11
|
|
|
15
12
|
def create_search_params
|
|
16
|
-
{fq: ["{!join from=#{@field} to=#{
|
|
17
|
-
fl: [
|
|
13
|
+
{fq: ["{!join from=#{@field} to=#{Geoblacklight.configuration.fields.id}}#{Geoblacklight.configuration.fields.id}:#{@search_id}"],
|
|
14
|
+
fl: [Geoblacklight.configuration.fields.title, Geoblacklight.configuration.fields.id,
|
|
15
|
+
Geoblacklight.configuration.fields.resource_type]}
|
|
18
16
|
end
|
|
19
17
|
|
|
20
18
|
def execute_query
|
|
@@ -4,9 +4,6 @@ module Geoblacklight
|
|
|
4
4
|
module Relation
|
|
5
5
|
class Descendants
|
|
6
6
|
def initialize(id, field, repository)
|
|
7
|
-
Geoblacklight.deprecation.warn(
|
|
8
|
-
"GeoBlacklight 6 renames the Geoblacklight::Relation namespace to Geoblacklight::Relations, and RelationController to RelationsController, so update any reference to Geoblacklight::Relation::Descendants"
|
|
9
|
-
)
|
|
10
7
|
@search_id = id
|
|
11
8
|
@field = field
|
|
12
9
|
@repository = repository
|
|
@@ -14,7 +11,8 @@ module Geoblacklight
|
|
|
14
11
|
|
|
15
12
|
def create_search_params
|
|
16
13
|
{fq: "#{@field}:#{@search_id}",
|
|
17
|
-
fl: [
|
|
14
|
+
fl: [Geoblacklight.configuration.fields.title, Geoblacklight.configuration.fields.id,
|
|
15
|
+
Geoblacklight.configuration.fields.resource_type]}
|
|
18
16
|
end
|
|
19
17
|
|
|
20
18
|
def execute_query
|
|
@@ -5,26 +5,23 @@ module Geoblacklight
|
|
|
5
5
|
class RelationResponse
|
|
6
6
|
attr_reader :search_id, :link_id
|
|
7
7
|
def initialize(id, repository)
|
|
8
|
-
Geoblacklight.deprecation.warn(
|
|
9
|
-
"GeoBlacklight 6 renames the Geoblacklight::Relation namespace to Geoblacklight::Relations, and RelationController to RelationsController, so update any reference to Geoblacklight::Relation::RelationResponse"
|
|
10
|
-
)
|
|
11
8
|
@link_id = id
|
|
12
9
|
@search_id = RSolr.solr_escape(id)
|
|
13
10
|
@repository = repository
|
|
14
11
|
end
|
|
15
12
|
|
|
16
13
|
def method_missing(method, *args, &block)
|
|
17
|
-
if
|
|
18
|
-
field =
|
|
19
|
-
query_type = query_type(
|
|
20
|
-
@results =
|
|
14
|
+
if Geoblacklight.configuration.relationships_shown.key?(method)
|
|
15
|
+
field = Geoblacklight.configuration.relationships_shown[method].field
|
|
16
|
+
query_type = query_type(Geoblacklight.configuration.relationships_shown[method])
|
|
17
|
+
@results = query_type.new(@search_id, field, @repository).results
|
|
21
18
|
else
|
|
22
19
|
super
|
|
23
20
|
end
|
|
24
21
|
end
|
|
25
22
|
|
|
26
23
|
def respond_to_missing?(method_name, *args)
|
|
27
|
-
|
|
24
|
+
Geoblacklight.configuration.relationships_shown.key?(method_name) or super
|
|
28
25
|
end
|
|
29
26
|
|
|
30
27
|
private
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Geoblacklight
|
|
4
4
|
class WmsLayer
|
|
5
5
|
def initialize(params)
|
|
6
|
-
@params = params.to_h.merge(
|
|
6
|
+
@params = params.to_h.merge(Geoblacklight.configuration.wms_params)
|
|
7
7
|
@response = Geoblacklight::FeatureInfoResponse.new(request_response)
|
|
8
8
|
end
|
|
9
9
|
|
|
@@ -23,8 +23,8 @@ module Geoblacklight
|
|
|
23
23
|
conn = Faraday.new(url: url)
|
|
24
24
|
conn.get do |request|
|
|
25
25
|
request.params = search_params
|
|
26
|
-
request.options.timeout =
|
|
27
|
-
request.options.open_timeout =
|
|
26
|
+
request.options.timeout = Geoblacklight.configuration.timeout_wms
|
|
27
|
+
request.options.open_timeout = Geoblacklight.configuration.timeout_wms
|
|
28
28
|
end
|
|
29
29
|
rescue Faraday::ConnectionFailed, Faraday::TimeoutError => error
|
|
30
30
|
Geoblacklight.logger.error error.inspect
|