Splitter Test written. Doesn't pass.
[order_line_extra.git] / js / jquery-sortable-min.js
1 !function(e,y,h){var k,p,q;function u(a,b){var c=Math.max(0,a[0]-b[0],b[0]-a[1]),d=Math.max(0,a[2]-b[1],b[1]-a[3]);return c+d}function v(a,b,c){for(var d=a.length,c=c?"offset":"position";d--;){var f=a[d].el?a[d].el:e(a[d]),l=f[c]();b[d]=[l.left,l.left+f.outerWidth(!0),l.top,l.top+f.outerHeight(!0)]}}function m(a,b){var c=b.offset();return{left:a.left-c.left,top:a.top-c.top}}function w(a,b,c){for(var b=[b.left,b.top],c=c&&[c.left,c.top],d,f=a.length,e=[];f--;)d=a[f],e[f]=[f,u(d,b),c&&u(d,c)];return e=
2 e.sort(function(a,b){return b[1]-a[1]||b[2]-a[2]||b[0]-a[0]})}function n(a,b,c,d){a=a.find(b);for(b=a.length;b--;){var f=a.eq(b).data(i);if(f)f[c](d)}}function o(a){this.options=e.extend({},j,a);this.containers=[];this.childGroups=[];this.scrolledProxy=e.proxy(this.scrolled,this);this.dragProxy=e.proxy(this.drag,this);this.dropProxy=e.proxy(this.drop,this);this.options.parentGroup?this.options.parentGroup.childGroups.push(this):(this.placeholder=e(this.options.placeholder),a.isValidTarget||(this.options.isValidTarget=
3 h))}function r(a,b){this.el=a;this.childGroups=[];this.floatRight=!1;this.dragInitProxy=e.proxy(this.dragInit,this);this.options=e.extend({},z,b);this.group=o.get(this.options);this.rootGroup=this.options.rootGroup=this.options.rootGroup||this.group;this.parentGroup=this.options.parentGroup=this.options.parentGroup||this.group;this.handle=this.rootGroup.options.handle||this.rootGroup.options.itemSelector;this.enable(!0)}var i="sortable",z={drag:!0,drop:!0,exclude:"",nested:!0,vertical:!0},j={afterMove:function(){},
4 containerSelector:"ol, ul",distance:0,handle:"",itemSelector:"li",isValidTarget:function(){return!0},onCancel:function(){},onDrag:function(a,b){a.css(b)},onDragStart:function(a){a.css({height:a.height(),width:a.width()});a.addClass("dragged");e("body").addClass("dragging")},onDrop:function(a){a.removeClass("dragged").removeAttr("style");e("body").removeClass("dragging")},onMousedown:function(a,b){b.preventDefault()},placeholder:'<li class="placeholder"/>',pullPlaceholder:!0,serialize:function(a,b,
5 c){a=e.extend({},a.data());if(c)return b;b[0]&&(a.children=b,delete a.subContainer);delete a.sortable;return a},tolerance:0},s={},x=0;"ontouchstart"in y?(k="touchstart.sortable",p="touchend.sortable touchcancel.sortable",q="touchmove.sortable"):(k="mousedown.sortable",p="mouseup.sortable",q="mousemove.sortable");o.get=function(a){if(!s[a.group]){if(!a.group)a.group=x++;s[a.group]=new o(a)}return s[a.group]};o.prototype={dragInit:function(a,b){this.$document=e(b.el[0].ownerDocument);this.toggleListeners("on");
6 this.item=e(a.target).closest(this.options.itemSelector);this.itemContainer=b;this.setPointer(a);this.options.onMousedown(this.item,a,j.onMousedown)},drag:function(a){if(!this.dragging){if(!this.distanceMet(a))return;n(this.item,this.options.containerSelector,"disable",true);this.options.onDragStart(this.item,this.itemContainer,j.onDragStart);this.item.before(this.placeholder);this.dragging=true}this.setPointer(a);this.options.onDrag(this.item,m(this.pointer,this.item.offsetParent()),j.onDrag);var b=
7 a.pageX,a=a.pageY,c=this.sameResultBox,d=this.options.tolerance;if(!c||c.top-d>a||c.bottom+d<a||c.left-d>b||c.right+d<b)this.searchValidTarget()||this.placeholder.detach()},drop:function(){this.toggleListeners("off");if(this.dragging){if(this.placeholder.closest("html")[0])this.placeholder.before(this.item).detach();else this.options.onCancel(this.item,this.itemContainer,j.onCancel);this.options.onDrop(this.item,this.getContainer(this.item),j.onDrop);n(this.item,this.options.containerSelector,"enable",
8 true);this.clearDimensions();this.clearOffsetParent();this.lastAppendedItem=this.sameResultBox=h;this.dragging=false}this.item=h},searchValidTarget:function(a,b){if(!a){a=this.relativePointer||this.pointer;b=this.lastRelativePointer||this.lastPointer}for(var c=w(this.getContainerDimensions(),a,b),d=c.length;d--;){var f=c[d][0];if(!c[d][1]||this.options.pullPlaceholder){f=this.containers[f];if(!this.$getOffsetParent())var e=f.getItemOffsetParent(),a=m(a,e),b=m(b,e);if(f.searchValidTarget(a,b))return true}}},
9 movePlaceholder:function(a,b,c,d){var f=this.lastAppendedItem;if(d||!(f&&f[0]===b[0])){b[c](this.placeholder);this.lastAppendedItem=b;this.sameResultBox=d;this.options.afterMove(this.placeholder,a)}},getContainerDimensions:function(){if(!this.containerDimensions)v(this.containers,this.containerDimensions=[],!this.$getOffsetParent());return this.containerDimensions},getContainer:function(a){return a.closest(this.options.containerSelector).data(i)},$getOffsetParent:function(){if(this.offsetParent===
10 h){var a=this.containers.length-1,b=this.containers[a].getItemOffsetParent();if(!this.options.parentGroup)for(;a--;)if(b[0]!=this.containers[a].getItemOffsetParent()[0]){b=false;break}this.offsetParent=b}return this.offsetParent},clearOffsetParent:function(){this.offsetParent=h},setPointer:function(a){a={left:a.pageX,top:a.pageY};if(this.$getOffsetParent()){var b=m(a,this.$getOffsetParent());this.lastRelativePointer=this.relativePointer;this.relativePointer=b}this.lastPointer=this.pointer;this.pointer=
11 a},distanceMet:function(a){return Math.max(Math.abs(this.pointer.left-a.pageX),Math.abs(this.pointer.top-a.pageY))>=this.options.distance},addContainer:function(a){this.containers.push(a)},removeContainer:function(a){a=e.inArray(a,this.containers);if(a!==-1){var b=this.containers,c=b.slice(a+1||b.length);b.length=a<0?b.length+a:a;b.push.apply(b,c)}},scrolled:function(){this.clearDimensions();this.clearOffsetParent()},toggleListeners:function(a){this.$document[a](q,this.dragProxy)[a](p,this.dropProxy)[a]("scroll.sortable",
12 this.scrolledProxy)},clearDimensions:function(){this.containerDimensions=h;for(var a=this.containers.length;a--;)this.containers[a].itemDimensions=h;for(a=this.childGroups.length;a--;)this.childGroups[a].clearDimensions()}};r.prototype={dragInit:function(a){var b=this.rootGroup;!b.item&&a.which===1&&this.options.drag&&!e(a.target).is(this.options.exclude)&&b.dragInit(a,this)},searchValidTarget:function(a,b){var c=w(this.getItemDimensions(),a,b),d=c.length,f=this.rootGroup,e=!f.options.isValidTarget||
13 f.options.isValidTarget(f.item,this);if(!d&&e){f.movePlaceholder(this,this.el,"append");return true}for(;d--;){f=c[d][0];if(!c[d][1]&&this.options.nested&&this.getContainerGroup(f)){if(this.getContainerGroup(f).searchValidTarget(a,b))return true}else if(e){this.movePlaceholder(f,a);return true}}},movePlaceholder:function(a,b){var c=e(this.items[a]),d=this.itemDimensions[a],f="after",h=c.outerWidth(),i=c.outerHeight(),g=c.offset(),g={left:g.left,right:g.left+h,top:g.top,bottom:g.top+i};if(this.options.vertical)if(b.top<=
14 (d[2]+d[3])/2){f="before";g.bottom=g.bottom-i/2}else g.top=g.top+i/2;else if(b.left<=(d[0]+d[1])/2!=this.floatRight){f="before";g.right=g.right-h/2}else g.left=g.left+h/2;this.rootGroup.movePlaceholder(this,c,f,g)},getItemDimensions:function(){if(!this.itemDimensions){this.items=this.$getChildren(this.el,"item").filter(":not(.dragged)").get();v(this.items,this.itemDimensions=[])}return this.itemDimensions},getItemOffsetParent:function(){var a=this.el;return a.css("position")==="relative"||a.css("position")===
15 "absolute"||a.css("position")==="fixed"?a:a.offsetParent()},getContainerGroup:function(a){var b=e.data(this.items[a],"subContainer");if(b===h){var c=this.$getChildren(this.items[a],"container"),b=false;if(c[0]){b=e.extend({},this.options,{parentGroup:this.group,group:x++});b=c[i](b).data(i).group}e.data(this.items[a],"subContainer",b)}return b},$getChildren:function(a,b){return e(a).children(this.rootGroup.options[b+"Selector"])},_serialize:function(a,b){var c=this,d=this.$getChildren(a,b?"item":
16 "container").not(this.options.exclude).map(function(){return c._serialize(e(this),!b)}).get();return this.rootGroup.options.serialize(a,d,b)}};var t={enable:function(a){this.options.drop&&this.group.addContainer(this);a||n(this.el,this.options.containerSelector,"enable",true);this.el.on(k,this.handle,this.dragInitProxy)},disable:function(a){this.options.drop&&this.group.removeContainer(this);a||n(this.el,this.options.containerSelector,"disable",true);this.el.off(k)},serialize:function(){return this._serialize(this.el,
17 true)}};e.extend(r.prototype,t);e.fn[i]=function(a){var b=Array.prototype.slice.call(arguments,1);return this.map(function(){var c=e(this),d=c.data(i);if(d&&t[a])return t[a].apply(d,b)||this;!d&&(a===h||typeof a==="object")&&c.data(i,new r(c,a));return this})}}(jQuery,window);