client/player/js/ui/jquery.ui.sortable.js
author hurons
Wed, 09 Jun 2010 16:48:35 +0200
changeset 1 436d4791d7ac
child 57 3a3c15c462f8
permissions -rw-r--r--
premier version du player test de commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     1
/*
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     2
 * jQuery UI Sortable 1.8.1
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     3
 *
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     4
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     5
 * Dual licensed under the MIT (MIT-LICENSE.txt)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     6
 * and GPL (GPL-LICENSE.txt) licenses.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     7
 *
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     8
 * http://docs.jquery.com/UI/Sortables
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     9
 *
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    10
 * Depends:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    11
 *	jquery.ui.core.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    12
 *	jquery.ui.mouse.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    13
 *	jquery.ui.widget.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    14
 */
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    15
(function($) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    16
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    17
$.widget("ui.sortable", $.ui.mouse, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    18
	widgetEventPrefix: "sort",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    19
	options: {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    20
		appendTo: "parent",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    21
		axis: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    22
		connectWith: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    23
		containment: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    24
		cursor: 'auto',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    25
		cursorAt: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    26
		dropOnEmpty: true,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    27
		forcePlaceholderSize: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    28
		forceHelperSize: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    29
		grid: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    30
		handle: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    31
		helper: "original",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    32
		items: '> *',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    33
		opacity: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    34
		placeholder: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    35
		revert: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    36
		scroll: true,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    37
		scrollSensitivity: 20,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    38
		scrollSpeed: 20,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    39
		scope: "default",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    40
		tolerance: "intersect",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    41
		zIndex: 1000
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    42
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    43
	_create: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    44
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    45
		var o = this.options;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    46
		this.containerCache = {};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    47
		this.element.addClass("ui-sortable");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    48
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    49
		//Get the items
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    50
		this.refresh();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    51
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    52
		//Let's determine if the items are floating
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    53
		this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) : false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    54
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    55
		//Let's determine the parent's offset
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    56
		this.offset = this.element.offset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    57
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    58
		//Initialize mouse events for interaction
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    59
		this._mouseInit();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    60
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    61
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    62
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    63
	destroy: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    64
		this.element
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    65
			.removeClass("ui-sortable ui-sortable-disabled")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    66
			.removeData("sortable")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    67
			.unbind(".sortable");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    68
		this._mouseDestroy();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    69
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    70
		for ( var i = this.items.length - 1; i >= 0; i-- )
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    71
			this.items[i].item.removeData("sortable-item");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    72
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    73
		return this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    74
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    75
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    76
	_setOption: function(key, value){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    77
		if ( key === "disabled" ) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    78
			this.options[ key ] = value;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    79
	
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    80
			this.widget()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    81
				[ value ? "addClass" : "removeClass"]( "ui-sortable-disabled" );
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    82
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    83
			// Don't call widget base _setOption for disable as it adds ui-state-disabled class
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    84
			$.Widget.prototype._setOption.apply(self, arguments);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    85
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    86
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    87
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    88
	_mouseCapture: function(event, overrideHandle) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    89
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    90
		if (this.reverting) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    91
			return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    92
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    93
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    94
		if(this.options.disabled || this.options.type == 'static') return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    95
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    96
		//We have to refresh the items data once first
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    97
		this._refreshItems(event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    98
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    99
		//Find out if the clicked node (or one of its parents) is a actual item in this.items
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   100
		var currentItem = null, self = this, nodes = $(event.target).parents().each(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   101
			if($.data(this, 'sortable-item') == self) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   102
				currentItem = $(this);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   103
				return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   104
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   105
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   106
		if($.data(event.target, 'sortable-item') == self) currentItem = $(event.target);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   107
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   108
		if(!currentItem) return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   109
		if(this.options.handle && !overrideHandle) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   110
			var validHandle = false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   111
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   112
			$(this.options.handle, currentItem).find("*").andSelf().each(function() { if(this == event.target) validHandle = true; });
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   113
			if(!validHandle) return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   114
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   115
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   116
		this.currentItem = currentItem;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   117
		this._removeCurrentsFromItems();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   118
		return true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   119
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   120
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   121
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   122
	_mouseStart: function(event, overrideHandle, noActivation) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   123
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   124
		var o = this.options, self = this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   125
		this.currentContainer = this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   126
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   127
		//We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   128
		this.refreshPositions();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   129
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   130
		//Create and append the visible helper
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   131
		this.helper = this._createHelper(event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   132
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   133
		//Cache the helper size
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   134
		this._cacheHelperProportions();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   135
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   136
		/*
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   137
		 * - Position generation -
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   138
		 * This block generates everything position related - it's the core of draggables.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   139
		 */
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   140
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   141
		//Cache the margins of the original element
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   142
		this._cacheMargins();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   143
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   144
		//Get the next scrolling parent
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   145
		this.scrollParent = this.helper.scrollParent();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   146
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   147
		//The element's absolute position on the page minus margins
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   148
		this.offset = this.currentItem.offset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   149
		this.offset = {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   150
			top: this.offset.top - this.margins.top,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   151
			left: this.offset.left - this.margins.left
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   152
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   153
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   154
		// Only after we got the offset, we can change the helper's position to absolute
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   155
		// TODO: Still need to figure out a way to make relative sorting possible
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   156
		this.helper.css("position", "absolute");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   157
		this.cssPosition = this.helper.css("position");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   158
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   159
		$.extend(this.offset, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   160
			click: { //Where the click happened, relative to the element
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   161
				left: event.pageX - this.offset.left,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   162
				top: event.pageY - this.offset.top
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   163
			},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   164
			parent: this._getParentOffset(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   165
			relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   166
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   167
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   168
		//Generate the original position
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   169
		this.originalPosition = this._generatePosition(event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   170
		this.originalPageX = event.pageX;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   171
		this.originalPageY = event.pageY;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   172
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   173
		//Adjust the mouse offset relative to the helper if 'cursorAt' is supplied
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   174
		(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   175
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   176
		//Cache the former DOM position
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   177
		this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   178
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   179
		//If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   180
		if(this.helper[0] != this.currentItem[0]) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   181
			this.currentItem.hide();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   182
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   183
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   184
		//Create the placeholder
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   185
		this._createPlaceholder();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   186
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   187
		//Set a containment if given in the options
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   188
		if(o.containment)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   189
			this._setContainment();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   190
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   191
		if(o.cursor) { // cursor option
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   192
			if ($('body').css("cursor")) this._storedCursor = $('body').css("cursor");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   193
			$('body').css("cursor", o.cursor);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   194
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   195
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   196
		if(o.opacity) { // opacity option
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   197
			if (this.helper.css("opacity")) this._storedOpacity = this.helper.css("opacity");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   198
			this.helper.css("opacity", o.opacity);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   199
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   200
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   201
		if(o.zIndex) { // zIndex option
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   202
			if (this.helper.css("zIndex")) this._storedZIndex = this.helper.css("zIndex");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   203
			this.helper.css("zIndex", o.zIndex);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   204
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   205
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   206
		//Prepare scrolling
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   207
		if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   208
			this.overflowOffset = this.scrollParent.offset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   209
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   210
		//Call callbacks
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   211
		this._trigger("start", event, this._uiHash());
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   212
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   213
		//Recache the helper size
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   214
		if(!this._preserveHelperProportions)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   215
			this._cacheHelperProportions();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   216
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   217
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   218
		//Post 'activate' events to possible containers
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   219
		if(!noActivation) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   220
			 for (var i = this.containers.length - 1; i >= 0; i--) { this.containers[i]._trigger("activate", event, self._uiHash(this)); }
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   221
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   222
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   223
		//Prepare possible droppables
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   224
		if($.ui.ddmanager)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   225
			$.ui.ddmanager.current = this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   226
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   227
		if ($.ui.ddmanager && !o.dropBehaviour)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   228
			$.ui.ddmanager.prepareOffsets(this, event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   229
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   230
		this.dragging = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   231
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   232
		this.helper.addClass("ui-sortable-helper");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   233
		this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   234
		return true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   235
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   236
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   237
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   238
	_mouseDrag: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   239
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   240
		//Compute the helpers position
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   241
		this.position = this._generatePosition(event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   242
		this.positionAbs = this._convertPositionTo("absolute");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   243
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   244
		if (!this.lastPositionAbs) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   245
			this.lastPositionAbs = this.positionAbs;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   246
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   247
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   248
		//Do scrolling
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   249
		if(this.options.scroll) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   250
			var o = this.options, scrolled = false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   251
			if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   252
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   253
				if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   254
					this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   255
				else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   256
					this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   257
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   258
				if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   259
					this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   260
				else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   261
					this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   262
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   263
			} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   264
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   265
				if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   266
					scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   267
				else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   268
					scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   269
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   270
				if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   271
					scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   272
				else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   273
					scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   274
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   275
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   276
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   277
			if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   278
				$.ui.ddmanager.prepareOffsets(this, event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   279
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   280
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   281
		//Regenerate the absolute position used for position checks
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   282
		this.positionAbs = this._convertPositionTo("absolute");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   283
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   284
		//Set the helper position
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   285
		if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   286
		if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   287
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   288
		//Rearrange
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   289
		for (var i = this.items.length - 1; i >= 0; i--) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   290
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   291
			//Cache variables and intersection, continue if no intersection
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   292
			var item = this.items[i], itemElement = item.item[0], intersection = this._intersectsWithPointer(item);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   293
			if (!intersection) continue;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   294
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   295
			if(itemElement != this.currentItem[0] //cannot intersect with itself
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   296
				&&	this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != itemElement //no useless actions that have been done before
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   297
				&&	!$.ui.contains(this.placeholder[0], itemElement) //no action if the item moved is the parent of the item checked
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   298
				&& (this.options.type == 'semi-dynamic' ? !$.ui.contains(this.element[0], itemElement) : true)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   299
				//&& itemElement.parentNode == this.placeholder[0].parentNode // only rearrange items within the same container
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   300
			) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   301
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   302
				this.direction = intersection == 1 ? "down" : "up";
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   303
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   304
				if (this.options.tolerance == "pointer" || this._intersectsWithSides(item)) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   305
					this._rearrange(event, item);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   306
				} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   307
					break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   308
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   309
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   310
				this._trigger("change", event, this._uiHash());
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   311
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   312
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   313
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   314
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   315
		//Post events to containers
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   316
		this._contactContainers(event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   317
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   318
		//Interconnect with droppables
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   319
		if($.ui.ddmanager) $.ui.ddmanager.drag(this, event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   320
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   321
		//Call callbacks
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   322
		this._trigger('sort', event, this._uiHash());
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   323
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   324
		this.lastPositionAbs = this.positionAbs;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   325
		return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   326
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   327
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   328
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   329
	_mouseStop: function(event, noPropagation) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   330
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   331
		if(!event) return;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   332
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   333
		//If we are using droppables, inform the manager about the drop
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   334
		if ($.ui.ddmanager && !this.options.dropBehaviour)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   335
			$.ui.ddmanager.drop(this, event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   336
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   337
		if(this.options.revert) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   338
			var self = this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   339
			var cur = self.placeholder.offset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   340
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   341
			self.reverting = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   342
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   343
			$(this.helper).animate({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   344
				left: cur.left - this.offset.parent.left - self.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   345
				top: cur.top - this.offset.parent.top - self.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   346
			}, parseInt(this.options.revert, 10) || 500, function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   347
				self._clear(event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   348
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   349
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   350
			this._clear(event, noPropagation);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   351
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   352
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   353
		return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   354
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   355
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   356
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   357
	cancel: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   358
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   359
		var self = this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   360
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   361
		if(this.dragging) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   362
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   363
			this._mouseUp();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   364
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   365
			if(this.options.helper == "original")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   366
				this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   367
			else
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   368
				this.currentItem.show();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   369
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   370
			//Post deactivating events to containers
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   371
			for (var i = this.containers.length - 1; i >= 0; i--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   372
				this.containers[i]._trigger("deactivate", null, self._uiHash(this));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   373
				if(this.containers[i].containerCache.over) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   374
					this.containers[i]._trigger("out", null, self._uiHash(this));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   375
					this.containers[i].containerCache.over = 0;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   376
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   377
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   378
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   379
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   380
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   381
		//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   382
		if(this.placeholder[0].parentNode) this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   383
		if(this.options.helper != "original" && this.helper && this.helper[0].parentNode) this.helper.remove();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   384
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   385
		$.extend(this, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   386
			helper: null,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   387
			dragging: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   388
			reverting: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   389
			_noFinalSort: null
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   390
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   391
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   392
		if(this.domPosition.prev) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   393
			$(this.domPosition.prev).after(this.currentItem);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   394
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   395
			$(this.domPosition.parent).prepend(this.currentItem);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   396
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   397
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   398
		return this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   399
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   400
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   401
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   402
	serialize: function(o) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   403
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   404
		var items = this._getItemsAsjQuery(o && o.connected);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   405
		var str = []; o = o || {};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   406
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   407
		$(items).each(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   408
			var res = ($(o.item || this).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   409
			if(res) str.push((o.key || res[1]+'[]')+'='+(o.key && o.expression ? res[1] : res[2]));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   410
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   411
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   412
		return str.join('&');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   413
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   414
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   415
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   416
	toArray: function(o) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   417
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   418
		var items = this._getItemsAsjQuery(o && o.connected);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   419
		var ret = []; o = o || {};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   420
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   421
		items.each(function() { ret.push($(o.item || this).attr(o.attribute || 'id') || ''); });
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   422
		return ret;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   423
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   424
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   425
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   426
	/* Be careful with the following core functions */
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   427
	_intersectsWith: function(item) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   428
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   429
		var x1 = this.positionAbs.left,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   430
			x2 = x1 + this.helperProportions.width,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   431
			y1 = this.positionAbs.top,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   432
			y2 = y1 + this.helperProportions.height;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   433
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   434
		var l = item.left,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   435
			r = l + item.width,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   436
			t = item.top,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   437
			b = t + item.height;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   438
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   439
		var dyClick = this.offset.click.top,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   440
			dxClick = this.offset.click.left;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   441
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   442
		var isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   443
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   444
		if(	   this.options.tolerance == "pointer"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   445
			|| this.options.forcePointerForContainers
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   446
			|| (this.options.tolerance != "pointer" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   447
		) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   448
			return isOverElement;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   449
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   450
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   451
			return (l < x1 + (this.helperProportions.width / 2) // Right Half
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   452
				&& x2 - (this.helperProportions.width / 2) < r // Left Half
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   453
				&& t < y1 + (this.helperProportions.height / 2) // Bottom Half
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   454
				&& y2 - (this.helperProportions.height / 2) < b ); // Top Half
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   455
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   456
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   457
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   458
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   459
	_intersectsWithPointer: function(item) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   460
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   461
		var isOverElementHeight = $.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   462
			isOverElementWidth = $.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   463
			isOverElement = isOverElementHeight && isOverElementWidth,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   464
			verticalDirection = this._getDragVerticalDirection(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   465
			horizontalDirection = this._getDragHorizontalDirection();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   466
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   467
		if (!isOverElement)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   468
			return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   469
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   470
		return this.floating ?
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   471
			( ((horizontalDirection && horizontalDirection == "right") || verticalDirection == "down") ? 2 : 1 )
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   472
			: ( verticalDirection && (verticalDirection == "down" ? 2 : 1) );
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   473
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   474
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   475
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   476
	_intersectsWithSides: function(item) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   477
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   478
		var isOverBottomHalf = $.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   479
			isOverRightHalf = $.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   480
			verticalDirection = this._getDragVerticalDirection(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   481
			horizontalDirection = this._getDragHorizontalDirection();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   482
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   483
		if (this.floating && horizontalDirection) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   484
			return ((horizontalDirection == "right" && isOverRightHalf) || (horizontalDirection == "left" && !isOverRightHalf));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   485
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   486
			return verticalDirection && ((verticalDirection == "down" && isOverBottomHalf) || (verticalDirection == "up" && !isOverBottomHalf));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   487
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   488
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   489
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   490
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   491
	_getDragVerticalDirection: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   492
		var delta = this.positionAbs.top - this.lastPositionAbs.top;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   493
		return delta != 0 && (delta > 0 ? "down" : "up");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   494
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   495
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   496
	_getDragHorizontalDirection: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   497
		var delta = this.positionAbs.left - this.lastPositionAbs.left;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   498
		return delta != 0 && (delta > 0 ? "right" : "left");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   499
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   500
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   501
	refresh: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   502
		this._refreshItems(event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   503
		this.refreshPositions();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   504
		return this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   505
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   506
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   507
	_connectWith: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   508
		var options = this.options;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   509
		return options.connectWith.constructor == String
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   510
			? [options.connectWith]
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   511
			: options.connectWith;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   512
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   513
	
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   514
	_getItemsAsjQuery: function(connected) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   515
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   516
		var self = this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   517
		var items = [];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   518
		var queries = [];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   519
		var connectWith = this._connectWith();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   520
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   521
		if(connectWith && connected) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   522
			for (var i = connectWith.length - 1; i >= 0; i--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   523
				var cur = $(connectWith[i]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   524
				for (var j = cur.length - 1; j >= 0; j--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   525
					var inst = $.data(cur[j], 'sortable');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   526
					if(inst && inst != this && !inst.options.disabled) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   527
						queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'), inst]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   528
					}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   529
				};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   530
			};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   531
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   532
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   533
		queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'), this]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   534
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   535
		for (var i = queries.length - 1; i >= 0; i--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   536
			queries[i][0].each(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   537
				items.push(this);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   538
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   539
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   540
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   541
		return $(items);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   542
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   543
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   544
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   545
	_removeCurrentsFromItems: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   546
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   547
		var list = this.currentItem.find(":data(sortable-item)");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   548
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   549
		for (var i=0; i < this.items.length; i++) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   550
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   551
			for (var j=0; j < list.length; j++) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   552
				if(list[j] == this.items[i].item[0])
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   553
					this.items.splice(i,1);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   554
			};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   555
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   556
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   557
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   558
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   559
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   560
	_refreshItems: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   561
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   562
		this.items = [];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   563
		this.containers = [this];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   564
		var items = this.items;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   565
		var self = this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   566
		var queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   567
		var connectWith = this._connectWith();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   568
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   569
		if(connectWith) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   570
			for (var i = connectWith.length - 1; i >= 0; i--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   571
				var cur = $(connectWith[i]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   572
				for (var j = cur.length - 1; j >= 0; j--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   573
					var inst = $.data(cur[j], 'sortable');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   574
					if(inst && inst != this && !inst.options.disabled) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   575
						queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   576
						this.containers.push(inst);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   577
					}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   578
				};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   579
			};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   580
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   581
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   582
		for (var i = queries.length - 1; i >= 0; i--) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   583
			var targetData = queries[i][1];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   584
			var _queries = queries[i][0];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   585
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   586
			for (var j=0, queriesLength = _queries.length; j < queriesLength; j++) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   587
				var item = $(_queries[j]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   588
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   589
				item.data('sortable-item', targetData); // Data for target checking (mouse manager)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   590
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   591
				items.push({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   592
					item: item,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   593
					instance: targetData,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   594
					width: 0, height: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   595
					left: 0, top: 0
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   596
				});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   597
			};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   598
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   599
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   600
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   601
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   602
	refreshPositions: function(fast) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   603
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   604
		//This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   605
		if(this.offsetParent && this.helper) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   606
			this.offset.parent = this._getParentOffset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   607
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   608
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   609
		for (var i = this.items.length - 1; i >= 0; i--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   610
			var item = this.items[i];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   611
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   612
			var t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   613
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   614
			if (!fast) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   615
				item.width = t.outerWidth();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   616
				item.height = t.outerHeight();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   617
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   618
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   619
			var p = t.offset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   620
			item.left = p.left;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   621
			item.top = p.top;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   622
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   623
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   624
		if(this.options.custom && this.options.custom.refreshContainers) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   625
			this.options.custom.refreshContainers.call(this);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   626
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   627
			for (var i = this.containers.length - 1; i >= 0; i--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   628
				var p = this.containers[i].element.offset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   629
				this.containers[i].containerCache.left = p.left;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   630
				this.containers[i].containerCache.top = p.top;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   631
				this.containers[i].containerCache.width	= this.containers[i].element.outerWidth();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   632
				this.containers[i].containerCache.height = this.containers[i].element.outerHeight();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   633
			};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   634
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   635
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   636
		return this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   637
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   638
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   639
	_createPlaceholder: function(that) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   640
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   641
		var self = that || this, o = self.options;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   642
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   643
		if(!o.placeholder || o.placeholder.constructor == String) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   644
			var className = o.placeholder;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   645
			o.placeholder = {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   646
				element: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   647
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   648
					var el = $(document.createElement(self.currentItem[0].nodeName))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   649
						.addClass(className || self.currentItem[0].className+" ui-sortable-placeholder")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   650
						.removeClass("ui-sortable-helper")[0];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   651
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   652
					if(!className)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   653
						el.style.visibility = "hidden";
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   654
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   655
					return el;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   656
				},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   657
				update: function(container, p) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   658
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   659
					// 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   660
					// 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   661
					if(className && !o.forcePlaceholderSize) return;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   662
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   663
					//If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   664
					if(!p.height()) { p.height(self.currentItem.innerHeight() - parseInt(self.currentItem.css('paddingTop')||0, 10) - parseInt(self.currentItem.css('paddingBottom')||0, 10)); };
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   665
					if(!p.width()) { p.width(self.currentItem.innerWidth() - parseInt(self.currentItem.css('paddingLeft')||0, 10) - parseInt(self.currentItem.css('paddingRight')||0, 10)); };
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   666
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   667
			};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   668
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   669
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   670
		//Create the placeholder
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   671
		self.placeholder = $(o.placeholder.element.call(self.element, self.currentItem));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   672
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   673
		//Append it after the actual current item
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   674
		self.currentItem.after(self.placeholder);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   675
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   676
		//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   677
		o.placeholder.update(self, self.placeholder);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   678
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   679
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   680
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   681
	_contactContainers: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   682
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   683
		// get innermost container that intersects with item 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   684
		var innermostContainer = null, innermostIndex = null;		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   685
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   686
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   687
		for (var i = this.containers.length - 1; i >= 0; i--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   688
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   689
			// never consider a container that's located within the item itself 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   690
			if($.ui.contains(this.currentItem[0], this.containers[i].element[0]))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   691
				continue;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   692
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   693
			if(this._intersectsWith(this.containers[i].containerCache)) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   694
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   695
				// if we've already found a container and it's more "inner" than this, then continue 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   696
				if(innermostContainer && $.ui.contains(this.containers[i].element[0], innermostContainer.element[0]))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   697
					continue;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   698
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   699
				innermostContainer = this.containers[i]; 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   700
				innermostIndex = i;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   701
					
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   702
			} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   703
				// container doesn't intersect. trigger "out" event if necessary 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   704
				if(this.containers[i].containerCache.over) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   705
					this.containers[i]._trigger("out", event, this._uiHash(this));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   706
					this.containers[i].containerCache.over = 0;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   707
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   708
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   709
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   710
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   711
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   712
		// if no intersecting containers found, return 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   713
		if(!innermostContainer) return; 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   714
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   715
		// move the item into the container if it's not there already
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   716
		if(this.containers.length === 1) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   717
			this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   718
			this.containers[innermostIndex].containerCache.over = 1;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   719
		} else if(this.currentContainer != this.containers[innermostIndex]) { 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   720
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   721
			//When entering a new container, we will find the item with the least distance and append our item near it 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   722
			var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[innermostIndex].floating ? 'left' : 'top']; 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   723
			for (var j = this.items.length - 1; j >= 0; j--) { 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   724
				if(!$.ui.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) continue; 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   725
				var cur = this.items[j][this.containers[innermostIndex].floating ? 'left' : 'top']; 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   726
				if(Math.abs(cur - base) < dist) { 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   727
					dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j]; 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   728
				} 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   729
			} 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   730
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   731
			if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   732
				return; 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   733
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   734
			this.currentContainer = this.containers[innermostIndex]; 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   735
			itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true); 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   736
			this._trigger("change", event, this._uiHash()); 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   737
			this.containers[innermostIndex]._trigger("change", event, this._uiHash(this)); 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   738
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   739
			//Update the placeholder 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   740
			this.options.placeholder.update(this.currentContainer, this.placeholder); 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   741
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   742
			this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   743
			this.containers[innermostIndex].containerCache.over = 1;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   744
		} 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   745
	
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   746
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   747
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   748
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   749
	_createHelper: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   750
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   751
		var o = this.options;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   752
		var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper == 'clone' ? this.currentItem.clone() : this.currentItem);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   753
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   754
		if(!helper.parents('body').length) //Add the helper to the DOM if that didn't happen already
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   755
			$(o.appendTo != 'parent' ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   756
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   757
		if(helper[0] == this.currentItem[0])
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   758
			this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") };
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   759
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   760
		if(helper[0].style.width == '' || o.forceHelperSize) helper.width(this.currentItem.width());
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   761
		if(helper[0].style.height == '' || o.forceHelperSize) helper.height(this.currentItem.height());
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   762
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   763
		return helper;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   764
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   765
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   766
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   767
	_adjustOffsetFromHelper: function(obj) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   768
		if (typeof obj == 'string') {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   769
			obj = obj.split(' ');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   770
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   771
		if ($.isArray(obj)) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   772
			obj = {left: +obj[0], top: +obj[1] || 0};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   773
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   774
		if ('left' in obj) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   775
			this.offset.click.left = obj.left + this.margins.left;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   776
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   777
		if ('right' in obj) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   778
			this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   779
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   780
		if ('top' in obj) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   781
			this.offset.click.top = obj.top + this.margins.top;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   782
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   783
		if ('bottom' in obj) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   784
			this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   785
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   786
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   787
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   788
	_getParentOffset: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   789
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   790
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   791
		//Get the offsetParent and cache its position
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   792
		this.offsetParent = this.helper.offsetParent();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   793
		var po = this.offsetParent.offset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   794
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   795
		// This is a special case where we need to modify a offset calculated on start, since the following happened:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   796
		// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   797
		// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   798
		//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   799
		if(this.cssPosition == 'absolute' && this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   800
			po.left += this.scrollParent.scrollLeft();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   801
			po.top += this.scrollParent.scrollTop();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   802
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   803
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   804
		if((this.offsetParent[0] == document.body) //This needs to be actually done for all browsers, since pageX/pageY includes this information
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   805
		|| (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == 'html' && $.browser.msie)) //Ugly IE fix
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   806
			po = { top: 0, left: 0 };
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   807
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   808
		return {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   809
			top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   810
			left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   811
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   812
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   813
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   814
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   815
	_getRelativeOffset: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   816
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   817
		if(this.cssPosition == "relative") {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   818
			var p = this.currentItem.position();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   819
			return {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   820
				top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   821
				left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   822
			};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   823
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   824
			return { top: 0, left: 0 };
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   825
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   826
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   827
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   828
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   829
	_cacheMargins: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   830
		this.margins = {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   831
			left: (parseInt(this.currentItem.css("marginLeft"),10) || 0),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   832
			top: (parseInt(this.currentItem.css("marginTop"),10) || 0)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   833
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   834
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   835
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   836
	_cacheHelperProportions: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   837
		this.helperProportions = {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   838
			width: this.helper.outerWidth(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   839
			height: this.helper.outerHeight()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   840
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   841
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   842
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   843
	_setContainment: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   844
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   845
		var o = this.options;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   846
		if(o.containment == 'parent') o.containment = this.helper[0].parentNode;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   847
		if(o.containment == 'document' || o.containment == 'window') this.containment = [
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   848
			0 - this.offset.relative.left - this.offset.parent.left,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   849
			0 - this.offset.relative.top - this.offset.parent.top,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   850
			$(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   851
			($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   852
		];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   853
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   854
		if(!(/^(document|window|parent)$/).test(o.containment)) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   855
			var ce = $(o.containment)[0];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   856
			var co = $(o.containment).offset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   857
			var over = ($(ce).css("overflow") != 'hidden');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   858
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   859
			this.containment = [
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   860
				co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   861
				co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   862
				co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   863
				co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   864
			];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   865
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   866
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   867
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   868
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   869
	_convertPositionTo: function(d, pos) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   870
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   871
		if(!pos) pos = this.position;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   872
		var mod = d == "absolute" ? 1 : -1;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   873
		var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   874
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   875
		return {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   876
			top: (
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   877
				pos.top																	// The absolute mouse position
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   878
				+ this.offset.relative.top * mod										// Only for relative positioned nodes: Relative offset from element to offset parent
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   879
				+ this.offset.parent.top * mod											// The offsetParent's offset without borders (offset + border)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   880
				- ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   881
			),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   882
			left: (
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   883
				pos.left																// The absolute mouse position
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   884
				+ this.offset.relative.left * mod										// Only for relative positioned nodes: Relative offset from element to offset parent
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   885
				+ this.offset.parent.left * mod											// The offsetParent's offset without borders (offset + border)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   886
				- ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   887
			)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   888
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   889
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   890
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   891
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   892
	_generatePosition: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   893
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   894
		var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   895
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   896
		// This is another very weird special case that only happens for relative elements:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   897
		// 1. If the css position is relative
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   898
		// 2. and the scroll parent is the document or similar to the offset parent
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   899
		// we have to refresh the relative offset during the scroll so there are no jumps
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   900
		if(this.cssPosition == 'relative' && !(this.scrollParent[0] != document && this.scrollParent[0] != this.offsetParent[0])) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   901
			this.offset.relative = this._getRelativeOffset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   902
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   903
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   904
		var pageX = event.pageX;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   905
		var pageY = event.pageY;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   906
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   907
		/*
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   908
		 * - Position constraining -
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   909
		 * Constrain the position to a mix of grid, containment.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   910
		 */
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   911
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   912
		if(this.originalPosition) { //If we are not dragging yet, we won't check for options
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   913
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   914
			if(this.containment) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   915
				if(event.pageX - this.offset.click.left < this.containment[0]) pageX = this.containment[0] + this.offset.click.left;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   916
				if(event.pageY - this.offset.click.top < this.containment[1]) pageY = this.containment[1] + this.offset.click.top;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   917
				if(event.pageX - this.offset.click.left > this.containment[2]) pageX = this.containment[2] + this.offset.click.left;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   918
				if(event.pageY - this.offset.click.top > this.containment[3]) pageY = this.containment[3] + this.offset.click.top;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   919
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   920
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   921
			if(o.grid) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   922
				var top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   923
				pageY = this.containment ? (!(top - this.offset.click.top < this.containment[1] || top - this.offset.click.top > this.containment[3]) ? top : (!(top - this.offset.click.top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   924
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   925
				var left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   926
				pageX = this.containment ? (!(left - this.offset.click.left < this.containment[0] || left - this.offset.click.left > this.containment[2]) ? left : (!(left - this.offset.click.left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   927
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   928
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   929
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   930
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   931
		return {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   932
			top: (
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   933
				pageY																// The absolute mouse position
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   934
				- this.offset.click.top													// Click offset (relative to the element)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   935
				- this.offset.relative.top												// Only for relative positioned nodes: Relative offset from element to offset parent
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   936
				- this.offset.parent.top												// The offsetParent's offset without borders (offset + border)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   937
				+ ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   938
			),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   939
			left: (
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   940
				pageX																// The absolute mouse position
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   941
				- this.offset.click.left												// Click offset (relative to the element)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   942
				- this.offset.relative.left												// Only for relative positioned nodes: Relative offset from element to offset parent
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   943
				- this.offset.parent.left												// The offsetParent's offset without borders (offset + border)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   944
				+ ($.browser.safari && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   945
			)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   946
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   947
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   948
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   949
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   950
	_rearrange: function(event, i, a, hardRefresh) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   951
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   952
		a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction == 'down' ? i.item[0] : i.item[0].nextSibling));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   953
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   954
		//Various things done here to improve the performance:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   955
		// 1. we create a setTimeout, that calls refreshPositions
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   956
		// 2. on the instance, we have a counter variable, that get's higher after every append
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   957
		// 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   958
		// 4. this lets only the last addition to the timeout stack through
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   959
		this.counter = this.counter ? ++this.counter : 1;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   960
		var self = this, counter = this.counter;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   961
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   962
		window.setTimeout(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   963
			if(counter == self.counter) self.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   964
		},0);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   965
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   966
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   967
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   968
	_clear: function(event, noPropagation) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   969
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   970
		this.reverting = false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   971
		// We delay all events that have to be triggered to after the point where the placeholder has been removed and
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   972
		// everything else normalized again
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   973
		var delayedTriggers = [], self = this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   974
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   975
		// We first have to update the dom position of the actual currentItem
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   976
		// Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   977
		if(!this._noFinalSort && this.currentItem[0].parentNode) this.placeholder.before(this.currentItem);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   978
		this._noFinalSort = null;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   979
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   980
		if(this.helper[0] == this.currentItem[0]) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   981
			for(var i in this._storedCSS) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   982
				if(this._storedCSS[i] == 'auto' || this._storedCSS[i] == 'static') this._storedCSS[i] = '';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   983
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   984
			this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   985
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   986
			this.currentItem.show();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   987
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   988
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   989
		if(this.fromOutside && !noPropagation) delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); });
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   990
		if((this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !noPropagation) delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   991
		if(!$.ui.contains(this.element[0], this.currentItem[0])) { //Node was moved out of the current element
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   992
			if(!noPropagation) delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); });
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   993
			for (var i = this.containers.length - 1; i >= 0; i--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   994
				if($.ui.contains(this.containers[i].element[0], this.currentItem[0]) && !noPropagation) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   995
					delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); };  }).call(this, this.containers[i]));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   996
					delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this));  }; }).call(this, this.containers[i]));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   997
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   998
			};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   999
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1000
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1001
		//Post events to containers
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1002
		for (var i = this.containers.length - 1; i >= 0; i--){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1003
			if(!noPropagation) delayedTriggers.push((function(c) { return function(event) { c._trigger("deactivate", event, this._uiHash(this)); };  }).call(this, this.containers[i]));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1004
			if(this.containers[i].containerCache.over) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1005
				delayedTriggers.push((function(c) { return function(event) { c._trigger("out", event, this._uiHash(this)); };  }).call(this, this.containers[i]));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1006
				this.containers[i].containerCache.over = 0;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1007
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1008
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1009
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1010
		//Do what was originally in plugins
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1011
		if(this._storedCursor) $('body').css("cursor", this._storedCursor); //Reset cursor
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1012
		if(this._storedOpacity) this.helper.css("opacity", this._storedOpacity); //Reset opacity
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1013
		if(this._storedZIndex) this.helper.css("zIndex", this._storedZIndex == 'auto' ? '' : this._storedZIndex); //Reset z-index
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1014
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1015
		this.dragging = false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1016
		if(this.cancelHelperRemoval) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1017
			if(!noPropagation) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1018
				this._trigger("beforeStop", event, this._uiHash());
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1019
				for (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1020
				this._trigger("stop", event, this._uiHash());
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1021
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1022
			return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1023
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1024
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1025
		if(!noPropagation) this._trigger("beforeStop", event, this._uiHash());
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1026
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1027
		//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1028
		this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1029
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1030
		if(this.helper[0] != this.currentItem[0]) this.helper.remove(); this.helper = null;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1031
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1032
		if(!noPropagation) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1033
			for (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1034
			this._trigger("stop", event, this._uiHash());
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1035
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1036
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1037
		this.fromOutside = false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1038
		return true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1039
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1040
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1041
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1042
	_trigger: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1043
		if ($.Widget.prototype._trigger.apply(this, arguments) === false) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1044
			this.cancel();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1045
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1046
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1047
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1048
	_uiHash: function(inst) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1049
		var self = inst || this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1050
		return {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1051
			helper: self.helper,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1052
			placeholder: self.placeholder || $([]),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1053
			position: self.position,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1054
			originalPosition: self.originalPosition,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1055
			offset: self.positionAbs,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1056
			item: self.currentItem,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1057
			sender: inst ? inst.element : null
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1058
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1059
	}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1060
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1061
});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1062
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1063
$.extend($.ui.sortable, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1064
	version: "1.8.1"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1065
});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1066
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
  1067
})(jQuery);