Announcement

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

    6.1p+ ListGrid field width issue with "flickering" (changing sizes) after load

    Hi Isomorphic,

    please see this sample (v11.1p_2018-11-15) and this code:
    Code:
    lg = isc.ListGrid.create({
        width: "100%",
        height: 200,
        showFilterEditor: true,
        autoFitMaxHeight: 500,
        autoFetchData: true,
        autoFitData: "vertical",
        // autoFitWidthApproach: "both",
        // autoFitDateFields: "both", // Comment in this line to get a stable display with no resize after data load
        // autoFitWidth: true,
        dataSource: "supplyItemWithOps",
        initialCriteria: {
            category: "Glue Sticks"
        }
    });
    If you load the sample like this or with autoFitWidth: true, you'll notice that the size of the column changes after load of data and makes a "bumpy" GUI appearance.
    I think this is since the fix of this one, but I'm not sure.
    Now I found out by chance how to fix this.

    If you comment in autoFitDateFields: "both" with or without autoFitWidth: true, you'll see that the ListGrid columns width are fixed again.

    I don't know if there was a change in this area or if you regard this as a bug.

    Best regards
    Blama

    #2
    We see that the header and filter editor don't get resized properly after the data is loaded, and are looking into it.
    Last edited by Isomorphic; 28 Nov 2018, 02:50.

    Comment


      #3
      We've fixed this issue back to SC 11.1p so that the header buttons and filter editor use all available space. Older branches aren't affected due to more limited autofitting after draw. The fix will be in the nightly builds dated 2018-11-29.

      Comment


        #4
        Hi Isomorphic,

        with the testcase from #1 and v11.1p_2018-11-29 this is still happening and there is also no moving if you comment in the one line.

        Best regards
        Blama

        Comment


          #5
          You may want to check again. We just verified using today's nightly build and the sample you mention and your repro code that the issue is fixed. Or if you believe there's still an issue can you post a screen shot with that build after clearing your browser's cache?

          Comment


            #6
            Hi Isomorphic,

            yes, tested with online showcase and now with emptied cache as well using v11.1p_2018-11-29. Please see these videos:

            With issue:
            Click image for larger version

Name:	With issue.gif
Views:	87
Size:	36.7 KB
ID:	256044


            Without issue (commented in one line, visible in the video as well):
            Click image for larger version

Name:	Without issue.gif
Views:	74
Size:	34.4 KB
ID:	256043

            Best regards
            Blama

            Comment


              #7
              What you're seeing is expected behavior, as fields can only be autosized by value after data arrives. So, if that's the only issue remaining, we don't consider it a bug.

              Comment


                #8
                Hi Isomorphic,

                this was the only issue all the time.
                I think that having a stable UI at start is a good thing, so perhaps you can log it as enhancement.
                This is almost always the case, but not if:
                • You have a date field and not autoFitDateFields: "both"
                • You have a date field and canEdit: true
                You are saying "fields can only be autosized by value after data arrives", but I think this is not true for date fields and/or date fields in edit mode, as for date fields (like for boolean fields) the width is known beforehand, as you know how to format and if to show an edit-field beforehand. Of course do don't know the exact date value, but no date will be wider than 2008/08/08 IMHO. And the lost screen real estate compared to 2011/11/11 is neglectable.
                But this has no priority for me, as I can solve this with autoFitDateFields: "both" and normally do not display date fields at start if not also specifying a viewState with explicit field widths.

                6.1 Sample:
                Code:
                lg = isc.ListGrid.create({
                    width: "100%",
                    height: "100%",
                    autoFetchData: true,
                    dataSource: "supplyItem",
                    minFieldWidth: 100,
                
                    fields: [
                        {name: "itemID"},
                        {name: "itemName"},
                        {name: "SKU"},
                        {name: "category"},
                        {name: "units"},
                        {name: "unitCost"},
                        {name: "inStock"},
                        {name: "nextShipment"}
                    ],
                
                   // canEdit: true, // Commenting this also creates a column resize after load, even with autoFitDateFields: "both"
                   // autoFitWidthApproach: "both",
                   autoFitDateFields: "both", // With this line you get a stable display (=like at start) with no resize after data load
                });
                Best regards
                Blama

                Comment


                  #9
                  Originally posted by Blama View Post
                  Hi Isomorphic,

                  this was the only issue all the time.
                  Actually, the issue mentioned in #2 and announced as fixed in #3 should've been present for you as well. Observed for us in Chrome 70.


                  Comment


                    #10
                    Hi Isomorphic,

                    perhaps the issue you mention was related to autoFit via the ListGrid's header menu? I really don't remember seeing such an GUI. Also I was always talking about the 1st render at start/data load and not about manually triggered "Auto Fit All Columns".

                    Best regards
                    Blama

                    Comment


                      #11
                      The screenshot from #9 just shows what got rendered using your sample code from #1 after the data arrived. No manual autofit was involved.

                      Comment


                        #12
                        Hi Isomorphic,

                        OK, really strange, I don't remember seeing this, and I'm also using Chrome 70. But anyway, not happening anymore.

                        Best regards
                        Blama

                        Comment

                        Working...
                        X