geoblacklight 2.4.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +142 -0
- data/.gitignore +8 -0
- data/.rubocop.yml +24 -23
- data/.rubocop_todo.yml +398 -12
- data/README.md +3 -3
- data/Rakefile +13 -4
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +1 -1
- data/app/assets/javascripts/geoblacklight/geoblacklight.js +18 -1
- data/app/assets/javascripts/geoblacklight/modules/bookmarks.js +43 -0
- data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +6 -1
- data/app/assets/javascripts/geoblacklight/modules/results.js +7 -8
- data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +31 -0
- data/app/assets/javascripts/geoblacklight/modules/util.js +5 -0
- data/app/assets/javascripts/geoblacklight/viewers/esri.js +3 -3
- data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/index_map.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/map.js +12 -2
- data/app/assets/javascripts/geoblacklight/viewers/tms.js +10 -0
- data/app/assets/javascripts/geoblacklight/viewers/wms.js +3 -3
- data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +2 -0
- data/app/assets/stylesheets/geoblacklight/modules/_base.scss +33 -0
- data/app/assets/stylesheets/geoblacklight/{_blacklight_overrides.scss → modules/_blacklight_overrides.scss} +1 -1
- data/app/assets/stylesheets/geoblacklight/{_styles.scss → modules/_styles.scss} +1 -0
- data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +37 -54
- data/app/assets/stylesheets/geoblacklight/modules/item.scss +1 -0
- data/app/assets/stylesheets/geoblacklight/modules/results.scss +17 -29
- data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +12 -42
- data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +17 -59
- data/app/controllers/download_controller.rb +12 -12
- data/app/controllers/relation_controller.rb +1 -0
- data/app/controllers/wms_controller.rb +1 -0
- data/app/helpers/arcgis_helper.rb +1 -0
- data/app/helpers/blacklight_helper.rb +1 -0
- data/app/helpers/carto_helper.rb +1 -0
- data/app/helpers/geoblacklight_helper.rb +37 -72
- data/app/models/concerns/geoblacklight/solr_document.rb +15 -19
- data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +2 -1
- data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -13
- data/app/models/concerns/geoblacklight/solr_document/citation.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/inspection.rb +2 -1
- data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +6 -4
- data/app/presenters/geoblacklight/document_presenter.rb +2 -1
- data/app/views/catalog/_arcgis.html.erb +4 -0
- data/app/views/catalog/_carto.html.erb +4 -0
- data/app/views/catalog/_document_split.html.erb +1 -1
- data/app/views/catalog/_downloads_primary.html.erb +8 -1
- data/app/views/catalog/_header_icons.html.erb +3 -3
- data/app/views/catalog/_home_text.html.erb +3 -0
- data/app/views/catalog/_index_split_default.html.erb +21 -21
- data/app/views/catalog/_show_default_viewer_container.html.erb +1 -1
- data/app/views/download/hgl.html.erb +13 -11
- data/app/views/relation/_ancestors.html.erb +3 -6
- data/app/views/relation/_descendants.html.erb +4 -7
- data/app/views/relation/index.html.erb +20 -8
- data/app/views/relation/index.json.jbuilder +2 -1
- data/app/views/shared/_header_navbar.html.erb +0 -2
- data/babel.config.json +4 -0
- data/bin/coverage.rb +36 -0
- data/config/initializers/new_gbl_settings_defaults_3_3.yml +10 -0
- data/config/initializers/rails_config.rb +5 -0
- data/config/locales/geoblacklight.en.yml +7 -2
- data/geoblacklight.gemspec +7 -9
- data/jest.config.js +25 -0
- data/lib/generators/geoblacklight/assets_generator.rb +46 -0
- data/lib/generators/geoblacklight/install_generator.rb +4 -10
- data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +1 -0
- data/lib/generators/geoblacklight/templates/assets/_customizations.scss +28 -0
- data/{app/assets/stylesheets/geoblacklight/application.scss → lib/generators/geoblacklight/templates/assets/_geoblacklight.scss} +0 -1
- data/lib/generators/geoblacklight/templates/assets/application.scss +7 -0
- data/lib/generators/geoblacklight/templates/{geoblacklight.js → assets/geoblacklight.js} +0 -0
- data/lib/generators/geoblacklight/templates/catalog_controller.rb +5 -3
- data/lib/generators/geoblacklight/templates/settings.yml +20 -17
- data/lib/generators/geoblacklight/webpacker_generator.rb +1 -0
- data/lib/geoblacklight.rb +2 -2
- data/lib/geoblacklight/bounding_box.rb +2 -1
- data/lib/geoblacklight/catalog_helper_override.rb +1 -0
- data/lib/geoblacklight/constants.rb +2 -0
- data/lib/geoblacklight/download.rb +2 -1
- data/lib/geoblacklight/download/geojson_download.rb +1 -0
- data/lib/geoblacklight/download/geotiff_download.rb +1 -0
- data/lib/geoblacklight/download/hgl_download.rb +1 -0
- data/lib/geoblacklight/download/kmz_download.rb +3 -2
- data/lib/geoblacklight/download/shapefile_download.rb +1 -0
- data/lib/geoblacklight/engine.rb +2 -2
- data/lib/geoblacklight/exceptions.rb +1 -0
- data/lib/geoblacklight/geoblacklight_helper_behavior.rb +1 -0
- data/lib/geoblacklight/geometry.rb +70 -0
- data/lib/geoblacklight/item_viewer.rb +6 -1
- data/lib/geoblacklight/metadata.rb +1 -0
- data/lib/geoblacklight/metadata/base.rb +2 -7
- data/lib/geoblacklight/metadata/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata/html.rb +2 -2
- data/lib/geoblacklight/metadata/iso19139.rb +1 -0
- data/lib/geoblacklight/metadata_transformer.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/base.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
- data/lib/geoblacklight/reference.rb +1 -0
- data/lib/geoblacklight/references.rb +7 -3
- data/lib/geoblacklight/relation/ancestors.rb +3 -2
- data/lib/geoblacklight/relation/descendants.rb +2 -1
- data/lib/geoblacklight/relation/relation_response.rb +2 -1
- data/lib/geoblacklight/routes.rb +1 -0
- data/lib/geoblacklight/routes/downloadable.rb +1 -0
- data/lib/geoblacklight/routes/exportable.rb +1 -0
- data/lib/geoblacklight/routes/wms.rb +1 -0
- data/lib/geoblacklight/version.rb +2 -1
- data/lib/geoblacklight/view_helper_override.rb +1 -0
- data/lib/geoblacklight/wms_layer.rb +2 -4
- data/lib/geoblacklight/wms_layer/feature_info_response.rb +1 -0
- data/lib/tasks/geoblacklight.rake +38 -32
- data/package.json +17 -1
- data/setupJest.js +14 -0
- data/solr/conf/schema.xml +1 -3
- data/spec/config/initializers/rails_config_spec.rb +14 -0
- data/spec/controllers/catalog_controller_spec.rb +7 -6
- data/spec/controllers/download_controller_spec.rb +1 -0
- data/spec/controllers/relation_controller_spec.rb +1 -0
- data/spec/controllers/wms_controller_spec.rb +1 -0
- data/spec/factories/user.rb +1 -0
- data/spec/features/bookmarks_spec.rb +1 -0
- data/spec/features/configurable_basemap_spec.rb +1 -0
- data/spec/features/data_dictionary_download_spec.rb +1 -0
- data/spec/features/download_layer_spec.rb +2 -1
- data/spec/features/empty_search_spec.rb +1 -0
- data/spec/features/esri_viewer_spec.rb +1 -5
- data/spec/features/exports_spec.rb +4 -12
- data/spec/features/help_text_spec.rb +1 -0
- data/spec/features/home_page_spec.rb +6 -0
- data/spec/features/iiif_viewer_spec.rb +1 -0
- data/spec/features/index_map_spec.rb +1 -0
- data/spec/features/layer_inspection_spec.rb +1 -0
- data/spec/features/layer_opacity_spec.rb +1 -0
- data/spec/features/layer_preview_spec.rb +1 -0
- data/spec/features/layer_with_no_references_spec.rb +1 -0
- data/spec/features/linkified_attribute_table_spec.rb +1 -0
- data/spec/features/metadata_panel_spec.rb +1 -0
- data/spec/features/missing_metadata_spec.rb +1 -0
- data/spec/features/multiple_downloads_spec.rb +15 -0
- data/spec/features/oembed_spec.rb +1 -0
- data/spec/features/relations_spec.rb +10 -29
- data/spec/features/saved_searches_spec.rb +1 -0
- data/spec/features/search_bar_spec.rb +1 -0
- data/spec/features/search_results_map_spec.rb +1 -6
- data/spec/features/search_results_overlap_ratio_spec.rb +6 -5
- data/spec/features/search_spec.rb +1 -0
- data/spec/features/show_page_metadata_spec.rb +1 -0
- data/spec/features/sms_spec.rb +1 -0
- data/spec/features/split_view.html.erb_spec.rb +3 -2
- data/spec/features/suppressed_records_spec.rb +1 -0
- data/spec/features/tms_spec.rb +10 -0
- data/spec/features/web_services_modal_spec.rb +1 -0
- data/spec/fixtures/solr_documents/multiple-downloads.json +30 -0
- data/spec/fixtures/solr_documents/public_iiif_princeton.json +1 -1
- data/spec/fixtures/solr_documents/tms.json +29 -0
- data/spec/helpers/arcgis_helper_spec.rb +1 -0
- data/spec/helpers/carto_helper_spec.rb +1 -0
- data/spec/helpers/geoblacklight_helper_spec.rb +73 -14
- data/spec/javascripts/geoblacklight_spec.js +0 -6
- data/spec/javascripts/metadata_download_button_spec.js +5 -3
- data/spec/javascripts/util_spec.js +2 -4
- data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -0
- data/spec/lib/geoblacklight/document_presenter_spec.rb +3 -2
- data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/kmz_download_spec.rb +3 -2
- data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download_spec.rb +3 -2
- data/spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb +1 -0
- data/spec/lib/geoblacklight/geometry_spec.rb +48 -0
- data/spec/lib/geoblacklight/item_viewer_spec.rb +13 -0
- data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer_spec.rb +4 -3
- data/spec/lib/geoblacklight/reference_spec.rb +1 -0
- data/spec/lib/geoblacklight/references_spec.rb +3 -4
- data/spec/lib/geoblacklight/relation/ancestors_spec.rb +2 -1
- data/spec/lib/geoblacklight/relation/descendants_spec.rb +2 -1
- data/spec/lib/geoblacklight/relation/relation_response_spec.rb +1 -0
- data/spec/lib/geoblacklight/view_helper_override_spec.rb +1 -0
- data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +5 -4
- data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +1 -20
- data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +15 -2
- data/spec/routing/catalog_routing_spec.rb +1 -0
- data/spec/spec_helper.rb +12 -9
- data/spec/support/backport_test_helpers.rb +1 -0
- data/spec/support/features.rb +1 -0
- data/spec/support/features/session_helpers.rb +1 -0
- data/spec/support/fixtures.rb +1 -0
- data/spec/tasks/geoblacklight_spec.rb +4 -3
- data/spec/test_app_templates/Gemfile.extra +1 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +2 -8
- data/spec/views/catalog/_document_split.html.erb_spec.rb +2 -1
- data/spec/views/catalog/_index_split.html.erb_spec.rb +2 -1
- data/spec/views/catalog/_results_pagination.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_show_downloads.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +3 -5
- data/template.rb +4 -2
- metadata +74 -78
- data/.circleci/config.yml +0 -164
- data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +0 -36
- data/app/assets/stylesheets/geoblacklight/modules/relations.scss +0 -15
- data/app/views/catalog/_exports.html.erb +0 -3
- data/app/views/catalog/_show_tools.html.erb +0 -25
- data/lib/generators/geoblacklight/templates/geoblacklight.scss +0 -4
- data/spec/javascripts/spec_helper.js +0 -32
- data/spec/lib/geoblacklight/controller_override_spec.rb +0 -1
- data/spec/teaspoon_env.rb +0 -213
- data/vendor/assets/javascripts/readmore.js +0 -0
- data/vendor/assets/javascripts/readmore.min.js +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Geoblacklight
|
|
2
|
-
# Extends Blacklight::Solr::Document for GeoBlacklight specific
|
|
4
|
+
# Extends Blacklight::Solr::Document for GeoBlacklight specific functionality
|
|
3
5
|
module SolrDocument
|
|
4
6
|
extend Blacklight::Solr::Document
|
|
5
7
|
|
|
@@ -34,15 +36,15 @@ module Geoblacklight
|
|
|
34
36
|
end
|
|
35
37
|
|
|
36
38
|
def direct_download
|
|
37
|
-
references.download.to_hash
|
|
39
|
+
references.download.to_hash if references.download.present?
|
|
38
40
|
end
|
|
39
41
|
|
|
40
42
|
def hgl_download
|
|
41
|
-
references.hgl.to_hash
|
|
43
|
+
references.hgl.to_hash if references.hgl.present?
|
|
42
44
|
end
|
|
43
45
|
|
|
44
46
|
def oembed
|
|
45
|
-
references.oembed.endpoint
|
|
47
|
+
references.oembed.endpoint if references.oembed.present?
|
|
46
48
|
end
|
|
47
49
|
|
|
48
50
|
def same_institution?
|
|
@@ -50,11 +52,11 @@ module Geoblacklight
|
|
|
50
52
|
end
|
|
51
53
|
|
|
52
54
|
def iiif_download
|
|
53
|
-
references.iiif.to_hash
|
|
55
|
+
references.iiif.to_hash if references.iiif.present?
|
|
54
56
|
end
|
|
55
57
|
|
|
56
58
|
def data_dictionary_download
|
|
57
|
-
references.data_dictionary.to_hash
|
|
59
|
+
references.data_dictionary.to_hash if references.data_dictionary.present?
|
|
58
60
|
end
|
|
59
61
|
|
|
60
62
|
def external_url
|
|
@@ -69,18 +71,12 @@ module Geoblacklight
|
|
|
69
71
|
'http://schema.org/Dataset'
|
|
70
72
|
end
|
|
71
73
|
|
|
72
|
-
def
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
\s*([-\.\d]+)\s*
|
|
79
|
-
\)\s*$/x # uses 'x' option for free-spacing mode
|
|
80
|
-
bbox_match = exp.match(geom_field)
|
|
81
|
-
return geom_field unless bbox_match # return as-is, not a WKT
|
|
82
|
-
w, e, n, s = bbox_match.captures
|
|
83
|
-
"#{w} #{s} #{e} #{n}"
|
|
74
|
+
def geom_field
|
|
75
|
+
fetch(Settings.FIELDS.GEOMETRY, '')
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def geometry
|
|
79
|
+
@geometry ||= Geoblacklight::Geometry.new(geom_field)
|
|
84
80
|
end
|
|
85
81
|
|
|
86
82
|
def wxs_identifier
|
|
@@ -108,7 +104,7 @@ module Geoblacklight
|
|
|
108
104
|
end
|
|
109
105
|
|
|
110
106
|
def method_missing(method, *args, &block)
|
|
111
|
-
if /.*_url
|
|
107
|
+
if /.*_url$/.match?(method.to_s)
|
|
112
108
|
checked_endpoint(method.to_s.gsub('_url', ''))
|
|
113
109
|
else
|
|
114
110
|
super
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module SolrDocument
|
|
3
4
|
module Arcgis
|
|
4
5
|
def arcgis_urls
|
|
5
|
-
return
|
|
6
|
+
return if references.esri_webservices.blank?
|
|
6
7
|
references.esri_webservices.map { |layer| layer.reference[1] if layer }.compact
|
|
7
8
|
end
|
|
8
9
|
end
|
|
@@ -1,21 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module SolrDocument
|
|
3
4
|
##
|
|
4
5
|
# Module for providing external Carto download references for a document
|
|
5
6
|
module Carto
|
|
6
|
-
extend Deprecation
|
|
7
|
-
self.deprecation_horizon = 'Geoblacklight 2.0.0'
|
|
8
|
-
##
|
|
9
|
-
# Returns a url to a file that should be used with CartoDB integration
|
|
10
|
-
# @return [String]
|
|
11
|
-
# @deprecated Use {#carto_reference} instead
|
|
12
|
-
def cartodb_reference
|
|
13
|
-
carto_reference
|
|
14
|
-
end
|
|
15
|
-
deprecation_deprecate(
|
|
16
|
-
cartodb_reference: 'use Geoblacklight::SolrDocument::Carto#carto_reference instead'
|
|
17
|
-
)
|
|
18
|
-
|
|
19
7
|
##
|
|
20
8
|
# Returns a url to a file that should be used with CartoDB integration
|
|
21
9
|
# @return [String]
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module SolrDocument
|
|
3
4
|
##
|
|
@@ -7,7 +8,7 @@ module Geoblacklight
|
|
|
7
8
|
# Returns boolean about whether document viewer protocol is inspectable
|
|
8
9
|
# @return [Boolean]
|
|
9
10
|
def inspectable?
|
|
10
|
-
%w
|
|
11
|
+
%w[wms feature_layer dynamic_map_layer tiled_map_layer]
|
|
11
12
|
.include? viewer_protocol
|
|
12
13
|
end
|
|
13
14
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module SpatialSearchBehavior
|
|
3
4
|
extend ActiveSupport::Concern
|
|
@@ -20,9 +21,10 @@ module Geoblacklight
|
|
|
20
21
|
solr_params[:fq] << "#{Settings.FIELDS.GEOMETRY}:\"Intersects(#{envelope_bounds})\""
|
|
21
22
|
|
|
22
23
|
if Settings.OVERLAP_RATIO_BOOST
|
|
24
|
+
solr_params[:bf] ||= []
|
|
23
25
|
solr_params[:overlap] =
|
|
24
|
-
"{!field uf=* defType=lucene f
|
|
25
|
-
solr_params[:bf]
|
|
26
|
+
"{!field uf=* defType=lucene f=#{Settings.FIELDS.OVERLAP_FIELD} score=overlapRatio}Intersects(#{envelope_bounds})"
|
|
27
|
+
solr_params[:bf] << "$overlap^#{Settings.OVERLAP_RATIO_BOOST}"
|
|
26
28
|
end
|
|
27
29
|
end
|
|
28
30
|
solr_params
|
|
@@ -60,10 +62,10 @@ module Geoblacklight
|
|
|
60
62
|
|
|
61
63
|
# Do not suppress action_documents method calls for individual documents
|
|
62
64
|
# ex. CatalogController#web_services (exportable views)
|
|
63
|
-
return if solr_params[:q]&.include?(
|
|
65
|
+
return if solr_params[:q]&.include?("{!lucene}#{Settings.FIELDS.UNIQUE_KEY}:")
|
|
64
66
|
|
|
65
67
|
solr_params[:fq] ||= []
|
|
66
|
-
solr_params[:fq] <<
|
|
68
|
+
solr_params[:fq] << "-#{Settings.FIELDS.SUPPRESSED}: true"
|
|
67
69
|
end
|
|
68
70
|
end
|
|
69
71
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
##
|
|
3
4
|
# Adds custom functionality for Geoblacklight document presentation
|
|
@@ -12,7 +13,7 @@ module Geoblacklight
|
|
|
12
13
|
fields_values = []
|
|
13
14
|
@configuration.index_fields.each do |_field_name, field_config|
|
|
14
15
|
val = field_value(field_config)
|
|
15
|
-
|
|
16
|
+
if val.present?
|
|
16
17
|
val += '.' unless val.end_with?('.')
|
|
17
18
|
fields_values << val
|
|
18
19
|
end
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
<div id="documents" class="documents-list col-md-6">
|
|
3
3
|
<%= render documents, :as => :document %>
|
|
4
4
|
</div>
|
|
5
|
-
<%= content_tag :div, '', id: 'map', class: 'col-md-6', aria: { label: t('geoblacklight.map.label') }, data: { map:
|
|
5
|
+
<%= content_tag :div, '', id: 'map', class: 'col-md-6', aria: { label: t('geoblacklight.map.label') }, data: { map: results_js_map_selector(controller.controller_name), 'catalog-path'=> search_catalog_path , 'map-bbox' => params[:bbox], basemap: geoblacklight_basemap, leaflet_options: leaflet_options } %>
|
|
6
6
|
</div>
|
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
<% document ||= @document %>
|
|
3
3
|
|
|
4
4
|
<% if document.direct_download.present? %>
|
|
5
|
-
|
|
5
|
+
<% if document.direct_download[:download].is_a? Array %>
|
|
6
|
+
<% document.direct_download[:download].each do |download| %>
|
|
7
|
+
<%= render partial: 'download_link', locals: { download_link: download_link_file(download['label'], document.id, download['url']) } %>
|
|
8
|
+
<% end %>
|
|
9
|
+
<% end %>
|
|
10
|
+
<% if document.direct_download[:download].is_a? String %>
|
|
11
|
+
<%= render partial: 'download_link', locals: { download_link: download_link_direct(download_text(document.file_format), document) } %>
|
|
12
|
+
<% end %>
|
|
6
13
|
<% end %>
|
|
7
14
|
|
|
8
15
|
<% if document.hgl_download.present? %>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<%= geoblacklight_icon(document[Settings.FIELDS.GEOM_TYPE]) %>
|
|
2
|
-
<%= geoblacklight_icon(document[Settings.FIELDS.PROVENANCE]) %>
|
|
3
|
-
<%= geoblacklight_icon(document[Settings.FIELDS.RIGHTS]) %>
|
|
1
|
+
<%= geoblacklight_icon(document[Settings.FIELDS.GEOM_TYPE], classes: 'svg_tooltip') %>
|
|
2
|
+
<%= geoblacklight_icon(document[Settings.FIELDS.PROVENANCE], classes: 'svg_tooltip') %>
|
|
3
|
+
<%= geoblacklight_icon(document[Settings.FIELDS.RIGHTS], classes: 'svg_tooltip') %>
|
|
@@ -40,4 +40,7 @@
|
|
|
40
40
|
<%= content_tag :div, '', id: 'map', aria: { label: t('geoblacklight.map.label') }, data: { map: 'home', 'catalog-path'=> search_catalog_path , 'map-bbox' => params[:bbox], basemap: geoblacklight_basemap, leaflet_options: leaflet_options } %>
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
|
+
<div id="geoblacklight-version" class="text-right">
|
|
44
|
+
<%= t('geoblacklight.home.version', version: Geoblacklight::VERSION ) %>
|
|
45
|
+
</div>
|
|
43
46
|
</div>
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
<% # header bar for doc items in index view -%>
|
|
2
|
-
<%= content_tag :div, class: 'documentHeader row', data: { layer_id: document.id,
|
|
3
|
-
<h3 class="index_title col
|
|
2
|
+
<%= content_tag :div, class: 'documentHeader index-split row', data: { layer_id: document.id, geom: document.geometry.geojson } do %>
|
|
3
|
+
<h3 class="index_title col">
|
|
4
|
+
<% counter = document_counter_with_offset(document_counter) %>
|
|
5
|
+
<span class="document-counter">
|
|
6
|
+
<%= t('blacklight.search.documents.counter', :counter => counter) if counter %>
|
|
7
|
+
</span>
|
|
8
|
+
<%= link_to_document document, counter: counter %>
|
|
9
|
+
</h3>
|
|
10
|
+
<span class='status-icons'>
|
|
11
|
+
<%= render partial: 'header_icons', locals: { document: document } %>
|
|
12
|
+
|
|
4
13
|
<button
|
|
5
|
-
class="caret-toggle btn
|
|
14
|
+
class="caret-toggle btn"
|
|
6
15
|
data-toggle="collapse"
|
|
7
16
|
data-target="#doc-<%= document.id %>-fields-collapse"
|
|
17
|
+
aria-label="<%= t('geoblacklight.metadata.toggle_summary') %>"
|
|
8
18
|
aria-expanded="false"
|
|
9
19
|
aria-controls="doc-<%= document.id %>-fields-collapse">
|
|
10
20
|
</button>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<span class="document-counter">
|
|
14
|
-
<%= t('blacklight.search.documents.counter', :counter => counter) if counter %>
|
|
15
|
-
</span>
|
|
16
|
-
<%= link_to_document document, counter: counter, title: document[blacklight_config.index.title_field] %>
|
|
17
|
-
</span>
|
|
18
|
-
<span class='status-icons'>
|
|
19
|
-
<%= render partial: 'header_icons', locals: { document: document } %>
|
|
20
|
-
</span>
|
|
21
|
-
</h3>
|
|
21
|
+
</span>
|
|
22
|
+
<% end %>
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</div>
|
|
24
|
+
<div class='more-info-area'>
|
|
25
|
+
<div id="doc-<%= document.id %>-fields-collapse" class='collapse'>
|
|
26
|
+
<small>
|
|
27
|
+
<%= geoblacklight_present(:index_fields_display, document) %>
|
|
28
|
+
</small>
|
|
29
29
|
</div>
|
|
30
|
-
|
|
30
|
+
</div>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<%= render_help_text_entry('viewer_protocol', document.viewer_protocol) %>
|
|
7
7
|
<% end %>
|
|
8
8
|
|
|
9
|
-
<%= content_tag :div, id: 'map', aria: { label: t('geoblacklight.map.label') }, data: { map: 'item', protocol: document.viewer_protocol.camelize, url: document.viewer_endpoint, 'layer-id' => document.wxs_identifier, 'map-
|
|
9
|
+
<%= content_tag :div, id: 'map', aria: { label: t('geoblacklight.map.label') }, data: { map: 'item', protocol: document.viewer_protocol.camelize, url: document.viewer_endpoint, 'layer-id' => document.wxs_identifier, 'map-geom' => document.geometry.geojson, 'catalog-path'=> search_catalog_path, available: document_available?, inspect: show_attribute_table?, basemap: geoblacklight_basemap, leaflet_options: leaflet_options } do %>
|
|
10
10
|
<% end %>
|
|
11
11
|
</div>
|
|
12
12
|
</div>
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
<div class="modal-header">
|
|
2
|
-
<
|
|
2
|
+
<h1 class="modal-title"><%= t('geoblacklight.download.hgl_request') %></h1>
|
|
3
|
+
<button type="button" class="blacklight-modal-close close" data-dismiss="modal" aria-label="<%= t('blacklight.modal.close') %>">
|
|
3
4
|
<span aria-hidden="true">×</span>
|
|
4
5
|
</button>
|
|
5
|
-
<%= content_tag :h4, t('geoblacklight.download.hgl_request'), class: 'text-center' %>
|
|
6
6
|
</div>
|
|
7
7
|
<div class="modal-body">
|
|
8
8
|
<form class="form-horizontal" role="form" id="hglRequest">
|
|
9
9
|
<p><%= t('geoblacklight.download.hgl_instructions')%></p>
|
|
10
10
|
<div class="form-group">
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<
|
|
11
|
+
<div class="row">
|
|
12
|
+
<label for="requestEmail" class="col-sm-2 control-label"><%= t('geoblacklight.download.hgl_email')%></label>
|
|
13
|
+
<div class="col-sm-6">
|
|
14
|
+
<input class="form-control" type="email" id="requestEmail" />
|
|
15
|
+
</div>
|
|
16
|
+
<input type="hidden" id="requestUrl"
|
|
17
|
+
value="<%= download_hgl_path(id: @document) %>" />
|
|
18
|
+
<div class="col-sm-2">
|
|
19
|
+
<button type="submit" class="btn btn-primary"><%= t('geoblacklight.download.hgl_request_button')%></button>
|
|
20
|
+
</div>
|
|
19
21
|
</div>
|
|
20
22
|
</div>
|
|
21
23
|
</form>
|
|
22
24
|
</div>
|
|
23
25
|
<div class="modal-footer">
|
|
24
|
-
<button type="button" class="btn btn-default" data-dismiss="modal"><%= t('geoblacklight.
|
|
26
|
+
<button type="button" class="btn btn-default hide-without-js" data-dismiss="modal"><%= t('geoblacklight.references.services_close')%></button>
|
|
25
27
|
</div>
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
<li class="list-group-item relations-ancestors">
|
|
2
|
-
<b><%= t('geoblacklight.relations.ancestor') %></b>
|
|
3
|
-
</li>
|
|
4
1
|
<% @relations.ancestors['docs'].each do |ancestor| %>
|
|
5
|
-
<li class="list-group-item">
|
|
6
|
-
<%= link_to solr_document_path(ancestor[
|
|
2
|
+
<li class="list-group-item border-bottom-0">
|
|
3
|
+
<%= link_to solr_document_path(ancestor[Settings.FIELDS.UNIQUE_KEY]) do %>
|
|
7
4
|
<%= relations_icon(ancestor, 'pagelines-brands') %>
|
|
8
|
-
<%= ancestor[
|
|
5
|
+
<%= ancestor[Settings.FIELDS.TITLE] %>
|
|
9
6
|
<% end %>
|
|
10
7
|
</li>
|
|
11
8
|
<% end %>
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
<li class="list-group-item relations-descendants">
|
|
2
|
-
<b><%= t('geoblacklight.relations.descendant', count: @relations.descendants['numFound']) %></b>
|
|
3
|
-
</li>
|
|
4
1
|
<% @relations.descendants['docs'][0..2].each do |descendant| %>
|
|
5
|
-
<li class="list-group-item">
|
|
6
|
-
<%= link_to solr_document_path(descendant[
|
|
2
|
+
<li class="list-group-item border-bottom-0">
|
|
3
|
+
<%= link_to solr_document_path(descendant[Settings.FIELDS.UNIQUE_KEY]) do %>
|
|
7
4
|
<%= relations_icon(descendant, 'leaf') %>
|
|
8
|
-
<%= descendant[
|
|
5
|
+
<%= descendant[Settings.FIELDS.TITLE] %>
|
|
9
6
|
<% end %>
|
|
10
7
|
</li>
|
|
11
8
|
<% end %>
|
|
12
9
|
<% unless (@relations.descendants['numFound'].to_i <= 3) %>
|
|
13
|
-
<li class="list-group-item">
|
|
10
|
+
<li class="list-group-item border-bottom-0">
|
|
14
11
|
<%= link_to search_catalog_path({f: {"#{Settings.FIELDS.SOURCE}" => [@relations.link_id]}}) do %>
|
|
15
12
|
<%= t('geoblacklight.relations.browse_all', count: @relations.descendants['numFound']) %>
|
|
16
13
|
<% end %>
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
<% unless @relations.empty? %>
|
|
2
|
-
|
|
3
|
-
<div class="card
|
|
4
|
-
|
|
2
|
+
<% unless @relations.ancestors['numFound'].to_i.zero? %>
|
|
3
|
+
<div class="card relations">
|
|
4
|
+
<div class="card-header">
|
|
5
|
+
<h2 class="mb-0 h6"><%= t('geoblacklight.relations.ancestor') %></h2>
|
|
6
|
+
</div>
|
|
7
|
+
|
|
8
|
+
<ul class="list-group list-group-flush">
|
|
9
|
+
<%= render 'ancestors' %>
|
|
10
|
+
</ul>
|
|
5
11
|
</div>
|
|
12
|
+
<% end %>
|
|
6
13
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
<% unless @relations.descendants['numFound'].to_i.zero? %>
|
|
15
|
+
<div class="card relations">
|
|
16
|
+
<div class="card-header">
|
|
17
|
+
<h2 class="mb-0 h6"><%= t('geoblacklight.relations.descendant') %></h2>
|
|
18
|
+
</div>
|
|
11
19
|
|
|
12
|
-
|
|
20
|
+
<ul class="list-group list-group-flush">
|
|
21
|
+
<%= render 'descendants' %>
|
|
22
|
+
</ul>
|
|
23
|
+
</div>
|
|
24
|
+
<% end %>
|
|
13
25
|
<% end %>
|
data/babel.config.json
ADDED
data/bin/coverage.rb
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Borrowed from https://github.com/pulibrary/figgy/blob/master/scripts/combine_coverage.rb
|
|
3
|
+
require 'active_support/inflector'
|
|
4
|
+
require 'simplecov'
|
|
5
|
+
|
|
6
|
+
class SimpleCovHelper
|
|
7
|
+
def self.report_coverage(base_dir: './coverage_results')
|
|
8
|
+
min_cov = ENV['MINIMUM_COVERAGE'] || 100
|
|
9
|
+
SimpleCov.configure do
|
|
10
|
+
minimum_coverage(min_cov.to_i)
|
|
11
|
+
end
|
|
12
|
+
new(base_dir: base_dir).merge_results
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
attr_reader :base_dir
|
|
16
|
+
|
|
17
|
+
def initialize(base_dir:)
|
|
18
|
+
@base_dir = base_dir
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def all_results
|
|
22
|
+
Dir["#{base_dir}/.resultset*.json"]
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def merge_results
|
|
26
|
+
results = all_results.map { |file| SimpleCov::Result.from_hash(JSON.parse(File.read(file))) }
|
|
27
|
+
results = SimpleCov::ResultMerger.merge_results(*results)
|
|
28
|
+
results.format!
|
|
29
|
+
covered_percent = results.covered_percent.round(2)
|
|
30
|
+
return unless covered_percent < SimpleCov.minimum_coverage
|
|
31
|
+
$stderr.printf("Coverage (%.2f%%) is below the expected minimum coverage (%.2f%%).\n", covered_percent, SimpleCov.minimum_coverage)
|
|
32
|
+
Kernel.exit SimpleCov::ExitCodes::MINIMUM_COVERAGE
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
SimpleCovHelper.report_coverage
|