summaryrefslogtreecommitdiffstats
path: root/lib/jquery.event.drag.custom.js
diff options
context:
space:
mode:
authorMilan Gardian <mgardian@gmail.com>2010-02-11 08:08:56 +0800
committerMichael Leibman <michael.leibman@gmail.com>2010-02-12 03:46:23 +0800
commita43ceaf16a675f75f00ab94a1c47640ab75e2d56 (patch)
tree7289d30e885ac519898fd731b17f46203ec844e8 /lib/jquery.event.drag.custom.js
parent0660af94e93a9278a73806ee428efd2766a3ac6b (diff)
downloadSlickGrid-a43ceaf16a675f75f00ab94a1c47640ab75e2d56.zip
SlickGrid-a43ceaf16a675f75f00ab94a1c47640ab75e2d56.tar.gz
SlickGrid-a43ceaf16a675f75f00ab94a1c47640ab75e2d56.tar.bz2
Preserve license information in Google Closure Compiler output
Diffstat (limited to 'lib/jquery.event.drag.custom.js')
-rw-r--r--lib/jquery.event.drag.custom.js59
1 files changed, 30 insertions, 29 deletions
diff --git a/lib/jquery.event.drag.custom.js b/lib/jquery.event.drag.custom.js
index fd0c5bb..c012ae0 100644
--- a/lib/jquery.event.drag.custom.js
+++ b/lib/jquery.event.drag.custom.js
@@ -1,7 +1,8 @@
-/*!
-jquery.event.drag.js ~ v1.5 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
-Liscensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt
-*/
+/**
+ * @license
+ * jquery.event.drag.js ~ v1.5 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
+ * Licensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt
+ */
;(function($){ // secure $ jQuery alias
/*******************************************************************************************/
// Created: 2008-06-04 | Updated: 2009-03-24
@@ -27,9 +28,9 @@ drag = $special.drag = {
which: 1, // mouse button pressed to start drag sequence
dragging: false, // hold the active target element
setup: function( data ){
- data = $.extend({
- distance: drag.distance,
- which: drag.which,
+ data = $.extend({
+ distance: drag.distance,
+ which: drag.which,
not: drag.not
}, data || {});
data.distance = squared( data.distance ); // xІ + yІ = distanceІ
@@ -43,15 +44,15 @@ drag = $special.drag = {
if ( this.detachEvent ) this.detachEvent("ondragstart", dontStart ); // prevent image dragging in IE...
}
};
-
+
// prevent normal event binding...
$special.dragstart = $special.dragend = { setup:function(){}, teardown:function(){} };
// handle drag-releatd DOM events
-function handler ( event ){
+function handler ( event ){
var elem = this, returned, data = event.data || {};
// mousemove or mouseup
- if ( data.elem ){
+ if ( data.elem ){
// update event properties...
elem = event.dragTarget = data.elem; // drag source element
event.dragProxy = drag.proxy || elem; // proxy element or source
@@ -61,7 +62,7 @@ function handler ( event ){
event.offsetY = event.pageY - event.cursorOffsetY; // element offset
}
// mousedown, check some initial props to avoid the switch statement
- else if ( drag.dragging || ( data.which>0 && event.which!=data.which ) ||
+ else if ( drag.dragging || ( data.which>0 && event.which!=data.which ) ||
$( event.target ).is( data.not ) ) return;
// handle various events
switch ( event.type ){
@@ -70,17 +71,17 @@ function handler ( event ){
returned = hijack(event, "beforedragstart", elem);
if (returned === false)
return true;
- $.extend( data, $( elem ).offset(), {
+ $.extend( data, $( elem ).offset(), {
elem: elem, target: event.target,
pageX: event.pageX, pageY: event.pageY
}); // store some initial attributes
$event.add( document, "mousemove mouseup", handler, data );
selectable( elem, false ); // disable text selection
drag.dragging = null; // pending state
- return false; // prevents text selection in safari
+ return false; // prevents text selection in safari
// mousemove, check distance, start dragging
- case !drag.dragging && 'mousemove':
- if ( squared( event.pageX-data.pageX )
+ case !drag.dragging && 'mousemove':
+ if ( squared( event.pageX-data.pageX )
+ squared( event.pageY-data.pageY ) // xІ + yІ = distanceІ
< data.distance ) break; // distance tolerance not reached
event.target = data.target; // force target from "mousedown" event (fix distance issue)
@@ -90,28 +91,28 @@ function handler ( event ){
drag.proxy = event.dragProxy = $( returned || elem )[0]; // set proxy
}
// mousemove, dragging
- case 'mousemove':
+ case 'mousemove':
if ( drag.dragging ){
- returned = hijack( event, "drag", elem ); // trigger "drag"
+ returned = hijack( event, "drag", elem ); // trigger "drag"
if ( $special.drop ){ // manage drop events
$special.drop.allowed = ( returned !== false ); // prevent drop
$special.drop.handler( event ); // "dropstart", "dropend"
}
- if ( returned !== false ) break; // "drag" not rejected, stop
+ if ( returned !== false ) break; // "drag" not rejected, stop
event.type = "mouseup"; // helps "drop" handler behave
}
// mouseup, stop dragging
- case 'mouseup':
+ case 'mouseup':
if (drag.dragging === false) break;
$event.remove( document, "mousemove mouseup", handler ); // remove page events
if ( drag.dragging ){
if ( $special.drop ) $special.drop.handler( event ); // "drop"
- hijack( event, "dragend", elem ); // trigger "dragend"
+ hijack( event, "dragend", elem ); // trigger "dragend"
}
selectable( elem, true ); // enable text selection
drag.dragging = drag.proxy = data.elem = false; // deactivate element
break;
- }
+ }
return true;
};
@@ -121,21 +122,21 @@ function hijack ( event, type, elem ){
var result = $.event.handle.call( elem, event );
return result===false ? false : result || event.result;
};
-
-// return the value squared
+
+// return the value squared
function squared ( value ){ return Math.pow( value, 2 ); };
// suppress default dragstart IE events...
-function dontStart(){ return ( drag.dragging === false ); };
+function dontStart(){ return ( drag.dragging === false ); };
-// toggles text selection attributes
-function selectable ( elem, bool ){
- if ( !elem ) return; // maybe element was removed ?
+// toggles text selection attributes
+function selectable ( elem, bool ){
+ if ( !elem ) return; // maybe element was removed ?
elem.unselectable = bool ? "off" : "on"; // IE
elem.onselectstart = function(){ return bool; }; // IE
//if ( document.selection && document.selection.empty ) document.selection.empty(); // IE
if ( elem.style ) elem.style.MozUserSelect = bool ? "" : "none"; // FF
- };
-
+ };
+
/*******************************************************************************************/
})( jQuery ); // confine scope \ No newline at end of file