nakarte

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

commit 1fe29f2512546f8344242eb6e95f6af9d351255b
parent d63c0a61f016c6098808e142c522c49adf955d74
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Fri,  5 Dec 2025 23:40:17 +0100

layers control: disable display of hotkeys on phones

Diffstat:
Msrc/App.js | 7+++++--
Msrc/lib/leaflet.control.layers.configure/index.js | 14++++++++++----
Msrc/lib/leaflet.control.layers.hotkeys/index.js | 6++----
3 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/src/App.js b/src/App.js @@ -183,10 +183,13 @@ function setUp() { // eslint-disable-line complexity /* controls top-right corner */ const layersControl = L.control.layers(null, null, {collapsed: false}); - enableLayersControlHotkeys(layersControl); + const areHotkeysEnabled = !L.Browser.touch || !L.Browser.mobile; + if (areHotkeysEnabled) { + enableLayersControlHotkeys(layersControl); + } enableLayersControlAdaptiveHeight(layersControl); enableLayersMinimize(layersControl); - enableLayersConfig(layersControl, getLayers()); + enableLayersConfig(layersControl, getLayers(), {withHotkeys: areHotkeysEnabled}); layersControl.addTo(map); layersControl.enableHashState('l'); diff --git a/src/lib/leaflet.control.layers.configure/index.js b/src/lib/leaflet.control.layers.configure/index.js @@ -22,9 +22,10 @@ function getLayerDefaultHotkey(layer) { } class LayersConfigDialog { - constructor(builtInLayers, customLayers, cbOk) { + constructor(builtInLayers, customLayers, withHotkeys, cbOk) { this.builtInLayers = builtInLayers; this.customLayers = customLayers; + this.withHotkeys = withHotkeys; this.cbOk = cbOk; this.visible = ko.observable(false); @@ -60,6 +61,7 @@ class LayersConfigDialog { <label class="layer-label"> <input type="checkbox" class="layer-enabled-checkbox" data-bind="checked: enabled"/> <span data-bind="text: title"></span> + <!-- ko if: $root.withHotkeys --> <div class="hotkey-input" title="Change hotkey" tabindex="0" @@ -76,6 +78,7 @@ class LayersConfigDialog { keyupBubble: false"> ></div> <div class="error" data-bind="text: error, visible: error"></div> + <!-- /ko --> </label> <!-- /ko --> <!-- /ko --> @@ -197,7 +200,7 @@ class LayersConfigDialog { } } -function enableConfig(control, {layers, customLayersOrder}) { +function enableConfig(control, {layers, customLayersOrder}, options = {withHotkeys: true}) { if (control._configEnabled) { return; } @@ -213,6 +216,7 @@ function enableConfig(control, {layers, customLayersOrder}) { _builtinLayersByGroup: layers, _builtinLayers: [].concat(...layers.map((group) => group.layers)), _customLayers: [], + _withHotkeys: options.withHotkeys, onAdd: function(map) { const container = originalOnAdd.call(this, map); @@ -324,7 +328,10 @@ function enableConfig(control, {layers, customLayersOrder}) { initLayersConfigWindow: function() { this._layersConfigDialog = new LayersConfigDialog( - this._builtinLayersByGroup, this._customLayers, this.onConfigDialogOkClicked.bind(this) + this._builtinLayersByGroup, + this._customLayers, + this._withHotkeys, + this.onConfigDialogOkClicked.bind(this), ); this._map._controlContainer.appendChild(this._layersConfigDialog.getWindow()); }, @@ -693,7 +700,6 @@ function enableConfig(control, {layers, customLayersOrder}) { } return null; } - } ); } diff --git a/src/lib/leaflet.control.layers.hotkeys/index.js b/src/lib/leaflet.control.layers.hotkeys/index.js @@ -43,10 +43,8 @@ function enableHotkeys(control) { _hotkeysEnabled: true, _addItem: function(obj) { - if (!L.Browser.touch || !L.Browser.mobile) { - obj = L.Util.extend({}, obj); - obj.name = extendLayerName(obj.name, obj.layer); - } + obj = L.Util.extend({}, obj); + obj.name = extendLayerName(obj.name, obj.layer); return originalAddItem.call(this, obj); },