www-thermferm/jqwidgets/jqxsortable.js

Sun, 07 Jul 2019 14:31:10 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 07 Jul 2019 14:31:10 +0200
branch
stable
changeset 603
fcff55324b84
parent 511
2d1d43c3a2c2
child 617
b216f9d4b917
permissions
-rw-r--r--

Merged fix from default

/*
jQWidgets v4.5.2 (2017-May)
Copyright (c) 2011-2017 jQWidgets.
License: http://jqwidgets.com/license/
*/
!function(a){a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])}}),a.jqx.jqxWidget("jqxSortable","",{}),a.extend(a.jqx._jqxSortable.prototype,{defineInstance:function(){var b={appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,maxItems:9999,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholderShow:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:999999,element:null,defaultElement:"<div>",mouseHandled:!1,cancel:"input,textarea,button,select,option",distance:1,delay:0,widgetName:"widget",widgetEventPrefix:"",disabled:!1,create:null,_touchEvents:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),click:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend"),mousemove:a.jqx.mobile.getTouchEventName("touchmove"),mouseenter:"mouseenter",mouseleave:"mouseleave"},_events:["activate","beforeStop","change","deactivate","out","over","receive","remove","sort","start","stop","update","create"]};return this===a.jqx._jqxSortable.prototype?b:(a.extend(!0,this,b),b)},createInstance:function(){this._render()},_render:function(){var b=this;this._isTouchDevice=a.jqx.mobile.isTouchDevice(),this.containerCache={};var c=a(c||b.defaultElement||this)[0];b.document=a(c.style?c.ownerDocument:c.document||c),b.window=a(b.document[0].defaultView||b.document[0].parentWindow),b.host.addClass(b.toThemeProperty("jqx-widget jqx-sortable")),b.refresh(),b.floating=!!b.itemsArray.length&&("x"===b.axis||b._isFloating(b.itemsArray[0].item)),b.offset=b.host.offset(),b._handleMouse(),b._cancelSelect(),b.ready=!0},_isOverAxis:function(a,b,c){return a>=b&&a<b+c},_isFloating:function(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))},_getEvent:function(a){return this._isTouchDevice?this._touchEvents[a]+".jqxSortable"+this.element.id:a+".jqxSortable"+this.element.id},_handleMouse:function(){var b=this;b.addHandler(this.host,this._getEvent("mousedown"),function(a){return b._mouseDown(a)}),b.addHandler(b.host,this._getEvent("click"),function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),b.started=!1},widget:function(){return this.host},_mouseDestroy:function(){var b=this;b.host.off("."+this.widgetName),b._mouseMoveDelegate&&(b.removeHandler(a(document),this._getEvent("mousemove")),b.removeHandler(a(document),this._getEvent("mouseup")))},_mouseDown:function(b){var c=this;if(!c.mouseHandled){if(c._mouseMoved=!1,c._isTouchDevice){var d=a.jqx.position(b);b.pageX=d.left,b.pageY=d.top}c._mouseStarted&&c._mouseUp(b),c._mouseDownEvent=b,this._isTouchDevice&&(b.which=1);var e=1===b.which,f=!("string"!=typeof this.cancel||!b.target.nodeName)&&a(b.target).closest(this.cancel).length;if(this._isTouchDevice&&(e=!0),!e||f||!this._mouseCapture(b))return!0;if(c.mouseDelayMet=!c.delay,c.mouseDelayMet||(c._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=!0},c.delay)),c._mouseDistanceMet(b)&&c._mouseDelayMet(b)&&(c._mouseStarted=c._mouseStart(b)!==!1,!c._mouseStarted))return b.preventDefault(),!0;!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),c._mouseMoveDelegate=function(a){return c._mouseMove(a)},c._mouseUpDelegate=function(a){return c._mouseUp(a)},c.addHandler(a(document),this._getEvent("mousemove"),c._mouseMoveDelegate),c.addHandler(a(document),this._getEvent("mouseup"),c._mouseUpDelegate);try{if((""!=document.referrer||window.frameElement)&&null!=window.top&&window.top!=window.self){var g=function(a){c._mouseUp(a)},h=null;window.parent&&document.referrer&&(h=document.referrer),h&&h.indexOf(document.location.host)!=-1&&window.top.document&&(window.top.document.addEventListener?window.top.document.addEventListener("mouseup",g,!1):window.top.document.attachEvent&&window.top.document.attachEvent("onmouseup",g))}}catch(a){}return b.preventDefault(),mouseHandled=!0,!0}},_mouseMove:function(b){var c=this;if(this._isTouchDevice){b.which=1;var d=a.jqx.position(b);b.pageX=d.left,b.pageY=d.top}if(c._mouseMoved)if(a.jqx.browser.msie&&a.jqx.browser.version>11){if(!b.which)return c._mouseUp(b)}else{if(a.jqx.browser.msie&&(!document.documentMode||document.documentMode<9)&&!b.button)return c._mouseUp(b);if(!b.which)return c._mouseUp(b)}return(b.which||b.button)&&(c._mouseMoved=!0),c._mouseStarted?(c._mouseDrag(b),b.preventDefault()):(c._mouseDistanceMet(b)&&c._mouseDelayMet(b)&&(c._mouseStarted=c._mouseStart(c._mouseDownEvent,b)!==!1,c._mouseStarted?c._mouseDrag(b):c._mouseUp(b)),!c._mouseStarted)},_mouseUp:function(b){var c=this;try{c.removeHandler(a(document),this._getEvent("mousemove")),c.removeHandler(a(document),this._getEvent("mouseup")),c._mouseStarted&&(c._mouseStarted=!1,b.target===c._mouseDownEvent.target&&a.data(b.target,c.widgetName+".preventClickEvent",!0),c._mouseStop(b)),mouseHandled=!1}catch(a){}return!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.distance},_mouseDelayMet:function(){return this.mouseDelayMet},scrollParent:function(b){var c=this.css("position"),d="absolute"===c,e=b?/(auto|scroll|hidden)/:/(auto|scroll)/,f=this.parents().filter(function(){var b=a(this);return(!d||"static"!==b.css("position"))&&e.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&f.length?f:a(this[0].ownerDocument||document)},destroy:function(){this.host.removeClass("jqx-sortable jqx-sortable-disabled").find(".jqx-sortable-handle").removeClass("jqx-sortable-handle"),this._mouseDestroy();for(var a=this.itemsArray.length-1;a>=0;a--)this.itemsArray[a].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return!f.reverting&&(!f.disabled&&"static"!==f.type&&(f._refreshItems(b),a(b.target).parents().each(function(){if(a.data(this,f.widgetName+"-item")===f)return d=a(this),!1}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),!!d&&(!(f.handle&&!c&&(a(f.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),!e))&&(f.currentItem=d,f._removeCurrentsFromItems(),!0))))},_mouseStart:function(b,c,d){var e,f,g=this;if(g.currentContainer=this,g._currentContainer=this,g.refreshPositions(),g.helper=g._utility(b),g._cacheHelperProportions(),g._storeMargins(),g.scrollParent=g.helper.scrollParent(),g.offset=g.currentItem.offset(),g.offset={top:g.offset.top-g.margins.top,left:g.offset.left-g.margins.left},a.extend(g.offset,{click:{left:b.pageX-g.offset.left,top:b.pageY-g.offset.top},parent:g._getParentOffset(),relative:g._getRelativeOffset()}),g.helper.css("position","absolute"),g.cssPosition=g.helper.css("position"),g.originalPosition=g._generatePosition(b),g.originalPageX=b.pageX,g.originalPageY=b.pageY,g.cursorAt&&g._adjustOffsetFromHelper(g.cursorAt),g.domPosition={prev:g.currentItem.prev()[0],parent:g.currentItem.parent()[0]},g.helper[0]!==g.currentItem[0]&&g.currentItem.hide(),g._createPlaceholder(),g.containment&&g._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=g.document.find("body"),g.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),g.storedStylesheet=a("<style>*{ cursor: "+g.cursor+" !important; }</style>").appendTo(f)),g.opacity&&(g.helper.css("opacity")&&(g._storedOpacity=g.helper.css("opacity")),g.helper.css("opacity",g.opacity)),g.zIndex&&(g.helper.css("zIndex")&&(g._storedZIndex=g.helper.css("zIndex")),g.helper.css("zIndex",g.zIndex)),g.scrollParent[0]!==g.document[0]&&"HTML"!==g.scrollParent[0].tagName&&(g.overflowOffset=g.scrollParent.offset()),g._raiseEvent("9",g._uiHash()),g._preserveHelperProportions||g._cacheHelperProportions(),!d)for(e=g.owners.length-1;e>=0;e--)g.owners[e]._raiseEvent("0",g._uiHash(this));return a.jqx.ddmanager&&(a.jqx.ddmanager.current=this),a.jqx.ddmanager&&!g.dropBehaviour&&a.jqx.ddmanager.prepareOffsets(this,b),g.dragging=!0,g.helper.addClass("jqx-sortable-helper"),g._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this,h=!1,i=this;for(i.position=i._generatePosition(b),i.positionAbs=i._convertPositionTo("absolute"),i.lastPositionAbs||(i.lastPositionAbs=i.positionAbs),i.scroll&&(i.scrollParent[0]!==i.document[0]&&"HTML"!==i.scrollParent[0].tagName?(i.overflowOffset.top+i.scrollParent[0].offsetHeight-b.pageY<g.scrollSensitivity?i.scrollParent[0].scrollTop=h=i.scrollParent[0].scrollTop+g.scrollSpeed:b.pageY-i.overflowOffset.top<g.scrollSensitivity&&(i.scrollParent[0].scrollTop=h=i.scrollParent[0].scrollTop-g.scrollSpeed),i.overflowOffset.left+i.scrollParent[0].offsetWidth-b.pageX<g.scrollSensitivity?i.scrollParent[0].scrollLeft=h=i.scrollParent[0].scrollLeft+g.scrollSpeed:b.pageX-i.overflowOffset.left<g.scrollSensitivity&&(i.scrollParent[0].scrollLeft=h=i.scrollParent[0].scrollLeft-g.scrollSpeed)):(b.pageY-i.document.scrollTop()<g.scrollSensitivity?h=i.document.scrollTop(i.document.scrollTop()-g.scrollSpeed):i.window.height()-(b.pageY-i.document.scrollTop())<g.scrollSensitivity&&(h=i.document.scrollTop(i.document.scrollTop()+g.scrollSpeed)),b.pageX-i.document.scrollLeft()<g.scrollSensitivity?h=i.document.scrollLeft(i.document.scrollLeft()-g.scrollSpeed):i.window.width()-(b.pageX-i.document.scrollLeft())<g.scrollSensitivity&&(h=i.document.scrollLeft(i.document.scrollLeft()+g.scrollSpeed))),h!==!1&&a.jqx.ddmanager&&!g.dropBehaviour&&a.jqx.ddmanager.prepareOffsets(this,b)),i.positionAbs=i._convertPositionTo("absolute"),i.axis&&"y"===i.axis||(i.helper[0].style.left=i.position.left+"px"),i.axis&&"x"===i.axis||(i.helper[0].style.top=i.position.top+"px"),c=i.itemsArray.length-1;c>=0;c--)if(d=i.itemsArray[c],e=d.item[0],f=i._intersectsWithPointer(d),f&&d.instance===i.currentContainer&&!(e===i.currentItem[0]||i.placeholder[1===f?"next":"prev"]()[0]===e||a.contains(i.placeholder[0],e)||"semi-dynamic"===i.type&&a.contains(i.host[0],e))){if(i.direction=1===f?"down":"up","pointer"!==i.tolerance&&!i._intersectsWithSides(d))break;i._rearrange(b,d),i._raiseEvent("2",i._uiHash());break}return i._contactOwners(b),a.jqx.ddmanager&&a.jqx.ddmanager.drag(this,b),i._raiseEvent("8",i._uiHash()),i.lastPositionAbs=i.positionAbs,!1},_mouseStop:function(b,c){var d=this;if(b){if(a.jqx.ddmanager&&!this.dropBehaviour&&a.jqx.ddmanager.drop(this,b),d.revert){var d=this,e=d.placeholder.offset(),f=d.axis,g={};f&&"x"!==f||(g.left=e.left-d.offset.parent.left-d.margins.left+(d.offsetParent[0]===d.document[0].body?0:d.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-d.offset.parent.top-d.margins.top+(d.offsetParent[0]===d.document[0].body?0:d.offsetParent[0].scrollTop)),d.reverting=!0,a(this.helper).animate(g,parseInt(this.revert,10)||500,function(){d._clear(b)})}else d._clear(b,c);return!1}},cancelSort:function(){var b=this;if(b.dragging){b._mouseUp({target:null}),"original"===b.helper?b.currentItem.css(b._storedCSS).removeClass("jqx-sortable-helper"):b.currentItem.show();for(var c=b.owners.length-1;c>=0;c--)b.owners[c]._raiseEvent("3",b._uiHash(this)),b.owners[c].containerCache.over&&(b.owners[c]._raiseEvent("4",b._uiHash(this)),b.owners[c].containerCache.over=0)}return b.placeholder&&(b.placeholder[0].parentNode&&b.placeholder[0].parentNode.removeChild(b.placeholder[0]),"original"!==b.helper&&b.helper&&b.helper[0].parentNode&&b.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),b.domPosition.prev?a(b.domPosition.prev).after(b.currentItem):a(b.domPosition.parent).prepend(b.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.axis||d+j>h&&d+j<i,m="y"===this.axis||b+k>f&&b+k<g,n=l&&m;return"pointer"===this.tolerance||this.forcePointerForowners||"pointer"!==this.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(a){var b="x"===this.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height),c="y"===this.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width),d=b&&c,e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return!!d&&(this.floating?f&&"right"===f||"down"===e?2:1:e&&("down"===e?2:1))},_intersectsWithSides:function(a){var b=this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height),c=this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width),d=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?"right"===e&&c||"left"===e&&!c:d&&("down"===d&&b||"up"===d&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return 0!==a&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this;return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){function c(){h.push(this)}var d,e,f,g,h=[],i=[],j=this._connectWith();if(j&&b)for(d=j.length-1;d>=0;d--)for(f=a(j[d],this.document[0]),e=f.length-1;e>=0;e--)g=a.data(f[e],this.widgetFullName).instance,g&&g!==this&&!g.disabled&&i.push([a.isFunction(g.items)?g.items.call(g.host):a(g.items,g.host).not(".jqx-sortable-helper").not(".jqx-sortable-placeholder"),g]);for(i.push([a.isFunction(this.items)?this.items.call(this.host,null,{options:this,item:this.currentItem}):a(this.items,this.host).not(".jqx-sortable-helper").not(".jqx-sortable-placeholder"),this]),d=i.length-1;d>=0;d--)i[d][0].each(c);return a(h)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.itemsArray=a.grep(this.itemsArray,function(a){for(var c=0;c<b.length;c++)if(b[c]===a.item[0])return!1;return!0})},_refreshItems:function(b){this.itemsArray=[],this.owners=[this];var c,d,e,f,g,h,i,j,k=this.itemsArray,l=[[a.isFunction(this.items)?this.items.call(this.host[0],b,{item:this.currentItem}):a(this.items,this.host),this]],m=this._connectWith();if(m&&this.ready)for(c=m.length-1;c>=0;c--)for(e=a(m[c],this.document[0]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetName),f&&f!==this&&!f.instance.disabled&&(l.push([a.isFunction(f.instance.items)?f.items.call(f.instance.host[0],b,{item:this.currentItem}):a(f.instance.items,f.instance.host),f.instance]),this.owners.push(f.instance));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;d<j;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.itemsArray.length-1;c>=0;c--)d=this.itemsArray[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.toleranceElement?a(this.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);if(this.custom&&this.custom.refreshowners)this.custom.refreshowners.call(this);else for(c=this.owners.length-1;c>=0;c--)f=this.owners[c].host.offset(),this.owners[c].containerCache.left=f.left,this.owners[c].containerCache.top=f.top,this.owners[c].containerCache.width=this.owners[c].host.outerWidth(),this.owners[c].containerCache.height=this.owners[c].host.outerHeight();return this},_cancelSelect:function(){that=this,that.host.addClass("jqx-disableselect")},_createPlaceholder:function(b){b=b||this;var c,d=b;d.placeholderShow&&d.placeholderShow.constructor!==String||(c=d.placeholderShow,d.placeholderShow={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" jqx-sortable-placeholder").removeClass("jqx-sortable-helper");return"tr"===d?b.currentItem.children().each(function(){a("<td>&#160;</td>",b.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(e)}):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){c&&!d.forcePlaceholderSize||(e.height()||e.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholderShow.element.call(b.host,b.currentItem)),b.currentItem.after(b.placeholder),b.placeholderShow.update(b,b.placeholder)},_contactOwners:function(b){var c,d,e,f,g,h,i,j,k,l,m=null,n=null;for(c=this.owners.length-1;c>=0;c--)if(!a.contains(this.currentItem[0],this.owners[c].host[0]))if(this._intersectsWith(this.owners[c].containerCache)){if(m&&a.contains(this.owners[c].host[0],m.host[0]))continue;m=this.owners[c],n=c}else this.owners[c].containerCache.over&&(this.owners[c]._raiseEvent("4",this._uiHash(this)),this.owners[c].containerCache.over=0);if(m)if(1===this.owners.length)this.owners[n].containerCache.over||(this.owners[n]._raiseEvent("5",this._uiHash(this)),this.owners[n].containerCache.over=1);else{e=1e4,f=null,k=m.floating||this._isFloating(this.currentItem),g=k?"left":"top",h=k?"width":"height",l=k?"clientX":"clientY";var o=this.itemsArray;for(d=o.length-1;d>=0;d--)a.contains(this.owners[n].host[0],o[d].item[0])&&o[d].item[0]!==this.currentItem[0]&&(i=o[d].item.offset()[g],j=!1,b[l]-i>o[d][h]/2&&(j=!0),Math.abs(b[l]-i)<e&&(e=Math.abs(b[l]-i),f=o[d],this.direction=j?"up":"down"));if(!f&&!this.dropOnEmpty)return;if(this.currentContainer===this.owners[n])return void(this.currentContainer.containerCache.over||(this.owners[n]._raiseEvent("5",this._uiHash()),this.currentContainer.containerCache.over=1));if(this.owners[n].host.children().length+1>this.owners[n].maxItems)return this.currentContainer=this._currentContainer,f=this._rearrange(b,null,this.currentContainer.host,!0),this._currentContainer.containerCache.over=1,void this.placeholderShow.update(this.currentContainer,this.placeholder);f?this._rearrange(b,f,null,!0):this._rearrange(b,null,this.owners[n].host,!0),this._raiseEvent("2",this._uiHash()),this.owners[n]._raiseEvent("2",this._uiHash(this)),this.currentContainer=this.owners[n],this.placeholderShow.update(this.currentContainer,this.placeholder),this.owners[n]._raiseEvent("5",this._uiHash(this)),this.owners[n].containerCache.over=1}},_utility:function(b){var c=this,d=a.isFunction(c.helper)?a(c.helper.apply(this.host[0],[b,this.currentItem])):"clone"===c.helper?this.currentItem.clone():this.currentItem;return d.parents("body").length||a("parent"!==c.appendTo?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]===this.currentItem[0]&&(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")}),d[0].style.width&&!c.forceHelperSize||d.width(this.currentItem.width()),d[0].style.height&&!c.forceHelperSize||d.height(this.currentItem.height()),d.scrollParent=function(b){var c=this.css("position"),d="absolute"===c,e=b?/(auto|scroll|hidden)/:/(auto|scroll)/,f=this.parents().filter(function(){var b=a(this);return(!d||"static"!==b.css("position"))&&e.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&f.length?f:a(this[0].ownerDocument||document)},d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.jqx.browser.msie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_storeMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this;"parent"===a.containment&&(a.containment=this.helper[0].parentNode),"document"!==a.containment&&"window"!==a.containment||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===a.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===a.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,f=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():f?0:e.scrollTop())*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():f?0:e.scrollLeft())*d}},_generatePosition:function(b){var c,d,e=this,f=b.pageX,g=b.pageY,h="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(h[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[0])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_clear:function(a,b){function c(a,b,c){return function(d){var e=this._events.indexOf(a);c._raiseEvent(e,b._uiHash(b))}}this.reverting=!1;var d,e=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(d in this._storedCSS)"auto"!==this._storedCSS[d]&&"static"!==this._storedCSS[d]||(this._storedCSS[d]="");this.currentItem.css(this._storedCSS).removeClass("jqx-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&e.push(function(a){this._raiseEvent("6",this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".jqx-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||e.push(function(a){this._raiseEvent("11",this._uiHash())}),this!==this.currentContainer&&(b||(e.push(function(a){this._raiseEvent("7",this._uiHash())}),e.push(function(a){return function(b){a._raiseEvent("6",this._uiHash(this))}}.call(this,this.currentContainer)),e.push(function(a){return function(b){a._raiseEvent("11",this._uiHash(this))}}.call(this,this.currentContainer)))),d=this.owners.length-1;d>=0;d--)b||e.push(c("deactivate",this,this.owners[d])),this.owners[d].containerCache.over&&(e.push(c("out",this,this.owners[d])),this.owners[d].containerCache.over=0);return this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,b||this._raiseEvent("1",this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),b||this._raiseEvent("10",this._uiHash()),this.fromOutside=!1,!this.cancelHelperRemoval},disable:function(){that=this,that.disabled=!0},enable:function(){that=this,that.disabled=!1},instance:function(){return that=this,that},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.host:null}},_raiseEvent:function(b,c){that=this;var d=a.Event(that._events[b]);return d.args=c,that.host.trigger(d)},propertyChangedHandler:function(a,b,c,d){if(that=this,d!==c)switch(b){case"disabled":that.disabled=d}}})}(jqxBaseFramework);

mercurial