VirtualBox

Ignore:
Timestamp:
Mar 26, 2020 8:16:05 PM (5 years ago)
Author:
vboxsync
Message:

TestManager/common.js: Corrections to VCS tooltip placement.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/testmanager/htdocs/js/common.js

    r83451 r83453  
    757757        var cyNeeded   = g_oCurrentTooltip.oElm.offsetHeight + 8;
    758758
     759        var cyWindow        = window.innerHeight;
    759760        var yScroll         = window.pageYOffset || document.documentElement.scrollTop;
    760         var yScrollBottom   = yScroll + window.innerHeight;
     761        var yScrollBottom   = yScroll + cyWindow;
     762        var cxWindow        = window.innerWidth;
    761763        var xScroll         = window.pageXOffset || document.documentElement.scrollLeft;
    762         var xScrollRight    = xScroll + window.innerWidth;
    763 
    764         var cyAbove    = Math.max(oRelToRect.top  - yScroll, 0);
    765         var cyBelow    = Math.max(yScrollBottom - oRelToRect.bottom, 0);
    766         var cxLeft     = Math.max(oRelToRect.left - xScroll, 0);
    767         var cxRight    = Math.max(xScrollRight - oRelToRect.right, 0);
     764        var xScrollRight    = xScroll + cxWindow;
     765
     766        var cyAbove    = Math.max(oRelToRect.top, 0);
     767        var cyBelow    = Math.max(cyWindow - oRelToRect.bottom, 0);
     768        var cxLeft     = Math.max(oRelToRect.left, 0);
     769        var cxRight    = Math.max(cxWindow - oRelToRect.right, 0);
    768770
    769771        var xPos;
    770772        var yPos;
     773
     774        console.log('tooltipRepositionOnLoad: rect: x,y=' + oRelToRect.x + ',' + oRelToRect.y
     775                    + ' cx,cy=' + oRelToRect.width + ',' + oRelToRect.height + ' top=' + oRelToRect.top
     776                    + ' bottom=' + oRelToRect.bottom + ' left=' + oRelToRect.left + ' right=' + oRelToRect.right);
     777        //console.log('tooltipRepositionOnLoad: yScroll=' + yScroll + ' yScrollBottom=' + yScrollBottom);
     778        //console.log('tooltipRepositionOnLoad: cyAbove=' + cyAbove + ' cyBelow=' + cyBelow + ' cyNeeded=' + cyNeeded);
     779        console.log('tooltipRepositionOnLoad: xScroll=' + xScroll + ' xScrollRight=' + xScrollRight);
     780        console.log('tooltipRepositionOnLoad: cxLeft=' + cxLeft + ' cxRight=' + cxRight + ' cxNeeded=' + cxNeeded);
    771781
    772782        /*
     
    775785        if (cyNeeded < cyBelow)
    776786        {
    777             yPos = oRelToRect.bottom;
     787            yPos = yScroll + oRelToRect.top;
    778788            g_oCurrentTooltip.cyMax = cyBelow;
     789            //console.log('tooltipRepositionOnLoad: #1');
    779790        }
    780791        else if (cyBelow >= cyAbove)
     
    782793            yPos = yScrollBottom - cyNeeded;
    783794            g_oCurrentTooltip.cyMax = yScrollBottom - yPos;
     795            //console.log('tooltipRepositionOnLoad: #2');
    784796        }
    785797        else
    786798        {
    787             yPos = oRelToRect.top - cyNeeded;
     799            yPos = yScroll + oRelToRect.bottom - cyNeeded;
    788800            g_oCurrentTooltip.cyMax = yScrollBottom - yPos;
     801            //console.log('tooltipRepositionOnLoad: #3');
    789802        }
    790803        if (yPos < yScroll)
     
    792805            yPos = yScroll;
    793806            g_oCurrentTooltip.cyMax = yScrollBottom - yPos;
     807            //console.log('tooltipRepositionOnLoad: #4');
    794808        }
    795809        g_oCurrentTooltip.yPos    = yPos;
    796810        g_oCurrentTooltip.yScroll = yScroll;
    797811        g_oCurrentTooltip.cyMaxUp = yPos - yScroll;
    798 
    799         if (cxNeeded < cxRight || cxNeeded > cxRight)
    800         {
    801             xPos = oRelToRect.right;
     812        //console.log('tooltipRepositionOnLoad: yPos=' + yPos + ' yScroll=' + yScroll + ' cyMaxUp=' + g_oCurrentTooltip.cyMaxUp);
     813
     814        if (cxNeeded < cxRight)
     815        {
     816            xPos = xScroll + oRelToRect.right;
    802817            g_oCurrentTooltip.cxMax = cxRight;
     818            console.log('tooltipRepositionOnLoad: #5');
    803819        }
    804820        else
    805821        {
    806             xPos = oRelToRect.left - cxNeeded;
     822            xPos = xScroll + oRelToRect.left - cxNeeded;
     823            if (xPos < xScroll)
     824                xPos = xScroll;
    807825            g_oCurrentTooltip.cxMax = cxNeeded;
     826            console.log('tooltipRepositionOnLoad: #6');
    808827        }
    809828        g_oCurrentTooltip.xPos    = xPos;
    810829        g_oCurrentTooltip.xScroll = xScroll;
     830        console.log('tooltipRepositionOnLoad: xPos=' + xPos + ' xScroll=' + xScroll);
    811831
    812832        g_oCurrentTooltip.oElm.style.top  = yPos + 'px';
     
    949969        }
    950970
    951         //console.log('cyNeeded='+cyNeeded+' cyMax='+g_oCurrentTooltip.cyMax+' cySpace='+cySpace+' cy='+cy);
    952         //console.log('oIFrameElement.offsetTop='+oIFrameElement.offsetTop);
    953         //console.log('svnHistoryTooltipOnLoad: cx='+cx+'cxMax='+g_oCurrentTooltip.cxMax+' cxNeeded='+cxNeeded+' cy='+cy+' cyMax='+g_oCurrentTooltip.cyMax);
     971        console.log('cyNeeded='+cyNeeded+' cyMax='+g_oCurrentTooltip.cyMax+' cySpace='+cySpace+' cy='+cy);
     972        console.log('oIFrameElement.offsetTop='+oIFrameElement.offsetTop);
     973        console.log('svnHistoryTooltipOnLoad: cx='+cx+'cxMax='+g_oCurrentTooltip.cxMax+' cxNeeded='+cxNeeded+' cy='+cy+' cyMax='+g_oCurrentTooltip.cyMax);
    954974
    955975        tooltipRepositionOnLoad();
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette