FIX: ensures rects is present before using it (#11930)
I don't have a clear reproduction ATM, but I imagine that in fast tests element can get destroyed before we get to use it.
This commit is contained in:
parent
fa33e4863d
commit
12a4fefef6
|
@ -883,16 +883,20 @@ export default Component.extend(
|
|||
wrapper.style.height = `${height}px`;
|
||||
if (placementStrategy === "fixed") {
|
||||
const rects = this.element.getClientRects()[0];
|
||||
const bodyRects = body && body.getClientRects()[0];
|
||||
wrapper.style.position = "fixed";
|
||||
wrapper.style.left = `${rects.left}px`;
|
||||
if (topPlacement && bodyRects) {
|
||||
wrapper.style.top = `${rects.top - bodyRects.height}px`;
|
||||
} else {
|
||||
wrapper.style.top = `${rects.top}px`;
|
||||
}
|
||||
if (isDocumentRTL()) {
|
||||
wrapper.style.right = "unset";
|
||||
|
||||
if (rects) {
|
||||
const bodyRects = body && body.getClientRects()[0];
|
||||
|
||||
wrapper.style.position = "fixed";
|
||||
wrapper.style.left = `${rects.left}px`;
|
||||
if (topPlacement && bodyRects) {
|
||||
wrapper.style.top = `${rects.top - bodyRects.height}px`;
|
||||
} else {
|
||||
wrapper.style.top = `${rects.top}px`;
|
||||
}
|
||||
if (isDocumentRTL()) {
|
||||
wrapper.style.right = "unset";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue