web/res/metadataplayer/test/interface 1.2/source/idrop.js
changeset 534 0a2505c3b547
parent 533 d824146a9589
child 535 8276f3ff7a3f
--- a/web/res/metadataplayer/test/interface 1.2/source/idrop.js	Sun Mar 04 14:13:39 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/**
- * Interface Elements for jQuery
- * Droppables
- * 
- * http://interface.eyecon.ro
- * 
- * Copyright (c) 2006 Stefan Petre
- * Dual licensed under the MIT (MIT-LICENSE.txt) 
- * and GPL (GPL-LICENSE.txt) licenses.
- *   
- *
- */
-
-/**
- * With the Draggables plugin, Droppable allows you to create drop zones for draggable elements.
- *
- * @name Droppable
- * @cat Plugins/Interface
- * @param Hash options A hash of options
- * @option String accept The class name for draggables to get accepted by the droppable (mandatory)
- * @option String activeclass When an acceptable draggable is moved, the droppable gets this class
- * @option String hoverclass When an acceptable draggable is inside the droppable, the droppable gets
- *                           this class
- * @option String tolerance  Choose from 'pointer', 'intersect', or 'fit'. The pointer options means
- *                           that the pointer must be inside the droppable in order for the draggable
- *                           to be dropped. The intersect option means that the draggable must intersect
- *                           the droppable. The fit option means that the entire draggable must be
- *                           inside the droppable.
- * @option Function onDrop   When an acceptable draggable is dropped on a droppable, this callback is
- *                           called. It passes the draggable DOMElement as a parameter.
- * @option Function onHover  When an acceptable draggable is hovered over a droppable, this callback
- *                           is called. It passes the draggable DOMElement as a parameter.
- * @option Function onOut    When an acceptable draggable leaves a droppable, this callback is called.
- *                           It passes the draggable DOMElement as a parameter.
- * @example                  $('#dropzone1').Droppable(
- *                             {
- *                               accept : 'dropaccept', 
- *                               activeclass: 'dropzoneactive', 
- *                               hoverclass:	'dropzonehover',
- *                               ondrop:	function (drag) {
- *                                              alert(this); //the droppable
- *                                              alert(drag); //the draggable
- *                                        },
- *                               fit: true
- *                             }
- *                           )
- */
-
-jQuery.iDrop = {
-	fit : function (zonex, zoney, zonew, zoneh)
-	{
-		return 	zonex <= jQuery.iDrag.dragged.dragCfg.nx && 
-				(zonex + zonew) >= (jQuery.iDrag.dragged.dragCfg.nx + jQuery.iDrag.dragged.dragCfg.oC.w) &&
-				zoney <= jQuery.iDrag.dragged.dragCfg.ny && 
-				(zoney + zoneh) >= (jQuery.iDrag.dragged.dragCfg.ny + jQuery.iDrag.dragged.dragCfg.oC.h) ? true :false;
-	},
-	intersect : function (zonex, zoney, zonew, zoneh)
-	{
-		return 	! ( zonex > (jQuery.iDrag.dragged.dragCfg.nx + jQuery.iDrag.dragged.dragCfg.oC.w)
-				|| (zonex + zonew) < jQuery.iDrag.dragged.dragCfg.nx 
-				|| zoney > (jQuery.iDrag.dragged.dragCfg.ny + jQuery.iDrag.dragged.dragCfg.oC.h) 
-				|| (zoney + zoneh) < jQuery.iDrag.dragged.dragCfg.ny
-				) ? true :false;
-	},
-	pointer : function (zonex, zoney, zonew, zoneh)
-	{
-		return	zonex < jQuery.iDrag.dragged.dragCfg.currentPointer.x
-				&& (zonex + zonew) > jQuery.iDrag.dragged.dragCfg.currentPointer.x 
-				&& zoney < jQuery.iDrag.dragged.dragCfg.currentPointer.y 
-				&& (zoney + zoneh) > jQuery.iDrag.dragged.dragCfg.currentPointer.y
-				? true :false;
-	},
-	overzone : false,
-	highlighted : {},
-	count : 0,
-	zones : {},
-	
-	highlight : function (elm)
-	{
-		if (jQuery.iDrag.dragged == null) {
-			return;
-		}
-		var i;
-		jQuery.iDrop.highlighted = {};
-		var oneIsSortable = false;
-		for (i in jQuery.iDrop.zones) {
-			if (jQuery.iDrop.zones[i] != null) {
-				var iEL = jQuery.iDrop.zones[i].get(0);
-				if (jQuery(jQuery.iDrag.dragged).is('.' + iEL.dropCfg.a)) {
-					if (iEL.dropCfg.m == false) {
-						iEL.dropCfg.p = jQuery.extend(
-							jQuery.iUtil.getPositionLite(iEL),
-							jQuery.iUtil.getSizeLite(iEL)
-						);//jQuery.iUtil.getPos(iEL);
-						iEL.dropCfg.m = true;
-					}
-					if (iEL.dropCfg.ac) {
-						jQuery.iDrop.zones[i].addClass(iEL.dropCfg.ac);
-					}
-					jQuery.iDrop.highlighted[i] = jQuery.iDrop.zones[i];
-					//if (jQuery.iSort && jQuery.iDrag.dragged.dragCfg.so) {
-					if (jQuery.iSort && iEL.dropCfg.s && jQuery.iDrag.dragged.dragCfg.so) {
-						iEL.dropCfg.el = jQuery('.' + iEL.dropCfg.a, iEL);
-						elm.style.display = 'none';
-						jQuery.iSort.measure(iEL);
-						iEL.dropCfg.os = jQuery.iSort.serialize(jQuery.attr(iEL, 'id')).hash;
-						elm.style.display = elm.dragCfg.oD;
-						oneIsSortable = true;
-					}
-					if (iEL.dropCfg.onActivate) {
-						iEL.dropCfg.onActivate.apply(jQuery.iDrop.zones[i].get(0), [jQuery.iDrag.dragged]);
-					}
-				}
-			}
-		}
-		//if (jQuery.iSort && jQuery.iDrag.dragged.dragCfg.so) {
-		if (oneIsSortable) {
-			jQuery.iSort.start();
-		}
-	},
-	/**
-	 * remeasure the droppable
-	 * 
-	 * useful when the positions/dimensions for droppables 
-	 * are changed while dragging a element
-	 * 
-	 * this works for sortables too but with a greate processor 
-	 * penality because remeasures each sort items too
-	 */
-	remeasure : function()
-	{
-		jQuery.iDrop.highlighted = {};
-		for (i in jQuery.iDrop.zones) {
-			if (jQuery.iDrop.zones[i] != null) {
-				var iEL = jQuery.iDrop.zones[i].get(0);
-				if (jQuery(jQuery.iDrag.dragged).is('.' + iEL.dropCfg.a)) {
-					iEL.dropCfg.p = jQuery.extend(
-						jQuery.iUtil.getPositionLite(iEL),
-						jQuery.iUtil.getSizeLite(iEL)
-					);
-					if (iEL.dropCfg.ac) {
-						jQuery.iDrop.zones[i].addClass(iEL.dropCfg.ac);
-					}
-					jQuery.iDrop.highlighted[i] = jQuery.iDrop.zones[i];
-					
-					if (jQuery.iSort && iEL.dropCfg.s && jQuery.iDrag.dragged.dragCfg.so) {
-						iEL.dropCfg.el = jQuery('.' + iEL.dropCfg.a, iEL);
-						elm.style.display = 'none';
-						jQuery.iSort.measure(iEL);
-						elm.style.display = elm.dragCfg.oD;
-					}
-				}
-			}
-		}
-	},
-	
-	checkhover : function (e)
-	{
-		if (jQuery.iDrag.dragged == null) {
-			return;
-		}
-		jQuery.iDrop.overzone = false;
-		var i;
-		var applyOnHover = false;
-		var hlt = 0;
-		for (i in jQuery.iDrop.highlighted)
-		{
-			var iEL = jQuery.iDrop.highlighted[i].get(0);
-			if ( 
-					jQuery.iDrop.overzone == false
-					 && 
-					jQuery.iDrop[iEL.dropCfg.t](
-					 	iEL.dropCfg.p.x, 
-						iEL.dropCfg.p.y, 
-						iEL.dropCfg.p.wb, 
-						iEL.dropCfg.p.hb
-					)
-					 
-			) {
-				if (iEL.dropCfg.hc && iEL.dropCfg.h == false) {
-					jQuery.iDrop.highlighted[i].addClass(iEL.dropCfg.hc);
-				}
-				//chec if onHover function has to be called
-				if (iEL.dropCfg.h == false &&iEL.dropCfg.onHover) {
-					applyOnHover = true;
-				}
-				iEL.dropCfg.h = true;
-				jQuery.iDrop.overzone = iEL;
-				//if(jQuery.iSort && jQuery.iDrag.dragged.dragCfg.so) {
-				if(jQuery.iSort && iEL.dropCfg.s && jQuery.iDrag.dragged.dragCfg.so) {
-					jQuery.iSort.helper.get(0).className = iEL.dropCfg.shc;
-					jQuery.iSort.checkhover(iEL);
-				}
-				hlt ++;
-			} else if(iEL.dropCfg.h == true) {
-				//onOut function
-				if (iEL.dropCfg.onOut) {
-					iEL.dropCfg.onOut.apply(iEL, [e, jQuery.iDrag.helper.get(0).firstChild, iEL.dropCfg.fx]);
-				}
-				if (iEL.dropCfg.hc) {
-					jQuery.iDrop.highlighted[i].removeClass(iEL.dropCfg.hc);
-				}
-				iEL.dropCfg.h = false;
-			}
-		}
-		if (jQuery.iSort && !jQuery.iDrop.overzone && jQuery.iDrag.dragged.so) {
-			jQuery.iSort.helper.get(0).style.display = 'none';
-			//jQuery('body').append(jQuery.iSort.helper.get(0));
-		}
-		//call onhover
-		if(applyOnHover) {
-			jQuery.iDrop.overzone.dropCfg.onHover.apply(jQuery.iDrop.overzone, [e, jQuery.iDrag.helper.get(0).firstChild]);
-		}
-	},
-	checkdrop : function (e)
-	{
-		var i;
-		for (i in jQuery.iDrop.highlighted) {
-			var iEL = jQuery.iDrop.highlighted[i].get(0);
-			if (iEL.dropCfg.ac) {
-				jQuery.iDrop.highlighted[i].removeClass(iEL.dropCfg.ac);
-			}
-			if (iEL.dropCfg.hc) {
-				jQuery.iDrop.highlighted[i].removeClass(iEL.dropCfg.hc);
-			}
-			if(iEL.dropCfg.s) {
-				jQuery.iSort.changed[jQuery.iSort.changed.length] = i;
-			}
-			if (iEL.dropCfg.onDrop && iEL.dropCfg.h == true) {
-				iEL.dropCfg.h = false;
-				iEL.dropCfg.onDrop.apply(iEL, [e, iEL.dropCfg.fx]);
-			}
-			iEL.dropCfg.m = false;
-			iEL.dropCfg.h  = false;
-		}
-		jQuery.iDrop.highlighted = {};
-	},
-	destroy : function()
-	{
-		return this.each(
-			function()
-			{
-				if (this.isDroppable) {
-					if (this.dropCfg.s) {
-						id = jQuery.attr(this,'id');
-						jQuery.iSort.collected[id] = null;
-						jQuery('.' + this.dropCfg.a, this).DraggableDestroy();
-					}
-					jQuery.iDrop.zones['d' + this.idsa] = null;
-					this.isDroppable = false;
-					this.f = null;
-				}
-			}
-		);
-	},
-	build : function (o)
-	{
-		return this.each(
-			function()
-			{
-				if (this.isDroppable == true || !o.accept || !jQuery.iUtil || !jQuery.iDrag){
-					return;
-				}
-				this.dropCfg = {
-					a : o.accept,
-					ac: o.activeclass||false, 
-					hc:	o.hoverclass||false,
-					shc: o.helperclass||false,
-					onDrop:	o.ondrop||o.onDrop||false,
-					onHover: o.onHover||o.onhover||false,
-					onOut: o.onOut||o.onout||false,
-					onActivate: o.onActivate||false,
-					t: o.tolerance && ( o.tolerance == 'fit' || o.tolerance == 'intersect') ? o.tolerance : 'pointer',
-					fx: o.fx ? o.fx : false,
-					m: false,
-					h: false
-				};
-				if (o.sortable == true && jQuery.iSort) {
-					id = jQuery.attr(this,'id');
-					jQuery.iSort.collected[id] = this.dropCfg.a;
-					this.dropCfg.s = true;
-					if(o.onChange) {
-						this.dropCfg.onChange = o.onChange;
-						this.dropCfg.os = jQuery.iSort.serialize(id).hash;
-					}
-				}
-				this.isDroppable = true;
-				this.idsa = parseInt(Math.random() * 10000);
-				jQuery.iDrop.zones['d' + this.idsa] = jQuery(this);
-				jQuery.iDrop.count ++;
-			}
-		);
-	}
-};
-
-/**
- * Destroy an existing droppable on a collection of elements
- * 
- * @name DroppableDestroy
- * @descr Destroy a droppable
- * @type jQuery
- * @cat Plugins/Interface
- * @example $('#drag2').DroppableDestroy();
- */
-
-jQuery.fn.extend(
-	{
-		DroppableDestroy : jQuery.iDrop.destroy,
-		Droppable : jQuery.iDrop.build
-	}
-);
-
- 
-/**
- * Recalculate all Droppables
- *
- * @name $.recallDroppables
- * @type jQuery
- * @cat Plugins/Interface
- * @example $.recallDroppable();
- */
-
-jQuery.recallDroppables = jQuery.iDrop.remeasure;
\ No newline at end of file