Page MenuHomePhorge

D8860.1765076018.diff
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

D8860.1765076018.diff

diff --git a/web/utils/tooltip-utils.js b/web/utils/tooltip-utils.js
--- a/web/utils/tooltip-utils.js
+++ b/web/utils/tooltip-utils.js
@@ -48,6 +48,28 @@
+actionButtonContent: React.Node,
};
+function getTooltipScreenOverflowRightCorrection(
+ xAnchor: number,
+ tooltipWidth: number,
+): number {
+ const appContainerPositionInfo = getAppContainerPositionInfo();
+ if (!appContainerPositionInfo) {
+ return 0;
+ }
+
+ const { right: containerRight } = appContainerPositionInfo;
+ const padding = 8;
+
+ const tooltipRightEdge = xAnchor + tooltipWidth;
+ const screenRightOverflow = tooltipRightEdge - containerRight;
+
+ if (screenRightOverflow <= 0) {
+ return 0;
+ }
+
+ return screenRightOverflow + padding;
+}
+
type FindTooltipPositionArgs = {
+sourcePositionInfo: PositionInfo,
+tooltipSize: TooltipSize,
@@ -252,12 +274,17 @@
alignment: 'left',
};
} else if (tooltipPosition === tooltipPositions.TOP) {
+ const xAnchor =
+ sourcePositionInfo.left +
+ sourcePositionInfo.width / 2 -
+ tooltipSize.width / 2;
+
+ const tooltipOverflowRightCorrection =
+ getTooltipScreenOverflowRightCorrection(xAnchor, tooltipSize.width);
+
return {
anchorPoint: {
- x:
- sourcePositionInfo.left +
- sourcePositionInfo.width / 2 -
- tooltipSize.width / 2,
+ x: xAnchor - tooltipOverflowRightCorrection,
y: sourcePositionInfo.top,
},
horizontalPosition: 'right',
@@ -265,12 +292,17 @@
alignment: 'center',
};
} else if (tooltipPosition === tooltipPositions.BOTTOM) {
+ const xAnchor =
+ sourcePositionInfo.left +
+ sourcePositionInfo.width / 2 -
+ tooltipSize.width / 2;
+
+ const tooltipOverflowRightCorrection =
+ getTooltipScreenOverflowRightCorrection(xAnchor, tooltipSize.width);
+
return {
anchorPoint: {
- x:
- sourcePositionInfo.left +
- sourcePositionInfo.width / 2 -
- tooltipSize.width / 2,
+ x: xAnchor - tooltipOverflowRightCorrection,
y: sourcePositionInfo.bottom,
},
horizontalPosition: 'right',

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 7, 2:53 AM (9 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5842182
Default Alt Text
D8860.1765076018.diff (2 KB)

Event Timeline