geoblacklight 2.2.0 → 3.0.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.
Files changed (277) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +212 -112
  3. data/.rubocop.yml +16 -14
  4. data/.rubocop_todo.yml +28 -151
  5. data/Gemfile +3 -8
  6. data/README.md +1 -1
  7. data/Rakefile +1 -0
  8. data/app/assets/images/blacklight/arrow-circle-down.svg +1 -2
  9. data/app/assets/images/blacklight/baruch-cuny.svg +1 -4
  10. data/app/assets/images/blacklight/berkeley.svg +1 -4
  11. data/app/assets/images/blacklight/book.svg +1 -4
  12. data/app/assets/images/blacklight/bookmark.svg +1 -4
  13. data/app/assets/images/blacklight/cd-rom.svg +1 -4
  14. data/app/assets/images/blacklight/chicago.svg +1 -4
  15. data/app/assets/images/blacklight/citation.svg +3 -0
  16. data/app/assets/images/blacklight/collection.svg +3 -0
  17. data/app/assets/images/blacklight/columbia.svg +1 -4
  18. data/app/assets/images/blacklight/cornell.svg +1 -4
  19. data/app/assets/images/blacklight/dvd-rom.svg +1 -4
  20. data/app/assets/images/blacklight/email.svg +1 -4
  21. data/app/assets/images/blacklight/esri-globe.svg +1 -4
  22. data/app/assets/images/blacklight/globe.svg +1 -2
  23. data/app/assets/images/blacklight/harvard.svg +1 -4
  24. data/app/assets/images/blacklight/home.svg +1 -2
  25. data/app/assets/images/blacklight/illinois.svg +1 -4
  26. data/app/assets/images/blacklight/image.svg +1 -4
  27. data/app/assets/images/blacklight/indiana.svg +1 -4
  28. data/app/assets/images/blacklight/iowa.svg +1 -4
  29. data/app/assets/images/blacklight/leaf.svg +1 -4
  30. data/app/assets/images/blacklight/lewis-clark.svg +1 -4
  31. data/app/assets/images/blacklight/line.svg +1 -4
  32. data/app/assets/images/blacklight/map-marker.svg +1 -4
  33. data/app/assets/images/blacklight/map.svg +1 -4
  34. data/app/assets/images/blacklight/maryland.svg +1 -4
  35. data/app/assets/images/blacklight/massgis.svg +1 -4
  36. data/app/assets/images/blacklight/metadata.svg +1 -4
  37. data/app/assets/images/blacklight/michigan-state.svg +1 -4
  38. data/app/assets/images/blacklight/michigan.svg +1 -4
  39. data/app/assets/images/blacklight/minnesota.svg +1 -4
  40. data/app/assets/images/blacklight/mit.svg +1 -4
  41. data/app/assets/images/blacklight/mixed.svg +1 -4
  42. data/app/assets/images/blacklight/multilinestring.svg +1 -4
  43. data/app/assets/images/blacklight/multipoint.svg +1 -4
  44. data/app/assets/images/blacklight/multipolygon.svg +1 -4
  45. data/app/assets/images/blacklight/nyu.svg +1 -4
  46. data/app/assets/images/blacklight/ohio-state.svg +1 -4
  47. data/app/assets/images/blacklight/pagelines-brands.svg +1 -4
  48. data/app/assets/images/blacklight/paper-map.svg +1 -4
  49. data/app/assets/images/blacklight/penn-state.svg +1 -4
  50. data/app/assets/images/blacklight/point.svg +1 -4
  51. data/app/assets/images/blacklight/polygon.svg +1 -4
  52. data/app/assets/images/blacklight/polyline.svg +1 -4
  53. data/app/assets/images/blacklight/princeton.svg +1 -4
  54. data/app/assets/images/blacklight/public.svg +1 -4
  55. data/app/assets/images/blacklight/purdue.svg +1 -4
  56. data/app/assets/images/blacklight/raster.svg +1 -4
  57. data/app/assets/images/blacklight/restricted.svg +1 -4
  58. data/app/assets/images/blacklight/sms.svg +1 -4
  59. data/app/assets/images/blacklight/stanford.svg +1 -4
  60. data/app/assets/images/blacklight/table.svg +1 -4
  61. data/app/assets/images/blacklight/tags.svg +1 -2
  62. data/app/assets/images/blacklight/texas.svg +1 -4
  63. data/app/assets/images/blacklight/tufts.svg +1 -4
  64. data/app/assets/images/blacklight/ucla.svg +1 -4
  65. data/app/assets/images/blacklight/uva.svg +1 -4
  66. data/app/assets/images/blacklight/web_services.svg +1 -4
  67. data/app/assets/images/blacklight/wisconsin.svg +1 -4
  68. data/app/assets/javascripts/geoblacklight/basemaps.js +18 -0
  69. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +1 -1
  70. data/app/assets/javascripts/geoblacklight/modules/geosearch.js +1 -1
  71. data/app/assets/javascripts/geoblacklight/modules/home.js +1 -1
  72. data/app/assets/javascripts/geoblacklight/modules/item.js +20 -1
  73. data/app/assets/javascripts/geoblacklight/modules/results.js +4 -2
  74. data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +31 -0
  75. data/app/assets/javascripts/geoblacklight/viewers/esri.js +2 -2
  76. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +1 -1
  77. data/app/assets/javascripts/geoblacklight/viewers/wms.js +2 -2
  78. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +2 -0
  79. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +33 -0
  80. data/app/assets/stylesheets/geoblacklight/{_blacklight_overrides.scss → modules/_blacklight_overrides.scss} +1 -10
  81. data/app/assets/stylesheets/geoblacklight/{_styles.scss → modules/_styles.scss} +1 -0
  82. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +37 -54
  83. data/app/assets/stylesheets/geoblacklight/modules/item.scss +13 -0
  84. data/app/assets/stylesheets/geoblacklight/modules/results.scss +26 -29
  85. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +12 -42
  86. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +17 -59
  87. data/app/controllers/download_controller.rb +12 -12
  88. data/app/controllers/relation_controller.rb +1 -0
  89. data/app/controllers/wms_controller.rb +1 -0
  90. data/app/helpers/arcgis_helper.rb +1 -0
  91. data/app/helpers/blacklight_helper.rb +1 -0
  92. data/app/helpers/carto_helper.rb +1 -0
  93. data/app/helpers/geoblacklight_helper.rb +36 -79
  94. data/app/models/concerns/geoblacklight/solr_document.rb +15 -9
  95. data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +2 -1
  96. data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -13
  97. data/app/models/concerns/geoblacklight/solr_document/citation.rb +29 -0
  98. data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
  99. data/app/models/concerns/geoblacklight/solr_document/inspection.rb +2 -1
  100. data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +3 -1
  101. data/app/presenters/geoblacklight/document_presenter.rb +2 -1
  102. data/app/views/catalog/_arcgis.html.erb +4 -0
  103. data/app/views/catalog/_carto.html.erb +4 -0
  104. data/app/views/catalog/_citation.html.erb +11 -0
  105. data/app/views/catalog/_data_dictionary.html.erb +1 -1
  106. data/app/views/catalog/_document_action.html.erb +1 -1
  107. data/app/views/catalog/_document_split.html.erb +1 -1
  108. data/app/views/catalog/_downloads_primary.html.erb +8 -1
  109. data/app/views/catalog/_header_icons.html.erb +3 -3
  110. data/app/views/catalog/_home_text.html.erb +4 -1
  111. data/app/views/catalog/_index_split_default.html.erb +22 -14
  112. data/app/views/catalog/_show_default_viewer_container.html.erb +1 -1
  113. data/app/views/catalog/_web_services_wfs.html.erb +3 -3
  114. data/app/views/catalog/_web_services_wms.html.erb +3 -3
  115. data/app/views/catalog/metadata.html.erb +3 -1
  116. data/app/views/catalog/web_services.html.erb +9 -7
  117. data/app/views/relation/_ancestors.html.erb +2 -5
  118. data/app/views/relation/_descendants.html.erb +3 -6
  119. data/app/views/relation/index.html.erb +20 -8
  120. data/app/views/relation/index.json.jbuilder +2 -1
  121. data/app/views/shared/_header_navbar.html.erb +1 -3
  122. data/bin/coverage.rb +36 -0
  123. data/config/initializers/rails_config.rb +1 -0
  124. data/config/locales/geoblacklight.en.yml +46 -61
  125. data/geoblacklight.gemspec +5 -8
  126. data/lib/generators/geoblacklight/assets_generator.rb +46 -0
  127. data/lib/generators/geoblacklight/install_generator.rb +8 -9
  128. data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +1 -0
  129. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +28 -0
  130. data/{app/assets/stylesheets/geoblacklight/application.scss → lib/generators/geoblacklight/templates/assets/_geoblacklight.scss} +0 -1
  131. data/lib/generators/geoblacklight/templates/assets/application.scss +7 -0
  132. data/lib/generators/geoblacklight/templates/{geoblacklight.js → assets/geoblacklight.js} +0 -1
  133. data/lib/generators/geoblacklight/templates/catalog_controller.rb +6 -2
  134. data/lib/generators/geoblacklight/templates/settings.yml +4 -6
  135. data/lib/generators/geoblacklight/webpacker_generator.rb +2 -1
  136. data/lib/geoblacklight.rb +1 -0
  137. data/lib/geoblacklight/bounding_box.rb +1 -0
  138. data/lib/geoblacklight/catalog_helper_override.rb +2 -1
  139. data/lib/geoblacklight/constants.rb +1 -0
  140. data/lib/geoblacklight/download.rb +6 -5
  141. data/lib/geoblacklight/download/geojson_download.rb +1 -0
  142. data/lib/geoblacklight/download/geotiff_download.rb +1 -0
  143. data/lib/geoblacklight/download/hgl_download.rb +1 -0
  144. data/lib/geoblacklight/download/kmz_download.rb +2 -1
  145. data/lib/geoblacklight/download/shapefile_download.rb +1 -0
  146. data/lib/geoblacklight/engine.rb +2 -2
  147. data/lib/geoblacklight/exceptions.rb +1 -0
  148. data/lib/geoblacklight/geoblacklight_helper_behavior.rb +1 -0
  149. data/lib/geoblacklight/item_viewer.rb +1 -0
  150. data/lib/geoblacklight/metadata.rb +1 -0
  151. data/lib/geoblacklight/metadata/base.rb +3 -2
  152. data/lib/geoblacklight/metadata/fgdc.rb +1 -0
  153. data/lib/geoblacklight/metadata/html.rb +2 -2
  154. data/lib/geoblacklight/metadata/iso19139.rb +1 -0
  155. data/lib/geoblacklight/metadata_transformer.rb +1 -0
  156. data/lib/geoblacklight/metadata_transformer/base.rb +1 -0
  157. data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
  158. data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
  159. data/lib/geoblacklight/reference.rb +1 -0
  160. data/lib/geoblacklight/references.rb +7 -3
  161. data/lib/geoblacklight/relation/ancestors.rb +2 -1
  162. data/lib/geoblacklight/relation/descendants.rb +2 -1
  163. data/lib/geoblacklight/relation/relation_response.rb +2 -1
  164. data/lib/geoblacklight/routes.rb +1 -0
  165. data/lib/geoblacklight/routes/downloadable.rb +1 -0
  166. data/lib/geoblacklight/routes/exportable.rb +1 -0
  167. data/lib/geoblacklight/routes/wms.rb +1 -0
  168. data/lib/geoblacklight/version.rb +2 -1
  169. data/lib/geoblacklight/view_helper_override.rb +2 -1
  170. data/lib/geoblacklight/wms_layer.rb +3 -2
  171. data/lib/geoblacklight/wms_layer/feature_info_response.rb +1 -0
  172. data/lib/tasks/geoblacklight.rake +33 -32
  173. data/solr/conf/schema.xml +5 -5
  174. data/spec/controllers/catalog_controller_spec.rb +1 -0
  175. data/spec/controllers/download_controller_spec.rb +2 -1
  176. data/spec/controllers/relation_controller_spec.rb +1 -0
  177. data/spec/controllers/wms_controller_spec.rb +2 -1
  178. data/spec/factories/user.rb +1 -0
  179. data/spec/features/bookmarks_spec.rb +1 -0
  180. data/spec/features/configurable_basemap_spec.rb +10 -0
  181. data/spec/features/data_dictionary_download_spec.rb +1 -0
  182. data/spec/features/download_layer_spec.rb +1 -0
  183. data/spec/features/empty_search_spec.rb +1 -0
  184. data/spec/features/esri_viewer_spec.rb +1 -6
  185. data/spec/features/exports_spec.rb +4 -12
  186. data/spec/features/help_text_spec.rb +1 -0
  187. data/spec/features/home_page_spec.rb +6 -0
  188. data/spec/features/iiif_viewer_spec.rb +1 -0
  189. data/spec/features/index_map_spec.rb +1 -0
  190. data/spec/features/layer_inspection_spec.rb +1 -0
  191. data/spec/features/layer_opacity_spec.rb +1 -0
  192. data/spec/features/layer_preview_spec.rb +1 -0
  193. data/spec/features/layer_with_no_references_spec.rb +1 -0
  194. data/spec/features/linkified_attribute_table_spec.rb +1 -0
  195. data/spec/features/metadata_panel_spec.rb +1 -0
  196. data/spec/features/missing_metadata_spec.rb +13 -0
  197. data/spec/features/multiple_downloads_spec.rb +15 -0
  198. data/spec/features/oembed_spec.rb +1 -0
  199. data/spec/features/relations_spec.rb +10 -28
  200. data/spec/features/saved_searches_spec.rb +1 -0
  201. data/spec/features/search_bar_spec.rb +1 -0
  202. data/spec/features/search_results_map_spec.rb +1 -6
  203. data/spec/features/search_results_overlap_ratio_spec.rb +4 -3
  204. data/spec/features/search_spec.rb +1 -0
  205. data/spec/features/show_page_metadata_spec.rb +1 -0
  206. data/spec/features/sms_spec.rb +1 -0
  207. data/spec/features/split_view.html.erb_spec.rb +4 -3
  208. data/spec/features/suppressed_records_spec.rb +1 -0
  209. data/spec/features/web_services_modal_spec.rb +1 -0
  210. data/spec/fixtures/solr_documents/metadata_no_dct_provenance_s.json +30 -0
  211. data/spec/fixtures/solr_documents/metadata_no_layer_geom_type_s.json +17 -0
  212. data/spec/fixtures/solr_documents/metadata_no_solr_geom.json +23 -0
  213. data/spec/fixtures/solr_documents/multiple-downloads.json +30 -0
  214. data/spec/helpers/arcgis_helper_spec.rb +1 -0
  215. data/spec/helpers/carto_helper_spec.rb +1 -0
  216. data/spec/helpers/geoblacklight_helper_spec.rb +51 -5
  217. data/spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js +12 -0
  218. data/spec/javascripts/geoblacklight_spec.js +0 -4
  219. data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -0
  220. data/spec/lib/geoblacklight/controller_override_spec.rb +1 -0
  221. data/spec/lib/geoblacklight/document_presenter_spec.rb +3 -2
  222. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -0
  223. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -0
  224. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -0
  225. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +1 -0
  226. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -0
  227. data/spec/lib/geoblacklight/download_spec.rb +4 -3
  228. data/spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb +1 -0
  229. data/spec/lib/geoblacklight/item_viewer_spec.rb +1 -0
  230. data/spec/lib/geoblacklight/metadata/base_spec.rb +4 -3
  231. data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -0
  232. data/spec/lib/geoblacklight/metadata_spec.rb +1 -0
  233. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +3 -2
  234. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +3 -2
  235. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +3 -2
  236. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +4 -3
  237. data/spec/lib/geoblacklight/reference_spec.rb +1 -0
  238. data/spec/lib/geoblacklight/references_spec.rb +2 -3
  239. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +2 -1
  240. data/spec/lib/geoblacklight/relation/descendants_spec.rb +2 -1
  241. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +1 -0
  242. data/spec/lib/geoblacklight/view_helper_override_spec.rb +1 -0
  243. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +5 -4
  244. data/spec/lib/geoblacklight/wms_layer_spec.rb +3 -2
  245. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +1 -20
  246. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +14 -0
  247. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -0
  248. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -0
  249. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +27 -0
  250. data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +15 -2
  251. data/spec/routing/catalog_routing_spec.rb +1 -0
  252. data/spec/spec_helper.rb +12 -9
  253. data/spec/support/backport_test_helpers.rb +1 -0
  254. data/spec/support/features.rb +1 -0
  255. data/spec/support/features/session_helpers.rb +1 -0
  256. data/spec/support/fixtures.rb +8 -0
  257. data/spec/tasks/geoblacklight_spec.rb +19 -0
  258. data/spec/teaspoon_env.rb +1 -0
  259. data/spec/test_app_templates/Gemfile.extra +1 -0
  260. data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -0
  261. data/spec/views/catalog/_document_split.html.erb_spec.rb +1 -0
  262. data/spec/views/catalog/_index_split.html.erb_spec.rb +1 -0
  263. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +1 -0
  264. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +1 -0
  265. data/spec/views/catalog/_show_tools.html.erb_spec.rb +2 -4
  266. data/template.rb +1 -0
  267. data/vendor/assets/stylesheets/leaflet.css +0 -1
  268. metadata +69 -79
  269. data/app/assets/images/blacklight/logo.png +0 -0
  270. data/app/assets/javascripts/geoblacklight/modules/collapse.js +0 -7
  271. data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +0 -36
  272. data/app/assets/stylesheets/geoblacklight/modules/relations.scss +0 -15
  273. data/app/views/catalog/_exports.html.erb +0 -3
  274. data/app/views/catalog/_show_tools.html.erb +0 -25
  275. data/lib/generators/geoblacklight/templates/geoblacklight.scss +0 -4
  276. data/vendor/assets/javascripts/readmore.js +0 -618
  277. data/vendor/assets/javascripts/readmore.js.map +0 -1
@@ -7,6 +7,7 @@
7
7
 
8
8
  #viewer-container {
9
9
  [data-map="item"] {
10
+ border: 1px solid $gray-400;
10
11
  height: 27.5rem;
11
12
  }
12
13
 
@@ -23,4 +24,16 @@
23
24
  .help-text {
24
25
  cursor: pointer;
25
26
  }
27
+
28
+ .truncate-abstract.collapse:not(.show),
29
+ .truncate-abstract.collapsing {
30
+ display: block;
31
+ display: -webkit-box;
32
+ height: auto;
33
+ min-height: #{8 * $line-height-base}rem;
34
+ max-height: #{8 * $line-height-base}rem;
35
+ overflow-y: hidden;
36
+ -webkit-box-orient: vertical;
37
+ -webkit-line-clamp: 8;
38
+ }
26
39
  }
@@ -3,45 +3,42 @@
3
3
  }
4
4
 
5
5
  .more-info-area {
6
- float: left;
7
- order:3;
8
6
  max-height: 100px;
9
7
  overflow:hidden;
8
+ padding-left: 2ch;
10
9
  }
11
10
 
12
- .text-span{
13
- width:80%;
14
- float:left;
11
+ .documents-list {
12
+ @extend .mb-4;
15
13
  }
16
14
 
17
- .hide-overflow {
18
- white-space: nowrap;
19
- overflow: hidden;
20
- text-overflow: ellipsis;
21
- display:block
22
- }
15
+ .index-split {
16
+ .index_title {
17
+ display: flex;
18
+ font-size: 1rem;
19
+ padding-right: 0;
20
+ }
23
21
 
24
- .status-icons {
25
- order: 2;
26
- margin-left: 0.5rem;
27
- }
22
+ .document-counter {
23
+ @extend .pr-1;
24
+ }
28
25
 
29
- .index_title {
30
- order: 1;
31
- @extend .text-span;
32
- @extend .hide-overflow;
33
- @extend h5;
34
- font-size:1rem;
35
- width:80%;
36
- }
26
+ .caret-toggle {
27
+ @include caret('right');
28
+ padding-left: 0;
29
+ width: 28px;
37
30
 
38
- .caret-toggle {
39
- @extend .fa, .fa-caret-right;
40
- cursor: pointer;
41
- width: 10px;
31
+ &[aria-expanded="true"] {
32
+ @include caret('down');
33
+ }
34
+ }
42
35
 
43
- &.open {
44
- @extend .fa, .fa-caret-down;
36
+ .status-icons {
37
+ cursor: pointer;
38
+ margin-left: 0.5rem;
39
+ margin-top: -3px;
40
+ white-space: nowrap;
41
+ z-index: 2; // get the icons above the toggle
45
42
  }
46
43
  }
47
44
 
@@ -1,59 +1,29 @@
1
1
  // Mixins and shared properties for sidebar elements
2
-
3
2
  @mixin sidebar-children {
4
- %list-group-item-children {
5
- padding: 10px 15px;
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
- h2 {
18
- display: inline-block;
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 .2rem;
28
- font-size: .9rem;
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
- padding-top: 24px;
35
- padding-bottom: 24px;
36
- padding-left: 4px;
37
- padding-right: 4px;
18
+ border: 0;
19
+ margin: 8px 0;
38
20
 
39
21
  .list-group-item {
40
- border-color: $white;
41
- padding: 8px 16px;
22
+ border: 0;
23
+ padding: 0 0 0 20px;
42
24
 
43
25
  a {
44
- @extend %list-group-item-children;
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
- .list-group-item.exports {
7
- margin-top:0px;
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
- a {
26
-
27
- .geoblacklight {
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
- .downloads {
66
- margin-left: 4px;
67
- margin-right: 4px;
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
- .content_tag(:span,
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
- message = 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
- message = t('geoblacklight.download.error')
74
- end
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
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class RelationController < ApplicationController
2
3
  include Blacklight::Configurable
3
4
  # include Blacklight::SearchHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class WmsController < ApplicationController
2
3
  def handle
3
4
  response = Geoblacklight::WmsLayer.new(wms_params).feature_info
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ArcgisHelper
2
3
  ##
3
4
  # Generates an ArcGIS.com viewer url with params that can open content
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module BlacklightHelper
2
3
  include Blacklight::BlacklightHelperBehavior
3
4
  include Geoblacklight::GeoblacklightHelperBehavior
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module CartoHelper
2
3
  ##
3
4
  # Creates a Carto OneClick link, using the configuration link
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module GeoblacklightHelper
2
3
  def document_available?
3
4
  @document.public? || (@document.same_institution? && user_signed_in?)
@@ -11,6 +12,20 @@ module GeoblacklightHelper
11
12
  @document.references.iiif.endpoint.sub! 'info.json', 'full/full/0/default.jpg'
12
13
  end
13
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
+
14
29
  def download_link_direct(text, document)
15
30
  link_to(
16
31
  text,
@@ -24,6 +39,7 @@ module GeoblacklightHelper
24
39
  }
25
40
  )
26
41
  end
42
+ deprecation_deprecate download_link_direct: 'Use download_link_file instead'
27
43
 
28
44
  def download_link_hgl(text, document)
29
45
  link_to(
@@ -84,54 +100,12 @@ module GeoblacklightHelper
84
100
  ##
85
101
  # Returns an SVG icon or empty HTML span element
86
102
  # @return [SVG or HTML tag]
87
- def geoblacklight_icon(name)
103
+ def geoblacklight_icon(name, **args)
88
104
  icon_name = name ? name.to_s.parameterize : 'none'
89
- if asset_exists?(icon_name)
90
- queue_icon_aria_label(icon_name)
91
- blacklight_icon(icon_name)
92
- else
93
- render_empty_span('icon-missing geoblacklight-none')
94
- end
95
- end
96
-
97
- ##
98
- # Checks if an asset file exists
99
- # @return [Boolean]
100
- def asset_exists?(path)
101
- Rails.application.assets.resolve("blacklight/#{path}").present?
102
- end
103
-
104
- ##
105
- # Render an empty span
106
- # @return [HTML tag]
107
- def render_empty_span(classname)
108
- tag.span class: classname
109
- end
110
-
111
- ##
112
- # Capture SVG icon aria labels to describe
113
- def queue_icon_aria_label(feature_name)
114
- @aria_labels ||= Set.new
115
- @aria_labels << feature_name
116
- end
117
-
118
- ##
119
- # Render a div of divs describing aria-labelledby values
120
- # @return [HTML tag]
121
- def render_aria_labels(aria_labels)
122
- return unless aria_labels
123
- content_tag :div, id: 'aria-labels', class: 'sr-only sr-only-focusable' do
124
- aria_labels.each do |label|
125
- concat(render_aria_label(label))
126
- end
127
- end
128
- end
129
-
130
- # Render a div describing a aria-labelledby value
131
- # @return [HTML tag]
132
- def render_aria_label(label)
133
- content_tag :div, id: "aria-label-#{label}" do
134
- I18n.t("geoblacklight.aria-labels.#{label}")
105
+ begin
106
+ blacklight_icon(icon_name, **args)
107
+ rescue Blacklight::Exceptions::IconNotFound
108
+ tag.span class: 'icon-missing geoblacklight-none'
135
109
  end
136
110
  end
137
111
 
@@ -198,8 +172,8 @@ module GeoblacklightHelper
198
172
  def render_help_text_entry(feature, key)
199
173
  if I18n.exists?("geoblacklight.help_text.#{feature}.#{key}", locale)
200
174
  help_text = I18n.t("geoblacklight.help_text.#{feature}.#{key}")
201
- content_tag :h3, class: 'help-text viewer_protocol h6' do
202
- content_tag :a, 'data': { toggle: 'popover', title: help_text[:title], content: help_text[:content] } do
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
203
177
  help_text[:title]
204
178
  end
205
179
  end
@@ -221,7 +195,7 @@ module GeoblacklightHelper
221
195
  # get_field_values method
222
196
  # @param [Hash] args from get_field_values
223
197
  def render_value_as_truncate_abstract(args)
224
- content_tag :div, class: 'truncate-abstract' do
198
+ tag.div class: 'truncate-abstract' do
225
199
  Array(args[:value]).flatten.join(' ')
226
200
  end
227
201
  end
@@ -233,33 +207,6 @@ module GeoblacklightHelper
233
207
  blacklight_config.basemap_provider || 'positron'
234
208
  end
235
209
 
236
- def display_carto
237
- return link_to(
238
- content_tag(:span, '', class: 'geoblacklight geoblacklight-carto') +
239
- t('geoblacklight.tools.open_carto'),
240
- carto_link(@document.carto_reference),
241
- target: '_blank'
242
- ) if @document.carto_reference.present? && !Settings.CARTO_HIDE
243
- end
244
-
245
- def display_arcgis
246
- return link_to(
247
- blacklight_icon('esri-globe') + ' ' +
248
- t('geoblacklight.tools.open_arcgis'),
249
- arcgis_link(@document.arcgis_urls)
250
- ) if @document.arcgis_urls.present? && !Settings.ARCGIS_HIDE
251
- end
252
-
253
- ##
254
- # Creates a Carto OneClick link link, using the configuration link
255
- # @param [String] file_link
256
- # @return [String]
257
- # @deprecated Use {#carto_link} instead.
258
- def cartodb_link(file_link)
259
- carto_link(file_link)
260
- end
261
- deprecation_deprecate carto_link: 'use GeoblacklightHelper#carto_link instead'
262
-
263
210
  ##
264
211
  # Renders the partials for a Geoblacklight::Reference in the web services
265
212
  # modal
@@ -288,7 +235,7 @@ module GeoblacklightHelper
288
235
  def render_facet_item_with_icon(field_name, item)
289
236
  doc = Nokogiri::HTML.fragment(render_facet_item(field_name, item))
290
237
  doc.at_css('.facet-label').children.first
291
- .add_previous_sibling(geoblacklight_icon(item.value))
238
+ .add_previous_sibling(geoblacklight_icon(item.value, aria_hidden: true, classes: 'svg_tooltip'))
292
239
  doc.to_html.html_safe
293
240
  end
294
241
 
@@ -320,9 +267,19 @@ module GeoblacklightHelper
320
267
  # Renders a reference url for a document
321
268
  # @param [Hash] document, field_name
322
269
  def render_references_url(args)
270
+ return unless args[:document]&.references&.url
323
271
  link_to(
324
272
  args[:document].references.url.endpoint,
325
273
  args[:document].references.url.endpoint
326
- ) if args[:document]&.references&.url
274
+ )
275
+ end
276
+
277
+ ## Returns the icon used based off a Settings strategy
278
+ def relations_icon(document, icon)
279
+ icon_name = document[Settings.FIELDS.GEOM_TYPE] if Settings.USE_GEOM_FOR_RELATIONS_ICON
280
+ icon_name = icon if icon_name.blank?
281
+ icon_options = {}
282
+ icon_options = { classes: 'svg_tooltip' } if Settings.USE_GEOM_FOR_RELATIONS_ICON
283
+ geoblacklight_icon(icon_name, icon_options)
327
284
  end
328
285
  end