| Current Path : /home/purehotels/public_html/media/com_acymailing/js/ |
| Current File : /home/purehotels/public_html/media/com_acymailing/js/sortable.js |
/**
* @package AcyMailing for Joomla!
* @version 5.8.1
* @author acyba.com
* @copyright (C) 2009-2017 ACYBA S.A.R.L. All rights reserved.
* @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
*/
!function(t){"use strict";"function"==typeof define&&define.amd?define(t):"undefined"!=typeof module&&void 0!==module.exports?module.exports=t():window.Sortable=t()}(function(){"use strict";function t(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be HTMLElement, and not "+{}.toString.call(t);this.el=t,this.options=e=g({},e),t[U]=this;var n={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(t.nodeName)?"li":">*",ghostClass:"acysortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"acyorder-id",delay:0,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0}};for(var i in n)!(i in e)&&(e[i]=n[i]);nt(e);for(var a in this)"_"===a.charAt(0)&&"function"==typeof this[a]&&(this[a]=this[a].bind(this));this.nativeDraggable=!e.forceFallback&&G,o(t,"mousedown",this._onTapStart),o(t,"touchstart",this._onTapStart),o(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(o(t,"dragover",this),o(t,"dragenter",this)),tt.push(this._onDragOver)}function e(t,e){"clone"!==t.lastPullMode&&(e=!0),y&&y.state!==e&&(s(y,"display",e?"none":""),e||y.state&&(t.options.group.revertClone?(w.insertBefore(y,T),t._animate(b,y)):w.insertBefore(y,b)),y.state=e)}function n(t,e,n){if(t){n=n||W;do{if(">*"===e&&t.parentNode===n||p(t,e))return t}while(t=i(t))}return null}function i(t){var e=t.host;return e&&e.nodeType?e:t.parentNode}function o(t,e,n){t.addEventListener(e,n,z)}function a(t,e,n){t.removeEventListener(e,n,z)}function r(t,e,n){if(t)if(t.classList)t.classList[n?"add":"remove"](e);else{var i=(" "+t.className+" ").replace(L," ").replace(" "+e+" "," ");t.className=(i+(n?" "+e:"")).replace(L," ")}}function s(t,e,n){var i=t&&t.style;if(i){if(void 0===n)return W.defaultView&&W.defaultView.getComputedStyle?n=W.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in i||(e="-webkit-"+e),i[e]=n+("string"==typeof n?"":"px")}}function l(t,e,n){if(t){var i=t.getElementsByTagName(e),o=0,a=i.length;if(n)for(;o<a;o++)n(i[o],o);return i}return[]}function c(t,e,n,i,o,a,r){t=t||e[U];var s=W.createEvent("Event"),l=t.options,c="on"+n.charAt(0).toUpperCase()+n.substr(1);s.initEvent(n,!0,!0),s.to=e,s.from=o||e,s.item=i||e,s.clone=y,s.oldIndex=a,s.newIndex=r,e.dispatchEvent(s),l[c]&&l[c].call(t,s)}function d(t,e,n,i,o,a,r){var s,l,c=t[U],d=c.options.onMove;return(s=W.createEvent("Event")).initEvent("move",!0,!0),s.to=e,s.from=t,s.dragged=n,s.draggedRect=i,s.related=o||e,s.relatedRect=a||e.getBoundingClientRect(),t.dispatchEvent(s),d&&(l=d.call(c,s,r)),l}function h(t){t.draggable=!1}function u(){Z=!1}function f(t,e){var n=0;if(!t||!t.parentNode)return-1;for(;t&&(t=t.previousElementSibling);)"TEMPLATE"===t.nodeName.toUpperCase()||">*"!==e&&!p(t,e)||n++;return n}function p(t,e){if(t){var n=(e=e.split(".")).shift().toUpperCase(),i=new RegExp("\\s("+e.join("|")+")(?=\\s)","g");return!(""!==n&&t.nodeName.toUpperCase()!=n||e.length&&((" "+t.className+" ").match(i)||[]).length!=e.length)}return!1}function g(t,e){if(t&&e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function v(t){return V?V(t).clone(!0)[0]:q&&q.dom?q.dom(t).cloneNode(!0):t.cloneNode(!0)}function m(t){for(var e=t.getElementsByTagName("input"),n=e.length;n--;){var i=e[n];i.checked&&$.push(i)}}if("undefined"==typeof window||!window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var b,_,D,y,w,T,S,C,E,x,k,N,B,Y,O,X,M,A,I,R,P={},L=/\s+/g,F=/left|right|inline/,U="Sortable"+(new Date).getTime(),H=window,W=H.document,j=H.parseInt,V=H.jQuery||H.Zepto,q=H.Polymer,z=!1,G=!!("draggable"in W.createElement("div")),Q=function(t){return!navigator.userAgent.match(/Trident.*rv[ :]?11\./)&&(t=W.createElement("x"),t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents)}(),Z=!1,J=Math.abs,K=Math.min,$=[],tt=[],et=function(t,e){var n,i;return function(){void 0===n&&(n=arguments,i=this,setTimeout(function(){1===n.length?t.call(i,n[0]):t.apply(i,n),n=void 0},e))}}(function(t,e,n){if(n&&e.scroll){var i,o,a,r,s,l,c=n[U],d=e.scrollSensitivity,h=e.scrollSpeed,u=t.clientX,f=t.clientY,p=window.innerWidth,g=window.innerHeight;if(E!==n&&(C=e.scroll,E=n,x=e.scrollFn,!0===C)){C=n;do{if(C.offsetWidth<C.scrollWidth||C.offsetHeight<C.scrollHeight)break}while(C=C.parentNode)}C&&(i=C,o=C.getBoundingClientRect(),a=(J(o.right-u)<=d)-(J(o.left-u)<=d),r=(J(o.bottom-f)<=d)-(J(o.top-f)<=d)),a||r||(r=(g-f<=d)-(f<=d),((a=(p-u<=d)-(u<=d))||r)&&(i=H)),P.vx===a&&P.vy===r&&P.el===i||(P.el=i,P.vx=a,P.vy=r,clearInterval(P.pid),i&&(P.pid=setInterval(function(){if(l=r?r*h:0,s=a?a*h:0,"function"==typeof x)return x.call(c,s,l,t);i===H?H.scrollTo(H.pageXOffset+s,H.pageYOffset+l):(i.scrollTop+=l,i.scrollLeft+=s)},24)))}},30),nt=function(t){function e(t,e){return void 0!==t&&!0!==t||(t=n.name),"function"==typeof t?t:function(n,i){var o=i.options.group.name;return e?t:t&&(t.join?t.indexOf(o)>-1:o==t)}}var n={},i=t.group;i&&"object"==typeof i||(i={name:i}),n.name=i.name,n.checkPull=e(i.pull,!0),n.checkPut=e(i.put),n.revertClone=i.revertClone,t.group=n};return t.prototype={constructor:t,_onTapStart:function(t){var e,i=this,o=this.el,a=this.options,r=a.preventOnFilter,s=t.type,l=t.touches&&t.touches[0],d=(l||t).target,h=t.target.shadowRoot&&t.path[0]||d,u=a.filter;if(m(o),!b&&!("mousedown"===s&&0!==t.button||a.disabled)&&(d=n(d,a.draggable,o))&&S!==d){if(e=f(d,a.draggable),"function"==typeof u){if(u.call(this,t,d,this))return c(i,h,"filter",d,o,e),void(r&&t.preventDefault())}else if(u&&(u=u.split(",").some(function(t){if(t=n(h,t.trim(),o))return c(i,t,"filter",d,o,e),!0})))return void(r&&t.preventDefault());a.handle&&!n(h,a.handle,o)||this._prepareDragStart(t,l,d,e)}},_prepareDragStart:function(t,e,n,i){var a,s=this,d=s.el,u=s.options,f=d.ownerDocument;n&&!b&&n.parentNode===d&&(A=t,w=d,_=(b=n).parentNode,T=b.nextSibling,S=n,X=u.group,Y=i,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,b.style["will-change"]="transform",a=function(){s._disableDelayedDrag(),b.draggable=s.nativeDraggable,r(b,u.chosenClass,!0),s._triggerDragStart(t,e),c(s,w,"choose",b,w,Y)},u.ignore.split(",").forEach(function(t){l(b,t.trim(),h)}),o(f,"mouseup",s._onDrop),o(f,"touchend",s._onDrop),o(f,"touchcancel",s._onDrop),o(f,"pointercancel",s._onDrop),o(f,"selectstart",s),u.delay?(o(f,"mouseup",s._disableDelayedDrag),o(f,"touchend",s._disableDelayedDrag),o(f,"touchcancel",s._disableDelayedDrag),o(f,"mousemove",s._disableDelayedDrag),o(f,"touchmove",s._disableDelayedDrag),o(f,"pointermove",s._disableDelayedDrag),s._dragStartTimer=setTimeout(a,u.delay)):a())},_disableDelayedDrag:function(){var t=this.el.ownerDocument;clearTimeout(this._dragStartTimer),a(t,"mouseup",this._disableDelayedDrag),a(t,"touchend",this._disableDelayedDrag),a(t,"touchcancel",this._disableDelayedDrag),a(t,"mousemove",this._disableDelayedDrag),a(t,"touchmove",this._disableDelayedDrag),a(t,"pointermove",this._disableDelayedDrag)},_triggerDragStart:function(t,e){(e=e||("touch"==t.pointerType?t:null))?(A={target:b,clientX:e.clientX,clientY:e.clientY},this._onDragStart(A,"touch")):this.nativeDraggable?(o(b,"dragend",this),o(w,"dragstart",this._onDragStart)):this._onDragStart(A,!0);try{W.selection?setTimeout(function(){W.selection.empty()}):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(){if(w&&b){var e=this.options;r(b,e.ghostClass,!0),r(b,e.dragClass,!1),t.active=this,c(this,w,"start",b,w,Y)}else this._nulling()},_emulateDragOver:function(){if(I){if(this._lastX===I.clientX&&this._lastY===I.clientY)return;this._lastX=I.clientX,this._lastY=I.clientY,Q||s(D,"display","none");var t=W.elementFromPoint(I.clientX,I.clientY),e=t,n=tt.length;if(e)do{if(e[U]){for(;n--;)tt[n]({clientX:I.clientX,clientY:I.clientY,target:t,rootEl:e});break}t=e}while(e=e.parentNode);Q||s(D,"display","")}},_onTouchMove:function(e){if(A){var n=this.options,i=n.fallbackTolerance,o=n.fallbackOffset,a=e.touches?e.touches[0]:e,r=a.clientX-A.clientX+o.x,l=a.clientY-A.clientY+o.y,c=e.touches?"translate3d("+r+"px,"+l+"px,0)":"translate("+r+"px,"+l+"px)";if(!t.active){if(i&&K(J(a.clientX-this._lastX),J(a.clientY-this._lastY))<i)return;this._dragStarted()}this._appendGhost(),R=!0,I=a,s(D,"webkitTransform",c),s(D,"mozTransform",c),s(D,"msTransform",c),s(D,"transform",c),e.preventDefault()}},_appendGhost:function(){if(!D){var t,e=b.getBoundingClientRect(),n=s(b),i=this.options;r(D=b.cloneNode(!0),i.ghostClass,!1),r(D,i.fallbackClass,!0),r(D,i.dragClass,!0),s(D,"top",e.top-j(n.marginTop,10)),s(D,"left",e.left-j(n.marginLeft,10)),s(D,"width",e.width),s(D,"height",e.height),s(D,"opacity","0.8"),s(D,"position","fixed"),s(D,"zIndex","100000"),s(D,"pointerEvents","none"),i.fallbackOnBody&&W.body.appendChild(D)||w.appendChild(D),t=D.getBoundingClientRect(),s(D,"width",2*e.width-t.width),s(D,"height",2*e.height-t.height)}},_onDragStart:function(t,e){var n=t.dataTransfer,i=this.options;this._offUpEvents(),X.checkPull(this,this,b,t)&&((y=v(b)).draggable=!1,y.style["will-change"]="",s(y,"display","none"),r(y,this.options.chosenClass,!1),w.insertBefore(y,b),c(this,w,"clone",b)),r(b,i.dragClass,!0),e?("touch"===e?(o(W,"touchmove",this._onTouchMove),o(W,"touchend",this._onDrop),o(W,"touchcancel",this._onDrop),o(W,"pointermove",this._onTouchMove),o(W,"pointerup",this._onDrop)):(o(W,"mousemove",this._onTouchMove),o(W,"mouseup",this._onDrop)),this._loopId=setInterval(this._emulateDragOver,50)):(n&&(n.effectAllowed="move",i.setData&&i.setData.call(this,n,b)),o(W,"drop",this),setTimeout(this._dragStarted,0))},_onDragOver:function(i){var o,a,r,l,c=this.el,h=this.options,f=h.group,p=t.active,g=X===f,v=!1,m=h.sort;if(void 0!==i.preventDefault&&(i.preventDefault(),!h.dragoverBubble&&i.stopPropagation()),!b.animated&&(R=!0,p&&!h.disabled&&(g?m||(l=!w.contains(b)):M===this||(p.lastPullMode=X.checkPull(this,p,b,i))&&f.checkPut(this,p,b,i))&&(void 0===i.rootEl||i.rootEl===this.el))){if(et(i,h,this.el),Z)return;if(o=n(i.target,h.draggable,c),a=b.getBoundingClientRect(),M!==this&&(M=this,v=!0),l)return e(p,!0),_=w,void(y||T?w.insertBefore(b,y||T):m||w.appendChild(b));if(0===c.children.length||c.children[0]===D||c===i.target&&(o=_ghostIsLast(c,i))){if(o){if(o.animated)return;r=o.getBoundingClientRect()}e(p,g),!1!==d(w,c,b,a,o,r,i)&&(b.contains(c)||(c.appendChild(b),_=c),this._animate(a,b),o&&this._animate(r,o))}else if(o&&!o.animated&&o!==b&&void 0!==o.parentNode[U]){k!==o&&(k=o,N=s(o),B=s(o.parentNode));var S=(r=o.getBoundingClientRect()).right-r.left,C=r.bottom-r.top,E=F.test(N.cssFloat+N.display)||"flex"==B.display&&0===B["flex-direction"].indexOf("row"),x=o.offsetWidth>b.offsetWidth,Y=o.offsetHeight>b.offsetHeight,O=(E?(i.clientX-r.left)/S:(i.clientY-r.top)/C)>.5,A=o.nextElementSibling,I=d(w,c,b,a,o,r,i),P=!1;if(!1!==I){if(Z=!0,setTimeout(u,30),e(p,g),1===I||-1===I)P=1===I;else if(E){var L=b.offsetTop,H=o.offsetTop;P=L===H?o.previousElementSibling===b&&!x||O&&x:o.previousElementSibling===b||b.previousElementSibling===o?(i.clientY-r.top)/C>.5:H>L}else v||(P=A!==b&&!Y||O&&Y);b.contains(c)||(P&&!A?c.appendChild(b):o.parentNode.insertBefore(b,P?A:o)),_=b.parentNode,this._animate(a,b),this._animate(r,o)}}}},_animate:function(t,e){var n=this.options.animation;if(n){var i=e.getBoundingClientRect();1===t.nodeType&&(t=t.getBoundingClientRect()),s(e,"transition","none"),s(e,"transform","translate3d("+(t.left-i.left)+"px,"+(t.top-i.top)+"px,0)"),e.offsetWidth,s(e,"transition","all "+n+"ms"),s(e,"transform","translate3d(0,0,0)"),clearTimeout(e.animated),e.animated=setTimeout(function(){s(e,"transition",""),s(e,"transform",""),e.animated=!1},n)}},_offUpEvents:function(){var t=this.el.ownerDocument;a(W,"touchmove",this._onTouchMove),a(W,"pointermove",this._onTouchMove),a(t,"mouseup",this._onDrop),a(t,"touchend",this._onDrop),a(t,"pointerup",this._onDrop),a(t,"touchcancel",this._onDrop),a(t,"selectstart",this)},_onDrop:function(e){var n=this.el,i=this.options;clearInterval(this._loopId),clearInterval(P.pid),clearTimeout(this._dragStartTimer),a(W,"mousemove",this._onTouchMove),this.nativeDraggable&&(a(W,"drop",this),a(n,"dragstart",this._onDragStart)),this._offUpEvents(),e&&(R&&(e.preventDefault(),!i.dropBubble&&e.stopPropagation()),D&&D.parentNode.removeChild(D),b&&(this.nativeDraggable&&a(b,"dragend",this),h(b),b.style["will-change"]="",r(b,this.options.ghostClass,!1),r(b,this.options.chosenClass,!1),w!==_?(O=f(b,i.draggable))>=0&&(c(null,_,"add",b,w,Y,O),c(this,w,"remove",b,w,Y,O),c(null,_,"sort",b,w,Y,O),c(this,w,"sort",b,w,Y,O)):(y&&y.parentNode.removeChild(y),b.nextSibling!==T&&(O=f(b,i.draggable))>=0&&(c(this,w,"update",b,w,Y,O),c(this,w,"sort",b,w,Y,O))),t.active&&(null!=O&&-1!==O||(O=Y),c(this,w,"end",b,w,Y,O),this.save()))),this._nulling()},_nulling:function(){w=b=_=D=T=y=S=C=E=A=I=R=O=k=N=M=X=t.active=null,$.forEach(function(t){t.checked=!0}),$.length=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragover":case"dragenter":b&&this._onDragOver(t);break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],i=this.el.children,o=0,a=i.length,r=this.options;o<a;o++)n(t=i[o],r.draggable,this.el)&&e.push("cid["+o+"]="+t.getAttribute(r.dataIdAttr));return e},sort:function(t){var e={},i=this.el;this.toArray().forEach(function(t,o){var a=i.children[o];n(a,this.options.draggable,i)&&(e[t]=a)},this),t.forEach(function(t){e[t]&&(i.removeChild(e[t]),i.appendChild(e[t]))})},save:function(){var t=this.options.store;t&&t.set(this)},closest:function(t,e){return n(t,e||this.options.draggable,this.el)},option:function(t,e){var n=this.options;if(void 0===e)return n[t];n[t]=e,"group"===t&&nt(n)},destroy:function(){var t=this.el;t[U]=null,a(t,"mousedown",this._onTapStart),a(t,"touchstart",this._onTapStart),a(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(a(t,"dragover",this),a(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),tt.splice(tt.indexOf(this._onDragOver),1),this._onDrop(),this.el=t=null}},t.create=function(e,n){return new t(e,n)},t.version="1.5.0",t});