Fix nested popups closing when the mouse leaves the parent's rect
This commit is contained in:
parent
fad5332488
commit
9028b55774
@ -251,26 +251,13 @@ class Popup {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async containsPoint(point) {
|
async containsPoint({x, y}) {
|
||||||
if (!this.isVisible()) {
|
for (let popup = this; popup !== null && popup.isVisible(); popup = popup.child) {
|
||||||
return false;
|
const rect = popup.container.getBoundingClientRect();
|
||||||
|
if (x >= rect.left && y >= rect.top && x < rect.right && y < rect.bottom) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const rect = this.container.getBoundingClientRect();
|
|
||||||
const contained =
|
|
||||||
point.x >= rect.left &&
|
|
||||||
point.y >= rect.top &&
|
|
||||||
point.x < rect.right &&
|
|
||||||
point.y < rect.bottom;
|
|
||||||
|
|
||||||
return contained;
|
|
||||||
}
|
|
||||||
|
|
||||||
async containsPointAsync(point) {
|
|
||||||
return containsPoint(point);
|
|
||||||
}
|
|
||||||
|
|
||||||
containsPointIsAsync() {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user