mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 18:26:35 +00:00
Don't allow dragging parent into child element in automation editor (#19589)
This commit is contained in:
parent
c97c3f2fc4
commit
b60ba35a9f
@ -1,39 +0,0 @@
|
|||||||
diff --git a/modular/sortable.complete.esm.js b/modular/sortable.complete.esm.js
|
|
||||||
index 02e9f2d6bebeb430fe6e7c1cc3f9c3c9df051f14..bb8268b0844a1faa4108cc92c0be2a3dbaf23f83 100644
|
|
||||||
--- a/modular/sortable.complete.esm.js
|
|
||||||
+++ b/modular/sortable.complete.esm.js
|
|
||||||
@@ -1657,7 +1657,7 @@ Sortable.prototype =
|
|
||||||
target = parent; // store last element
|
|
||||||
}
|
|
||||||
/* jshint boss:true */
|
|
||||||
- while (parent = parent.parentNode);
|
|
||||||
+ while (parent = parent.parentNode || parent.getRootNode().host);
|
|
||||||
}
|
|
||||||
|
|
||||||
_unhideGhostForTarget();
|
|
||||||
diff --git a/modular/sortable.core.esm.js b/modular/sortable.core.esm.js
|
|
||||||
index b04c8b4634f7c6b4ef1aadbb48afe6564306dea9..39a107163c8c336ebd669b5ea8a936af87e1c1e7 100644
|
|
||||||
--- a/modular/sortable.core.esm.js
|
|
||||||
+++ b/modular/sortable.core.esm.js
|
|
||||||
@@ -1657,7 +1657,7 @@ Sortable.prototype =
|
|
||||||
target = parent; // store last element
|
|
||||||
}
|
|
||||||
/* jshint boss:true */
|
|
||||||
- while (parent = parent.parentNode);
|
|
||||||
+ while (parent = parent.parentNode || parent.getRootNode().host);
|
|
||||||
}
|
|
||||||
|
|
||||||
_unhideGhostForTarget();
|
|
||||||
diff --git a/modular/sortable.esm.js b/modular/sortable.esm.js
|
|
||||||
index 6ec7ed1bb557e21c2578200161e989c65d23150b..0a05475a22904472fac6c13f524c674da76584b0 100644
|
|
||||||
--- a/modular/sortable.esm.js
|
|
||||||
+++ b/modular/sortable.esm.js
|
|
||||||
@@ -1657,7 +1657,7 @@ Sortable.prototype =
|
|
||||||
target = parent; // store last element
|
|
||||||
}
|
|
||||||
/* jshint boss:true */
|
|
||||||
- while (parent = parent.parentNode);
|
|
||||||
+ while (parent = parent.parentNode || parent.getRootNode().host);
|
|
||||||
}
|
|
||||||
|
|
||||||
_unhideGhostForTarget();
|
|
73
.yarn/patches/sortablejs-npm-1.15.2-73347ae85a.patch
Normal file
73
.yarn/patches/sortablejs-npm-1.15.2-73347ae85a.patch
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
diff --git a/modular/sortable.core.esm.js b/modular/sortable.core.esm.js
|
||||||
|
index 93ba17509e2e8583ab241fea6845fbe714c584a2..de0651ddb5dced30d36f7d764da0dd0b441f523f 100644
|
||||||
|
--- a/modular/sortable.core.esm.js
|
||||||
|
+++ b/modular/sortable.core.esm.js
|
||||||
|
@@ -1461,7 +1461,7 @@ Sortable.prototype = /** @lends Sortable.prototype */{
|
||||||
|
}
|
||||||
|
target = parent; // store last element
|
||||||
|
}
|
||||||
|
- /* jshint boss:true */ while (parent = parent.parentNode);
|
||||||
|
+ /* jshint boss:true */ while (parent = parent.parentNode || parent.getRootNode().host);
|
||||||
|
}
|
||||||
|
_unhideGhostForTarget();
|
||||||
|
}
|
||||||
|
@@ -1781,11 +1781,16 @@ Sortable.prototype = /** @lends Sortable.prototype */{
|
||||||
|
}
|
||||||
|
if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {
|
||||||
|
capture();
|
||||||
|
- if (elLastChild && elLastChild.nextSibling) {
|
||||||
|
- // the last draggable element is not the last node
|
||||||
|
- el.insertBefore(dragEl, elLastChild.nextSibling);
|
||||||
|
- } else {
|
||||||
|
- el.appendChild(dragEl);
|
||||||
|
+ try {
|
||||||
|
+ if (elLastChild && elLastChild.nextSibling) {
|
||||||
|
+ // the last draggable element is not the last node
|
||||||
|
+ el.insertBefore(dragEl, elLastChild.nextSibling);
|
||||||
|
+ } else {
|
||||||
|
+ el.appendChild(dragEl);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ catch(err) {
|
||||||
|
+ return completed(false);
|
||||||
|
}
|
||||||
|
parentEl = el; // actualization
|
||||||
|
|
||||||
|
@@ -1802,7 +1807,13 @@ Sortable.prototype = /** @lends Sortable.prototype */{
|
||||||
|
targetRect = getRect(target);
|
||||||
|
if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {
|
||||||
|
capture();
|
||||||
|
- el.insertBefore(dragEl, firstChild);
|
||||||
|
+ try {
|
||||||
|
+ el.insertBefore(dragEl, firstChild);
|
||||||
|
+ }
|
||||||
|
+ catch(err) {
|
||||||
|
+ return completed(false);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
parentEl = el; // actualization
|
||||||
|
|
||||||
|
changed();
|
||||||
|
@@ -1849,12 +1860,17 @@ Sortable.prototype = /** @lends Sortable.prototype */{
|
||||||
|
_silent = true;
|
||||||
|
setTimeout(_unsilent, 30);
|
||||||
|
capture();
|
||||||
|
- if (after && !nextSibling) {
|
||||||
|
- el.appendChild(dragEl);
|
||||||
|
- } else {
|
||||||
|
- target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
|
||||||
|
- }
|
||||||
|
|
||||||
|
+ try {
|
||||||
|
+ if (after && !nextSibling) {
|
||||||
|
+ el.appendChild(dragEl);
|
||||||
|
+ } else {
|
||||||
|
+ target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ catch(err) {
|
||||||
|
+ return completed(false);
|
||||||
|
+ }
|
||||||
|
// Undo chrome's scroll adjustment (has no effect on other browsers)
|
||||||
|
if (scrolledPastTop) {
|
||||||
|
scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);
|
@ -255,7 +255,7 @@
|
|||||||
"lit": "2.8.0",
|
"lit": "2.8.0",
|
||||||
"clean-css": "5.3.3",
|
"clean-css": "5.3.3",
|
||||||
"@lit/reactive-element": "1.6.3",
|
"@lit/reactive-element": "1.6.3",
|
||||||
"sortablejs@1.15.0": "patch:sortablejs@npm%3A1.15.0#./.yarn/patches/sortablejs-npm-1.15.0-f3a393abcc.patch",
|
"sortablejs@1.15.2": "patch:sortablejs@npm%3A1.15.2#~/.yarn/patches/sortablejs-npm-1.15.2-73347ae85a.patch",
|
||||||
"leaflet-draw@1.0.4": "patch:leaflet-draw@npm%3A1.0.4#./.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch"
|
"leaflet-draw@1.0.4": "patch:leaflet-draw@npm%3A1.0.4#./.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@4.0.2"
|
"packageManager": "yarn@4.0.2"
|
||||||
|
@ -14312,6 +14312,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"sortablejs@patch:sortablejs@npm%3A1.15.2#~/.yarn/patches/sortablejs-npm-1.15.2-73347ae85a.patch":
|
||||||
|
version: 1.15.2
|
||||||
|
resolution: "sortablejs@patch:sortablejs@npm%3A1.15.2#~/.yarn/patches/sortablejs-npm-1.15.2-73347ae85a.patch::version=1.15.2&hash=1591ab"
|
||||||
|
checksum: d44399e9ca660157c76b13705eaa26191f71c4bd025e2d47b9f7e50a8f9bdb7deaaa2783a8032e55f39627fa4007042bcfd62cb4bbeb2931f6a5d6ee06047e2e
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"source-list-map@npm:^2.0.1":
|
"source-list-map@npm:^2.0.1":
|
||||||
version: 2.0.1
|
version: 2.0.1
|
||||||
resolution: "source-list-map@npm:2.0.1"
|
resolution: "source-list-map@npm:2.0.1"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user