1. #1
    Sencha Premium Member
    Join Date
    May 2012
    Posts
    88
    Answers
    3
    Vote Rating
    5
    whirling dervish is on a distinguished road

      0  

    Default Answered: Lockable grid giving a string instead of a Ext.data.Store on reconfigure event

    Answered: Lockable grid giving a string instead of a Ext.data.Store on reconfigure event


    So I am seeing a really odd issue where lockable ('enableLocking: true') grids are firing reconfigure events with a string instead of a store object.

    The string itself is the correct store class, so I can workaround the issue by downing a StoreManager lookup, but I have no idea why this isn't obeying the documented event signature.

    Is this a bug or do I have reconfigure locked grid stores differently?

    EDIT: Looking into this more this looks more and more like a bug,

    So this is the definition of reconfigure in Ext.panel.Table,

    Code:
        reconfigure: function(store, columns) {
            var me = this,
                view = me.getView(),
                originalDeferinitialRefresh,
                oldStore = me.store,
                headerCt = me.headerCt,
                oldColumns = headerCt ? headerCt.items.getRange() : me.columns;
    
    
            // Make copy in case the beforereconfigure listener mutates it.
            if (columns) {
                columns = Ext.Array.slice(columns);
            }
    
    
            me.fireEvent('beforereconfigure', me, store, columns, oldStore, oldColumns);
            if (me.lockable) {
                me.reconfigureLockable(store, columns);
            } else {
                Ext.suspendLayouts();
                if (columns) {
                    // new columns, delete scroll pos
                    delete me.scrollLeftPos;
                    headerCt.removeAll();
                    headerCt.add(columns);
                }
                if (store) {
                    // Only unbind the store if a new one was passed
                    if (me.store) {
                        me.unbindStore();
                    }
                    store = Ext.StoreManager.lookup(store);
    
    
                    // On reconfigure, view refresh must be inline.
                    originalDeferinitialRefresh = view.deferInitialRefresh;
                    view.deferInitialRefresh = false;
                    me.bindStore(store);
                    view.deferInitialRefresh = originalDeferinitialRefresh;
                } else {
                    me.getView().refresh();
                }
                headerCt.setSortState();
                Ext.resumeLayouts(true);
            }
            me.fireEvent('reconfigure', me, store, columns, oldStore, oldColumns);
        }
    It looks like it the method goes into reconfigureLockable it never assigns store to the store object.

    If I don't hear anything to the contrary I will report this bug, but I will give it a little in case I am missing something here.


  2. #2
    Sencha - Ext JS Dev Team evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    16,943
    Answers
    461
    Vote Rating
    636
    evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute

      0  

    Default


    In which version? I seem to recall having fixed this for the 4.2.x beta.
    Evan Trimboli
    Sencha Developer
    Twitter - @evantrimboli
    Don't be afraid of the source code!

  3. #3
    Sencha Premium Member
    Join Date
    May 2012
    Posts
    88
    Answers
    3
    Vote Rating
    5
    whirling dervish is on a distinguished road

      0  

    Default


    I am seeing this under ExtJS 4.1.3

    Briefly looking at the source of the 4.2 Beta, it looks like it has the same issue.

  4. #4
    Sencha Premium Member
    Join Date
    May 2012
    Posts
    88
    Answers
    3
    Vote Rating
    5
    whirling dervish is on a distinguished road

      0  

Thread Participants: 1