geoblacklight 2.2.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
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