UNPKG

@nodeject/ui-components

Version:

UI library for non-trivial components

80 lines (79 loc) 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.onDrop = exports.onDragEnter = void 0; var helper_1 = require("./helper"); var onDragEnter = function (info) { // console.log('onDragEnter info', info) // expandedKeys // setState({ // expandedKeys: info.expandedKeys, // }) }; exports.onDragEnter = onDragEnter; var onDrop = function (info, treeData, moveNodeTo) { console.log('info', info.node); var dropKey = info.node.props.eventKey; var dragKey = info.dragNode.props.eventKey; var dropPos = info.node.props.pos.split('-'); var dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]); var dragNodeKey; var moveI; var parentKey; // Find dragObject var dragNode; helper_1.getNodeInfo(treeData, dragKey, function (node, index, nodes) { nodes.splice(index, 1); dragNode = node; }); if (!info.dropToGap) { // Drop on the content helper_1.getNodeInfo(treeData, dropKey, function (dropNode) { dropNode.children = dropNode.children || []; // where to insert dropNode.children.push(dragNode); dragNodeKey = dragNode.nodeKey; moveI = dropNode.children.length - 1; parentKey = dropNode.nodeKey; }); } else if (info.node.props.children !== undefined && info.node.props.expanded && // Is expanded dropPosition === 1 // On the bottom gap ) { helper_1.getNodeInfo(treeData, dropKey, function (dropNode) { dropNode.children = dropNode.children || []; // where to insert dropNode.children.unshift(dragNode); dragNodeKey = dragNode.nodeKey; moveI = 0; parentKey = dropNode.nodeKey; }); } else { var ar_1; var i_1; var d_1; var moveIndex = void 0; helper_1.getNodeInfo(treeData, dropKey, function (dropNode, index, nodes) { ar_1 = nodes; i_1 = index; d_1 = dropNode; }); dropPosition === -1 ? (moveIndex = i_1) : (moveIndex = i_1 + 1); ar_1.splice(moveIndex, 0, dragNode); dragNodeKey = dragNode.nodeKey; moveI = moveIndex; parentKey = d_1.parentKey; } console.log(dragNodeKey, moveI, parentKey); if (!moveNodeTo) { console.log('please pass a props.moveNodeTo for server implementation'); } return { index: moveI, nodeId: dragNodeKey, parentId: parentKey }; // moveNodeTo ? moveNodeTo(dragNodeKey, moveI, parentKey) : }; exports.onDrop = onDrop;