Hybrid View

    Success! Looks like we've fixed this one. According to our records the fix was applied for EXTJS-9038 in a recent build.
  1. #1
    Sencha User Daniil's Avatar
    Join Date
    Jun 2010
    Location
    Saint-Petersburg, Russia
    Posts
    974
    Vote Rating
    110
    Daniil is a name known to all Daniil is a name known to all Daniil is a name known to all Daniil is a name known to all Daniil is a name known to all Daniil is a name known to all

      0  

    Default [4.2.0 RC] Expanding a tree node causes multiple layouts

    [4.2.0 RC] Expanding a tree node causes multiple layouts


    REQUIRED INFORMATION

    Ext version tested:
    • Ext 4.2.0 RC
    Browser versions tested against:
    • IE9
    • Chrome
    DOCTYPE tested against:
    • <!DOCTYPE html>
    Description:
    • Expanding a tree node causes multiple layouts. Expanding a node with children causes two layouts. Expanding a non-leaf node without children causes four layouts. It seems too many and possibly can cause performance issues.
    Steps to reproduce the problem:
    • Expand nodes
    The result that was expected:
    • A single layout
    The result that occurs instead:
    • Two or four layouts
    Test Case:

    Code:
    <!DOCTYPE html>
    <html>
    <head>
        <title>Expanding a node causes multiple layouts</title>
    
        <link rel="stylesheet" href="../resources/css/ext-all.css" />
    
        <script src="../ext-all-debug.js"></script>
    
        <script>
            Ext.onReady(function () {
                var children = [];
                for (var i = 0; i < 50; i++) {
                    children.push({
                        text: "SubNode" + i
                    });
                }
                var tree = Ext.create("Ext.tree.Panel", {
                    renderTo: Ext.getBody(),
                    height: 450,
                    width: 300,
                    root: {
                        text: "Root",
                        children: children
                    },
                    listeners: {
                        afterlayout: {
                            fn: function () {
                                console.log('layout');
                            }
                        }
                    }
                });
            });
        </script>
    </head>
    <body>
    </body>
    </html>
    Ext.NET - ASP.NET for Ext JS
    MVC and WebForms
    Examples | Twitter

  2. #2
    Sencha - Community Support Team mankz's Avatar
    Join Date
    Nov 2007
    Location
    Stockholm, Sweden
    Posts
    2,739
    Vote Rating
    104
    mankz is a name known to all mankz is a name known to all mankz is a name known to all mankz is a name known to all mankz is a name known to all mankz is a name known to all

      0  

    Default


    We've seen this for a while too, hacking past it using this override:

    Code:
    this.override({
                    expand : function () {
                        Ext.suspendLayouts();
                        this.callParent(arguments);
                        Ext.resumeLayouts();
                    }
                });

  3. #3
    Sencha - Ext JS Dev Team Animal's Avatar
    Join Date
    Mar 2007
    Location
    Notts/Redwood City
    Posts
    30,501
    Vote Rating
    47
    Animal has a spectacular aura about Animal has a spectacular aura about

      0  

    Default


    Thanks for the report! I have opened a bug in our bug tracker..... for the 4.2.1 release

  4. #4
    Sencha User
    Join Date
    Jul 2014
    Posts
    2
    Vote Rating
    0
    Didasko is on a distinguished road

      0  

    Default


    Hello,


    I have the same problem with 4.2.1.883 version. This version doesn't have to contain the patch?


    I don't succeed to use your hack.


    What's "this" containing the "override" method?


    I suppose this is "Ext.Base", but the API documentation indicates the "override()" method as deprecated.


    So, I did it:
    Ext.define('RG.components.tree.Panel', {
    extend: 'Ext.tree.Panel',
    expand : function () {
    Ext.suspendLayouts();
    this.callParent(arguments);
    Ext.resumeLayouts();
    }
    });


    And I created an object with "RG.components.tree.Panel" as type instead of "Ext.tree.Panel" but it doesn't work.


    Do you have an idea?


    Thanks for your help.

  5. #5
    Sencha User
    Join Date
    Jul 2014
    Posts
    2
    Vote Rating
    0
    Didasko is on a distinguished road

      0  

    Default


    Really sorry because the problem seems to be corrected...
    I had clear my browser cache without success, but after a Tomcat restart, it seems ok!
    Classical...

Thread Participants: 3

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..." hd porno faketaxi