• 
      

    Fix several flaws with the page sizing logic and drawer events.

    Review Request #10733 — Created Oct. 1, 2019 and submitted — Latest diff uploaded

    Information

    Review Board
    release-4.0.x
    36e63c9...

    Reviewers

    The original approach to the RB.PageView sizing logic was based in
    part on how the datagrid pages behaved before. However, the logic was
    not quite right. It made some bad assumptions on sidebar offsets
    (resulting in the sidebar being just a bit too far down the page) and
    its approach to calculating the bottom padding of the page both wasn't
    necessary and got in the way of upcoming unit tests.

    This redoes the logic entirely to be more clear in what it calculates
    and how, to throw away all the bottom calculation stuff (in favor of
    using jQuery's outerHeight()), and to then remove all the calculated
    heights passed to onResize() (which are now less useful, and might as
    well be calculated by the caller). It also properly restores heights
    when going in/out of mobile mode.

    While here, I also found that the drawer functionality had regressed
    toward the end of my work, and that sidebar pointer events were being
    blocked. This was due to the lack of a pointer-events: none when
    hidden. That's been added, with pointer events restored when shown.

    Carefully inspected the heights and padding on the sidebar and page
    container in both desktop and mobile modes, when initially shown,
    on resize, when toggling modes, and when the drawer's opened in
    mobile mode. Made sure everything was exactly on screen and lined
    up with edges.