]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - resources/lib/jquery.ui/jquery.ui.selectable.js
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / resources / lib / jquery.ui / jquery.ui.selectable.js
similarity index 82%
rename from resources/jquery.ui/jquery.ui.selectable.js
rename to resources/lib/jquery.ui/jquery.ui.selectable.js
index bc707d36ff925855e4fe886e06046f5e69b8cc28..3f27b7320b0f697e4a2075ea19eff0a3bb756ce9 100644 (file)
@@ -1,21 +1,22 @@
-
-/*
- * jQuery UI Selectable 1.8.2
+/*!
+ * jQuery UI Selectable 1.9.2
+ * http://jqueryui.com
  *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
+ * Copyright 2012 jQuery Foundation and other contributors
+ * Released under the MIT license.
+ * http://jquery.org/license
  *
- * http://docs.jquery.com/UI/Selectables
+ * http://api.jqueryui.com/selectable/
  *
  * Depends:
  *     jquery.ui.core.js
  *     jquery.ui.mouse.js
  *     jquery.ui.widget.js
  */
-(function($) {
+(function( $, undefined ) {
 
 $.widget("ui.selectable", $.ui.mouse, {
+       version: "1.9.2",
        options: {
                appendTo: 'body',
                autoRefresh: true,
@@ -24,7 +25,7 @@ $.widget("ui.selectable", $.ui.mouse, {
                tolerance: 'touch'
        },
        _create: function() {
-               var self = this;
+               var that = this;
 
                this.element.addClass("ui-selectable");
 
@@ -33,7 +34,8 @@ $.widget("ui.selectable", $.ui.mouse, {
                // cache selectee children based on filter
                var selectees;
                this.refresh = function() {
-                       selectees = $(self.options.filter, self.element[0]);
+                       selectees = $(that.options.filter, that.element[0]);
+                       selectees.addClass("ui-selectee");
                        selectees.each(function() {
                                var $this = $(this);
                                var pos = $this.offset();
@@ -60,21 +62,17 @@ $.widget("ui.selectable", $.ui.mouse, {
                this.helper = $("<div class='ui-selectable-helper'></div>");
        },
 
-       destroy: function() {
+       _destroy: function() {
                this.selectees
                        .removeClass("ui-selectee")
                        .removeData("selectable-item");
                this.element
-                       .removeClass("ui-selectable ui-selectable-disabled")
-                       .removeData("selectable")
-                       .unbind(".selectable");
+                       .removeClass("ui-selectable ui-selectable-disabled");
                this._mouseDestroy();
-
-               return this;
        },
 
        _mouseStart: function(event) {
-               var self = this;
+               var that = this;
 
                this.opos = [event.pageX, event.pageY];
 
@@ -90,8 +88,6 @@ $.widget("ui.selectable", $.ui.mouse, {
                $(options.appendTo).append(this.helper);
                // position helper (lasso)
                this.helper.css({
-                       "z-index": 100,
-                       "position": "absolute",
                        "left": event.clientX,
                        "top": event.clientY,
                        "width": 0,
@@ -105,13 +101,13 @@ $.widget("ui.selectable", $.ui.mouse, {
                this.selectees.filter('.ui-selected').each(function() {
                        var selectee = $.data(this, "selectable-item");
                        selectee.startselected = true;
-                       if (!event.metaKey) {
+                       if (!event.metaKey && !event.ctrlKey) {
                                selectee.$element.removeClass('ui-selected');
                                selectee.selected = false;
                                selectee.$element.addClass('ui-unselecting');
                                selectee.unselecting = true;
                                // selectable UNSELECTING callback
-                               self._trigger("unselecting", event, {
+                               that._trigger("unselecting", event, {
                                        unselecting: selectee.element
                                });
                        }
@@ -120,7 +116,7 @@ $.widget("ui.selectable", $.ui.mouse, {
                $(event.target).parents().andSelf().each(function() {
                        var selectee = $.data(this, "selectable-item");
                        if (selectee) {
-                               var doSelect = !event.metaKey || !selectee.$element.hasClass('ui-selected');
+                               var doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass('ui-selected');
                                selectee.$element
                                        .removeClass(doSelect ? "ui-unselecting" : "ui-selected")
                                        .addClass(doSelect ? "ui-selecting" : "ui-unselecting");
@@ -129,11 +125,11 @@ $.widget("ui.selectable", $.ui.mouse, {
                                selectee.selected = doSelect;
                                // selectable (UN)SELECTING callback
                                if (doSelect) {
-                                       self._trigger("selecting", event, {
+                                       that._trigger("selecting", event, {
                                                selecting: selectee.element
                                        });
                                } else {
-                                       self._trigger("unselecting", event, {
+                                       that._trigger("unselecting", event, {
                                                unselecting: selectee.element
                                        });
                                }
@@ -144,7 +140,7 @@ $.widget("ui.selectable", $.ui.mouse, {
        },
 
        _mouseDrag: function(event) {
-               var self = this;
+               var that = this;
                this.dragged = true;
 
                if (this.options.disabled)
@@ -160,7 +156,7 @@ $.widget("ui.selectable", $.ui.mouse, {
                this.selectees.each(function() {
                        var selectee = $.data(this, "selectable-item");
                        //prevent helper from being selected if appendTo: selectable
-                       if (!selectee || selectee.element == self.element[0])
+                       if (!selectee || selectee.element == that.element[0])
                                return;
                        var hit = false;
                        if (options.tolerance == 'touch') {
@@ -183,14 +179,14 @@ $.widget("ui.selectable", $.ui.mouse, {
                                        selectee.$element.addClass('ui-selecting');
                                        selectee.selecting = true;
                                        // selectable SELECTING callback
-                                       self._trigger("selecting", event, {
+                                       that._trigger("selecting", event, {
                                                selecting: selectee.element
                                        });
                                }
                        } else {
                                // UNSELECT
                                if (selectee.selecting) {
-                                       if (event.metaKey && selectee.startselected) {
+                                       if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
                                                selectee.$element.removeClass('ui-selecting');
                                                selectee.selecting = false;
                                                selectee.$element.addClass('ui-selected');
@@ -203,20 +199,20 @@ $.widget("ui.selectable", $.ui.mouse, {
                                                        selectee.unselecting = true;
                                                }
                                                // selectable UNSELECTING callback
-                                               self._trigger("unselecting", event, {
+                                               that._trigger("unselecting", event, {
                                                        unselecting: selectee.element
                                                });
                                        }
                                }
                                if (selectee.selected) {
-                                       if (!event.metaKey && !selectee.startselected) {
+                                       if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
                                                selectee.$element.removeClass('ui-selected');
                                                selectee.selected = false;
 
                                                selectee.$element.addClass('ui-unselecting');
                                                selectee.unselecting = true;
                                                // selectable UNSELECTING callback
-                                               self._trigger("unselecting", event, {
+                                               that._trigger("unselecting", event, {
                                                        unselecting: selectee.element
                                                });
                                        }
@@ -228,7 +224,7 @@ $.widget("ui.selectable", $.ui.mouse, {
        },
 
        _mouseStop: function(event) {
-               var self = this;
+               var that = this;
 
                this.dragged = false;
 
@@ -239,7 +235,7 @@ $.widget("ui.selectable", $.ui.mouse, {
                        selectee.$element.removeClass('ui-unselecting');
                        selectee.unselecting = false;
                        selectee.startselected = false;
-                       self._trigger("unselected", event, {
+                       that._trigger("unselected", event, {
                                unselected: selectee.element
                        });
                });
@@ -249,7 +245,7 @@ $.widget("ui.selectable", $.ui.mouse, {
                        selectee.selecting = false;
                        selectee.selected = true;
                        selectee.startselected = true;
-                       self._trigger("selected", event, {
+                       that._trigger("selected", event, {
                                selected: selectee.element
                        });
                });
@@ -262,8 +258,4 @@ $.widget("ui.selectable", $.ui.mouse, {
 
 });
 
-$.extend($.ui.selectable, {
-       version: "1.8.2"
-});
-
 })(jQuery);