Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
template.js.base.jquery.ui.droppable.min.js Maven / Gradle / Ivy
/*! jQuery UI - v1.10.4 - 2014-04-02
* http://jqueryui.com
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
(function (t) {
function e(t, e, i) {
return t > e && e + i > t
}
t.widget("ui.droppable", {version: "1.10.4", widgetEventPrefix: "drop", options: {accept: "*", activeClass: !1, addClasses: !0, greedy: !1, hoverClass: !1, scope: "default", tolerance: "intersect", activate: null, deactivate: null, drop: null, out: null, over: null}, _create: function () {
var e, i = this.options, s = i.accept;
this.isover = !1, this.isout = !0, this.accept = t.isFunction(s) ? s : function (t) {
return t.is(s)
}, this.proportions = function () {
return arguments.length ? (e = arguments[0], undefined) : e ? e : e = {width: this.element[0].offsetWidth, height: this.element[0].offsetHeight}
}, t.ui.ddmanager.droppables[i.scope] = t.ui.ddmanager.droppables[i.scope] || [], t.ui.ddmanager.droppables[i.scope].push(this), i.addClasses && this.element.addClass("ui-droppable")
}, _destroy: function () {
for (var e = 0, i = t.ui.ddmanager.droppables[this.options.scope]; i.length > e; e++)i[e] === this && i.splice(e, 1);
this.element.removeClass("ui-droppable ui-droppable-disabled")
}, _setOption: function (e, i) {
"accept" === e && (this.accept = t.isFunction(i) ? i : function (t) {
return t.is(i)
}), t.Widget.prototype._setOption.apply(this, arguments)
}, _activate: function (e) {
var i = t.ui.ddmanager.current;
this.options.activeClass && this.element.addClass(this.options.activeClass), i && this._trigger("activate", e, this.ui(i))
}, _deactivate: function (e) {
var i = t.ui.ddmanager.current;
this.options.activeClass && this.element.removeClass(this.options.activeClass), i && this._trigger("deactivate", e, this.ui(i))
}, _over: function (e) {
var i = t.ui.ddmanager.current;
i && (i.currentItem || i.element)[0] !== this.element[0] && this.accept.call(this.element[0], i.currentItem || i.element) && (this.options.hoverClass && this.element.addClass(this.options.hoverClass), this._trigger("over", e, this.ui(i)))
}, _out: function (e) {
var i = t.ui.ddmanager.current;
i && (i.currentItem || i.element)[0] !== this.element[0] && this.accept.call(this.element[0], i.currentItem || i.element) && (this.options.hoverClass && this.element.removeClass(this.options.hoverClass), this._trigger("out", e, this.ui(i)))
}, _drop: function (e, i) {
var s = i || t.ui.ddmanager.current, n = !1;
return s && (s.currentItem || s.element)[0] !== this.element[0] ? (this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function () {
var e = t.data(this, "ui-droppable");
return e.options.greedy && !e.options.disabled && e.options.scope === s.options.scope && e.accept.call(e.element[0], s.currentItem || s.element) && t.ui.intersect(s, t.extend(e, {offset: e.element.offset()}), e.options.tolerance) ? (n = !0, !1) : undefined
}), n ? !1 : this.accept.call(this.element[0], s.currentItem || s.element) ? (this.options.activeClass && this.element.removeClass(this.options.activeClass), this.options.hoverClass && this.element.removeClass(this.options.hoverClass), this._trigger("drop", e, this.ui(s)), this.element) : !1) : !1
}, ui: function (t) {
return{draggable: t.currentItem || t.element, helper: t.helper, position: t.position, offset: t.positionAbs}
}}), t.ui.intersect = function (t, i, s) {
if (!i.offset)return!1;
var n, a, o = (t.positionAbs || t.position.absolute).left, r = (t.positionAbs || t.position.absolute).top, l = o + t.helperProportions.width, h = r + t.helperProportions.height, c = i.offset.left, u = i.offset.top, d = c + i.proportions().width, p = u + i.proportions().height;
switch (s) {
case"fit":
return o >= c && d >= l && r >= u && p >= h;
case"intersect":
return o + t.helperProportions.width / 2 > c && d > l - t.helperProportions.width / 2 && r + t.helperProportions.height / 2 > u && p > h - t.helperProportions.height / 2;
case"pointer":
return n = (t.positionAbs || t.position.absolute).left + (t.clickOffset || t.offset.click).left, a = (t.positionAbs || t.position.absolute).top + (t.clickOffset || t.offset.click).top, e(a, u, i.proportions().height) && e(n, c, i.proportions().width);
case"touch":
return(r >= u && p >= r || h >= u && p >= h || u > r && h > p) && (o >= c && d >= o || l >= c && d >= l || c > o && l > d);
default:
return!1
}
}, t.ui.ddmanager = {current: null, droppables: {"default": []}, prepareOffsets: function (e, i) {
var s, n, a = t.ui.ddmanager.droppables[e.options.scope] || [], o = i ? i.type : null, r = (e.currentItem || e.element).find(":data(ui-droppable)").addBack();
t:for (s = 0; a.length > s; s++)if (!(a[s].options.disabled || e && !a[s].accept.call(a[s].element[0], e.currentItem || e.element))) {
for (n = 0; r.length > n; n++)if (r[n] === a[s].element[0]) {
a[s].proportions().height = 0;
continue t
}
a[s].visible = "none" !== a[s].element.css("display"), a[s].visible && ("mousedown" === o && a[s]._activate.call(a[s], i), a[s].offset = a[s].element.offset(), a[s].proportions({width: a[s].element[0].offsetWidth, height: a[s].element[0].offsetHeight}))
}
}, drop: function (e, i) {
var s = !1;
return t.each((t.ui.ddmanager.droppables[e.options.scope] || []).slice(), function () {
this.options && (!this.options.disabled && this.visible && t.ui.intersect(e, this, this.options.tolerance) && (s = this._drop.call(this, i) || s), !this.options.disabled && this.visible && this.accept.call(this.element[0], e.currentItem || e.element) && (this.isout = !0, this.isover = !1, this._deactivate.call(this, i)))
}), s
}, dragStart: function (e, i) {
e.element.parentsUntil("body").bind("scroll.droppable", function () {
e.options.refreshPositions || t.ui.ddmanager.prepareOffsets(e, i)
})
}, drag: function (e, i) {
e.options.refreshPositions && t.ui.ddmanager.prepareOffsets(e, i), t.each(t.ui.ddmanager.droppables[e.options.scope] || [], function () {
if (!this.options.disabled && !this.greedyChild && this.visible) {
var s, n, a, o = t.ui.intersect(e, this, this.options.tolerance), r = !o && this.isover ? "isout" : o && !this.isover ? "isover" : null;
r && (this.options.greedy && (n = this.options.scope, a = this.element.parents(":data(ui-droppable)").filter(function () {
return t.data(this, "ui-droppable").options.scope === n
}), a.length && (s = t.data(a[0], "ui-droppable"), s.greedyChild = "isover" === r)), s && "isover" === r && (s.isover = !1, s.isout = !0, s._out.call(s, i)), this[r] = !0, this["isout" === r ? "isover" : "isout"] = !1, this["isover" === r ? "_over" : "_out"].call(this, i), s && "isout" === r && (s.isout = !1, s.isover = !0, s._over.call(s, i)))
}
})
}, dragStop: function (e, i) {
e.element.parentsUntil("body").unbind("scroll.droppable"), e.options.refreshPositions || t.ui.ddmanager.prepareOffsets(e, i)
}}
})(jQuery);