Everything works fine except when adding new playlist. When the new playlist gets created, it doesn't display the page which contains the playlist.
55 lines
2.0 KiB
JavaScript
55 lines
2.0 KiB
JavaScript
$.fn.dataTableExt.oApi.fnStandingRedraw = function(oSettings) {
|
|
//redraw to account for filtering and sorting
|
|
// concept here is that (for client side) there is a row got inserted at the end (for an add)
|
|
// or when a record was modified it could be in the middle of the table
|
|
// that is probably not supposed to be there - due to filtering / sorting
|
|
// so we need to re process filtering and sorting
|
|
// BUT - if it is server side - then this should be handled by the server - so skip this step
|
|
if(oSettings.oFeatures.bServerSide === false){
|
|
var before = oSettings._iDisplayStart;
|
|
oSettings.oApi._fnReDraw(oSettings);
|
|
//iDisplayStart has been reset to zero - so lets change it back
|
|
oSettings._iDisplayStart = before;
|
|
oSettings.oApi._fnCalculateEnd(oSettings);
|
|
}
|
|
|
|
//draw the 'current' page
|
|
oSettings.oApi._fnDraw(oSettings);
|
|
};
|
|
|
|
$.fn.dataTableExt.oApi.fnAddDataAndDisplay = function ( oSettings, aData )
|
|
{
|
|
/* Add the data */
|
|
var iAdded = this.oApi._fnAddData( oSettings, aData );
|
|
var nAdded = oSettings.aoData[ iAdded ].nTr;
|
|
|
|
/* Need to re-filter and re-sort the table to get positioning correct, not perfect
|
|
* as this will actually redraw the table on screen, but the update should be so fast (and
|
|
* possibly not alter what is already on display) that the user will not notice
|
|
*/
|
|
this.oApi._fnReDraw( oSettings );
|
|
|
|
/* Find it's position in the table */
|
|
var iPos = -1;
|
|
for( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
|
|
{
|
|
if( oSettings.aoData[ oSettings.aiDisplay[i] ].nTr == nAdded )
|
|
{
|
|
iPos = i;
|
|
break;
|
|
}
|
|
}
|
|
|
|
/* Get starting point, taking account of paging */
|
|
if( iPos >= 0 )
|
|
{
|
|
oSettings._iDisplayStart = ( Math.floor(i / oSettings._iDisplayLength) ) * oSettings._iDisplayLength;
|
|
this.oApi._fnCalculateEnd( oSettings );
|
|
}
|
|
|
|
this.oApi._fnDraw( oSettings );
|
|
return {
|
|
"nTr": nAdded,
|
|
"iPos": iAdded
|
|
};
|
|
} |