UNPKG

tdesign-vue-next

Version:
157 lines (153 loc) 4.98 kB
/** * tdesign v1.11.5 * (c) 2025 tdesign * @license MIT */ import { DragPosition } from './useDraggable.mjs'; import { emitEvent } from '../util.mjs'; import 'lodash-es'; import '../adapt.mjs'; import 'vue'; import '../../utils/withInstall.mjs'; import '../../hooks/useVModel.mjs'; import '../../hooks/useDefaultValue.mjs'; import 'tdesign-icons-vue-next'; import '../../checkbox/index.mjs'; import '../../checkbox/checkbox.mjs'; import '../../_chunks/dep-6d9c1bfc.mjs'; import '../../_chunks/dep-9f375e51.mjs'; import '../../_chunks/dep-da95471f.mjs'; import '../../_chunks/dep-4ed7019e.mjs'; import '../../checkbox/props.mjs'; import '../../hooks/useRipple.mjs'; import '../../hooks/useKeepAnimation.mjs'; import '../../hooks/useConfig.mjs'; import '../../config-provider/hooks/useConfig.mjs'; import '../../config-provider/utils/context.mjs'; import '../../_chunks/dep-a5ae2f3f.mjs'; import '../../_chunks/dep-82d2a14f.mjs'; import '../../_chunks/dep-37fa6ccb.mjs'; import '../../_chunks/dep-7fb24b17.mjs'; import '../../_chunks/dep-6cfc5734.mjs'; import '../../_chunks/dep-46ec3e86.mjs'; import '../../utils/render-tnode.mjs'; import '../../checkbox/consts/index.mjs'; import '../../checkbox/hooks/useCheckboxLazyLoad.mjs'; import '../../_chunks/dep-221379fb.mjs'; import '../../checkbox/hooks/useKeyboardEvent.mjs'; import '../../_chunks/dep-251d5b63.mjs'; import '../../hooks/useDisabled.mjs'; import '../../hooks/useReadonly.mjs'; import '../../checkbox/group.mjs'; import '../../_chunks/dep-03e058e5.mjs'; import '../../checkbox/checkbox-group-props.mjs'; import '../../hooks/slot.mjs'; import './style/css.mjs'; import '../../loading/index.mjs'; import '../../loading/directive.mjs'; import '../../loading/plugin.mjs'; import '../../loading/loading.mjs'; import '../../loading/icon/gradient.mjs'; import '../../_chunks/dep-3d81ac0a.mjs'; import '../../_chunks/dep-6a79c950.mjs'; import '../../utils/dom.mjs'; import '../../hooks/useTeleport.mjs'; import '../../loading/props.mjs'; import '../../hooks/useGlobalIcon.mjs'; import '../../hooks/useLazyLoad.mjs'; import '../../hooks/useVirtualScrollNew.mjs'; import '../../hooks/useResizeObserver.mjs'; import '../../_chunks/dep-3f189a8c.mjs'; import '../../_chunks/dep-3630a49c.mjs'; import '../../_chunks/dep-7dcc7954.mjs'; import '../../_chunks/dep-88187fb2.mjs'; import '../../_chunks/dep-198540b0.mjs'; function useDragHandle(state) { var props = state.props, context = state.context, scope = state.scope, store = state.store; var dragNode = null; var handleDragStart = function handleDragStart(state2) { var dragEvent = state2.dragEvent, node = state2.node; dragNode = node; var ctx = { node: node.getModel(), e: dragEvent }; emitEvent(props, context, "drag-start", ctx); }; var handleDragEnd = function handleDragEnd(state2) { var dragEvent = state2.dragEvent, node = state2.node; dragNode = node; var ctx = { node: node.getModel(), e: dragEvent }; emitEvent(props, context, "drag-end", ctx); }; var handleDragOver = function handleDragOver(state2) { var dragEvent = state2.dragEvent, node = state2.node; var ctx = { node: node.getModel(), e: dragEvent }; emitEvent(props, context, "drag-over", ctx); }; var handleDragLeave = function handleDragLeave(state2) { var dragEvent = state2.dragEvent, node = state2.node; var ctx = { node: node.getModel(), e: dragEvent }; emitEvent(props, context, "drag-leave", ctx); }; var handleDrop = function handleDrop(state2) { var _props$allowDrop; var dragEvent = state2.dragEvent, node = state2.node, dropPosition = state2.dropPosition; if (node.value === dragNode.value || node.getParents().some(function (_node) { return _node.value === dragNode.value; })) return; var ctx = { dropNode: node.getModel(), dragNode: dragNode.getModel(), dropPosition: dropPosition, e: dragEvent }; if (((_props$allowDrop = props.allowDrop) === null || _props$allowDrop === void 0 ? void 0 : _props$allowDrop.call(props, ctx)) === false) return; var nodes = store.getNodes(); nodes.some(function (_node) { if (_node.value === node.value) { if (dropPosition === DragPosition.Inside) { dragNode.appendTo(store, _node); } else if (dropPosition === DragPosition.Before) { node.insertBefore(dragNode); } else { node.insertAfter(dragNode); } return true; } return false; }); emitEvent(props, context, "drop", ctx); }; var drag = { handleDragStart: handleDragStart, handleDragEnd: handleDragEnd, handleDragOver: handleDragOver, handleDragLeave: handleDragLeave, handleDrop: handleDrop }; scope.drag = drag; return { drag: drag }; } export { useDragHandle as default }; //# sourceMappingURL=useDragHandle.mjs.map