nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

commit 83d0697b9d68eaeac69ccd381f24af2b3bb3ee2f
parent 5f57a3312120432be2bfda4b48e7c2094407dde9
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Sat, 14 Jul 2018 23:40:18 +0300

[custom layers] fixed layer upgrade when loading from localStorage #95

Diffstat:
Msrc/lib/leaflet.control.layers.configure/index.js | 11++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/lib/leaflet.control.layers.configure/index.js b/src/lib/leaflet.control.layers.configure/index.js @@ -51,11 +51,16 @@ function enableConfig(control, {layers, customLayersOrder}) { }) } } - // restore custom layers - Object.keys(storedLayersEnabled).forEach(code => this.loadCustomLayerFromString(code)); + // restore custom layers; + // custom layers can be upgraded in loadCustomLayerFromString and their code will change + const storedLayersEnabled2 = {}; + for (let [code, isEnabled] of Object.entries(storedLayersEnabled)) { + let newCode = this.loadCustomLayerFromString(code) || code; + storedLayersEnabled2[newCode] = isEnabled; + } for (let layer of [...this._allLayers, ...this._customLayers()]) { - let enabled = storedLayersEnabled[layer.layer.options.code]; + let enabled = storedLayersEnabled2[layer.layer.options.code]; // if storage is empty enable only default layers // if new default layer appears it will be enabled if (typeof enabled === 'undefined') {