Skip to content

Commit 5e1655f

Browse files
committed
Input fix
1 parent 2f06ff1 commit 5e1655f

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

src/mapml.css

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,8 @@ summary {
356356
}
357357

358358
.drag-active {
359-
background: transparent;
360-
color: transparent;
361-
border: 1px solid #4ca1af;
359+
opacity: 0;
360+
cursor: grabbing;
361+
cursor: -moz-grabbing;
362+
cursor: -webkit-grabbing;
362363
}

src/mapml/layers/MapLayer.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,6 @@ export var MapMLLayer = L.Layer.extend({
493493
input.defaultChecked = this._map ? true: false;
494494
input.type = 'checkbox';
495495
input.className = 'leaflet-control-layers-selector';
496-
//name.draggable = true;
497496
name.layer = this;
498497

499498
if (this._legendUrl) {
@@ -522,14 +521,23 @@ export var MapMLLayer = L.Layer.extend({
522521
opacity.setAttribute('step','0.1');
523522
opacity.value = this._container.style.opacity || '1.0';
524523

525-
fieldset.setAttribute("draggable", true);
526524
fieldset.setAttribute("aria-grabbed", "false");
527525
fieldset.draggable = true;
526+
527+
fieldset.onmousedown = (e) => {
528+
e.target.closest("fieldset").draggable = e.target.tagName.toLowerCase() !== "input";
529+
};
530+
531+
fieldset.onmouseup = (e) => {
532+
e.target.closest("fieldset").draggable = true;
533+
};
534+
528535
fieldset.ondrag = (e) => {
529536
let control = e.target,
530537
controls = e.target.parentNode,
531538
x = e.clientX, y = e.clientY,
532-
swapControl = root.elementFromPoint(x, y).parentNode.parentNode && root.elementFromPoint(x, y).parentNode.parentNode.draggable === false ? control : root.elementFromPoint(x, y).parentNode.parentNode;
539+
elementAt = root.elementFromPoint(x, y),
540+
swapControl = !elementAt || !elementAt.closest("fieldset") || elementAt.closest("fieldset").draggable === false ? control : elementAt.closest("fieldset");
533541
control.classList.add("drag-active");
534542
control.setAttribute("aria-grabbed", 'true');
535543
control.setAttribute("aria-dropeffect", "move");

0 commit comments

Comments
 (0)