UNPKG

@jambonn/vue-nested-draggable

Version:
1 lines 26.2 kB
var VueNestedDraggable=function(e,t){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=n(t);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,d=e[Symbol.iterator]();!(r=(a=d.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==d.return||d.return()}finally{if(o)throw i}}return n}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function c(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=d(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw i}}}}function s(e){return e||""===e}function u(e,t){for(var n,r=0;(n=e.indexOf(t))>-1;)e.splice(n,1),r++;return r}function f(e){return e[(t=0,n=e.length-1,Math.floor(Math.random()*(n-t+1)+t))];var t,n}function h(e){var t=function(e){var t=e.getBoundingClientRect(),n=t.top-document.documentElement.clientTop,r=t.bottom,o=t.left-document.documentElement.clientLeft,i=t.right;return{top:n,right:i,bottom:r,left:o,width:t.width||i-o,height:t.height||r-n,x:o,y:n}}(e),n=function(){if("undefined"!=typeof pageYOffset)return{top:pageYOffset,left:pageXOffset};var e=document.body,t=document.documentElement;return{top:(t=t.clientHeight?t:e).scrollTop,left:t.scrollLeft}}();return{x:t.left+n.left,y:t.top+n.top}}function g(e,t){var n,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o=Object.assign({start:0,end:e.length-1,maxTimes:1e3},o),a=i.start,d=i.end,l=o,c=l.returnNearestIfNoHit,s=l.maxTimes;null==a&&(a=0,d=e.length-1);for(var u,f=0;a>=0&&a<=d;){if(f>=s)throw Error("binarySearch: loop times is over ".concat(s,", you can increase the limit."));if((u=t(r=e[n=Math.floor((d-a)/2+a)],f))>0)d=n-1;else{if(!(u<0))return{index:n,value:r,count:f+1,hit:!0};a=n+1}f++}return c?{index:n,value:r,count:f+1,hit:!1,greater:u>0}:null}function p(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )"+t+"( |$)","gi").test(e.className)}function v(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"parent";e[r]&&u(e[r][n],e),e[r]=t}function m(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"parent";if(e!==t){var o=t[r],i=o[n],a=i.indexOf(t);i[a+1]!==e&&(e[r]===t[r]?(u(i,e),a=i.indexOf(t)):v(e,t[r]),i.splice(a+1,0,e))}}function y(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children";if(e===t)throw"can't append to self";var r=t[n],o=r[r.length-1];o!==e&&(v(e,t),r.push(e))}function b(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function N(e){return(N="function"==typeof Symbol&&"symbol"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":o(e)})(e)}function _(e){return"[object Array]"===Object.prototype.toString.call(e)}function T(e,t){var n=arguments.length>3?arguments[3]:void 0,r=_(e)?e:[e],o=r.map((function(e,t){return{item:e,index:t}}));n&&o.reverse();for(var i=function(){var e=o.shift(),r=e.item,i=e.index,a=e.parent,d=t(r,i,a);if(!1===d)return{v:void 0};if("skip children"===d)return"continue";if("skip siblings"===d&&(o=o.filter((function(e){return e.parent!==a}))),r.children){var l,c=r.children;n&&(c=c.slice()).reverse();var s=c.map((function(e,t){return{item:e,index:t,parent:r}}));(l=o).push.apply(l,b(s))}};o.length;){var a=i();switch(a){case"continue":continue;default:if("object"===N(a))return a.v}}}function O(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children",r=arguments.length>3?arguments[3]:void 0,o=_(e)?e:[e],i=function(){},a=function e(o,a){r&&(o=o.slice()).reverse();for(var d=o.length,l=0;l<d;l++){var c=o[l],s=t(c,l,a);if(!1===s)throw new i;if("skip children"!==s){if("skip siblings"===s)break;null!=c[n]&&e(c[n],c)}}};try{a(o)}catch(e){if(!(e instanceof i))throw e}}function x(e,t,n,r,o,i,a,d,l,c){"boolean"!=typeof a&&(l=d,d=a,a=!1);const s="function"==typeof n?n.options:n;let u;if(e&&e.render&&(s.render=e.render,s.staticRenderFns=e.staticRenderFns,s._compiled=!0,o&&(s.functional=!0)),r&&(s._scopeId=r),i?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,l(e)),e&&e._registeredComponents&&e._registeredComponents.add(i)},s._ssrRegister=u):t&&(u=a?function(e){t.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,d(e))}),u)if(s.functional){const e=s.render;s.render=function(t,n){return u.call(n),e(t,n)}}else{const e=s.beforeCreate;s.beforeCreate=e?[].concat(e,u):[u]}return n}var S=x({render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"tree-node",class:[e.data.active?e.store.activatedClass:"",e.data.open?e.store.openedClass:"",e.data.class],style:e.data.style,attrs:{id:e.data._id}},[e.isRoot?e._e():e._t("node-inner-back",[n("div",{staticClass:"tree-node-inner-back",class:[e.data.innerBackClass],style:[e.innerBackStyle,e.data.innerBackStyle]},[n("div",{staticClass:"tree-node-inner",class:[e.data.innerClass],style:[e.data.innerStyle]},[e._t("default",null,{data:e.data,store:e.store,vm:e.vm})],2)])],{styleObj:e.innerBackStyle,data:e.data,store:e.store,vm:e.vm}),e._v(" "),n("transition",{attrs:{name:e.store.childrenTransitionName}},[e.childrenVisible?n("div",{staticClass:"tree-node-children"},[e._l(e.data.children,(function(t){return n("TreeNode",{key:t._id,attrs:{data:t,store:e.store,level:e.childrenLevel,"allow-add-item":e.allowAddItem,"add-item-text":e.addItemText},on:{addItem:e.onClickChildItem},scopedSlots:e._u([{key:"default",fn:function(t){return[e._t("default",null,{data:t.data,store:t.store,vm:t.vm})]}},{key:"node-inner-back",fn:function(t){return e.store.customInnerBack?[e._t("node-inner-back",null,{styleObj:t.styleObj,data:t.data,store:t.store,vm:t.vm})]:void 0}}],null,!0)})})),e._v(" "),e.allowAddItem?n("div",{staticClass:"tree-node-action",style:[e.actionStyle],attrs:{"data-level":e.childrenLevel}},[n("button",{staticClass:"tree-node-add",on:{click:function(t){return t.preventDefault(),e.onClickAddItem(t)}}},[e._v("\n "+e._s(e.addItemText)+"\n ")])]):e._e()],2):e._e()])],2)},staticRenderFns:[]},void 0,{name:"TreeNode",props:{data:{},store:{},allowAddItem:{type:Boolean,default:!1},addItemText:{type:String,default:"Add item"},level:{default:0}},data:function(){return{vm:this}},computed:{childrenLevel:function(){return this.level+1},isRoot:function(){return this.data&&this.data.isRoot},childrenVisible:function(){var e=this.data;return this.isRoot||e&&e.children&&e.children.length&&e.open},innerBackStyle:function(){var e={marginBottom:this.store.space+"px"};return!this.isRoot&&this.level>1&&(e.paddingLeft=(this.level-1)*this.store.indent+"px"),e},actionStyle:function(){var e={};return!this.isRoot&&this.level>0&&(e.paddingLeft=this.level*this.store.indent+"px"),e}},watch:{data:{immediate:!0,handler:function(e){e&&(e._vm=this,e._treeNodePropertiesCompleted||e.isRoot||this.store.completeNode(e,this.$parent.data))}}},methods:{onClickAddItem:function(){this.$emit("addItem",this.data)},onClickChildItem:function(e){this.$emit("addItem",e)}}},void 0,!1,void 0,!1,void 0,void 0,void 0),E=function(){function e(){var t,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r={},(n="store")in(t=this)?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r}var t,n,r;return t=e,(n=[{key:"has",value:function(e){return this.store.hasOwnProperty(e)}},{key:"remember",value:function(e,t){return this.has(e)||(this.store[e]={value:t()}),this.store[e].value}},{key:"forget",value:function(e){e?this.has(e)&&delete this.store[e]:this.store={}}}])&&i(t.prototype,n),r&&i(t,r),e}();function w(e,t){for(var n=e;n;)if((n=n.parentNode)===t)return!0}document.elementsFromPoint||(document.elementsFromPoint=function(e,t){var n=[],r=void 0;do{r!==document.elementFromPoint(e,t)?(r=document.elementFromPoint(e,t),n.push(r),r.style.pointerEvents="none"):r=!1}while(r);return n.forEach((function(e){return e.style.pointerEvents="all"})),n});var k=function(e){},I=function(e){R(e.dplh,e.targetNode)},C=function(e){F(e.targetNode.parent)?function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"parent";if(e!==t){var o=t[r][n],i=o.indexOf(t);o[i-1]!==e&&(e[r]===t[r]?(u(o,e),i=o.indexOf(t)):v(e,t[r]),o.splice(i,0,e))}}(e.dplh,e.targetNode):R(e.dplh,e.targetNode.parent)},P=function(e){F(e.targetNode)?(y(e.dplh,e.targetNode),e.targetNode.open||e.store.toggleOpen(e.targetNode)):R(e.dplh,e.targetNode)},A=function(e){F(e.targetNode)?(!function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children";if(e===t)throw"can't prepend to self";var r=t[n];r[0]!==e&&(v(e,t),r.splice(0,0,e))}(e.dplh,e.targetNode),e.targetNode.open||e.store.toggleOpen(e.targetNode)):R(e.dplh,e.targetNode)},D=function(e){R(e.dplh,e.targetNode.parent)},B=function(e){F(e.targetPrev)?(y(e.dplh,e.targetPrev),e.targetPrev.open||e.store.toggleOpen(e.targetPrev)):R(e.dplh,e.targetPrev)},$=function(e){F(e.currentTree.rootData)&&y(e.dplh,e.currentTree.rootData)};function R(e,t){if(!t)return!1;var n=function(e,t){var n=e;for(;n;){if(t(n))return n;n=n.parent}}(t,(function(e){return e.parent&&F(e.parent)}));return!!n&&(m(e,n),!0)}function j(e){var t;X.hasOwnProperty(e._id)||(t=e.hasOwnProperty("draggable")?e.draggable:!e.parent||j(e.parent),X[e._id]=t);return X[e._id]}function F(e){var t;U.hasOwnProperty(e._id)||(t=e.hasOwnProperty("droppable")?e.droppable:!e.parent||F(e.parent),U[e._id]=t);return U[e._id]}function H(e,t,n,r){var o=t.length;if(r)for(var i=o-1;i>=0;i--){var a=t[i];if(a!==e.node&&n(a,i))return a}else for(var d=0;d<o;d++){var l=t[d];if(l!==e.node&&n(l,d))return l}}for(var L,V={"targetNode existed":function(e){return e.targetNode},"targetNode is placeholder":function(e){return e.targetNode.isDragPlaceHolder},"targetNode at top":function(e){return e.targetAtTop},"targetNode at bottom":function(e){return e.targetAtBottom},"targetNode is the second child of root":function(e){return e.currentTreeRootSecondChildExcludingDragging===e.targetNode},"currentTree existed":function(e){return e.currentTree},"currentTree empty":function(e){return!H(e,e.currentTree.rootData.children,(function(e){return e}))},"placeholder existed":function(e){return e.dplhEl},"placeholder in currentTree":function(e){return e.dplhElInCurrentTree},"placeholder at top":function(e){return e.dplhAtTop},"targetNode is open":function(e){return e.targetNode.open},"targetNode has children excluding placeholder":function(e){return H(e,e.targetNode.children,(function(t){return t!==e.dplh}))},"targetNode is 1st child":function(e){return H(e,e.targetNode.parent.children,(function(e){return e}))===e.targetNode},"targetNode is last child":function(e){return H(e,e.targetNode.parent.children,(function(e){return e}),!0)===e.targetNode},"on targetNode middle":function(e){return e.offset.y<=e.tiMiddleY},"at left":function(e){return e.offset.x<e.tiOffset.x},"at indent right":function(e){return e.offset.x>e.tiOffset.x+e.currentTree.indent}},M=function(){var e=Y[q],t=V[e];V[e]=function(){return Boolean(t.apply(void 0,arguments))}},q=0,Y=Object.keys(V);q<Y.length;q++)M();var U={},X={};function W(e){var t=this.store.trees,n=e.store,r={event:e.event,el:n.el,vm:this,node:this.data,store:this.store,dplh:this.store.dplh,draggableHelperData:{opt:e.options,store:n}};!function(e,t,n){var r=function(r){n.hasOwnProperty(r)&&Object.defineProperty(e,r,{get:function(){var e=this;return t.remember(r,(function(){return n[r].call(e)}))}})};for(var o in n)r(o)}(r,new E,{nodeInnerEl:function(){return this.el.querySelector(".tree-node-inner")},offset:function(){return h(this.nodeInnerEl)},offset2:function(){return{x:this.offset.x+this.nodeInnerEl.offsetWidth,y:this.offset.y+this.nodeInnerEl.offsetHeight}},offsetToViewPort:function(){var e=this.nodeInnerEl.getBoundingClientRect();return e.x=e.left,e.y=e.top,e},currentTree:function(){var e=function(e,t,n){var r,o,i,a=[],d=c(document.elementsFromPoint(e,t));try{for(d.s();!(i=d.n()).done;){var l=i.value;if(o){if(p(l,"tree")){r=l;break}a.push(l)}else p(l,"tree-node")&&(o=l)}}catch(e){d.e(e)}finally{d.f()}if(r){var s=!1;if(!w(o,r)){var u,f=c(a);try{for(f.s();!(u=f.n()).done;){if(!w(u.value,r)){s=!0;break}}}catch(e){f.e(e)}finally{f.f()}}if(!s)return n.find((function(e){return e.$el===r}))}}(this.offsetToViewPort.x,this.offsetToViewPort.y,t);if(e){var n=this.store;if(null==L&&(L=n),L!==e){if(!s(n.crossTree)||!s(e.crossTree))return;L=e}if(!s(e.droppable))return;return e}},currentTreeRootEl:function(){return document.getElementById(this.currentTree.rootData._id)},currentTreeRootOf4:function(){return z(this.currentTreeRootEl,this.currentTree.space)},currentTreeRootSecondChildExcludingDragging:function(){var e=this;return this.currentTree.rootData.children.slice(0,3).filter((function(t){return t!==e.node}))[1]},dplhEl:function(){return document.getElementById(this.dplh._id)},dplhElInCurrentTree:function(){return Boolean(this.currentTree.$el.querySelector("#".concat(this.dplh._id)))},dplhOf4:function(){return z(this.dplhEl,this.currentTree.space)},dplhAtTop:function(){return Math.abs(this.dplhOf4.y-this.currentTreeRootOf4.y)<5},targetAtTop:function(){return Math.abs(this.tiOf4.y-this.currentTreeRootOf4.y)<5},targetAtBottom:function(){return Math.abs(this.tiOf4.y2-this.currentTreeRootOf4.y2)<5},targetNode:function(){var e=this.currentTree;if(!e)throw"no currentTree";for(var t=this.offset,n=(t.x,t.y),r=e.rootData;;){var o=r.children;if(!o)break;if(this.node.parent===r&&(o=o.slice()).splice(o.indexOf(this.node),1),0===o.length)break;var i=g(o,(function(t){var r=document.getElementById(t._id),o=h(r).y;return o+r.offsetHeight+e.space<n?-1:o<=n?0:1}),null,null,!0);if(!(r=i.hit?i.value:i.bigger?o[i.index-1]:i.value)){r=o[0];break}if(!r)break;var a=z(document.getElementById(r._id).querySelector(".tree-node-inner"),e.space);if(a.y<=n&&n<=a.y2)break}return r},targetNodeEl:function(){return document.getElementById(this.targetNode._id)},tiInnerEl:function(){return this.targetNodeEl.querySelector(".tree-node-inner")},tiOffset:function(){return h(this.tiInnerEl)},tiOf4:function(){return z(this.tiInnerEl,this.currentTree.space)},tiMiddleY:function(){return this.tiOffset.y+this.tiInnerEl.offsetHeight/2},targetPrevEl:function(){var e=this.targetNodeEl.previousSibling;return p(e,"dragging")&&(e=e.previousSibling),e},targetPrev:function(){var e=this.targetPrevEl.getAttribute("id");return this.currentTree.getNodeById(e)}});var o={},i=function(e){if(!o.hasOwnProperty(e)){var t;try{t=V[e](r)}catch(n){t=n;try{process.env.DEVELOPE_SELF&&console.warn("failed to execute rule '".concat(e,"'"),n)}catch(e){}}o[e]=t}return o[e]};!0===i("currentTree existed")?!1===i("targetNode is placeholder")?!0===i("targetNode is the second child of root")?!1===i("targetNode has children excluding placeholder")?!0===i("on targetNode middle")?C(r):!1===i("on targetNode middle")&&(!0===i("at indent right")?P(r):!1===i("at indent right")&&I(r)):!0===i("targetNode has children excluding placeholder")&&A(r):!1===i("targetNode is the second child of root")&&(!1===i("currentTree empty")?!0===i("targetNode at top")?!0===i("placeholder in currentTree")?!1===i("targetNode has children excluding placeholder")?!1===i("on targetNode middle")?!1===i("at indent right")?I(r):!0===i("at indent right")&&P(r):!0===i("on targetNode middle")&&C(r):!0===i("targetNode has children excluding placeholder")&&(!1===i("on targetNode middle")?A(r):!0===i("on targetNode middle")&&C(r)):!1===i("placeholder in currentTree")&&C(r):!1===i("targetNode at top")&&(!1===i("targetNode at bottom")?!0===i("placeholder at top")?A(r):!1===i("placeholder at top")&&(!0===i("targetNode has children excluding placeholder")?A(r):!1===i("targetNode has children excluding placeholder")&&(!1===i("targetNode is 1st child")?!1===i("targetNode is last child")?(!0===i("on targetNode middle")||!1===i("on targetNode middle"))&&(!0===i("at indent right")?P(r):!1===i("at indent right")&&I(r)):!0===i("targetNode is last child")&&(!0===i("at indent right")?P(r):!1===i("at indent right")&&I(r)):!0===i("targetNode is 1st child")&&(!0===i("targetNode is last child")?P(r):!1===i("targetNode is last child")&&(!1===i("on targetNode middle")||!0===i("on targetNode middle"))&&(!1===i("at indent right")?I(r):!0===i("at indent right")&&P(r))))):!0===i("targetNode at bottom")&&(!0===i("placeholder in currentTree")?!1===i("on targetNode middle")?!0===i("at indent right")?P(r):!1===i("at indent right")&&I(r):!0===i("on targetNode middle")&&P(r):!1===i("placeholder in currentTree")&&P(r))):!0===i("currentTree empty")&&$(r)):!0===i("targetNode is placeholder")&&(!1===i("targetNode at bottom")?!1===i("targetNode is the second child of root")?!0===i("targetNode is 1st child")?!1===i("targetNode is last child")?k(r):!0===i("targetNode is last child")&&(!1===i("on targetNode middle")||!0===i("on targetNode middle"))&&(!0===i("at left")?D(r):!1===i("at left")&&k(r)):!1===i("targetNode is 1st child")&&(!0===i("targetNode is last child")?(!0===i("on targetNode middle")||!1===i("on targetNode middle"))&&(!0===i("at left")?D(r):!1===i("at left")&&(!0===i("at indent right")?B(r):!1===i("at indent right")&&k(r))):!1===i("targetNode is last child")&&(!0===i("on targetNode middle")||!1===i("on targetNode middle"))&&(!0===i("at left")?k(r):!1===i("at left")&&(!0===i("at indent right")?B(r):!1===i("at indent right")&&k(r)))):!0===i("targetNode is the second child of root")&&(!0===i("on targetNode middle")||!1===i("on targetNode middle"))&&(!0===i("at indent right")?B(r):!1===i("at indent right")&&k(r)):!0===i("targetNode at bottom")&&(!0===i("targetNode is 1st child")?!1===i("on targetNode middle")?!0===i("at left")?D(r):!1===i("at left")&&k(r):!0===i("on targetNode middle")&&(!1===i("at left")?k(r):!0===i("at left")&&D(r)):!1===i("targetNode is 1st child")&&(!1===i("on targetNode middle")||!0===i("on targetNode middle"))&&(!0===i("at left")?D(r):!1===i("at left")&&(!0===i("at indent right")?B(r):!1===i("at indent right")&&k(r))))):!1===i("currentTree existed")&&k(r)}function z(e,t){var n=h(e);return n.x2=n.x+e.offsetWidth,n.y2=n.y+e.offsetHeight+t,n}W.dragStart=function(){},W.dragEnd=function(){L=null,U={},X={}};var G=x({},void 0,{extends:S,name:"TreeNode",mounted:function(){var e=this;if(this.store.isNodeDraggable=j,this.store.isNodeDroppable=F,!this.isRoot&&!this.data.isDragPlaceHolder){var t=this.store.dplh;this.$watch("store.draggable",(function(n){if(s(n)){var o=e.store.getTriggerEl?e.store.getTriggerEl(e):e.$el.querySelector(".tree-node-inner");e._draggableDestroy=r.default(o,{preventSelect:s(e.store.preventSelect),getEl:function(){return e.$el},minTranslate:10,drag:function(n,r,o){W.dragStart();var i={event:n,options:r,store:o};if(e.store.ondragstart&&!1===e.store.ondragstart(e.data,i))return!1;if(!j(e.data))return!1;e.store.$emit("drag",e.data);var a=e.data.parent.children;e.startPosition={siblings:a,index:a.indexOf(e.data)},t.innerStyle.height=o.el.offsetHeight+"px",m(t,e.data),e.data.class+=" dragging"},moving:function(t,n,r){if(0!==r.movedCount){var o={event:t,options:n,store:r};return W.call(e,o)}},drop:function(n,r,o){W.dragEnd();var i={event:n,options:r,store:o};if(e.store.ondragend&&!1===e.store.ondragend(e.data,i))u(t.parent.children,t);else{var a=t._vm.store,d=a!==e.store?e.store:null;m(e.data,t),u(t.parent.children,t),e.data.class=e.data.class.replace(/(^| )dragging( |$)/g," "),a.$emit("drop",e.data,a,d),d&&d.$emit("drop",e.data,a,d);var l=e.data.parent.children;l===e.startPosition.siblings&&l.indexOf(e.data)===e.startPosition.index||(e.store.$emit("change",e.data,a,d),d&&d.$emit("change",e.data,a,d)),e.startPosition=null}}})}else e._draggableDestroy&&(e._draggableDestroy(),e._draggableDestroy=null)}),{immediate:!0})}}},void 0,void 0,void 0,!1,void 0,void 0,void 0),J={name:"Tree",props:{data:{},idLength:{type:Number,default:5},indent:{type:Number,default:16},activatedClass:{default:"active"},openedClass:{default:"open"},space:{type:Number,default:10},allowAddItem:{type:Boolean,default:!1},addItemText:{type:String,default:"Add item"},childrenTransitionName:{},customInnerBack:{}},components:{TreeNode:S},data:function(){return{store:this,rootData:null}},watch:{data:{immediate:!0,handler:function(e,t){var n=this;e!==t&&(this.rootData=this.rootData||{isRoot:!0,_id:"tree_".concat(this._uid,"_node_root"),children:[]},T(e,(function(e,t,r){n.completeNode(e,r)})),this.rootData.children=e)}}},methods:{completeNode:function(e,t){var n={open:!0,children:[],active:!1,style:{},class:"",innerStyle:{},innerClass:"",innerBackStyle:{},innerBackClass:{}};for(var r in n)e.hasOwnProperty(r)||this.$set(e,r,n[r]);this.$set(e,"parent",t||this.rootData),e.hasOwnProperty("_id")||(e._id="tree_".concat(this._uid,"_node_").concat(function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n="",r=0;r<e;r++)n+=f(t);return n}(this.idLength))),e._treeNodePropertiesCompleted=!0},pure:function(e,t,n){var r=this,o=Object.assign({},e);delete o._id,delete o.parent,delete o.children,delete o.open,delete o.active,delete o.style,delete o.class,delete o.innerStyle,delete o.innerClass,delete o.innerBackStyle,delete o.innerBackClass;for(var i=0,a=Object.keys(o);i<a.length;i++){var d=a[i];"_"===d[0]&&delete o[d]}return t&&e.children&&(o.children=e.children.slice(),o.children.forEach((function(e,n){o.children[n]=r.pure(e,t)}))),n&&n(o,e)||o},getNodeById:function(e){var t;return T(this.rootData.children,(function(n){if(n._id===e)return t=n,!1})),t},getActivated:function(){var e=[];return T(this.rootData.children,(function(t){t.active&&e.push(t)})),e},getOpened:function(){var e=[];return T(this.rootData.children,(function(t){t.open&&e.push(t)})),e},activeNode:function(e,t){t&&this.getActivated().forEach((function(e){e.active=!1})),e.active=!0},toggleActive:function(e,t){e.active?e.active=!1:this.activeNode(e,t)},openNode:function(e,t){var n=this;t&&this.getOpened().forEach((function(e){e.open=!1,n.$emit("nodeOpenChanged",e)})),e.open=!0,this.$emit("nodeOpenChanged",e)},toggleOpen:function(e,t){e.open?(e.open=!1,this.$emit("nodeOpenChanged",e)):this.openNode(e,t)},getPureData:function(e){return this.pure(this.rootData,!0,e).children},deleteNode:function(e){return u(e.parent.children,e)},addNode:function(e,t){return e.children.push(t)},onClickAddItem:function(e){this.$emit("addItem",e)}}},K=[],Q={_id:"draggable_tree_drag_placeHolder",level:null,droppable:!1,isDragPlaceHolder:!0,class:"draggable-placeholder",style:{},innerStyle:{},innerClass:"draggable-placeholder-inner",innerBackStyle:{},innerBackClass:"draggable-placeholder-inner-back"},Z=x({},void 0,{extends:x({render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"he-tree tree"},[n("TreeNode",{attrs:{data:e.rootData,store:e.store,"allow-add-item":e.allowAddItem,"add-item-text":e.addItemText},on:{addItem:e.onClickAddItem},scopedSlots:e._u([{key:"default",fn:function(t){return[e._t("default",null,{data:t.data,store:e.store,vm:t.vm})]}},{key:"node-inner-back",fn:function(t){return e.customInnerBack?[e._t("node-inner-back",null,{styleObj:t.styleObj,data:t.data,store:t.store,vm:t.vm})]:void 0}}],null,!0)})],1)},staticRenderFns:[]},void 0,J,void 0,!1,void 0,!1,void 0,void 0,void 0),props:{getTriggerEl:{type:Function},draggable:{},droppable:{default:!0},crossTree:{},ondragstart:{type:Function},ondragend:{type:Function},preventSelect:{default:!0}},components:{TreeNode:G},data:function(){return{dplh:Q,trees:K}},created:function(){K.push(this)},beforeDestroy:function(){u(K,this)}},void 0,void 0,void 0,!1,void 0,void 0,void 0),ee=Object.freeze({__proto__:null,DraggableTree:Z,depthFirstSearch:O}),te=function(e){te.installed||(te.installed=!0,Object.entries(ee).forEach((function(t){var n=a(t,2),r=n[0],o=n[1];e.component(r,o)})))},ne={install:te},re=null;return"undefined"!=typeof window?re=window.Vue:"undefined"!=typeof global&&(re=global.Vue),re&&re.use(ne),e.DraggableTree=Z,e.default=ne,e.depthFirstSearch=O,e}({},draggableHelper);