geoblacklight 2.4.0 → 3.0.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.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +152 -64
  3. data/.rubocop.yml +15 -13
  4. data/.rubocop_todo.yml +66 -10
  5. data/README.md +1 -1
  6. data/Rakefile +1 -0
  7. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +1 -1
  8. data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +31 -0
  9. data/app/assets/javascripts/geoblacklight/viewers/esri.js +2 -2
  10. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +1 -1
  11. data/app/assets/javascripts/geoblacklight/viewers/wms.js +2 -2
  12. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +2 -0
  13. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +33 -0
  14. data/app/assets/stylesheets/geoblacklight/{_blacklight_overrides.scss → modules/_blacklight_overrides.scss} +0 -0
  15. data/app/assets/stylesheets/geoblacklight/{_styles.scss → modules/_styles.scss} +1 -0
  16. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +37 -54
  17. data/app/assets/stylesheets/geoblacklight/modules/item.scss +1 -0
  18. data/app/assets/stylesheets/geoblacklight/modules/results.scss +16 -28
  19. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +12 -42
  20. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +17 -59
  21. data/app/controllers/download_controller.rb +12 -12
  22. data/app/controllers/relation_controller.rb +1 -0
  23. data/app/controllers/wms_controller.rb +1 -0
  24. data/app/helpers/arcgis_helper.rb +1 -0
  25. data/app/helpers/blacklight_helper.rb +1 -0
  26. data/app/helpers/carto_helper.rb +1 -0
  27. data/app/helpers/geoblacklight_helper.rb +25 -72
  28. data/app/models/concerns/geoblacklight/solr_document.rb +7 -6
  29. data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +2 -1
  30. data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -13
  31. data/app/models/concerns/geoblacklight/solr_document/citation.rb +1 -0
  32. data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
  33. data/app/models/concerns/geoblacklight/solr_document/inspection.rb +2 -1
  34. data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +3 -1
  35. data/app/presenters/geoblacklight/document_presenter.rb +2 -1
  36. data/app/views/catalog/_arcgis.html.erb +4 -0
  37. data/app/views/catalog/_carto.html.erb +4 -0
  38. data/app/views/catalog/_downloads_primary.html.erb +8 -1
  39. data/app/views/catalog/_header_icons.html.erb +3 -3
  40. data/app/views/catalog/_home_text.html.erb +3 -0
  41. data/app/views/catalog/_index_split_default.html.erb +21 -21
  42. data/app/views/relation/_ancestors.html.erb +1 -4
  43. data/app/views/relation/_descendants.html.erb +2 -5
  44. data/app/views/relation/index.html.erb +20 -8
  45. data/app/views/relation/index.json.jbuilder +2 -1
  46. data/app/views/shared/_header_navbar.html.erb +0 -2
  47. data/bin/coverage.rb +36 -0
  48. data/config/initializers/rails_config.rb +1 -0
  49. data/config/locales/geoblacklight.en.yml +3 -2
  50. data/geoblacklight.gemspec +3 -6
  51. data/lib/generators/geoblacklight/assets_generator.rb +46 -0
  52. data/lib/generators/geoblacklight/install_generator.rb +3 -9
  53. data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +1 -0
  54. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +28 -0
  55. data/{app/assets/stylesheets/geoblacklight/application.scss → lib/generators/geoblacklight/templates/assets/_geoblacklight.scss} +0 -1
  56. data/lib/generators/geoblacklight/templates/assets/application.scss +7 -0
  57. data/lib/generators/geoblacklight/templates/{geoblacklight.js → assets/geoblacklight.js} +0 -0
  58. data/lib/generators/geoblacklight/templates/catalog_controller.rb +3 -2
  59. data/lib/generators/geoblacklight/templates/settings.yml +0 -6
  60. data/lib/generators/geoblacklight/webpacker_generator.rb +1 -0
  61. data/lib/geoblacklight.rb +1 -0
  62. data/lib/geoblacklight/bounding_box.rb +1 -0
  63. data/lib/geoblacklight/catalog_helper_override.rb +1 -0
  64. data/lib/geoblacklight/constants.rb +1 -0
  65. data/lib/geoblacklight/download.rb +2 -1
  66. data/lib/geoblacklight/download/geojson_download.rb +1 -0
  67. data/lib/geoblacklight/download/geotiff_download.rb +1 -0
  68. data/lib/geoblacklight/download/hgl_download.rb +1 -0
  69. data/lib/geoblacklight/download/kmz_download.rb +2 -1
  70. data/lib/geoblacklight/download/shapefile_download.rb +1 -0
  71. data/lib/geoblacklight/engine.rb +1 -2
  72. data/lib/geoblacklight/exceptions.rb +1 -0
  73. data/lib/geoblacklight/geoblacklight_helper_behavior.rb +1 -0
  74. data/lib/geoblacklight/item_viewer.rb +1 -0
  75. data/lib/geoblacklight/metadata.rb +1 -0
  76. data/lib/geoblacklight/metadata/base.rb +1 -0
  77. data/lib/geoblacklight/metadata/fgdc.rb +1 -0
  78. data/lib/geoblacklight/metadata/html.rb +2 -2
  79. data/lib/geoblacklight/metadata/iso19139.rb +1 -0
  80. data/lib/geoblacklight/metadata_transformer.rb +1 -0
  81. data/lib/geoblacklight/metadata_transformer/base.rb +1 -0
  82. data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
  83. data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
  84. data/lib/geoblacklight/reference.rb +1 -0
  85. data/lib/geoblacklight/references.rb +7 -3
  86. data/lib/geoblacklight/relation/ancestors.rb +1 -0
  87. data/lib/geoblacklight/relation/descendants.rb +1 -0
  88. data/lib/geoblacklight/relation/relation_response.rb +2 -1
  89. data/lib/geoblacklight/routes.rb +1 -0
  90. data/lib/geoblacklight/routes/downloadable.rb +1 -0
  91. data/lib/geoblacklight/routes/exportable.rb +1 -0
  92. data/lib/geoblacklight/routes/wms.rb +1 -0
  93. data/lib/geoblacklight/version.rb +2 -1
  94. data/lib/geoblacklight/view_helper_override.rb +1 -0
  95. data/lib/geoblacklight/wms_layer.rb +1 -0
  96. data/lib/geoblacklight/wms_layer/feature_info_response.rb +1 -0
  97. data/lib/tasks/geoblacklight.rake +33 -32
  98. data/spec/controllers/catalog_controller_spec.rb +1 -0
  99. data/spec/controllers/download_controller_spec.rb +1 -0
  100. data/spec/controllers/relation_controller_spec.rb +1 -0
  101. data/spec/controllers/wms_controller_spec.rb +1 -0
  102. data/spec/factories/user.rb +1 -0
  103. data/spec/features/bookmarks_spec.rb +1 -0
  104. data/spec/features/configurable_basemap_spec.rb +1 -0
  105. data/spec/features/data_dictionary_download_spec.rb +1 -0
  106. data/spec/features/download_layer_spec.rb +1 -0
  107. data/spec/features/empty_search_spec.rb +1 -0
  108. data/spec/features/esri_viewer_spec.rb +1 -5
  109. data/spec/features/exports_spec.rb +4 -12
  110. data/spec/features/help_text_spec.rb +1 -0
  111. data/spec/features/home_page_spec.rb +6 -0
  112. data/spec/features/iiif_viewer_spec.rb +1 -0
  113. data/spec/features/index_map_spec.rb +1 -0
  114. data/spec/features/layer_inspection_spec.rb +1 -0
  115. data/spec/features/layer_opacity_spec.rb +1 -0
  116. data/spec/features/layer_preview_spec.rb +1 -0
  117. data/spec/features/layer_with_no_references_spec.rb +1 -0
  118. data/spec/features/linkified_attribute_table_spec.rb +1 -0
  119. data/spec/features/metadata_panel_spec.rb +1 -0
  120. data/spec/features/missing_metadata_spec.rb +1 -0
  121. data/spec/features/multiple_downloads_spec.rb +15 -0
  122. data/spec/features/oembed_spec.rb +1 -0
  123. data/spec/features/relations_spec.rb +10 -29
  124. data/spec/features/saved_searches_spec.rb +1 -0
  125. data/spec/features/search_bar_spec.rb +1 -0
  126. data/spec/features/search_results_map_spec.rb +1 -6
  127. data/spec/features/search_results_overlap_ratio_spec.rb +4 -3
  128. data/spec/features/search_spec.rb +1 -0
  129. data/spec/features/show_page_metadata_spec.rb +1 -0
  130. data/spec/features/sms_spec.rb +1 -0
  131. data/spec/features/split_view.html.erb_spec.rb +2 -1
  132. data/spec/features/suppressed_records_spec.rb +1 -0
  133. data/spec/features/web_services_modal_spec.rb +1 -0
  134. data/spec/fixtures/solr_documents/multiple-downloads.json +30 -0
  135. data/spec/helpers/arcgis_helper_spec.rb +1 -0
  136. data/spec/helpers/carto_helper_spec.rb +1 -0
  137. data/spec/helpers/geoblacklight_helper_spec.rb +47 -14
  138. data/spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js +12 -0
  139. data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -0
  140. data/spec/lib/geoblacklight/controller_override_spec.rb +1 -0
  141. data/spec/lib/geoblacklight/document_presenter_spec.rb +3 -2
  142. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -0
  143. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -0
  144. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -0
  145. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +1 -0
  146. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -0
  147. data/spec/lib/geoblacklight/download_spec.rb +2 -1
  148. data/spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb +1 -0
  149. data/spec/lib/geoblacklight/item_viewer_spec.rb +1 -0
  150. data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -0
  151. data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -0
  152. data/spec/lib/geoblacklight/metadata_spec.rb +1 -0
  153. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +3 -2
  154. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +3 -2
  155. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +3 -2
  156. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +4 -3
  157. data/spec/lib/geoblacklight/reference_spec.rb +1 -0
  158. data/spec/lib/geoblacklight/references_spec.rb +2 -3
  159. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +1 -0
  160. data/spec/lib/geoblacklight/relation/descendants_spec.rb +1 -0
  161. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +1 -0
  162. data/spec/lib/geoblacklight/view_helper_override_spec.rb +1 -0
  163. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +5 -4
  164. data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -0
  165. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +1 -20
  166. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -0
  167. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -0
  168. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -0
  169. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -0
  170. data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +15 -2
  171. data/spec/routing/catalog_routing_spec.rb +1 -0
  172. data/spec/spec_helper.rb +12 -9
  173. data/spec/support/backport_test_helpers.rb +1 -0
  174. data/spec/support/features.rb +1 -0
  175. data/spec/support/features/session_helpers.rb +1 -0
  176. data/spec/support/fixtures.rb +1 -0
  177. data/spec/tasks/geoblacklight_spec.rb +4 -3
  178. data/spec/teaspoon_env.rb +1 -0
  179. data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -0
  180. data/spec/views/catalog/_document_split.html.erb_spec.rb +1 -0
  181. data/spec/views/catalog/_index_split.html.erb_spec.rb +1 -0
  182. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +1 -0
  183. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +1 -0
  184. data/spec/views/catalog/_show_tools.html.erb_spec.rb +2 -4
  185. data/template.rb +1 -0
  186. metadata +42 -68
  187. data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +0 -36
  188. data/app/assets/stylesheets/geoblacklight/modules/relations.scss +0 -15
  189. data/app/views/catalog/_exports.html.erb +0 -3
  190. data/app/views/catalog/_show_tools.html.erb +0 -25
  191. data/lib/generators/geoblacklight/templates/geoblacklight.scss +0 -4
  192. data/vendor/assets/javascripts/readmore.js +0 -0
  193. data/vendor/assets/javascripts/readmore.min.js +0 -0
@@ -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,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
- content_tag :h3, class: 'help-text viewer_protocol h6' do
199
- 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
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
- content_tag :div, class: 'truncate-abstract' do
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,19 @@ 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
- ) if args[:document]&.references&.url
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
- geoblacklight_icon(icon_name)
281
+ icon_options = {}
282
+ icon_options = { classes: 'svg_tooltip' } if Settings.USE_GEOM_FOR_RELATIONS_ICON
283
+ geoblacklight_icon(icon_name, icon_options)
331
284
  end
332
285
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Geoblacklight
2
3
  # Extends Blacklight::Solr::Document for GeoBlacklight specific functionalit
3
4
  module SolrDocument
@@ -34,15 +35,15 @@ module Geoblacklight
34
35
  end
35
36
 
36
37
  def direct_download
37
- references.download.to_hash unless references.download.blank?
38
+ references.download.to_hash if references.download.present?
38
39
  end
39
40
 
40
41
  def hgl_download
41
- references.hgl.to_hash unless references.hgl.blank?
42
+ references.hgl.to_hash if references.hgl.present?
42
43
  end
43
44
 
44
45
  def oembed
45
- references.oembed.endpoint unless references.oembed.blank?
46
+ references.oembed.endpoint if references.oembed.present?
46
47
  end
47
48
 
48
49
  def same_institution?
@@ -50,11 +51,11 @@ module Geoblacklight
50
51
  end
51
52
 
52
53
  def iiif_download
53
- references.iiif.to_hash unless references.iiif.blank?
54
+ references.iiif.to_hash if references.iiif.present?
54
55
  end
55
56
 
56
57
  def data_dictionary_download
57
- references.data_dictionary.to_hash unless references.data_dictionary.blank?
58
+ references.data_dictionary.to_hash if references.data_dictionary.present?
58
59
  end
59
60
 
60
61
  def external_url
@@ -108,7 +109,7 @@ module Geoblacklight
108
109
  end
109
110
 
110
111
  def method_missing(method, *args, &block)
111
- if /.*_url$/ =~ method.to_s
112
+ if /.*_url$/.match?(method.to_s)
112
113
  checked_endpoint(method.to_s.gsub('_url', ''))
113
114
  else
114
115
  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 unless references.esri_webservices.present?
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
  module Citation
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Geoblacklight
2
3
  module SolrDocument
3
4
  ##
@@ -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(wms feature_layer dynamic_map_layer tiled_map_layer)
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
26
  "{!field uf=* defType=lucene f=solr_bboxtype score=overlapRatio}Intersects(#{envelope_bounds})"
25
- solr_params[:bf] = "$overlap^#{Settings.OVERLAP_RATIO_BOOST}"
27
+ solr_params[:bf] << "$overlap^#{Settings.OVERLAP_RATIO_BOOST}"
26
28
  end
27
29
  end
28
30
  solr_params
@@ -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
- unless val.blank?
16
+ if val.present?
16
17
  val += '.' unless val.end_with?('.')
17
18
  fields_values << val
18
19
  end
@@ -0,0 +1,4 @@
1
+ <% document ||= @document %>
2
+ <%= link_to(arcgis_link(document.arcgis_urls)) do %>
3
+ <%= blacklight_icon('esri-globe') %> <%= t('geoblacklight.tools.open_arcgis') %>
4
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <% document ||= @document %>
2
+ <%= link_to carto_link(document.carto_reference), target: '_blank' do %>
3
+ <span class='geoblacklight geoblacklight-carto'></span><%= t('geoblacklight.tools.open_carto') %>
4
+ <% end %>
@@ -2,7 +2,14 @@
2
2
  <% document ||= @document %>
3
3
 
4
4
  <% if document.direct_download.present? %>
5
- <%= render partial: 'download_link', locals: { download_link: download_link_direct(download_text(document.file_format), document) } %>
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 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, bbox: document.bounding_box_as_wsen } do %>
3
- <h3 class="index_title col pl-2">
2
+ <%= content_tag :div, class: 'documentHeader index-split row', data: { layer_id: document.id, bbox: document.bounding_box_as_wsen } 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 pl-0 py-0 stretched-link"
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
- <span class="title-wrapper">
12
- <% counter = document_counter_with_offset(document_counter) %>
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
- <div class='col-md-12 more-info-area'>
24
- <div id="doc-<%= document.id %>-fields-collapse" class='collapse'>
25
- <small>
26
- <%= geoblacklight_present(:index_fields_display, document) %>
27
- </small>
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
- <% end %>
30
+ </div>