nakarte

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

commit 94a359a5749a45ec26e19b54782808046f6a7285
parent b957dfbf7ba7750ab47133fe149aa609a01571c0
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Sat,  3 Dec 2016 03:31:48 +0300

moved to separate module -- function to bring to front controls on mouse enter

Diffstat:
Msrc/App.js | 21+++------------------
Msrc/adaptive.css | 3---
Asrc/lib/leaflet.controls.raise-on-focus/raise-on-focus.js | 23+++++++++++++++++++++++
Asrc/lib/leaflet.controls.raise-on-focus/style.css | 3+++
4 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/src/App.js b/src/App.js @@ -19,25 +19,9 @@ import 'lib/leaflet.control.track-list/track-list.localstorage'; import enableLayersControlAdaptiveHeight from 'lib/leaflet.control.layers.adaptive-height/adaptive-height'; import enableLayersMinimize from 'lib/leaflet.control.layers.minimize/minimize'; import hashState from 'lib/leaflet.hashState/hashState'; +import raiseControlsOnFocus from 'lib/leaflet.controls.raise-on-focus/raise-on-focus'; -function raiseControlsOnMouse(controls) { - const selectors = ['.leaflet-top.leaflet-right', '.leaflet-bottom.leaflet-right', '.leaflet-top.leaflet-left', - '.leaflet-bottom.leaflet-left']; - let elements = selectors.map(document.querySelector.bind(document)); - - function raise(target) { - for (let cornerDiv of elements) { - if (cornerDiv === target) { - L.DomUtil.addClass(cornerDiv, 'nakarte-controls-raised'); - } else { - L.DomUtil.removeClass(cornerDiv, 'nakarte-controls-raised'); - } - } - } - - elements.forEach((el) => L.DomEvent.on(el, 'mouseenter', raise.bind(null, el))); -} function setUp() { fixAnimationBug(); @@ -91,7 +75,8 @@ function setUp() { } tracklist.enableHashState('nktk'); - raiseControlsOnMouse(); + raiseControlsOnFocus(map); + L.DomEvent.on(window, 'beforeunload', () => tracklist.saveTracksToStorage()); } diff --git a/src/adaptive.css b/src/adaptive.css @@ -26,7 +26,4 @@ } } -.nakarte-controls-raised { - z-index: 2000 !important; -} diff --git a/src/lib/leaflet.controls.raise-on-focus/raise-on-focus.js b/src/lib/leaflet.controls.raise-on-focus/raise-on-focus.js @@ -0,0 +1,22 @@ +import './style.css'; +import L from 'leaflet'; + +function raiseControlsOnFocus(map) { + const selectors = ['.leaflet-top.leaflet-right', '.leaflet-bottom.leaflet-right', '.leaflet-top.leaflet-left', + '.leaflet-bottom.leaflet-left']; + let elements = map._container.querySelectorAll(selectors.join(',')); + + function raise(target) { + for (let cornerDiv of elements) { + if (cornerDiv === target) { + L.DomUtil.addClass(cornerDiv, 'leaflet-controls-corner-raised'); + } else { + L.DomUtil.removeClass(cornerDiv, 'leaflet-controls-corner-raised'); + } + } + } + + elements.forEach((el) => L.DomEvent.on(el, 'mouseenter', raise.bind(null, el))); +} + +export default raiseControlsOnFocus; +\ No newline at end of file diff --git a/src/lib/leaflet.controls.raise-on-focus/style.css b/src/lib/leaflet.controls.raise-on-focus/style.css @@ -0,0 +1,3 @@ +.leaflet-controls-corner-raised { + z-index: 2000 !important; +}