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:
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;
+}