xdesign-vue-next
Version:
XDesign Component for vue-next
99 lines (95 loc) • 3.52 kB
JavaScript
/**
* xdesign v1.0.6
* (c) 2023 xdesign
* @license MIT
*/
import { ref, getCurrentInstance, provide } from 'vue';
import { dragInjectKey } from '../constants.mjs';
import '../../hooks/useConfig.mjs';
import '../../config-provider/useConfig.mjs';
import '../../_chunks/dep-1cc1c24f.mjs';
import '../../_chunks/dep-10a947a6.mjs';
import '../../_chunks/dep-b75d8d74.mjs';
import '../../_chunks/dep-82805301.mjs';
import '../../_chunks/dep-6ad18815.mjs';
import '../../_chunks/dep-91ac8f71.mjs';
import '../../_chunks/dep-c4737535.mjs';
import '../../_chunks/dep-81c83986.mjs';
import '../../_chunks/dep-6aa0223b.mjs';
import '../../_chunks/dep-db381ece.mjs';
import '../../_chunks/dep-5755c21c.mjs';
import '../../_chunks/dep-7f239c43.mjs';
import '../../_chunks/dep-6f04869e.mjs';
import '../../_chunks/dep-d32fbbb3.mjs';
import '../../_chunks/dep-dafada74.mjs';
import '../../_chunks/dep-addc2a84.mjs';
import '../../_chunks/dep-a95026f2.mjs';
import '../../_chunks/dep-068e912d.mjs';
import '../../_chunks/dep-6e7b37b8.mjs';
import '../../_chunks/dep-e1ab85c5.mjs';
import '../../_chunks/dep-5f0e0453.mjs';
import '../../_chunks/dep-71f84cf2.mjs';
import '../../_chunks/dep-0e832fc7.mjs';
import '../../_chunks/dep-69963a8c.mjs';
import '../../_chunks/dep-8d1c9a23.mjs';
import '../../_chunks/dep-03412fab.mjs';
import '../../_chunks/dep-205ff58d.mjs';
import '../../_chunks/dep-11fa9c2c.mjs';
import '../../_chunks/dep-b09f48fa.mjs';
import '../../_chunks/dep-26bf361a.mjs';
import '../../_chunks/dep-3ec3335a.mjs';
import '../../_chunks/dep-ed4e7c50.mjs';
import '../../_chunks/dep-a666b9ad.mjs';
import '../../_common/js/global-config/default-config.mjs';
import '../../_common/js/global-config/locale/en_US.mjs';
import '../../config-provider/type.mjs';
function useOnDrag(treeStore) {
var dragNode = ref();
var _getCurrentInstance = getCurrentInstance(),
emit = _getCurrentInstance.emit;
var onDragStart = function onDragStart(context) {
dragNode.value = context.node;
emit === null || emit === void 0 ? void 0 : emit("dragStart", context);
};
var onDragEnd = function onDragEnd(context) {
dragNode.value = context.node;
emit === null || emit === void 0 ? void 0 : emit("dragEnd", context);
};
var onDragOver = function onDragOver(context) {
emit === null || emit === void 0 ? void 0 : emit("dragOver", context);
};
var onDragLeave = function onDragLeave(context) {
emit === null || emit === void 0 ? void 0 : emit("dragLeave", context);
};
var onDrop = function onDrop(context) {
var node = context.node,
dropPosition = context.dropPosition;
if (node.value === dragNode.value.value || node.getParents().some(function (_node) {
return _node.value === dragNode.value.value;
})) return;
var nodes = treeStore.value.getNodes();
nodes.some(function (_node, _index) {
if (_node.value === node.value) {
if (dropPosition === 0) {
dragNode.value.appendTo(treeStore.value, _node);
} else if (dropPosition < 0) {
node.insertBefore(dragNode.value);
} else {
node.insertAfter(dragNode.value);
}
return true;
}
return false;
});
emit === null || emit === void 0 ? void 0 : emit("drop", context);
};
provide(dragInjectKey, {
onDragStart: onDragStart,
onDragEnd: onDragEnd,
onDragOver: onDragOver,
onDragLeave: onDragLeave,
onDrop: onDrop
});
}
export { useOnDrag as default };
//# sourceMappingURL=useOnDrag.mjs.map