nl_tokens: This method inserts all the filters in the passed array at the given index .
pl_tokens: function ( index , filters ) { // We begin by making sure we are dealing with an array of sorters if ( ! Ext . isArray ( filters ) ) { filters = [ filters ] ; } var ln = filters . length , filterRoot = this . getFilterRoot ( ) , currentFilters = this . getFilters ( ) , newFilters = [ ] , filterConfig , i , filter ; if ( ! currentFilters ) { currentFilters = this . createFiltersCollection ( ) ; } // We first have to convert every sorter into a proper Sorter instance for ( i = 0 ; i < ln ; i ++ ) { <mask> = filters [ i ] ; filterConfig = { root : filterRoot } ; if ( Ext . isFunction ( filter ) ) { filterConfig . filterFn = filter ; } // If we are dealing with an object, we assume its a Sorter configuration. In this case // we create an instance of Sorter passing this configuration. else if ( Ext . isObject ( filter ) ) { if ( ! filter . isFilter ) { if ( filter . fn ) { filter . filterFn = filter . fn ; delete filter . fn ; } filterConfig = Ext . apply ( filterConfig , filter ) ; } else { newFilters . push ( filter ) ; if ( ! filter . getRoot ( ) ) { filter . setRoot ( filterRoot ) ; } continue ; } } // Finally we get to the point where it has to be invalid // <debug> else { Ext . Logger . warn ( 'Invalid filter specified:' , filter ) ; } // </debug> // If a sorter config was created, make it an instance filter = Ext . create ( 'Ext.util.Filter' , filterConfig ) ; newFilters . push ( filter ) ; } // Now lets add the newly created sorters. for ( i = 0 , ln = newFilters . length ; i < ln ; i ++ ) { currentFilters . insert ( index + i , newFilters [ i ] ) ; } this . dirtyFilterFn = true ; if ( currentFilters . length ) { this . filtered = true ; } return currentFilters ; }