mirror of
https://github.com/jquery/jquery-ui.git
synced 2025-01-07 20:34:24 +00:00
internal methods: mouse*
This commit is contained in:
parent
6e8832d440
commit
d5bbbd2a07
@ -202,11 +202,11 @@ $.ui = {
|
||||
/** Mouse Interaction Plugin **/
|
||||
|
||||
$.ui.mouse = {
|
||||
mouseInit: function() {
|
||||
_mouseInit: function() {
|
||||
var self = this;
|
||||
|
||||
this.element.bind('mousedown.'+this.widgetName, function(e) {
|
||||
return self.mouseDown(e);
|
||||
return self._mouseDown(e);
|
||||
});
|
||||
|
||||
// Prevent text selection in IE
|
||||
@ -220,7 +220,7 @@ $.ui.mouse = {
|
||||
|
||||
// TODO: make sure destroying one instance of mouse doesn't mess with
|
||||
// other instances of mouse
|
||||
mouseDestroy: function() {
|
||||
_mouseDestroy: function() {
|
||||
this.element.unbind('.'+this.widgetName);
|
||||
|
||||
// Restore text selection in IE
|
||||
@ -228,28 +228,28 @@ $.ui.mouse = {
|
||||
&& this.element.attr('unselectable', this._mouseUnselectable));
|
||||
},
|
||||
|
||||
mouseDown: function(e) {
|
||||
_mouseDown: function(e) {
|
||||
// we may have missed mouseup (out of window)
|
||||
(this._mouseStarted && this.mouseUp(e));
|
||||
(this._mouseStarted && this._mouseUp(e));
|
||||
|
||||
this._mouseDownEvent = e;
|
||||
|
||||
var self = this,
|
||||
btnIsLeft = (e.which == 1),
|
||||
elIsCancel = (typeof this.options.cancel == "string" ? $(e.target).parents().add(e.target).filter(this.options.cancel).length : false);
|
||||
if (!btnIsLeft || elIsCancel || !this.mouseCapture(e)) {
|
||||
if (!btnIsLeft || elIsCancel || !this._mouseCapture(e)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
this._mouseDelayMet = !this.options.delay;
|
||||
if (!this._mouseDelayMet) {
|
||||
this.mouseDelayMet = !this.options.delay;
|
||||
if (!this.mouseDelayMet) {
|
||||
this._mouseDelayTimer = setTimeout(function() {
|
||||
self._mouseDelayMet = true;
|
||||
self.mouseDelayMet = true;
|
||||
}, this.options.delay);
|
||||
}
|
||||
|
||||
if (this.mouseDistanceMet(e) && this.mouseDelayMet(e)) {
|
||||
this._mouseStarted = (this.mouseStart(e) !== false);
|
||||
if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) {
|
||||
this._mouseStarted = (this._mouseStart(e) !== false);
|
||||
if (!this._mouseStarted) {
|
||||
e.preventDefault();
|
||||
return true;
|
||||
@ -258,10 +258,10 @@ $.ui.mouse = {
|
||||
|
||||
// these delegates are required to keep context
|
||||
this._mouseMoveDelegate = function(e) {
|
||||
return self.mouseMove(e);
|
||||
return self._mouseMove(e);
|
||||
};
|
||||
this._mouseUpDelegate = function(e) {
|
||||
return self.mouseUp(e);
|
||||
return self._mouseUp(e);
|
||||
};
|
||||
$(document)
|
||||
.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
|
||||
@ -270,40 +270,40 @@ $.ui.mouse = {
|
||||
return false;
|
||||
},
|
||||
|
||||
mouseMove: function(e) {
|
||||
_mouseMove: function(e) {
|
||||
// IE mouseup check - mouseup happened when mouse was out of window
|
||||
if ($.browser.msie && !e.button) {
|
||||
return this.mouseUp(e);
|
||||
return this._mouseUp(e);
|
||||
}
|
||||
|
||||
if (this._mouseStarted) {
|
||||
this.mouseDrag(e);
|
||||
this._mouseDrag(e);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.mouseDistanceMet(e) && this.mouseDelayMet(e)) {
|
||||
if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) {
|
||||
this._mouseStarted =
|
||||
(this.mouseStart(this._mouseDownEvent, e) !== false);
|
||||
(this._mouseStarted ? this.mouseDrag(e) : this.mouseUp(e));
|
||||
(this._mouseStart(this._mouseDownEvent, e) !== false);
|
||||
(this._mouseStarted ? this._mouseDrag(e) : this._mouseUp(e));
|
||||
}
|
||||
|
||||
return !this._mouseStarted;
|
||||
},
|
||||
|
||||
mouseUp: function(e) {
|
||||
_mouseUp: function(e) {
|
||||
$(document)
|
||||
.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
|
||||
.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
|
||||
|
||||
if (this._mouseStarted) {
|
||||
this._mouseStarted = false;
|
||||
this.mouseStop(e);
|
||||
this._mouseStop(e);
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
mouseDistanceMet: function(e) {
|
||||
_mouseDistanceMet: function(e) {
|
||||
return (Math.max(
|
||||
Math.abs(this._mouseDownEvent.pageX - e.pageX),
|
||||
Math.abs(this._mouseDownEvent.pageY - e.pageY)
|
||||
@ -311,15 +311,15 @@ $.ui.mouse = {
|
||||
);
|
||||
},
|
||||
|
||||
mouseDelayMet: function(e) {
|
||||
return this._mouseDelayMet;
|
||||
_mouseDelayMet: function(e) {
|
||||
return this.mouseDelayMet;
|
||||
},
|
||||
|
||||
// These are placeholder methods, to be overriden by extending plugin
|
||||
mouseStart: function(e) {},
|
||||
mouseDrag: function(e) {},
|
||||
mouseStop: function(e) {},
|
||||
mouseCapture: function(e) { return true; }
|
||||
_mouseStart: function(e) {},
|
||||
_mouseDrag: function(e) {},
|
||||
_mouseStop: function(e) {},
|
||||
_mouseCapture: function(e) { return true; }
|
||||
};
|
||||
|
||||
$.ui.mouse.defaults = {
|
||||
|
@ -21,10 +21,10 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, {
|
||||
(this.options.cssNamespace && this.element.addClass(this.options.cssNamespace+"-draggable"));
|
||||
(this.options.disabled && this.element.addClass('ui-draggable-disabled'));
|
||||
|
||||
this.mouseInit();
|
||||
this._mouseInit();
|
||||
|
||||
},
|
||||
mouseStart: function(e) {
|
||||
_mouseStart: function(e) {
|
||||
|
||||
var o = this.options;
|
||||
|
||||
@ -135,7 +135,7 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, {
|
||||
if ($.ui.ddmanager && !o.dropBehaviour) $.ui.ddmanager.prepareOffsets(this, e);
|
||||
|
||||
this.helper.addClass("ui-draggable-dragging");
|
||||
this.mouseDrag(e); //Execute the drag once - this causes the helper not to be visible before getting its correct position
|
||||
this._mouseDrag(e); //Execute the drag once - this causes the helper not to be visible before getting its correct position
|
||||
return true;
|
||||
},
|
||||
_convertPositionTo: function(d, pos) {
|
||||
@ -207,7 +207,7 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, {
|
||||
|
||||
return position;
|
||||
},
|
||||
mouseDrag: function(e) {
|
||||
_mouseDrag: function(e) {
|
||||
|
||||
//Compute the helpers position
|
||||
this.position = this._generatePosition(e);
|
||||
@ -222,7 +222,7 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, {
|
||||
|
||||
return false;
|
||||
},
|
||||
mouseStop: function(e) {
|
||||
_mouseStop: function(e) {
|
||||
|
||||
//If we are using droppables, inform the manager about the drop
|
||||
var dropped = false;
|
||||
@ -268,7 +268,7 @@ $.widget("ui.draggable", $.extend({}, $.ui.mouse, {
|
||||
destroy: function() {
|
||||
if(!this.element.data('draggable')) return;
|
||||
this.element.removeData("draggable").unbind(".draggable").removeClass('ui-draggable-dragging ui-draggable-disabled');
|
||||
this.mouseDestroy();
|
||||
this._mouseDestroy();
|
||||
}
|
||||
}));
|
||||
|
||||
@ -492,7 +492,7 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
||||
inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance
|
||||
this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work)
|
||||
if(this.shouldRevert) this.instance.options.revert = true; //revert here
|
||||
this.instance.mouseStop(e);
|
||||
this.instance._mouseStop(e);
|
||||
|
||||
//Also propagate receive event, since the sortable is actually receiving a element
|
||||
this.instance.element.triggerHandler("sortreceive", [e, $.extend(this.instance.ui(), { sender: inst.element })], this.instance.options["receive"]);
|
||||
@ -534,8 +534,8 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
||||
this.instance.options.helper = function() { return ui.helper[0]; };
|
||||
|
||||
e.target = this.instance.currentItem[0];
|
||||
this.instance.mouseCapture(e, true);
|
||||
this.instance.mouseStart(e, true, true);
|
||||
this.instance._mouseCapture(e, true);
|
||||
this.instance._mouseStart(e, true, true);
|
||||
|
||||
//Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes
|
||||
this.instance.offset.click.top = inst.offset.click.top;
|
||||
@ -548,7 +548,7 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
||||
}
|
||||
|
||||
//Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable
|
||||
if(this.instance.currentItem) this.instance.mouseDrag(e);
|
||||
if(this.instance.currentItem) this.instance._mouseDrag(e);
|
||||
|
||||
} else {
|
||||
|
||||
@ -558,7 +558,7 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
||||
this.instance.isOver = 0;
|
||||
this.instance.cancelHelperRemoval = true;
|
||||
this.instance.options.revert = false; //No revert here
|
||||
this.instance.mouseStop(e, true);
|
||||
this.instance._mouseStop(e, true);
|
||||
this.instance.options.helper = this.instance.options._helper;
|
||||
|
||||
//Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size
|
||||
|
@ -212,7 +212,7 @@ $.widget("ui.resizable", $.extend({}, $.ui.mouse, {
|
||||
});
|
||||
}
|
||||
|
||||
this.mouseInit();
|
||||
this._mouseInit();
|
||||
},
|
||||
plugins: {},
|
||||
ui: function() {
|
||||
@ -234,7 +234,7 @@ $.widget("ui.resizable", $.extend({}, $.ui.mouse, {
|
||||
destroy: function() {
|
||||
var el = this.element, wrapped = el.children(".ui-resizable").get(0);
|
||||
|
||||
this.mouseDestroy();
|
||||
this._mouseDestroy();
|
||||
|
||||
var _destroy = function(exp) {
|
||||
$(exp).removeClass("ui-resizable ui-resizable-disabled")
|
||||
@ -257,7 +257,7 @@ $.widget("ui.resizable", $.extend({}, $.ui.mouse, {
|
||||
_destroy(wrapped);
|
||||
}
|
||||
},
|
||||
mouseStart: function(e) {
|
||||
_mouseStart: function(e) {
|
||||
if(this.options.disabled) return false;
|
||||
|
||||
var handle = false;
|
||||
@ -312,7 +312,7 @@ $.widget("ui.resizable", $.extend({}, $.ui.mouse, {
|
||||
this._propagate("start", e);
|
||||
return true;
|
||||
},
|
||||
mouseDrag: function(e) {
|
||||
_mouseDrag: function(e) {
|
||||
|
||||
//Increase performance, avoid regex
|
||||
var el = this.helper, o = this.options, props = {},
|
||||
@ -348,7 +348,7 @@ $.widget("ui.resizable", $.extend({}, $.ui.mouse, {
|
||||
|
||||
return false;
|
||||
},
|
||||
mouseStop: function(e) {
|
||||
_mouseStop: function(e) {
|
||||
|
||||
this.options.resizing = false;
|
||||
var o = this.options, num = function(v) { return parseInt(v, 10) || 0; }, self = this;
|
||||
|
@ -45,7 +45,7 @@ $.widget("ui.selectable", $.extend({}, $.ui.mouse, {
|
||||
|
||||
this.selectees = selectees.addClass("ui-selectee");
|
||||
|
||||
this.mouseInit();
|
||||
this._mouseInit();
|
||||
|
||||
this.helper = $(document.createElement('div'))
|
||||
.css({border:'1px dotted black'})
|
||||
@ -63,9 +63,9 @@ $.widget("ui.selectable", $.extend({}, $.ui.mouse, {
|
||||
.removeClass("ui-selectable ui-selectable-disabled")
|
||||
.removeData("selectable")
|
||||
.unbind(".selectable");
|
||||
this.mouseDestroy();
|
||||
this._mouseDestroy();
|
||||
},
|
||||
mouseStart: function(e) {
|
||||
_mouseStart: function(e) {
|
||||
var self = this;
|
||||
|
||||
this.opos = [e.pageX, e.pageY];
|
||||
@ -121,7 +121,7 @@ $.widget("ui.selectable", $.extend({}, $.ui.mouse, {
|
||||
});
|
||||
return this.options.keyboard ? !isSelectee : true;
|
||||
},
|
||||
mouseDrag: function(e) {
|
||||
_mouseDrag: function(e) {
|
||||
var self = this;
|
||||
this.dragged = true;
|
||||
|
||||
@ -210,7 +210,7 @@ $.widget("ui.selectable", $.extend({}, $.ui.mouse, {
|
||||
|
||||
return false;
|
||||
},
|
||||
mouseStop: function(e) {
|
||||
_mouseStop: function(e) {
|
||||
var self = this;
|
||||
|
||||
this.dragged = false;
|
||||
|
@ -41,7 +41,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
|
||||
this.offset = this.element.offset();
|
||||
|
||||
//Initialize mouse events for interaction
|
||||
this.mouseInit();
|
||||
this._mouseInit();
|
||||
|
||||
},
|
||||
plugins: {},
|
||||
@ -283,7 +283,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
|
||||
.removeClass("ui-sortable ui-sortable-disabled")
|
||||
.removeData("sortable")
|
||||
.unbind(".sortable");
|
||||
this.mouseDestroy();
|
||||
this._mouseDestroy();
|
||||
|
||||
for ( var i = this.items.length - 1; i >= 0; i-- )
|
||||
this.items[i].item.removeData("sortable-item");
|
||||
@ -360,7 +360,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
|
||||
};
|
||||
},
|
||||
|
||||
mouseCapture: function(e, overrideHandle) {
|
||||
_mouseCapture: function(e, overrideHandle) {
|
||||
|
||||
if(this.options.disabled || this.options.type == 'static') return false;
|
||||
|
||||
@ -390,7 +390,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
|
||||
|
||||
},
|
||||
|
||||
mouseStart: function(e, overrideHandle, noActivation) {
|
||||
_mouseStart: function(e, overrideHandle, noActivation) {
|
||||
|
||||
var o = this.options;
|
||||
this.currentContainer = this;
|
||||
@ -499,7 +499,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
|
||||
|
||||
this.dragging = true;
|
||||
|
||||
this.mouseDrag(e); //Execute the drag once - this causes the helper not to be visible before getting its correct position
|
||||
this._mouseDrag(e); //Execute the drag once - this causes the helper not to be visible before getting its correct position
|
||||
return true;
|
||||
|
||||
|
||||
@ -566,7 +566,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
|
||||
return position;
|
||||
},
|
||||
|
||||
mouseDrag: function(e) {
|
||||
_mouseDrag: function(e) {
|
||||
|
||||
//Compute the helpers position
|
||||
this.position = this._generatePosition(e);
|
||||
@ -633,7 +633,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, {
|
||||
|
||||
},
|
||||
|
||||
mouseStop: function(e, noPropagation) {
|
||||
_mouseStop: function(e, noPropagation) {
|
||||
|
||||
//If we are using droppables, inform the manager about the drop
|
||||
if ($.ui.ddmanager && !this.options.dropBehaviour)
|
||||
|
Loading…
Reference in New Issue
Block a user