nl_tokens: Builds the table UI with all current node data and associates the active events on each row .
pl_tokens: function updateTableUI ( ) { var table = $ ( '.control-table tbody' ) ; table . off ( 'mouseenter' , 'tr' , onControlTableRowMouseOver ) ; table . off ( 'mouseleave' , 'tr' , onControlTableRowMouseOver ) ; table . off ( 'contextmenu' , 'tr' , onControlTableRowContextClick ) ; table . empty ( ) ; if ( data ) { data . nodes . forEach ( function ( node ) { var nd = node . packageData ; var name = appOptions . showFullNames ? nd . actualPackageName : nd . packageName ; var isAliased = nd . isAlias ? ' isAliased' : '' ; var tr = $ ( '<tr>' + '<td class="mdl-data-table__cell--non-numeric' + isAliased + '">' + name + '</td>' + '<td class="mdl-data-table__cell--non-numeric">' + nd . jspmType + '</td>' + '<td class="mdl-data-table__cell--non-numeric">' + nd . version + '</td>' + '<td class="mdl-data-table__cell--non-numeric">' + node . minLevel + '</td>' + '</tr>' ) ; table . append ( tr ) ; tr . on ( 'mouseenter' , onControlTableRowMouseOver . bind ( this , nodes , links , node , true ) ) ; tr . on ( 'mouseleave' , onControlTableRowMouseOver . bind ( this , nodes , <mask> , node , false ) ) ; tr . on ( 'contextmenu' , onControlTableRowContextClick . bind ( this , node ) ) ; } ) ; // Removes sort order for any header and signals update for new data $ ( '#nodeTable th' ) . removeClass ( 'headerSortDown' ) ; $ ( '#nodeTable th' ) . removeClass ( 'headerSortUp' ) ; $ ( '#nodeTable' ) . trigger ( 'update' ) ; updateTableUIExtent ( ) ; } }