geoblacklight 2.1.1 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +117 -99
  3. data/.gitignore +3 -1
  4. data/.rubocop.yml +4 -2
  5. data/.rubocop_todo.yml +11 -198
  6. data/Gemfile +3 -8
  7. data/README.md +5 -6
  8. data/app/assets/images/blacklight/arrow-circle-down.svg +3 -0
  9. data/app/assets/images/blacklight/baruch-cuny.svg +3 -0
  10. data/app/assets/images/blacklight/berkeley.svg +4 -0
  11. data/app/assets/images/blacklight/book.svg +3 -0
  12. data/app/assets/images/blacklight/bookmark.svg +3 -0
  13. data/app/assets/images/blacklight/cd-rom.svg +3 -0
  14. data/app/assets/images/blacklight/chicago.svg +4 -0
  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 +3 -0
  18. data/app/assets/images/blacklight/cornell.svg +5 -0
  19. data/app/assets/images/blacklight/dvd-rom.svg +3 -0
  20. data/app/assets/images/blacklight/email.svg +3 -0
  21. data/app/assets/images/blacklight/esri-globe.svg +31 -37
  22. data/app/assets/images/blacklight/geoblacklight-icons.json +2079 -0
  23. data/app/assets/images/blacklight/globe.svg +3 -0
  24. data/app/assets/images/blacklight/harvard.svg +3 -0
  25. data/app/assets/images/blacklight/home.svg +3 -0
  26. data/app/assets/images/blacklight/illinois.svg +4 -0
  27. data/app/assets/images/blacklight/image.svg +3 -0
  28. data/app/assets/images/blacklight/indiana.svg +3 -0
  29. data/app/assets/images/blacklight/iowa.svg +3 -0
  30. data/app/assets/images/blacklight/leaf.svg +3 -0
  31. data/app/assets/images/blacklight/lewis-clark.svg +5 -0
  32. data/app/assets/images/blacklight/line.svg +4 -0
  33. data/app/assets/images/blacklight/logo.svg +1 -0
  34. data/app/assets/images/blacklight/map-marker.svg +3 -0
  35. data/app/assets/images/blacklight/map.svg +3 -0
  36. data/app/assets/images/blacklight/maryland.svg +3 -0
  37. data/app/assets/images/blacklight/massgis.svg +3 -0
  38. data/app/assets/images/blacklight/metadata.svg +3 -0
  39. data/app/assets/images/blacklight/michigan-state.svg +4 -0
  40. data/app/assets/images/blacklight/michigan.svg +3 -0
  41. data/app/assets/images/blacklight/minnesota.svg +3 -0
  42. data/app/assets/images/blacklight/mit.svg +3 -0
  43. data/app/assets/images/blacklight/mixed.svg +5 -0
  44. data/app/assets/images/blacklight/multilinestring.svg +6 -0
  45. data/app/assets/images/blacklight/multipoint.svg +3 -0
  46. data/app/assets/images/blacklight/multipolygon.svg +6 -0
  47. data/app/assets/images/blacklight/nyu.svg +6 -0
  48. data/app/assets/images/blacklight/ohio-state.svg +5 -0
  49. data/app/assets/images/blacklight/pagelines-brands.svg +3 -0
  50. data/app/assets/images/blacklight/paper-map.svg +3 -0
  51. data/app/assets/images/blacklight/penn-state.svg +4 -0
  52. data/app/assets/images/blacklight/point.svg +3 -0
  53. data/app/assets/images/blacklight/polygon.svg +4 -0
  54. data/app/assets/images/blacklight/polyline.svg +6 -0
  55. data/app/assets/images/blacklight/princeton.svg +3 -0
  56. data/app/assets/images/blacklight/public.svg +3 -0
  57. data/app/assets/images/blacklight/purdue.svg +4 -0
  58. data/app/assets/images/blacklight/raster.svg +3 -0
  59. data/app/assets/images/blacklight/restricted.svg +3 -0
  60. data/app/assets/images/blacklight/sms.svg +3 -0
  61. data/app/assets/images/blacklight/stanford.svg +3 -0
  62. data/app/assets/images/blacklight/table.svg +3 -0
  63. data/app/assets/images/blacklight/tags.svg +3 -0
  64. data/app/assets/images/blacklight/texas.svg +3 -0
  65. data/app/assets/images/blacklight/tufts.svg +3 -0
  66. data/app/assets/images/blacklight/ucla.svg +3 -0
  67. data/app/assets/images/blacklight/uva.svg +3 -0
  68. data/app/assets/images/blacklight/web_services.svg +3 -0
  69. data/app/assets/images/blacklight/wisconsin.svg +3 -0
  70. data/app/assets/javascripts/geoblacklight/basemaps.js +18 -0
  71. data/app/assets/javascripts/geoblacklight/modules/geosearch.js +1 -1
  72. data/app/assets/javascripts/geoblacklight/modules/help_text.js +7 -0
  73. data/app/assets/javascripts/geoblacklight/modules/home.js +1 -1
  74. data/app/assets/javascripts/geoblacklight/modules/item.js +19 -2
  75. data/app/assets/javascripts/geoblacklight/modules/results.js +4 -2
  76. data/app/assets/javascripts/geoblacklight/viewers/oembed.js +13 -0
  77. data/app/assets/stylesheets/geoblacklight/_blacklight_overrides.scss +8 -9
  78. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +49 -59
  79. data/app/assets/stylesheets/geoblacklight/modules/item.scss +16 -0
  80. data/app/assets/stylesheets/geoblacklight/modules/results.scss +59 -28
  81. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +4 -0
  82. data/app/helpers/geoblacklight_helper.rb +97 -7
  83. data/app/models/concerns/geoblacklight/solr_document.rb +12 -3
  84. data/app/models/concerns/geoblacklight/solr_document/citation.rb +28 -0
  85. data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +5 -0
  86. data/app/views/catalog/_citation.html.erb +11 -0
  87. data/app/views/catalog/_data_dictionary.html.erb +3 -2
  88. data/app/views/catalog/_document_action.html.erb +1 -1
  89. data/app/views/catalog/_document_split.html.erb +1 -1
  90. data/app/views/catalog/_exports.html.erb +2 -10
  91. data/app/views/catalog/_home_text.html.erb +5 -5
  92. data/app/views/catalog/_index_split_default.html.erb +18 -10
  93. data/app/views/catalog/_show_default_viewer_container.html.erb +6 -1
  94. data/app/views/catalog/_show_header_default.html.erb +2 -4
  95. data/app/views/catalog/_web_services_wfs.html.erb +3 -3
  96. data/app/views/catalog/_web_services_wms.html.erb +3 -3
  97. data/app/views/catalog/metadata.html.erb +3 -1
  98. data/app/views/catalog/web_services.html.erb +9 -7
  99. data/app/views/relation/_ancestors.html.erb +2 -1
  100. data/app/views/relation/_descendants.html.erb +2 -1
  101. data/app/views/shared/_header_navbar.html.erb +3 -1
  102. data/config/locales/geoblacklight.en.yml +72 -0
  103. data/geoblacklight.gemspec +4 -4
  104. data/lib/generators/geoblacklight/install_generator.rb +5 -0
  105. data/lib/generators/geoblacklight/templates/catalog_controller.rb +3 -0
  106. data/lib/generators/geoblacklight/templates/geoblacklight.js +0 -1
  107. data/lib/generators/geoblacklight/templates/package.json +1 -1
  108. data/lib/generators/geoblacklight/templates/settings.yml +23 -0
  109. data/lib/generators/geoblacklight/webpacker_generator.rb +1 -1
  110. data/lib/geoblacklight/catalog_helper_override.rb +1 -1
  111. data/lib/geoblacklight/constants.rb +3 -2
  112. data/lib/geoblacklight/download.rb +4 -4
  113. data/lib/geoblacklight/item_viewer.rb +5 -1
  114. data/lib/geoblacklight/metadata/base.rb +15 -10
  115. data/lib/geoblacklight/reference.rb +2 -1
  116. data/lib/geoblacklight/relation/ancestors.rb +1 -1
  117. data/lib/geoblacklight/relation/descendants.rb +1 -1
  118. data/lib/geoblacklight/version.rb +1 -1
  119. data/lib/geoblacklight/view_helper_override.rb +1 -1
  120. data/lib/geoblacklight/wms_layer.rb +2 -2
  121. data/lib/tasks/geoblacklight.rake +1 -1
  122. data/package.json +4 -0
  123. data/schema/references.md +2 -1
  124. data/solr/conf/schema.xml +5 -5
  125. data/spec/controllers/download_controller_spec.rb +1 -1
  126. data/spec/controllers/wms_controller_spec.rb +1 -1
  127. data/spec/features/configurable_basemap_spec.rb +9 -0
  128. data/spec/features/esri_viewer_spec.rb +0 -1
  129. data/spec/features/exports_spec.rb +9 -0
  130. data/spec/features/help_text_spec.rb +8 -0
  131. data/spec/features/metadata_panel_spec.rb +51 -8
  132. data/spec/features/missing_metadata_spec.rb +12 -0
  133. data/spec/features/oembed_spec.rb +9 -0
  134. data/spec/features/relations_spec.rb +2 -1
  135. data/spec/features/search_results_map_spec.rb +1 -1
  136. data/spec/features/split_view.html.erb_spec.rb +3 -3
  137. data/spec/features/suppressed_records_spec.rb +14 -0
  138. data/spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml +1 -0
  139. data/spec/fixtures/iso19139/stanford-cg357zz0321.xml +581 -0
  140. data/spec/fixtures/mods/fb897vt9938.mods +111 -0
  141. data/spec/fixtures/mods/stanford-cg357zz0321.mods +113 -0
  142. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +1 -1
  143. data/spec/fixtures/solr_documents/metadata_no_dct_provenance_s.json +30 -0
  144. data/spec/fixtures/solr_documents/metadata_no_layer_geom_type_s.json +17 -0
  145. data/spec/fixtures/solr_documents/metadata_no_solr_geom.json +23 -0
  146. data/spec/fixtures/solr_documents/oembed.json +24 -0
  147. data/spec/helpers/geoblacklight_helper_spec.rb +43 -7
  148. data/spec/javascripts/metadata_download_button_spec.js +1 -1
  149. data/spec/lib/geoblacklight/download_spec.rb +2 -2
  150. data/spec/lib/geoblacklight/metadata/base_spec.rb +21 -7
  151. data/spec/lib/geoblacklight/reference_spec.rb +30 -0
  152. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +1 -1
  153. data/spec/lib/geoblacklight/relation/descendants_spec.rb +1 -1
  154. data/spec/lib/geoblacklight/wms_layer_spec.rb +2 -2
  155. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +13 -0
  156. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +46 -0
  157. data/spec/spec_helper.rb +8 -5
  158. data/spec/support/fixtures.rb +7 -0
  159. data/spec/tasks/geoblacklight_spec.rb +18 -0
  160. data/spec/test_app_templates/Gemfile.extra +1 -0
  161. data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -1
  162. data/template.rb +1 -1
  163. data/vendor/assets/javascripts/readmore.js +0 -0
  164. data/vendor/assets/javascripts/readmore.min.js +0 -11
  165. data/vendor/assets/stylesheets/leaflet.css +0 -1
  166. metadata +126 -31
  167. data/app/assets/images/blacklight/logo.png +0 -0
  168. data/app/assets/javascripts/geoblacklight/modules/collapse.js +0 -7
@@ -31,4 +31,34 @@ describe Geoblacklight::Reference do
31
31
  expect(typical_reference.to_hash).to eq wms: 'http://hgl.harvard.edu:8080/geoserver/wms'
32
32
  end
33
33
  end
34
+
35
+ describe 'reference' do
36
+ context 'key has one trailing slash' do
37
+ let(:iso19139_reference) do
38
+ described_class.new(['http://www.isotc211.org/schemas/2005/gmd/', 'https://raw.githubusercontent.com/OpenGeoMetadata/edu.stanford.purl/master/cg/357/zz/0321/iso19139.xml'])
39
+ end
40
+
41
+ it 'removes the trailing slash' do
42
+ expect(iso19139_reference.send(:uri)).to eq 'http://www.isotc211.org/schemas/2005/gmd'
43
+ end
44
+ end
45
+ context 'key does not have trailing slashes' do
46
+ let(:iso19139_reference) do
47
+ described_class.new(['http://www.isotc211.org/schemas/2005/gmd', 'https://raw.githubusercontent.com/OpenGeoMetadata/edu.stanford.purl/master/cg/357/zz/0321/iso19139.xml'])
48
+ end
49
+
50
+ it 'will return the key' do
51
+ expect(iso19139_reference.send(:uri)).to eq 'http://www.isotc211.org/schemas/2005/gmd'
52
+ end
53
+ end
54
+ context 'key has trailing slashes' do
55
+ let(:fgdc_reference) do
56
+ described_class.new(['http://www.opengis.net/cat/csw/csdgm////', 'https://raw.githubusercontent.com/OpenGeoMetadata/edu.harvard/master/217/121/227/77/fgdc.xml'])
57
+ end
58
+
59
+ it 'removes the trailing slashes' do
60
+ expect(fgdc_reference.send(:uri)).to eq 'http://www.opengis.net/cat/csw/csdgm'
61
+ end
62
+ end
63
+ end
34
64
  end
@@ -7,7 +7,7 @@ describe Geoblacklight::Relation::Ancestors do
7
7
 
8
8
  describe '#create_search_params' do
9
9
  it 'assembles the correct search params for finding ancestor documents' do
10
- expect(ancestors.create_search_params).to eq(fq: ["{!join from=#{Settings.FIELDS.SOURCE} to=layer_slug_s}layer_slug_s:nyu_2451_34502"], fl: [Settings.FIELDS.TITLE.to_s, 'layer_slug_s'])
10
+ expect(ancestors.create_search_params).to eq(fq: ["{!join from=#{Settings.FIELDS.SOURCE} to=layer_slug_s}layer_slug_s:nyu_2451_34502"], fl: [Settings.FIELDS.TITLE.to_s, 'layer_slug_s', 'layer_geom_type_s'])
11
11
  end
12
12
  end
13
13
 
@@ -7,7 +7,7 @@ describe Geoblacklight::Relation::Descendants do
7
7
 
8
8
  describe '#create_search_params' do
9
9
  it 'assembles the correct search params for finding descendant documents' do
10
- expect(descendants.create_search_params).to eq(fq: "#{Settings.FIELDS.SOURCE}:nyu_2451_34636", fl: [Settings.FIELDS.TITLE.to_s, 'layer_slug_s'])
10
+ expect(descendants.create_search_params).to eq(fq: "#{Settings.FIELDS.SOURCE}:nyu_2451_34636", fl: [Settings.FIELDS.TITLE.to_s, 'layer_slug_s', 'layer_geom_type_s'])
11
11
  end
12
12
  end
13
13
 
@@ -73,7 +73,7 @@ describe Geoblacklight::WmsLayer do
73
73
  context 'when the HTTP connection fails' do
74
74
  before do
75
75
  allow(Geoblacklight.logger).to receive(:error).with('#<Faraday::ConnectionFailed wrapped=#<StandardError: test connection error>>')
76
- allow(connection).to receive(:get).and_raise(Faraday::Error::ConnectionFailed.new(StandardError.new('test connection error')))
76
+ allow(connection).to receive(:get).and_raise(Faraday::ConnectionFailed.new(StandardError.new('test connection error')))
77
77
  end
78
78
 
79
79
  it 'logs the Faraday error' do
@@ -86,7 +86,7 @@ describe Geoblacklight::WmsLayer do
86
86
  context 'when the HTTP connection times out' do
87
87
  before do
88
88
  allow(Geoblacklight.logger).to receive(:error).with('#<Faraday::TimeoutError #<Faraday::TimeoutError: timeout>>')
89
- allow(connection).to receive(:get).and_raise(Faraday::Error::TimeoutError)
89
+ allow(connection).to receive(:get).and_raise(Faraday::TimeoutError)
90
90
  end
91
91
 
92
92
  it 'logs the Faraday error' do
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe Geoblacklight::SolrDocument::Citation do
4
+ describe '#geoblacklight_citation' do
5
+ let(:fixture) { JSON.parse(read_fixture('solr_documents/restricted-line.json')) }
6
+ let(:document) { SolrDocument.new(fixture) }
7
+
8
+ it 'creates a citation' do
9
+ expect(document.geoblacklight_citation('http://example.com'))
10
+ .to eq 'United States. National Oceanic and Atmospheric Administration. Circuit Rider Productions. (2002). 10 Meter Contours: Russian River Basin, California. [Shapefile]. Circuit Rider Productions. Retrieved from http://example.com'
11
+ end
12
+ end
13
+ end
@@ -35,6 +35,32 @@ describe Geoblacklight::SolrDocument do
35
35
  expect(document.public?).to be_falsey
36
36
  end
37
37
  end
38
+ describe 'without rights data' do
39
+ let(:document_attributes) { {} }
40
+ it 'is not public' do
41
+ expect(document.public?).to be_falsey
42
+ end
43
+ end
44
+ end
45
+ describe '#restricted?' do
46
+ describe 'a restricted document' do
47
+ let(:document_attributes) { { rights_field => 'RESTRICTED' } }
48
+ it 'is restricted' do
49
+ expect(document.restricted?).to be_truthy
50
+ end
51
+ end
52
+ describe 'a non-restricted resource' do
53
+ let(:document_attributes) { { rights_field => 'PUBLIC' } }
54
+ it 'is not restricted' do
55
+ expect(document.restricted?).to be_falsey
56
+ end
57
+ end
58
+ describe 'without rights data' do
59
+ let(:document_attributes) { {} }
60
+ it 'is restricted' do
61
+ expect(document.restricted?).to be_truthy
62
+ end
63
+ end
38
64
  end
39
65
  describe '#downloadable?' do
40
66
  describe 'available direct download' do
@@ -124,6 +150,26 @@ describe Geoblacklight::SolrDocument do
124
150
  end
125
151
  end
126
152
  end
153
+ describe '#oembed' do
154
+ describe 'with an oembed url' do
155
+ let(:document_attributes) do
156
+ {
157
+ references_field => {
158
+ 'https://oembed.com' => 'http://example.com/oembed?url=oembec.com/id123'
159
+ }.to_json
160
+ }
161
+ end
162
+ it 'returns a url string' do
163
+ expect(document.oembed).to eq('http://example.com/oembed?url=oembec.com/id123')
164
+ end
165
+ end
166
+ describe 'without an oembed url' do
167
+ let(:document_attributes) { {} }
168
+ it 'returns nil' do
169
+ expect(document.oembed).to be_nil
170
+ end
171
+ end
172
+ end
127
173
  describe 'iiif_download' do
128
174
  describe 'with a IIIF download' do
129
175
  let(:document_attributes) do
@@ -28,16 +28,19 @@ require 'capybara/rspec'
28
28
  require 'selenium-webdriver'
29
29
 
30
30
  Capybara.register_driver(:headless_chrome) do |app|
31
- capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
32
- chromeOptions: { args: %w(headless disable-gpu window-size=1280,1024) }
33
- )
31
+ Capybara::Selenium::Driver.load_selenium
32
+ browser_options = ::Selenium::WebDriver::Chrome::Options.new.tap do |opts|
33
+ opts.args << '--headless'
34
+ opts.args << '--disable-gpu'
35
+ opts.args << '--window-size=1280,1024'
36
+ end
34
37
  http_client = Selenium::WebDriver::Remote::Http::Default.new
35
38
  http_client.read_timeout = 120
36
39
  http_client.open_timeout = 120
37
40
  Capybara::Selenium::Driver.new(app,
38
41
  browser: :chrome,
39
- desired_capabilities: capabilities,
40
- http_client: http_client)
42
+ http_client: http_client,
43
+ options: browser_options)
41
44
  end
42
45
 
43
46
  Capybara.javascript_driver = :headless_chrome
@@ -0,0 +1,7 @@
1
+ def read_fixture(fname)
2
+ File.read(File.join(fixture_dir, fname))
3
+ end
4
+
5
+ def fixture_dir
6
+ @fixture_dir ||= File.join(File.dirname(__FILE__), '../fixtures')
7
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+ require 'rake'
3
+ require 'fileutils'
4
+
5
+ describe 'geoblacklight.rake' do
6
+ describe 'geoblacklight:downloads:mkdir' do
7
+ before do
8
+ Rails.application.load_tasks
9
+ FileUtils.rm_rf Rails.root.join('tmp/cache/downloads')
10
+ end
11
+
12
+ it 'creates the tmp/cache/downloads directory' do
13
+ Rake::Task['geoblacklight:downloads:mkdir'].invoke
14
+ expect(File.directory? Rails.root.join('tmp/cache/downloads')).
15
+ to be true
16
+ end
17
+ end
18
+ end
@@ -0,0 +1 @@
1
+ gem 'sprockets', '< 4'
@@ -15,7 +15,7 @@ class TestAppGenerator < Rails::Generators::Base
15
15
  gem 'blacklight'
16
16
  gem 'teaspoon'
17
17
  gem 'teaspoon-jasmine'
18
- gem 'webpacker', '~> 3.5'
18
+ gem 'webpacker'
19
19
  Bundler.with_clean_env do
20
20
  run 'bundle install'
21
21
  end
@@ -1,6 +1,6 @@
1
1
  gem 'blacklight', '~> 7.0'
2
2
  gem 'geoblacklight', '~> 2.0'
3
- gem 'webpacker', '~> 3.5'
3
+ gem 'webpacker'
4
4
 
5
5
  # Hack for https://github.com/rails/rails/issues/35153
6
6
  # Adapted from https://github.com/projectblacklight/blacklight/pull/2065
File without changes
@@ -1,11 +0,0 @@
1
- /*!
2
- * @preserve
3
- *
4
- * Readmore.js jQuery plugin
5
- * Author: @jed_foster
6
- * Project home: http://jedfoster.github.io/Readmore.js
7
- * Licensed under the MIT license
8
- *
9
- * Debounce function from http://davidwalsh.name/javascript-debounce-function
10
- */
11
- !function(e){"use strict";function t(e,t,a){var i;return function(){var n=this,o=arguments,r=function(){i=null,a||e.apply(n,o)},s=a&&!i;clearTimeout(i),i=setTimeout(r,t),s&&e.apply(n,o)}}function a(e){var t=++h;return String(null==e?"rmjs-":e)+t}function i(e){var t=e.clone().css({height:"auto",width:e.width(),maxHeight:"none",overflow:"hidden"}).insertAfter(e),a=t.outerHeight(),i=parseInt(t.css({maxHeight:""}).css("max-height").replace(/[^-\d\.]/g,""),10),n=e.data("defaultHeight");t.remove();var o=i||e.data("collapsedHeight")||n;e.data({expandedHeight:a,maxHeight:i,collapsedHeight:o}).css({maxHeight:"none"})}function n(e){if(!d[e.selector]){var t=" ";e.embedCSS&&""!==e.blockCSS&&(t+=e.selector+" + [data-readmore-toggle], "+e.selector+"[data-readmore]{"+e.blockCSS+"}"),t+=e.selector+"[data-readmore]{transition: height "+e.speed+"ms;overflow: hidden;}",function(e,t){var a=e.createElement("style");a.type="text/css",a.styleSheet?a.styleSheet.cssText=t:a.appendChild(e.createTextNode(t)),e.getElementsByTagName("head")[0].appendChild(a)}(document,t),d[e.selector]=!0}}function o(t,a){this.element=t,this.options=e.extend({},s,a),n(this.options),this._defaults=s,this._name=r,this.init(),window.addEventListener("load",l),window.addEventListener("resize",l)}var r="readmore",s={speed:100,collapsedHeight:200,heightMargin:16,moreLink:'<a href="#">Read More</a>',lessLink:'<a href="#">Close</a>',embedCSS:!0,blockCSS:"display: block; width: 100%;",startOpen:!1,beforeToggle:function(){},afterToggle:function(){}},d={},h=0,l=t(function(){e("[data-readmore]").each(function(){var t=e(this),a="true"===t.attr("aria-expanded");i(t),t.css({height:t.data(a?"expandedHeight":"collapsedHeight")})})},100);o.prototype={init:function(){var t=this,n=e(this.element);n.data({defaultHeight:this.options.collapsedHeight,heightMargin:this.options.heightMargin}),i(n);var o=n.data("collapsedHeight"),r=n.data("heightMargin");if(n.outerHeight(!0)<=o+r)return!0;var s=n.attr("id")||a(),d=t.options.startOpen?t.options.lessLink:t.options.moreLink;n.attr({"data-readmore":"","aria-expanded":!1,id:s}),n.after(e(d).on("click",function(e){t.toggle(this,n[0],e)}).attr({"data-readmore-toggle":"","aria-controls":s})),t.options.startOpen||n.css({height:o})},toggle:function(t,a,i){i&&i.preventDefault(),t||(t=e('[aria-controls="'+this.element.id+'"]')[0]),a||(a=this.element);var n=this,o=e(a),r="",s="",d=!1,h=o.data("collapsedHeight");o.height()<=h?(r=o.data("expandedHeight")+"px",s="lessLink",d=!0):(r=h,s="moreLink"),n.options.beforeToggle(t,a,!d),o.css({height:r}),o.on("transitionend",function(){n.options.afterToggle(t,a,d),e(this).attr({"aria-expanded":d}).off("transitionend")}),e(t).replaceWith(e(n.options[s]).on("click",function(e){n.toggle(this,a,e)}).attr({"data-readmore-toggle":"","aria-controls":o.attr("id")}))},destroy:function(){e(this.element).each(function(){var t=e(this);t.attr({"data-readmore":null,"aria-expanded":null}).css({maxHeight:"",height:""}).next("[data-readmore-toggle]").remove(),t.removeData()})}},e.fn.readmore=function(t){var a=arguments,i=this.selector;return t=t||{},"object"==typeof t?this.each(function(){if(e.data(this,"plugin_"+r)){var a=e.data(this,"plugin_"+r);a.destroy.apply(a)}t.selector=i,e.data(this,"plugin_"+r,new o(this,t))}):"string"==typeof t&&"_"!==t[0]&&"init"!==t?this.each(function(){var i=e.data(this,"plugin_"+r);i instanceof o&&"function"==typeof i[t]&&i[t].apply(i,Array.prototype.slice.call(a,1))}):void 0}}(jQuery);
@@ -246,7 +246,6 @@
246
246
 
247
247
  .leaflet-container {
248
248
  background: #ddd;
249
- outline: 0;
250
249
  }
251
250
  .leaflet-container a {
252
251
  color: #0078A8;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geoblacklight
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Graves
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2019-05-23 00:00:00.000000000 Z
14
+ date: 2020-07-08 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -73,30 +73,30 @@ dependencies:
73
73
  name: faraday
74
74
  requirement: !ruby/object:Gem::Requirement
75
75
  requirements:
76
- - - ">="
76
+ - - "~>"
77
77
  - !ruby/object:Gem::Version
78
- version: '0'
78
+ version: '1.0'
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
- - - ">="
83
+ - - "~>"
84
84
  - !ruby/object:Gem::Version
85
- version: '0'
85
+ version: '1.0'
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: faraday_middleware
88
88
  requirement: !ruby/object:Gem::Requirement
89
89
  requirements:
90
- - - ">="
90
+ - - "~>"
91
91
  - !ruby/object:Gem::Version
92
- version: '0'
92
+ version: 1.0.0.rc1
93
93
  type: :runtime
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - ">="
97
+ - - "~>"
98
98
  - !ruby/object:Gem::Version
99
- version: '0'
99
+ version: 1.0.0.rc1
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: coderay
102
102
  requirement: !ruby/object:Gem::Requirement
@@ -185,16 +185,16 @@ dependencies:
185
185
  name: webpacker
186
186
  requirement: !ruby/object:Gem::Requirement
187
187
  requirements:
188
- - - "~>"
188
+ - - ">="
189
189
  - !ruby/object:Gem::Version
190
- version: '3.5'
190
+ version: '0'
191
191
  type: :runtime
192
192
  prerelease: false
193
193
  version_requirements: !ruby/object:Gem::Requirement
194
194
  requirements:
195
- - - "~>"
195
+ - - ">="
196
196
  - !ruby/object:Gem::Version
197
- version: '3.5'
197
+ version: '0'
198
198
  - !ruby/object:Gem::Dependency
199
199
  name: solr_wrapper
200
200
  requirement: !ruby/object:Gem::Requirement
@@ -265,20 +265,6 @@ dependencies:
265
265
  - - ">="
266
266
  - !ruby/object:Gem::Version
267
267
  version: 2.5.0
268
- - !ruby/object:Gem::Dependency
269
- name: selenium-webdriver
270
- requirement: !ruby/object:Gem::Requirement
271
- requirements:
272
- - - ">="
273
- - !ruby/object:Gem::Version
274
- version: '0'
275
- type: :development
276
- prerelease: false
277
- version_requirements: !ruby/object:Gem::Requirement
278
- requirements:
279
- - - ">="
280
- - !ruby/object:Gem::Version
281
- version: '0'
282
268
  - !ruby/object:Gem::Dependency
283
269
  name: webdrivers
284
270
  requirement: !ruby/object:Gem::Requirement
@@ -377,6 +363,20 @@ dependencies:
377
363
  - - ">="
378
364
  - !ruby/object:Gem::Version
379
365
  version: '0'
366
+ - !ruby/object:Gem::Dependency
367
+ name: teaspoon
368
+ requirement: !ruby/object:Gem::Requirement
369
+ requirements:
370
+ - - ">="
371
+ - !ruby/object:Gem::Version
372
+ version: '0'
373
+ type: :development
374
+ prerelease: false
375
+ version_requirements: !ruby/object:Gem::Requirement
376
+ requirements:
377
+ - - ">="
378
+ - !ruby/object:Gem::Version
379
+ version: '0'
380
380
  description: GeoBlacklight provides a world-class discovery platform for geospatial
381
381
  (GIS) holdings. It is an open collaborative project aiming to build off of the successes
382
382
  of the Blacklight Solr-powered discovery interface and the multi-institutional OpenGeoportal
@@ -406,8 +406,68 @@ files:
406
406
  - LICENSE.txt
407
407
  - README.md
408
408
  - Rakefile
409
+ - app/assets/images/blacklight/arrow-circle-down.svg
410
+ - app/assets/images/blacklight/baruch-cuny.svg
411
+ - app/assets/images/blacklight/berkeley.svg
412
+ - app/assets/images/blacklight/book.svg
413
+ - app/assets/images/blacklight/bookmark.svg
414
+ - app/assets/images/blacklight/cd-rom.svg
415
+ - app/assets/images/blacklight/chicago.svg
416
+ - app/assets/images/blacklight/citation.svg
417
+ - app/assets/images/blacklight/collection.svg
418
+ - app/assets/images/blacklight/columbia.svg
419
+ - app/assets/images/blacklight/cornell.svg
420
+ - app/assets/images/blacklight/dvd-rom.svg
421
+ - app/assets/images/blacklight/email.svg
409
422
  - app/assets/images/blacklight/esri-globe.svg
410
- - app/assets/images/blacklight/logo.png
423
+ - app/assets/images/blacklight/geoblacklight-icons.json
424
+ - app/assets/images/blacklight/globe.svg
425
+ - app/assets/images/blacklight/harvard.svg
426
+ - app/assets/images/blacklight/home.svg
427
+ - app/assets/images/blacklight/illinois.svg
428
+ - app/assets/images/blacklight/image.svg
429
+ - app/assets/images/blacklight/indiana.svg
430
+ - app/assets/images/blacklight/iowa.svg
431
+ - app/assets/images/blacklight/leaf.svg
432
+ - app/assets/images/blacklight/lewis-clark.svg
433
+ - app/assets/images/blacklight/line.svg
434
+ - app/assets/images/blacklight/logo.svg
435
+ - app/assets/images/blacklight/map-marker.svg
436
+ - app/assets/images/blacklight/map.svg
437
+ - app/assets/images/blacklight/maryland.svg
438
+ - app/assets/images/blacklight/massgis.svg
439
+ - app/assets/images/blacklight/metadata.svg
440
+ - app/assets/images/blacklight/michigan-state.svg
441
+ - app/assets/images/blacklight/michigan.svg
442
+ - app/assets/images/blacklight/minnesota.svg
443
+ - app/assets/images/blacklight/mit.svg
444
+ - app/assets/images/blacklight/mixed.svg
445
+ - app/assets/images/blacklight/multilinestring.svg
446
+ - app/assets/images/blacklight/multipoint.svg
447
+ - app/assets/images/blacklight/multipolygon.svg
448
+ - app/assets/images/blacklight/nyu.svg
449
+ - app/assets/images/blacklight/ohio-state.svg
450
+ - app/assets/images/blacklight/pagelines-brands.svg
451
+ - app/assets/images/blacklight/paper-map.svg
452
+ - app/assets/images/blacklight/penn-state.svg
453
+ - app/assets/images/blacklight/point.svg
454
+ - app/assets/images/blacklight/polygon.svg
455
+ - app/assets/images/blacklight/polyline.svg
456
+ - app/assets/images/blacklight/princeton.svg
457
+ - app/assets/images/blacklight/public.svg
458
+ - app/assets/images/blacklight/purdue.svg
459
+ - app/assets/images/blacklight/raster.svg
460
+ - app/assets/images/blacklight/restricted.svg
461
+ - app/assets/images/blacklight/sms.svg
462
+ - app/assets/images/blacklight/stanford.svg
463
+ - app/assets/images/blacklight/table.svg
464
+ - app/assets/images/blacklight/tags.svg
465
+ - app/assets/images/blacklight/texas.svg
466
+ - app/assets/images/blacklight/tufts.svg
467
+ - app/assets/images/blacklight/ucla.svg
468
+ - app/assets/images/blacklight/uva.svg
469
+ - app/assets/images/blacklight/web_services.svg
470
+ - app/assets/images/blacklight/wisconsin.svg
411
471
  - app/assets/javascripts/geoblacklight/basemaps.js
412
472
  - app/assets/javascripts/geoblacklight/controls.js
413
473
  - app/assets/javascripts/geoblacklight/controls/opacity.js
@@ -416,9 +476,9 @@ files:
416
476
  - app/assets/javascripts/geoblacklight/downloaders/hgl_downloader.js
417
477
  - app/assets/javascripts/geoblacklight/geoblacklight.js
418
478
  - app/assets/javascripts/geoblacklight/modules.js
419
- - app/assets/javascripts/geoblacklight/modules/collapse.js
420
479
  - app/assets/javascripts/geoblacklight/modules/download.js
421
480
  - app/assets/javascripts/geoblacklight/modules/geosearch.js
481
+ - app/assets/javascripts/geoblacklight/modules/help_text.js
422
482
  - app/assets/javascripts/geoblacklight/modules/home.js
423
483
  - app/assets/javascripts/geoblacklight/modules/item.js
424
484
  - app/assets/javascripts/geoblacklight/modules/layer_opacity.js
@@ -438,6 +498,7 @@ files:
438
498
  - app/assets/javascripts/geoblacklight/viewers/iiif.js
439
499
  - app/assets/javascripts/geoblacklight/viewers/index_map.js
440
500
  - app/assets/javascripts/geoblacklight/viewers/map.js
501
+ - app/assets/javascripts/geoblacklight/viewers/oembed.js
441
502
  - app/assets/javascripts/geoblacklight/viewers/viewer.js
442
503
  - app/assets/javascripts/geoblacklight/viewers/wms.js
443
504
  - app/assets/stylesheets/geoblacklight/_blacklight_overrides.scss
@@ -474,10 +535,12 @@ files:
474
535
  - app/models/concerns/geoblacklight/solr_document.rb
475
536
  - app/models/concerns/geoblacklight/solr_document/arcgis.rb
476
537
  - app/models/concerns/geoblacklight/solr_document/carto.rb
538
+ - app/models/concerns/geoblacklight/solr_document/citation.rb
477
539
  - app/models/concerns/geoblacklight/solr_document/finder.rb
478
540
  - app/models/concerns/geoblacklight/solr_document/inspection.rb
479
541
  - app/models/concerns/geoblacklight/spatial_search_behavior.rb
480
542
  - app/presenters/geoblacklight/document_presenter.rb
543
+ - app/views/catalog/_citation.html.erb
481
544
  - app/views/catalog/_data_dictionary.html.erb
482
545
  - app/views/catalog/_document_action.html.erb
483
546
  - app/views/catalog/_document_split.html.erb
@@ -568,6 +631,7 @@ files:
568
631
  - lib/geoblacklight/wms_layer.rb
569
632
  - lib/geoblacklight/wms_layer/feature_info_response.rb
570
633
  - lib/tasks/geoblacklight.rake
634
+ - package.json
571
635
  - schema/format-values.md
572
636
  - schema/geoblacklight-schema-deprecated.md
573
637
  - schema/geoblacklight-schema.json
@@ -606,6 +670,7 @@ files:
606
670
  - spec/features/empty_search_spec.rb
607
671
  - spec/features/esri_viewer_spec.rb
608
672
  - spec/features/exports_spec.rb
673
+ - spec/features/help_text_spec.rb
609
674
  - spec/features/home_page_spec.rb
610
675
  - spec/features/iiif_viewer_spec.rb
611
676
  - spec/features/index_map_spec.rb
@@ -616,6 +681,7 @@ files:
616
681
  - spec/features/linkified_attribute_table_spec.rb
617
682
  - spec/features/metadata_panel_spec.rb
618
683
  - spec/features/missing_metadata_spec.rb
684
+ - spec/features/oembed_spec.rb
619
685
  - spec/features/relations_spec.rb
620
686
  - spec/features/saved_searches_spec.rb
621
687
  - spec/features/search_bar_spec.rb
@@ -625,7 +691,12 @@ files:
625
691
  - spec/features/show_page_metadata_spec.rb
626
692
  - spec/features/sms_spec.rb
627
693
  - spec/features/split_view.html.erb_spec.rb
694
+ - spec/features/suppressed_records_spec.rb
628
695
  - spec/features/web_services_modal_spec.rb
696
+ - spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml
697
+ - spec/fixtures/iso19139/stanford-cg357zz0321.xml
698
+ - spec/fixtures/mods/fb897vt9938.mods
699
+ - spec/fixtures/mods/stanford-cg357zz0321.mods
629
700
  - spec/fixtures/solr_documents/README.md
630
701
  - spec/fixtures/solr_documents/actual-papermap1.json
631
702
  - spec/fixtures/solr_documents/actual-point1.json
@@ -648,7 +719,11 @@ files:
648
719
  - spec/fixtures/solr_documents/index-map-polygon.json
649
720
  - spec/fixtures/solr_documents/index-map-stanford.json
650
721
  - spec/fixtures/solr_documents/index_map_point.json
722
+ - spec/fixtures/solr_documents/metadata_no_dct_provenance_s.json
723
+ - spec/fixtures/solr_documents/metadata_no_layer_geom_type_s.json
724
+ - spec/fixtures/solr_documents/metadata_no_solr_geom.json
651
725
  - spec/fixtures/solr_documents/no_spatial.json
726
+ - spec/fixtures/solr_documents/oembed.json
652
727
  - spec/fixtures/solr_documents/princeton-child1.json
653
728
  - spec/fixtures/solr_documents/princeton-child2.json
654
729
  - spec/fixtures/solr_documents/princeton-child3.json
@@ -696,6 +771,7 @@ files:
696
771
  - spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb
697
772
  - spec/lib/geoblacklight/wms_layer_spec.rb
698
773
  - spec/models/concerns/geoblacklight/solr_document/carto_spec.rb
774
+ - spec/models/concerns/geoblacklight/solr_document/citation_spec.rb
699
775
  - spec/models/concerns/geoblacklight/solr_document/finder_spec.rb
700
776
  - spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb
701
777
  - spec/models/concerns/geoblacklight/solr_document_spec.rb
@@ -705,7 +781,10 @@ files:
705
781
  - spec/support/backport_test_helpers.rb
706
782
  - spec/support/features.rb
707
783
  - spec/support/features/session_helpers.rb
784
+ - spec/support/fixtures.rb
785
+ - spec/tasks/geoblacklight_spec.rb
708
786
  - spec/teaspoon_env.rb
787
+ - spec/test_app_templates/Gemfile.extra
709
788
  - spec/test_app_templates/lib/generators/test_app_generator.rb
710
789
  - spec/test_app_templates/metadata/fgdc.html
711
790
  - spec/test_app_templates/metadata/fgdc.xml
@@ -729,6 +808,7 @@ files:
729
808
  - vendor/assets/javascripts/leaflet-src.js.map
730
809
  - vendor/assets/javascripts/leaflet.js.erb
731
810
  - vendor/assets/javascripts/native.history.js
811
+ - vendor/assets/javascripts/readmore.js
732
812
  - vendor/assets/javascripts/readmore.min.js
733
813
  - vendor/assets/stylesheets/leaflet-label.css
734
814
  - vendor/assets/stylesheets/leaflet.css
@@ -751,7 +831,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
751
831
  - !ruby/object:Gem::Version
752
832
  version: 2.5.2
753
833
  requirements: []
754
- rubygems_version: 3.0.3
834
+ rubygems_version: 3.1.2
755
835
  signing_key:
756
836
  specification_version: 4
757
837
  summary: A discovery platform for geospatial holdings
@@ -768,6 +848,7 @@ test_files:
768
848
  - spec/features/empty_search_spec.rb
769
849
  - spec/features/esri_viewer_spec.rb
770
850
  - spec/features/exports_spec.rb
851
+ - spec/features/help_text_spec.rb
771
852
  - spec/features/home_page_spec.rb
772
853
  - spec/features/iiif_viewer_spec.rb
773
854
  - spec/features/index_map_spec.rb
@@ -778,6 +859,7 @@ test_files:
778
859
  - spec/features/linkified_attribute_table_spec.rb
779
860
  - spec/features/metadata_panel_spec.rb
780
861
  - spec/features/missing_metadata_spec.rb
862
+ - spec/features/oembed_spec.rb
781
863
  - spec/features/relations_spec.rb
782
864
  - spec/features/saved_searches_spec.rb
783
865
  - spec/features/search_bar_spec.rb
@@ -787,7 +869,12 @@ test_files:
787
869
  - spec/features/show_page_metadata_spec.rb
788
870
  - spec/features/sms_spec.rb
789
871
  - spec/features/split_view.html.erb_spec.rb
872
+ - spec/features/suppressed_records_spec.rb
790
873
  - spec/features/web_services_modal_spec.rb
874
+ - spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml
875
+ - spec/fixtures/iso19139/stanford-cg357zz0321.xml
876
+ - spec/fixtures/mods/fb897vt9938.mods
877
+ - spec/fixtures/mods/stanford-cg357zz0321.mods
791
878
  - spec/fixtures/solr_documents/README.md
792
879
  - spec/fixtures/solr_documents/actual-papermap1.json
793
880
  - spec/fixtures/solr_documents/actual-point1.json
@@ -810,7 +897,11 @@ test_files:
810
897
  - spec/fixtures/solr_documents/index-map-polygon.json
811
898
  - spec/fixtures/solr_documents/index-map-stanford.json
812
899
  - spec/fixtures/solr_documents/index_map_point.json
900
+ - spec/fixtures/solr_documents/metadata_no_dct_provenance_s.json
901
+ - spec/fixtures/solr_documents/metadata_no_layer_geom_type_s.json
902
+ - spec/fixtures/solr_documents/metadata_no_solr_geom.json
813
903
  - spec/fixtures/solr_documents/no_spatial.json
904
+ - spec/fixtures/solr_documents/oembed.json
814
905
  - spec/fixtures/solr_documents/princeton-child1.json
815
906
  - spec/fixtures/solr_documents/princeton-child2.json
816
907
  - spec/fixtures/solr_documents/princeton-child3.json
@@ -858,6 +949,7 @@ test_files:
858
949
  - spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb
859
950
  - spec/lib/geoblacklight/wms_layer_spec.rb
860
951
  - spec/models/concerns/geoblacklight/solr_document/carto_spec.rb
952
+ - spec/models/concerns/geoblacklight/solr_document/citation_spec.rb
861
953
  - spec/models/concerns/geoblacklight/solr_document/finder_spec.rb
862
954
  - spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb
863
955
  - spec/models/concerns/geoblacklight/solr_document_spec.rb
@@ -867,7 +959,10 @@ test_files:
867
959
  - spec/support/backport_test_helpers.rb
868
960
  - spec/support/features.rb
869
961
  - spec/support/features/session_helpers.rb
962
+ - spec/support/fixtures.rb
963
+ - spec/tasks/geoblacklight_spec.rb
870
964
  - spec/teaspoon_env.rb
965
+ - spec/test_app_templates/Gemfile.extra
871
966
  - spec/test_app_templates/lib/generators/test_app_generator.rb
872
967
  - spec/test_app_templates/metadata/fgdc.html
873
968
  - spec/test_app_templates/metadata/fgdc.xml