blacklight_allmaps 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +47 -6
  3. data/Rakefile +4 -0
  4. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js +41 -0
  5. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js.map +1 -1
  6. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js +41 -0
  7. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js.map +1 -1
  8. data/app/controllers/allmaps/annotations_controller.rb +65 -0
  9. data/app/helpers/blacklight/allmaps/application_helper.rb +1 -1
  10. data/app/javascript/blacklight/allmaps/index.js +6 -0
  11. data/app/javascript/blacklight/allmaps/update_georef_links.js +36 -0
  12. data/app/jobs/blacklight/allmaps/store_sidecar_annotation.rb +4 -1
  13. data/app/models/concerns/blacklight/allmaps/solr_document.rb +1 -2
  14. data/app/views/allmaps/show/_blacklight.html.erb +1 -1
  15. data/app/views/allmaps/show/_geoblacklight.html.erb +1 -1
  16. data/app/views/allmaps/sidebar/_allmaps.html.erb +4 -32
  17. data/app/views/annotations/_annotation.json.jbuilder +1 -0
  18. data/app/views/annotations/_pagination.json.jbuilder +9 -0
  19. data/app/views/annotations/index.json.jbuilder +4 -0
  20. data/app/views/annotations/show.json.jbuilder +1 -0
  21. data/app/views/catalog/_show_allmaps_tabbed_viewer_container.html.erb +3 -3
  22. data/config/locales/allmaps.en.yml +11 -0
  23. data/config/routes.rb +7 -0
  24. data/lib/blacklight/allmaps/tasks/index.rake +6 -57
  25. data/lib/blacklight/allmaps/tasks/sidecars.rake +9 -0
  26. data/lib/blacklight/allmaps/version.rb +1 -1
  27. data/lib/generators/blacklight/allmaps/blacklight_generator.rb +48 -0
  28. data/lib/generators/blacklight/allmaps/config_generator.rb +2 -54
  29. data/lib/generators/blacklight/allmaps/geoblacklight_generator.rb +50 -0
  30. data/lib/generators/blacklight/allmaps/install_generator.rb +10 -0
  31. metadata +26 -7
  32. data/app/controllers/blacklight/allmaps/application_controller.rb +0 -6
  33. data/app/jobs/blacklight/allmaps/application_job.rb +0 -6
  34. data/app/mailers/blacklight/allmaps/application_mailer.rb +0 -8
  35. data/app/models/blacklight/allmaps/application_record.rb +0 -7
@@ -26776,8 +26776,49 @@ void main() {
26776
26776
  }
26777
26777
  // app/javascript/blacklight/allmaps/initialize_blacklight_map.js
26778
26778
 
26779
+ // update_georef_links.js
26780
+ const updateGeorefLinks = async () => {
26781
+ const sidebarElement = document.getElementById('allmaps-sidebar');
26782
+ if (sidebarElement) {
26783
+ const manifestUrl = sidebarElement.getAttribute('data-iiif-manifest');
26784
+ const documentId = sidebarElement.getAttribute('data-document-id');
26785
+ const georefDiv = document.getElementById('georeferencing');
26786
+ const annotationUrlByIIIFUri = `https://annotations.allmaps.org/?url=${manifestUrl}`;
26787
+
26788
+ try {
26789
+ const response = await fetch(annotationUrlByIIIFUri);
26790
+ if (!response.ok) {
26791
+ georefDiv.innerHTML = `<a href="https://editor.allmaps.org/#/collection?url=${manifestUrl}" target="_blank">Georeference this item</a>`;
26792
+
26793
+ const csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content");
26794
+ fetch(`/allmaps/annotations/${documentId}`, {
26795
+ method: "PUT",
26796
+ headers: {
26797
+ "X-CSRF-Token": csrfToken,
26798
+ "Content-Type": "application/json",
26799
+ "Accept": "application/json"
26800
+ }
26801
+ })
26802
+ .then(response => response.json())
26803
+ .then(data => console.log(data))
26804
+ .catch(error => console.error(error));
26805
+
26806
+ } else {
26807
+ const annotationUrl = response.url;
26808
+ georefDiv.innerHTML = `<a href="https://viewer.allmaps.org/?url=${annotationUrl}" target="_blank">View this georeferenced item</a>`;
26809
+ }
26810
+ } catch (error) {
26811
+ console.error("Fetch error:", error);
26812
+ }
26813
+ }
26814
+ };
26815
+
26779
26816
  initializeGeoBlacklightMap();
26780
26817
  initializeBlacklightMap();
26781
26818
 
26819
+ document.addEventListener('DOMContentLoaded', () => {
26820
+ updateGeorefLinks();
26821
+ });
26822
+
26782
26823
  }));
26783
26824
  //# sourceMappingURL=blacklight-allmaps.js.map