lib/Ext/dataview/List.js
function() {
        var me = this,
            container = me.container,
            baseCls = me.getBaseCls(),
            scrollable, scrollViewElement, pinnedHeader;

        Ext.apply(me, {
            listItems: [],
            headerItems: [],
            updatedItems: [],
            headerMap: [],
            scrollDockItems: {
                top: [],
                bottom: []
            }
        });

        // We determine the translation methods for headers and items within this List based
        // on the best strategy for the device
        this.translationMethod = Ext.browser.is.AndroidStock2 ? 'cssposition' : 'csstransform';

        // Create the inner container that will actually hold all the list items
        if (!container) {
            container = me.container = Ext.factory({
                xtype: 'container',
                scrollable: {
                    scroller: {
                        autoRefresh: !me.getInfinite(),
                        direction: 'vertical'
                    }
                }
            });
        }

        // We add the container after creating it manually because when you add the container,
        // the items config is initialized. When this happens, any scrollDock items will be added,
        // which in turn tries to add these items to the container
        me.add(container);

        // We make this List's scrollable the inner containers scrollable
        scrollable = container.getScrollable();
        scrollViewElement = me.scrollViewElement = scrollable.getElement();
        me.scrollElement = scrollable.getScroller().getElement();

        me.setScrollable(scrollable);
        me.scrollableBehavior = container.getScrollableBehavior();

        // Create the pinnedHeader instance thats being used when grouping is enabled
        // and insert it into the scrollElement
        pinnedHeader = me.pinnedHeader = Ext.factory({
            xtype: 'listitemheader',
            html: '&nbsp;',
            translatable: {
                translationMethod: this.translationMethod
            },
            cls: [baseCls + '-header', baseCls + '-header-swap']
        });
        pinnedHeader.translate(0, -10000);
        pinnedHeader.$position = -10000;
        scrollViewElement.insertFirst(pinnedHeader.renderElement);

        // We want to intercept any translate calls made on the scroller to perform specific list logic
        me.bind(scrollable.getScroller().getTranslatable(), 'doTranslate', 'onTranslate');
    }
function() {
        var me = this,
            container = me.container,
            baseCls = me.getBaseCls(),
            scrollable, scrollViewElement, pinnedHeader;

        Ext.apply(me, {
            listItems: [],
            headerItems: [],
            updatedItems: [],
            headerMap: [],
            scrollDockItems: {
                top: [],
                bottom: []
            }
        });

        // We determine the translation methods for headers and items within this List based
        // on the best strategy for the device
        this.translationMethod = Ext.browser.is.AndroidStock2 ? 'cssposition' : 'csstransform';

        // Create the inner container that will actually hold all the list items
        if (!container) {
            container = me.container = Ext.factory({
                xtype: 'container',
                scrollable: {
                    scroller: {
                        autoRefresh: !me.getInfinite(),
                        direction: 'vertical'
                    }
                }
            });
        }

        // We add the container after creating it manually because when you add the container,
        // the items config is initialized. When this happens, any scrollDock items will be added,
        // which in turn tries to add these items to the container
        me.add(container);

        // We make this List's scrollable the inner containers scrollable
        scrollable = container.getScrollable();
        scrollViewElement = me.scrollViewElement = scrollable.getElement();
        me.scrollElement = scrollable.getScroller().getElement();

        me.setScrollable(scrollable);
        me.scrollableBehavior = container.getScrollableBehavior();

        // Create the pinnedHeader instance thats being used when grouping is enabled
        // and insert it into the scrollElement
        pinnedHeader = me.pinnedHeader = Ext.factory({
            xtype: 'listitemheader',
            html: '&nbsp;',
            translatable: {
                translationMethod: this.translationMethod
            },
            cls: [baseCls + '-header', baseCls + '-header-swap']
        });
        pinnedHeader.translate(0, -10000);
        pinnedHeader.$position = -10000;
        scrollViewElement.insertFirst(pinnedHeader.renderElement);

        // We want to intercept any translate calls made on the scroller to perform specific list logic
        me.bind(scrollable.getScroller().getTranslatable(), 'doTranslate', 'onTranslate');
    }
function ( ) { var me = this , container = me . container , baseCls = me . getBaseCls ( ) , scrollable , scrollViewElement , pinnedHeader ; Ext . apply ( me , { listItems : [ ] , headerItems : [ ] , updatedItems : [ ] , headerMap : [ ] , scrollDockItems : { top : [ ] , bottom : [ ] } } ) ; // We determine the translation methods for headers and items within this List based // on the best strategy for the device this . translationMethod = Ext . browser . is . AndroidStock2 ? 'cssposition' : 'csstransform' ; // Create the inner container that will actually hold all the list items if ( ! container ) { container = me . container = Ext . factory ( { xtype : 'container' , scrollable : { scroller : { autoRefresh : ! me . getInfinite ( ) , direction : 'vertical' } } } ) ; } // We add the container after creating it manually because when you add the container, // the items config is initialized. When this happens, any scrollDock items will be added, // which in turn tries to add these items to the container me . add ( container ) ; // We make this List's scrollable the inner containers scrollable scrollable = container . getScrollable ( ) ; scrollViewElement = me . scrollViewElement = scrollable . getElement ( ) ; me . scrollElement = scrollable . getScroller ( ) . getElement ( ) ; me . setScrollable ( scrollable ) ; me . scrollableBehavior = container . getScrollableBehavior ( ) ; // Create the pinnedHeader instance thats being used when grouping is enabled // and insert it into the scrollElement pinnedHeader = me . pinnedHeader = Ext . factory ( { xtype : 'listitemheader' , html : '&nbsp;' , translatable : { translationMethod : this . translationMethod } , cls : [ baseCls + '-header' , baseCls + '-header-swap' ] } ) ; pinnedHeader . translate ( 0 , - 10000 ) ; pinnedHeader . $position = - 10000 ; scrollViewElement . insertFirst ( pinnedHeader . renderElement ) ; // We want to intercept any translate calls made on the scroller to perform specific list logic me . bind ( scrollable . getScroller ( ) . getTranslatable ( ) , 'doTranslate' , 'onTranslate' ) ; }
We create complex instance arrays and objects in beforeInitialize so that we can use these inside of the initConfig process.
We create complex instance arrays and objects in beforeInitialize so that we can use these inside of the initConfig process .