blacklight_allmaps 0.2.0 → 0.4.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 (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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b6dd1b81643cf47fb27e96e46ebd57783c7a276f0c62d4a955358eddaccaa2ba
4
- data.tar.gz: 55425ab5cabddc7f09b8da4bf81a421c5fbbc57e9b5e5925a874750a285cb9e0
3
+ metadata.gz: 36ee8dcecb6fdfe204e03e183438a3a41e09dd802e6efaa42f2e865aacdef99b
4
+ data.tar.gz: ad4a15de994f88bae9597e26761d5ad4aceb7ddfd227a823b68287f44043f75b
5
5
  SHA512:
6
- metadata.gz: cb4bf70dcd2491554327acaae79c8fd8fa0ff0eff8fa4a32728f602090072a5ca59c961003db9f9847f4cdbac61c22cab8dfd7358f223b62b7209da72e32631b
7
- data.tar.gz: 1fbab7b1404ff1ddb861df8163c2ac17e5f5105bad2e5947170032f0002363e5576656d39459504c584317e8df169e5e382a8efc47e3814dc3ffccc4987e53b3
6
+ metadata.gz: 5699838093c01346ad2dd666d3c930b002fbd00aa65909441c184b8f6b0906957b2a1e0195dddde11502864583273580558ac593e4e10280be028bc01e1ea292
7
+ data.tar.gz: 5fe0001de0341c5289d3914b1df02ec8425e6fe88fa26c28f6b8976a241fca3186e5d82b336776c773d8fc1b215fa34484f021f1f14362daa6a09fcd66e01f88
@@ -0,0 +1,107 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+
9
+ jobs:
10
+ linter:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - name: Set up Ruby
15
+ uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: 3.3
18
+ - name: Install dependencies
19
+ run: bundle install
20
+ - name: Run linter
21
+ run: bundle exec standardrb
22
+
23
+ test_blacklight:
24
+ runs-on: ubuntu-latest
25
+ strategy:
26
+ matrix:
27
+ ruby_version: [3.3]
28
+ rails_version: [7.1.3.2]
29
+
30
+ name: Test Blacklight / Ruby ${{ matrix.ruby_version }} / Rails ${{ matrix.rails_version }}
31
+ steps:
32
+ - uses: actions/checkout@v3
33
+ - name: Set up Ruby
34
+ uses: ruby/setup-ruby@v1
35
+ with:
36
+ ruby-version: ${{ matrix.ruby_version }}
37
+ - name: Set up Node
38
+ uses: actions/setup-node@v4
39
+ with:
40
+ node-version: '20.x'
41
+ - name: Create Solr container
42
+ run: docker run -d -p 8983:8983 geoblacklight/solr:8.9-v1.0.0 server/scripts/ci-start.sh
43
+ - name: Lock platform version
44
+ run: bundle lock --add-platform ruby
45
+ - name: Install dependencies
46
+ run: bundle install
47
+ env:
48
+ RAILS_VERSION: ${{ matrix.rails_version }}
49
+ LIGHT: geoblacklight
50
+ - name: Setup Yarn
51
+ run: exec "yarnpkg"
52
+ - name: Load config into solr
53
+ run: |
54
+ cd solr/blacklight/conf
55
+ zip -1 -r solr_config.zip ./*
56
+ curl -H "Content-type:application/octet-stream" --data-binary @solr_config.zip "http://solr:SolrRocks@127.0.0.1:8983/solr/admin/configs?action=UPLOAD&name=blacklight"
57
+ curl -H 'Content-type: application/json' http://solr:SolrRocks@127.0.0.1:8983/api/collections/ -d '{create: {name: blacklight-core, config: blacklight, numShards: 1}}'
58
+ - name: Run tests
59
+ run: bundle exec rake ci
60
+ env:
61
+ RAILS_VERSION: ${{ matrix.rails_version }}
62
+ ENGINE_CART_RAILS_OPTIONS: '--skip-git --skip-listen --skip-spring --skip-keeps --skip-action-cable --skip-coffee --skip-test'
63
+ SOLR_URL: http://solr:SolrRocks@localhost:8983/solr/blacklight-core
64
+ LIGHT: blacklight
65
+
66
+ test_geoblacklight:
67
+ runs-on: ubuntu-latest
68
+ strategy:
69
+ matrix:
70
+ ruby_version: [3.3]
71
+ rails_version: [7.1.3.2]
72
+
73
+ name: Test GeoBlacklight / Ruby ${{ matrix.ruby_version }} / Rails ${{ matrix.rails_version }}
74
+ steps:
75
+ - uses: actions/checkout@v3
76
+ - name: Set up Ruby
77
+ uses: ruby/setup-ruby@v1
78
+ with:
79
+ ruby-version: ${{ matrix.ruby_version }}
80
+ - name: Set up Node
81
+ uses: actions/setup-node@v4
82
+ with:
83
+ node-version: '20.x'
84
+ - name: Create Solr container
85
+ run: docker run -d -p 8983:8983 geoblacklight/solr:8.9-v1.0.0 server/scripts/ci-start.sh
86
+ - name: Lock platform version
87
+ run: bundle lock --add-platform ruby
88
+ - name: Install dependencies
89
+ run: bundle install
90
+ env:
91
+ RAILS_VERSION: ${{ matrix.rails_version }}
92
+ LIGHT: geoblacklight
93
+ - name: Setup Yarn
94
+ run: exec "yarnpkg"
95
+ - name: Load config into solr
96
+ run: |
97
+ cd solr/geoblacklight/conf
98
+ zip -1 -r solr_config.zip ./*
99
+ curl -H "Content-type:application/octet-stream" --data-binary @solr_config.zip "http://solr:SolrRocks@127.0.0.1:8983/solr/admin/configs?action=UPLOAD&name=blacklight"
100
+ curl -H 'Content-type: application/json' http://solr:SolrRocks@127.0.0.1:8983/api/collections/ -d '{create: {name: blacklight-core, config: blacklight, numShards: 1}}'
101
+ - name: Run tests
102
+ run: bundle exec rake ci
103
+ env:
104
+ RAILS_VERSION: ${{ matrix.rails_version }}
105
+ ENGINE_CART_RAILS_OPTIONS: '--skip-git --skip-listen --skip-spring --skip-keeps --skip-action-cable --skip-coffee --skip-test'
106
+ SOLR_URL: http://solr:SolrRocks@localhost:8983/solr/blacklight-core
107
+ LIGHT: geoblacklight
data/.gitignore ADDED
@@ -0,0 +1,20 @@
1
+ .ruby-version
2
+ *.gem
3
+ Gemfile.lock
4
+ /.bundle/
5
+ /log/*.log
6
+ /pkg/
7
+ /tmp/
8
+
9
+ .internal_test_app
10
+
11
+ # Setup local JavaScript ignores
12
+ /node_modules
13
+ /yarn-error.log
14
+ yarn-debug.log*
15
+ .yarn-integrity
16
+ yarn.lock
17
+
18
+ node_modules
19
+ package-lock.json
20
+ dist
data/.standard.yml ADDED
@@ -0,0 +1 @@
1
+ format: progress
data/Gemfile ADDED
@@ -0,0 +1,50 @@
1
+ source "https://rubygems.org"
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
+
4
+ # Specify your gem's dependencies in blacklight_allmaps.gemspec.
5
+ gemspec
6
+
7
+ group :test do
8
+ gem "capybara", require: false
9
+ gem "engine_cart", require: false
10
+ gem "factory_bot_rails", require: false
11
+ gem "rails-controller-testing", require: false
12
+ gem "rspec-rails", require: false
13
+ gem "standardrb", require: false
14
+ gem "webdrivers", require: false
15
+ end
16
+
17
+ # Start debugger with binding.b [https://github.com/ruby/debug]
18
+ # gem "debug", ">= 1.0.0"
19
+
20
+ # BEGIN ENGINE_CART BLOCK
21
+ # engine_cart: 2.6.0
22
+ # engine_cart stanza: 2.5.0
23
+ # the below comes from engine_cart, a gem used to test this Rails engine gem in the context of a Rails app.
24
+ file = File.expand_path("Gemfile", ENV["ENGINE_CART_DESTINATION"] || ENV["RAILS_ROOT"] || File.expand_path(".internal_test_app", File.dirname(__FILE__)))
25
+ if File.exist?(file)
26
+ begin
27
+ eval_gemfile file
28
+ rescue Bundler::GemfileError => e
29
+ Bundler.ui.warn "[EngineCart] Skipping Rails application dependencies:"
30
+ Bundler.ui.warn e.message
31
+ end
32
+ else
33
+ Bundler.ui.warn "[EngineCart] Unable to find test application dependencies in #{file}, using placeholder dependencies"
34
+
35
+ if ENV["RAILS_VERSION"]
36
+ if ENV["RAILS_VERSION"] == "edge"
37
+ gem "rails", github: "rails/rails"
38
+ ENV["ENGINE_CART_RAILS_OPTIONS"] = "--edge --skip-turbolinks"
39
+ else
40
+ gem "rails", ENV["RAILS_VERSION"]
41
+ end
42
+ end
43
+ end
44
+
45
+ if File.exist?("spec/test_app_templates/Gemfile.extra")
46
+ # rubocop:disable Security/Eval
47
+ eval File.read("spec/test_app_templates/Gemfile.extra"), nil, "spec/test_app_templates/Gemfile.extra"
48
+ # rubocop:enable Security/Eval
49
+ end
50
+ # END ENGINE_CART BLOCK
data/README.md CHANGED
@@ -36,6 +36,27 @@ LIGHT=blacklight bundle exec rails generate blacklight:allmaps:install
36
36
  LIGHT=geoblacklight bundle exec rails generate blacklight:allmaps:install
37
37
  ```
38
38
 
39
+ ## CatalogController Configuration
40
+
41
+ Configure options for local use are set into the `catalog_controller.rb` file.
42
+
43
+ ### Blacklight
44
+
45
+ ```ruby
46
+ # Blacklight::Allmaps Viewer
47
+ config.show.partials.insert(1, :blacklight_allmaps)
48
+ config.default_solr_unique_key = "id"
49
+ config.default_georeferenced_field = "bl_georeferenced_bsi"
50
+ config.default_iiif_manifest_field = "iiif_manifest_url_ssi"
51
+ ```
52
+
53
+ ### GeoBlacklight
54
+ ```ruby
55
+ # Blacklight::Allmaps Viewer
56
+ config.default_solr_unique_key = "id"
57
+ config.default_georeferenced_field = "gbl_georeferenced_b"
58
+ ```
59
+
39
60
  ## Rake Tasks
40
61
 
41
62
  ### Seed Fixtures
@@ -61,6 +82,13 @@ The rake task here kicks off a background harvest process that walks through you
61
82
  rake blacklight_allmaps:sidecars:harvest:allmaps
62
83
  ```
63
84
 
85
+ Alternatively, you can harvest Allmaps data for a list of identifers
86
+
87
+ ```bash
88
+ # For Blacklight or GeoBlacklight
89
+ rake "blacklight_allmaps:sidecars:harvest_ids[id1 id2 ...]"
90
+ ```
91
+
64
92
  ### Populate the Georeferenced Facet
65
93
 
66
94
  We expose the georeferenced items in the Blacklight user interface via a Georeferenced facet:
@@ -68,11 +96,8 @@ We expose the georeferenced items in the Blacklight user interface via a Georefe
68
96
  ![Screen shot](doc/georeferenced_facet.png)
69
97
 
70
98
  ```bash
71
- # For Blacklight...
72
- LIGHT=blacklight rake blacklight_allmaps:index:bl_georeferenced_facet
73
-
74
- # For GeoBlacklight...
75
- LIGHT=geoblacklight rake blacklight_allmaps:index:gbl_georeferenced_facet
99
+ # For Blacklight or GeoBlacklight
100
+ rake blacklight_allmaps:index:georeferenced_facet
76
101
  ```
77
102
 
78
103
  ## ActiveRecord Objects — Blacklight::Allmaps::Sidecar
@@ -81,7 +106,8 @@ Blacklight::Allmaps adopts the SolrDocumentSidecar "sidecar" pattern from [Spotl
81
106
 
82
107
  We use this `document.sidecar_allmaps` object to hold the results of the Allmaps Annotation harvest task.
83
108
 
84
- The Blacklight::Allmaps::Sidecar object contains:
109
+ The `Blacklight::Allmaps::Sidecar` object contains:
110
+
85
111
  | Field | Value |
86
112
  | --- | --- |
87
113
  | id | primary key |
@@ -115,6 +141,21 @@ document.sidecar_allmaps =>
115
141
  updated_at: Tue, 26 Mar 2024 16:39:42.427682000 UTC +00:00>
116
142
  ```
117
143
 
144
+ ## Allmaps::AnnotationsController
145
+
146
+ We've added an annotations controller to the application to expose the `Blacklight::Allmaps::Sidecar` data we've harvested. This controller returns only JSON.
147
+
148
+ The `#fetch` method will query Allmaps in real time for updated annotation data, should a nightly harvest (rake) be insufficient for Solr indexing or local development needs.
149
+
150
+ ```
151
+ Routes for Blacklight::Allmaps::Engine:
152
+ fetch_allmaps_annotation GET /allmaps/annotations/:id/fetch(.:format) allmaps/annotations#fetch {:format=>:json}
153
+ allmaps_annotations GET /allmaps/annotations(.:format) allmaps/annotations#index {:format=>:json}
154
+ allmaps_annotation GET /allmaps/annotations/:id(.:format) allmaps/annotations#show {:format=>:json}
155
+ PATCH /allmaps/annotations/:id(.:format) allmaps/annotations#update {:format=>:json}
156
+ PUT /allmaps/annotations/:id(.:format) allmaps/annotations#update {:format=>:json}
157
+ ```
158
+
118
159
  ## Contributing
119
160
 
120
161
  For Developer documentation see [doc/developer.md](./doc/development.md)
data/Rakefile CHANGED
@@ -1,12 +1,16 @@
1
+ require "rails"
1
2
  require "rake"
2
3
  require "bundler"
4
+
3
5
  Bundler::GemHelper.install_tasks
4
6
 
7
+ require "bundler/setup"
5
8
  require "bundler/gem_tasks"
6
9
 
7
10
  require "rspec/core/rake_task"
8
11
  require "engine_cart/rake_task"
9
12
  require "solr_wrapper"
13
+ require "solr_wrapper/rake_task"
10
14
  require "blacklight/allmaps/rake_task"
11
15
 
12
16
  task default: :ci
File without changes
@@ -26771,6 +26771,47 @@ function initializeBlacklightMap() {
26771
26771
  }
26772
26772
  // app/javascript/blacklight/allmaps/initialize_blacklight_map.js
26773
26773
 
26774
+ // update_georef_links.js
26775
+ const updateGeorefLinks = async () => {
26776
+ const sidebarElement = document.getElementById('allmaps-sidebar');
26777
+ if (sidebarElement) {
26778
+ const manifestUrl = sidebarElement.getAttribute('data-iiif-manifest');
26779
+ const documentId = sidebarElement.getAttribute('data-document-id');
26780
+ const georefDiv = document.getElementById('georeferencing');
26781
+ const annotationUrlByIIIFUri = `https://annotations.allmaps.org/?url=${manifestUrl}`;
26782
+
26783
+ try {
26784
+ const response = await fetch(annotationUrlByIIIFUri);
26785
+ if (!response.ok) {
26786
+ georefDiv.innerHTML = `<a href="https://editor.allmaps.org/#/collection?url=${manifestUrl}" target="_blank">Georeference this item</a>`;
26787
+
26788
+ const csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content");
26789
+ fetch(`/allmaps/annotations/${documentId}`, {
26790
+ method: "PUT",
26791
+ headers: {
26792
+ "X-CSRF-Token": csrfToken,
26793
+ "Content-Type": "application/json",
26794
+ "Accept": "application/json"
26795
+ }
26796
+ })
26797
+ .then(response => response.json())
26798
+ .then(data => console.log(data))
26799
+ .catch(error => console.error(error));
26800
+
26801
+ } else {
26802
+ const annotationUrl = response.url;
26803
+ georefDiv.innerHTML = `<a href="https://viewer.allmaps.org/?url=${annotationUrl}" target="_blank">View this georeferenced item</a>`;
26804
+ }
26805
+ } catch (error) {
26806
+ console.error("Fetch error:", error);
26807
+ }
26808
+ }
26809
+ };
26810
+
26774
26811
  initializeGeoBlacklightMap();
26775
26812
  initializeBlacklightMap();
26813
+
26814
+ document.addEventListener('DOMContentLoaded', () => {
26815
+ updateGeorefLinks();
26816
+ });
26776
26817
  //# sourceMappingURL=blacklight-allmaps.esm.js.map