blacklight_allmaps 0.2.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +107 -0
  3. data/.gitignore +20 -0
  4. data/.standard.yml +1 -0
  5. data/Gemfile +50 -0
  6. data/README.md +47 -6
  7. data/Rakefile +4 -0
  8. data/app/assets/images/blacklight_allmaps/.keep +0 -0
  9. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js +41 -0
  10. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js.map +1 -1
  11. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js +41 -0
  12. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js.map +1 -1
  13. data/app/assets/stylesheets/blacklight/allmaps/base.scss +4 -1
  14. data/app/assets/stylesheets/blacklight/allmaps/modules/leaflet.opacity.css +76 -0
  15. data/app/controllers/allmaps/annotations_controller.rb +65 -0
  16. data/app/helpers/blacklight/allmaps/application_helper.rb +1 -1
  17. data/app/javascript/blacklight/allmaps/index.js +6 -0
  18. data/app/javascript/blacklight/allmaps/update_georef_links.js +36 -0
  19. data/app/jobs/blacklight/allmaps/store_sidecar_annotation.rb +7 -1
  20. data/app/models/concerns/.keep +0 -0
  21. data/app/models/concerns/blacklight/allmaps/solr_document.rb +1 -2
  22. data/app/views/allmaps/show/_blacklight.html.erb +1 -1
  23. data/app/views/allmaps/show/_geoblacklight.html.erb +1 -1
  24. data/app/views/allmaps/sidebar/_allmaps.html.erb +4 -32
  25. data/app/views/annotations/_annotation.json.jbuilder +1 -0
  26. data/app/views/annotations/_pagination.json.jbuilder +9 -0
  27. data/app/views/annotations/index.json.jbuilder +4 -0
  28. data/app/views/annotations/show.json.jbuilder +1 -0
  29. data/app/views/catalog/_show_allmaps_tabbed_viewer_container.html.erb +3 -3
  30. data/blacklight_allmaps.gemspec +34 -0
  31. data/config/locales/allmaps.en.yml +11 -0
  32. data/config/routes.rb +7 -0
  33. data/doc/Proposal_Eric_Larson_Ian_Spangler_4CE510.pdf +0 -0
  34. data/doc/allmaps_branding_screenshot.png +0 -0
  35. data/doc/allmaps_screenshot.png +0 -0
  36. data/doc/allmaps_screenshot_window.png +0 -0
  37. data/doc/development.md +72 -0
  38. data/doc/gbl_screenshot.png +0 -0
  39. data/doc/gbl_screenshot_window.png +0 -0
  40. data/doc/georeferenced_facet.png +0 -0
  41. data/doc/screenshot_layers.acorn +0 -0
  42. data/doc/screenshot_layers.png +0 -0
  43. data/lib/blacklight/allmaps/tasks/index.rake +7 -57
  44. data/lib/blacklight/allmaps/tasks/sidecars.rake +9 -0
  45. data/lib/blacklight/allmaps/version.rb +1 -1
  46. data/lib/blacklight/allmaps.rb +10 -2
  47. data/lib/generators/blacklight/allmaps/blacklight_generator.rb +54 -0
  48. data/lib/generators/blacklight/allmaps/config_generator.rb +7 -53
  49. data/lib/generators/blacklight/allmaps/geoblacklight_generator.rb +59 -0
  50. data/lib/generators/blacklight/allmaps/install_generator.rb +10 -0
  51. data/lib/generators/blacklight/allmaps/templates/package.json +6 -0
  52. data/package.json +43 -0
  53. data/rollup.config.js +43 -0
  54. data/solr/blacklight/conf/_rest_managed.json +3 -0
  55. data/solr/blacklight/conf/admin-extra.html +31 -0
  56. data/solr/blacklight/conf/elevate.xml +36 -0
  57. data/solr/blacklight/conf/mapping-ISOLatin1Accent.txt +246 -0
  58. data/solr/blacklight/conf/protwords.txt +21 -0
  59. data/solr/blacklight/conf/schema.xml +388 -0
  60. data/solr/blacklight/conf/scripts.conf +24 -0
  61. data/solr/blacklight/conf/solrconfig.xml +265 -0
  62. data/solr/blacklight/conf/spellings.txt +2 -0
  63. data/solr/blacklight/conf/stopwords.txt +58 -0
  64. data/solr/blacklight/conf/stopwords_en.txt +58 -0
  65. data/solr/blacklight/conf/synonyms.txt +31 -0
  66. data/solr/blacklight/conf/xslt/example.xsl +132 -0
  67. data/solr/blacklight/conf/xslt/example_atom.xsl +67 -0
  68. data/solr/blacklight/conf/xslt/example_rss.xsl +66 -0
  69. data/solr/blacklight/conf/xslt/luke.xsl +337 -0
  70. data/solr/geoblacklight/conf/_rest_managed.json +3 -0
  71. data/solr/geoblacklight/conf/admin-extra.html +31 -0
  72. data/solr/geoblacklight/conf/core.properties +5 -0
  73. data/solr/geoblacklight/conf/elevate.xml +36 -0
  74. data/solr/geoblacklight/conf/mapping-ISOLatin1Accent.txt +246 -0
  75. data/solr/geoblacklight/conf/protwords.txt +21 -0
  76. data/solr/geoblacklight/conf/schema.xml +198 -0
  77. data/solr/geoblacklight/conf/scripts.conf +24 -0
  78. data/solr/geoblacklight/conf/solrconfig.xml +243 -0
  79. data/solr/geoblacklight/conf/spellings.txt +2 -0
  80. data/solr/geoblacklight/conf/stopwords.txt +58 -0
  81. data/solr/geoblacklight/conf/stopwords_en.txt +58 -0
  82. data/solr/geoblacklight/conf/synonyms.txt +31 -0
  83. data/solr/geoblacklight/conf/xslt/example.xsl +132 -0
  84. data/solr/geoblacklight/conf/xslt/example_atom.xsl +67 -0
  85. data/solr/geoblacklight/conf/xslt/example_rss.xsl +66 -0
  86. data/solr/geoblacklight/conf/xslt/luke.xsl +337 -0
  87. data/spec/controllers/annotations_controller_spec.rb +74 -0
  88. data/spec/factories/annotations.rb +12 -0
  89. data/spec/features/show_page_spec.rb +35 -0
  90. data/spec/features/sidebar_spec.rb +28 -0
  91. data/spec/fixtures/blacklight_allmaps_sidecars.yml +1203 -0
  92. data/spec/fixtures/solr_documents/README.md +15 -0
  93. data/spec/fixtures/solr_documents/blacklight/README.md +9 -0
  94. data/spec/fixtures/solr_documents/blacklight/bl_georeferenced.json +40 -0
  95. data/spec/fixtures/solr_documents/geoblacklight/gbl_btaa_northwestern_georeferenced.json +57 -0
  96. data/spec/fixtures/solr_documents/geoblacklight/gbl_harvard-g4124-m2-1855-m3_georefereneced.json +68 -0
  97. data/spec/fixtures/solr_documents/geoblacklight/gbl_not_georeferenced.json +67 -0
  98. data/spec/fixtures/solr_documents/geoblacklight/gbl_osu-0r967h708_georeferenced.json +60 -0
  99. data/spec/fixtures/solr_documents/geoblacklight/gbl_p16022coll230:1933_georeferenced.json +60 -0
  100. data/spec/fixtures/solr_documents/geoblacklight/gbl_p16022coll230:360_georeferenced.json +67 -0
  101. data/spec/fixtures/solr_documents/geoblacklight/gbl_p16022coll230:4038_georeferenced.json +53 -0
  102. data/spec/helpers/blacklight/allmaps/application_helper_spec.rb +28 -0
  103. data/spec/models/blacklight/allmaps/sidecar_allmaps_spec.rb +22 -0
  104. data/spec/spec_helper.rb +53 -0
  105. data/spec/test_app_templates/Gemfile.extra +2 -0
  106. data/spec/test_app_templates/lib/generators/test_app_generator.rb +48 -0
  107. data/vendor/assets/images/fullscreen.png +0 -0
  108. data/vendor/assets/images/fullscreen@2x.png +0 -0
  109. data/vendor/assets/images/layers-2x.png +0 -0
  110. data/vendor/assets/images/layers.png +0 -0
  111. data/vendor/assets/images/marker-icon-2x.png +0 -0
  112. data/vendor/assets/images/marker-icon.png +0 -0
  113. data/vendor/assets/images/marker-shadow.png +0 -0
  114. data/vendor/assets/stylesheets/leaflet.css +640 -0
  115. data/vendor/assets/stylesheets/leaflet.fullscreen.css +40 -0
  116. metadata +109 -7
  117. data/app/controllers/blacklight/allmaps/application_controller.rb +0 -6
  118. data/app/jobs/blacklight/allmaps/application_job.rb +0 -6
  119. data/app/mailers/blacklight/allmaps/application_mailer.rb +0 -8
  120. data/app/models/blacklight/allmaps/application_record.rb +0 -7
@@ -0,0 +1,12 @@
1
+ FactoryBot.define do
2
+ factory :annotation, class: "Blacklight::Allmaps::Sidecar" do
3
+ solr_document_id { "abc_#{rand(1000)}" }
4
+ document_type { "SolrDocument" }
5
+ manifest_id { "http://example.com/manifest/#{rand(1000)}" }
6
+ annotated { true }
7
+ allmaps_id { Digest::SHA1.hexdigest(manifest_id)[0..15] }
8
+ iiif_manifest { "http://example.com/iiif/#{rand(1000)}" }
9
+ allmaps_annotation { "http://example.com/annotation/#{rand(1000)}" }
10
+ solr_version { 1 }
11
+ end
12
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ feature "GEOBLACKLIGHT Catalog#show > Tabbed View", js: true do
6
+ fixtures :blacklight_allmaps_sidecars
7
+
8
+ scenario "Allmaps Georeferenced: Should have tabs for item and map view" do
9
+ skip("GBL") unless defined?(Geoblacklight)
10
+ visit solr_document_path "harvard-g4124-m2-1855-m3"
11
+ expect(page).to have_css "#item-viewer", count: 1
12
+ expect(page).to have_css "#georeferenced-viewer", count: 1
13
+ expect(page).to have_text "Item Viewer"
14
+ expect(page).to have_text "Georeferenced Map"
15
+
16
+ click_on "Georeferenced Map"
17
+
18
+ # See Allmaps Overlay
19
+ expect(page).to have_css "#geoblacklight-allmaps-map", count: 1
20
+
21
+ # See Zoom, Opacity, and Fullscreen Controls
22
+ expect(page).to have_css ".leaflet-control-zoom", visible: false
23
+ expect(page).to have_css ".opacity-control", visible: false
24
+ expect(page).to have_css ".leaflet-control-fullscreen", visible: false
25
+ end
26
+
27
+ scenario "Allmaps NOT Georeferenced: Should only have tab item view" do
28
+ skip("GBL") unless defined?(Geoblacklight)
29
+ visit solr_document_path "p16022coll245:868"
30
+ expect(page).to have_css "#item-viewer", count: 1
31
+ expect(page).to have_no_css "#georeferenced-viewer"
32
+ expect(page).to have_text "Item Viewer"
33
+ expect(page).to have_no_text "Georeferenced Map"
34
+ end
35
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ feature "GEOBLACKLIGHT Catalog#show > Sidebar", js: true do
6
+ scenario "Georeferencing card > Link to Allmaps Viewer" do
7
+ skip("GBL") unless defined?(Geoblacklight)
8
+ visit solr_document_path "harvard-g4124-m2-1855-m3"
9
+ expect(page).to have_css "#allmaps-sidebar", count: 1
10
+ expect(page).to have_text "View this georeferenced item"
11
+ end
12
+
13
+ scenario "Georeferencing card > Link to Allmaps Editor" do
14
+ skip("GBL") unless defined?(Geoblacklight)
15
+ visit solr_document_path "p16022coll245:868"
16
+ expect(page).to have_css "#allmaps-sidebar", count: 1
17
+ expect(page).to have_text "Georeference this item"
18
+ end
19
+ end
20
+
21
+ feature "BLACKLIGHT Catalog#show > Sidebar", js: true do
22
+ scenario "Georeferencing card > Link to Allmaps Viewer" do
23
+ skip("GBL") if defined?(Geoblacklight)
24
+ visit solr_document_path "89696911"
25
+ expect(page).to have_css "#allmaps-sidebar", count: 1
26
+ expect(page).to have_text "View this georeferenced item"
27
+ end
28
+ end