UNPKG

tdesign-react

Version:
97 lines (93 loc) 4.82 kB
/** * tdesign v1.16.2 * (c) 2025 tdesign * @license MIT */ import { _ as _defineProperty } from '../../_chunks/dep-d67deb2c.js'; import { useRef } from 'react'; import { createHookContext } from '../../_util/createHookContext.js'; import '../../_chunks/dep-8abcbcbc.js'; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var TreeDraggableContext = createHookContext(function (value) { var props = value.props, store = value.store; var dragNode = useRef(null); var onDragStart = function onDragStart(context) { var _props$onDragStart; dragNode.current = context.node; (_props$onDragStart = props.onDragStart) === null || _props$onDragStart === void 0 || _props$onDragStart.call(props, _objectSpread(_objectSpread({}, context), {}, { node: context.node.getModel() })); }; var onDragEnd = function onDragEnd(context) { var _props$onDragEnd; dragNode.current = context.node; (_props$onDragEnd = props.onDragEnd) === null || _props$onDragEnd === void 0 || _props$onDragEnd.call(props, _objectSpread(_objectSpread({}, context), {}, { node: context.node.getModel() })); }; var onDragOver = function onDragOver(context) { var _props$onDragOver, _dragNode$current; (_props$onDragOver = props.onDragOver) === null || _props$onDragOver === void 0 || _props$onDragOver.call(props, _objectSpread(_objectSpread({}, context), {}, { node: context.node.getModel(), dragNode: (_dragNode$current = dragNode.current) === null || _dragNode$current === void 0 ? void 0 : _dragNode$current.getModel() })); }; var onDragLeave = function onDragLeave(context) { var _props$onDragLeave, _dragNode$current2; (_props$onDragLeave = props.onDragLeave) === null || _props$onDragLeave === void 0 || _props$onDragLeave.call(props, _objectSpread(_objectSpread({}, context), {}, { node: context.node.getModel(), dragNode: (_dragNode$current2 = dragNode.current) === null || _dragNode$current2 === void 0 ? void 0 : _dragNode$current2.getModel() })); }; var onDrop = function onDrop(context) { var _dragNode$current3, _props$allowDrop, _props$onDrop, _dragNode$current6; var node = context.node, dropPosition = context.dropPosition; if (node.value === ((_dragNode$current3 = dragNode.current) === null || _dragNode$current3 === void 0 ? void 0 : _dragNode$current3.value) || node.getParents().some(function (_node) { var _dragNode$current4; return _node.value === ((_dragNode$current4 = dragNode.current) === null || _dragNode$current4 === void 0 ? void 0 : _dragNode$current4.value); })) { return; } var ctx = { dropNode: node.getModel(), dragNode: dragNode.current.getModel(), dropPosition: dropPosition, e: context.e }; 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 === 0) { var _dragNode$current5; (_dragNode$current5 = dragNode.current) === null || _dragNode$current5 === void 0 || _dragNode$current5.appendTo(store, _node); } else if (dropPosition < 0) { node.insertBefore(dragNode.current); } else { node.insertAfter(dragNode.current); } return true; } return false; }); (_props$onDrop = props.onDrop) === null || _props$onDrop === void 0 || _props$onDrop.call(props, _objectSpread(_objectSpread({}, context), {}, { dragNode: (_dragNode$current6 = dragNode.current) === null || _dragNode$current6 === void 0 ? void 0 : _dragNode$current6.getModel(), dropNode: node.getModel() })); }; return { onDragStart: onDragStart, onDragEnd: onDragEnd, onDragOver: onDragOver, onDragLeave: onDragLeave, onDrop: onDrop }; }); var useTreeDraggableContext = function useTreeDraggableContext() { return TreeDraggableContext.use(); }; export { TreeDraggableContext, useTreeDraggableContext }; //# sourceMappingURL=TreeDraggableContext.js.map