blacklight_allmaps 0.1.1 → 0.2.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.
@@ -0,0 +1,9 @@
1
+ @charset "UTF-8";
2
+
3
+ // Blacklight::Allmaps
4
+ @import "leaflet";
5
+ @import "leaflet.fullscreen";
6
+ @import "leaflet.opacity";
7
+
8
+ #blacklight-allmaps-map { height: 400px; }
9
+ #geoblacklight-allmaps-map { height: 400px; }
@@ -0,0 +1,11 @@
1
+ import L from "leaflet";
2
+ import "leaflet-fullscreen";
3
+ import { WarpedMapLayer } from "@allmaps/leaflet"
4
+ import LayerOpacityControl from "leaflet_layer_opacity";
5
+
6
+
7
+ import { initializeGeoBlacklightMap } from "./initialize_geoblacklight_map";
8
+ initializeGeoBlacklightMap();
9
+
10
+ import { initializeBlacklightMap } from "./initialize_blacklight_map";
11
+ initializeBlacklightMap();
@@ -0,0 +1,44 @@
1
+ // initialize_blacklight_map.js
2
+ import L from 'leaflet';
3
+ import 'leaflet-fullscreen';
4
+ import LayerOpacityControl from 'leaflet_layer_opacity';
5
+ import { WarpedMapLayer } from '@allmaps/leaflet';
6
+
7
+ export function initializeBlacklightMap() {
8
+ document.addEventListener("DOMContentLoaded", () => {
9
+ if (document.getElementById("blacklight-allmaps-map") != null) {
10
+ const element = document.getElementById("blacklight-allmaps-map");
11
+ const allmaps_id = element.getAttribute("data-allmaps-id");
12
+ if (!element) return; // Exit if the element doesn't exist
13
+
14
+ const map = L.map("blacklight-allmaps-map", {
15
+ center: [0, 0],
16
+ zoom: 15,
17
+ zoomAnimationThreshold: 1
18
+ });
19
+
20
+ // Basemap and Attribution
21
+ L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
22
+ attribution: "&copy; <a href='https://www.openstreetmap.org/copyright'>OpenStreetMap</a> contributors",
23
+ maxZoom: 18
24
+ }).addTo(map);
25
+
26
+ // Fullscreen control
27
+ map.addControl(new L.Control.Fullscreen({
28
+ position: "topright"
29
+ }));
30
+
31
+ // Annotation URL assumes the ID is passed dynamically to this function
32
+ const annotationUrl = `https://annotations.allmaps.org/manifests/${allmaps_id}`;
33
+ const warpedMapLayer = new WarpedMapLayer(annotationUrl).addTo(map);
34
+
35
+ // Layer opacity control
36
+ map.addControl(new LayerOpacityControl(warpedMapLayer));
37
+
38
+ map.on("warpedmapadded", () => {
39
+ map.fitBounds(warpedMapLayer.getBounds());
40
+ });
41
+ }
42
+ });
43
+ }
44
+ // app/javascript/blacklight/allmaps/initialize_blacklight_map.js
@@ -0,0 +1,53 @@
1
+ // initialize_geoblacklight_map.js
2
+ import L from 'leaflet';
3
+ import 'leaflet-fullscreen';
4
+ import LayerOpacityControl from 'leaflet_layer_opacity';
5
+ import { WarpedMapLayer } from '@allmaps/leaflet';
6
+
7
+ export function initializeGeoBlacklightMap() {
8
+ document.addEventListener("DOMContentLoaded", () => {
9
+ if (document.getElementById("geoblacklight-allmaps-map") != null) {
10
+ const element = document.getElementById("geoblacklight-allmaps-map");
11
+ const allmaps_id = element.getAttribute("data-allmaps-id");
12
+ const geoTab = document.getElementById("georeferenced-tab");
13
+ if (!element) return; // Exit if the element doesn't exist
14
+
15
+ const map = L.map("geoblacklight-allmaps-map", {
16
+ center: [0, 0],
17
+ zoom: 15,
18
+ zoomAnimationThreshold: 1
19
+ });
20
+
21
+ // Basemap and Attribution
22
+ L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
23
+ attribution: "&copy; <a href='https://www.openstreetmap.org/copyright'>OpenStreetMap</a> contributors",
24
+ maxZoom: 18
25
+ }).addTo(map);
26
+
27
+ // Fullscreen control
28
+ map.addControl(new L.Control.Fullscreen({
29
+ position: "topright"
30
+ }));
31
+
32
+ // Annotation URL assumes the ID is passed dynamically to this function
33
+ const annotationUrl = `https://annotations.allmaps.org/manifests/${allmaps_id}`;
34
+ const warpedMapLayer = new WarpedMapLayer(annotationUrl).addTo(map);
35
+
36
+ // Layer opacity control
37
+ map.addControl(new LayerOpacityControl(warpedMapLayer));
38
+
39
+ // Watch DOM to see active tab and
40
+ // Resize map to render correctly
41
+ const observer = new MutationObserver(function() {
42
+ if (geoTab.style.display !== "none") {
43
+ map.invalidateSize();
44
+ warpedMapLayer.addTo(map);
45
+ map.fitBounds(warpedMapLayer.getBounds());
46
+ }
47
+ });
48
+
49
+ observer.observe(geoTab, { attributes: true });
50
+ }
51
+ });
52
+ }
53
+ // app/javascript/blacklight/allmaps/initialize_geoblacklight_map.js
@@ -0,0 +1,69 @@
1
+ // leaflet_layer_opacity.js
2
+ import L from 'leaflet';
3
+
4
+ class LayerOpacityControl extends L.Control {
5
+ initialize(layer) {
6
+ super.initialize();
7
+ let options = { position: 'topleft' };
8
+
9
+ // Check if the layer is actually a layer group and adjust accordingly
10
+ if (typeof layer.getLayers !== 'undefined') {
11
+ options.layer = layer.getLayers()[0];
12
+ } else {
13
+ options.layer = layer;
14
+ }
15
+
16
+ L.Util.setOptions(this, options);
17
+ }
18
+
19
+ onAdd(map) {
20
+ const container = L.DomUtil.create('div', 'opacity-control unselectable');
21
+ const controlArea = L.DomUtil.create('div', 'opacity-area', container);
22
+ const handle = L.DomUtil.create('div', 'opacity-handle', container);
23
+ const handleArrowUp = L.DomUtil.create('div', 'opacity-arrow-up', handle);
24
+ const handleText = L.DomUtil.create('div', 'opacity-text', handle);
25
+ const handleArrowDown = L.DomUtil.create('div', 'opacity-arrow-down', handle);
26
+ const bottom = L.DomUtil.create('div', 'opacity-bottom', container);
27
+
28
+ L.DomEvent.stopPropagation(container);
29
+ L.DomEvent.disableClickPropagation(container);
30
+
31
+ this.setListeners(handle, bottom, handleText);
32
+ handle.style.top = `${handle.offsetTop - 13 + 50}px`;
33
+ handleText.innerHTML = `${parseInt(this.options.layer.options.opacity * 100, 10)}%`;
34
+
35
+ return container;
36
+ }
37
+
38
+ setListeners(handle, bottom, handleText) {
39
+ let start = false;
40
+ let startTop;
41
+
42
+ L.DomEvent.on(document, 'mousemove', (e) => {
43
+ if (!start) return;
44
+ const percentInverse = Math.max(0, Math.min(200, startTop + parseInt(e.clientY, 10) - start)) / 2;
45
+ handle.style.top = `${(percentInverse * 2) - 13}px`;
46
+ handleText.innerHTML = `${Math.round((1 - (percentInverse / 100)) * 100)}%`;
47
+ bottom.style.height = `${Math.max(0, ((100 - percentInverse) * 2) - 13)}px`;
48
+ bottom.style.top = `${Math.min(200, (percentInverse * 2) + 13)}px`;
49
+ this.options.layer.setOpacity(1 - (percentInverse / 100));
50
+ });
51
+
52
+ L.DomEvent.on(handle, 'mousedown', (e) => {
53
+ start = parseInt(e.clientY, 10);
54
+ startTop = handle.offsetTop - 12;
55
+ return false;
56
+ });
57
+
58
+ L.DomEvent.on(document, 'mouseup', () => {
59
+ start = null;
60
+ });
61
+ }
62
+ }
63
+
64
+ // Extend Leaflet's control factory to include this new control
65
+ L.Control.layerOpacity = function(layer, options) {
66
+ return new LayerOpacityControl(layer, options);
67
+ };
68
+
69
+ export default LayerOpacityControl;
@@ -1,213 +1,3 @@
1
1
  <!-- Georeferenced Map -->
2
2
  <h3 class="h6">Georeferenced Map</h3>
3
- <div id="allmaps-map" class="mt-3 mb-3" style="height: 400px;"></div>
4
-
5
- <!-- Leaflet -->
6
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet@1.9.4/dist/leaflet.min.css">
7
- <script src="https://cdn.jsdelivr.net/npm/leaflet@1.9.4/dist/leaflet.min.js"></script>
8
-
9
- <!-- Leaflet Fullscreen -->
10
- <script src="https://cdn.jsdelivr.net/npm/leaflet-fullscreen@1.0.2/dist/Leaflet.fullscreen.min.js"></script>
11
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet-fullscreen@1.0.2/dist/leaflet.fullscreen.min.css">
12
-
13
- <!-- Leaflet Layer Opacity -->
14
- <script>
15
- // Adopts the Mapbox opacity control into a Leaflet plugin
16
-
17
- !function(global) {
18
- 'use strict';
19
-
20
- L.Control.LayerOpacity = L.Control.extend({
21
- initialize: function(layer) {
22
- var options = { position: 'topleft' };
23
-
24
- // check if layer is actually a layer group
25
- if (typeof layer.getLayers !== 'undefined') {
26
-
27
- // add first layer from layer group to options
28
- options.layer = layer.getLayers()[0];
29
- } else {
30
-
31
- // add layer to options
32
- options.layer = layer;
33
- }
34
-
35
- L.Util.setOptions(this, options);
36
- },
37
-
38
- onAdd: function(map) {
39
- var container = L.DomUtil.create('div', 'opacity-control unselectable'),
40
- controlArea = L.DomUtil.create('div', 'opacity-area', container),
41
- handle = L.DomUtil.create('div', 'opacity-handle', container),
42
- handleArrowUp = L.DomUtil.create('div', 'opacity-arrow-up', handle),
43
- handleText = L.DomUtil.create('div', 'opacity-text', handle),
44
- handleArrowDown = L.DomUtil.create('div', 'opacity-arrow-down', handle),
45
- bottom = L.DomUtil.create('div', 'opacity-bottom', container);
46
-
47
- L.DomEvent.stopPropagation(container);
48
- L.DomEvent.disableClickPropagation(container);
49
-
50
- this.setListeners(handle, bottom, handleText);
51
- handle.style.top = handle.offsetTop - 13 + 50 + 'px';
52
- handleText.innerHTML = parseInt(this.options.layer.options.opacity * 100) + '%';
53
- return container;
54
- },
55
-
56
- setListeners: function(handle, bottom, handleText) {
57
- var _this = this,
58
- start = false,
59
- startTop;
60
-
61
- L.DomEvent.on(document, 'mousemove', function(e) {
62
- if (!start) return;
63
- var percentInverse = Math.max(0, Math.min(200, startTop + parseInt(e.clientY, 10) - start)) / 2;
64
- handle.style.top = ((percentInverse * 2) - 13) + 'px';
65
- handleText.innerHTML = Math.round((1 - (percentInverse / 100)) * 100) + '%';
66
- bottom.style.height = Math.max(0, (((100 - percentInverse) * 2) - 13)) + 'px';
67
- bottom.style.top = Math.min(200, (percentInverse * 2) + 13) + 'px';
68
- _this.options.layer.setOpacity(1 - (percentInverse / 100));
69
- });
70
-
71
- L.DomEvent.on(handle, 'mousedown', function(e) {
72
- start = parseInt(e.clientY, 10);
73
- startTop = handle.offsetTop - 12;
74
- return false;
75
- });
76
-
77
- L.DomEvent.on(document, 'mouseup', function(e) {
78
- start = null;
79
- });
80
- }
81
- });
82
- }(this);
83
- </script>
84
- <style>
85
- .leaflet-control.opacity-control {
86
- background-color: #a9acb1;
87
- border-radius: 15px;
88
- color: black;
89
- font: bold 18px 'Lucida Console', Monaco, monospace;
90
- display: block;
91
- height: 200px;
92
- left: 11px;
93
- position: relative;
94
- top: 15px;
95
- width: 5px;
96
-
97
- .opacity-handle {
98
- background-color: #fff;
99
- border-radius: 4px;
100
- border: 1px solid #eee;
101
- cursor: ns-resize;
102
- font-size: 10px;
103
- height: 26px;
104
- left: -11px;
105
- line-height: 26px;
106
- position: absolute;
107
- text-align: center;
108
- top: 0;
109
- width: 26px;
110
- @include map-control-shadow;
111
-
112
- &:hover {
113
- background-color: #f4f4f4;
114
- }
115
- }
116
-
117
- .opacity-arrow-up {
118
- color: #aaa;
119
- position: absolute;
120
- top: -11px;
121
- text-align: center;
122
- width: 100%;
123
-
124
- &:before {
125
- content: '=';
126
- }
127
- }
128
-
129
- .opacity-arrow-down {
130
- bottom: -10px;
131
- color: #aaa;
132
- position: absolute;
133
- text-align: center;
134
- width: 100%;
135
-
136
- &:before {
137
- content: '=';
138
- }
139
- }
140
-
141
- .opacity-bottom {
142
- background-color: #017afd;
143
- border-radius: 15px;
144
- display: block;
145
- height: 137px;
146
- left: 0px;
147
- position: relative;
148
- top: 63px;
149
- width: 5px;
150
- }
151
-
152
- // Area underneath slider to prevent unintentioned map clicks
153
- .opacity-area {
154
- padding: 14px;
155
- cursor: default;
156
- height: 200px;
157
- left: -11px;
158
- position: absolute;
159
- top: 0px;
160
- width: 20px;
161
- }
162
- }
163
-
164
- .opacity-control.unselectable {
165
- -webkit-touch-callout: none;
166
- -webkit-user-select: none;
167
- -khtml-user-select: none;
168
- -moz-user-select: none;
169
- -ms-user-select: none;
170
- user-select: none;
171
- }
172
- </style>
173
-
174
- <!-- Allmaps -->
175
- <script src="https://cdn.jsdelivr.net/npm/@allmaps/leaflet/dist/bundled/allmaps-leaflet-1.9.umd.js"></script>
176
-
177
- <script>
178
- document.addEventListener("DOMContentLoaded", () => {
179
- const element = document.getElementById("allmaps-map");
180
-
181
- const map = L.map("allmaps-map", {
182
- center: [0, 0],
183
- zoom: 15,
184
- zoomAnimationThreshold: 1
185
- });
186
-
187
- // Basemap and Attribution
188
- L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
189
- attribution: "&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors",
190
- maxZoom: 18
191
- }).addTo(map);
192
-
193
- // Fullscreen control
194
- map.addControl(new L.Control.Fullscreen({
195
- position: "topright"
196
- }));
197
-
198
- const annotationUrl = "https://annotations.allmaps.org/manifests/<%= document.sidecar_allmaps.allmaps_id %>";
199
- const warpedMapLayer = new Allmaps.WarpedMapLayer(annotationUrl)
200
- .addTo(map);
201
-
202
- // Layer opacity control
203
- map.addControl(new L.Control.LayerOpacity(warpedMapLayer));
204
-
205
- map.on(
206
- "warpedmapadded",
207
- (event) => {
208
- map.fitBounds(warpedMapLayer.getBounds());
209
- },
210
- map
211
- );
212
- });
213
- </script>
3
+ <div id="blacklight-allmaps-map" data-allmaps-id="<%= document.sidecar_allmaps.allmaps_id %>" class="mt-3 mb-3"></div>
@@ -1,47 +1,3 @@
1
1
  <!-- Georeferenced Map -->
2
2
  <h3 class="h6">Georeferenced Map</h3>
3
- <div id="allmaps-map" data-map-geom="<%= document.geometry.geojson %>" style="height: 400px;"></div>
4
-
5
- <script src="https://cdn.jsdelivr.net/npm/@allmaps/leaflet/dist/bundled/allmaps-leaflet-1.9.umd.js"></script>
6
- <script>
7
- document.addEventListener("DOMContentLoaded", () => {
8
- const element = document.getElementById("allmaps-map");
9
- const value = element.getAttribute("data-map-geom");
10
- const layer = L.geoJSON();
11
- layer.addData(JSON.parse(value));
12
- const bounds = layer.getBounds();
13
- const annotationUrl = "https://annotations.allmaps.org/manifests/<%= document.sidecar_allmaps.allmaps_id %>";
14
- const warpedMapLayer = new Allmaps.WarpedMapLayer(annotationUrl);
15
- const geoTab = document.getElementById("georeferenced-tab");
16
- const map = L.map("allmaps-map");
17
-
18
- // Basemap and Attribution
19
- L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
20
- attribution: "&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors",
21
- maxZoom: 18
22
- }).addTo(map);
23
-
24
- // Fullscreen control
25
- map.addControl(new L.Control.Fullscreen({
26
- position: "topright"
27
- }));
28
-
29
- // Layer opacity control
30
- map.addControl(new L.Control.LayerOpacity(warpedMapLayer));
31
-
32
- // Leaflet: Multiple maps on the same page is a challenge...
33
- // 1. Need to watch the page DOM mutate
34
- // 2. When the georeferenced tab is visible, invalidate the map size
35
- // 3. Add the WarpedMapLayer to the map
36
- // 4. Fit the map to the GeoJSON bounds
37
- const observer = new MutationObserver(function(){
38
- if(geoTab.style.display !== "none"){
39
- map.invalidateSize();
40
- warpedMapLayer.addTo(map);
41
- map.fitBounds(bounds);
42
- }
43
- });
44
-
45
- observer.observe(geoTab, { attributes: true });
46
- });
47
- </script>
3
+ <div id="geoblacklight-allmaps-map" data-map-geom="<%= document.geometry.geojson %>" data-allmaps-id="<%= document.sidecar_allmaps.allmaps_id %>"></div>
@@ -0,0 +1,5 @@
1
+ <% unless defined?(Geoblacklight) %>
2
+ <% if @document.sidecar_allmaps.georeferenced? %>
3
+ <%= render partial: 'allmaps/show/blacklight', locals: { document: @document } %>
4
+ <% end %>
5
+ <% end %>
@@ -39,8 +39,7 @@
39
39
  </div>
40
40
  <% end %>
41
41
 
42
- <%= content_tag :div, id: 'map', aria: { label: t('geoblacklight.map.label') }, data: { map: 'item', protocol: document.viewer_protocol.camelize, url: document.viewer_endpoint, 'layer-id' => document.wxs_identifier, 'map-geom' => document.geometry.geojson, 'catalog-path'=> search_catalog_path, available: document_available?, inspect: show_attribute_table?, basemap: geoblacklight_basemap, leaflet_options: leaflet_options } do %>
43
- <% end %>
42
+ <%= viewer_container %>
44
43
  </div>
45
44
  </div>
46
45
 
@@ -1,6 +1,6 @@
1
1
  module Blacklight
2
2
  module Allmaps
3
- VERSION = "0.1.1"
3
+ VERSION = "0.2.0"
4
4
 
5
5
  def self.version
6
6
  @version ||= VERSION
@@ -20,6 +20,7 @@ module Blacklight
20
20
  append_to_file "config/initializers/assets.rb" do
21
21
  "
22
22
  # Blacklight Allmaps
23
+ Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'images')
23
24
  Rails.application.config.assets.precompile += %w( blacklight/allmaps/allmaps-logo.svg )"
24
25
  end
25
26
  end
@@ -36,19 +37,42 @@ module Blacklight
36
37
  def add_importmap_pins
37
38
  append_to_file "config/importmap.rb" do
38
39
  <<~CONTENT
39
- pin "leaflet" # @1.9.4
40
- pin '@allmaps/leaflet', to: "@allmaps--leaflet.js"
40
+ pin "leaflet", to: "https://cdn.jsdelivr.net/npm/leaflet@1.9.4/dist/leaflet.js", preload: true
41
+ pin "leaflet-fullscreen", to: "https://cdn.jsdelivr.net/npm/leaflet-fullscreen@1.0.2/dist/Leaflet.fullscreen.min.js", preload: true
42
+ pin "@allmaps/leaflet", to: "https://cdn.jsdelivr.net/npm/@allmaps/leaflet/dist/bundled/allmaps-leaflet-1.9.umd.js", preload: true
41
43
  CONTENT
42
44
  end
43
45
  end
44
46
 
47
+ def add_javascript
48
+ inject_into_file "app/assets/javascripts/application.js", after: "//= require blacklight/blacklight" do
49
+ "\n
50
+ // Required by Blacklight::Allmaps
51
+ //= require blacklight/allmaps/blacklight-allmaps"
52
+ end
53
+ end
54
+
55
+ def add_bl_stylesheets
56
+ return unless ENV["LIGHT"] == "blacklight"
57
+ append_to_file "app/assets/stylesheets/blacklight.scss" do
58
+ "@import 'blacklight/allmaps/base';"
59
+ end
60
+ end
61
+
62
+ def add_gbl_stylesheets
63
+ return unless ENV["LIGHT"] == "geoblacklight"
64
+ append_to_file "app/assets/stylesheets/application.scss" do
65
+ "@import 'blacklight/allmaps/base';"
66
+ end
67
+ end
68
+
45
69
  def set_active_job_config
46
70
  inject_into_file "config/environments/development.rb", " config.active_job.queue_adapter = :inline\n", after: "Rails.application.configure do\n"
47
71
  end
48
72
 
49
73
  def add_geoblacklight
50
74
  return unless ENV["LIGHT"] == "geoblacklight"
51
- append_to_file "Gemfile", '"geoblacklight", "4.1"'
75
+ append_to_file "Gemfile", '"geoblacklight", "~> 4.4"'
52
76
  end
53
77
 
54
78
  def include_blacklight_allmaps_solrdocument
@@ -58,10 +82,33 @@ module Blacklight
58
82
  end
59
83
  end
60
84
 
85
+ def add_gbl_tabbed_viewer
86
+ return unless ENV["LIGHT"] == "geoblacklight"
87
+ # Use the tabbed viewer
88
+ inject_into_file "app/controllers/catalog_controller.rb", after: "config.show.partials << \"show_default_viewer_container\"" do
89
+ "\n
90
+ # Blacklight::Allmaps Tabbed Viewer
91
+ config.show.partials << \"show_allmaps_tabbed_viewer_container\""
92
+ end
93
+
94
+ # Remove the default viewer
95
+ gsub_file("app/controllers/catalog_controller.rb", "config.show.partials << \"show_default_viewer_container\"", "#config.show.partials << \"show_default_viewer_container\"")
96
+ end
97
+
98
+ def add_bl_allmaps_viewer
99
+ return unless ENV["LIGHT"] == "blacklight"
100
+ # Use the allmaps viewer
101
+ inject_into_file "app/controllers/catalog_controller.rb", after: "#config.show.thumbnail_field = 'thumbnail_path_ss'" do
102
+ "\n
103
+ # Blacklight::Allmaps Viewer
104
+ config.show.partials.insert(1, :blacklight_allmaps)"
105
+ end
106
+ end
107
+
61
108
  def add_bl_georeferenced_facet
62
109
  return unless ENV["LIGHT"] == "blacklight"
63
110
  inject_into_file "app/controllers/catalog_controller.rb", after: "config.add_facet_field 'subject_era_ssim', label: 'Era'" do
64
- "\n config.add_facet_field 'bl_georeferenced_bsi', label: 'Georeferenced'"
111
+ "\n config.add_facet_field 'bl_georeferenced_bsi', label: 'Allmaps Georeferenced'"
65
112
  end
66
113
  end
67
114
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight_allmaps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Larson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-30 00:00:00.000000000 Z
11
+ date: 2024-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: blacklight
@@ -34,16 +34,16 @@ dependencies:
34
34
  name: httparty
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0'
39
+ version: '0.20'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ">="
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0'
46
+ version: '0.20'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: solr_wrapper
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -156,7 +156,7 @@ dependencies:
156
156
  - - ">="
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
- description: Description of BlacklightAllmaps
159
+ description: Description of Blacklight::Allmaps
160
160
  email:
161
161
  - ewlarson@gmail.com
162
162
  executables: []
@@ -171,10 +171,17 @@ files:
171
171
  - app/assets/images/blacklight/allmaps/blacklight-logo.png
172
172
  - app/assets/images/blacklight/allmaps/geoblacklight-logo.png
173
173
  - app/assets/images/blacklight/allmaps/logo.svg
174
- - app/assets/stylesheets/blacklight_allmaps/application.css
174
+ - app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js
175
+ - app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js.map
176
+ - app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js
177
+ - app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js.map
178
+ - app/assets/stylesheets/blacklight/allmaps/base.scss
175
179
  - app/controllers/blacklight/allmaps/application_controller.rb
176
180
  - app/helpers/blacklight/allmaps/application_helper.rb
177
- - app/javascripts/map_controller.js
181
+ - app/javascript/blacklight/allmaps/index.js
182
+ - app/javascript/blacklight/allmaps/initialize_blacklight_map.js
183
+ - app/javascript/blacklight/allmaps/initialize_geoblacklight_map.js
184
+ - app/javascript/blacklight/allmaps/leaflet_layer_opacity.js
178
185
  - app/jobs/blacklight/allmaps/application_job.rb
179
186
  - app/jobs/blacklight/allmaps/store_sidecar_annotation.rb
180
187
  - app/mailers/blacklight/allmaps/application_mailer.rb
@@ -184,8 +191,8 @@ files:
184
191
  - app/views/allmaps/show/_blacklight.html.erb
185
192
  - app/views/allmaps/show/_geoblacklight.html.erb
186
193
  - app/views/allmaps/sidebar/_allmaps.html.erb
187
- - app/views/catalog/_show_default_viewer_container.html.erb
188
- - app/views/catalog/_show_main_content.html.erb
194
+ - app/views/catalog/_blacklight_allmaps.html.erb
195
+ - app/views/catalog/_show_allmaps_tabbed_viewer_container.html.erb
189
196
  - app/views/catalog/_show_sidebar.html.erb
190
197
  - app/views/catalog/_show_sidebar_blacklight.html.erb
191
198
  - app/views/catalog/_show_sidebar_geoblacklight.html.erb
@@ -225,5 +232,5 @@ requirements: []
225
232
  rubygems_version: 3.4.21
226
233
  signing_key:
227
234
  specification_version: 4
228
- summary: Blacklight Allmaps plugin
235
+ summary: Blacklight::Allmaps plugin
229
236
  test_files: []
@@ -1,15 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
- * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
- * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
- * files in this directory. Styles in this file should be added after the last require_* statement.
11
- * It is generally better to create a new file per style scope.
12
- *
13
- *= require_tree .
14
- *= require_self
15
- */