I’m not sure exactly what change you are proposing, but UIBase used to set 
position=relative on all positioners.  We took that away so that the "flex" and 
other display/layout styles would not have to deal with the excess clutter and 
overhead of having set position on so many elements in the DOM.  Via PAYG, only 
the elements that need to have a style.position should have it set.

My 2 cents,
-Alex

On 6/4/18, 8:44 AM, "Harbs" <harbs.li...@gmail.com> wrote:

    It just occurred to me that the problem is due to the default position 
being static.
    
    I just added position: relative; to the .Application css and that resolved 
the issue as well.
    
    I wonder if we could completely do away with the offsetParent logic in 
UIBase if we make the default position: relative. That would have a major 
positive impact on performance.
    
    Thoughts?
    Harbs
    
    > On Jun 4, 2018, at 6:36 PM, Alex Harui <aha...@adobe.com.INVALID> wrote:
    > 
    > Hi Yishay,
    > 
    > IMO, the new fix is better.  And you took the right approach by examining 
the code flow in the debugger.  When layout fails for what appears to be a 
timing issue (in this case, offsetParent not set), we definitely want to take 
the time to carefully analyze why there is a timing issue instead of apply code 
to work around the current lifecycle.
    > 
    > I'm not sure we can recommend a general pattern for layouts.  I think 
there is some PAYG involved.  It could be that in some cases the View should be 
responsible for setting style.position.  Then the layouts don't have to spend 
the time verifying style.position.  In other cases the layouts could be used in 
places where other potential layouts don't rely on style.position being a 
particular value.  I think BasicLayout for Containers is an example.
    > 
    > The code you used could be put into a utility function for layouts to use 
to guarantee that x,y will work as expected.
    > 
    > Thanks,
    > -Alex
    > 
    > On 6/4/18, 8:22 AM, "yishayw" <yishayj...@hotmail.com> wrote:
    > 
    >    Looking at it some more it has nothing to do with data binding. I 
pushed a
    >    different fix (799f1878250d8c69347f08442c2c333740efdb8d) that changes 
the
    >    layout itself. Here it's assumed the offsetParent is explicitly set 
before
    >    children's x and y are set. Should this be a general pattern?
    > 
    > 
    > 
    > 
    >    --
    >    Sent from: 
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-royale-development.20373.n8.nabble.com%2F&data=02%7C01%7Caharui%40adobe.com%7Cb3fbf0fe3aef48f404ce08d5ca2f0006%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636637225574936981&sdata=tQL6czkhz6TGNfiVuLzM8BpNPd%2BudGur3FGTGyZUJew%3D&reserved=0
    > 
    > 
    
    

Reply via email to