admin/public/js/plugins/dataTables/jquery.dataTables.js
function _fnLoadState ( oSettings, oInit )
	{
		var i, ien;
		var columns = oSettings.aoColumns;
	
		if ( !oSettings.oFeatures.bStateSave )
		{
			return;
		}
	
		var oData = oSettings.fnStateLoadCallback.call( oSettings.oInstance, oSettings );
		if ( !oData )
		{
			return;
		}
	
		/* Allow custom and plug-in manipulation functions to alter the saved data set and
		 * cancelling of loading by returning false
		 */
		var abStateLoad = _fnCallbackFire( oSettings, 'aoStateLoadParams', 'stateLoadParams', [oSettings, oData] );
		if ( $.inArray( false, abStateLoad ) !== -1 )
		{
			return;
		}
	
		/* Reject old data */
		if ( oData.iCreate < new Date().getTime() - (oSettings.iStateDuration*1000) ) {
			return;
		}
	
		// Number of columns have changed - all bets are off, no restore of settings
		if ( columns.length !== oData.aoSearchCols.length ) {
			return;
		}
	
		/* Store the saved state so it might be accessed at any time */
		oSettings.oLoadedState = $.extend( true, {}, oData );
	
		/* Restore key features */
		oSettings._iDisplayStart    = oData.iStart;
		oSettings.iInitDisplayStart = oData.iStart;
		oSettings._iDisplayLength   = oData.iLength;
		oSettings.aaSorting         = [];
	
		var savedSort = oData.aaSorting;
		for ( i=0, ien=savedSort.length ; i<ien ; i++ ) {
			oSettings.aaSorting.push( savedSort[i][0] >= columns.length ?
				[ 0, savedSort[i][1] ] :
				savedSort[i]
			);
		}
	
		/* Search filtering  */
		$.extend( oSettings.oPreviousSearch, oData.oSearch );
		$.extend( true, oSettings.aoPreSearchCols, oData.aoSearchCols );
	
		/* Column visibility state */
		for ( i=0, ien=oData.abVisCols.length ; i<ien ; i++ ) {
			columns[i].bVisible = oData.abVisCols[i];
		}
	
		_fnCallbackFire( oSettings, 'aoStateLoaded', 'stateLoaded', [oSettings, oData] );
	}
function _fnLoadState ( oSettings, oInit )
	{
		var i, ien;
		var columns = oSettings.aoColumns;
	
		if ( !oSettings.oFeatures.bStateSave )
		{
			return;
		}
	
		var oData = oSettings.fnStateLoadCallback.call( oSettings.oInstance, oSettings );
		if ( !oData )
		{
			return;
		}
	
		/* Allow custom and plug-in manipulation functions to alter the saved data set and
		 * cancelling of loading by returning false
		 */
		var abStateLoad = _fnCallbackFire( oSettings, 'aoStateLoadParams', 'stateLoadParams', [oSettings, oData] );
		if ( $.inArray( false, abStateLoad ) !== -1 )
		{
			return;
		}
	
		/* Reject old data */
		if ( oData.iCreate < new Date().getTime() - (oSettings.iStateDuration*1000) ) {
			return;
		}
	
		// Number of columns have changed - all bets are off, no restore of settings
		if ( columns.length !== oData.aoSearchCols.length ) {
			return;
		}
	
		/* Store the saved state so it might be accessed at any time */
		oSettings.oLoadedState = $.extend( true, {}, oData );
	
		/* Restore key features */
		oSettings._iDisplayStart    = oData.iStart;
		oSettings.iInitDisplayStart = oData.iStart;
		oSettings._iDisplayLength   = oData.iLength;
		oSettings.aaSorting         = [];
	
		var savedSort = oData.aaSorting;
		for ( i=0, ien=savedSort.length ; i<ien ; i++ ) {
			oSettings.aaSorting.push( savedSort[i][0] >= columns.length ?
				[ 0, savedSort[i][1] ] :
				savedSort[i]
			);
		}
	
		/* Search filtering  */
		$.extend( oSettings.oPreviousSearch, oData.oSearch );
		$.extend( true, oSettings.aoPreSearchCols, oData.aoSearchCols );
	
		/* Column visibility state */
		for ( i=0, ien=oData.abVisCols.length ; i<ien ; i++ ) {
			columns[i].bVisible = oData.abVisCols[i];
		}
	
		_fnCallbackFire( oSettings, 'aoStateLoaded', 'stateLoaded', [oSettings, oData] );
	}
function _fnLoadState ( oSettings , oInit ) { var i , ien ; var columns = oSettings . aoColumns ; if ( ! oSettings . oFeatures . bStateSave ) { return ; } var oData = oSettings . fnStateLoadCallback . call ( oSettings . oInstance , oSettings ) ; if ( ! oData ) { return ; } /* Allow custom and plug-in manipulation functions to alter the saved data set and
		 * cancelling of loading by returning false
		 */ var abStateLoad = _fnCallbackFire ( oSettings , 'aoStateLoadParams' , 'stateLoadParams' , [ oSettings , oData ] ) ; if ( $ . inArray ( false , abStateLoad ) !== - 1 ) { return ; } /* Reject old data */ if ( oData . iCreate < new Date ( ) . getTime ( ) - ( oSettings . iStateDuration * 1000 ) ) { return ; } // Number of columns have changed - all bets are off, no restore of settings
 if ( columns . length !== oData . aoSearchCols . length ) { return ; } /* Store the saved state so it might be accessed at any time */ oSettings . oLoadedState = $ . extend ( true , { } , oData ) ; /* Restore key features */ oSettings . _iDisplayStart = oData . iStart ; oSettings . iInitDisplayStart = oData . iStart ; oSettings . _iDisplayLength = oData . iLength ; oSettings . aaSorting = [ ] ; var savedSort = oData . aaSorting ; for ( i = 0 , ien = savedSort . length ; i < ien ; i ++ ) { oSettings . aaSorting . push ( savedSort [ i ] [ 0 ] >= columns . length ? [ 0 , savedSort [ i ] [ 1 ] ] : savedSort [ i ] ) ; } /* Search filtering  */ $ . extend ( oSettings . oPreviousSearch , oData . oSearch ) ; $ . extend ( true , oSettings . aoPreSearchCols , oData . aoSearchCols ) ; /* Column visibility state */ for ( i = 0 , ien = oData . abVisCols . length ; i < ien ; i ++ ) { columns [ i ] . bVisible = oData . abVisCols [ i ] ; } _fnCallbackFire ( oSettings , 'aoStateLoaded' , 'stateLoaded' , [ oSettings , oData ] ) ; }
Attempt to load a saved table state
@param {object} oSettings dataTables settings object
@param {object} oInit DataTables init object so we can override settings
@memberof DataTable#oApi
Attempt to load a saved table state