nl_tokens: Method to handle going to a specific node within this nested list . Node must be part of the internal {
pl_tokens: function ( node ) { if ( ! node ) { return ; } var me = this , activeItem = me . getActiveItem ( ) , detailCard = me . getDetailCard ( ) , detailCardActive = detailCard && me . getActiveItem ( ) == detailCard , reverse = <mask> . goToNodeReverseAnimation ( node ) , firstList = me . firstList , secondList = me . secondList , layout = me . getLayout ( ) , animation = ( layout ) ? layout . getAnimation ( ) : null , list ; //if the node is a leaf, throw an error if ( node . isLeaf ( ) ) { throw new Error ( 'goToNode: passed a node which is a leaf.' ) ; } //if we are currently at the passed node, do nothing. if ( node == me . getLastNode ( ) && ! detailCardActive ) { return ; } if ( detailCardActive ) { if ( animation ) { animation . setReverse ( true ) ; } list = me . getLastActiveList ( ) ; list . getStore ( ) . setNode ( node ) ; node . expand ( ) ; me . setActiveItem ( list ) ; } else { if ( animation ) { animation . setReverse ( reverse ) ; } if ( firstList && secondList ) { //firstList and secondList have both been created activeItem = me . getActiveItem ( ) ; me . setLastActiveList ( activeItem ) ; list = ( activeItem == firstList ) ? secondList : firstList ; list . getStore ( ) . setNode ( node ) ; node . expand ( ) ; me . setActiveItem ( list ) ; if ( this . getClearSelectionOnListChange ( ) ) { list . deselectAll ( ) ; } } else if ( firstList ) { //only firstList has been created me . setLastActiveList ( me . getActiveItem ( ) ) ; me . setActiveItem ( me . getList ( node ) ) ; me . secondList = me . getActiveItem ( ) ; } else { //no lists have been created me . setActiveItem ( me . getList ( node ) ) ; me . firstList = me . getActiveItem ( ) ; } } me . fireEvent ( 'listchange' , this , me . getActiveItem ( ) ) ; me . setLastNode ( node ) ; me . syncToolbar ( ) ; }