{"version":3,"sources":["jsdelivr-header.js","/npm/@ewei/vue-draggable-nested-tree@2.2.18-1/dist/vue-draggable-nested-tree.cjs.js"],"names":[],"mappings":"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","file":"/npm/@ewei/vue-draggable-nested-tree@2.2.18-1/dist/vue-draggable-nested-tree.cjs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@ewei/vue-draggable-nested-tree@2.2.18-1/dist/vue-draggable-nested-tree.cjs.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*!\n * @ewei/vue-draggable-nested-tree v2.2.18-1\n * (c) 2018-present phphe <phphe@outlook.com>\n * Released under the MIT License.\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar th = require('tree-helper');\nrequire('core-js/modules/es6.object.keys');\nrequire('core-js/modules/web.dom.iterable');\nrequire('core-js/modules/es6.number.constructor');\nvar hp = require('helper-js');\nrequire('core-js/modules/es6.function.name');\nrequire('core-js/modules/es6.array.find');\nrequire('core-js/modules/es7.symbol.async-iterator');\nrequire('core-js/modules/es6.symbol');\nvar vf = require('vue-functions');\nrequire('core-js/modules/es6.regexp.replace');\nvar draggableHelper = _interopDefault(require('draggable-helper'));\n\n//\nvar script = {\n  name: 'TreeNode',\n  props: {\n    data: {},\n    store: {},\n    level: {\n      default: 0\n    } // readonly\n\n  },\n  data: function data() {\n    return {\n      vm: this\n    };\n  },\n  computed: {\n    childrenLevel: function childrenLevel() {\n      return this.level + 1;\n    },\n    isRoot: function isRoot() {\n      return this.data && this.data.isRoot;\n    },\n    childrenVisible: function childrenVisible() {\n      var data = this.data;\n      return this.isRoot || data && data.children && data.children.length && data.open;\n    },\n    innerBackStyle: function innerBackStyle() {\n      var r = {\n        marginBottom: this.store.space + 'px'\n      };\n\n      if (!this.isRoot && this.level > 1) {\n        r.paddingLeft = (this.level - 1) * this.store.indent + 'px';\n      }\n\n      return r;\n    }\n  },\n  watch: {\n    data: {\n      immediate: true,\n      handler: function handler(data) {\n        if (data) {\n          data._vm = this;\n\n          if (!data._treeNodePropertiesCompleted && !data.isRoot) {\n            this.store.compeleteNode(data, this.$parent.data);\n          }\n        }\n      }\n    }\n  } // methods: {},\n  // created() {},\n  // mounted() {},\n\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n  if (typeof shadowMode !== 'boolean') {\n    createInjectorSSR = createInjector;\n    createInjector = shadowMode;\n    shadowMode = false;\n  } // Vue.extend constructor export interop.\n\n\n  var options = typeof script === 'function' ? script.options : script; // render functions\n\n  if (template && template.render) {\n    options.render = template.render;\n    options.staticRenderFns = template.staticRenderFns;\n    options._compiled = true; // functional template\n\n    if (isFunctionalTemplate) {\n      options.functional = true;\n    }\n  } // scopedId\n\n\n  if (scopeId) {\n    options._scopeId = scopeId;\n  }\n\n  var hook;\n\n  if (moduleIdentifier) {\n    // server build\n    hook = function hook(context) {\n      // 2.3 injection\n      context = context || // cached call\n      this.$vnode && this.$vnode.ssrContext || // stateful\n      this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n      // 2.2 with runInNewContext: true\n\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__;\n      } // inject component styles\n\n\n      if (style) {\n        style.call(this, createInjectorSSR(context));\n      } // register component module identifier for async chunk inference\n\n\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier);\n      }\n    }; // used by ssr in case component is cached and beforeCreate\n    // never gets called\n\n\n    options._ssrRegister = hook;\n  } else if (style) {\n    hook = shadowMode ? function () {\n      style.call(this, createInjectorShadow(this.$root.$options.shadowRoot));\n    } : function (context) {\n      style.call(this, createInjector(context));\n    };\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // register for functional component in vue file\n      var originalRender = options.render;\n\n      options.render = function renderWithStyleInjection(h, context) {\n        hook.call(context);\n        return originalRender(h, context);\n      };\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate;\n      options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n    }\n  }\n\n  return script;\n}\n\nvar normalizeComponent_1 = normalizeComponent;\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tree-node\",class:[_vm.data.active ? _vm.store.activatedClass : '', _vm.data.open ? _vm.store.openedClass : '', _vm.data.class],style:(_vm.data.style),attrs:{\"id\":_vm.data._id}},[(!_vm.isRoot)?_vm._t(\"node-inner-back\",[_c('div',{staticClass:\"tree-node-inner-back\",class:[_vm.data.innerBackClass],style:([_vm.innerBackStyle, _vm.data.innerBackStyle])},[_c('div',{staticClass:\"tree-node-inner\",class:[_vm.data.innerClass],style:([_vm.data.innerStyle])},[_vm._t(\"default\",null,{\"data\":_vm.data,\"store\":_vm.store,\"vm\":_vm.vm})],2)])],{\"styleObj\":_vm.innerBackStyle,\"data\":_vm.data,\"store\":_vm.store,\"vm\":_vm.vm}):_vm._e(),_c('transition',{attrs:{\"name\":_vm.store.childrenTransitionName}},[(_vm.childrenVisible)?_c('div',{staticClass:\"tree-node-children\"},_vm._l((_vm.data.children),function(child){return _c('TreeNode',{key:child._id,attrs:{\"data\":child,\"store\":_vm.store,\"level\":_vm.childrenLevel},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._t(\"default\",null,{\"data\":props.data,\"store\":props.store,\"vm\":props.vm})]}},{key:\"node-inner-back\",fn:function(props){return (_vm.store.customInnerBack)?[_vm._t(\"node-inner-back\",null,{\"styleObj\":props.styleObj,\"data\":props.data,\"store\":props.store,\"vm\":props.vm})]:undefined}}],null,true)})}),1):_vm._e()])],2)};\nvar __vue_staticRenderFns__ = [];\n\n  /* style */\n  const __vue_inject_styles__ = undefined;\n  /* scoped */\n  const __vue_scope_id__ = undefined;\n  /* module identifier */\n  const __vue_module_identifier__ = undefined;\n  /* functional template */\n  const __vue_is_functional_template__ = false;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n\n  \n  var TreeNode = normalizeComponent_1(\n    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n    __vue_inject_styles__,\n    __vue_script__,\n    __vue_scope_id__,\n    __vue_is_functional_template__,\n    __vue_module_identifier__,\n    undefined,\n    undefined\n  );\n\nvar script$1 = {\n  props: {\n    data: {},\n    idLength: {\n      type: Number,\n      default: 5\n    },\n    indent: {\n      type: Number,\n      default: 16\n    },\n    activatedClass: {\n      default: 'active'\n    },\n    openedClass: {\n      default: 'open'\n    },\n    space: {\n      type: Number,\n      default: 10\n    },\n    // space between node, unit px\n    childrenTransitionName: {},\n    // there are issues under draggable tree\n    customInnerBack: {}\n  },\n  components: {\n    TreeNode: TreeNode\n  },\n  data: function data() {\n    return {\n      store: this,\n      rootData: null\n    };\n  },\n  // computed: {},\n  watch: {\n    data: {\n      immediate: true,\n      handler: function handler(data, old) {\n        var _this = this;\n\n        if (data === old) {\n          return;\n        } // make rootData always use a same object\n\n\n        this.rootData = this.rootData || {\n          isRoot: true,\n          _id: \"tree_\".concat(this._uid, \"_node_root\"),\n          children: []\n        };\n        th.breadthFirstSearch(data, function (node, k, parent) {\n          _this.compeleteNode(node, parent);\n        });\n        this.rootData.children = data;\n      }\n    }\n  },\n  methods: {\n    compeleteNode: function compeleteNode(node, parent) {\n      var compeletedData = {\n        open: true,\n        children: [],\n        active: false,\n        style: {},\n        class: '',\n        innerStyle: {},\n        innerClass: '',\n        innerBackStyle: {},\n        innerBackClass: {}\n      };\n\n      for (var key in compeletedData) {\n        if (!node.hasOwnProperty(key)) {\n          this.$set(node, key, compeletedData[key]);\n        }\n      }\n\n      this.$set(node, 'parent', parent || this.rootData);\n\n      if (!node.hasOwnProperty('_id')) {\n        node._id = \"tree_\".concat(this._uid, \"_node_\").concat(hp.strRand(this.idLength));\n      }\n\n      node._treeNodePropertiesCompleted = true;\n    },\n    // pure node self\n    pure: function pure(node, withChildren, after) {\n      var _this2 = this;\n\n      var t = Object.assign({}, node);\n      delete t._id;\n      delete t.parent;\n      delete t.children;\n      delete t.open;\n      delete t.active;\n      delete t.style;\n      delete t.class;\n      delete t.innerStyle;\n      delete t.innerClass;\n      delete t.innerBackStyle;\n      delete t.innerBackClass;\n\n      for (var _i = 0, _Object$keys = Object.keys(t); _i < _Object$keys.length; _i++) {\n        var key = _Object$keys[_i];\n\n        if (key[0] === '_') {\n          delete t[key];\n        }\n      }\n\n      if (withChildren && node.children) {\n        t.children = node.children.slice();\n        t.children.forEach(function (v, k) {\n          t.children[k] = _this2.pure(v, withChildren);\n        });\n      }\n\n      if (after) {\n        return after(t, node) || t;\n      }\n\n      return t;\n    },\n    getNodeById: function getNodeById(id) {\n      var r;\n      th.breadthFirstSearch(this.rootData.children, function (node) {\n        if (node._id === id) {\n          r = node;\n          return false;\n        }\n      });\n      return r;\n    },\n    getActivated: function getActivated() {\n      var r = [];\n      th.breadthFirstSearch(this.rootData.children, function (node) {\n        if (node.active) {\n          r.push(node);\n        }\n      });\n      return r;\n    },\n    getOpened: function getOpened() {\n      var r = [];\n      th.breadthFirstSearch(this.rootData.children, function (node) {\n        if (node.open) {\n          r.push(node);\n        }\n      });\n      return r;\n    },\n    activeNode: function activeNode(node, inactiveOld) {\n      var activated = this.activated;\n\n      if (inactiveOld) {\n        this.getActivated().forEach(function (node2) {\n          node2.active = false;\n        });\n      }\n\n      node.active = true;\n    },\n    toggleActive: function toggleActive(node, inactiveOld) {\n      if (node.active) {\n        node.active = false;\n      } else {\n        this.activeNode(node, inactiveOld);\n      }\n    },\n    openNode: function openNode(node, closeOld) {\n      var _this3 = this;\n\n      var opened = this.opened;\n\n      if (closeOld) {\n        this.getOpened().forEach(function (node2) {\n          node2.open = false;\n\n          _this3.$emit('nodeOpenChanged', node2);\n        });\n      }\n\n      node.open = true;\n      this.$emit('nodeOpenChanged', node);\n    },\n    toggleOpen: function toggleOpen(node, closeOld) {\n      if (node.open) {\n        node.open = false;\n        this.$emit('nodeOpenChanged', node);\n      } else {\n        this.openNode(node, closeOld);\n      }\n    },\n    getPureData: function getPureData(after) {\n      return this.pure(this.rootData, true, after).children;\n    },\n    deleteNode: function deleteNode(node) {\n      return hp.arrayRemove(node.parent.children, node);\n    }\n  } // created() {},\n  // mounted() {},\n\n};\n\n/* script */\nconst __vue_script__$1 = script$1;\n\n/* template */\nvar __vue_render__$1 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"he-tree tree\"},[_c('TreeNode',{attrs:{\"data\":_vm.rootData,\"store\":_vm.store},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._t(\"default\",null,{\"data\":props.data,\"store\":_vm.store,\"vm\":props.vm})]}},{key:\"node-inner-back\",fn:function(props){return (_vm.customInnerBack)?[_vm._t(\"node-inner-back\",null,{\"styleObj\":props.styleObj,\"data\":props.data,\"store\":props.store,\"vm\":props.vm})]:undefined}}],null,true)})],1)};\nvar __vue_staticRenderFns__$1 = [];\n\n  /* style */\n  const __vue_inject_styles__$1 = undefined;\n  /* scoped */\n  const __vue_scope_id__$1 = undefined;\n  /* module identifier */\n  const __vue_module_identifier__$1 = undefined;\n  /* functional template */\n  const __vue_is_functional_template__$1 = false;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n\n  \n  var Tree = normalizeComponent_1(\n    { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },\n    __vue_inject_styles__$1,\n    __vue_script__$1,\n    __vue_scope_id__$1,\n    __vue_is_functional_template__$1,\n    __vue_module_identifier__$1,\n    undefined,\n    undefined\n  );\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nvar Cache =\n/*#__PURE__*/\nfunction () {\n  function Cache() {\n    _classCallCheck(this, Cache);\n\n    _defineProperty(this, \"store\", {});\n  }\n\n  _createClass(Cache, [{\n    key: \"has\",\n    value: function has(name) {\n      return this.store.hasOwnProperty(name);\n    }\n  }, {\n    key: \"remember\",\n    value: function remember(name, getter) {\n      if (!this.has(name)) {\n        this.store[name] = {\n          value: getter()\n        };\n      }\n\n      return this.store[name].value;\n    }\n  }, {\n    key: \"forget\",\n    value: function forget(name) {\n      if (name) {\n        if (this.has(name)) {\n          delete this.store[name];\n        }\n      } else {\n        this.store = {};\n      }\n    }\n  }]);\n\n  return Cache;\n}();\nfunction attachCache(obj, cache, toCache) {\n  var _loop = function _loop(key) {\n    Object.defineProperty(obj, key, {\n      get: function get() {\n        var _this = this;\n\n        return cache.remember(key, function () {\n          return toCache[key].call(_this);\n        });\n      }\n    });\n  };\n\n  for (var key in toCache) {\n    _loop(key);\n  }\n}\n\n// from https://gist.github.com/iddan/54d5d9e58311b0495a91bf06de661380\n\nif (!document.elementsFromPoint) {\n  document.elementsFromPoint = elementsFromPoint;\n}\n\nfunction elementsFromPoint(x, y) {\n  var parents = [];\n  var parent = void 0;\n\n  do {\n    if (parent !== document.elementFromPoint(x, y)) {\n      parent = document.elementFromPoint(x, y);\n      parents.push(parent);\n      parent.style.pointerEvents = 'none';\n    } else {\n      parent = false;\n    }\n  } while (parent);\n\n  parents.forEach(function (parent) {\n    return parent.style.pointerEvents = 'all';\n  });\n  return parents;\n}\n\nfunction getTreeByPoint(x, y, trees) {\n  var els = document.elementsFromPoint(x, y);\n  var treeEl;\n  var nodeEl;\n  var betweenEls = [];\n  var _iteratorNormalCompletion = true;\n  var _didIteratorError = false;\n  var _iteratorError = undefined;\n\n  try {\n    for (var _iterator = els[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n      var _el = _step.value;\n\n      if (!nodeEl) {\n        if (hp.hasClass(_el, 'tree-node')) {\n          nodeEl = _el;\n        }\n      } else {\n        // console.log(el);\n        if (hp.hasClass(_el, 'tree')) {\n          treeEl = _el;\n          break;\n        }\n\n        betweenEls.push(_el);\n      }\n    }\n  } catch (err) {\n    _didIteratorError = true;\n    _iteratorError = err;\n  } finally {\n    try {\n      if (!_iteratorNormalCompletion && _iterator.return != null) {\n        _iterator.return();\n      }\n    } finally {\n      if (_didIteratorError) {\n        throw _iteratorError;\n      }\n    }\n  }\n\n  if (treeEl) {\n    // is target tree is another tree, and be covered by other element, like modal, popup\n    var covered = false;\n\n    if (!isParent(nodeEl, treeEl)) {\n      // cross tree\n      var _iteratorNormalCompletion2 = true;\n      var _didIteratorError2 = false;\n      var _iteratorError2 = undefined;\n\n      try {\n        for (var _iterator2 = betweenEls[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n          var el = _step2.value;\n\n          if (!isParent(el, treeEl)) {\n            covered = true;\n            break;\n          }\n        }\n      } catch (err) {\n        _didIteratorError2 = true;\n        _iteratorError2 = err;\n      } finally {\n        try {\n          if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n            _iterator2.return();\n          }\n        } finally {\n          if (_didIteratorError2) {\n            throw _iteratorError2;\n          }\n        }\n      }\n    } //\n\n\n    if (!covered) {\n      return trees.find(function (v) {\n        return v.$el === treeEl;\n      });\n    }\n  }\n}\n\nfunction isParent(child, parent) {\n  var cur = child;\n\n  while (cur) {\n    cur = cur.parentNode;\n\n    if (cur === parent) {\n      return true;\n    }\n  }\n}\n\n// 对 drag placeholder进行的操作\n\nvar targets = {\n  'nothing': function nothing(info) {},\n  'after': function after(info) {\n    insertDplhAfterTo(info.dplh, info.targetNode, info);\n  },\n  'before': function before(info) {\n    if (isNodeDroppable(info.targetNode.parent)) {\n      th.insertBefore(info.dplh, info.targetNode);\n    } else {\n      insertDplhAfterTo(info.dplh, info.targetNode.parent, info);\n    }\n  },\n  'append': function append(info) {\n    if (isNodeDroppable(info.targetNode)) {\n      th.appendTo(info.dplh, info.targetNode);\n      if (!info.targetNode.open) info.store.toggleOpen(info.targetNode);\n    } else {\n      insertDplhAfterTo(info.dplh, info.targetNode, info);\n    }\n  },\n  'prepend': function prepend(info) {\n    if (isNodeDroppable(info.targetNode)) {\n      th.prependTo(info.dplh, info.targetNode);\n      if (!info.targetNode.open) info.store.toggleOpen(info.targetNode);\n    } else {\n      insertDplhAfterTo(info.dplh, info.targetNode, info);\n    }\n  },\n  'after target parent': function afterTargetParent(info) {\n    insertDplhAfterTo(info.dplh, info.targetNode.parent, info);\n  },\n  // append to prev sibling\n  'append prev': function appendPrev(info) {\n    if (isNodeDroppable(info.targetPrev)) {\n      th.appendTo(info.dplh, info.targetPrev);\n      if (!info.targetPrev.open) info.store.toggleOpen(info.targetPrev);\n    } else {\n      insertDplhAfterTo(info.dplh, info.targetPrev, info);\n    }\n  },\n  // append to current tree\n  'append current tree': function appendCurrentTree(info) {\n    if (isNodeDroppable(info.currentTree.rootData)) {\n      th.appendTo(info.dplh, info.currentTree.rootData);\n    }\n  }\n};\n\nfunction insertDplhAfterTo(dplh, targetNode, info) {\n  if (!targetNode) {\n    return false;\n  } else {\n    var closest = findParent(targetNode, function (node) {\n      return node.parent && isNodeDroppable(node.parent);\n    });\n\n    if (closest) {\n      th.insertAfter(dplh, closest);\n    } else {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction isNodeDraggable(node) {\n  if (!draggableIds.hasOwnProperty(node._id)) {\n    var r;\n\n    if (node.hasOwnProperty('draggable')) {\n      r = node.draggable;\n    } else if (node.parent) {\n      r = isNodeDraggable(node.parent);\n    } else {\n      r = true;\n    }\n\n    draggableIds[node._id] = r;\n  }\n\n  return draggableIds[node._id];\n}\nfunction isNodeDroppable(node) {\n  if (!droppableIds.hasOwnProperty(node._id)) {\n    var r;\n\n    if (node.hasOwnProperty('droppable')) {\n      r = node.droppable;\n    } else if (node.parent) {\n      r = isNodeDroppable(node.parent);\n    } else {\n      r = true;\n    }\n\n    droppableIds[node._id] = r;\n  }\n\n  return droppableIds[node._id];\n} // find child, excluding dragging node default\n\nfunction findChild(info, children, handler, reverse) {\n  var len = children.length;\n\n  if (reverse) {\n    for (var i = len - 1; i >= 0; i--) {\n      var item = children[i]; // excluding dragging node\n\n      if (item !== info.node) {\n        if (handler(item, i)) {\n          return item;\n        }\n      }\n    }\n  } else {\n    for (var _i = 0; _i < len; _i++) {\n      var _item = children[_i]; // excluding dragging node\n\n      if (_item !== info.node) {\n        if (handler(_item, _i)) {\n          return _item;\n        }\n      }\n    }\n  }\n} // start from node self\n\n\nfunction findParent(node, handle) {\n  var current = node;\n\n  while (current) {\n    if (handle(current)) {\n      return current;\n    }\n\n    current = current.parent;\n  }\n}\n\nvar rules = {\n  // 另一节点存在\n  'targetNode existed': function targetNodeExisted(info) {\n    return info.targetNode;\n  },\n  // 另一节点是拖动占位节点\n  'targetNode is placeholder': function targetNodeIsPlaceholder(info) {\n    return info.targetNode.isDragPlaceHolder;\n  },\n  // 另一节点在最上面\n  'targetNode at top': function targetNodeAtTop(info) {\n    return info.targetAtTop;\n  },\n  // 另一节点在最下面\n  'targetNode at bottom': function targetNodeAtBottom(info) {\n    return info.targetAtBottom;\n  },\n  // 另一节点是根节点第二个子\n  'targetNode is the second child of root': function targetNodeIsTheSecondChildOfRoot(info) {\n    return info.currentTreeRootSecondChildExcludingDragging === info.targetNode;\n  },\n  // 拖动点坐标在任一树中, 同时, 起始树要可拖出, 当前树要可拖入\n  'currentTree existed': function currentTreeExisted(info) {\n    return info.currentTree;\n  },\n  // 当前树为空(不包括占位节点)\n  'currentTree empty': function currentTreeEmpty(info) {\n    return !findChild(info, info.currentTree.rootData.children, function (v) {\n      return v;\n    });\n  },\n  // 占位节点存在\n  'placeholder existed': function placeholderExisted(info) {\n    return info.dplhEl;\n  },\n  // 占位节点在当前树中\n  'placeholder in currentTree': function placeholderInCurrentTree(info) {\n    return info.dplhElInCurrentTree;\n  },\n  // 占位节点在最上面\n  'placeholder at top': function placeholderAtTop(info) {\n    return info.dplhAtTop;\n  },\n  // 另一节点是打开的\n  'targetNode is open': function targetNodeIsOpen(info) {\n    return info.targetNode.open;\n  },\n  // 另一节点有子(不包括占位节点)\n  'targetNode has children excluding placeholder': function targetNodeHasChildrenExcludingPlaceholder(info) {\n    return findChild(info, info.targetNode.children, function (v) {\n      return v !== info.dplh;\n    });\n  },\n  // 另一节点是第一个节点\n  'targetNode is 1st child': function targetNodeIs1stChild(info) {\n    return findChild(info, info.targetNode.parent.children, function (v) {\n      return v;\n    }) === info.targetNode;\n  },\n  // 另一节点是最后节点\n  'targetNode is last child': function targetNodeIsLastChild(info) {\n    return findChild(info, info.targetNode.parent.children, function (v) {\n      return v;\n    }, true) === info.targetNode;\n  },\n  // 当前位置在另一节点inner垂直中线上\n  'on targetNode middle': function onTargetNodeMiddle(info) {\n    return info.offset.y <= info.tiMiddleY;\n  },\n  // 当前位置在另一节点inner左边\n  'at left': function atLeft(info) {\n    return info.offset.x < info.tiOffset.x;\n  },\n  // 当前位置在另一节点innner indent位置右边\n  'at indent right': function atIndentRight(info) {\n    return info.offset.x > info.tiOffset.x + info.currentTree.indent;\n  }\n}; // convert rule output to Boolean\n\nvar _loop = function _loop() {\n  var key = _Object$keys[_i2];\n  var old = rules[key];\n\n  rules[key] = function () {\n    return Boolean(old.apply(void 0, arguments));\n  };\n};\n\nfor (var _i2 = 0, _Object$keys = Object.keys(rules); _i2 < _Object$keys.length; _i2++) {\n  _loop();\n}\n\nvar prevTree;\nvar droppableIds = {};\nvar draggableIds = {}; // context is vm\n\nfunction autoMoveDragPlaceHolder(draggableHelperInfo) {\n  var trees = this.store.trees;\n  var dhStore = draggableHelperInfo.store; // make info\n\n  var info = {\n    event: draggableHelperInfo.event,\n    el: dhStore.el,\n    vm: this,\n    node: this.data,\n    store: this.store,\n    dplh: this.store.dplh,\n    draggableHelperData: {\n      opt: draggableHelperInfo.options,\n      store: dhStore\n    }\n  }; //\n\n  attachCache(info, new Cache(), {\n    // dragging node coordinate\n    // 拖动中的节点相关坐标\n    nodeInnerEl: function nodeInnerEl() {\n      return this.el.querySelector('.tree-node-inner');\n    },\n    offset: function offset() {\n      return hp.getOffset(this.nodeInnerEl);\n    },\n    // left top point\n    offset2: function offset2() {\n      return {\n        x: this.offset.x + this.nodeInnerEl.offsetWidth,\n        y: this.offset.y + this.nodeInnerEl.offsetHeight\n      };\n    },\n    // right bottom point\n    offsetToViewPort: function offsetToViewPort() {\n      var r = this.nodeInnerEl.getBoundingClientRect();\n      r.x = r.left;\n      r.y = r.top;\n      return r;\n    },\n    // tree\n    currentTree: function currentTree() {\n      // const currentTree = trees.find(tree => hp.isOffsetInEl(this.offset.x, this.offset.y, tree.$el))\n      var currentTree = getTreeByPoint(this.offsetToViewPort.x, this.offsetToViewPort.y, trees);\n\n      if (currentTree) {\n        var dragStartTree = this.store;\n\n        if (prevTree == null) {\n          prevTree = dragStartTree;\n        }\n\n        if (prevTree !== currentTree) {\n          if (!vf.isPropTrue(dragStartTree.crossTree) || !vf.isPropTrue(currentTree.crossTree)) {\n            return;\n          }\n\n          prevTree = currentTree;\n        }\n\n        if (!vf.isPropTrue(currentTree.droppable)) {\n          return;\n        }\n\n        return currentTree;\n      }\n    },\n    currentTreeRootEl: function currentTreeRootEl() {\n      return document.getElementById(this.currentTree.rootData._id);\n    },\n    currentTreeRootOf4: function currentTreeRootOf4() {\n      return getOf4(this.currentTreeRootEl, this.currentTree.space);\n    },\n    // the second child of currentTree root, excluding dragging node\n    currentTreeRootSecondChildExcludingDragging: function currentTreeRootSecondChildExcludingDragging() {\n      var _this = this;\n\n      return this.currentTree.rootData.children.slice(0, 3).filter(function (v) {\n        return v !== _this.node;\n      })[1];\n    },\n    // placeholder\n    dplhEl: function dplhEl() {\n      return document.getElementById(this.dplh._id);\n    },\n    dplhElInCurrentTree: function dplhElInCurrentTree() {\n      return Boolean(this.currentTree.$el.querySelector(\"#\".concat(this.dplh._id)));\n    },\n    dplhOf4: function dplhOf4() {\n      return getOf4(this.dplhEl, this.currentTree.space);\n    },\n    dplhAtTop: function dplhAtTop() {\n      return Math.abs(this.dplhOf4.y - this.currentTreeRootOf4.y) < 5;\n    },\n    targetAtTop: function targetAtTop() {\n      return Math.abs(this.tiOf4.y - this.currentTreeRootOf4.y) < 5;\n    },\n    targetAtBottom: function targetAtBottom() {\n      return Math.abs(this.tiOf4.y2 - this.currentTreeRootOf4.y2) < 5;\n    },\n    // most related node\n    // 最相关的另一个节点\n    targetNode: function targetNode() {\n      var currentTree = this.currentTree;\n\n      if (!currentTree) {\n        throw 'no currentTree';\n      } //\n\n\n      var _this$offset = this.offset,\n          x = _this$offset.x,\n          y = _this$offset.y;\n      var currentNode = currentTree.rootData;\n\n      while (true) {\n        var children = currentNode.children;\n\n        if (!children) {\n          break;\n        }\n\n        if (this.node.parent === currentNode) {\n          // dragging node is in currentNode children, remove it first\n          children = children.slice();\n          children.splice(children.indexOf(this.node), 1);\n        }\n\n        if (children.length === 0) {\n          break;\n        }\n\n        var t = hp.binarySearch(children, function (node) {\n          var el = document.getElementById(node._id);\n          var ty = hp.getOffset(el).y;\n          var ty2 = ty + el.offsetHeight + currentTree.space;\n\n          if (ty2 < y) {\n            return -1;\n          } else if (ty <= y) {\n            return 0;\n          } else {\n            return 1;\n          }\n        }, null, null, true);\n\n        if (t.hit) {\n          currentNode = t.value;\n        } else {\n          if (t.bigger) {\n            currentNode = children[t.index - 1];\n          } else {\n            currentNode = t.value;\n          }\n        }\n\n        if (!currentNode) {\n          currentNode = children[0];\n          break;\n        }\n\n        if (!currentNode) {\n          break;\n        }\n\n        var innerEl = document.getElementById(currentNode._id).querySelector('.tree-node-inner');\n        var of = getOf4(innerEl, currentTree.space);\n\n        if (of.y <= y && y <= of.y2) {\n          break;\n        }\n      }\n\n      return currentNode;\n    },\n    targetNodeEl: function targetNodeEl() {\n      return document.getElementById(this.targetNode._id);\n    },\n    // targetNodeInnerElOffset\n    tiInnerEl: function tiInnerEl() {\n      return this.targetNodeEl.querySelector('.tree-node-inner');\n    },\n    tiOffset: function tiOffset() {\n      return hp.getOffset(this.tiInnerEl);\n    },\n    tiOf4: function tiOf4() {\n      return getOf4(this.tiInnerEl, this.currentTree.space);\n    },\n    tiMiddleY: function tiMiddleY() {\n      return this.tiOffset.y + this.tiInnerEl.offsetHeight / 2;\n    },\n    //\n    targetPrevEl: function targetPrevEl() {\n      // tree node 之间不要有其他元素, 否则这里会获取到错误的元素\n      var r = this.targetNodeEl.previousSibling;\n\n      if (hp.hasClass(r, 'dragging')) {\n        r = r.previousSibling;\n      }\n\n      return r;\n    },\n    targetPrev: function targetPrev() {\n      var id = this.targetPrevEl.getAttribute('id');\n      return this.currentTree.getNodeById(id);\n    }\n  }); // attachCache end\n  // decision start =================================\n\n  var executedRuleCache = {}; // exec rule\n\n  var exec = function exec(ruleId) {\n    if (!executedRuleCache.hasOwnProperty(ruleId)) {\n      var r;\n\n      try {\n        r = rules[ruleId](info);\n      } catch (e) {\n        r = e;\n\n        try {\n          if (process.env.DEVELOPE_SELF) {\n            // only visible when develop its self\n            console.warn(\"failed to execute rule '\".concat(ruleId, \"'\"), e);\n          }\n        } catch (e2) {}\n      }\n\n      executedRuleCache[ruleId] = r;\n    }\n\n    return executedRuleCache[ruleId];\n  };\n\n  if (exec('currentTree existed') === true) {\n    if (exec('targetNode is placeholder') === false) {\n      if (exec('targetNode is the second child of root') === true) {\n        if (exec('targetNode has children excluding placeholder') === false) {\n          if (exec('on targetNode middle') === true) {\n            targets['before'](info);\n          } else if (exec('on targetNode middle') === false) {\n            if (exec('at indent right') === true) {\n              targets['append'](info);\n            } else if (exec('at indent right') === false) {\n              targets['after'](info);\n            }\n          }\n        } else if (exec('targetNode has children excluding placeholder') === true) {\n          targets['prepend'](info);\n        }\n      } else if (exec('targetNode is the second child of root') === false) {\n        if (exec('currentTree empty') === false) {\n          if (exec('targetNode at top') === true) {\n            if (exec('placeholder in currentTree') === true) {\n              if (exec('targetNode has children excluding placeholder') === false) {\n                if (exec('on targetNode middle') === false) {\n                  if (exec('at indent right') === false) {\n                    targets['after'](info);\n                  } else if (exec('at indent right') === true) {\n                    targets['append'](info);\n                  }\n                } else if (exec('on targetNode middle') === true) {\n                  targets['before'](info);\n                }\n              } else if (exec('targetNode has children excluding placeholder') === true) {\n                if (exec('on targetNode middle') === false) {\n                  targets['prepend'](info);\n                } else if (exec('on targetNode middle') === true) {\n                  targets['before'](info);\n                }\n              }\n            } else if (exec('placeholder in currentTree') === false) {\n              targets['before'](info);\n            }\n          } else if (exec('targetNode at top') === false) {\n            if (exec('targetNode at bottom') === false) {\n              if (exec('placeholder at top') === true) {\n                targets['prepend'](info);\n              } else if (exec('placeholder at top') === false) {\n                if (exec('targetNode has children excluding placeholder') === true) {\n                  targets['prepend'](info);\n                } else if (exec('targetNode has children excluding placeholder') === false) {\n                  if (exec('targetNode is 1st child') === false) {\n                    if (exec('targetNode is last child') === false) {\n                      if (exec('on targetNode middle') === true) {\n                        if (exec('at indent right') === true) {\n                          targets['append'](info);\n                        } else if (exec('at indent right') === false) {\n                          targets['after'](info);\n                        }\n                      } else if (exec('on targetNode middle') === false) {\n                        if (exec('at indent right') === true) {\n                          targets['append'](info);\n                        } else if (exec('at indent right') === false) {\n                          targets['after'](info);\n                        }\n                      }\n                    } else if (exec('targetNode is last child') === true) {\n                      if (exec('at indent right') === true) {\n                        targets['append'](info);\n                      } else if (exec('at indent right') === false) {\n                        targets['after'](info);\n                      }\n                    }\n                  } else if (exec('targetNode is 1st child') === true) {\n                    if (exec('targetNode is last child') === true) {\n                      targets['append'](info);\n                    } else if (exec('targetNode is last child') === false) {\n                      if (exec('on targetNode middle') === false) {\n                        if (exec('at indent right') === false) {\n                          targets['after'](info);\n                        } else if (exec('at indent right') === true) {\n                          targets['append'](info);\n                        }\n                      } else if (exec('on targetNode middle') === true) {\n                        if (exec('at indent right') === false) {\n                          targets['after'](info);\n                        } else if (exec('at indent right') === true) {\n                          targets['append'](info);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            } else if (exec('targetNode at bottom') === true) {\n              if (exec('placeholder in currentTree') === true) {\n                if (exec('on targetNode middle') === false) {\n                  if (exec('at indent right') === true) {\n                    targets['append'](info);\n                  } else if (exec('at indent right') === false) {\n                    targets['after'](info);\n                  }\n                } else if (exec('on targetNode middle') === true) {\n                  targets['append'](info);\n                }\n              } else if (exec('placeholder in currentTree') === false) {\n                targets['append'](info);\n              }\n            }\n          }\n        } else if (exec('currentTree empty') === true) {\n          targets['append current tree'](info);\n        }\n      }\n    } else if (exec('targetNode is placeholder') === true) {\n      if (exec('targetNode at bottom') === false) {\n        if (exec('targetNode is the second child of root') === false) {\n          if (exec('targetNode is 1st child') === true) {\n            if (exec('targetNode is last child') === false) ; else if (exec('targetNode is last child') === true) {\n              if (exec('on targetNode middle') === false) {\n                if (exec('at left') === true) {\n                  targets['after target parent'](info);\n                } else if (exec('at left') === false) ;\n              } else if (exec('on targetNode middle') === true) {\n                if (exec('at left') === true) {\n                  targets['after target parent'](info);\n                } else if (exec('at left') === false) ;\n              }\n            }\n          } else if (exec('targetNode is 1st child') === false) {\n            if (exec('targetNode is last child') === true) {\n              if (exec('on targetNode middle') === true) {\n                if (exec('at left') === true) {\n                  targets['after target parent'](info);\n                } else if (exec('at left') === false) {\n                  if (exec('at indent right') === true) {\n                    targets['append prev'](info);\n                  } else if (exec('at indent right') === false) ;\n                }\n              } else if (exec('on targetNode middle') === false) {\n                if (exec('at left') === true) {\n                  targets['after target parent'](info);\n                } else if (exec('at left') === false) {\n                  if (exec('at indent right') === true) {\n                    targets['append prev'](info);\n                  } else if (exec('at indent right') === false) ;\n                }\n              }\n            } else if (exec('targetNode is last child') === false) {\n              if (exec('on targetNode middle') === true) {\n                if (exec('at left') === true) ; else if (exec('at left') === false) {\n                  if (exec('at indent right') === true) {\n                    targets['append prev'](info);\n                  } else if (exec('at indent right') === false) ;\n                }\n              } else if (exec('on targetNode middle') === false) {\n                if (exec('at left') === true) ; else if (exec('at left') === false) {\n                  if (exec('at indent right') === true) {\n                    targets['append prev'](info);\n                  } else if (exec('at indent right') === false) ;\n                }\n              }\n            }\n          }\n        } else if (exec('targetNode is the second child of root') === true) {\n          if (exec('on targetNode middle') === true) {\n            if (exec('at indent right') === true) {\n              targets['append prev'](info);\n            } else if (exec('at indent right') === false) ;\n          } else if (exec('on targetNode middle') === false) {\n            if (exec('at indent right') === true) {\n              targets['append prev'](info);\n            } else if (exec('at indent right') === false) ;\n          }\n        }\n      } else if (exec('targetNode at bottom') === true) {\n        if (exec('targetNode is 1st child') === true) {\n          if (exec('on targetNode middle') === false) {\n            if (exec('at left') === true) {\n              targets['after target parent'](info);\n            } else if (exec('at left') === false) ;\n          } else if (exec('on targetNode middle') === true) {\n            if (exec('at left') === false) ; else if (exec('at left') === true) {\n              targets['after target parent'](info);\n            }\n          }\n        } else if (exec('targetNode is 1st child') === false) {\n          if (exec('on targetNode middle') === false) {\n            if (exec('at left') === true) {\n              targets['after target parent'](info);\n            } else if (exec('at left') === false) {\n              if (exec('at indent right') === true) {\n                targets['append prev'](info);\n              } else if (exec('at indent right') === false) ;\n            }\n          } else if (exec('on targetNode middle') === true) {\n            if (exec('at left') === true) {\n              targets['after target parent'](info);\n            } else if (exec('at left') === false) {\n              if (exec('at indent right') === true) {\n                targets['append prev'](info);\n              } else if (exec('at indent right') === false) ;\n            }\n          }\n        }\n      }\n    }\n  } else if (exec('currentTree existed') === false) ; // decision end =================================\n  //\n\n}\n\nfunction getOf4(el, space) {\n  var r = hp.getOffset(el);\n  r.x2 = r.x + el.offsetWidth;\n  r.y2 = r.y + el.offsetHeight + space;\n  return r;\n}\n\nautoMoveDragPlaceHolder.dragStart = function dragStart() {};\n\nautoMoveDragPlaceHolder.dragEnd = function dragEnd() {\n  prevTree = null;\n  droppableIds = {};\n  draggableIds = {};\n};\n\nvar script$2 = {\n  extends: TreeNode,\n  name: 'TreeNode',\n  mounted: function mounted() {\n    var _this = this;\n\n    this.store.isNodeDraggable = isNodeDraggable;\n    this.store.isNodeDroppable = isNodeDroppable;\n\n    if (this.isRoot || this.data.isDragPlaceHolder) {\n      return;\n    }\n\n    var dplh = this.store.dplh;\n    this.$watch('store.draggable', function (draggable) {\n      if (vf.isPropTrue(draggable)) {\n        var triggerEl = _this.store.getTriggerEl ? _this.store.getTriggerEl(_this) : _this.$el.querySelector('.tree-node-inner');\n        _this._draggableDestroy = draggableHelper(triggerEl, {\n          preventSelect: vf.isPropTrue(_this.store.preventSelect),\n          // trigger el\n          getEl: function getEl() {\n            return _this.$el;\n          },\n          minTranslate: 10,\n          drag: function drag(e, opt, store) {\n            autoMoveDragPlaceHolder.dragStart(); // this store is not tree\n\n            var draggableHelperInfo = {\n              event: e,\n              options: opt,\n              store: store\n            };\n\n            if (_this.store.ondragstart && _this.store.ondragstart(_this.data, draggableHelperInfo, dplh.parent) === false) {\n              return false;\n            }\n\n            if (!isNodeDraggable(_this.data)) {\n              return false;\n            }\n\n            _this.store.$emit('drag', _this.data); // record start positon\n\n\n            var siblings = _this.data.parent.children;\n            _this.startPosition = {\n              siblings: siblings,\n              index: siblings.indexOf(_this.data)\n            }; //\n\n            dplh.innerStyle.height = store.el.offsetHeight + 'px';\n            th.insertAfter(dplh, _this.data);\n            _this.data.class += ' dragging'; // console.log('drag start');\n          },\n          moving: function moving(e, opt, store) {\n            if (store.movedCount === 0) {\n              return;\n            }\n\n            var draggableHelperInfo = {\n              event: e,\n              options: opt,\n              store: store\n            };\n            return autoMoveDragPlaceHolder.call(_this, draggableHelperInfo);\n          },\n          drop: function drop(e, opt, store) {\n            autoMoveDragPlaceHolder.dragEnd();\n            var draggableHelperInfo = {\n              event: e,\n              options: opt,\n              store: store\n            };\n\n            if (_this.store.ondragend && _this.store.ondragend(_this.data, draggableHelperInfo, dplh.parent) === false) {\n              hp.arrayRemove(dplh.parent.children, dplh); // can't drop, no change\n            } else {\n              var targetTree = dplh._vm.store;\n              var crossTree = targetTree !== _this.store;\n              var oldTree = crossTree ? _this.store : null;\n              th.insertAfter(_this.data, dplh);\n              hp.arrayRemove(dplh.parent.children, dplh);\n              _this.data.class = _this.data.class.replace(/(^| )dragging( |$)/g, ' ');\n              targetTree.$emit('drop', _this.data, targetTree, oldTree);\n              oldTree && oldTree.$emit('drop', _this.data, targetTree, oldTree); // emit change event if changed\n\n              var siblings = _this.data.parent.children;\n\n              if (siblings === _this.startPosition.siblings && siblings.indexOf(_this.data) === _this.startPosition.index) ; else {\n                _this.store.$emit('change', _this.data, targetTree, oldTree);\n\n                oldTree && oldTree.$emit('change', _this.data, targetTree, oldTree);\n              }\n\n              _this.startPosition = null;\n            } // console.log('drag end');\n\n          }\n        });\n      } else {\n        if (_this._draggableDestroy) {\n          _this._draggableDestroy();\n\n          _this._draggableDestroy = null;\n        }\n      }\n    }, {\n      immediate: true\n    });\n  }\n};\n\n/* script */\nconst __vue_script__$2 = script$2;\n\n/* template */\n\n  /* style */\n  const __vue_inject_styles__$2 = undefined;\n  /* scoped */\n  const __vue_scope_id__$2 = undefined;\n  /* module identifier */\n  const __vue_module_identifier__$2 = undefined;\n  /* functional template */\n  const __vue_is_functional_template__$2 = undefined;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n\n  \n  var DraggableTreeNode = normalizeComponent_1(\n    {},\n    __vue_inject_styles__$2,\n    __vue_script__$2,\n    __vue_scope_id__$2,\n    __vue_is_functional_template__$2,\n    __vue_module_identifier__$2,\n    undefined,\n    undefined\n  );\n\nvar trees = []; // for multiple trees\n// DragPlaceHolder, unique\n\nvar dplh = {\n  _id: 'draggable_tree_drag_placeHolder',\n  level: null,\n  droppable: false,\n  isDragPlaceHolder: true,\n  class: 'draggable-placeholder',\n  style: {},\n  innerStyle: {},\n  innerClass: 'draggable-placeholder-inner',\n  innerBackStyle: {},\n  innerBackClass: 'draggable-placeholder-inner-back' // children: [],\n\n};\nvar script$3 = {\n  extends: Tree,\n  props: {\n    getTriggerEl: {\n      type: Function\n    },\n    draggable: {},\n    droppable: {\n      default: true\n    },\n    crossTree: {},\n    ondragstart: {\n      type: Function\n    },\n    ondragend: {\n      type: Function\n    },\n    preventSelect: {\n      default: true\n    }\n  },\n  components: {\n    TreeNode: DraggableTreeNode\n  },\n  data: function data() {\n    return {\n      // DragPlaceHolder\n      dplh: dplh,\n      trees: trees\n    };\n  },\n  // computed: {},\n  // watch: {},\n  // methods: {},\n  created: function created() {\n    trees.push(this);\n  },\n  mounted: function mounted() {},\n  beforeDestroy: function beforeDestroy() {\n    hp.arrayRemove(trees, this);\n  }\n};\n\n/* script */\nconst __vue_script__$3 = script$3;\n\n/* template */\n\n  /* style */\n  const __vue_inject_styles__$3 = undefined;\n  /* scoped */\n  const __vue_scope_id__$3 = undefined;\n  /* module identifier */\n  const __vue_module_identifier__$3 = undefined;\n  /* functional template */\n  const __vue_is_functional_template__$3 = undefined;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n\n  \n  var DraggableTree = normalizeComponent_1(\n    {},\n    __vue_inject_styles__$3,\n    __vue_script__$3,\n    __vue_scope_id__$3,\n    __vue_is_functional_template__$3,\n    __vue_module_identifier__$3,\n    undefined,\n    undefined\n  );\n\nexports.Tree = Tree;\nexports.TreeNode = TreeNode;\nexports.DraggableTree = DraggableTree;\nexports.DraggableTreeNode = DraggableTreeNode;\n"]}