blacklight-maps 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/README.md +120 -42
  4. data/app/assets/javascripts/blacklight-maps.js +1 -2
  5. data/app/assets/javascripts/blacklight-maps/blacklight-maps-browse.js +122 -96
  6. data/app/assets/stylesheets/blacklight_maps/blacklight-maps.css.scss +5 -1
  7. data/app/assets/stylesheets/blacklight_maps/default.css.scss +74 -12
  8. data/app/helpers/blacklight/blacklight_maps_helper_behavior.rb +125 -0
  9. data/app/helpers/blacklight_maps_helper.rb +1 -24
  10. data/app/views/catalog/_document_maps.html.erb +1 -3
  11. data/app/views/catalog/_index_map.html.erb +7 -0
  12. data/app/views/catalog/_map_placename_search.html.erb +8 -0
  13. data/app/views/catalog/_map_spatial_search.html.erb +6 -0
  14. data/app/views/catalog/_show_maplet_default.html.erb +11 -0
  15. data/app/views/catalog/map.html.erb +8 -0
  16. data/blacklight-maps.gemspec +1 -2
  17. data/config/locales/blacklight-maps.en.yml +17 -1
  18. data/config/routes.rb +2 -2
  19. data/docs/blacklight-maps_index-view.png +0 -0
  20. data/docs/blacklight-maps_map-view.png +0 -0
  21. data/docs/blacklight-maps_search-control.png +0 -0
  22. data/docs/blacklight-maps_show-view.png +0 -0
  23. data/lib/blacklight/maps.rb +16 -0
  24. data/lib/blacklight/maps/controller_override.rb +33 -0
  25. data/lib/blacklight/maps/engine.rb +14 -6
  26. data/lib/blacklight/maps/export.rb +102 -61
  27. data/lib/blacklight/maps/render_constraints_override.rb +62 -0
  28. data/lib/blacklight/maps/version.rb +1 -1
  29. data/lib/generators/blacklight_maps/templates/blacklight_maps.css.scss +1 -1
  30. data/solr_conf/conf/schema.xml +4 -1
  31. data/spec/controllers/catalog_controller_spec.rb +22 -0
  32. data/spec/features/maps_spec.rb +194 -61
  33. data/spec/fixtures/sample_solr_documents.yml +73 -72
  34. data/spec/helpers/blacklight_maps_helper_spec.rb +134 -12
  35. data/spec/lib/blacklight/maps/controller_override_spec.rb +34 -0
  36. data/spec/lib/blacklight/maps/export_spec.rb +178 -35
  37. data/spec/lib/blacklight/maps/render_constraints_override_spec.rb +95 -0
  38. data/spec/spec_helper.rb +1 -1
  39. data/spec/test_app_templates/Gemfile.extra +0 -2
  40. metadata +22 -21
  41. data/app/views/catalog/_index_maps.html.erb +0 -9
  42. data/docs/map-sidebar.png +0 -0
  43. data/docs/map-view.png +0 -0
@@ -58,7 +58,6 @@
58
58
  language_facet:
59
59
  - Urdu
60
60
  timestamp: '2014-02-03T18:42:53.056Z'
61
- placename_coords: []
62
61
  - lc_1letter_facet:
63
62
  - M - Music
64
63
  author_t:
@@ -113,7 +112,6 @@
113
112
  language_facet:
114
113
  - Urdu
115
114
  timestamp: '2014-02-03T18:42:53.056Z'
116
- placename_coords: []
117
115
  - subtitle_display: 'guft va gū-yi Akbar Ganjī bā ʻAbd Allāh Nūrī : bih payvast-i
118
116
  matn-i istīz̤āḥ-i ʻAbd Allāh Nūrī dar Majlis-i panjum'
119
117
  author_vern_display: "‏نورى، عبد الله"
@@ -251,9 +249,10 @@
251
249
  language_facet:
252
250
  - Persian
253
251
  timestamp: '2014-02-03T18:42:53.056Z'
254
- placename_coords:
255
- - Iran-|-32.427908-|-53.688046
256
- place_bbox: 44.0318907 25.0594286 63.3333366 39.7816755
252
+ geojson: "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[53.688046,32.427908]},\"properties\":{\"placename\":\"Iran\"}}"
253
+ coordinates:
254
+ - 53.688046 32.427908
255
+ - 44.0318907 25.0594286 63.3333366 39.7816755
257
256
  - author_t:
258
257
  - Yoshida, Hajime,
259
258
  - "吉田一"
@@ -335,9 +334,10 @@
335
334
  language_facet:
336
335
  - Japanese
337
336
  timestamp: '2014-02-03T18:42:53.056Z'
338
- placename_coords:
339
- - Japan-|-36.204824-|-138.252924
340
- place_bbox: 122.9338302 24.0460446 153.9874305 45.5227719
337
+ geojson: "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.252924,36.204824]},\"properties\":{\"placename\":\"Japan\"}}"
338
+ coordinates:
339
+ - 138.252924 36.204824
340
+ - 122.9338302 24.0460446 153.9874305 45.5227719
341
341
  - lc_1letter_facet:
342
342
  - D - World History
343
343
  author_t:
@@ -407,9 +407,10 @@
407
407
  language_facet:
408
408
  - Russian
409
409
  timestamp: '2014-02-03T18:42:53.056Z'
410
- placename_coords:
411
- - Kazakhstan-|-48.019573-|-66.923684
412
- place_bbox: 46.4936719 40.568584 87.315415 55.441984
410
+ geojson: "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[66.923684,48.019573]},\"properties\":{\"placename\":\"Kazakhstan\"}}"
411
+ coordinates:
412
+ - 66.923684 48.019573
413
+ - 46.4936719 40.568584 87.315415 55.441984
413
414
  - lc_1letter_facet:
414
415
  - K - Law
415
416
  author_t:
@@ -482,7 +483,6 @@
482
483
  language_facet:
483
484
  - Russian
484
485
  timestamp: '2014-02-03T18:42:53.056Z'
485
- placename_coords: []
486
486
  - lc_1letter_facet:
487
487
  - D - World History
488
488
  marc_display: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><collection xmlns=\"http://www.loc.gov/MARC21/slim\"><record><leader>01062cam
@@ -572,9 +572,10 @@
572
572
  language_facet:
573
573
  - Korean
574
574
  timestamp: '2014-02-03T18:42:53.056Z'
575
- placename_coords:
576
- - Korea-|-35.907757-|-127.766922
577
- place_bbox: 124.608139 33.1061096 130.9232178 38.6169312
575
+ geojson: "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.766922,35.907757]},\"properties\":{\"placename\":\"Korea\"}}"
576
+ coordinates:
577
+ - 124.608139 33.1061096 130.9232178 38.6169312
578
+ - 127.766922 35.907757
578
579
  - lc_1letter_facet:
579
580
  - P - Language & Literature
580
581
  author_t:
@@ -641,7 +642,6 @@
641
642
  language_facet:
642
643
  - Sanskrit
643
644
  timestamp: '2014-02-03T18:42:53.056Z'
644
- placename_coords: []
645
645
  - lc_1letter_facet:
646
646
  - H - Social Sciences
647
647
  author_t:
@@ -705,9 +705,12 @@
705
705
  language_facet:
706
706
  - Urdu
707
707
  timestamp: '2014-02-03T18:42:53.056Z'
708
- placename_coords:
709
- - Pakistan-|-30.375321-|-69.34511599999999
710
- place_bbox: 60.872972 23.6946945 77.8334694 37.084107
708
+ geojson:
709
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[69.34511599999999,30.375321]},\"properties\":{\"placename\":\"Pakistan\"}}"
710
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[60.872972, 23.6946945], [77.8334694, 23.6946945], [77.8334694, 37.084107], [60.872972, 37.084107], [60.872972, 23.6946945]]]},\"bbox\":[60.872972, 23.6946945, 77.8334694, 37.084107]}"
711
+ coordinates:
712
+ - 60.872972 23.6946945 77.8334694 37.084107
713
+ - 69.34511599999999 30.375321
711
714
  - lc_1letter_facet:
712
715
  - M - Music
713
716
  author_t:
@@ -766,7 +769,6 @@
766
769
  language_facet:
767
770
  - Sanskrit
768
771
  timestamp: '2014-02-03T18:42:53.056Z'
769
- placename_coords: []
770
772
  - subtitle_display: sipurim mafliʼim ha-mevusasim ʻal ʻuvdot hisṭoriyot
771
773
  author_vern_display: "‏פינקל, חיים יעקב"
772
774
  subject_addl_t:
@@ -862,7 +864,6 @@
862
864
  language_facet:
863
865
  - Hebrew
864
866
  timestamp: '2014-02-03T18:42:53.056Z'
865
- placename_coords: []
866
867
  - lc_1letter_facet:
867
868
  - B - Philosophy, Psychology, Religion
868
869
  author_t:
@@ -963,7 +964,6 @@
963
964
  language_facet:
964
965
  - Persian
965
966
  timestamp: '2014-02-03T18:42:53.056Z'
966
- placename_coords: []
967
967
  - lc_1letter_facet:
968
968
  - M - Music
969
969
  author_t:
@@ -1020,7 +1020,6 @@
1020
1020
  subtitle_t:
1021
1021
  - tʻeoriul-metʻoduri narkvevi /
1022
1022
  timestamp: '2014-02-03T18:42:53.056Z'
1023
- placename_coords: []
1024
1023
  - lc_1letter_facet:
1025
1024
  - K - Law
1026
1025
  author_t:
@@ -1107,9 +1106,8 @@
1107
1106
  language_facet:
1108
1107
  - Korean
1109
1108
  timestamp: '2014-02-03T18:42:53.056Z'
1110
- placename_coords:
1111
- - Korea (North)-|-35.907757-|-127.766922
1112
- place_bbox: 124.608139 33.1061096 130.9232178 38.6169312
1109
+ geojson: "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.766922,35.907757]},\"properties\":{\"placename\":\"Korea (North)\"}}"
1110
+ coordinates: 127.766922 35.907757
1113
1111
  - subtitle_display: ṿe-hu perush yafeh u-menupeh ʻal Shulḥan ʻarukh Oraḥ ḥayim
1114
1112
  asher ḥiber Yosef Ḳaro ... ʻim ḥidushe dinim she-hishmiṭ ha-gaʼon ... ṿe-himtsiʼam
1115
1113
  ... Mosheh Iserlish
@@ -1274,7 +1272,6 @@
1274
1272
  language_facet:
1275
1273
  - Hebrew
1276
1274
  timestamp: '2014-02-03T18:42:53.056Z'
1277
- placename_coords: []
1278
1275
  - subtitle_display: 'kangnam yŏin kwa sin pʻalbulchʻul : Kim Hong-sin setʻae rŭpʻo'
1279
1276
  author_vern_display: "김 홍신, 1947-"
1280
1277
  subject_addl_t:
@@ -1369,12 +1366,12 @@
1369
1366
  language_facet:
1370
1367
  - Korean
1371
1368
  timestamp: '2014-02-03T18:42:53.056Z'
1372
- placename_coords:
1373
- - Seoul (Korea)-|-37.566535-|-126.9779692
1374
- - Korea (South)-|-35.907757-|-127.766922
1375
- place_bbox:
1376
- - 126.7645827 37.4259627 127.18359 37.7017495
1377
- - 124.608139 33.1061096 130.9232178 38.6169312
1369
+ geojson:
1370
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[126.9779692,37.566535]},\"properties\":{\"placename\":\"Seoul (Korea)\"}}"
1371
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.766922,35.907757]},\"properties\":{\"placename\":\"Korea (South)\"}}"
1372
+ coordinates:
1373
+ - 126.9779692 37.566535
1374
+ - 127.766922 35.907757
1378
1375
  - subtitle_display: dar khiradvarzī-i siyāsī va huvīyat-i mā Īrānīyān
1379
1376
  author_vern_display: "‏رجايى، فرهنگ ."
1380
1377
  subject_addl_t:
@@ -1483,9 +1480,10 @@
1483
1480
  language_facet:
1484
1481
  - Persian
1485
1482
  timestamp: '2014-02-03T18:42:53.056Z'
1486
- placename_coords:
1487
- - Iran-|-32.427908-|-53.688046
1488
- place_bbox: 44.0318907 25.0594286 63.3333366 39.7816755
1483
+ geojson: "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[53.688046,32.427908]},\"properties\":{\"placename\":\"Iran\"}}"
1484
+ coordinates:
1485
+ - 53.688046 32.427908
1486
+ - 44.0318907 25.0594286 63.3333366 39.7816755
1489
1487
  - lc_1letter_facet:
1490
1488
  - P - Language & Literature
1491
1489
  author_t:
@@ -1573,7 +1571,6 @@
1573
1571
  language_facet:
1574
1572
  - Sanskrit
1575
1573
  timestamp: '2014-02-03T18:42:53.056Z'
1576
- placename_coords: []
1577
1574
  - lc_1letter_facet:
1578
1575
  - U - Military Science
1579
1576
  author_t:
@@ -1664,7 +1661,6 @@
1664
1661
  language_facet:
1665
1662
  - Arabic
1666
1663
  timestamp: '2014-02-03T18:42:53.056Z'
1667
- placename_coords: []
1668
1664
  - lc_1letter_facet:
1669
1665
  - D - World History
1670
1666
  author_t:
@@ -1733,7 +1729,6 @@
1733
1729
  language_facet:
1734
1730
  - Tibetan
1735
1731
  timestamp: '2014-02-03T18:42:53.056Z'
1736
- placename_coords: []
1737
1732
  - subtitle_display: min jald al-dhāt ilá ṣidq al-sharḥ
1738
1733
  author_vern_display: "أبو الخير، علي عبد الحميد"
1739
1734
  subject_addl_t:
@@ -1822,7 +1817,6 @@
1822
1817
  language_facet:
1823
1818
  - Arabic
1824
1819
  timestamp: '2014-02-03T18:42:53.056Z'
1825
- placename_coords: []
1826
1820
  - lc_1letter_facet:
1827
1821
  - H - Social Sciences
1828
1822
  marc_display: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><collection xmlns=\"http://www.loc.gov/MARC21/slim\"><record><leader>03730cam
@@ -1996,9 +1990,12 @@
1996
1990
  language_facet:
1997
1991
  - Hebrew
1998
1992
  timestamp: '2014-02-03T18:42:53.056Z'
1999
- placename_coords:
2000
- - Israel-|-31.046051-|-34.851612
2001
- place_bbox: 34.267387 29.47969999999999 35.896244 33.33280500000001
1993
+ geojson:
1994
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[34.851612, 31.046051]},\"properties\":{\"placename\":\"Israel\"}}"
1995
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[34.267387, 29.47969999999999], [35.896244, 29.47969999999999], [35.896244, 33.33280500000001], [34.267387, 33.33280500000001], [34.267387, 29.47969999999999]]]},\"bbox\":[34.267387, 29.47969999999999, 35.896244, 33.33280500000001]}"
1996
+ coordinates:
1997
+ - 34.267387 29.47969999999999 35.896244 33.33280500000001
1998
+ - 34.851612 31.046051
2002
1999
  - lc_1letter_facet:
2003
2000
  - E - History of the Americas (General)
2004
2001
  author_t:
@@ -2107,10 +2104,12 @@
2107
2104
  subtitle_t:
2108
2105
  - 'a Native American elder has her say : an oral history /'
2109
2106
  timestamp: '2014-02-03T18:42:53.056Z'
2110
- placename_coords:
2111
- - New Jersey-|-40.0583238-|--74.4056612
2112
- - Bridgeton-|-39.427337-|--75.2340768
2113
- place_bbox: "-75.25303300000002 39.4027581 -75.20384 39.455303"
2107
+ geojson:
2108
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[74.4056612,40.0583238]},\"properties\":{\"placename\":\"New Jersey\"}}"
2109
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[75.2340768,39.427337]},\"properties\":{\"placename\":\"Bridgeton\"}}"
2110
+ coordinates:
2111
+ - 74.4056612 40.0583238
2112
+ - 75.2340768 39.427337
2114
2113
  - lc_1letter_facet:
2115
2114
  - B - Philosophy, Psychology, Religion
2116
2115
  author_t:
@@ -2191,7 +2190,6 @@
2191
2190
  - dam paʼi chos dgoṅs pa gcig paʼi dri ba legs bśad bsu baʼi pho ñaʼi dris lan
2192
2191
  Dgoṅs-gcig smra baʼi mdzes rgyan źes bya ba bźugs so /
2193
2192
  timestamp: '2014-02-03T18:42:53.056Z'
2194
- placename_coords: []
2195
2193
  - subtitle_display: a supplication to the noble Lama Mahaguru Padmasambhava
2196
2194
  subject_addl_t:
2197
2195
  - Prayers and devotions
@@ -2297,9 +2295,12 @@
2297
2295
  - English
2298
2296
  - Tibetan
2299
2297
  timestamp: '2014-02-03T18:42:53.056Z'
2300
- placename_coords:
2301
- - India-|-20.593684-|-78.96288
2302
- place_bbox: 68.162386 6.7535159 97.395555 35.5044752
2298
+ geojson:
2299
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[78.96288,20.593684]},\"properties\":{\"placename\":\"India\"}}"
2300
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[68.162386, 6.7535159], [97.395555, 6.7535159], [97.395555, 35.5044752], [68.162386, 35.5044752], [68.162386, 6.7535159]]]},\"bbox\":[68.162386, 6.7535159, 97.395555, 35.5044752]}"
2301
+ coordinates:
2302
+ - 68.162386 6.7535159 97.395555 35.5044752
2303
+ - 78.96288 20.593684
2303
2304
  - lc_1letter_facet:
2304
2305
  - B - Philosophy, Psychology, Religion
2305
2306
  author_t:
@@ -2380,7 +2381,6 @@
2380
2381
  - goṅ sa skyabs mgon chen po mchog nas deṅ dus Bod rigs na gźon rnams la naṅ
2381
2382
  chos ṅo sprod bstsal ba bźugs so.
2382
2383
  timestamp: '2014-02-03T18:42:53.056Z'
2383
- placename_coords: []
2384
2384
  - lc_1letter_facet:
2385
2385
  - D - World History
2386
2386
  author_t:
@@ -2415,7 +2415,7 @@
2415
2415
  tag=\"520\" ind1=\" \" ind2=\" \"><subfield code=\"a\">History of Tibet in questions/answers
2416
2416
  format.</subfield></datafield><datafield tag=\"504\" ind1=\" \" ind2=\" \"><subfield
2417
2417
  code=\"a\">Includes bibliographical references (p. 406-407).</subfield></datafield><datafield
2418
- tag=\"651\" ind1=\" \" ind2=\"0\"><subfield code=\"a\">Tibet (China)</subfield><subfield
2418
+ tag=\"651\" ind1=\" \" ind2=\"0\"><subfield code=\"a\">Tibet</subfield><subfield
2419
2419
  code=\"x\">History</subfield><subfield code=\"v\">Miscellanea.</subfield></datafield><datafield
2420
2420
  tag=\"710\" ind1=\"2\" ind2=\" \"><subfield code=\"a\">Rnam-rgyal Grwa-tshaṅ.</subfield></datafield></record></collection>"
2421
2421
  published_display:
@@ -2439,7 +2439,7 @@
2439
2439
  subject_addl_t:
2440
2440
  - History Miscellanea
2441
2441
  subject_t:
2442
- - Tibet (China)
2442
+ - Tibet
2443
2443
  title_sort: bod gaṅs can gyi rgyal rabs mdor bsdus dris lan brgya pa rab gsal śel
2444
2444
  gyi me loṅ źes bya ba bźugs so
2445
2445
  id: '2008308202'
@@ -2450,7 +2450,7 @@
2450
2450
  loṅ źes bya ba bźugs so /
2451
2451
  - Rgyal rabs dris lan brgya pa rab gsal śel gyi me loṅ
2452
2452
  subject_geo_facet:
2453
- - Tibet (China)
2453
+ - Tibet
2454
2454
  author_addl_t:
2455
2455
  - Rnam-rgyal Grwa-tshaṅ.
2456
2456
  lc_alpha_facet:
@@ -2458,9 +2458,8 @@
2458
2458
  language_facet:
2459
2459
  - Tibetan
2460
2460
  timestamp: '2014-02-03T18:42:53.056Z'
2461
- placename_coords:
2462
- - Tibet (China)-|-29.646923-|-91.117212
2463
- place_bbox: 78.3955448 26.8548157 99.116241 36.4833345
2461
+ geojson: "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[91.117212,29.646923]},\"properties\":{\"placename\":\"Tibet\"}}"
2462
+ coordinates: 91.117212 29.646923
2464
2463
  - marc_display: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><collection xmlns=\"http://www.loc.gov/MARC21/slim\"><record><leader>01127cam
2465
2464
  a22002895a 4500</leader><controlfield tag=\"001\"> 2008308478</controlfield><controlfield
2466
2465
  tag=\"003\">DLC</controlfield><controlfield tag=\"005\">20090123131001.0</controlfield><controlfield
@@ -2535,12 +2534,14 @@
2535
2534
  language_facet:
2536
2535
  - Tibetan
2537
2536
  timestamp: '2014-02-03T18:42:53.056Z'
2538
- placename_coords:
2539
- - China-|-35.86166-|-104.195397
2540
- - Tibet-|-29.646923-|-91.117212
2541
- - India-|-20.593684-|-78.96288
2542
- - India-|-20.593684-|-78.96288
2543
- place_bbox: 68.162386 6.7535159 97.395555 35.5044752
2537
+ geojson:
2538
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[104.195397,35.86166]},\"properties\":{\"placename\":\"China\"}}"
2539
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[91.117212,29.646923]},\"properties\":{\"placename\":\"Tibet\"}}"
2540
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[78.96288,20.593684]},\"properties\":{\"placename\":\"India\"}}"
2541
+ coordinates:
2542
+ - 104.195397 35.86166
2543
+ - 91.117212 29.646923
2544
+ - 78.96288 20.593684
2544
2545
  - author_vern_display: "吉田一, 1934-"
2545
2546
  subject_addl_t:
2546
2547
  - 20th century History and criticism
@@ -2646,9 +2647,8 @@
2646
2647
  language_facet:
2647
2648
  - Japanese
2648
2649
  timestamp: '2014-02-03T18:42:53.056Z'
2649
- placename_coords:
2650
- - Japan-|-36.204824-|-138.252924
2651
- place_bbox: 122.9338302 24.0460446 153.9874305 45.5227719
2650
+ geojson: "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.252924,36.204824]},\"properties\":{\"placename\":\"Japan\"}}"
2651
+ coordinates: 138.252924 36.204824
2652
2652
  - author_vern_display: "林行止"
2653
2653
  subject_addl_t:
2654
2654
  - 1990-
@@ -2753,8 +2753,9 @@
2753
2753
  language_facet:
2754
2754
  - Chinese
2755
2755
  timestamp: '2014-02-03T18:42:53.056Z'
2756
- placename_coords:
2757
- - Economic history-|-41.3137481-|--72.9231485
2758
- - World politics-|-38.910504-|--77.03605999999999
2759
- - Hong Kong (China)-|-22.396428-|-114.109497
2760
- place_bbox: 113.835078 22.1533884 114.4069561 22.561968
2756
+ geojson:
2757
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[114.109497,22.396428]},\"properties\":{\"placename\":\"Hong Kong (China)\"}}"
2758
+ - "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[113.835078, 22.1533884], [114.4069561, 22.1533884], [114.4069561, 22.561968], [113.835078, 22.561968], [113.835078, 22.1533884]]]},\"bbox\":[113.835078, 22.1533884, 114.4069561, 22.561968]}"
2759
+ coordinates:
2760
+ - 113.835078 22.1533884 114.4069561 22.561968
2761
+ - 114.109497 22.396428
@@ -14,27 +14,26 @@ describe BlacklightMapsHelper do
14
14
 
15
15
  before :each do
16
16
  CatalogController.blacklight_config = Blacklight::Configuration.new
17
- CatalogController.configure_blacklight do |config|
18
- config.view.maps.type = 'placename_coord'
19
-
20
- # These fields also need to be added for some reason for the tests to pass
21
- # Link in list is not being generated correctly if not passed
22
- config.index.title_field = 'title_display'
23
- end
24
17
  helper.stub(blacklight_config: blacklight_config)
25
- helper.instance_variable_set(:@response, r)
26
18
  @request = ActionDispatch::TestRequest.new
27
19
  @catalog = CatalogController.new
28
20
  @catalog.request = @request
21
+ @catalog.action_name = "index"
29
22
  helper.instance_variable_set(:@_controller, @catalog)
23
+ @docs = r.facet_by_field_name(blacklight_config.view.maps.geojson_field).items
24
+ @geojson_hash = {type:"Feature", geometry:{type:"Point",coordinates:[91.117212, 29.646923]},properties:{placename:"Tibet"}}
25
+ @coords = [91.117212,29.646923]
26
+ @bbox = [78.3955448,26.8548157,99.116241,36.4833345]
30
27
  end
31
28
 
32
- describe "#blacklight_map_tag" do
29
+ describe "blacklight_map_tag" do
33
30
 
34
31
  context "with default values" do
35
32
  subject { helper.blacklight_map_tag('blacklight-map') }
36
33
  it { should have_selector "div#blacklight-map" }
37
- it { should have_selector "div[data-maxzoom='8'][data-tileurl='http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'][data-mapattribution='Map data &copy; <a href=\"http://openstreetmap.org\">OpenStreetMap</a> contributors, <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">CC-BY-SA</a>']" }
34
+ it { should have_selector "div[data-maxzoom='#{blacklight_config.view.maps.maxzoom}']" }
35
+ it { should have_selector "div[data-tileurl='#{blacklight_config.view.maps.tileurl}']" }
36
+ it { should have_selector "div[data-mapattribution='#{blacklight_config.view.maps.mapattribution}']" }
38
37
  end
39
38
 
40
39
  context "with custom values" do
@@ -50,13 +49,136 @@ describe BlacklightMapsHelper do
50
49
  end
51
50
 
52
51
  describe "serialize_geojson" do
52
+
53
53
  it "should return geojson of documents" do
54
- expect(helper.serialize_geojson).to include('{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point"')
54
+ expect(helper.serialize_geojson(@docs)).to include('{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point"')
55
+ end
56
+
57
+ end
58
+
59
+ describe "placename_value" do
60
+
61
+ it "should return the placename value" do
62
+ expect(helper.placename_value(@geojson_hash)).to eq('Tibet')
55
63
  end
64
+
56
65
  end
57
66
 
67
+ describe "link_to_bbox_search" do
68
+
69
+ before do
70
+ @bbox = [78.3955448,26.8548157,99.116241,36.4833345]
71
+ end
72
+
73
+ it "should create a spatial search link" do
74
+ expect(helper.link_to_bbox_search(@bbox)).to include('catalog?coordinates')
75
+ expect(helper.link_to_bbox_search(@bbox)).to include('spatial_search_type=bbox')
76
+ end
77
+
78
+ end
79
+
80
+ describe "link_to_placename_field" do
81
+
82
+ it "should create a link to the placename field" do
83
+ expect(helper.link_to_placename_field('Tibet', blacklight_config.view.maps.placename_field)).to include("catalog?f%5B#{blacklight_config.view.maps.placename_field}%5D%5B%5D=Tibet")
84
+ end
85
+
86
+ it "should create a link to the placename field using the display value" do
87
+ expect(helper.link_to_placename_field('Tibet', blacklight_config.view.maps.placename_field, 'foo')).to include('">foo</a>')
88
+ end
89
+
90
+ end
91
+
92
+ describe "link_to_point_search" do
93
+
94
+ before do
95
+ @coords = [91.117212,29.646923]
96
+ end
97
+
98
+ it "should create a link to a coordinate point" do
99
+ expect(helper.link_to_point_search(@coords)).to include('catalog?coordinates')
100
+ expect(helper.link_to_point_search(@coords)).to include('spatial_search_type=point')
101
+ end
102
+
103
+ end
104
+
105
+ describe "map_facet_field" do
106
+
107
+ it "should return the correct facet field" do
108
+ expect(helper.map_facet_field).to eq(blacklight_config.view.maps.geojson_field)
109
+ end
110
+
111
+ end
112
+
113
+ describe "map_facet_values" do
114
+
115
+ before do
116
+ @response = r
117
+ end
118
+
119
+ it "should return an array of Blacklight::SolrResponse::Facets::FacetItem items" do
120
+ expect(helper.map_facet_values.class).to eq(Array)
121
+ expect(helper.map_facet_values.first.class).to eq(Blacklight::SolrResponse::Facets::FacetItem)
122
+ expect(helper.map_facet_values.length).to eq(5)
123
+ end
124
+
125
+ end
126
+
127
+ describe "render_placename_heading" do
128
+
129
+ it "should return the placename heading" do
130
+ expect(helper.render_placename_heading(@geojson_hash)).to eq('Tibet')
131
+ end
132
+
133
+ end
134
+
135
+ describe "render_index_map" do
136
+
137
+ before do
138
+ @response = r
139
+ end
140
+
141
+ it "should render the 'catalog/index_map' partial" do
142
+ expect(helper.render_index_map).to include("$('#blacklight-index-map').blacklight_leaflet_map")
143
+ end
144
+
145
+ end
146
+
147
+ describe "render_spatial_search_link" do
148
+
149
+ it "should return link_to_bbox_search if bbox coordinates are passed" do
150
+ expect(helper.render_spatial_search_link(@bbox)).to include('spatial_search_type=bbox')
151
+ end
152
+
153
+ it "should return link_to_point_search if point coordinates are passed" do
154
+ expect(helper.render_spatial_search_link(@coords)).to include('spatial_search_type=point')
155
+ end
156
+
157
+ end
158
+
159
+ describe "set_viewpoint" do
160
+
161
+ describe "map with a single point" do
162
+
163
+ it "should return a coordinate array matching the point" do
164
+ expect(helper.set_viewpoint(helper.serialize_geojson([@docs.first]))).to eq([29.646923, 91.117212])
165
+ end
166
+
167
+ end
168
+
169
+ describe "map with multiple points" do
170
+
171
+ it "should return an array of coordinates with the max lat-long of the range of points" do
172
+ expect(helper.set_viewpoint(helper.serialize_geojson(@docs))).to eq([[20.593684, 78.96288], [35.86166, 104.195397]])
173
+ end
174
+
175
+ end
176
+
177
+ end
178
+
179
+
58
180
  def mock_query_response
59
- %({"responseHeader"=>{"status"=>0, "QTime"=>14, "params"=>{"q"=>"tibet", "spellcheck.q"=>"tibet", "qt"=>"search", "wt"=>"ruby", "rows"=>"10"}}, "response"=>{"numFound"=>2, "start"=>0, "maxScore"=>0.016135123, "docs"=>[{"published_display"=>["Dharamsala, H.P."], "author_display"=>"Thub-bstan-yar-ʼphel, Rnam-grwa", "lc_callnum_display"=>["DS785 .T475 2005"], "pub_date"=>["2005"], "format"=>"Book", "material_type_display"=>["a-e, iv, ii, 407 p."], "title_display"=>"Bod gaṅs can gyi rgyal rabs mdor bsdus dris lan brgya pa rab gsal śel gyi me loṅ źes bya ba bźugs so", "id"=>"2008308202", "subject_geo_facet"=>["Tibet (China)"], "language_facet"=>["Tibetan"], "placename_coords"=>["Tibet (China)-|-29.646923-|-91.117212"], "place_bbox"=>"78.3955448 26.8548157 99.116241 36.4833345", "score"=>0.016135123}, {"published_display"=>["Dharamsala, Distt. Kangra, H.P."], "pub_date"=>["2007"], "format"=>"Book", "title_display"=>"Ses yon", "material_type_display"=>["xii, 419 p."], "id"=>"2008308478", "subject_geo_facet"=>["China", "Tibet", "India"], "subject_topic_facet"=>["Education and state", "Tibetans", "Tibetan language", "Teaching"], "language_facet"=>["Tibetan"], "placename_coords"=>["China-|-35.86166-|-104.195397", "Tibet-|-29.646923-|-91.117212", "India-|-20.593684-|-78.96288"], "place_bbox"=>"68.162386 6.7535159 97.395555 35.5044752", "score"=>0.0026767207}]}, "facet_counts"=>{"facet_queries"=>{}, "facet_fields"=>{"format"=>["Book", 2], "lc_1letter_facet"=>["D - World History", 1], "lc_alpha_facet"=>["DS", 1], "lc_b4cutter_facet"=>["DS785", 1], "language_facet"=>["Tibetan", 2], "pub_date"=>["2005", 1, "2007", 1], "subject_era_facet"=>[], "subject_geo_facet"=>["China", 1, "India", 1, "Tibet", 1, "Tibet (China)", 1], "subject_topic_facet"=>["Education and state", 1, "Teaching", 1, "Tibetan language", 1, "Tibetans", 1]}, "facet_dates"=>{}, "facet_ranges"=>{}}, "spellcheck"=>{"suggestions"=>["tibet", {"numFound"=>1, "startOffset"=>0, "endOffset"=>5, "origFreq"=>2, "suggestion"=>[{"word"=>"tibetan", "freq"=>6}]}, "correctlySpelled", true]}})
181
+ %({"responseHeader"=>{"status"=>0, "QTime"=>14, "params"=>{"q"=>"tibet", "spellcheck.q"=>"tibet", "qt"=>"search", "wt"=>"ruby", "rows"=>"10"}}, "response"=>{"numFound"=>2, "start"=>0, "maxScore"=>0.016135123, "docs"=>[{"published_display"=>["Dharamsala, H.P."], "author_display"=>"Thub-bstan-yar-ʼphel, Rnam-grwa", "lc_callnum_display"=>["DS785 .T475 2005"], "pub_date"=>["2005"], "format"=>"Book", "material_type_display"=>["a-e, iv, ii, 407 p."], "title_display"=>"Bod gaṅs can gyi rgyal rabs mdor bsdus dris lan brgya pa rab gsal śel gyi me loṅ źes bya ba bźugs so", "id"=>"2008308202", "subject_geo_facet"=>["Tibet"], "language_facet"=>["Tibetan"], "geojson"=>["{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Point\\",\\"coordinates\\":[91.117212, 29.646923]},\\"properties\\":{\\"placename\\":\\"Tibet\\"}}", "{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Polygon\\",\\"coordinates\\":[[[78.3955448, 26.8548157], [99.116241, 26.8548157], [99.116241, 36.4833345], [78.3955448, 36.4833345], [78.3955448, 26.8548157]]]},\\"bbox\\":[78.3955448,26.8548157,99.116241,36.4833345]}"], "coordinates"=>["91.117212 29.646923", "78.3955448 26.8548157 99.116241 36.4833345"], "score"=>0.016135123}, {"published_display"=>["Dharamsala, Distt. Kangra, H.P."], "pub_date"=>["2007"], "format"=>"Book", "title_display"=>"Ses yon", "material_type_display"=>["xii, 419 p."], "id"=>"2008308478", "subject_geo_facet"=>["China", "Tibet", "India"], "subject_topic_facet"=>["Education and state", "Tibetans", "Tibetan language", "Teaching"], "language_facet"=>["Tibetan"], "geojson"=>["{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Point\\",\\"coordinates\\":[104.195397,35.86166]},\\"properties\\":{\\"placename\\":\\"China\\"}}", "{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Point\\",\\"coordinates\\":[91.117212,29.646923]},\\"properties\\":{\\"placename\\":\\"Tibet\\"}}", "{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Point\\",\\"coordinates\\":[78.96288,20.593684]},\\"properties\\":{\\"placename\\":\\"India\\"}}","{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Polygon\\",\\"coordinates\\":[[[68.162386, 6.7535159], [97.395555, 6.7535159], [97.395555, 35.5044752], [68.162386, 35.5044752], [68.162386, 6.7535159]]]},\\"bbox\\":[68.162386,6.7535159,97.395555,35.5044752]}"], "coordinates"=>["68.162386 6.7535159 97.395555 35.5044752", "104.195397 35.86166", "91.117212 29.646923", "78.96288 20.593684"], "score"=>0.0026767207}]}, "facet_counts"=>{"facet_queries"=>{}, "facet_fields"=>{"format"=>["Book", 2], "lc_1letter_facet"=>["D - World History", 1], "lc_alpha_facet"=>["DS", 1], "lc_b4cutter_facet"=>["DS785", 1], "language_facet"=>["Tibetan", 2], "pub_date"=>["2005", 1, "2007", 1], "subject_era_facet"=>[], "subject_geo_facet"=>["China", 1, "India", 1, "Tibet", 1, "Tibet (China)", 1], "coordinates"=>["91.117212 29.646923", 2, "78.3955448 26.8548157 99.116241 36.4833345", 1, "68.162386 6.7535159 97.395555 35.5044752", 1, "104.195397 35.86166", 1, "78.96288 20.593684", 1], "geojson"=>["{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Point\\",\\"coordinates\\":[91.117212, 29.646923]},\\"properties\\":{\\"placename\\":\\"Tibet\\"}}", 2, "{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Polygon\\",\\"coordinates\\":[[[78.3955448, 26.8548157], [99.116241, 26.8548157], [99.116241, 36.4833345], [78.3955448, 36.4833345], [78.3955448, 26.8548157]]]},\\"bbox\\":[78.3955448,26.8548157,99.116241,36.4833345]}", 1, "{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Point\\",\\"coordinates\\":[104.195397,35.86166]},\\"properties\\":{\\"placename\\":\\"China\\"}}", 1, "{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Point\\",\\"coordinates\\":[78.96288,20.593684]},\\"properties\\":{\\"placename\\":\\"India\\"}}", 1, "{\\"type\\":\\"Feature\\",\\"geometry\\":{\\"type\\":\\"Polygon\\",\\"coordinates\\":[[[68.162386, 6.7535159], [97.395555, 6.7535159], [97.395555, 35.5044752], [68.162386, 35.5044752], [68.162386, 6.7535159]]]},\\"bbox\\":[68.162386,6.7535159,97.395555,35.5044752]}", 1], "subject_topic_facet"=>["Education and state", 1, "Teaching", 1, "Tibetan language", 1, "Tibetans", 1]}, "facet_dates"=>{}, "facet_ranges"=>{}}, "spellcheck"=>{"suggestions"=>["tibet", {"numFound"=>1, "startOffset"=>0, "endOffset"=>5, "origFreq"=>2, "suggestion"=>[{"word"=>"tibetan", "freq"=>6}]}, "correctlySpelled", true]}})
60
182
  end
61
183
 
62
184
  end