diff options
Diffstat (limited to 'ecomp-portal-FE/client/bower_components/jquery.event.drag-new/event.drop/jquery.event.drop.js')
-rw-r--r-- | ecomp-portal-FE/client/bower_components/jquery.event.drag-new/event.drop/jquery.event.drop.js | 302 |
1 files changed, 0 insertions, 302 deletions
diff --git a/ecomp-portal-FE/client/bower_components/jquery.event.drag-new/event.drop/jquery.event.drop.js b/ecomp-portal-FE/client/bower_components/jquery.event.drag-new/event.drop/jquery.event.drop.js deleted file mode 100644 index 7599ef91..00000000 --- a/ecomp-portal-FE/client/bower_components/jquery.event.drag-new/event.drop/jquery.event.drop.js +++ /dev/null @@ -1,302 +0,0 @@ -/*! - * jquery.event.drop - v 2.2 - * Copyright (c) 2010 Three Dub Media - http://threedubmedia.com - * Open Source MIT License - http://threedubmedia.com/code/license - */ -// Created: 2008-06-04 -// Updated: 2012-05-21 -// REQUIRES: jquery 1.7.x, event.drag 2.2 - -;(function($){ // secure $ jQuery alias - -// Events: drop, dropstart, dropend - -// add the jquery instance method -$.fn.drop = function( str, arg, opts ){ - // figure out the event type - var type = typeof str == "string" ? str : "", - // figure out the event handler... - fn = $.isFunction( str ) ? str : $.isFunction( arg ) ? arg : null; - // fix the event type - if ( type.indexOf("drop") !== 0 ) - type = "drop"+ type; - // were options passed - opts = ( str == fn ? arg : opts ) || {}; - // trigger or bind event handler - return fn ? this.bind( type, opts, fn ) : this.trigger( type ); -}; - -// DROP MANAGEMENT UTILITY -// returns filtered drop target elements, caches their positions -$.drop = function( opts ){ - opts = opts || {}; - // safely set new options... - drop.multi = opts.multi === true ? Infinity : - opts.multi === false ? 1 : !isNaN( opts.multi ) ? opts.multi : drop.multi; - drop.delay = opts.delay || drop.delay; - drop.tolerance = $.isFunction( opts.tolerance ) ? opts.tolerance : - opts.tolerance === null ? null : drop.tolerance; - drop.mode = opts.mode || drop.mode || 'intersect'; -}; - -// local refs (increase compression) -var $event = $.event, -$special = $event.special, -// configure the drop special event -drop = $.event.special.drop = { - - // these are the default settings - multi: 1, // allow multiple drop winners per dragged element - delay: 20, // async timeout delay - mode: 'overlap', // drop tolerance mode - - // internal cache - targets: [], - - // the key name for stored drop data - datakey: "dropdata", - - // prevent bubbling for better performance - noBubble: true, - - // count bound related events - add: function( obj ){ - // read the interaction data - var data = $.data( this, drop.datakey ); - // count another realted event - data.related += 1; - }, - - // forget unbound related events - remove: function(){ - $.data( this, drop.datakey ).related -= 1; - }, - - // configure the interactions - setup: function(){ - // check for related events - if ( $.data( this, drop.datakey ) ) - return; - // initialize the drop element data - var data = { - related: 0, - active: [], - anyactive: 0, - winner: 0, - location: {} - }; - // store the drop data on the element - $.data( this, drop.datakey, data ); - // store the drop target in internal cache - drop.targets.push( this ); - }, - - // destroy the configure interaction - teardown: function(){ - var data = $.data( this, drop.datakey ) || {}; - // check for related events - if ( data.related ) - return; - // remove the stored data - $.removeData( this, drop.datakey ); - // reference the targeted element - var element = this; - // remove from the internal cache - drop.targets = $.grep( drop.targets, function( target ){ - return ( target !== element ); - }); - }, - - // shared event handler - handler: function( event, dd ){ - // local vars - var results, $targets; - // make sure the right data is available - if ( !dd ) - return; - // handle various events - switch ( event.type ){ - // draginit, from $.event.special.drag - case 'mousedown': // DROPINIT >> - case 'touchstart': // DROPINIT >> - // collect and assign the drop targets - $targets = $( drop.targets ); - if ( typeof dd.drop == "string" ) - $targets = $targets.filter( dd.drop ); - // reset drop data winner properties - $targets.each(function(){ - var data = $.data( this, drop.datakey ); - data.active = []; - data.anyactive = 0; - data.winner = 0; - }); - // set available target elements - dd.droppable = $targets; - // activate drop targets for the initial element being dragged - $special.drag.hijack( event, "dropinit", dd ); - break; - // drag, from $.event.special.drag - case 'mousemove': // TOLERATE >> - case 'touchmove': // TOLERATE >> - drop.event = event; // store the mousemove event - if ( !drop.timer ) - // monitor drop targets - drop.tolerate( dd ); - break; - // dragend, from $.event.special.drag - case 'mouseup': // DROP >> DROPEND >> - case 'touchend': // DROP >> DROPEND >> - drop.timer = clearTimeout( drop.timer ); // delete timer - if ( dd.propagates ){ - $special.drag.hijack( event, "drop", dd ); - $special.drag.hijack( event, "dropend", dd ); - } - break; - - } - }, - - // returns the location positions of an element - locate: function( elem, index ){ - var data = $.data( elem, drop.datakey ), - $elem = $( elem ), - posi = $elem.offset() || {}, - height = $elem.outerHeight(), - width = $elem.outerWidth(), - location = { - elem: elem, - width: width, - height: height, - top: posi.top, - left: posi.left, - right: posi.left + width, - bottom: posi.top + height - }; - // drag elements might not have dropdata - if ( data ){ - data.location = location; - data.index = index; - data.elem = elem; - } - return location; - }, - - // test the location positions of an element against another OR an X,Y coord - contains: function( target, test ){ // target { location } contains test [x,y] or { location } - return ( ( test[0] || test.left ) >= target.left && ( test[0] || test.right ) <= target.right - && ( test[1] || test.top ) >= target.top && ( test[1] || test.bottom ) <= target.bottom ); - }, - - // stored tolerance modes - modes: { // fn scope: "$.event.special.drop" object - // target with mouse wins, else target with most overlap wins - 'intersect': function( event, proxy, target ){ - return this.contains( target, [ event.pageX, event.pageY ] ) ? // check cursor - 1e9 : this.modes.overlap.apply( this, arguments ); // check overlap - }, - // target with most overlap wins - 'overlap': function( event, proxy, target ){ - // calculate the area of overlap... - return Math.max( 0, Math.min( target.bottom, proxy.bottom ) - Math.max( target.top, proxy.top ) ) - * Math.max( 0, Math.min( target.right, proxy.right ) - Math.max( target.left, proxy.left ) ); - }, - // proxy is completely contained within target bounds - 'fit': function( event, proxy, target ){ - return this.contains( target, proxy ) ? 1 : 0; - }, - // center of the proxy is contained within target bounds - 'middle': function( event, proxy, target ){ - return this.contains( target, [ proxy.left + proxy.width * .5, proxy.top + proxy.height * .5 ] ) ? 1 : 0; - } - }, - - // sort drop target cache by by winner (dsc), then index (asc) - sort: function( a, b ){ - return ( b.winner - a.winner ) || ( a.index - b.index ); - }, - - // async, recursive tolerance execution - tolerate: function( dd ){ - // declare local refs - var i, drp, drg, data, arr, len, elem, - // interaction iteration variables - x = 0, ia, end = dd.interactions.length, - // determine the mouse coords - xy = [ drop.event.pageX, drop.event.pageY ], - // custom or stored tolerance fn - tolerance = drop.tolerance || drop.modes[ drop.mode ]; - // go through each passed interaction... - do if ( ia = dd.interactions[x] ){ - // check valid interaction - if ( !ia ) - return; - // initialize or clear the drop data - ia.drop = []; - // holds the drop elements - arr = []; - len = ia.droppable.length; - // determine the proxy location, if needed - if ( tolerance ) - drg = drop.locate( ia.proxy ); - // reset the loop - i = 0; - // loop each stored drop target - do if ( elem = ia.droppable[i] ){ - data = $.data( elem, drop.datakey ); - drp = data.location; - if ( !drp ) continue; - // find a winner: tolerance function is defined, call it - data.winner = tolerance ? tolerance.call( drop, drop.event, drg, drp ) - // mouse position is always the fallback - : drop.contains( drp, xy ) ? 1 : 0; - arr.push( data ); - } while ( ++i < len ); // loop - // sort the drop targets - arr.sort( drop.sort ); - // reset the loop - i = 0; - // loop through all of the targets again - do if ( data = arr[ i ] ){ - // winners... - if ( data.winner && ia.drop.length < drop.multi ){ - // new winner... dropstart - if ( !data.active[x] && !data.anyactive ){ - // check to make sure that this is not prevented - if ( $special.drag.hijack( drop.event, "dropstart", dd, x, data.elem )[0] !== false ){ - data.active[x] = 1; - data.anyactive += 1; - } - // if false, it is not a winner - else - data.winner = 0; - } - // if it is still a winner - if ( data.winner ) - ia.drop.push( data.elem ); - } - // losers... - else if ( data.active[x] && data.anyactive == 1 ){ - // former winner... dropend - $special.drag.hijack( drop.event, "dropend", dd, x, data.elem ); - data.active[x] = 0; - data.anyactive -= 1; - } - } while ( ++i < len ); // loop - } while ( ++x < end ) // loop - // check if the mouse is still moving or is idle - if ( drop.last && xy[0] == drop.last.pageX && xy[1] == drop.last.pageY ) - delete drop.timer; // idle, don't recurse - else // recurse - drop.timer = setTimeout(function(){ - drop.tolerate( dd ); - }, drop.delay ); - // remember event, to compare idleness - drop.last = drop.event; - } - -}; - -// share the same special event configuration with related events... -$special.dropinit = $special.dropstart = $special.dropend = drop; - -})(jQuery); // confine scope
\ No newline at end of file |