From 9fcc647392e5847f6e0f44eebcf2468652b25919 Mon Sep 17 00:00:00 2001 From: AliyanH Date: Wed, 10 Apr 2024 22:02:39 -0400 Subject: [PATCH] early work on feature outline display bugs Need to add a standalone container for storing outlines instead of changing g element locations --- src/mapml/features/geometry.js | 2 ++ src/mapml/layers/FeatureLayer.js | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/mapml/features/geometry.js b/src/mapml/features/geometry.js index 38d783330..6d945d146 100644 --- a/src/mapml/features/geometry.js +++ b/src/mapml/features/geometry.js @@ -178,6 +178,8 @@ export var Geometry = L.FeatureGroup.extend({ ) && e.type === 'keyup' ) { + this.options.group.parentNode.appendChild(this.options.group); + this.options.group.focus(); this.openTooltip(); } else if (e.keyCode === 13 || e.keyCode === 32) { this.closeTooltip(); diff --git a/src/mapml/layers/FeatureLayer.js b/src/mapml/layers/FeatureLayer.js index b55a28f47..9330a4eb2 100644 --- a/src/mapml/layers/FeatureLayer.js +++ b/src/mapml/layers/FeatureLayer.js @@ -150,6 +150,18 @@ export var FeatureLayer = L.FeatureGroup.extend({ // hide/display features based on the their zoom limits this._validateRendering(); } + layerToAdd.options.group.addEventListener('mouseover', function () { + // Move hovered element to the end of its parent container + this.parentNode.appendChild(this); + }); + //layerToAdd.options.group.addEventListener('mouseout', function () { + // // bring g element back to it's original location + // const originalPosition = Array.prototype.slice + // .call(this.parentNode.children) + // .indexOf(layerToAdd.options.group); + // let beforeElement = this.parentNode.children[originalPosition + 1]; + // this.parentNode.insertBefore(this, beforeElement); + //}); return this; }, addRendering: function (featureToAdd) {