public/dashboard/bower_components/admin-lte/plugins/datatables/extensions/ColReorder/js/dataTables.colReorder.js
function ( e )
	{
		var that = this;

		if ( this.dom.drag === null )
		{
			/* Only create the drag element if the mouse has moved a specific distance from the start
			 * point - this allows the user to make small mouse movements when sorting and not have a
			 * possibly confusing drag element showing up
			 */
			if ( Math.pow(
				Math.pow(e.pageX - this.s.mouse.startX, 2) +
				Math.pow(e.pageY - this.s.mouse.startY, 2), 0.5 ) < 5 )
			{
				return;
			}
			this._fnCreateDragNode();
		}

		/* Position the element - we respect where in the element the click occured */
		this.dom.drag.css( {
			left: e.pageX - this.s.mouse.offsetX,
			top: e.pageY - this.s.mouse.offsetY
		} );

		/* Based on the current mouse position, calculate where the insert should go */
		var bSet = false;
		var lastToIndex = this.s.mouse.toIndex;

		for ( var i=1, iLen=this.s.aoTargets.length ; i<iLen ; i++ )
		{
			if ( e.pageX < this.s.aoTargets[i-1].x + ((this.s.aoTargets[i].x-this.s.aoTargets[i-1].x)/2) )
			{
				this.dom.pointer.css( 'left', this.s.aoTargets[i-1].x );
				this.s.mouse.toIndex = this.s.aoTargets[i-1].to;
				bSet = true;
				break;
			}
		}

		// The insert element wasn't positioned in the array (less than
		// operator), so we put it at the end
		if ( !bSet )
		{
			this.dom.pointer.css( 'left', this.s.aoTargets[this.s.aoTargets.length-1].x );
			this.s.mouse.toIndex = this.s.aoTargets[this.s.aoTargets.length-1].to;
		}

		// Perform reordering if realtime updating is on and the column has moved
		if ( this.s.init.bRealtime && lastToIndex !== this.s.mouse.toIndex ) {
			this.s.dt.oInstance.fnColReorder( this.s.mouse.fromIndex, this.s.mouse.toIndex );
			this.s.mouse.fromIndex = this.s.mouse.toIndex;
			this._fnRegions();
		}
	}
function ( e )
	{
		var that = this;

		if ( this.dom.drag === null )
		{
			/* Only create the drag element if the mouse has moved a specific distance from the start
			 * point - this allows the user to make small mouse movements when sorting and not have a
			 * possibly confusing drag element showing up
			 */
			if ( Math.pow(
				Math.pow(e.pageX - this.s.mouse.startX, 2) +
				Math.pow(e.pageY - this.s.mouse.startY, 2), 0.5 ) < 5 )
			{
				return;
			}
			this._fnCreateDragNode();
		}

		/* Position the element - we respect where in the element the click occured */
		this.dom.drag.css( {
			left: e.pageX - this.s.mouse.offsetX,
			top: e.pageY - this.s.mouse.offsetY
		} );

		/* Based on the current mouse position, calculate where the insert should go */
		var bSet = false;
		var lastToIndex = this.s.mouse.toIndex;

		for ( var i=1, iLen=this.s.aoTargets.length ; i<iLen ; i++ )
		{
			if ( e.pageX < this.s.aoTargets[i-1].x + ((this.s.aoTargets[i].x-this.s.aoTargets[i-1].x)/2) )
			{
				this.dom.pointer.css( 'left', this.s.aoTargets[i-1].x );
				this.s.mouse.toIndex = this.s.aoTargets[i-1].to;
				bSet = true;
				break;
			}
		}

		// The insert element wasn't positioned in the array (less than
		// operator), so we put it at the end
		if ( !bSet )
		{
			this.dom.pointer.css( 'left', this.s.aoTargets[this.s.aoTargets.length-1].x );
			this.s.mouse.toIndex = this.s.aoTargets[this.s.aoTargets.length-1].to;
		}

		// Perform reordering if realtime updating is on and the column has moved
		if ( this.s.init.bRealtime && lastToIndex !== this.s.mouse.toIndex ) {
			this.s.dt.oInstance.fnColReorder( this.s.mouse.fromIndex, this.s.mouse.toIndex );
			this.s.mouse.fromIndex = this.s.mouse.toIndex;
			this._fnRegions();
		}
	}
function ( e ) { var that = this ; if ( this . dom . drag === null ) { /* Only create the drag element if the mouse has moved a specific distance from the start
			 * point - this allows the user to make small mouse movements when sorting and not have a
			 * possibly confusing drag element showing up
			 */ if ( Math . pow ( Math . pow ( e . pageX - this . s . mouse . startX , 2 ) + Math . pow ( e . pageY - this . s . mouse . startY , 2 ) , 0.5 ) < 5 ) { return ; } this . _fnCreateDragNode ( ) ; } /* Position the element - we respect where in the element the click occured */ this . dom . drag . css ( { left : e . pageX - this . s . mouse . offsetX , top : e . pageY - this . s . mouse . offsetY } ) ; /* Based on the current mouse position, calculate where the insert should go */ var bSet = false ; var lastToIndex = this . s . mouse . toIndex ; for ( var i = 1 , iLen = this . s . aoTargets . length ; i < iLen ; i ++ ) { if ( e . pageX < this . s . aoTargets [ i - 1 ] . x + ( ( this . s . aoTargets [ i ] . x - this . s . aoTargets [ i - 1 ] . x ) / 2 ) ) { this . dom . pointer . css ( 'left' , this . s . aoTargets [ i - 1 ] . x ) ; this . s . mouse . toIndex = this . s . aoTargets [ i - 1 ] . to ; bSet = true ; break ; } } // The insert element wasn't positioned in the array (less than // operator), so we put it at the end if ( ! bSet ) { this . dom . pointer . css ( 'left' , this . s . aoTargets [ this . s . aoTargets . length - 1 ] . x ) ; this . s . mouse . toIndex = this . s . aoTargets [ this . s . aoTargets . length - 1 ] . to ; } // Perform reordering if realtime updating is on and the column has moved if ( this . s . init . bRealtime && lastToIndex !== this . s . mouse . toIndex ) { this . s . dt . oInstance . fnColReorder ( this . s . mouse . fromIndex , this . s . mouse . toIndex ) ; this . s . mouse . fromIndex = this . s . mouse . toIndex ; this . _fnRegions ( ) ; } }
Deal with a mouse move event while dragging a node
@method  _fnMouseMove
@param   event e Mouse event
@returns void
@private
Deal with a mouse move event while dragging a node