geoblacklight 3.2.0 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +142 -0
- data/.gitignore +8 -0
- data/.rubocop.yml +9 -10
- data/.rubocop_todo.yml +356 -26
- data/README.md +2 -2
- data/Rakefile +12 -4
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/javascripts/geoblacklight/geoblacklight.js +18 -1
- data/app/assets/javascripts/geoblacklight/modules/bookmarks.js +43 -0
- data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +6 -1
- data/app/assets/javascripts/geoblacklight/modules/results.js +7 -8
- data/app/assets/javascripts/geoblacklight/modules/util.js +5 -0
- data/app/assets/javascripts/geoblacklight/viewers/esri.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/index_map.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/map.js +12 -2
- data/app/assets/javascripts/geoblacklight/viewers/tms.js +10 -0
- data/app/assets/javascripts/geoblacklight/viewers/wms.js +1 -1
- data/app/assets/stylesheets/geoblacklight/modules/results.scss +1 -1
- data/app/helpers/geoblacklight_helper.rb +13 -1
- data/app/models/concerns/geoblacklight/solr_document.rb +8 -13
- data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +3 -3
- data/app/views/catalog/_document_split.html.erb +1 -1
- data/app/views/catalog/_index_split_default.html.erb +1 -1
- data/app/views/catalog/_show_default_viewer_container.html.erb +1 -1
- data/app/views/download/hgl.html.erb +13 -11
- data/app/views/relation/_ancestors.html.erb +2 -2
- data/app/views/relation/_descendants.html.erb +2 -2
- data/babel.config.json +4 -0
- data/config/initializers/new_gbl_settings_defaults_3_3.yml +10 -0
- data/config/initializers/rails_config.rb +4 -0
- data/config/locales/geoblacklight.en.yml +4 -0
- data/geoblacklight.gemspec +4 -2
- data/jest.config.js +25 -0
- data/lib/generators/geoblacklight/install_generator.rb +1 -1
- data/lib/generators/geoblacklight/templates/catalog_controller.rb +1 -1
- data/lib/generators/geoblacklight/templates/settings.yml +20 -11
- data/lib/geoblacklight.rb +1 -2
- data/lib/geoblacklight/bounding_box.rb +1 -1
- data/lib/geoblacklight/constants.rb +1 -0
- data/lib/geoblacklight/download/kmz_download.rb +1 -1
- data/lib/geoblacklight/geometry.rb +70 -0
- data/lib/geoblacklight/item_viewer.rb +5 -1
- data/lib/geoblacklight/metadata/base.rb +1 -7
- data/lib/geoblacklight/relation/ancestors.rb +2 -2
- data/lib/geoblacklight/relation/descendants.rb +1 -1
- data/lib/geoblacklight/version.rb +1 -1
- data/lib/geoblacklight/wms_layer.rb +1 -4
- data/lib/tasks/geoblacklight.rake +5 -0
- data/package.json +17 -1
- data/setupJest.js +14 -0
- data/solr/conf/schema.xml +1 -3
- data/spec/config/initializers/rails_config_spec.rb +14 -0
- data/spec/controllers/catalog_controller_spec.rb +6 -6
- data/spec/features/download_layer_spec.rb +1 -1
- data/spec/features/relations_spec.rb +1 -1
- data/spec/features/search_results_overlap_ratio_spec.rb +2 -2
- data/spec/features/split_view.html.erb_spec.rb +1 -1
- data/spec/features/tms_spec.rb +10 -0
- data/spec/fixtures/solr_documents/public_iiif_princeton.json +1 -1
- data/spec/fixtures/solr_documents/tms.json +29 -0
- data/spec/helpers/geoblacklight_helper_spec.rb +30 -4
- data/spec/javascripts/geoblacklight_spec.js +0 -6
- data/spec/javascripts/metadata_download_button_spec.js +5 -3
- data/spec/javascripts/util_spec.js +2 -4
- data/spec/lib/geoblacklight/download/kmz_download_spec.rb +2 -2
- data/spec/lib/geoblacklight/download_spec.rb +1 -1
- data/spec/lib/geoblacklight/geometry_spec.rb +48 -0
- data/spec/lib/geoblacklight/item_viewer_spec.rb +12 -0
- data/spec/lib/geoblacklight/references_spec.rb +1 -1
- data/spec/lib/geoblacklight/relation/ancestors_spec.rb +1 -1
- data/spec/lib/geoblacklight/relation/descendants_spec.rb +1 -1
- data/spec/test_app_templates/Gemfile.extra +1 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +0 -7
- data/spec/views/catalog/_document_split.html.erb_spec.rb +1 -1
- data/spec/views/catalog/_index_split.html.erb_spec.rb +1 -1
- data/template.rb +1 -0
- metadata +62 -26
- data/.circleci/config.yml +0 -256
- data/spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js +0 -12
- data/spec/javascripts/spec_helper.js +0 -32
- data/spec/lib/geoblacklight/controller_override_spec.rb +0 -2
- data/spec/teaspoon_env.rb +0 -214
@@ -72,12 +72,12 @@ describe CatalogController, type: :controller do
|
|
72
72
|
expect(response.body).not_to be_empty
|
73
73
|
response_values = JSON.parse(response.body)
|
74
74
|
expect(response_values).to include 'geoblacklight_version' => '1.0'
|
75
|
-
expect(response_values).to include
|
76
|
-
expect(response_values).to include
|
77
|
-
expect(response_values).to include
|
78
|
-
expect(response_values).to include
|
79
|
-
expect(response_values).to include
|
80
|
-
expect(response_values).to include
|
75
|
+
expect(response_values).to include Settings.FIELDS.TITLE => '100 Foot Grid Cambridge MA 2004'
|
76
|
+
expect(response_values).to include Settings.FIELDS.IDENTIFIER => 'urn:geodata.tufts.edu:Tufts.CambridgeGrid100_04'
|
77
|
+
expect(response_values).to include Settings.FIELDS.RIGHTS => 'Public'
|
78
|
+
expect(response_values).to include Settings.FIELDS.PROVENANCE => 'Tufts'
|
79
|
+
expect(response_values).to include Settings.FIELDS.UNIQUE_KEY => 'tufts-cambridgegrid100-04'
|
80
|
+
expect(response_values).to include Settings.FIELDS.GEOMETRY => 'ENVELOPE(-71.163984, -71.052581, 42.408316, 42.34757)'
|
81
81
|
end
|
82
82
|
end
|
83
83
|
end
|
@@ -41,7 +41,7 @@ feature 'Download layer' do
|
|
41
41
|
end
|
42
42
|
scenario 'clicking jpg download button should redirect to external image' do
|
43
43
|
visit solr_document_path('princeton-02870w62c')
|
44
|
-
expect(page).to have_css("a.btn.btn-default[href='https://
|
44
|
+
expect(page).to have_css("a.btn.btn-default[href='https://iiif-cloud.princeton.edu/iiif/2/6c%2F52%2F12%2F6c5212e81bc845f59bb1cdc740a88bad%2Fintermediate_file/full/full/0/default.jpg']", text: 'Original JPG')
|
45
45
|
end
|
46
46
|
scenario 'options should be available under toggle' do
|
47
47
|
visit solr_document_path('mit-f6rqs4ucovjk2')
|
@@ -16,7 +16,7 @@ feature 'Display related documents' do
|
|
16
16
|
visit relations_solr_document_path('nyu_2451_34635', format: 'json')
|
17
17
|
response = JSON.parse(page.body)
|
18
18
|
expect(response['ancestors']['numFound']).to eq 0
|
19
|
-
expect(response['descendants']['docs'].first[
|
19
|
+
expect(response['descendants']['docs'].first[Settings.FIELDS.UNIQUE_KEY]).to eq 'nyu_2451_34502'
|
20
20
|
expect(response['current_doc']).to eq 'nyu_2451_34635'
|
21
21
|
end
|
22
22
|
|
@@ -8,7 +8,7 @@ feature 'spatial search results overlap ratio' do
|
|
8
8
|
# BBox param is the US upper midwest and Canada, roughly centered on the state of Minnesota
|
9
9
|
visit search_catalog_path(
|
10
10
|
bbox: '-103.196521 39.21962 -84.431873 53.63497',
|
11
|
-
|
11
|
+
"f[#{Settings.FIELDS.PROVENANCE}][]": 'Minnesota'
|
12
12
|
)
|
13
13
|
|
14
14
|
# MN State result
|
@@ -30,7 +30,7 @@ feature 'spatial search results overlap ratio' do
|
|
30
30
|
# BBox param is the center to western edge of New York state and Canada, roughly centered on Lake Ontario
|
31
31
|
visit search_catalog_path(
|
32
32
|
bbox: '-83.750499 40.41709 -74.368175 47.963663',
|
33
|
-
|
33
|
+
"f[#{Settings.FIELDS.PROVENANCE}][]": 'Cornell'
|
34
34
|
)
|
35
35
|
|
36
36
|
# NY State result
|
@@ -10,7 +10,7 @@ feature 'Index view', js: true do
|
|
10
10
|
scenario 'should have documents and map on page' do
|
11
11
|
visit search_catalog_path(f: { Settings.FIELDS.PROVENANCE => ['Stanford'] })
|
12
12
|
expect(page).to have_css('#documents')
|
13
|
-
expect(page).to have_css('.document', count:
|
13
|
+
expect(page).to have_css('.document', count: 6)
|
14
14
|
expect(page).to have_css('#map')
|
15
15
|
end
|
16
16
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
feature 'tms layer' do
|
5
|
+
scenario 'displays tms layer', js: true do
|
6
|
+
visit solr_document_path('6f47b103-9955-4bbe-a364-387039623106')
|
7
|
+
expect(page).to have_css '.leaflet-control-zoom', visible: true
|
8
|
+
expect(page).to have_css "img[src*='earthquake.usgs.gov']"
|
9
|
+
end
|
10
|
+
end
|
@@ -16,7 +16,7 @@
|
|
16
16
|
"Rogers, Henry Darwin",
|
17
17
|
"Pownall, Thomas"
|
18
18
|
],
|
19
|
-
"dct_references_s": "{\"http://schema.org/url\":\"http://arks.princeton.edu/ark:/88435/02870w62c\",\"http://schema.org/thumbnailUrl\":\"https://
|
19
|
+
"dct_references_s": "{\"http://schema.org/url\":\"http://arks.princeton.edu/ark:/88435/02870w62c\",\"http://schema.org/thumbnailUrl\":\"https://iiif-cloud.princeton.edu/iiif/2/6c%2F52%2F12%2F6c5212e81bc845f59bb1cdc740a88bad%2Fintermediate_file/full/!200,150/0/default.jpg\",\"http://iiif.io/api/image\":\"https://iiif-cloud.princeton.edu/iiif/2/6c%2F52%2F12%2F6c5212e81bc845f59bb1cdc740a88bad%2Fintermediate_file/info.json\"}",
|
20
20
|
"dct_spatial_sm": [
|
21
21
|
"New York (State)",
|
22
22
|
"New Jersey",
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"dc_identifier_s": "6f47b103-9955-4bbe-a364-387039623106",
|
3
|
+
"dc_title_s": "Quaternary Fault and Fold Database of the United States",
|
4
|
+
"dc_description_s": "Quaternary Fault and Fold Database of the United States",
|
5
|
+
"dc_rights_s": "Public",
|
6
|
+
"dct_provenance_s": "Stanford",
|
7
|
+
"dct_references_s": "{\"http://schema.org/url\":\"https://www.usgs.gov/natural-hazards/earthquake-hazards/faults\",\"https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification\":\"https://earthquake.usgs.gov/basemap/tiles/faults/{z}/{x}/{y}.png\",\"http://schema.org/downloadUrl\":\"https://earthquake.usgs.gov/static/lfs/nshm/qfaults/Qfaults_GIS.zip\"}",
|
8
|
+
"layer_slug_s": "6f47b103-9955-4bbe-a364-387039623106",
|
9
|
+
"layer_geom_type_s": "Polyline",
|
10
|
+
"dc_format_s": "Shapefile",
|
11
|
+
"dc_language_s": "English",
|
12
|
+
"dc_type_s": "Dataset",
|
13
|
+
"dc_publisher_s": "Geological Survey (U.S.)",
|
14
|
+
"dc_subject_sm": [
|
15
|
+
"Earthquakes",
|
16
|
+
"Faults"
|
17
|
+
],
|
18
|
+
"dct_issued_s": "2020",
|
19
|
+
"dct_temporal_sm": [
|
20
|
+
"2020"
|
21
|
+
],
|
22
|
+
"dct_spatial_sm": [
|
23
|
+
"Earth (Planet)",
|
24
|
+
"North America"
|
25
|
+
],
|
26
|
+
"solr_geom": "ENVELOPE(-156.02, -70.80, 65.59, 18.93)",
|
27
|
+
"solr_year_i": 2020,
|
28
|
+
"geoblacklight_version": "1.0"
|
29
|
+
}
|
@@ -346,12 +346,12 @@ describe GeoblacklightHelper, type: :helper do
|
|
346
346
|
end
|
347
347
|
|
348
348
|
it 'renders a goemetry type as the icon' do
|
349
|
-
html = Capybara.string(helper.relations_icon({
|
349
|
+
html = Capybara.string(helper.relations_icon({ Settings.FIELDS.GEOM_TYPE => 'polygon' }, 'leaf'))
|
350
350
|
expect(html.title.strip).to eq 'Polygon'
|
351
351
|
end
|
352
352
|
|
353
353
|
it 'has the svg_tooltip class so that the Bootstrap tooltip is applied' do
|
354
|
-
html = Capybara.string(helper.relations_icon({
|
354
|
+
html = Capybara.string(helper.relations_icon({ Settings.FIELDS.GEOM_TYPE => 'polygon' }, 'leaf'))
|
355
355
|
expect(html).to have_css('.blacklight-icons.svg_tooltip')
|
356
356
|
end
|
357
357
|
end
|
@@ -362,14 +362,40 @@ describe GeoblacklightHelper, type: :helper do
|
|
362
362
|
end
|
363
363
|
|
364
364
|
it 'renders the provided icon' do
|
365
|
-
html = Capybara.string(helper.relations_icon({
|
365
|
+
html = Capybara.string(helper.relations_icon({ Settings.FIELDS.GEOM_TYPE => 'polygon' }, 'leaf'))
|
366
366
|
expect(html.title.strip).to eq 'Leaf'
|
367
367
|
end
|
368
368
|
|
369
369
|
it 'does not have the svg_tooltip class' do
|
370
|
-
html = Capybara.string(helper.relations_icon({
|
370
|
+
html = Capybara.string(helper.relations_icon({ Settings.FIELDS.GEOM_TYPE => 'polygon' }, 'leaf'))
|
371
371
|
expect(html).not_to have_css('.blacklight-icons.svg_tooltip')
|
372
372
|
end
|
373
373
|
end
|
374
374
|
end
|
375
|
+
|
376
|
+
describe '#results_js_map_selector' do
|
377
|
+
context 'viewing bookmarks' do
|
378
|
+
let(:controller_name) { 'bookmarks' }
|
379
|
+
|
380
|
+
it 'returns bookmarks data-map selector' do
|
381
|
+
expect(results_js_map_selector(controller_name)).to eq 'bookmarks'
|
382
|
+
end
|
383
|
+
end
|
384
|
+
|
385
|
+
context 'viewing catalog results' do
|
386
|
+
let(:controller_name) { 'catalog' }
|
387
|
+
|
388
|
+
it 'returns index data-map selector' do
|
389
|
+
expect(results_js_map_selector(controller_name)).to eq 'index'
|
390
|
+
end
|
391
|
+
end
|
392
|
+
|
393
|
+
context 'calling outside of intended scope' do
|
394
|
+
let(:controller_name) { 'outside' }
|
395
|
+
|
396
|
+
it 'returns default data-map value' do
|
397
|
+
expect(results_js_map_selector(controller_name)).to eq 'index'
|
398
|
+
end
|
399
|
+
end
|
400
|
+
end
|
375
401
|
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
//= require geoblacklight
|
2
|
-
|
3
1
|
describe('GeoBlacklight', function() {
|
4
2
|
describe('loads and makes available libraries', function() {
|
5
3
|
it('Leaflet is defined', function() {
|
@@ -9,9 +7,5 @@ describe('GeoBlacklight', function() {
|
|
9
7
|
it('History.js is defined', function() {
|
10
8
|
expect(History).toBeDefined();
|
11
9
|
});
|
12
|
-
|
13
|
-
it('MetadataDownloadButton is defined', function() {
|
14
|
-
expect(GeoBlacklight.MetadataDownloadButton).toBeDefined();
|
15
|
-
});
|
16
10
|
});
|
17
11
|
});
|
@@ -1,11 +1,13 @@
|
|
1
|
-
|
1
|
+
const MetadataDownloadButton = require('../../app/assets/javascripts/geoblacklight/modules/metadata_download_button');
|
2
2
|
|
3
3
|
describe('MetadataDownloadButton', function() {
|
4
4
|
describe('initialize', function() {
|
5
|
-
|
5
|
+
beforeEach(() => {
|
6
|
+
document.body.innerHTML = '<button id="foo" data-ref-endpoint="http://testdomain" data-ref-download="#bar">test element</button><a href="http://testdomain" id="bar">another test element</a>';
|
7
|
+
});
|
6
8
|
|
7
9
|
it('creates a new instance and sets the download button @href value', function() {
|
8
|
-
var button = new
|
10
|
+
var button = new MetadataDownloadButton('#foo');
|
9
11
|
expect(button.$el.attr('id')).toBe('foo');
|
10
12
|
expect(button.$download.attr('id')).toBe('bar');
|
11
13
|
expect(button.$download.attr('href')).toBe('http://testdomain');
|
@@ -1,11 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
'use strict';
|
1
|
+
const Util = require('../../app/assets/javascripts/geoblacklight/modules/util');
|
4
2
|
|
5
3
|
describe('GeoBlacklight.Util', function() {
|
6
4
|
describe('linkify', function() {
|
7
5
|
it('returns a linkified string', function() {
|
8
|
-
expect(
|
6
|
+
expect(Util.linkify('http://www.example.com'))
|
9
7
|
.toEqual("<a href='http://www.example.com'>http://www.example.com</a>");
|
10
8
|
});
|
11
9
|
});
|
@@ -2,7 +2,7 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe Geoblacklight::KmzDownload do
|
5
|
-
let(:document) { SolrDocument.new(
|
5
|
+
let(:document) { SolrDocument.new(Settings.FIELDS.UNIQUE_KEY => 'test', solr_wfs_url: 'http://www.example.com/wfs', Settings.FIELDS.WXS_IDENTIFIER => 'stanford-test', Settings.FIELDS.GEOMETRY => 'ENVELOPE(-180, 180, 90, -90)') }
|
6
6
|
let(:download) { described_class.new(document) }
|
7
7
|
describe '#initialize' do
|
8
8
|
it 'initializes as a KmzDownload object with specific options' do
|
@@ -10,7 +10,7 @@ describe Geoblacklight::KmzDownload do
|
|
10
10
|
options = download.instance_variable_get(:@options)
|
11
11
|
expect(options[:content_type]).to eq 'application/vnd.google-earth.kmz'
|
12
12
|
expect(options[:request_params][:layers]).to eq 'stanford-test'
|
13
|
-
expect(options[:request_params][:bbox]).to eq '-180, -90, 180, 90'
|
13
|
+
expect(options[:request_params][:bbox]).to eq '-180.0, -90.0, 180.0, 90.0'
|
14
14
|
end
|
15
15
|
it 'merges custom options' do
|
16
16
|
download = described_class.new(document, timeout: 33)
|
@@ -7,7 +7,7 @@ describe Geoblacklight::Download do
|
|
7
7
|
let(:faraday_connection) { instance_double(Faraday::Connection) }
|
8
8
|
let(:faraday_response) { instance_double(Faraday::Response) }
|
9
9
|
let(:references_field) { Settings.FIELDS.REFERENCES }
|
10
|
-
let(:document) { SolrDocument.new(
|
10
|
+
let(:document) { SolrDocument.new("#{Settings.FIELDS.UNIQUE_KEY}": 'test', references_field => { 'http://www.opengis.net/def/serviceType/ogc/wms' => 'http://www.example.com/wms' }.to_json) }
|
11
11
|
let(:options) { { type: 'shapefile', extension: 'zip', service_type: 'wms', content_type: 'application/zip' } }
|
12
12
|
|
13
13
|
describe '#initialize' do
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Geoblacklight::Geometry do
|
5
|
+
let(:wkt_geom) { 'MULTIPOLYGON(((-180 81.66, -180 -12.93, -168.35 -12.93, -168.35 81.66, -180 81.66)), ((180 81.66, 25 81.66, 25 -12.93, 180 -12.93, 180 81.66)))' }
|
6
|
+
let(:envelope_geom) { 'ENVELOPE(25, -168.35, 81.66, -12.93)' }
|
7
|
+
let(:invalid_geom) { 'INVALID' }
|
8
|
+
|
9
|
+
describe '#geojson' do
|
10
|
+
context 'with standard WKT geometry' do
|
11
|
+
it 'returns geojson' do
|
12
|
+
expect(described_class.new(wkt_geom).geojson).to include('MultiPolygon', 'coordinates', '[[[[-180.0,81.66]')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'with envelope syntax geometry' do
|
17
|
+
it 'returns geojson' do
|
18
|
+
expect(described_class.new(envelope_geom).geojson).to include('Polygon', 'coordinates', '[[[25.0,81.66]')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'with an invalid geometry' do
|
23
|
+
it 'returns an empty string' do
|
24
|
+
expect(described_class.new(invalid_geom).geojson).to eq ''
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '#bounding_box' do
|
30
|
+
context 'with standard WKT geometry' do
|
31
|
+
it 'returns a bounding_box' do
|
32
|
+
expect(described_class.new(wkt_geom).bounding_box).to eq '-180.0, -12.93, 180.0, 81.66'
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'with envelope syntax geometry' do
|
37
|
+
it 'returns a bounding_box' do
|
38
|
+
expect(described_class.new(envelope_geom).bounding_box).to eq '-168.35, -12.93, 25.0, 81.66'
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context 'with an invalid geometry' do
|
43
|
+
it 'returns an empty string' do
|
44
|
+
expect(described_class.new(invalid_geom).bounding_box).to eq ''
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -26,6 +26,18 @@ describe Geoblacklight::ItemViewer do
|
|
26
26
|
expect(item_viewer.viewer_preference).to eq wms: 'http://www.example.com/wms'
|
27
27
|
end
|
28
28
|
end
|
29
|
+
describe 'for tms reference' do
|
30
|
+
let(:document_attributes) do
|
31
|
+
{
|
32
|
+
references_field => {
|
33
|
+
'https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification' => 'http://www.example.com/tms'
|
34
|
+
}.to_json
|
35
|
+
}
|
36
|
+
end
|
37
|
+
it 'tms if tms is present' do
|
38
|
+
expect(item_viewer.viewer_preference).to eq tms: 'http://www.example.com/tms'
|
39
|
+
end
|
40
|
+
end
|
29
41
|
describe 'for iiif only reference' do
|
30
42
|
let(:document_attributes) do
|
31
43
|
{
|
@@ -76,7 +76,7 @@ describe Geoblacklight::References do
|
|
76
76
|
file_format_field => 'Raster',
|
77
77
|
references_field => {
|
78
78
|
'http://schema.org/url' => 'http://arks.princeton.edu/ark:/88435/02870w62c',
|
79
|
-
'http://iiif.io/api/image' => '
|
79
|
+
'http://iiif.io/api/image' => 'https://iiif-cloud.princeton.edu/iiif/2/6c%2F52%2F12%2F6c5212e81bc845f59bb1cdc740a88bad%2Fintermediate_file/info.json'
|
80
80
|
}.to_json
|
81
81
|
)
|
82
82
|
)
|
@@ -8,7 +8,7 @@ describe Geoblacklight::Relation::Ancestors do
|
|
8
8
|
|
9
9
|
describe '#create_search_params' do
|
10
10
|
it 'assembles the correct search params for finding ancestor documents' do
|
11
|
-
expect(ancestors.create_search_params).to eq(fq: ["{!join from=#{Settings.FIELDS.SOURCE} to
|
11
|
+
expect(ancestors.create_search_params).to eq(fq: ["{!join from=#{Settings.FIELDS.SOURCE} to=#{Settings.FIELDS.UNIQUE_KEY}}#{Settings.FIELDS.UNIQUE_KEY}:nyu_2451_34502"], fl: [Settings.FIELDS.TITLE.to_s, Settings.FIELDS.UNIQUE_KEY, Settings.FIELDS.GEOM_TYPE])
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -8,7 +8,7 @@ describe Geoblacklight::Relation::Descendants do
|
|
8
8
|
|
9
9
|
describe '#create_search_params' do
|
10
10
|
it 'assembles the correct search params for finding descendant documents' do
|
11
|
-
expect(descendants.create_search_params).to eq(fq: "#{Settings.FIELDS.SOURCE}:nyu_2451_34636", fl: [Settings.FIELDS.TITLE.to_s,
|
11
|
+
expect(descendants.create_search_params).to eq(fq: "#{Settings.FIELDS.SOURCE}:nyu_2451_34636", fl: [Settings.FIELDS.TITLE.to_s, Settings.FIELDS.UNIQUE_KEY, Settings.FIELDS.GEOM_TYPE])
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -14,8 +14,6 @@ class TestAppGenerator < Rails::Generators::Base
|
|
14
14
|
|
15
15
|
def add_gems
|
16
16
|
gem 'blacklight'
|
17
|
-
gem 'teaspoon'
|
18
|
-
gem 'teaspoon-jasmine'
|
19
17
|
gem 'webpacker' unless Rails.version.to_s.start_with? '6.1.'
|
20
18
|
Bundler.with_clean_env do
|
21
19
|
run 'bundle install'
|
@@ -42,9 +40,4 @@ class TestAppGenerator < Rails::Generators::Base
|
|
42
40
|
FileUtils.mkdir_p 'spec/fixtures/metadata'
|
43
41
|
directory 'metadata', 'spec/fixtures/metadata'
|
44
42
|
end
|
45
|
-
|
46
|
-
def install_teaspoon
|
47
|
-
# Implicit copy of GeoBlacklight checked-in teaspoon_env.rb
|
48
|
-
copy_file '../teaspoon_env.rb', 'spec/teaspoon_env.rb'
|
49
|
-
end
|
50
43
|
end
|
data/template.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
gem 'blacklight', '~> 7.0'
|
3
3
|
gem 'geoblacklight', '~> 3.0'
|
4
4
|
gem 'webpacker' unless Rails.version.to_s.start_with? '6.1.'
|
5
|
+
gem 'sprockets', '< 4.0' # Use sprockets less than 4.0, let webpacker users set this up themselves
|
5
6
|
|
6
7
|
# Hack for https://github.com/rails/rails/issues/35153
|
7
8
|
# Adapted from https://github.com/projectblacklight/blacklight/pull/2065
|
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: 3.
|
4
|
+
version: 3.3.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: 2021-
|
14
|
+
date: 2021-03-08 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -159,6 +159,20 @@ dependencies:
|
|
159
159
|
- - ">="
|
160
160
|
- !ruby/object:Gem::Version
|
161
161
|
version: '0'
|
162
|
+
- !ruby/object:Gem::Dependency
|
163
|
+
name: rgeo-geojson
|
164
|
+
requirement: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: '0'
|
169
|
+
type: :runtime
|
170
|
+
prerelease: false
|
171
|
+
version_requirements: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - ">="
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '0'
|
162
176
|
- !ruby/object:Gem::Dependency
|
163
177
|
name: solr_wrapper
|
164
178
|
requirement: !ruby/object:Gem::Requirement
|
@@ -272,7 +286,21 @@ dependencies:
|
|
272
286
|
- !ruby/object:Gem::Version
|
273
287
|
version: '1.3'
|
274
288
|
- !ruby/object:Gem::Dependency
|
275
|
-
name:
|
289
|
+
name: simplecov
|
290
|
+
requirement: !ruby/object:Gem::Requirement
|
291
|
+
requirements:
|
292
|
+
- - "~>"
|
293
|
+
- !ruby/object:Gem::Version
|
294
|
+
version: 0.17.1
|
295
|
+
type: :development
|
296
|
+
prerelease: false
|
297
|
+
version_requirements: !ruby/object:Gem::Requirement
|
298
|
+
requirements:
|
299
|
+
- - "~>"
|
300
|
+
- !ruby/object:Gem::Version
|
301
|
+
version: 0.17.1
|
302
|
+
- !ruby/object:Gem::Dependency
|
303
|
+
name: foreman
|
276
304
|
requirement: !ruby/object:Gem::Requirement
|
277
305
|
requirements:
|
278
306
|
- - ">="
|
@@ -286,47 +314,47 @@ dependencies:
|
|
286
314
|
- !ruby/object:Gem::Version
|
287
315
|
version: '0'
|
288
316
|
- !ruby/object:Gem::Dependency
|
289
|
-
name:
|
317
|
+
name: rubocop
|
290
318
|
requirement: !ruby/object:Gem::Requirement
|
291
319
|
requirements:
|
292
320
|
- - "~>"
|
293
321
|
- !ruby/object:Gem::Version
|
294
|
-
version:
|
322
|
+
version: '1.10'
|
295
323
|
type: :development
|
296
324
|
prerelease: false
|
297
325
|
version_requirements: !ruby/object:Gem::Requirement
|
298
326
|
requirements:
|
299
327
|
- - "~>"
|
300
328
|
- !ruby/object:Gem::Version
|
301
|
-
version:
|
329
|
+
version: '1.10'
|
302
330
|
- !ruby/object:Gem::Dependency
|
303
|
-
name:
|
331
|
+
name: rubocop-rails
|
304
332
|
requirement: !ruby/object:Gem::Requirement
|
305
333
|
requirements:
|
306
|
-
- - "
|
334
|
+
- - "~>"
|
307
335
|
- !ruby/object:Gem::Version
|
308
|
-
version: '
|
336
|
+
version: '2.9'
|
309
337
|
type: :development
|
310
338
|
prerelease: false
|
311
339
|
version_requirements: !ruby/object:Gem::Requirement
|
312
340
|
requirements:
|
313
|
-
- - "
|
341
|
+
- - "~>"
|
314
342
|
- !ruby/object:Gem::Version
|
315
|
-
version: '
|
343
|
+
version: '2.9'
|
316
344
|
- !ruby/object:Gem::Dependency
|
317
|
-
name:
|
345
|
+
name: rubocop-rspec
|
318
346
|
requirement: !ruby/object:Gem::Requirement
|
319
347
|
requirements:
|
320
|
-
- - "
|
348
|
+
- - "~>"
|
321
349
|
- !ruby/object:Gem::Version
|
322
|
-
version: '
|
350
|
+
version: '2.2'
|
323
351
|
type: :development
|
324
352
|
prerelease: false
|
325
353
|
version_requirements: !ruby/object:Gem::Requirement
|
326
354
|
requirements:
|
327
|
-
- - "
|
355
|
+
- - "~>"
|
328
356
|
- !ruby/object:Gem::Version
|
329
|
-
version: '
|
357
|
+
version: '2.2'
|
330
358
|
description: GeoBlacklight provides a world-class discovery platform for geospatial
|
331
359
|
(GIS) holdings. It is an open collaborative project aiming to build off of the successes
|
332
360
|
of the Blacklight Solr-powered discovery interface and the multi-institutional OpenGeoportal
|
@@ -341,8 +369,8 @@ executables:
|
|
341
369
|
extensions: []
|
342
370
|
extra_rdoc_files: []
|
343
371
|
files:
|
344
|
-
- ".circleci/config.yml"
|
345
372
|
- ".github/ISSUE_TEMPLATE.md"
|
373
|
+
- ".github/workflows/ruby.yml"
|
346
374
|
- ".gitignore"
|
347
375
|
- ".gitmodules"
|
348
376
|
- ".hound.yml"
|
@@ -419,6 +447,7 @@ files:
|
|
419
447
|
- app/assets/images/blacklight/uva.svg
|
420
448
|
- app/assets/images/blacklight/web_services.svg
|
421
449
|
- app/assets/images/blacklight/wisconsin.svg
|
450
|
+
- app/assets/images/favicon.ico
|
422
451
|
- app/assets/javascripts/geoblacklight/basemaps.js
|
423
452
|
- app/assets/javascripts/geoblacklight/controls.js
|
424
453
|
- app/assets/javascripts/geoblacklight/controls/opacity.js
|
@@ -427,6 +456,7 @@ files:
|
|
427
456
|
- app/assets/javascripts/geoblacklight/downloaders/hgl_downloader.js
|
428
457
|
- app/assets/javascripts/geoblacklight/geoblacklight.js
|
429
458
|
- app/assets/javascripts/geoblacklight/modules.js
|
459
|
+
- app/assets/javascripts/geoblacklight/modules/bookmarks.js
|
430
460
|
- app/assets/javascripts/geoblacklight/modules/download.js
|
431
461
|
- app/assets/javascripts/geoblacklight/modules/geosearch.js
|
432
462
|
- app/assets/javascripts/geoblacklight/modules/help_text.js
|
@@ -451,6 +481,7 @@ files:
|
|
451
481
|
- app/assets/javascripts/geoblacklight/viewers/index_map.js
|
452
482
|
- app/assets/javascripts/geoblacklight/viewers/map.js
|
453
483
|
- app/assets/javascripts/geoblacklight/viewers/oembed.js
|
484
|
+
- app/assets/javascripts/geoblacklight/viewers/tms.js
|
454
485
|
- app/assets/javascripts/geoblacklight/viewers/viewer.js
|
455
486
|
- app/assets/javascripts/geoblacklight/viewers/wms.js
|
456
487
|
- app/assets/stylesheets/geoblacklight/geoblacklight.scss
|
@@ -533,10 +564,13 @@ files:
|
|
533
564
|
- app/views/relation/index.html.erb
|
534
565
|
- app/views/relation/index.json.jbuilder
|
535
566
|
- app/views/shared/_header_navbar.html.erb
|
567
|
+
- babel.config.json
|
536
568
|
- bin/coverage.rb
|
569
|
+
- config/initializers/new_gbl_settings_defaults_3_3.yml
|
537
570
|
- config/initializers/rails_config.rb
|
538
571
|
- config/locales/geoblacklight.en.yml
|
539
572
|
- geoblacklight.gemspec
|
573
|
+
- jest.config.js
|
540
574
|
- lib/generators/geoblacklight/assets_generator.rb
|
541
575
|
- lib/generators/geoblacklight/install_generator.rb
|
542
576
|
- lib/generators/geoblacklight/templates/Procfile
|
@@ -563,6 +597,7 @@ files:
|
|
563
597
|
- lib/geoblacklight/engine.rb
|
564
598
|
- lib/geoblacklight/exceptions.rb
|
565
599
|
- lib/geoblacklight/geoblacklight_helper_behavior.rb
|
600
|
+
- lib/geoblacklight/geometry.rb
|
566
601
|
- lib/geoblacklight/item_viewer.rb
|
567
602
|
- lib/geoblacklight/metadata.rb
|
568
603
|
- lib/geoblacklight/metadata/base.rb
|
@@ -597,6 +632,7 @@ files:
|
|
597
632
|
- schema/schema-commentary.md
|
598
633
|
- schema/subjects.md
|
599
634
|
- schema/type-values.md
|
635
|
+
- setupJest.js
|
600
636
|
- solr/conf/_rest_managed.json
|
601
637
|
- solr/conf/admin-extra.html
|
602
638
|
- solr/conf/core.properties
|
@@ -614,6 +650,7 @@ files:
|
|
614
650
|
- solr/conf/xslt/example_atom.xsl
|
615
651
|
- solr/conf/xslt/example_rss.xsl
|
616
652
|
- solr/conf/xslt/luke.xsl
|
653
|
+
- spec/config/initializers/rails_config_spec.rb
|
617
654
|
- spec/controllers/catalog_controller_spec.rb
|
618
655
|
- spec/controllers/download_controller_spec.rb
|
619
656
|
- spec/controllers/relation_controller_spec.rb
|
@@ -649,6 +686,7 @@ files:
|
|
649
686
|
- spec/features/sms_spec.rb
|
650
687
|
- spec/features/split_view.html.erb_spec.rb
|
651
688
|
- spec/features/suppressed_records_spec.rb
|
689
|
+
- spec/features/tms_spec.rb
|
652
690
|
- spec/features/web_services_modal_spec.rb
|
653
691
|
- spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml
|
654
692
|
- spec/fixtures/iso19139/stanford-cg357zz0321.xml
|
@@ -691,6 +729,7 @@ files:
|
|
691
729
|
- spec/fixtures/solr_documents/public_iiif_princeton.json
|
692
730
|
- spec/fixtures/solr_documents/public_polygon_mit.json
|
693
731
|
- spec/fixtures/solr_documents/restricted-line.json
|
732
|
+
- spec/fixtures/solr_documents/tms.json
|
694
733
|
- spec/fixtures/solr_documents/umn_metro_result1.json
|
695
734
|
- spec/fixtures/solr_documents/umn_state_result1.json
|
696
735
|
- spec/fixtures/solr_documents/umn_state_result2.json
|
@@ -698,13 +737,10 @@ files:
|
|
698
737
|
- spec/helpers/arcgis_helper_spec.rb
|
699
738
|
- spec/helpers/carto_helper_spec.rb
|
700
739
|
- spec/helpers/geoblacklight_helper_spec.rb
|
701
|
-
- spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js
|
702
740
|
- spec/javascripts/geoblacklight_spec.js
|
703
741
|
- spec/javascripts/metadata_download_button_spec.js
|
704
|
-
- spec/javascripts/spec_helper.js
|
705
742
|
- spec/javascripts/util_spec.js
|
706
743
|
- spec/lib/geoblacklight/bounding_box_spec.rb
|
707
|
-
- spec/lib/geoblacklight/controller_override_spec.rb
|
708
744
|
- spec/lib/geoblacklight/document_presenter_spec.rb
|
709
745
|
- spec/lib/geoblacklight/download/geojson_download_spec.rb
|
710
746
|
- spec/lib/geoblacklight/download/geotiff_download_spec.rb
|
@@ -713,6 +749,7 @@ files:
|
|
713
749
|
- spec/lib/geoblacklight/download/shapefile_download_spec.rb
|
714
750
|
- spec/lib/geoblacklight/download_spec.rb
|
715
751
|
- spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb
|
752
|
+
- spec/lib/geoblacklight/geometry_spec.rb
|
716
753
|
- spec/lib/geoblacklight/item_viewer_spec.rb
|
717
754
|
- spec/lib/geoblacklight/metadata/base_spec.rb
|
718
755
|
- spec/lib/geoblacklight/metadata/html_spec.rb
|
@@ -742,7 +779,6 @@ files:
|
|
742
779
|
- spec/support/features/session_helpers.rb
|
743
780
|
- spec/support/fixtures.rb
|
744
781
|
- spec/tasks/geoblacklight_spec.rb
|
745
|
-
- spec/teaspoon_env.rb
|
746
782
|
- spec/test_app_templates/Gemfile.extra
|
747
783
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
748
784
|
- spec/test_app_templates/metadata/fgdc.html
|
@@ -788,11 +824,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
788
824
|
- !ruby/object:Gem::Version
|
789
825
|
version: 2.5.2
|
790
826
|
requirements: []
|
791
|
-
rubygems_version: 3.
|
827
|
+
rubygems_version: 3.2.3
|
792
828
|
signing_key:
|
793
829
|
specification_version: 4
|
794
830
|
summary: A discovery platform for geospatial holdings
|
795
831
|
test_files:
|
832
|
+
- spec/config/initializers/rails_config_spec.rb
|
796
833
|
- spec/controllers/catalog_controller_spec.rb
|
797
834
|
- spec/controllers/download_controller_spec.rb
|
798
835
|
- spec/controllers/relation_controller_spec.rb
|
@@ -828,6 +865,7 @@ test_files:
|
|
828
865
|
- spec/features/sms_spec.rb
|
829
866
|
- spec/features/split_view.html.erb_spec.rb
|
830
867
|
- spec/features/suppressed_records_spec.rb
|
868
|
+
- spec/features/tms_spec.rb
|
831
869
|
- spec/features/web_services_modal_spec.rb
|
832
870
|
- spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml
|
833
871
|
- spec/fixtures/iso19139/stanford-cg357zz0321.xml
|
@@ -870,6 +908,7 @@ test_files:
|
|
870
908
|
- spec/fixtures/solr_documents/public_iiif_princeton.json
|
871
909
|
- spec/fixtures/solr_documents/public_polygon_mit.json
|
872
910
|
- spec/fixtures/solr_documents/restricted-line.json
|
911
|
+
- spec/fixtures/solr_documents/tms.json
|
873
912
|
- spec/fixtures/solr_documents/umn_metro_result1.json
|
874
913
|
- spec/fixtures/solr_documents/umn_state_result1.json
|
875
914
|
- spec/fixtures/solr_documents/umn_state_result2.json
|
@@ -877,13 +916,10 @@ test_files:
|
|
877
916
|
- spec/helpers/arcgis_helper_spec.rb
|
878
917
|
- spec/helpers/carto_helper_spec.rb
|
879
918
|
- spec/helpers/geoblacklight_helper_spec.rb
|
880
|
-
- spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js
|
881
919
|
- spec/javascripts/geoblacklight_spec.js
|
882
920
|
- spec/javascripts/metadata_download_button_spec.js
|
883
|
-
- spec/javascripts/spec_helper.js
|
884
921
|
- spec/javascripts/util_spec.js
|
885
922
|
- spec/lib/geoblacklight/bounding_box_spec.rb
|
886
|
-
- spec/lib/geoblacklight/controller_override_spec.rb
|
887
923
|
- spec/lib/geoblacklight/document_presenter_spec.rb
|
888
924
|
- spec/lib/geoblacklight/download/geojson_download_spec.rb
|
889
925
|
- spec/lib/geoblacklight/download/geotiff_download_spec.rb
|
@@ -892,6 +928,7 @@ test_files:
|
|
892
928
|
- spec/lib/geoblacklight/download/shapefile_download_spec.rb
|
893
929
|
- spec/lib/geoblacklight/download_spec.rb
|
894
930
|
- spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb
|
931
|
+
- spec/lib/geoblacklight/geometry_spec.rb
|
895
932
|
- spec/lib/geoblacklight/item_viewer_spec.rb
|
896
933
|
- spec/lib/geoblacklight/metadata/base_spec.rb
|
897
934
|
- spec/lib/geoblacklight/metadata/html_spec.rb
|
@@ -921,7 +958,6 @@ test_files:
|
|
921
958
|
- spec/support/features/session_helpers.rb
|
922
959
|
- spec/support/fixtures.rb
|
923
960
|
- spec/tasks/geoblacklight_spec.rb
|
924
|
-
- spec/teaspoon_env.rb
|
925
961
|
- spec/test_app_templates/Gemfile.extra
|
926
962
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
927
963
|
- spec/test_app_templates/metadata/fgdc.html
|