tdesign-react
Version:
TDesign Component for React
102 lines (96 loc) • 4.99 kB
JavaScript
/**
* tdesign v1.16.2
* (c) 2025 tdesign
* @license MIT
*/
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var defineProperty = require('../../_chunks/dep-0fe55884.js');
var React = require('react');
var _util_createHookContext = require('../../_util/createHookContext.js');
require('../../_chunks/dep-b325182b.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._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 = _util_createHookContext.createHookContext(function (value) {
var props = value.props,
store = value.store;
var dragNode = React.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();
};
exports.TreeDraggableContext = TreeDraggableContext;
exports.useTreeDraggableContext = useTreeDraggableContext;
//# sourceMappingURL=TreeDraggableContext.js.map