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,56 +1,44 @@
|
|
|
1
|
-
[data-map="index"] {
|
|
1
|
+
[data-map="index"], [data-map="bookmarks"] {
|
|
2
2
|
height: 480px;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
.more-info-area {
|
|
6
6
|
max-height: 100px;
|
|
7
7
|
overflow:hidden;
|
|
8
|
+
padding-left: 2ch;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
|
-
.
|
|
11
|
-
@extend
|
|
12
|
-
|
|
13
|
-
justify-content: space-between;
|
|
14
|
-
font-size:1rem;
|
|
15
|
-
width:80%;
|
|
11
|
+
.documents-list {
|
|
12
|
+
@extend .mb-4;
|
|
13
|
+
}
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
.index-split {
|
|
16
|
+
.index_title {
|
|
17
|
+
display: flex;
|
|
18
|
+
font-size: 1rem;
|
|
19
|
+
padding-right: 0;
|
|
22
20
|
}
|
|
23
21
|
|
|
24
22
|
.document-counter {
|
|
25
23
|
@extend .pr-1;
|
|
26
24
|
}
|
|
27
25
|
|
|
28
|
-
a {
|
|
29
|
-
white-space: nowrap;
|
|
30
|
-
overflow-x: hidden;
|
|
31
|
-
min-width: 0;
|
|
32
|
-
text-overflow: ellipsis;
|
|
33
|
-
position: relative;
|
|
34
|
-
z-index: 2; // get the link above the toggle
|
|
35
|
-
}
|
|
36
|
-
|
|
37
26
|
.caret-toggle {
|
|
38
|
-
@
|
|
39
|
-
|
|
40
|
-
width:
|
|
27
|
+
@include caret('right');
|
|
28
|
+
padding-left: 0;
|
|
29
|
+
width: 28px;
|
|
41
30
|
|
|
42
31
|
&[aria-expanded="true"] {
|
|
43
|
-
@
|
|
32
|
+
@include caret('down');
|
|
44
33
|
}
|
|
45
34
|
}
|
|
46
35
|
|
|
47
|
-
.document-counter {
|
|
48
|
-
flex-grow: 0;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
36
|
.status-icons {
|
|
37
|
+
cursor: pointer;
|
|
52
38
|
margin-left: 0.5rem;
|
|
39
|
+
margin-top: -3px;
|
|
53
40
|
white-space: nowrap;
|
|
41
|
+
z-index: 2; // get the icons above the toggle
|
|
54
42
|
}
|
|
55
43
|
}
|
|
56
44
|
|
|
@@ -1,59 +1,29 @@
|
|
|
1
1
|
// Mixins and shared properties for sidebar elements
|
|
2
|
-
|
|
3
2
|
@mixin sidebar-children {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
%list-group-item-anchors {
|
|
9
|
-
text-align: center;
|
|
10
|
-
width: 1.4em;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
margin-top: 16px;
|
|
14
|
-
margin-bottom: 16px;
|
|
3
|
+
margin-bottom: 20px;
|
|
4
|
+
margin-top: 20px;
|
|
15
5
|
|
|
16
|
-
.card-header {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
padding-top: 8px;
|
|
20
|
-
padding-bottom: 8px;
|
|
21
|
-
margin-bottom: 0px;
|
|
22
|
-
font-size: 1rem;
|
|
23
|
-
}
|
|
6
|
+
.card-header h2 {
|
|
7
|
+
@extend .h6;
|
|
8
|
+
margin-bottom: 0px;
|
|
24
9
|
}
|
|
25
10
|
|
|
26
11
|
.card-subtitle {
|
|
27
|
-
margin: 1rem 0
|
|
28
|
-
font-size:
|
|
12
|
+
margin: 1rem 0 0;
|
|
13
|
+
font-size: 1rem;
|
|
29
14
|
font-weight: normal;
|
|
30
|
-
color: $gray-600;
|
|
31
15
|
}
|
|
32
16
|
|
|
33
17
|
.list-group {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
padding-left: 4px;
|
|
37
|
-
padding-right: 4px;
|
|
18
|
+
border: 0;
|
|
19
|
+
margin: 8px 0;
|
|
38
20
|
|
|
39
21
|
.list-group-item {
|
|
40
|
-
border
|
|
41
|
-
padding:
|
|
22
|
+
border: 0;
|
|
23
|
+
padding: 0 0 0 20px;
|
|
42
24
|
|
|
43
25
|
a {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
.geoblacklight {
|
|
47
|
-
color: $gray-600;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
&-nested {
|
|
53
|
-
padding: 0;
|
|
54
|
-
|
|
55
|
-
.list-group-item {
|
|
56
|
-
padding: 8px 0;
|
|
26
|
+
display: block;
|
|
57
27
|
}
|
|
58
28
|
}
|
|
59
29
|
}
|
|
@@ -1,70 +1,28 @@
|
|
|
1
1
|
.show-tools {
|
|
2
2
|
@include sidebar-children;
|
|
3
3
|
|
|
4
|
-
.list-group {
|
|
5
|
-
|
|
6
|
-
.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
.list-group-item {
|
|
11
|
-
|
|
12
|
-
form {
|
|
13
|
-
@extend %list-group-item-children;
|
|
14
|
-
|
|
15
|
-
.checkbox {
|
|
16
|
-
margin-left: 4px;
|
|
17
|
-
margin-right: 4px;
|
|
18
|
-
|
|
19
|
-
label {
|
|
20
|
-
margin-bottom: inherit;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
4
|
+
.list-group .list-group-item {
|
|
5
|
+
// Adjustments to give Bookmark same spacing as other Tools links
|
|
6
|
+
.checkbox {
|
|
7
|
+
label {
|
|
8
|
+
margin-bottom: 0;
|
|
23
9
|
}
|
|
24
10
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
&-citation {
|
|
30
|
-
@extend %list-group-item-anchors;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
&-data-dictionary {
|
|
34
|
-
@extend %list-group-item-anchors;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
&-sms {
|
|
38
|
-
@extend %list-group-item-anchors;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
&-email {
|
|
42
|
-
@extend %list-group-item-anchors;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
&-web_services {
|
|
46
|
-
@extend %list-group-item-anchors;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
&-metadata {
|
|
50
|
-
@extend %list-group-item-anchors;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
&-carto {
|
|
54
|
-
@extend %list-group-item-anchors;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// DEPRECATED: Will be removed in GeoBlacklight v2.0
|
|
58
|
-
&-cartodb {
|
|
59
|
-
@extend %list-group-item-anchors;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
11
|
+
.toggle-bookmark {
|
|
12
|
+
margin-right: 4px;
|
|
13
|
+
padding-bottom: 8px;
|
|
14
|
+
padding-top: 8px;
|
|
62
15
|
}
|
|
63
16
|
}
|
|
64
17
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
18
|
+
// Spacing for Tools links other than Bookmark
|
|
19
|
+
a {
|
|
20
|
+
padding: 8px 1rem 8px 0;
|
|
68
21
|
}
|
|
69
22
|
}
|
|
23
|
+
|
|
24
|
+
// Spacing between Tools icons and their labels
|
|
25
|
+
.blacklight-icons {
|
|
26
|
+
padding-right: 2px;
|
|
27
|
+
}
|
|
70
28
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
class DownloadController < ApplicationController
|
|
2
3
|
# include Blacklight::SearchHelper
|
|
3
4
|
include Blacklight::Catalog
|
|
@@ -5,8 +6,7 @@ class DownloadController < ApplicationController
|
|
|
5
6
|
rescue_from Geoblacklight::Exceptions::ExternalDownloadFailed do |exception|
|
|
6
7
|
Geoblacklight.logger.error exception.message + ' ' + exception.url
|
|
7
8
|
flash[:danger] = view_context
|
|
8
|
-
.
|
|
9
|
-
flash_error_message(exception),
|
|
9
|
+
.tag.span(flash_error_message(exception),
|
|
10
10
|
data: {
|
|
11
11
|
download: 'error',
|
|
12
12
|
download_id: params[:id],
|
|
@@ -62,16 +62,16 @@ class DownloadController < ApplicationController
|
|
|
62
62
|
# exception
|
|
63
63
|
# @return [String] error message to display in flash
|
|
64
64
|
def flash_error_message(exception)
|
|
65
|
-
if exception.url.present?
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
65
|
+
message = if exception.url.present?
|
|
66
|
+
t('geoblacklight.download.error_with_url',
|
|
67
|
+
link: view_context
|
|
68
|
+
.link_to(exception.url,
|
|
69
|
+
exception.url,
|
|
70
|
+
target: 'blank'))
|
|
71
|
+
.html_safe
|
|
72
|
+
else
|
|
73
|
+
t('geoblacklight.download.error')
|
|
74
|
+
end
|
|
75
75
|
message
|
|
76
76
|
end
|
|
77
77
|
|
data/app/helpers/carto_helper.rb
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module GeoblacklightHelper
|
|
2
|
-
extend Deprecation
|
|
3
|
-
|
|
4
3
|
def document_available?
|
|
5
4
|
@document.public? || (@document.same_institution? && user_signed_in?)
|
|
6
5
|
end
|
|
@@ -13,6 +12,20 @@ module GeoblacklightHelper
|
|
|
13
12
|
@document.references.iiif.endpoint.sub! 'info.json', 'full/full/0/default.jpg'
|
|
14
13
|
end
|
|
15
14
|
|
|
15
|
+
def download_link_file(label, id, url)
|
|
16
|
+
link_to(
|
|
17
|
+
label,
|
|
18
|
+
url,
|
|
19
|
+
'contentUrl' => url,
|
|
20
|
+
class: ['btn', 'btn-default', 'download', 'download-original'],
|
|
21
|
+
data: {
|
|
22
|
+
download: 'trigger',
|
|
23
|
+
download_type: 'direct',
|
|
24
|
+
download_id: id
|
|
25
|
+
}
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
16
29
|
def download_link_direct(text, document)
|
|
17
30
|
link_to(
|
|
18
31
|
text,
|
|
@@ -26,6 +39,7 @@ module GeoblacklightHelper
|
|
|
26
39
|
}
|
|
27
40
|
)
|
|
28
41
|
end
|
|
42
|
+
deprecation_deprecate download_link_direct: 'Use download_link_file instead'
|
|
29
43
|
|
|
30
44
|
def download_link_hgl(text, document)
|
|
31
45
|
link_to(
|
|
@@ -95,43 +109,6 @@ module GeoblacklightHelper
|
|
|
95
109
|
end
|
|
96
110
|
end
|
|
97
111
|
|
|
98
|
-
##
|
|
99
|
-
# Render an empty span
|
|
100
|
-
# @return [HTML tag]
|
|
101
|
-
def render_empty_span(classname)
|
|
102
|
-
tag.span class: classname
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
##
|
|
106
|
-
# Capture SVG icon aria labels to describe
|
|
107
|
-
def queue_icon_aria_label(feature_name)
|
|
108
|
-
@aria_labels ||= Set.new
|
|
109
|
-
@aria_labels << feature_name
|
|
110
|
-
end
|
|
111
|
-
deprecation_deprecate :queue_icon_aria_label
|
|
112
|
-
|
|
113
|
-
##
|
|
114
|
-
# Render a div of divs describing aria-labelledby values
|
|
115
|
-
# @return [HTML tag]
|
|
116
|
-
def render_aria_labels(aria_labels)
|
|
117
|
-
return unless aria_labels.present?
|
|
118
|
-
content_tag :div, id: 'aria-labels', class: 'sr-only sr-only-focusable' do
|
|
119
|
-
aria_labels.each do |label|
|
|
120
|
-
concat(render_aria_label(label))
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
end
|
|
124
|
-
deprecation_deprecate :render_aria_labels
|
|
125
|
-
|
|
126
|
-
# Render a div describing a aria-labelledby value
|
|
127
|
-
# @return [HTML tag]
|
|
128
|
-
def render_aria_label(label)
|
|
129
|
-
content_tag :div, id: "aria-label-#{label}" do
|
|
130
|
-
I18n.t("geoblacklight.aria-labels.#{label}")
|
|
131
|
-
end
|
|
132
|
-
end
|
|
133
|
-
deprecation_deprecate :render_aria_label
|
|
134
|
-
|
|
135
112
|
##
|
|
136
113
|
# Renders an unique array of search links based off of terms
|
|
137
114
|
# passed in using the facet parameter
|
|
@@ -195,8 +172,8 @@ module GeoblacklightHelper
|
|
|
195
172
|
def render_help_text_entry(feature, key)
|
|
196
173
|
if I18n.exists?("geoblacklight.help_text.#{feature}.#{key}", locale)
|
|
197
174
|
help_text = I18n.t("geoblacklight.help_text.#{feature}.#{key}")
|
|
198
|
-
|
|
199
|
-
|
|
175
|
+
tag.h3 class: 'help-text viewer_protocol h6' do
|
|
176
|
+
tag.a data: { toggle: 'popover', title: help_text[:title], content: help_text[:content] } do
|
|
200
177
|
help_text[:title]
|
|
201
178
|
end
|
|
202
179
|
end
|
|
@@ -218,7 +195,7 @@ module GeoblacklightHelper
|
|
|
218
195
|
# get_field_values method
|
|
219
196
|
# @param [Hash] args from get_field_values
|
|
220
197
|
def render_value_as_truncate_abstract(args)
|
|
221
|
-
|
|
198
|
+
tag.div class: 'truncate-abstract' do
|
|
222
199
|
Array(args[:value]).flatten.join(' ')
|
|
223
200
|
end
|
|
224
201
|
end
|
|
@@ -230,33 +207,6 @@ module GeoblacklightHelper
|
|
|
230
207
|
blacklight_config.basemap_provider || 'positron'
|
|
231
208
|
end
|
|
232
209
|
|
|
233
|
-
def display_carto
|
|
234
|
-
return link_to(
|
|
235
|
-
content_tag(:span, '', class: 'geoblacklight geoblacklight-carto') +
|
|
236
|
-
t('geoblacklight.tools.open_carto'),
|
|
237
|
-
carto_link(@document.carto_reference),
|
|
238
|
-
target: '_blank'
|
|
239
|
-
) if @document.carto_reference.present? && !Settings.CARTO_HIDE
|
|
240
|
-
end
|
|
241
|
-
|
|
242
|
-
def display_arcgis
|
|
243
|
-
return link_to(
|
|
244
|
-
blacklight_icon('esri-globe') + ' ' +
|
|
245
|
-
t('geoblacklight.tools.open_arcgis'),
|
|
246
|
-
arcgis_link(@document.arcgis_urls)
|
|
247
|
-
) if @document.arcgis_urls.present? && !Settings.ARCGIS_HIDE
|
|
248
|
-
end
|
|
249
|
-
|
|
250
|
-
##
|
|
251
|
-
# Creates a Carto OneClick link link, using the configuration link
|
|
252
|
-
# @param [String] file_link
|
|
253
|
-
# @return [String]
|
|
254
|
-
# @deprecated Use {#carto_link} instead.
|
|
255
|
-
def cartodb_link(file_link)
|
|
256
|
-
carto_link(file_link)
|
|
257
|
-
end
|
|
258
|
-
deprecation_deprecate carto_link: 'use GeoblacklightHelper#carto_link instead'
|
|
259
|
-
|
|
260
210
|
##
|
|
261
211
|
# Renders the partials for a Geoblacklight::Reference in the web services
|
|
262
212
|
# modal
|
|
@@ -285,7 +235,7 @@ module GeoblacklightHelper
|
|
|
285
235
|
def render_facet_item_with_icon(field_name, item)
|
|
286
236
|
doc = Nokogiri::HTML.fragment(render_facet_item(field_name, item))
|
|
287
237
|
doc.at_css('.facet-label').children.first
|
|
288
|
-
.add_previous_sibling(geoblacklight_icon(item.value, aria_hidden: true))
|
|
238
|
+
.add_previous_sibling(geoblacklight_icon(item.value, aria_hidden: true, classes: 'svg_tooltip'))
|
|
289
239
|
doc.to_html.html_safe
|
|
290
240
|
end
|
|
291
241
|
|
|
@@ -317,16 +267,31 @@ module GeoblacklightHelper
|
|
|
317
267
|
# Renders a reference url for a document
|
|
318
268
|
# @param [Hash] document, field_name
|
|
319
269
|
def render_references_url(args)
|
|
270
|
+
return unless args[:document]&.references&.url
|
|
320
271
|
link_to(
|
|
321
272
|
args[:document].references.url.endpoint,
|
|
322
273
|
args[:document].references.url.endpoint
|
|
323
|
-
)
|
|
274
|
+
)
|
|
324
275
|
end
|
|
325
276
|
|
|
326
277
|
## Returns the icon used based off a Settings strategy
|
|
327
278
|
def relations_icon(document, icon)
|
|
328
279
|
icon_name = document[Settings.FIELDS.GEOM_TYPE] if Settings.USE_GEOM_FOR_RELATIONS_ICON
|
|
329
280
|
icon_name = icon if icon_name.blank?
|
|
330
|
-
|
|
281
|
+
icon_options = {}
|
|
282
|
+
icon_options = { classes: 'svg_tooltip' } if Settings.USE_GEOM_FOR_RELATIONS_ICON
|
|
283
|
+
geoblacklight_icon(icon_name, icon_options)
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
## Returns the data-map attribute value used as the JS map selector
|
|
287
|
+
def results_js_map_selector(controller_name)
|
|
288
|
+
case controller_name
|
|
289
|
+
when 'bookmarks'
|
|
290
|
+
'bookmarks'
|
|
291
|
+
when 'catalog'
|
|
292
|
+
'index'
|
|
293
|
+
else
|
|
294
|
+
'index'
|
|
295
|
+
end
|
|
331
296
|
end
|
|
332
297
|
end
|