client/player/res/js/ui/jquery.ui.selectable.js
author ymh <ymh.work@gmail.com>
Fri, 06 Aug 2010 16:29:21 +0200
changeset 30 2f27e07f9974
parent 29 client/player/res.new/js/ui/jquery.ui.selectable.js@d969ba10156c
permissions -rw-r--r--
lowercase folder names
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
     1
/*
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
     2
 * jQuery UI Selectable 1.8.1
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
     3
 *
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
     4
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
     5
 * Dual licensed under the MIT (MIT-LICENSE.txt)
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
     6
 * and GPL (GPL-LICENSE.txt) licenses.
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
     7
 *
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
     8
 * http://docs.jquery.com/UI/Selectables
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
     9
 *
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    10
 * Depends:
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    11
 *	jquery.ui.core.js
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    12
 *	jquery.ui.mouse.js
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    13
 *	jquery.ui.widget.js
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    14
 */
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    15
(function($) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    16
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    17
$.widget("ui.selectable", $.ui.mouse, {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    18
	options: {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    19
		appendTo: 'body',
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    20
		autoRefresh: true,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    21
		distance: 0,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    22
		filter: '*',
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    23
		tolerance: 'touch'
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    24
	},
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    25
	_create: function() {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    26
		var self = this;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    27
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    28
		this.element.addClass("ui-selectable");
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    29
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    30
		this.dragged = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    31
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    32
		// cache selectee children based on filter
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    33
		var selectees;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    34
		this.refresh = function() {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    35
			selectees = $(self.options.filter, self.element[0]);
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    36
			selectees.each(function() {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    37
				var $this = $(this);
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    38
				var pos = $this.offset();
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    39
				$.data(this, "selectable-item", {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    40
					element: this,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    41
					$element: $this,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    42
					left: pos.left,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    43
					top: pos.top,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    44
					right: pos.left + $this.outerWidth(),
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    45
					bottom: pos.top + $this.outerHeight(),
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    46
					startselected: false,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    47
					selected: $this.hasClass('ui-selected'),
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    48
					selecting: $this.hasClass('ui-selecting'),
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    49
					unselecting: $this.hasClass('ui-unselecting')
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    50
				});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    51
			});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    52
		};
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    53
		this.refresh();
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    54
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    55
		this.selectees = selectees.addClass("ui-selectee");
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    56
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    57
		this._mouseInit();
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    58
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    59
		this.helper = $(document.createElement('div'))
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    60
			.css({border:'1px dotted black'})
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    61
			.addClass("ui-selectable-helper");
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    62
	},
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    63
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    64
	destroy: function() {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    65
		this.selectees
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    66
			.removeClass("ui-selectee")
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    67
			.removeData("selectable-item");
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    68
		this.element
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    69
			.removeClass("ui-selectable ui-selectable-disabled")
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    70
			.removeData("selectable")
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    71
			.unbind(".selectable");
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    72
		this._mouseDestroy();
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    73
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    74
		return this;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    75
	},
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    76
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    77
	_mouseStart: function(event) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    78
		var self = this;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    79
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    80
		this.opos = [event.pageX, event.pageY];
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    81
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    82
		if (this.options.disabled)
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    83
			return;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    84
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    85
		var options = this.options;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    86
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    87
		this.selectees = $(options.filter, this.element[0]);
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    88
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    89
		this._trigger("start", event);
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    90
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    91
		$(options.appendTo).append(this.helper);
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    92
		// position helper (lasso)
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    93
		this.helper.css({
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    94
			"z-index": 100,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    95
			"position": "absolute",
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    96
			"left": event.clientX,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    97
			"top": event.clientY,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    98
			"width": 0,
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
    99
			"height": 0
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   100
		});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   101
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   102
		if (options.autoRefresh) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   103
			this.refresh();
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   104
		}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   105
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   106
		this.selectees.filter('.ui-selected').each(function() {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   107
			var selectee = $.data(this, "selectable-item");
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   108
			selectee.startselected = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   109
			if (!event.metaKey) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   110
				selectee.$element.removeClass('ui-selected');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   111
				selectee.selected = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   112
				selectee.$element.addClass('ui-unselecting');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   113
				selectee.unselecting = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   114
				// selectable UNSELECTING callback
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   115
				self._trigger("unselecting", event, {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   116
					unselecting: selectee.element
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   117
				});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   118
			}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   119
		});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   120
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   121
		$(event.target).parents().andSelf().each(function() {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   122
			var selectee = $.data(this, "selectable-item");
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   123
			if (selectee) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   124
				selectee.$element.removeClass("ui-unselecting").addClass('ui-selecting');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   125
				selectee.unselecting = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   126
				selectee.selecting = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   127
				selectee.selected = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   128
				// selectable SELECTING callback
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   129
				self._trigger("selecting", event, {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   130
					selecting: selectee.element
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   131
				});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   132
				return false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   133
			}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   134
		});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   135
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   136
	},
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   137
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   138
	_mouseDrag: function(event) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   139
		var self = this;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   140
		this.dragged = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   141
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   142
		if (this.options.disabled)
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   143
			return;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   144
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   145
		var options = this.options;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   146
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   147
		var x1 = this.opos[0], y1 = this.opos[1], x2 = event.pageX, y2 = event.pageY;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   148
		if (x1 > x2) { var tmp = x2; x2 = x1; x1 = tmp; }
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   149
		if (y1 > y2) { var tmp = y2; y2 = y1; y1 = tmp; }
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   150
		this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   151
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   152
		this.selectees.each(function() {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   153
			var selectee = $.data(this, "selectable-item");
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   154
			//prevent helper from being selected if appendTo: selectable
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   155
			if (!selectee || selectee.element == self.element[0])
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   156
				return;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   157
			var hit = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   158
			if (options.tolerance == 'touch') {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   159
				hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   160
			} else if (options.tolerance == 'fit') {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   161
				hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   162
			}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   163
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   164
			if (hit) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   165
				// SELECT
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   166
				if (selectee.selected) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   167
					selectee.$element.removeClass('ui-selected');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   168
					selectee.selected = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   169
				}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   170
				if (selectee.unselecting) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   171
					selectee.$element.removeClass('ui-unselecting');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   172
					selectee.unselecting = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   173
				}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   174
				if (!selectee.selecting) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   175
					selectee.$element.addClass('ui-selecting');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   176
					selectee.selecting = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   177
					// selectable SELECTING callback
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   178
					self._trigger("selecting", event, {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   179
						selecting: selectee.element
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   180
					});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   181
				}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   182
			} else {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   183
				// UNSELECT
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   184
				if (selectee.selecting) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   185
					if (event.metaKey && selectee.startselected) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   186
						selectee.$element.removeClass('ui-selecting');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   187
						selectee.selecting = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   188
						selectee.$element.addClass('ui-selected');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   189
						selectee.selected = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   190
					} else {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   191
						selectee.$element.removeClass('ui-selecting');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   192
						selectee.selecting = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   193
						if (selectee.startselected) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   194
							selectee.$element.addClass('ui-unselecting');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   195
							selectee.unselecting = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   196
						}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   197
						// selectable UNSELECTING callback
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   198
						self._trigger("unselecting", event, {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   199
							unselecting: selectee.element
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   200
						});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   201
					}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   202
				}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   203
				if (selectee.selected) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   204
					if (!event.metaKey && !selectee.startselected) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   205
						selectee.$element.removeClass('ui-selected');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   206
						selectee.selected = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   207
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   208
						selectee.$element.addClass('ui-unselecting');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   209
						selectee.unselecting = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   210
						// selectable UNSELECTING callback
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   211
						self._trigger("unselecting", event, {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   212
							unselecting: selectee.element
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   213
						});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   214
					}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   215
				}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   216
			}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   217
		});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   218
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   219
		return false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   220
	},
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   221
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   222
	_mouseStop: function(event) {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   223
		var self = this;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   224
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   225
		this.dragged = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   226
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   227
		var options = this.options;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   228
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   229
		$('.ui-unselecting', this.element[0]).each(function() {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   230
			var selectee = $.data(this, "selectable-item");
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   231
			selectee.$element.removeClass('ui-unselecting');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   232
			selectee.unselecting = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   233
			selectee.startselected = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   234
			self._trigger("unselected", event, {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   235
				unselected: selectee.element
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   236
			});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   237
		});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   238
		$('.ui-selecting', this.element[0]).each(function() {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   239
			var selectee = $.data(this, "selectable-item");
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   240
			selectee.$element.removeClass('ui-selecting').addClass('ui-selected');
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   241
			selectee.selecting = false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   242
			selectee.selected = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   243
			selectee.startselected = true;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   244
			self._trigger("selected", event, {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   245
				selected: selectee.element
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   246
			});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   247
		});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   248
		this._trigger("stop", event);
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   249
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   250
		this.helper.remove();
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   251
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   252
		return false;
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   253
	}
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   254
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   255
});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   256
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   257
$.extend($.ui.selectable, {
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   258
	version: "1.8.1"
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   259
});
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   260
44c6b827825d Commit new player (version radio) with new path organisation
hurons
parents:
diff changeset
   261
})(jQuery);