geoblacklight 5.3.0 → 6.0.0.pre.alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -1
- data/app/components/geoblacklight/document/sidebar_component.rb +0 -1
- data/app/components/geoblacklight/document_component.html.erb +1 -2
- 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 +8 -4
- 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 +5 -4
- 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 -1
- data/app/controllers/wms_controller.rb +1 -1
- data/app/helpers/geoblacklight_helper.rb +0 -15
- 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 +108 -117
- data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +5 -5
- data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +27 -30
- 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 +2 -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 +77 -68
- 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 +35 -27
- data/app/javascript/geoblacklight/openlayers/inspection.js +23 -23
- data/app/javascript/geoblacklight/openlayers/layers.js +11 -11
- data/app/models/concerns/geoblacklight/bbox_filter_query.rb +7 -9
- data/app/models/concerns/geoblacklight/solr_document.rb +16 -39
- 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 -1
- 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 +1 -2
- 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 +97 -73
- data/lib/generators/geoblacklight/templates/settings.yml +97 -113
- 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 -2
- data/lib/geoblacklight/engine.rb +7 -5
- data/lib/geoblacklight/metadata/base.rb +0 -2
- data/lib/geoblacklight/metadata_transformer.rb +0 -2
- data/lib/geoblacklight/references.rb +5 -4
- data/lib/geoblacklight/relation/ancestors.rb +3 -2
- data/lib/geoblacklight/relation/descendants.rb +2 -1
- data/lib/geoblacklight/relation/relation_response.rb +4 -4
- data/lib/geoblacklight/version.rb +1 -1
- data/lib/geoblacklight/wms_layer.rb +3 -3
- data/lib/geoblacklight.rb +7 -1
- 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/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 -1
- 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 +2 -2
- 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 +21 -10
- data/spec/tasks/geoblacklight_spec.rb +1 -1
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -3
- metadata +33 -184
- 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/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/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
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
<div class=
|
|
2
|
-
<div class=
|
|
1
|
+
<div class="category-block col-md p-3">
|
|
2
|
+
<div class="category-icon">
|
|
3
3
|
<%= helpers.geoblacklight_icon(@icon) %>
|
|
4
4
|
</div>
|
|
5
5
|
<%= content_tag :h4, t(@label) %>
|
|
6
|
-
|
|
7
|
-
link_to(item.value, search_catalog_path("f[#{@facet_field}][]": item.value), class: 'home-facet-link')
|
|
8
|
-
} %>
|
|
9
|
-
<%- facets << link_to('more »', facet_catalog_path(@facet_field), class: 'more_facets_link') %>
|
|
10
|
-
<%= facets.join(', ').html_safe %>
|
|
6
|
+
<%= facets %>
|
|
11
7
|
</div>
|
|
@@ -2,12 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
module Geoblacklight
|
|
4
4
|
class HomepageFeatureFacetComponent < ViewComponent::Base
|
|
5
|
-
def initialize(icon:, label:,
|
|
5
|
+
def initialize(icon:, label:, facet_field_presenter:, items:)
|
|
6
6
|
@icon = icon
|
|
7
7
|
@label = label
|
|
8
|
-
@
|
|
9
|
-
@
|
|
8
|
+
@facet_field_presenter = facet_field_presenter
|
|
9
|
+
@items = items
|
|
10
10
|
super()
|
|
11
11
|
end
|
|
12
|
+
|
|
13
|
+
def facets
|
|
14
|
+
links = @items.map do |item|
|
|
15
|
+
item_presenter = @facet_field_presenter.item_presenter(item)
|
|
16
|
+
link_to(item_presenter.value, item_presenter.href, class: "home-facet-link")
|
|
17
|
+
end
|
|
18
|
+
links << link_to("more »", facet_catalog_path(@facet_field_presenter.key), class: "more_facets_link")
|
|
19
|
+
safe_join(links, ", ")
|
|
20
|
+
end
|
|
12
21
|
end
|
|
13
22
|
end
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
<%= link_to @href_link, data: {manifest: @manifest}, class: 'float-end' do %>
|
|
2
|
-
<%=
|
|
3
|
-
<% end
|
|
2
|
+
<%= helpers.geoblacklight_icon('iiif-drag-drop', classes: 'svg_tooltip iiif-icon') %>
|
|
3
|
+
<% end %>
|
|
@@ -6,11 +6,11 @@ module Geoblacklight
|
|
|
6
6
|
super()
|
|
7
7
|
manifest_ref = document.item_viewer&.iiif_manifest
|
|
8
8
|
@manifest = manifest_ref&.endpoint || ""
|
|
9
|
-
@href_link =
|
|
9
|
+
@href_link = Geoblacklight.configuration.iiif_drag_drop_link.gsub("@manifest", @manifest)
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def render?
|
|
13
|
-
|
|
13
|
+
@manifest.present? && @href_link.present?
|
|
14
14
|
end
|
|
15
15
|
end
|
|
16
16
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<%= render Geoblacklight::AccordionComponent.new(id: 'index-map-attributes', title: t('geoblacklight.show.table_name')) do
|
|
2
|
-
<div class=
|
|
1
|
+
<%= render Geoblacklight::AccordionComponent.new(id: 'index-map-attributes', title: t('geoblacklight.show.table_name')) do %>
|
|
2
|
+
<div class="viewer-information px-3">
|
|
3
3
|
<em><%= t('geoblacklight.show.click_map') %></em>
|
|
4
4
|
</div>
|
|
5
|
-
<% end %>
|
|
5
|
+
<% end %>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
<div class="index-map-legend
|
|
1
|
+
<div class="index-map-legend">
|
|
2
2
|
<div class="index-map-legend-info">
|
|
3
|
-
<
|
|
4
|
-
<
|
|
3
|
+
<div class="index-map-legend-swatch" style="background: <%= index_config.dig(:DEFAULT, :color) %>"></div>
|
|
4
|
+
<div><span class="visually-hidden"><%= index_config.dig(:DEFAULT, :sr_color_name) %> tile indicates </span>Map held by collection</div>
|
|
5
5
|
</div>
|
|
6
6
|
<div class="index-map-legend-info">
|
|
7
|
-
<
|
|
8
|
-
<
|
|
7
|
+
<div class="index-map-legend-swatch" style="background: <%= index_config.dig(:UNAVAILABLE, :color) %>"></div>
|
|
8
|
+
<div><span class="visually-hidden"><%= index_config.dig(:UNAVAILABLE, :sr_color_name) %> tile indicates </span>Map not held by collection</div>
|
|
9
9
|
</div>
|
|
10
10
|
<div class="index-map-legend-info">
|
|
11
|
-
<
|
|
12
|
-
<
|
|
11
|
+
<div class="index-map-legend-swatch" style="background: <%= index_config.dig(:SELECTED, :color) %>"></div>
|
|
12
|
+
<div><span class="visually-hidden"><%= index_config.dig(:SELECTED, :sr_color_name) %> tile indicates </span>Selected map tile</div>
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
@@ -13,5 +13,12 @@ module Geoblacklight
|
|
|
13
13
|
def render?
|
|
14
14
|
@document.item_viewer.index_map
|
|
15
15
|
end
|
|
16
|
+
|
|
17
|
+
delegate :configuration, to: :Geoblacklight
|
|
18
|
+
delegate :leaflet_options, to: :configuration
|
|
19
|
+
|
|
20
|
+
def index_config
|
|
21
|
+
@index_config ||= leaflet_options.layers.index
|
|
22
|
+
end
|
|
16
23
|
end
|
|
17
24
|
end
|
|
@@ -46,7 +46,7 @@ module Geoblacklight
|
|
|
46
46
|
def iiif_manifest_tag
|
|
47
47
|
tag.div(nil,
|
|
48
48
|
id: "mirador",
|
|
49
|
-
class: "viewer",
|
|
49
|
+
class: "viewer border",
|
|
50
50
|
data: {
|
|
51
51
|
manifest_url: @document.viewer_endpoint
|
|
52
52
|
})
|
|
@@ -57,7 +57,7 @@ module Geoblacklight
|
|
|
57
57
|
def iiif_image_tag
|
|
58
58
|
tag.div(nil,
|
|
59
59
|
id: "openseadragon",
|
|
60
|
-
class: "viewer",
|
|
60
|
+
class: "viewer border",
|
|
61
61
|
data: {
|
|
62
62
|
image_url: @document.viewer_endpoint
|
|
63
63
|
})
|
|
@@ -80,7 +80,7 @@ module Geoblacklight
|
|
|
80
80
|
viewer_name = openlayers? ? "openlayers-viewer" : "leaflet-viewer"
|
|
81
81
|
tag.div(nil,
|
|
82
82
|
id: viewer_name,
|
|
83
|
-
class: "viewer",
|
|
83
|
+
class: "viewer border",
|
|
84
84
|
data: {
|
|
85
85
|
"controller" => viewer_name,
|
|
86
86
|
"#{viewer_name}-available-value" => helpers.document_available?(@document),
|
|
@@ -89,10 +89,14 @@ module Geoblacklight
|
|
|
89
89
|
"#{viewer_name}-url-value" => @document.viewer_endpoint,
|
|
90
90
|
"#{viewer_name}-map-geom-value" => @document.geometry.geojson,
|
|
91
91
|
"#{viewer_name}-layer-id-value" => @document.wxs_identifier,
|
|
92
|
-
"#{viewer_name}-options-value" =>
|
|
92
|
+
"#{viewer_name}-options-value" => leaflet_options.to_h,
|
|
93
93
|
"#{viewer_name}-page-value" => params[:action]&.upcase,
|
|
94
94
|
"#{viewer_name}-draw-initial-bounds-value" => true
|
|
95
95
|
}.compact)
|
|
96
96
|
end
|
|
97
|
+
|
|
98
|
+
def leaflet_options
|
|
99
|
+
Geoblacklight.configuration.leaflet_options
|
|
100
|
+
end
|
|
97
101
|
end
|
|
98
102
|
end
|
|
@@ -4,7 +4,7 @@ module Geoblacklight
|
|
|
4
4
|
class LocationLeafletMapComponent < ViewComponent::Base
|
|
5
5
|
def initialize(
|
|
6
6
|
id: "leaflet-viewer",
|
|
7
|
-
map_geometry:
|
|
7
|
+
map_geometry: config.homepage_map_geom,
|
|
8
8
|
classes: "",
|
|
9
9
|
page: nil,
|
|
10
10
|
geosearch: nil
|
|
@@ -26,24 +26,37 @@ module Geoblacklight
|
|
|
26
26
|
|
|
27
27
|
# Add top-level geosearch control to leaflet options if configured
|
|
28
28
|
def leaflet_options
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
config.leaflet_options.deep_dup.tap do |options|
|
|
30
|
+
options.controls = {"Geosearch" => @geosearch} if @geosearch
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def config
|
|
35
|
+
Geoblacklight.configuration
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# We don't want turbo-permanent on the home page.
|
|
39
|
+
def data_permanent
|
|
40
|
+
return {} unless helpers.has_search_parameters?
|
|
41
|
+
{turbo_permanent: true}
|
|
32
42
|
end
|
|
33
43
|
|
|
34
44
|
def viewer_tag
|
|
35
|
-
tag.div(
|
|
36
|
-
id: @id,
|
|
45
|
+
tag.div(id: @id,
|
|
37
46
|
class: @classes,
|
|
38
|
-
data:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
data: data_permanent.merge(leaflet_viewer_data_attributes))
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def leaflet_viewer_data_attributes
|
|
51
|
+
{
|
|
52
|
+
"controller" => "leaflet-viewer",
|
|
53
|
+
"leaflet-viewer-basemap-value" => helpers.geoblacklight_basemap,
|
|
54
|
+
"leaflet-viewer-map-geom-value" => search_bbox || @map_geometry,
|
|
55
|
+
"leaflet-viewer-data-map-value" => @data_map,
|
|
56
|
+
"leaflet-viewer-page-value" => params[:action]&.upcase,
|
|
57
|
+
"leaflet-viewer-options-value" => leaflet_options.to_h,
|
|
58
|
+
"leaflet-viewer-catalog-base-url-value" => (helpers.search_action_path if @geosearch)
|
|
59
|
+
}.compact
|
|
47
60
|
end
|
|
48
61
|
end
|
|
49
62
|
end
|
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
<% relationship_type_results['docs'][0..2].map { |hash| SolrDocument.new(hash) }.each do |doc| %>
|
|
8
8
|
<li class="list-group-item border-bottom-0">
|
|
9
9
|
<%= link_to solr_document_path(doc) do %>
|
|
10
|
-
<%= helpers.
|
|
10
|
+
<%= helpers.geoblacklight_icon(rel_type_info.icon) unless rel_type_info.icon.nil? %>
|
|
11
11
|
<%= doc.title %>
|
|
12
12
|
<% end %>
|
|
13
13
|
</li>
|
|
14
14
|
<% end %>
|
|
15
15
|
<% unless (relationship_type_results['numFound'].to_i <= 3) %>
|
|
16
16
|
<li class="list-group-item border-bottom-0">
|
|
17
|
-
<%= link_to search_catalog_path({f: {"#{
|
|
17
|
+
<%= link_to search_catalog_path({f: {"#{Geoblacklight.configuration.relationships_shown.public_send(relationship_type).field}" => [relations.link_id]}}) do %>
|
|
18
18
|
<%= t('geoblacklight.relations.browse_all', count: relationship_type_results['numFound']) %>
|
|
19
19
|
<% end %>
|
|
20
20
|
</li>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<%# This template copies from Blacklight's components/document_component.html.erb
|
|
1
|
+
<%# This template copies from Blacklight's components/document_component.html.erb
|
|
2
2
|
# for the wrapping `content_tag @component` structure
|
|
3
3
|
# and adds custom layout within for the document header, status-icons and more-info areas %>
|
|
4
4
|
|
|
@@ -14,31 +14,33 @@
|
|
|
14
14
|
itemtype: @document.itemtype,
|
|
15
15
|
class: classes.flatten.join(' ') do %>
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
</span>
|
|
22
|
-
<%= helpers.link_to_document(@document, counter: @counter, itemprop: "name") %>
|
|
23
|
-
</h3>
|
|
17
|
+
<%= content_tag :div, class: 'documentHeader index-split', data: { layer_id: @document.id, geom: @document.geometry.geojson } do %>
|
|
18
|
+
<div class="document-counter">
|
|
19
|
+
<%= t('blacklight.search.documents.counter', :counter => @counter) if @counter %>
|
|
20
|
+
</div>
|
|
24
21
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div id="doc-<%= @document.id %>-fields-collapse" class='collapse'>
|
|
40
|
-
<small itemprop="description">
|
|
41
|
-
<%= index_fields_display %>
|
|
42
|
-
</small>
|
|
22
|
+
<h3 class="index_title">
|
|
23
|
+
<%= helpers.link_to_document(@document, counter: @counter, itemprop: "name") %>
|
|
24
|
+
</h3>
|
|
25
|
+
|
|
26
|
+
<div class="status-icons">
|
|
27
|
+
<%= render Geoblacklight::HeaderIconsComponent.new(document: @document) %>
|
|
28
|
+
<button
|
|
29
|
+
class="btn dropdown-toggle collapsed"
|
|
30
|
+
data-bs-toggle="collapse"
|
|
31
|
+
data-bs-target="#doc-<%= @document.id %>-fields-collapse"
|
|
32
|
+
aria-label="<%= t('geoblacklight.metadata.toggle_summary') %>"
|
|
33
|
+
aria-expanded="false"
|
|
34
|
+
aria-controls="doc-<%= @document.id %>-fields-collapse">
|
|
35
|
+
</button>
|
|
43
36
|
</div>
|
|
37
|
+
|
|
38
|
+
<% end %>
|
|
39
|
+
<% end %>
|
|
40
|
+
<div class="more-info-area border-bottom">
|
|
41
|
+
<div id="doc-<%= @document.id %>-fields-collapse" class="collapse">
|
|
42
|
+
<small itemprop="description">
|
|
43
|
+
<%= index_fields_display %>
|
|
44
|
+
</small>
|
|
44
45
|
</div>
|
|
46
|
+
</div>
|
|
@@ -15,8 +15,8 @@ module Geoblacklight
|
|
|
15
15
|
# @return [String]
|
|
16
16
|
def index_fields_display
|
|
17
17
|
fields_values = []
|
|
18
|
-
@presenter.configuration.index_fields.
|
|
19
|
-
val = @presenter.field_value(field_config).
|
|
18
|
+
@presenter.configuration.index_fields.each_value do |field_config|
|
|
19
|
+
val = @presenter.field_value(field_config).to_sentence
|
|
20
20
|
if val.present?
|
|
21
21
|
val += "." unless val.end_with?(".")
|
|
22
22
|
fields_values << val
|
|
@@ -10,7 +10,7 @@ module Geoblacklight
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def render?
|
|
13
|
-
|
|
13
|
+
Geoblacklight.configuration.sidebar_static_map&.any? { |vp| @document.viewer_protocol == vp }
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def before_render
|
|
@@ -18,16 +18,17 @@ module Geoblacklight
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def viewer_tag
|
|
21
|
-
leaflet_options =
|
|
22
|
-
leaflet_options.
|
|
21
|
+
leaflet_options = Geoblacklight.configuration.leaflet_options.deep_dup
|
|
22
|
+
leaflet_options.sleep.sleep = false
|
|
23
23
|
tag.div(nil,
|
|
24
24
|
id: "static-map",
|
|
25
|
+
class: "viewer border",
|
|
25
26
|
data: {
|
|
26
27
|
"controller" => "leaflet-viewer",
|
|
27
28
|
"leaflet-viewer-basemap-value" => helpers.geoblacklight_basemap,
|
|
28
29
|
"leaflet-viewer-page-value" => "STATIC_MAP",
|
|
29
30
|
"leaflet-viewer-map-geom-value" => @document.geometry.geojson,
|
|
30
|
-
"leaflet-viewer-options-value" => leaflet_options,
|
|
31
|
+
"leaflet-viewer-options-value" => leaflet_options.to_h,
|
|
31
32
|
"leaflet-viewer-draw-initial-bounds-value" => true
|
|
32
33
|
})
|
|
33
34
|
end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<%= display_text %>
|
|
1
|
+
<%= display_text %>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<%= render_web_services %>
|
|
1
|
+
<%= render_web_services %>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
<div class=
|
|
2
|
-
<label for=
|
|
3
|
-
<%=
|
|
1
|
+
<div class="mb-3 web-services-form">
|
|
2
|
+
<label for="<%= reference.type %>_webservice">
|
|
3
|
+
<%= helpers.formatted_name_reference(reference.type) %>
|
|
4
4
|
</label>
|
|
5
|
-
<div class=
|
|
6
|
-
<input type=
|
|
5
|
+
<div class="input-group">
|
|
6
|
+
<input type="text" id="<%= reference.type %>_webservice" value="<%= reference.endpoint %>" class="form-control">
|
|
7
7
|
<div class="input-group-append">
|
|
8
|
-
<button button type="button" class="btn btn-primary" data-action="clipboard#copyToClipboard" data-clipboard-value-param=
|
|
8
|
+
<button button type="button" class="btn btn-primary" data-action="clipboard#copyToClipboard" data-clipboard-value-param="<%= reference.endpoint %>"><%= t('blacklight.modal.copy') %></button>
|
|
9
9
|
</div>
|
|
10
10
|
</div>
|
|
11
11
|
</div>
|
|
@@ -2,21 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
module Geoblacklight
|
|
4
4
|
class WebServicesLinkComponent < ViewComponent::Base
|
|
5
|
-
|
|
5
|
+
attr_reader :document
|
|
6
|
+
|
|
7
|
+
def initialize(document:, **)
|
|
6
8
|
@document = document
|
|
7
9
|
super()
|
|
8
10
|
end
|
|
9
11
|
|
|
10
|
-
def
|
|
11
|
-
(
|
|
12
|
+
def call
|
|
13
|
+
link_to(
|
|
14
|
+
"Web services",
|
|
15
|
+
helpers.web_services_solr_document_path(id: document.id),
|
|
16
|
+
class: "nav-link",
|
|
17
|
+
data: {blacklight_modal: "trigger"}
|
|
18
|
+
)
|
|
12
19
|
end
|
|
13
20
|
|
|
14
|
-
def
|
|
15
|
-
|
|
16
|
-
helpers.web_services_solr_document_path(id: @document.id),
|
|
17
|
-
class: ["btn", "btn-primary", "sidebar-btn"],
|
|
18
|
-
id: "web-services-button",
|
|
19
|
-
data: {blacklight_modal: "trigger"}
|
|
21
|
+
def key
|
|
22
|
+
"web_services"
|
|
20
23
|
end
|
|
21
24
|
end
|
|
22
25
|
end
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<%= render Geoblacklight::WebServicesDefaultComponent.new(reference:) %>
|
|
2
2
|
<div class="mb-3 d-flex align-items-center">
|
|
3
|
-
<label for="wfs_abv_webservice" class="me-2"><%= t('geoblacklight.references.wfs_abv')%> <code><%= t('geoblacklight.references.wfs_label')%></code></label>
|
|
4
|
-
<div class=
|
|
5
|
-
<input id="wfs_abv_webservice" type=
|
|
3
|
+
<label for="wfs_abv_webservice" class="me-2"><%= t('geoblacklight.references.wfs_abv') %> <code><%= t('geoblacklight.references.wfs_label') %></code></label>
|
|
4
|
+
<div class="input-group">
|
|
5
|
+
<input id="wfs_abv_webservice" type="text" value="<%= document.wxs_identifier %>" readonly class="form-control">
|
|
6
6
|
<div class="input-group-append">
|
|
7
|
-
<button button type="button" class="btn btn-primary" data-action="clipboard#copyToClipboard" data-clipboard-value-param=
|
|
7
|
+
<button button type="button" class="btn btn-primary" data-action="clipboard#copyToClipboard" data-clipboard-value-param="<%= document.wxs_identifier %>"><%= t('blacklight.modal.copy') %></button>
|
|
8
8
|
</div>
|
|
9
9
|
</div>
|
|
10
10
|
</div>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<%= render Geoblacklight::WebServicesDefaultComponent.new(reference:) %>
|
|
2
2
|
<div class="mb-3 d-flex align-items-center">
|
|
3
|
-
<label for="wms_abv_webservice" class="me-2"><%= t('geoblacklight.references.wms_abv')%> <code><%= t('geoblacklight.references.wms_label')%></code></label>
|
|
4
|
-
<div class=
|
|
5
|
-
<input id="wms_abv_webservice" type=
|
|
3
|
+
<label for="wms_abv_webservice" class="me-2"><%= t('geoblacklight.references.wms_abv') %> <code><%= t('geoblacklight.references.wms_label') %></code></label>
|
|
4
|
+
<div class="input-group">
|
|
5
|
+
<input id="wms_abv_webservice" type="text" value="<%= document.wxs_identifier %>" class="form-control">
|
|
6
6
|
<div class="input-group-append">
|
|
7
|
-
<button button type="button" class="btn btn-primary" data-action="clipboard#copyToClipboard" data-clipboard-value-param=
|
|
7
|
+
<button button type="button" class="btn btn-primary" data-action="clipboard#copyToClipboard" data-clipboard-value-param="<%= document.wxs_identifier %>"><%= t('blacklight.modal.copy') %></button>
|
|
8
8
|
</div>
|
|
9
9
|
</div>
|
|
10
10
|
</div>
|
|
@@ -18,7 +18,6 @@ module GeoblacklightHelper
|
|
|
18
18
|
# @return [SVG or HTML tag]
|
|
19
19
|
def geoblacklight_icon(name, **args)
|
|
20
20
|
icon_name = name ? name.to_s.parameterize : "none"
|
|
21
|
-
icon_name = Settings.ICON_MAPPING && Settings.ICON_MAPPING[icon_name] || icon_name
|
|
22
21
|
camel_icon = icon_name.tr("-", "_").camelize.delete(" ")
|
|
23
22
|
begin
|
|
24
23
|
render "Blacklight::Icons::#{camel_icon}Component".constantize.new(name: icon_name, **args)
|
|
@@ -53,13 +52,6 @@ module GeoblacklightHelper
|
|
|
53
52
|
blacklight_config.basemap_provider || "positron"
|
|
54
53
|
end
|
|
55
54
|
|
|
56
|
-
##
|
|
57
|
-
# Returns a hash of the leaflet plugin settings to pass to the viewer.
|
|
58
|
-
# @return[Hash]
|
|
59
|
-
def leaflet_options
|
|
60
|
-
Settings.LEAFLET
|
|
61
|
-
end
|
|
62
|
-
|
|
63
55
|
##
|
|
64
56
|
# Renders the transformed metadata
|
|
65
57
|
# (Renders a partial when the metadata isn't available)
|
|
@@ -95,13 +87,6 @@ module GeoblacklightHelper
|
|
|
95
87
|
)
|
|
96
88
|
end
|
|
97
89
|
|
|
98
|
-
## Returns the icon used based off a Settings strategy
|
|
99
|
-
def relations_icon(document, icon)
|
|
100
|
-
icon_html = render Geoblacklight::HeaderIconsComponent.new(document: document, fields: [Settings.FIELDS.GEOM_TYPE]) if Settings.USE_GEOM_FOR_RELATIONS_ICON
|
|
101
|
-
return icon_html unless !Settings.USE_GEOM_FOR_RELATIONS_ICON || icon_html.include?("icon-missing")
|
|
102
|
-
geoblacklight_icon(icon, **{})
|
|
103
|
-
end
|
|
104
|
-
|
|
105
90
|
## Returns the data-page attribute value used as the JS map selector
|
|
106
91
|
def results_js_map_selector(controller_name)
|
|
107
92
|
case controller_name
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Controller } from "@hotwired/stimulus"
|
|
2
2
|
|
|
3
3
|
export default class extends Controller {
|
|
4
|
-
|
|
4
|
+
static targets = ["alert"]
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
async copyToClipboard(event) {
|
|
7
|
+
let text = event.params.value
|
|
8
|
+
await navigator.clipboard.writeText(text)
|
|
9
|
+
this.alertTarget.classList.remove("d-none")
|
|
10
|
+
}
|
|
11
11
|
}
|
|
@@ -2,55 +2,63 @@ import { Controller } from "@hotwired/stimulus"
|
|
|
2
2
|
|
|
3
3
|
export default class extends Controller {
|
|
4
4
|
download(ev) {
|
|
5
|
-
ev.preventDefault()
|
|
5
|
+
ev.preventDefault()
|
|
6
6
|
if (this.downloading) {
|
|
7
|
-
return
|
|
7
|
+
return
|
|
8
8
|
}
|
|
9
|
-
this.downloading = true
|
|
10
|
-
ev.target.classList.add(
|
|
11
|
-
const url = ev.target.dataset.downloadPath
|
|
12
|
-
ev.target.removeAttribute(
|
|
13
|
-
ev.target.innerHTML = '<div class="spinner-border spinner-border-sm float-end"></div> Preparing download...'
|
|
9
|
+
this.downloading = true
|
|
10
|
+
ev.target.classList.add("download-in-progress")
|
|
11
|
+
const url = ev.target.dataset.downloadPath
|
|
12
|
+
ev.target.removeAttribute("href")
|
|
13
|
+
ev.target.innerHTML = '<div class="spinner-border spinner-border-sm float-end"></div> Preparing download...'
|
|
14
14
|
|
|
15
15
|
fetch(url)
|
|
16
16
|
.then((response) => {
|
|
17
17
|
if (!response.ok) {
|
|
18
18
|
return response.json().then((errorData) => {
|
|
19
|
-
const exception = new Error("Network response was not ok")
|
|
20
|
-
exception.data = errorData
|
|
21
|
-
throw exception
|
|
22
|
-
})
|
|
19
|
+
const exception = new Error("Network response was not ok")
|
|
20
|
+
exception.data = errorData // Attach the parsed JSON data to the error object
|
|
21
|
+
throw exception
|
|
22
|
+
})
|
|
23
23
|
}
|
|
24
|
-
return response.json()
|
|
24
|
+
return response.json()
|
|
25
25
|
})
|
|
26
26
|
.then((data) => this.complete(data, ev.target))
|
|
27
|
-
.catch((error) => this.error(error, ev.target))
|
|
27
|
+
.catch((error) => this.error(error, ev.target))
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
complete(data, target) {
|
|
31
|
-
this.downloading = false
|
|
32
|
-
target.classList.remove(
|
|
33
|
-
target.classList.add(
|
|
34
|
-
target.innerHTML = `Download ready (${target.dataset.downloadType})
|
|
35
|
-
target.href = data[1]
|
|
36
|
-
this.renderMessage(data[0])
|
|
31
|
+
this.downloading = false
|
|
32
|
+
target.classList.remove("download-in-progress")
|
|
33
|
+
target.classList.add("download-complete")
|
|
34
|
+
target.innerHTML = `Download ready (${target.dataset.downloadType})`
|
|
35
|
+
target.href = data[1]
|
|
36
|
+
this.renderMessage(data[0])
|
|
37
37
|
//target.click();
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
error(exception, target) {
|
|
41
|
-
this.downloading = false
|
|
42
|
-
target.classList.remove(
|
|
43
|
-
target.classList.add(
|
|
44
|
-
target.innerHTML = `Download failed (${target.dataset.downloadType})
|
|
45
|
-
|
|
41
|
+
this.downloading = false
|
|
42
|
+
target.classList.remove("download-in-progress")
|
|
43
|
+
target.classList.add("download-complete")
|
|
44
|
+
target.innerHTML = `Download failed (${target.dataset.downloadType})`
|
|
45
|
+
console.log(exception)
|
|
46
|
+
|
|
47
|
+
this.renderMessage(exception.data[0])
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
renderMessage(message) {
|
|
51
|
+
let flashContainer = document.querySelector("div.flash_messages")
|
|
52
|
+
if (!flashContainer) {
|
|
53
|
+
flashContainer = document.createElement("div")
|
|
54
|
+
flashContainer.className = "flash_messages"
|
|
55
|
+
document.getElementById("document").prepend(flashContainer)
|
|
56
|
+
}
|
|
49
57
|
Object.entries(message).forEach(([idx, msg]) => {
|
|
50
|
-
const flash = document.createElement("div")
|
|
51
|
-
flash.className = `alert alert-${msg[0]} alert-dismissible fade show
|
|
52
|
-
flash.innerHTML = `${msg[1]}<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button
|
|
53
|
-
|
|
54
|
-
})
|
|
58
|
+
const flash = document.createElement("div")
|
|
59
|
+
flash.className = `alert alert-${msg[0]} alert-dismissible fade show`
|
|
60
|
+
flash.innerHTML = `${msg[1]}<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>`
|
|
61
|
+
flashContainer.appendChild(flash)
|
|
62
|
+
})
|
|
55
63
|
}
|
|
56
64
|
}
|