Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Scrollbar jump in ListGrid when clicking rightmost cell in IE11

    In the attached example, I have an outer table and an inner table. If I dump that into this showcase (replacing existing js):
    https://www.smartclient.com/smartcli...e/?id=localAdd

    then I encounter the following problem in IE 11 (Chrome doesn't have this problem):
    1) Open one of the expansions
    2) In that inner table, scroll all the way to the right so that the Purpose field is in view
    3) As soon as I single click in the cell, the scroll bar snaps to the left a little bit so that Purpose is now out of view. A double-click isn't fast enough to open the editor. See the next post for a screenshot.

    This is with the current smartclient version in the showcase (Jul 9).


    The outer/inner table isn't known to be related to this problem, it's just what I have in hand while I'm trying to reproduce another problem.





    Attached Files
    Last edited by nitroamos; 17 Jul 2017, 10:06. Reason: use animated gif instead of static screenshot

    #2
    I thought I'd give a gif screenshot capture a try.

    You'll see a bounce effect when I'm dragging the scrollbar to the right, so if you can do anything about that I'd appreciate it.



    Click image for larger version

Name:	Jul-17-2017 13-33-56.gif
Views:	77
Size:	392.9 KB
ID:	245785

    Comment


      #3
      We'll take a look and update here when we have more information.

      Comment


        #4
        This was the result of native scroll-on-focus behavior in some browsers, including IE11 - we've added a workaround for builds dated August 1 and later.

        As an aside, it's not clear why this code is so complex when you could just use expansionMode:"related" and see expansionRelated for how to apply your custom expansion grid. This technique manages lifecycle and destruction for the expansion components.

        If you need your current implementation, you probably want to take a look at the doc for expansionComponentPoolingMode - you probably want "none", and to manage destruction of your expansionComponents yourself. Otherwise, your technique of pre-creating widgets and hanging them onto records, for example, will almost certainly result in warnings about your code attempting to access destroyed widgets in the DOM, as users expand and collapse rows.

        Comment


          #5
          Hi Isomorphic, this looks good to me.

          In response to your questions... this example is just a simplified version of my real version. While my real expansion panel has a ListGrid, that's not the only element I use, which is why I use the general getExpansionComponent method. Also, there aren't very many rows in the top level table, so I've not been bothering to delete anything.

          So far, I haven't seen any warnings in the logs related to this, perhaps because the top-level records themselves are never destroyed. I'll switch it to "none" though just to be safe -- thanks for the suggestion.

          Comment

          Working...
          X