geoblacklight 2.4.0 → 3.0.0

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