geoblacklight 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +7 -1
- data/app/assets/fonts/geoblacklight.eot +0 -0
- data/app/assets/fonts/geoblacklight.svg +57 -21
- data/app/assets/fonts/geoblacklight.ttf +0 -0
- data/app/assets/fonts/geoblacklight.woff +0 -0
- data/app/assets/javascripts/geoblacklight/modules/geosearch.js +52 -15
- data/app/assets/javascripts/geoblacklight/modules/home.js +9 -6
- data/app/assets/javascripts/geoblacklight/modules/results.js +19 -10
- data/app/assets/stylesheets/geoblacklight/_geoblacklight.css.scss +1 -0
- data/app/assets/stylesheets/geoblacklight/modules/geosearch.css.scss +29 -0
- data/app/assets/stylesheets/geoblacklight/modules/home.css.scss +1 -1
- data/app/assets/stylesheets/geoblacklight/modules/icons.css.scss +19 -4
- data/app/controllers/download_controller.rb +4 -0
- data/app/helpers/geoblacklight_helper.rb +8 -0
- data/app/views/catalog/_facet_tag_item.html.erb +1 -1
- data/app/views/catalog/_facet_tag_layout.html.erb +2 -1
- data/app/views/catalog/_home_text.html.erb +12 -8
- data/app/views/catalog/_show_default.html.erb +1 -1
- data/app/views/catalog/_show_sidebar.html.erb +3 -3
- data/app/views/catalog/_upper_metadata.html.erb +2 -2
- data/config/locales/geoblacklight.en.yml +1 -1
- data/lib/geoblacklight.rb +8 -1
- data/lib/geoblacklight/download.rb +10 -7
- data/lib/geoblacklight/download/geojson_download.rb +20 -0
- data/lib/geoblacklight/download/geotiff_download.rb +18 -0
- data/lib/geoblacklight/download/kmz_download.rb +1 -1
- data/lib/geoblacklight/download/shapefile_download.rb +1 -1
- data/lib/geoblacklight/exceptions.rb +6 -0
- data/lib/geoblacklight/references.rb +3 -1
- data/lib/geoblacklight/version.rb +1 -1
- data/lib/tasks/geoblacklight.rake +4 -0
- data/spec/features/home_page_spec.rb +2 -2
- data/spec/features/saved_searches_spec.rb +1 -2
- data/spec/helpers/geoblacklight_helpers_spec.rb +16 -0
- data/spec/lib/geoblacklight/download/geojson_download_spec.rb +14 -0
- data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +15 -0
- data/spec/lib/geoblacklight/download_spec.rb +6 -6
- data/spec/lib/geoblacklight/references_spec.rb +2 -2
- metadata +12 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16b55f272d121ee2d812f798e81bb54c81c6cd26
|
4
|
+
data.tar.gz: 50704f9e6eed51f0c8ef30d349a8985ba5a12b64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 292aab24138e8c5d7ac59a8daae5075cdb8d7c4d381472093ca54153deb9847b22161206665a83e46b80c4da85ae086af490e29b413f30e986032715a370e9b1
|
7
|
+
data.tar.gz: 562da646f3e4e8d7507de4007b896e0c52b7310b9551deb4f8e6d7fc318c898d13e7ae629b6d1cf7cb1c0bf20d2efa625dbf0e415efc11cd1815f49d0a46cfb9
|
data/Rakefile
CHANGED
@@ -1,4 +1,9 @@
|
|
1
|
-
|
1
|
+
begin
|
2
|
+
require 'bundler/gem_tasks'
|
3
|
+
require 'bundler/setup'
|
4
|
+
rescue LoadError
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
+
end
|
2
7
|
|
3
8
|
BLACKLIGHT_JETTY_VERSION = '4.10.0'
|
4
9
|
ZIP_URL = "https://github.com/projectblacklight/blacklight-jetty/archive/v#{BLACKLIGHT_JETTY_VERSION}.zip"
|
@@ -16,6 +21,7 @@ desc "Load fixtures"
|
|
16
21
|
task :fixtures => ['engine_cart:generate'] do
|
17
22
|
EngineCart.within_test_app do
|
18
23
|
system "rake geoblacklight:solr:seed RAILS_ENV=test"
|
24
|
+
system 'rake geoblacklight:downloads:mkdir'
|
19
25
|
end
|
20
26
|
end
|
21
27
|
|
Binary file
|
@@ -1,13 +1,13 @@
|
|
1
1
|
<?xml version="1.0" standalone="no"?>
|
2
2
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3
3
|
<!--
|
4
|
-
2014-11-
|
4
|
+
2014-11-26: Created.
|
5
5
|
-->
|
6
6
|
<svg xmlns="http://www.w3.org/2000/svg">
|
7
7
|
<metadata>
|
8
|
-
Created by FontForge 20120731 at
|
9
|
-
By
|
10
|
-
Created by
|
8
|
+
Created by FontForge 20120731 at Wed Nov 26 11:31:08 2014
|
9
|
+
By Jack Reed
|
10
|
+
Created by Jack Reed with FontForge 2.0 (http://fontforge.sf.net)
|
11
11
|
</metadata>
|
12
12
|
<defs>
|
13
13
|
<font id="geoblacklight" horiz-adv-x="512" >
|
@@ -22,9 +22,19 @@ Created by Eliot Jordan with FontForge 2.0 (http://fontforge.sf.net)
|
|
22
22
|
bbox="-0.12793 -82.7842 512.128 487.36"
|
23
23
|
underline-thickness="25.6"
|
24
24
|
underline-position="-51.2"
|
25
|
-
unicode-range="U+F101-
|
25
|
+
unicode-range="U+F101-F117"
|
26
26
|
/>
|
27
27
|
<missing-glyph />
|
28
|
+
<glyph glyph-name="uniF113" unicode=""
|
29
|
+
d="M170.666 213.334c0 35.3428 28.6455 64 64 64c35.3535 0 64 -28.6572 64 -64c0 -35.3438 -28.6465 -64 -64 -64c-35.3545 0 -64 28.6562 -64 64zM277.332 213.334c0 23.5312 -19.1465 42.666 -42.666 42.666s-42.666 -19.1348 -42.666 -42.666
|
30
|
+
c0 -23.5332 19.1445 -42.668 42.666 -42.668c23.5195 0 42.666 19.1348 42.666 42.668zM276.187 334.312c37.25 -12.7812 66.667 -42.208 79.458 -79.458l-21.875 -2.73926c-10.834 27.5947 -32.7285 49.4893 -60.3115 60.3223zM398.646 260.229l-21.335 -2.66699
|
31
|
+
c-14.5615 46.833 -51.5811 83.8652 -98.415 98.417l2.66797 21.3438c56.5176 -16.1338 100.957 -60.583 117.082 -117.094zM170.666 -12.2715c-98.458 27.8857 -170.666 118.22 -170.666 225.605c0 129.604 105.062 234.666 234.666 234.666
|
32
|
+
c129.604 0 234.668 -105.062 234.668 -234.666c0 -22.2188 -3.29297 -43.625 -9.0625 -64h-44.8125c7.12305 20.0518 11.207 41.5303 11.207 64c0 105.864 -86.125 192 -192 192c-105.874 0 -192 -86.1357 -192 -192c0 -83.3975 53.542 -154.354 128 -180.803v-44.8027v0z
|
33
|
+
M185.916 119.386c-4.39648 -5.82422 -7.91602 -12.2412 -10.458 -19.209c-28.7295 15.0635 -51.1045 40.5322 -61.7715 71.6143l21.875 2.74023c9.45801 -24.0723 27.627 -43.3125 50.3545 -55.1455zM92.0215 169.092c12.4785 -40.1328 41.5205 -72.9355 79.0205 -90.6953
|
34
|
+
c-0.0615234 -1.26074 -0.375 -2.44922 -0.375 -3.72949v-19.2178c-48.2285 19.5723 -85.5 60.333 -99.9785 110.968zM458.541 20.0098c0 -14.5918 -6.18848 -25.5605 -19.542 -25.5605h-15.3545v53.7705h12.291c16.4805 -0.000976562 22.6055 -10.376 22.6055 -28.21z
|
35
|
+
M308.124 20.0098c0 -14.6758 -6.22949 -25.5605 -19.5205 -25.5605h-15.376v53.7705h12.3125c16.501 -0.000976562 22.584 -10.376 22.584 -28.21zM480 106.666c17.666 0 32 -14.3213 32 -32v-106.666c0 -17.6768 -14.334 -32 -32 -32h-234.666
|
36
|
+
c-17.667 0 -32 14.3232 -32 32v106.666c0 17.6787 14.333 32 32 32h234.666zM289.813 -21.332c23.167 0 35.54 17.5605 35.54 43.1455c0 27.2061 -14.375 42.1865 -35.54 42.1865h-33.8135v-85.332h33.8135zM373.729 -21.332l25.9805 85.332h-17.7285l-17.709 -60h-0.166016
|
37
|
+
l-17.459 60h-17.6875l25.3545 -85.332h19.415zM440.209 -21.332c23.166 0 35.541 17.5605 35.541 43.1455c0 27.2061 -14.3535 42.1865 -35.541 42.1865h-33.793v-85.332h33.793z" />
|
28
38
|
<glyph glyph-name="uniF10D" unicode=""
|
29
39
|
d="M0 448zM437.024 373.024c48.3516 -48.3525 74.9756 -112.641 74.9756 -181.024s-26.624 -132.672 -74.9756 -181.024c-48.3525 -48.3516 -112.641 -74.9756 -181.024 -74.9756s-132.672 26.624 -181.024 74.9756c-48.3516 48.3525 -74.9756 112.641 -74.9756 181.024
|
30
40
|
s26.624 132.672 74.9756 181.024c48.3525 48.3516 112.641 74.9756 181.024 74.9756s132.672 -26.624 181.024 -74.9756zM414.384 33.5996c31.5361 31.5361 52.4961 70.8008 61.1357 113.536c-6.73535 -9.91992 -13.1836 -13.5996 -17.168 8.6084
|
@@ -35,6 +45,22 @@ c14.9756 6.54395 -24.4326 25.5039 -3.13672 22.0635c10.4648 0.576172 45.6641 12.9
|
|
35
45
|
c7.95215 3.4082 15.5684 5.26367 21.376 4.73633c12.0322 -13.8887 34.2725 -16.3047 35.4404 1.66406c-29.792 14.2715 -62.6406 21.8076 -96.6406 21.8076c-48.8154 0 -95.2314 -15.5039 -133.647 -44.1924c10.3203 -4.73535 16.1914 -10.624 6.24023 -18.1436
|
36
46
|
c-7.72852 -23.0244 -39.0889 -53.9365 -66.6084 -49.5684c-14.2881 -24.6396 -23.7119 -51.8076 -27.7275 -80.2715c23.0557 -7.63184 28.3672 -22.7207 23.4238 -27.7764c-11.7441 -10.2402 -18.96 -24.7676 -22.6885 -40.6562
|
37
47
|
c7.50391 -45.9199 29.0879 -88.2393 62.6406 -121.792c42.3037 -42.3037 98.5596 -65.5996 158.384 -65.5996s116.08 23.2959 158.384 65.5996h-0.0322266z" />
|
48
|
+
<glyph glyph-name="uniF115" unicode=""
|
49
|
+
d="M510.24 200.88c9.75195 -56.752 -31.0322 -100.376 -50.7998 -148.544c-6.28809 -15.208 -11.792 -35.6318 -10.8008 -53.2236c0 0 -161.655 0 -190.456 -0.0166016h-2.19141h-2.2002c-28.7998 0.0166016 -190.472 0.0166016 -190.472 0.0166016
|
50
|
+
c1 17.5918 -4.49609 38.0156 -10.7686 53.2236c-19.7842 48.168 -60.5518 91.7842 -50.8076 148.528c5.42383 31.5117 30.8877 53.4639 62.0479 55.9678c55.6719 4.48828 103.736 -25.3203 157.728 -34.8477c4.32812 -0.744141 10.1367 8.43945 15.3926 13.6953
|
51
|
+
c-25.0557 18.8887 -21.6562 55.8799 7.35156 71.8721c2.00879 2.2959 1.27246 23.6006 0.136719 24.5684c-2.36816 1.96777 -20.8564 -1.58398 -23.4961 0.704102c-2.61621 2.2793 -2.08789 24.4717 -0.416016 26.6074c1.6875 2.13672 22.5273 -0.151367 23.7041 1.27246
|
52
|
+
c1.17578 1.45605 -0.576172 21.3994 1.3916 22.9844c1.40039 1.12793 7.19238 1.23926 10.416 1.21582c3.21582 0.03125 9 -0.0878906 10.3916 -1.21582c1.95996 -1.57617 0.216797 -21.5283 1.38477 -22.9844c1.19141 -1.42383 22.0312 0.864258 23.7119 -1.27246
|
53
|
+
c1.67969 -2.12793 2.21582 -24.3281 -0.416016 -26.584c-2.64062 -2.30371 -21.1201 1.26465 -23.5039 -0.704102c-1.14453 -0.967773 -1.87207 -22.2871 0.12793 -24.5752c29.0156 -15.9844 32.4238 -52.9922 7.38379 -71.8721
|
54
|
+
c5.22363 -5.24805 11.04 -14.4482 15.3604 -13.6963c54.0156 9.55176 102.071 39.3359 157.752 34.8477c31.168 -2.51953 56.6152 -24.4561 62.0479 -55.9678zM232.968 75.2236c3.48047 19.8887 -4.8877 59.3447 -13.2715 77.8721
|
55
|
+
c-17.9521 39.7842 -7.07227 37.3359 -12.04 40.4082c-20.2402 12.5762 -54.5762 23.0322 -80.6162 30.7764c-24.8564 7.37598 -49.0957 12.3594 -72.1836 3.55176c-37.8965 -14.4561 -29.1924 -62.6719 -14.7529 -92.1523
|
56
|
+
c19.6484 -40.0801 52.7441 -97.9756 79.4404 -105.472c14.3125 -4 23.2881 1.94434 23.248 13.5039c-0.0244141 9.0957 -1.53613 17.9844 -7.25586 22.3359c0 0 -27.584 0.175781 -30.4082 2.64062c-2.83984 2.46387 -5.04785 19.0156 -4.53613 22.3516
|
57
|
+
c0.520508 3.32031 30.0566 -2.7041 31.624 0.496094c1.56836 3.20801 -7.5918 22.04 -5.95215 25.248c1.6084 3.16016 23.9199 -0.167969 23.9199 -0.167969c2.88867 -1.38379 5.52051 -23.9365 8.32031 -26.248c2.83203 -2.32812 23.9277 0.807617 26.5605 -1.49609
|
58
|
+
c2.64746 -2.36816 7.15918 -20.5918 5.49512 -22.8799c-1.66309 -2.33594 -25.0234 1.23145 -26.9434 -1.26465c-2.27246 -7.35938 4.80762 -19.8633 13.4873 -27.4316c6.28027 -5.52832 13.2246 -8.80762 21.8564 -8.75977
|
59
|
+
c13.1602 0.103516 28.9922 18.1914 34.0078 46.6875zM392.448 30.2002c-14.3203 -4 -23.2881 1.94336 -23.2646 13.5039c0.0400391 9.0957 1.53613 17.9844 7.27246 22.3359c0 0 27.584 0.175781 30.4082 2.63965c2.81543 2.46387 5.04004 19.0166 4.52734 22.3604
|
60
|
+
c-0.511719 3.31152 -30.0713 -2.71191 -31.624 0.496094c-1.55957 3.20801 7.59277 22.04 5.97656 25.248c-1.65625 3.16016 -23.9365 -0.167969 -23.9365 -0.167969c-2.8877 -1.38379 -5.51172 -23.9365 -8.33594 -26.248
|
61
|
+
c-2.82324 -2.30371 -23.9121 0.832031 -26.5596 -1.49609c-2.63965 -2.36816 -7.13574 -20.5918 -5.48047 -22.8799c1.64844 -2.33594 25.0166 1.22363 26.9521 -1.26465c2.26465 -7.35938 -4.81543 -19.8555 -13.5039 -27.4316
|
62
|
+
c-6.28027 -5.51953 -13.2002 -8.80762 -21.8477 -8.75977c-13.168 0.103516 -28.9844 18.1914 -33.9922 46.6875c-3.50391 19.8799 4.87207 59.3447 13.2158 77.8643c17.9766 39.7842 7.08789 37.3359 12.04 40.4082c20.248 12.5762 54.6006 23.0322 80.624 30.7764
|
63
|
+
c24.8643 7.36719 49.0879 12.376 72.2002 3.55176c37.8799 -14.4561 29.168 -62.6719 14.7363 -92.1523c-19.6328 -40.0801 -52.7363 -97.9756 -79.4082 -105.472z" />
|
38
64
|
<glyph glyph-name="uniF107" unicode=""
|
39
65
|
d="M24.3184 346.672v77.0098h77.0098v-77.0098h-77.0098zM0 322.354h125.646v125.646h-125.646v-125.646zM410.671 346.672v77.0098h77.0117v-77.0098h-77.0117zM386.353 322.354h125.648v125.646h-125.648v-125.646zM24.3184 -39.6807v77.0117h77.0098v-77.0117h-77.0098z
|
40
66
|
M0 -63.999h125.646v125.648h-125.646v-125.648zM410.671 -39.6807v77.0098h77.0117v-77.0098h-77.0117zM386.353 -63.999h125.648v125.646h-125.648v-125.646zM113.487 409.495v-48.6367h285.024v48.6367h-285.024zM113.487 8.23633v-48.6367h285.024v48.6367h-285.024z
|
@@ -44,8 +70,16 @@ d="M323.564 341.075c0 20.1901 -7.1429 37.4281 -21.4287 51.7139s-31.5241 21.4287
|
|
44
70
|
c14.2858 -14.2852 31.5238 -21.4277 51.7139 -21.4277c20.1908 0 37.429 7.14258 51.7148 21.4277c14.2858 14.2858 21.4287 31.5241 21.4287 51.7148zM396.707 341.075c0 -20.7617 -3.1429 -37.8092 -9.42871 -51.1426l-104 -221.144
|
45
71
|
c-3.04753 -6.28581 -7.57129 -11.238 -13.5713 -14.8564c-6 -3.61914 -12.4287 -5.42871 -19.2861 -5.42871c-6.85677 0 -13.2852 1.80957 -19.2852 5.42871c-6 3.61849 -10.4287 8.57064 -13.2861 14.8564l-104.285 221.144
|
46
72
|
c-6.28581 13.3333 -9.42871 30.3809 -9.42871 51.1426c0 40.3809 14.2858 74.8571 42.8574 103.429c28.571 28.571 63.0469 42.8564 103.428 42.8564c40.3815 0 74.8577 -14.2855 103.429 -42.8564c28.5716 -28.5716 42.8574 -63.0479 42.8574 -103.429z" />
|
47
|
-
<glyph glyph-name="
|
48
|
-
d="
|
73
|
+
<glyph glyph-name="uniF112" unicode=""
|
74
|
+
d="M185.916 119.387c-4.39648 -5.8252 -7.91602 -12.2422 -10.458 -19.209c-28.7295 15.0625 -51.1045 40.5303 -61.7715 71.6133l21.875 2.74023c9.45801 -24.0723 27.627 -43.3125 50.3545 -55.1445zM92.0215 169.093c12.4785 -40.1338 41.5205 -72.9365 79.0205 -90.6963
|
75
|
+
c-0.0615234 -1.26074 -0.375 -2.4502 -0.375 -3.73047v-19.2178c-48.2285 19.5732 -85.5 60.333 -99.9785 110.969zM398.646 260.229l-21.333 -2.66504c-14.5625 46.833 -51.582 83.8643 -98.417 98.417l2.66699 21.3428c56.5205 -16.1367 100.955 -60.584 117.083 -117.095
|
76
|
+
zM276.188 334.312c37.25 -12.7803 66.665 -42.2061 79.458 -79.458l-21.875 -2.73926c-10.835 27.5947 -32.7305 49.4893 -60.3125 60.3223zM234.667 149.334c-35.3555 0 -64 28.6562 -64 64s28.6445 64 64 64c35.3545 0 64 -28.6562 64 -64
|
77
|
+
c-0.000976562 -35.3438 -28.6455 -64 -64 -64zM234.667 170.666c23.5215 0 42.667 19.1348 42.667 42.667c0 23.5303 -19.1455 42.667 -42.667 42.667c-23.5225 0 -42.667 -19.1357 -42.667 -42.667c0 -23.5322 19.1465 -42.667 42.667 -42.667zM403.875 46.9805
|
78
|
+
c16.3535 0 25.0215 -7.80273 25.0215 -26.959c0 -14.377 -7.14648 -24.4492 -21.6465 -24.4492h-17v51.4082h13.625zM512 74.666v-106.666c0 -17.6768 -14.334 -32 -32 -32h-234.667c-17.666 0 -32 14.3232 -32 32v106.666c0 17.6787 14.334 32 32 32h234.667
|
79
|
+
c17.666 0 32 -14.3213 32 -32zM358.146 11.9062h-18.4609c-1.45703 -10.9062 -7.9375 -18.2812 -19.7051 -18.2812c-15.7295 0 -23.5645 11.8438 -23.5645 27.3018c0 15.9287 7.5625 27.9883 23.5645 27.9883c10.123 0 17.7705 -6.82129 18.9775 -14.2705h18.46
|
80
|
+
c-2.27148 18.9912 -18.5439 29.3555 -37.4395 29.3555c-26.3965 0 -42.6455 -18.4688 -42.6455 -43.0732c0 -24.5293 16.6475 -42.2598 42.6455 -42.2598c22.4385 0 36.418 13.7402 38.168 33.2393zM448 21.7402c0 25.8525 -15.791 40.3105 -39.3965 40.3105h-37.4375
|
81
|
+
v-81.5615h37.4375c25.0215 0.000976562 39.3965 16.167 39.3965 41.251zM42.667 213.333c0 -83.3965 53.541 -154.354 128 -180.802v-44.8027c-98.459 27.8848 -170.667 118.219 -170.667 225.604c0 129.605 105.062 234.667 234.667 234.667
|
82
|
+
c129.604 0 234.667 -105.062 234.668 -234.667c0 -22.2188 -3.29199 -43.626 -9.0625 -64h-44.8125c7.12402 20.0527 11.207 41.5312 11.207 64c0 105.865 -86.125 192 -192 192s-192 -86.1348 -192 -192z" />
|
49
83
|
<glyph glyph-name="uniF111" unicode=""
|
50
84
|
d="M236.241 -53.5957c-39.2422 19.7959 -84 51.4355 -114.856 81.1934c-67.5645 65.1572 -106.971 141.55 -119.299 231.273c-2.74121 19.9512 -1.61914 107.34 1.52637 118.825l1.40332 5.12305l15.5615 -5.44434c30.9717 -10.8359 71.543 -14.4951 101.728 -9.1748
|
51
85
|
c43.5264 7.67285 86.2246 31.6787 117.77 66.2139c6.83691 7.4834 13.2295 13.6074 14.207 13.6074s4.1875 -2.86133 7.13184 -6.3584c10.2627 -12.1855 32.1816 -31.8555 45.915 -41.2041c39.8291 -27.1123 85.4346 -38.8242 131.687 -33.8174
|
@@ -61,6 +95,14 @@ c3.10742 0 9.52832 11.0459 17.7236 26.1514c17.0039 31.3496 27.6318 59.1309 36.16
|
|
61
95
|
M160.501 -0.358398c28.1416 -21.1934 53.5537 -37.5586 77.5508 -49.9316c7.70117 -3.97168 14.251 -7.27832 15.9443 -7.27832c2.50488 0 15.248 6.43652 30.0918 14.5684c28.1689 15.4277 61.5088 39.1455 92.6777 65.9229l8.38379 7.2041l-131.033 94.418
|
62
96
|
l-64.5205 -46.4805c-34.7969 -25.0664 -64.3545 -45.7471 -64.2881 -47.8936c0.105469 -3.06934 18.708 -18.1143 35.1934 -30.5293zM161.964 1.58398c-14.8516 11.1846 -31.0029 24.9629 -33.8848 28.3955c5.11133 4.125 31.376 23.375 62.9375 46.1113l63.0996 45.457
|
63
97
|
l127.106 -91.5889l-6.04199 -5.19141c-31.0557 -26.6807 -64.2979 -50.3193 -92.2607 -65.6357c-14.2607 -7.81152 -26.8184 -13.8145 -28.8838 -14.2617c-1.31836 0.357422 -7.87695 3.39355 -14.8701 7.00098c-23.8408 12.2939 -49.1416 28.5801 -77.2021 49.7129z" />
|
98
|
+
<glyph glyph-name="uniF116" unicode=""
|
99
|
+
d="M479.392 117.504h31.96v-77.6475h-152.151v77.6475h27.3359l-46.6963 77.624l-18.1035 -30.1123h17.3594v-77.6318h-166.823v77.6318h17.3594l-18.1035 30.1123l-46.6963 -77.624h27.3359v-77.6475h-152.168v77.6475h31.9756l89.6406 148.992h-24.6885v77.6475h149.2
|
100
|
+
v-77.6475h-24.6875l34.2314 -56.9199l34.2559 56.9199h-24.6875v77.6475h149.2v-77.6475h-24.6885zM404.472 334.192h-129.279v-57.752h32.3438l-51.8643 -86.168l-51.8398 86.168h32.3359v57.752h-129.288v-57.752h32.3359l-101.624 -168.904h-27.6396v-57.7363h132.264
|
101
|
+
v57.7363h-34.9922l64.2959 106.88l35.7129 -59.3682h-25.0244v-57.7275h146.928v57.7275h-25.0078l35.7119 59.3682l64.2881 -106.88h-34.9844v-57.7363h132.265v57.7363h-27.6484l-101.616 168.904h32.3281v57.752zM394.512 324.24v-37.8398h-39.9834l113.6 -188.816
|
102
|
+
h23.3203v-37.832h-112.36v37.832h42.6396l-81.8955 136.144l-53.3125 -88.624h32.6562v-37.8154h-127.016v37.8154h32.6719l-53.3125 88.624l-81.9033 -136.144h42.6396v-37.832h-112.352v37.832h23.3115l113.592 188.816h-39.9756v37.8398h109.376v-37.8398h-39.9922
|
103
|
+
l69.4482 -115.44l69.4639 115.44h-39.9922v37.8398h109.376z" />
|
104
|
+
<glyph glyph-name="uniF104" unicode=""
|
105
|
+
d="M107.952 448h-107.952v-512h107.952v512zM283.759 448h-107.951v-348.53h107.951v348.53zM459.566 448h-107.952v-512h107.952v512z" />
|
64
106
|
<glyph glyph-name="uniF106" unicode=""
|
65
107
|
d="M88.1523 256.52h41.7598l6.42383 -225.407h-53.7998l5.61621 225.407v0zM48.7842 23.0078h414.432v-29.0234h24.832v-28.9766h24.0801v-29.0078h-512.256v28.9922h24.0801v28.9922h24.832v29.0234v0zM484.824 319.456v0v-17.7285h-457.664v17.7285l228.824 108.424z
|
66
108
|
M71.2725 293.632h369.447v-29h-369.447v29v0zM381.272 256.52h41.7754l6.42383 -225.407h-53.8154zM283.56 256.52h41.7686l6.42383 -225.407h-53.8076l5.61523 225.407v0zM185.856 256.52h41.7676l6.42383 -225.424h-53.8076z" />
|
@@ -69,6 +111,9 @@ d="M0 448zM0 352l160 64v-384l-160 -64v384zM352 352v-384l-160 53.3281v384zM512 41
|
|
69
111
|
<glyph glyph-name="uniF103" unicode=""
|
70
112
|
d="M18.7842 429.216h216.285h216.285v-162.951c0 -215.741 -136.625 -302.743 -216.285 -349.049c-79.6611 46.3057 -216.285 133.308 -216.285 349.049v162.951zM120.218 383.598v-45.082h14.9609v-215.748h-14.9609v-45.082h77.2832v45.082h-14.9609v84.1934h105.057
|
71
113
|
v-84.1934h-14.959v-45.082h77.2822v45.082h-14.96v215.748h14.96v45.082h-77.2822v-45.082h14.96v-84.1934h-105.057v84.1934h14.96v45.082h-77.2832z" />
|
114
|
+
<glyph glyph-name="uniF117" unicode=""
|
115
|
+
d="M47.7275 91.7842c-1.33594 17.9199 0 43.3682 0 55.6875l26.1602 300.528h98.3604l-27.376 -302.848c-5.87207 -66.168 20.168 -112.336 85.3359 -112.336c66.5518 0 102.832 47.1279 108.48 105.664l27.7031 309.52h98.4805l-27.5039 -305.6
|
116
|
+
c-10.168 -118.152 -88.5039 -206.4 -214.376 -206.4c-98.5205 0 -162.128 63.8076 -175.265 155.784z" />
|
72
117
|
<glyph glyph-name="uniF101" unicode=""
|
73
118
|
d="M7.83594 46.3564c0.90625 2.98145 3.26367 7.5498 5.60938 10.5586c4.52148 5.7959 11.9014 12.0781 21.9326 18.6719c15.4697 10.168 29.9355 16.6025 48.3701 21.5117c26.7402 7.12305 55.084 7.71973 79.5498 7.71973l1.30664 -0.00195312
|
74
119
|
c32.5635 -0.0292969 102.191 -4.13379 153.03 -7.13184c26.6807 -1.57031 47.7539 -2.81445 55.0947 -2.96484l1.31348 -0.03125c2.14844 -0.0556641 5.73926 -0.149414 10.0479 -0.149414c31.0244 0 41.6182 4.85645 46.4004 7.60254
|
@@ -96,22 +141,13 @@ c0 -0.00195312 5.03711 11.5781 0.0878906 14.3076z" />
|
|
96
141
|
<glyph glyph-name="uniF108" unicode=""
|
97
142
|
d="M410.671 346.672v77.0098h77.0117v-77.0098h-77.0117zM386.353 322.354h125.648v125.646h-125.648v-125.646zM24.3184 -39.6807v77.0117h77.0098v-77.0117h-77.0098zM0 -63.999h125.646v125.648h-125.646v-125.648zM96.291 66.6865l34.3926 -34.3926l285.022 285.022
|
98
143
|
l-34.3926 34.3926z" />
|
99
|
-
<glyph glyph-name="
|
100
|
-
d="
|
144
|
+
<glyph glyph-name="uniF10A" unicode=""
|
145
|
+
d="M0 448zM0 384h512v-416h-512v416zM480 0v352h-448v-352h448zM352 272c0 26.5117 21.4883 48 48 48s48 -21.4883 48 -48s-21.4883 -48 -48 -48s-48 21.4883 -48 48zM448 32h-384l96 256l128 -160l64 48z" />
|
101
146
|
<glyph glyph-name="uniF102" unicode=""
|
102
|
-
d="M92.2803 367.832l71.1113 70.6562h187.185l69.1436 -70.7207l-0.015625 -99.8477h-123.456v46.6396h-75.0078v-67.6875h135.527l62.9521 -60.7998v-183.
|
103
|
-
l-61.7842 61.
|
104
|
-
c0.0078125 12.6318 0.0078125 71.4883 0 84.1279h91.4727v-46.6396h107.031v88.168l-64.3115 65.9355h-180.488zM169.832 421.232h173.776l59.4561 -61.1602l-0.0166016 -76.4805h-90.5518v46.6406h-107.937l0.00878906 -100.601h144.976l53.5205 -51l-0.0166016 -170.296
|
105
|
-
l-52.0635 -52.1758h-190.088l-52.2324 53.0234v75.9199h100.479v-41.1514h108.824l0.0166016 96.0322h-157.312l-52.1201 52.1357v167.952zM287.544 162.936c0 -0.03125 -0.0634766 -0.167969 -0.328125 -0.463867c0.12793 0.152344 0.255859 0.320312 0.328125 0.463867z
|
106
|
-
M92.2803 367.832l71.1201 70.6562h187.176l69.1436 -70.7207l-0.015625 -99.8477h-123.464v46.6396h-75v-67.6875h135.527l62.9521 -60.7998v-183.864l-61.792 -61.7119h-203.472l-62.04 62.5283v99.3438h133.392v-41.1602h75.9199v63.1123l-147.663 -0.0166016
|
107
|
-
l-61.7842 61.7998v181.729zM100.264 364.168v-174.848l56.9521 -56.9766s137.72 0 152.488 0.0078125v-79.5596c-12.9121 0 -79.4404 0 -92.3604 -0.0244141v41.168h-116.943v-87.6396l57.1279 -57.7842h196.792l56.9434 56.96v177.08l-58.2559 55.9121h-140.24
|
108
|
-
c0.00878906 12.6318 0.00878906 71.4883 0 84.1279h91.4805v-46.6396h107.024v88.168l-64.3125 65.9355h-180.496zM169.832 421.232h173.768l59.4561 -61.1602l-0.015625 -76.4805h-90.5361v46.6406h-107.944l0.00878906 -100.601h144.976l53.5117 -51l-0.015625 -170.296
|
109
|
-
l-52.0557 -52.1758h-190.088l-52.2402 53.0234v75.9199h100.487v-41.1514h108.824l0.0166016 96.0322h-157.312l-52.1279 52.1357v167.952zM287.552 162.936c0 -0.03125 -0.0634766 -0.167969 -0.34375 -0.463867c0.143555 0.152344 0.272461 0.320312 0.34375 0.463867z
|
110
|
-
M92.2803 367.832l71.1113 70.6562h187.185l69.1436 -70.7207l-0.015625 -99.8477h-123.456v46.6396h-75.0078v-67.6875h135.527l62.9521 -60.7998v-183.864l-61.7998 -61.7119h-203.464l-62.04 62.5283v99.3438h133.392v-41.1602h75.9121v63.1123l-147.655 -0.0166016
|
111
|
-
l-61.7842 61.7998v181.729zM100.272 364.168v-174.848l56.9512 -56.9766s137.712 0 152.48 0.0078125v-79.5596c-12.9043 0 -79.4404 0 -92.3604 -0.0244141v41.168h-116.943v-87.6396l57.1279 -57.7842h196.783l56.9521 56.96v177.08l-58.2637 55.9121h-140.24
|
147
|
+
d="M92.2803 367.832l71.1113 70.6562h187.185l69.1436 -70.7207l-0.015625 -99.8477h-123.456v46.6396h-75.0078v-67.6875h135.527l62.9521 -60.7998v-183.872l-61.7998 -61.7041h-203.464l-62.04 62.5283v99.3438h133.392v-41.168h75.9121v63.1201l-147.655 -0.0166016
|
148
|
+
l-61.7842 61.8086v181.72zM100.272 364.168v-174.848l56.9512 -56.9766s137.712 0 152.48 0.0078125v-79.5518c-12.9043 0 -79.4404 0 -92.3604 -0.0322266v41.168h-116.943v-87.6396l57.1279 -57.7842h196.783l56.9521 56.9521v177.08l-58.2637 55.9199h-140.24
|
112
149
|
c0.0078125 12.6318 0.0078125 71.4883 0 84.1279h91.4727v-46.6396h107.031v88.168l-64.3115 65.9355h-180.488zM169.832 421.232h173.776l59.4561 -61.1602l-0.0166016 -76.4805h-90.5518v46.6406h-107.937l0.00878906 -100.601h144.976l53.5205 -51l-0.0166016 -170.296
|
113
|
-
l-52.0635 -52.1758h-190.088l-52.2324 53.0234v75.
|
114
|
-
" />
|
150
|
+
l-52.0635 -52.1758h-190.088l-52.2324 53.0234v75.9287h100.479v-41.1602h108.824l0.0166016 96.0322h-157.312l-52.1201 52.1357v167.952z" />
|
115
151
|
<glyph glyph-name="uniF105" unicode=""
|
116
152
|
d="M73.3057 366.146v-116.948h-73.3057v198.802h458.019v-198.802h-72.0498v116.314h-97.7275v-357.704h78.6797v-71.8086h-276.963v71.8086h78.6846v358.338h-95.3369z" />
|
117
153
|
</font>
|
Binary file
|
Binary file
|
@@ -22,38 +22,71 @@
|
|
22
22
|
L.Control.GeoSearch = L.Control.extend({
|
23
23
|
|
24
24
|
options: {
|
25
|
-
|
25
|
+
dynamic: true,
|
26
|
+
baseUrl: '',
|
27
|
+
searcher: function() {
|
28
|
+
History.pushState(null, document.title, this.getSearchUrl());
|
29
|
+
},
|
30
|
+
delay: 800,
|
31
|
+
staticButton: '<a class="btn btn-primary">Redo Search Here <span class="glyphicon glyphicon-repeat"></span></a>',
|
32
|
+
dynamicButton: '<label><input type="checkbox" checked> Search When I Move the Map</label>'
|
26
33
|
},
|
27
34
|
|
28
|
-
initialize: function(
|
35
|
+
initialize: function(options) {
|
29
36
|
L.Util.setOptions(this, options);
|
30
|
-
this
|
37
|
+
this.$staticButton = $(this.options.staticButton);
|
38
|
+
this.$dynamicButton = $(this.options.dynamicButton);
|
31
39
|
},
|
32
40
|
|
33
41
|
onAdd: function(map) {
|
34
|
-
var container =
|
42
|
+
var $container = $('<div class="leaflet-control search-control"></div>'),
|
43
|
+
staticSearcher, dynamicSearcher;
|
35
44
|
this._map = map;
|
36
45
|
|
37
|
-
|
38
|
-
this.
|
39
|
-
|
40
|
-
this.
|
41
|
-
|
42
|
-
|
46
|
+
staticSearcher = L.Util.bind(function() {
|
47
|
+
this.$staticButton.hide();
|
48
|
+
this.$dynamicButton.show();
|
49
|
+
this.options.searcher.apply(this);
|
50
|
+
}, this);
|
51
|
+
|
52
|
+
dynamicSearcher = GeoBlacklight.debounce(function() {
|
53
|
+
if (this.options.dynamic) {
|
54
|
+
this.options.searcher.apply(this);
|
55
|
+
}
|
56
|
+
}, this.options.delay);
|
57
|
+
|
58
|
+
this.$staticButton.on('click', staticSearcher);
|
59
|
+
|
60
|
+
$container.on("change", "input[type=checkbox]",
|
61
|
+
L.Util.bind(function() {
|
62
|
+
this.options.dynamic = !this.options.dynamic;
|
63
|
+
}, this)
|
64
|
+
);
|
65
|
+
|
66
|
+
if (this.options.dynamic) {
|
67
|
+
this.$staticButton.hide();
|
68
|
+
} else {
|
69
|
+
this.$dynamicButton.hide();
|
43
70
|
}
|
44
71
|
|
45
|
-
map.on("moveend",
|
72
|
+
map.on("moveend", dynamicSearcher, this);
|
73
|
+
map.on("movestart", function() {
|
74
|
+
if (!this.options.dynamic) {
|
75
|
+
this.$dynamicButton.hide();
|
76
|
+
this.$staticButton.show();
|
77
|
+
}
|
78
|
+
}, this);
|
46
79
|
|
47
|
-
|
80
|
+
$container.append(this.$staticButton, this.$dynamicButton);
|
81
|
+
return $container.get(0);
|
48
82
|
},
|
49
83
|
|
50
|
-
|
84
|
+
getSearchUrl: function() {
|
51
85
|
var params = this.filterParams(['bbox', 'page']),
|
52
86
|
bounds = L.boundsToBbox(this._map.getBounds());
|
53
87
|
|
54
88
|
params.push('bbox=' + encodeURIComponent(bounds.join(' ')));
|
55
|
-
|
56
|
-
this._searcher(params.join('&'));
|
89
|
+
return this.options.baseUrl + '?' + params.join('&');
|
57
90
|
},
|
58
91
|
|
59
92
|
filterParams: function(filterList) {
|
@@ -74,4 +107,8 @@
|
|
74
107
|
|
75
108
|
});
|
76
109
|
|
110
|
+
L.control.geosearch = function(options) {
|
111
|
+
return new L.Control.GeoSearch(options);
|
112
|
+
};
|
113
|
+
|
77
114
|
}(this);
|
@@ -1,11 +1,14 @@
|
|
1
1
|
Blacklight.onLoad(function () {
|
2
2
|
$('[data-map="home"]').each(function(i, element) {
|
3
3
|
var geoblacklight = new GeoBlacklight(this),
|
4
|
-
data = $(this).data()
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
data = $(this).data();
|
5
|
+
geoblacklight.map.addControl(L.control.geosearch({
|
6
|
+
baseUrl: data.catalogPath,
|
7
|
+
dynamic: false,
|
8
|
+
searcher: function() {
|
9
|
+
window.location.href = this.getSearchUrl();
|
10
|
+
},
|
11
|
+
staticButton: '<a class="btn btn-primary">Search Here</a>'
|
12
|
+
}));
|
10
13
|
});
|
11
14
|
});
|
@@ -1,13 +1,17 @@
|
|
1
1
|
Blacklight.onLoad(function() {
|
2
|
+
var historySupported = !!(window.history && window.history.pushState);
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
if (historySupported) {
|
5
|
+
History.Adapter.bind(window, 'statechange', function() {
|
6
|
+
var state = History.getState();
|
7
|
+
updatePage(state.url);
|
8
|
+
});
|
9
|
+
}
|
7
10
|
|
8
11
|
$('[data-map="index"]').each(function() {
|
9
12
|
var data = $(this).data(),
|
10
|
-
|
13
|
+
opts = { baseUrl: data.catalogPath },
|
14
|
+
geoblacklight, bbox;
|
11
15
|
|
12
16
|
if (typeof data.mapBbox === "string") {
|
13
17
|
bbox = L.bboxToBounds(data.mapBbox);
|
@@ -21,12 +25,17 @@ Blacklight.onLoad(function() {
|
|
21
25
|
});
|
22
26
|
}
|
23
27
|
|
24
|
-
|
25
|
-
|
26
|
-
|
28
|
+
if (!historySupported) {
|
29
|
+
$.extend(opts, {
|
30
|
+
dynamic: false,
|
31
|
+
searcher: function() {
|
32
|
+
window.location.href = this.getSearchUrl();
|
33
|
+
}
|
34
|
+
});
|
35
|
+
}
|
36
|
+
|
27
37
|
geoblacklight = new GeoBlacklight(this, { bbox: bbox }).setHoverListeners();
|
28
|
-
|
29
|
-
geoblacklight.map.addControl(search);
|
38
|
+
geoblacklight.map.addControl(L.control.geosearch(opts));
|
30
39
|
});
|
31
40
|
|
32
41
|
function updatePage(url) {
|
@@ -0,0 +1,29 @@
|
|
1
|
+
.search-control {
|
2
|
+
background-color: #FFF;
|
3
|
+
border-radius: 4px;
|
4
|
+
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
|
5
|
+
}
|
6
|
+
|
7
|
+
.search-control a {
|
8
|
+
color: #FFF
|
9
|
+
}
|
10
|
+
|
11
|
+
.search-control label {
|
12
|
+
margin: 6px 12px;
|
13
|
+
font-size: 14px;
|
14
|
+
display: block;
|
15
|
+
padding-left: 15px;
|
16
|
+
text-indent: -15px;
|
17
|
+
font-weight: normal;
|
18
|
+
cursor: pointer;
|
19
|
+
}
|
20
|
+
|
21
|
+
.search-control input[type="checkbox"] {
|
22
|
+
width: 13px;
|
23
|
+
height: 13px;
|
24
|
+
padding: 0;
|
25
|
+
margin: 0;
|
26
|
+
vertical-align: middle;
|
27
|
+
position: relative;
|
28
|
+
top: -1px;
|
29
|
+
}
|
@@ -7,9 +7,9 @@
|
|
7
7
|
font-family: "geoblacklight";
|
8
8
|
src: font-url("geoblacklight.eot");
|
9
9
|
src: font-url("geoblacklight.eot?#iefix") format("embedded-opentype"),
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
font-url("geoblacklight.woff") format("woff"),
|
11
|
+
font-url("geoblacklight.ttf") format("truetype"),
|
12
|
+
font-url("geoblacklight.svg#geoblacklight") format("svg");
|
13
13
|
font-weight: normal;
|
14
14
|
font-style: normal;
|
15
15
|
}
|
@@ -25,10 +25,14 @@
|
|
25
25
|
|
26
26
|
[data-icon]:before,
|
27
27
|
.geoblacklight-berkeley:before,
|
28
|
+
.geoblacklight-cd-rom:before,
|
29
|
+
.geoblacklight-columbia:before,
|
30
|
+
.geoblacklight-dvd-rom:before,
|
28
31
|
.geoblacklight-harvard:before,
|
29
32
|
.geoblacklight-image:before,
|
30
33
|
.geoblacklight-line:before,
|
31
34
|
.geoblacklight-massgis:before,
|
35
|
+
.geoblacklight-minnesota:before,
|
32
36
|
.geoblacklight-mit:before,
|
33
37
|
.geoblacklight-paper-map:before,
|
34
38
|
.geoblacklight-point:before,
|
@@ -36,7 +40,8 @@
|
|
36
40
|
.geoblacklight-princeton:before,
|
37
41
|
.geoblacklight-raster:before,
|
38
42
|
.geoblacklight-stanford:before,
|
39
|
-
.geoblacklight-tufts:before
|
43
|
+
.geoblacklight-tufts:before,
|
44
|
+
.geoblacklight-ucla:before {
|
40
45
|
display: inline-block;
|
41
46
|
font-family: "geoblacklight";
|
42
47
|
font-style: normal;
|
@@ -52,10 +57,14 @@
|
|
52
57
|
}
|
53
58
|
|
54
59
|
.geoblacklight-berkeley:before { content: "\f101"; }
|
60
|
+
.geoblacklight-cd-rom:before { content: "\f112"; }
|
61
|
+
.geoblacklight-columbia:before { content: "\f115"; }
|
62
|
+
.geoblacklight-dvd-rom:before { content: "\f113"; }
|
55
63
|
.geoblacklight-harvard:before { content: "\f103"; }
|
56
64
|
.geoblacklight-image:before { content: "\f10a"; }
|
57
65
|
.geoblacklight-line:before { content: "\f108"; }
|
58
66
|
.geoblacklight-massgis:before { content: "\f106"; }
|
67
|
+
.geoblacklight-minnesota:before { content: "\f116"; }
|
59
68
|
.geoblacklight-mit:before { content: "\f104"; }
|
60
69
|
.geoblacklight-paper-map:before { content: "\f110"; }
|
61
70
|
.geoblacklight-point:before { content: "\f109"; }
|
@@ -64,12 +73,17 @@
|
|
64
73
|
.geoblacklight-raster:before { content: "\f10d"; }
|
65
74
|
.geoblacklight-stanford:before { content: "\f102"; }
|
66
75
|
.geoblacklight-tufts:before { content: "\f105"; }
|
76
|
+
.geoblacklight-ucla:before { content: "\f117"; }
|
67
77
|
|
68
78
|
$font-geoblacklight-berkeley: "\f101";
|
79
|
+
$font-geoblacklight-cd-rom: "\f112";
|
80
|
+
$font-geoblacklight-columbia: "\f115";
|
81
|
+
$font-geoblacklight-dvd-rom: "\f113";
|
69
82
|
$font-geoblacklight-harvard: "\f103";
|
70
83
|
$font-geoblacklight-image: "\f10a";
|
71
84
|
$font-geoblacklight-line: "\f108";
|
72
85
|
$font-geoblacklight-massgis: "\f106";
|
86
|
+
$font-geoblacklight-minnesota: "\f116";
|
73
87
|
$font-geoblacklight-mit: "\f104";
|
74
88
|
$font-geoblacklight-paper-map: "\f110";
|
75
89
|
$font-geoblacklight-point: "\f109";
|
@@ -78,3 +92,4 @@ $font-geoblacklight-princeton: "\f111";
|
|
78
92
|
$font-geoblacklight-raster: "\f10d";
|
79
93
|
$font-geoblacklight-stanford: "\f102";
|
80
94
|
$font-geoblacklight-tufts: "\f105";
|
95
|
+
$font-geoblacklight-ucla: "\f117";
|
@@ -27,6 +27,10 @@ class DownloadController < ApplicationController
|
|
27
27
|
response = ShapefileDownload.new(@document).get
|
28
28
|
when 'kmz'
|
29
29
|
response = KmzDownload.new(@document).get
|
30
|
+
when 'geojson'
|
31
|
+
response = GeojsonDownload.new(@document).get
|
32
|
+
when 'geotiff'
|
33
|
+
response = GeotiffDownload.new(@document).get
|
30
34
|
end
|
31
35
|
response
|
32
36
|
end
|
@@ -69,4 +69,12 @@ module GeoblacklightHelper
|
|
69
69
|
""
|
70
70
|
end
|
71
71
|
end
|
72
|
+
|
73
|
+
##
|
74
|
+
# Renders an unique array of search links based off of terms
|
75
|
+
# passed in using the facet parameter
|
76
|
+
#
|
77
|
+
def render_facet_links(facet, items)
|
78
|
+
items.uniq.map { |item| link_to item, catalog_index_path(f: { "#{facet}" => [item] }) }.join(', ').html_safe
|
79
|
+
end
|
72
80
|
end
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<% display_facet.items.each do |item| %>
|
2
|
-
<%= link_to item.value, catalog_index_path({f: {"#{facet_field.field}" => [item.value]}}), class: 'home-facet-link' %><%= ","
|
2
|
+
<%= link_to item.value, catalog_index_path({f: {"#{facet_field.field}" => [item.value]}}), class: 'home-facet-link' %><%= "," %>
|
3
3
|
<% end %>
|
@@ -1 +1,2 @@
|
|
1
|
-
<%= yield %>
|
1
|
+
<%= yield %>
|
2
|
+
<%= link_to t('blacklight.search.facets.more'), catalog_facet_path(display_facet.name), class: 'more_facets_link' %>
|
@@ -6,38 +6,42 @@
|
|
6
6
|
</div>
|
7
7
|
</div>
|
8
8
|
|
9
|
-
<div class='
|
10
|
-
<div class='
|
11
|
-
|
12
|
-
|
9
|
+
<div class='container'>
|
10
|
+
<div class='row'>
|
11
|
+
<div class='col-md-6'>
|
12
|
+
<%= content_tag :h4, t('geoblacklight.home.category_heading'), class: 'text-center' %>
|
13
13
|
<div class='category-block'>
|
14
14
|
<div class='category-icon'>
|
15
15
|
<span class='glyphicon glyphicon-home'></span>
|
16
16
|
</div>
|
17
|
+
<h3>Institution</h3>
|
17
18
|
<%= render_facet_tags [:dct_provenance_s] %>
|
18
19
|
</div>
|
19
20
|
<div class='category-block'>
|
20
21
|
<div class='category-icon'>
|
21
22
|
<span class='glyphicon glyphicon-download'></span>
|
22
23
|
</div>
|
24
|
+
<h3>Data type</h3>
|
23
25
|
<%= render_facet_tags [:layer_geom_type_s] %>
|
24
26
|
</div>
|
25
27
|
<div class='category-block'>
|
26
28
|
<div class='category-icon'>
|
27
29
|
<span class='glyphicon glyphicon-globe'></span>
|
28
30
|
</div>
|
31
|
+
<h3>Placename</h3>
|
29
32
|
<%= render_facet_tags [:dct_spatial_sm] %>
|
30
33
|
</div>
|
31
34
|
<div class='category-block'>
|
32
35
|
<div class='category-icon'>
|
33
36
|
<span class='glyphicon glyphicon-tags'></span>
|
34
37
|
</div>
|
38
|
+
<h3>Subject</h3>
|
35
39
|
<%= render_facet_tags [:dc_subject_sm] %>
|
36
40
|
</div>
|
37
41
|
</div>
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
+
<div class='col-md-6 text-center'>
|
43
|
+
<%= content_tag :h4, t('geoblacklight.home.map_heading') %>
|
44
|
+
<%= content_tag :div, '', id: 'map', data: { map: 'home', 'catalog-path'=> catalog_index_path , 'map-bbox' => params[:bbox]} %>
|
45
|
+
</div>
|
42
46
|
</div>
|
43
47
|
</div>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
<div class='row'>
|
6
6
|
<div class="col-md-8">
|
7
|
-
<%= content_tag :div, id: 'map', data: { map: 'item', 'catalog-path'=> catalog_index_path , 'map-bbox' => document[:solr_bbox], 'layer-id' => document[:layer_id_s], 'wms-url' => document
|
7
|
+
<%= content_tag :div, id: 'map', data: { map: 'item', 'catalog-path'=> catalog_index_path , 'map-bbox' => document[:solr_bbox], 'layer-id' => document[:layer_id_s], 'wms-url' => document.references.wms.endpoint, available: document_available? } do %>
|
8
8
|
<% end %>
|
9
9
|
</div>
|
10
10
|
<div id='table-container' class='col-md-4'><div id='attribute-table' ></div></div>
|
@@ -19,9 +19,9 @@
|
|
19
19
|
</a>
|
20
20
|
</ul>
|
21
21
|
<% if document_downloadable? %>
|
22
|
-
<div class='btn-group'>
|
22
|
+
<div class='btn-group' itemprop='distribution' itemscope='itemscope' itemtype='http://schema.org/DataDownload'>
|
23
23
|
<% unless document.direct_download.blank? %>
|
24
|
-
<%= link_to("Download #{@document[:dc_format_s]}", document.direct_download[:download], class: 'btn btn-default') %>
|
24
|
+
<%= link_to("Download #{@document[:dc_format_s]}", document.direct_download[:download], class: 'btn btn-default', 'contentUrl' => document.direct_download[:download]) %>
|
25
25
|
<% else %>
|
26
26
|
<%= link_to("Download #{document.download_types.first[0].capitalize}", '', data: { download_path: "#{download_path(document[:layer_slug_s], type: document.download_types.first[0])}"}, class: 'btn btn-default') %>
|
27
27
|
<% end %>
|
@@ -33,7 +33,7 @@
|
|
33
33
|
<% unless document.direct_download.blank? %>
|
34
34
|
<li role="presentation" class="dropdown-header">Original</li>
|
35
35
|
<li>
|
36
|
-
<%= link_to("Download #{@document[:dc_format_s]}", document.direct_download[:download]) %>
|
36
|
+
<%= link_to("Download #{@document[:dc_format_s]}", document.direct_download[:download], 'contentUrl' => document.direct_download[:download]) %>
|
37
37
|
</li>
|
38
38
|
<% end %>
|
39
39
|
<li role="presentation" class="dropdown-header">Projected</li>
|
@@ -24,11 +24,11 @@
|
|
24
24
|
<% end %>
|
25
25
|
<% unless document['dct_spatial_sm'].nil? %>
|
26
26
|
<dt>Places</dt>
|
27
|
-
<dd itemprop="spatial"><%= document['dct_spatial_sm']
|
27
|
+
<dd itemprop="spatial"><%= render_facet_links('dct_spatial_sm', document['dct_spatial_sm']) %> </dd>
|
28
28
|
<% end %>
|
29
29
|
<% unless document['dc_subject_sm'].nil? %>
|
30
30
|
<dt>Subjects</dt>
|
31
|
-
<dd itemprop="keywords"><%= document['dc_subject_sm']
|
31
|
+
<dd itemprop="keywords"><%= render_facet_links('dc_subject_sm', document['dc_subject_sm']) %> </dd>
|
32
32
|
<% end %>
|
33
33
|
<% unless document['dct_temporal_sm'].nil? %>
|
34
34
|
<dt>Years</dt>
|
@@ -6,7 +6,7 @@ en:
|
|
6
6
|
home:
|
7
7
|
headline: 'Explore and discover...'
|
8
8
|
search_heading: 'Find the maps and data you need'
|
9
|
-
category_heading: 'Find by
|
9
|
+
category_heading: 'Find by...'
|
10
10
|
map_heading: 'Find by location'
|
11
11
|
tools:
|
12
12
|
login_to_view: 'Login to view and download'
|
data/lib/geoblacklight.rb
CHANGED
@@ -4,12 +4,15 @@ module Geoblacklight
|
|
4
4
|
require 'geoblacklight/config'
|
5
5
|
require 'geoblacklight/constants'
|
6
6
|
require 'geoblacklight/controller_override'
|
7
|
+
require 'geoblacklight/exceptions'
|
7
8
|
require 'geoblacklight/view_helper_override'
|
8
9
|
require 'geoblacklight/solr_document'
|
9
10
|
require 'geoblacklight/wms_layer'
|
10
11
|
require 'geoblacklight/download'
|
11
|
-
require 'geoblacklight/download/
|
12
|
+
require 'geoblacklight/download/geojson_download'
|
13
|
+
require 'geoblacklight/download/geotiff_download'
|
12
14
|
require 'geoblacklight/download/kmz_download'
|
15
|
+
require 'geoblacklight/download/shapefile_download'
|
13
16
|
require 'geoblacklight/reference'
|
14
17
|
require 'geoblacklight/references'
|
15
18
|
def self.inject!
|
@@ -22,4 +25,8 @@ module Geoblacklight
|
|
22
25
|
SavedSearchesController.send(:helper, Geoblacklight::ViewHelperOverride) unless
|
23
26
|
SavedSearchesController.helpers.is_a?(Geoblacklight::ViewHelperOverride)
|
24
27
|
end
|
28
|
+
|
29
|
+
def self.logger
|
30
|
+
::Rails.logger
|
31
|
+
end
|
25
32
|
end
|
@@ -34,30 +34,33 @@ class Download
|
|
34
34
|
if download.headers['content-type'] == @options[:content_type]
|
35
35
|
file.write download.body
|
36
36
|
else
|
37
|
-
fail
|
37
|
+
fail Geoblacklight::Exceptions::WrongDownloadFormat
|
38
38
|
end
|
39
39
|
end
|
40
40
|
File.rename("#{file_path}.tmp", file_path)
|
41
41
|
file_name
|
42
|
-
rescue
|
42
|
+
rescue Geoblacklight::Exceptions::WrongDownloadFormat => error
|
43
|
+
Geoblacklight.logger.error "#{error} expected #{@options[:content_type]} received #{download.headers['content-type']}"
|
43
44
|
File.delete("#{file_path}.tmp")
|
44
45
|
nil
|
45
46
|
end
|
46
47
|
|
47
48
|
def initiate_download
|
48
|
-
|
49
|
+
url = @document.references.send(@options[:service_type]).endpoint
|
50
|
+
url += '/reflect' if @options[:reflect]
|
51
|
+
conn = Faraday.new(url: url)
|
49
52
|
conn.get do |request|
|
50
53
|
request.params = @options[:request_params]
|
51
54
|
request.options = {
|
52
|
-
timeout:
|
53
|
-
open_timeout:
|
55
|
+
timeout: 16,
|
56
|
+
open_timeout: 16
|
54
57
|
}
|
55
58
|
end
|
56
59
|
rescue Faraday::Error::ConnectionFailed => error
|
57
|
-
|
60
|
+
Geoblacklight.logger.error error
|
58
61
|
nil
|
59
62
|
rescue Faraday::Error::TimeoutError => error
|
60
|
-
|
63
|
+
Geoblacklight.logger.error error
|
61
64
|
nil
|
62
65
|
end
|
63
66
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
class GeojsonDownload < Download
|
2
|
+
GEOJSON_DOWNLOAD_PARAMS = {
|
3
|
+
service: 'wfs',
|
4
|
+
version: '2.0.0',
|
5
|
+
request: 'GetFeature',
|
6
|
+
srsName: 'EPSG:4326',
|
7
|
+
outputformat: 'application/json'
|
8
|
+
}
|
9
|
+
|
10
|
+
def initialize(document)
|
11
|
+
request_params = GEOJSON_DOWNLOAD_PARAMS.merge(typeName: document[:layer_id_s])
|
12
|
+
super(document, {
|
13
|
+
type: 'geojson',
|
14
|
+
extension: 'json',
|
15
|
+
request_params: request_params,
|
16
|
+
content_type: 'application/json',
|
17
|
+
service_type: 'wfs'
|
18
|
+
})
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class GeotiffDownload < Download
|
2
|
+
GEOTIFF_DOWNLOAD_PARAMS = {
|
3
|
+
format: 'image/geotiff',
|
4
|
+
width: 4096
|
5
|
+
}
|
6
|
+
|
7
|
+
def initialize(document)
|
8
|
+
request_params = GEOTIFF_DOWNLOAD_PARAMS.merge(layers: document[:layer_id_s])
|
9
|
+
super(document, {
|
10
|
+
type: 'geotiff',
|
11
|
+
extension: 'tif',
|
12
|
+
request_params: request_params,
|
13
|
+
content_type: 'image/geotiff',
|
14
|
+
service_type: 'wms',
|
15
|
+
reflect: true
|
16
|
+
})
|
17
|
+
end
|
18
|
+
end
|
@@ -42,7 +42,9 @@ module Geoblacklight
|
|
42
42
|
def downloads_by_format
|
43
43
|
case format
|
44
44
|
when 'Shapefile'
|
45
|
-
{ shapefile: wfs.to_hash, kmz: wms.to_hash }
|
45
|
+
{ shapefile: wfs.to_hash, kmz: wms.to_hash, geojson: wfs.to_hash }
|
46
|
+
when 'GeoTIFF'
|
47
|
+
{ geotiff: wms.to_hash } if wms.present?
|
46
48
|
end
|
47
49
|
end
|
48
50
|
|
@@ -24,5 +24,9 @@ namespace :geoblacklight do
|
|
24
24
|
task delete: :environment do
|
25
25
|
FileUtils.rm_rf Dir.glob("#{Rails.root}/tmp/cache/downloads/*")
|
26
26
|
end
|
27
|
+
desc 'Create download directory'
|
28
|
+
task mkdir: :environment do
|
29
|
+
FileUtils.mkdir_p Dir.glob("#{Rails.root}/tmp/cache/downloads")
|
30
|
+
end
|
27
31
|
end
|
28
32
|
end
|
@@ -15,6 +15,7 @@ feature 'Home page', js: true do # use js: true for tests which require js, but
|
|
15
15
|
scenario 'find by category' do
|
16
16
|
expect(page).to have_css '.category-block', count: 4
|
17
17
|
expect(page).to have_css '.home-facet-link', count: 28
|
18
|
+
expect(page).to have_css 'a.more_facets_link', count: 4
|
18
19
|
click_link 'Census'
|
19
20
|
expect(page).to have_css '.filterName', text: 'Subject'
|
20
21
|
expect(page).to have_css '.filterValue', text: 'Census'
|
@@ -26,9 +27,8 @@ feature 'Home page', js: true do # use js: true for tests which require js, but
|
|
26
27
|
end
|
27
28
|
end
|
28
29
|
scenario 'clicking map search should create a spatial search' do
|
29
|
-
find('#map').double_click
|
30
30
|
within '#map' do
|
31
|
-
find('
|
31
|
+
find('.search-control a').click
|
32
32
|
expect(page.current_url).to match /bbox=/
|
33
33
|
end
|
34
34
|
expect(page).to have_css '#documents'
|
@@ -3,9 +3,8 @@ require 'spec_helper'
|
|
3
3
|
feature 'saved searches' do
|
4
4
|
scenario 'list spatial search', js: true do
|
5
5
|
visit root_path
|
6
|
-
find('#map').double_click
|
7
6
|
within '#map' do
|
8
|
-
find('
|
7
|
+
find('.search-control a').click
|
9
8
|
expect(page.current_url).to match /bbox=/
|
10
9
|
end
|
11
10
|
visit search_history_path
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GeoblacklightHelper do
|
4
|
+
include GeoblacklightHelper
|
5
|
+
include ActionView::Helpers::UrlHelper
|
6
|
+
describe '#render_facet_links' do
|
7
|
+
it 'should contain unique links' do
|
8
|
+
expect(self).to receive(:catalog_index_path).exactly(3).times.and_return("http://example.com/catalog?f[dc_subject_sm][]=category")
|
9
|
+
html = Capybara.string(render_facet_links('dc_subject_sm', ['Test', 'Test', 'Earth', 'Science']))
|
10
|
+
expect(html).to have_css 'a', count: 3
|
11
|
+
expect(html).to have_css 'a', text: 'Test', count: 1
|
12
|
+
expect(html).to have_css 'a', text: 'Earth', count: 1
|
13
|
+
expect(html).to have_css 'a', text: 'Science', count: 1
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GeojsonDownload do
|
4
|
+
let(:document) { SolrDocument.new(layer_slug_s: 'test', solr_wfs_url: 'http://www.example.com/wfs', layer_id_s: 'stanford-test', solr_bbox: '-180 -90 180 90') }
|
5
|
+
let(:download) { GeojsonDownload.new(document) }
|
6
|
+
describe '#initialize' do
|
7
|
+
it 'should initialize as a GeojsonDownload object with specific options' do
|
8
|
+
expect(download).to be_an GeojsonDownload
|
9
|
+
options = download.instance_variable_get(:@options)
|
10
|
+
expect(options[:content_type]).to eq 'application/json'
|
11
|
+
expect(options[:request_params][:typeName]).to eq 'stanford-test'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GeotiffDownload do
|
4
|
+
let(:document) { SolrDocument.new(layer_slug_s: 'test', layer_id_s: 'stanford-test', solr_bbox: '-180 -90 180 90') }
|
5
|
+
let(:download) { GeotiffDownload.new(document) }
|
6
|
+
describe '#initialize' do
|
7
|
+
it 'should initialize as a GeotiffDownload object with specific options' do
|
8
|
+
expect(download).to be_an GeotiffDownload
|
9
|
+
options = download.instance_variable_get(:@options)
|
10
|
+
expect(options[:content_type]).to eq 'image/geotiff'
|
11
|
+
expect(options[:request_params][:layers]).to eq 'stanford-test'
|
12
|
+
expect(options[:reflect]).to be_truthy
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -4,8 +4,8 @@ describe Download do
|
|
4
4
|
let(:response) { double('response') }
|
5
5
|
let(:get) { double('get') }
|
6
6
|
let(:body) { double('body') }
|
7
|
-
let(:document) { SolrDocument.new(layer_slug_s: 'test',
|
8
|
-
let(:options) { { type: 'shapefile', extension: 'zip', service_type:
|
7
|
+
let(:document) { SolrDocument.new(layer_slug_s: 'test', dct_references_s: {'http://www.opengis.net/def/serviceType/ogc/wms' => 'http://www.example.com/wms'}.to_json) }
|
8
|
+
let(:options) { { type: 'shapefile', extension: 'zip', service_type: 'wms', content_type: 'application/zip' } }
|
9
9
|
let(:download) { Download.new(document, options) }
|
10
10
|
|
11
11
|
describe '#initialize' do
|
@@ -42,14 +42,14 @@ describe Download do
|
|
42
42
|
expect(download).to receive(:download_exists?).and_return(false)
|
43
43
|
expect(download).to receive(:initiate_download).and_return('')
|
44
44
|
expect(File).to receive(:open).with("#{download.file_path}.tmp", 'wb').and_return('')
|
45
|
-
expect(File).to receive(:
|
46
|
-
expect(download.get).to eq
|
45
|
+
expect(File).to receive(:rename)
|
46
|
+
expect(download.get).to eq 'test-shapefile.zip'
|
47
47
|
end
|
48
48
|
end
|
49
49
|
describe '#create_download_file' do
|
50
50
|
it 'should create the file in fs and delete it if the content headers are not correct' do
|
51
|
-
|
52
|
-
expect(
|
51
|
+
bad_file = OpenStruct.new(headers: { 'content-type' => 'bad/file' })
|
52
|
+
expect(download).to receive(:initiate_download).and_return(bad_file)
|
53
53
|
expect(File).to receive(:delete).with("#{download.file_path}.tmp").and_return(nil)
|
54
54
|
expect(download.create_download_file).to eq nil
|
55
55
|
end
|
@@ -86,13 +86,13 @@ describe Geoblacklight::References do
|
|
86
86
|
it 'should return available downloads by format' do
|
87
87
|
types = complex_shapefile.download_types
|
88
88
|
expect(types.first[1]).to eq wfs: 'http://hgl.harvard.edu:8080/geoserver/wfs'
|
89
|
-
expect(types.count).to eq
|
89
|
+
expect(types.count).to eq 3
|
90
90
|
expect(direct_download_only.download_types).to be_nil
|
91
91
|
end
|
92
92
|
it 'should only return available downloads if no direct is present' do
|
93
93
|
types = typical_ogp_shapefile.download_types
|
94
94
|
expect(types.first[1]).to eq wfs: "http://hgl.harvard.edu:8080/geoserver/wfs"
|
95
|
-
expect(types.count).to eq
|
95
|
+
expect(types.count).to eq 3
|
96
96
|
end
|
97
97
|
end
|
98
98
|
end
|
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: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darren Hardy
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-12-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: blacklight
|
@@ -271,6 +271,7 @@ files:
|
|
271
271
|
- app/assets/stylesheets/geoblacklight/_geoblacklight.css.scss
|
272
272
|
- app/assets/stylesheets/geoblacklight/_styles.css.scss
|
273
273
|
- app/assets/stylesheets/geoblacklight/application.css.scss
|
274
|
+
- app/assets/stylesheets/geoblacklight/modules/geosearch.css.scss
|
274
275
|
- app/assets/stylesheets/geoblacklight/modules/home.css.scss
|
275
276
|
- app/assets/stylesheets/geoblacklight/modules/icon-customization.css.scss
|
276
277
|
- app/assets/stylesheets/geoblacklight/modules/icons.css.scss
|
@@ -306,9 +307,12 @@ files:
|
|
306
307
|
- lib/geoblacklight/constants.rb
|
307
308
|
- lib/geoblacklight/controller_override.rb
|
308
309
|
- lib/geoblacklight/download.rb
|
310
|
+
- lib/geoblacklight/download/geojson_download.rb
|
311
|
+
- lib/geoblacklight/download/geotiff_download.rb
|
309
312
|
- lib/geoblacklight/download/kmz_download.rb
|
310
313
|
- lib/geoblacklight/download/shapefile_download.rb
|
311
314
|
- lib/geoblacklight/engine.rb
|
315
|
+
- lib/geoblacklight/exceptions.rb
|
312
316
|
- lib/geoblacklight/reference.rb
|
313
317
|
- lib/geoblacklight/references.rb
|
314
318
|
- lib/geoblacklight/solr_document.rb
|
@@ -335,7 +339,10 @@ files:
|
|
335
339
|
- spec/fixtures/test-dct-references6.json
|
336
340
|
- spec/fixtures/test-dct-references7.json
|
337
341
|
- spec/fixtures/test-dct-references8.json
|
342
|
+
- spec/helpers/geoblacklight_helpers_spec.rb
|
338
343
|
- spec/lib/geoblacklight/controller_override_spec.rb
|
344
|
+
- spec/lib/geoblacklight/download/geojson_download_spec.rb
|
345
|
+
- spec/lib/geoblacklight/download/geotiff_download_spec.rb
|
339
346
|
- spec/lib/geoblacklight/download/kmz_download_spec.rb
|
340
347
|
- spec/lib/geoblacklight/download/shapefile_download_spec.rb
|
341
348
|
- spec/lib/geoblacklight/download_spec.rb
|
@@ -396,7 +403,10 @@ test_files:
|
|
396
403
|
- spec/fixtures/test-dct-references6.json
|
397
404
|
- spec/fixtures/test-dct-references7.json
|
398
405
|
- spec/fixtures/test-dct-references8.json
|
406
|
+
- spec/helpers/geoblacklight_helpers_spec.rb
|
399
407
|
- spec/lib/geoblacklight/controller_override_spec.rb
|
408
|
+
- spec/lib/geoblacklight/download/geojson_download_spec.rb
|
409
|
+
- spec/lib/geoblacklight/download/geotiff_download_spec.rb
|
400
410
|
- spec/lib/geoblacklight/download/kmz_download_spec.rb
|
401
411
|
- spec/lib/geoblacklight/download/shapefile_download_spec.rb
|
402
412
|
- spec/lib/geoblacklight/download_spec.rb
|