porting popup window dimension calculation fix
This commit is contained in:
parent
916751420e
commit
dcd17bc654
@ -38,21 +38,21 @@ class Popup {
|
||||
showNextTo(elementRect, content) {
|
||||
this.inject();
|
||||
|
||||
const containerRect = this.container.getBoundingClientRect();
|
||||
const containerStyle = window.getComputedStyle(this.container);
|
||||
const containerHeight = parseInt(containerStyle.height);
|
||||
const containerWidth = parseInt(containerStyle.width);
|
||||
|
||||
let x = elementRect.left;
|
||||
let width = containerRect.width;
|
||||
let width = containerWidth;
|
||||
if (x + width >= window.innerWidth) {
|
||||
const widthMax = window.innerWidth - x;
|
||||
width = Math.min(width, widthMax);
|
||||
width = Math.min(width, x);
|
||||
x = window.innerWidth - width;
|
||||
}
|
||||
|
||||
let y = elementRect.bottom + this.offset;
|
||||
let height = containerRect.height;
|
||||
let height = containerHeight;
|
||||
if (y + height >= window.innerHeight) {
|
||||
const heightMax = window.innerHeight - y - this.offset;
|
||||
height = Math.min(height, heightMax);
|
||||
height = Math.min(height, y);
|
||||
y = elementRect.top - height - this.offset;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user