diff --git a/dist/LeafletEnvironmentalLayers.js b/dist/LeafletEnvironmentalLayers.js index 1dce80799..a33ad16c4 100644 --- a/dist/LeafletEnvironmentalLayers.js +++ b/dist/LeafletEnvironmentalLayers.js @@ -30371,7 +30371,7 @@ L.Control.LayersBrowser = L.Control.Layers.extend({ } map.on('overlayremove', function(e) { - const mapId = this._map._container.id; + const mapId = this._map && this._map._container.id; var layerInfo = this._getLayerData(e); var selector = '#' + mapId + '-menu-' + e.name + ' .layer-name'; var listLayerSelector = '#' + mapId + '-' + e.name + ' .layer-list-name'; diff --git a/spec/javascripts/basicImplementation.spec.js b/spec/javascripts/basicImplementation.spec.js index 7bee76aad..f52f1fc87 100644 --- a/spec/javascripts/basicImplementation.spec.js +++ b/spec/javascripts/basicImplementation.spec.js @@ -9,6 +9,7 @@ describe('Basic LEL Implementation', function() { beforeEach(function () { mapContainer = document.createElement('div'); + mapContainer.id = 'map'; map = L.map(mapContainer, { }).setView([43, -83], 8); }); @@ -29,8 +30,8 @@ describe('Basic LEL Implementation', function() { display: ['eonetFiresLayer'] }).addTo(map); - expect(mapContainer.querySelector('#menu-eonetFiresLayer')).toExist(); - expect(mapContainer.querySelector('#menu-Unearthing')).toExist(); + expect(mapContainer.querySelector('#map-menu-eonetFiresLayer')).toExist(); + expect(mapContainer.querySelector('#map-menu-Unearthing')).toExist(); }); it('exclude specific layers', function() { @@ -38,8 +39,8 @@ describe('Basic LEL Implementation', function() { exclude: ['eonetFiresLayer'] }).addTo(map); - expect(mapContainer.querySelector('#menu-eonetFiresLayer')).not.toExist(); - expect(mapContainer.querySelector('#menu-Unearthing')).toExist(); + expect(mapContainer.querySelector('#map-menu-eonetFiresLayer')).not.toExist(); + expect(mapContainer.querySelector('#map-menu-Unearthing')).toExist(); }); it('display shows layer', function() { @@ -47,8 +48,8 @@ describe('Basic LEL Implementation', function() { display: ['eonetFiresLayer'], }).addTo(map); - expect(mapContainer.querySelector('#menu-eonetFiresLayer .leaflet-control-layers-selector').checked).toBe(true); - expect(mapContainer.querySelector('#menu-Unearthing .leaflet-control-layers-selector').checked).toBe(false); + expect(mapContainer.querySelector('#map-menu-eonetFiresLayer .leaflet-control-layers-selector').checked).toBe(true); + expect(mapContainer.querySelector('#map-menu-Unearthing .leaflet-control-layers-selector').checked).toBe(false); }); it('addLayersToMap shows all included layers', function() { @@ -58,8 +59,8 @@ describe('Basic LEL Implementation', function() { }).addTo(map); expect(mapContainer.querySelector('.leaflet-control-container .leaflet-control-layers-menu')).toExist(); - expect(mapContainer.querySelector('#menu-eonetFiresLayer .leaflet-control-layers-selector').checked).toBe(true); - expect(mapContainer.querySelector('#menu-Unearthing .leaflet-control-layers-selector').checked).toBe(true); + expect(mapContainer.querySelector('#map-menu-eonetFiresLayer .leaflet-control-layers-selector').checked).toBe(true); + expect(mapContainer.querySelector('#map-menu-Unearthing .leaflet-control-layers-selector').checked).toBe(true); }); it('simpleLayerControl shows simple menu', function() { diff --git a/src/util/layersBrowser.js b/src/util/layersBrowser.js index 688b70256..6010847cd 100644 --- a/src/util/layersBrowser.js +++ b/src/util/layersBrowser.js @@ -211,7 +211,7 @@ L.Control.LayersBrowser = L.Control.Layers.extend({ } map.on('overlayremove', function(e) { - const mapId = this._map._container.id; + const mapId = this._map && this._map._container.id; var layerInfo = this._getLayerData(e); var selector = '#' + mapId + '-menu-' + e.name + ' .layer-name'; var listLayerSelector = '#' + mapId + '-' + e.name + ' .layer-list-name';