OwlCyberSecurity - MANAGER
Edit File: jquery.ui.nestedSortable.min.js
(function(a){a.widget("mjs.nestedSortable",a.extend({},a.ui.sortable.prototype,{options:{tabSize:20,disableNesting:"mjs-nestedSortable-no-nesting",errorClass:"mjs-nestedSortable-error",doNotClear:false,listType:"ol",maxLevels:0,protectRoot:false,rootID:null,rtl:false,isAllowed:function(c,b){return true}},_create:function(){this.element.data("sortable",this.element.data("nestedSortable"));if(!this.element.is(this.options.listType)){throw new Error("nestedSortable: Please check the listType option is set to your actual list type")}return a.ui.sortable.prototype._create.apply(this,arguments)},destroy:function(){this.element.removeData("nestedSortable").unbind(".nestedSortable");return a.ui.sortable.prototype.destroy.apply(this,arguments)},_mouseDrag:function(e){this.position=this._generatePosition(e);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}var j=this.options;if(this.options.scroll){var f=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-e.pageY<j.scrollSensitivity){this.scrollParent[0].scrollTop=f=this.scrollParent[0].scrollTop+j.scrollSpeed}else{if(e.pageY-this.overflowOffset.top<j.scrollSensitivity){this.scrollParent[0].scrollTop=f=this.scrollParent[0].scrollTop-j.scrollSpeed}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-e.pageX<j.scrollSensitivity){this.scrollParent[0].scrollLeft=f=this.scrollParent[0].scrollLeft+j.scrollSpeed}else{if(e.pageX-this.overflowOffset.left<j.scrollSensitivity){this.scrollParent[0].scrollLeft=f=this.scrollParent[0].scrollLeft-j.scrollSpeed}}}else{if(e.pageY-a(document).scrollTop()<j.scrollSensitivity){f=a(document).scrollTop(a(document).scrollTop()-j.scrollSpeed)}else{if(a(window).height()-(e.pageY-a(document).scrollTop())<j.scrollSensitivity){f=a(document).scrollTop(a(document).scrollTop()+j.scrollSpeed)}}if(e.pageX-a(document).scrollLeft()<j.scrollSensitivity){f=a(document).scrollLeft(a(document).scrollLeft()-j.scrollSpeed)}else{if(a(window).width()-(e.pageX-a(document).scrollLeft())<j.scrollSensitivity){f=a(document).scrollLeft(a(document).scrollLeft()+j.scrollSpeed)}}}if(f!==false&&a.ui.ddmanager&&!j.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}}this.positionAbs=this._convertPositionTo("absolute");var p=this.placeholder.offset().top;if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}for(var n=this.items.length-1;n>=0;n--){var q=this.items[n],k=q.item[0],d=this._intersectsWithPointer(q);if(!d){continue}if(k!=this.currentItem[0]&&this.placeholder[d==1?"next":"prev"]()[0]!=k&&!a.contains(this.placeholder[0],k)&&(this.options.type=="semi-dynamic"?!a.contains(this.element[0],k):true)){a(k).mouseenter();this.direction=d==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(q)){a(k).mouseleave();this._rearrange(e,q)}else{break}this._clearEmpty(k);this._trigger("change",e,this._uiHash());break}}var h=(this.placeholder[0].parentNode.parentNode&&a(this.placeholder[0].parentNode.parentNode).closest(".ui-sortable").length)?a(this.placeholder[0].parentNode.parentNode):null,c=this._getLevel(this.placeholder),l=this._getChildLevels(this.helper);var m=this.placeholder[0].previousSibling?a(this.placeholder[0].previousSibling):null;if(m!=null){while(m[0].nodeName.toLowerCase()!="li"||m[0]==this.currentItem[0]||m[0]==this.helper[0]){if(m[0].previousSibling){m=a(m[0].previousSibling)}else{m=null;break}}}var b=this.placeholder[0].nextSibling?a(this.placeholder[0].nextSibling):null;if(b!=null){while(b[0].nodeName.toLowerCase()!="li"||b[0]==this.currentItem[0]||b[0]==this.helper[0]){if(b[0].nextSibling){b=a(b[0].nextSibling)}else{b=null;break}}}var g=document.createElement(j.listType);this.beyondMaxLevels=0;if(h!=null&&b==null&&(j.rtl&&(this.positionAbs.left+this.helper.outerWidth()>h.offset().left+h.outerWidth())||!j.rtl&&(this.positionAbs.left<h.offset().left))){h.after(this.placeholder[0]);this._clearEmpty(h[0]);this._trigger("change",e,this._uiHash())}else{if(m!=null&&(j.rtl&&(this.positionAbs.left+this.helper.outerWidth()<m.offset().left+m.outerWidth()-j.tabSize)||!j.rtl&&(this.positionAbs.left>m.offset().left+j.tabSize))){this._isAllowed(m,c,c+l+1);if(!m.children(j.listType).length){m[0].appendChild(g)}if(p&&(p<=m.offset().top)){m.children(j.listType).prepend(this.placeholder)}else{m.children(j.listType)[0].appendChild(this.placeholder[0])}this._trigger("change",e,this._uiHash())}else{this._isAllowed(h,c,c+l)}}this._contactContainers(e);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,e)}this._trigger("sort",e,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(d,e){if(this.beyondMaxLevels){this.placeholder.removeClass(this.options.errorClass);if(this.domPosition.prev){a(this.domPosition.prev).after(this.placeholder)}else{a(this.domPosition.parent).prepend(this.placeholder)}this._trigger("revert",d,this._uiHash())}for(var b=this.items.length-1;b>=0;b--){var c=this.items[b].item[0];this._clearEmpty(c)}a.ui.sortable.prototype._mouseStop.apply(this,arguments)},serialize:function(c){var e=a.extend({},this.options,c),b=this._getItemsAsjQuery(e&&e.connected),d=[];a(b).each(function(){var g=(a(e.item||this).attr(e.attribute||"id")||"").match(e.expression||(/(.+)[-=_](.+)/)),f=(a(e.item||this).parent(e.listType).parent(e.items).attr(e.attribute||"id")||"").match(e.expression||(/(.+)[-=_](.+)/));if(g){d.push(((e.key||g[1])+"["+(e.key&&e.expression?g[1]:g[2])+"]")+"="+(f?(e.key&&e.expression?f[1]:f[2]):e.rootID))}});if(!d.length&&e.key){d.push(e.key+"=")}return d.join("&")},toHierarchy:function(e){var f=a.extend({},this.options,e),c=f.startDepthCount||0,d=[];a(this.element).children(f.items).each(function(){var g=b(this);d.push(g)});return d;function b(h){var i=(a(h).attr(f.attribute||"id")||"").match(f.expression||(/(.+)[-=_](.+)/));if(i){var g={id:i[2]};if(a(h).children(f.listType).children(f.items).length>0){g.children=[];a(h).children(f.listType).children(f.items).each(function(){var j=b(this);g.children.push(j)})}return g}}},toArray:function(d){var g=a.extend({},this.options,d),b=g.startDepthCount||0,c=[],e=2;c.push({item_id:g.rootID,parent_id:"none",depth:b,left:"1",right:(a(g.items,this.element).length+1)*2});a(this.element).children(g.items).each(function(){e=f(this,b+1,e)});c=c.sort(function(i,h){return(i.left-h.left)});return c;function f(k,m,l){var j=l+1,n,i;if(a(k).children(g.listType).children(g.items).length>0){m++;a(k).children(g.listType).children(g.items).each(function(){j=f(a(this),m,j)});m--}n=(a(k).attr(g.attribute||"id")).match(g.expression||(/(.+)[-=_](.+)/));if(m===b+1){i=g.rootID}else{var h=(a(k).parent(g.listType).parent(g.items).attr(g.attribute||"id")).match(g.expression||(/(.+)[-=_](.+)/));i=h[2]}if(n){c.push({item_id:n[2],parent_id:i,depth:m,left:l,right:j})}l=j+1;return l}},_clearEmpty:function(b){var c=a(b).children(this.options.listType);if(c.length&&!c.children().length&&!this.options.doNotClear){c.remove()}},_getLevel:function(b){var d=1;if(this.options.listType){var c=b.closest(this.options.listType);while(c&&c.length>0&&!c.is(".ui-sortable")){d++;c=c.parent().closest(this.options.listType)}}return d},_getChildLevels:function(d,f){var c=this,e=this.options,b=0;f=f||0;a(d).children(e.listType).children(e.items).each(function(g,h){b=Math.max(c._getChildLevels(h,f+1),b)});return f?b+1:b},_isAllowed:function(b,g,e){var f=this.options,d=a(this.domPosition.parent).hasClass("ui-sortable")?true:false,c=this.placeholder.closest(".ui-sortable").nestedSortable("option","maxLevels");if(!f.isAllowed(this.currentItem,b)||b&&b.hasClass(f.disableNesting)||f.protectRoot&&(b==null&&!d||d&&g>1)){this.placeholder.addClass(f.errorClass);if(c<e&&c!=0){this.beyondMaxLevels=e-c}else{this.beyondMaxLevels=1}}else{if(c<e&&c!=0){this.placeholder.addClass(f.errorClass);this.beyondMaxLevels=e-c}else{this.placeholder.removeClass(f.errorClass);this.beyondMaxLevels=0}}}}));a.mjs.nestedSortable.prototype.options=a.extend({},a.ui.sortable.prototype.options,a.mjs.nestedSortable.prototype.options)})(jQuery);