@reltio/components 1.4.2000 → 1.4.2002
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/RCTree/RCTree.d.ts +17 -14
- package/cjs/RCTree/RCTree.js +24 -8
- package/cjs/RCTree/RCTreeLevelLines.d.ts +4 -0
- package/cjs/RCTree/RCTreeLevelLines.js +32 -0
- package/cjs/RCTree/RCTreeSwitchRenderer.d.ts +7 -0
- package/cjs/RCTree/{DefaultSwitchRenderer.js → RCTreeSwitchRenderer.js} +3 -3
- package/cjs/RCTree/helper.d.ts +10 -5
- package/cjs/RCTree/helper.js +49 -3
- package/cjs/RCTree/index.d.ts +2 -0
- package/cjs/RCTree/index.js +5 -1
- package/cjs/RCTree/levelLinesStyles.d.ts +5 -0
- package/cjs/RCTree/levelLinesStyles.js +53 -0
- package/cjs/RCTree/styles.d.ts +1 -1
- package/cjs/RCTree/styles.js +63 -30
- package/cjs/RCTree/types.d.ts +3 -2
- package/cjs/RCTree/useDnd.d.ts +16 -16
- package/cjs/features/crosswalks/AttributesTable/AttributesTable.test.js +6 -4
- package/cjs/features/crosswalks/CrosswalkAttributes/CrosswalkAttributes.test.js +16 -20
- package/cjs/features/crosswalks/CrosswalkEditor/CrosswalkEditor.test.js +4 -5
- package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +4 -5
- package/cjs/features/workflow/ReassignButton/components/ReassignDialog/styles.d.ts +1 -1
- package/cjs/index.d.ts +1 -2
- package/cjs/index.js +7 -7
- package/esm/RCTree/RCTree.d.ts +17 -14
- package/esm/RCTree/RCTree.js +26 -10
- package/esm/RCTree/RCTreeLevelLines.d.ts +4 -0
- package/esm/RCTree/RCTreeLevelLines.js +25 -0
- package/esm/RCTree/RCTreeSwitchRenderer.d.ts +7 -0
- package/esm/RCTree/{DefaultSwitchRenderer.js → RCTreeSwitchRenderer.js} +1 -1
- package/esm/RCTree/helper.d.ts +10 -5
- package/esm/RCTree/helper.js +44 -1
- package/esm/RCTree/index.d.ts +2 -0
- package/esm/RCTree/index.js +2 -0
- package/esm/RCTree/levelLinesStyles.d.ts +5 -0
- package/esm/RCTree/levelLinesStyles.js +50 -0
- package/esm/RCTree/styles.d.ts +1 -1
- package/esm/RCTree/styles.js +63 -30
- package/esm/RCTree/types.d.ts +3 -2
- package/esm/RCTree/useDnd.d.ts +16 -16
- package/esm/features/crosswalks/AttributesTable/AttributesTable.test.js +6 -4
- package/esm/features/crosswalks/CrosswalkAttributes/CrosswalkAttributes.test.js +17 -21
- package/esm/features/crosswalks/CrosswalkEditor/CrosswalkEditor.test.js +5 -6
- package/esm/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +5 -6
- package/esm/features/workflow/ReassignButton/components/ReassignDialog/styles.d.ts +1 -1
- package/esm/index.d.ts +1 -2
- package/esm/index.js +1 -2
- package/package.json +2 -2
- package/cjs/RCTree/DefaultSwitchRenderer.d.ts +0 -7
- package/cjs/SaveSegmentDialog/SaveSegmentDialog.d.ts +0 -11
- package/cjs/SaveSegmentDialog/SaveSegmentDialog.js +0 -132
- package/cjs/SaveSegmentDialog/SaveSegmentDialog.test.d.ts +0 -1
- package/cjs/SaveSegmentDialog/SaveSegmentDialog.test.js +0 -214
- package/cjs/SaveSegmentDialog/index.d.ts +0 -1
- package/cjs/SaveSegmentDialog/index.js +0 -5
- package/cjs/SaveSegmentDialog/styles.d.ts +0 -1
- package/cjs/SaveSegmentDialog/styles.js +0 -15
- package/esm/RCTree/DefaultSwitchRenderer.d.ts +0 -7
- package/esm/SaveSegmentDialog/SaveSegmentDialog.d.ts +0 -11
- package/esm/SaveSegmentDialog/SaveSegmentDialog.js +0 -102
- package/esm/SaveSegmentDialog/SaveSegmentDialog.test.d.ts +0 -1
- package/esm/SaveSegmentDialog/SaveSegmentDialog.test.js +0 -209
- package/esm/SaveSegmentDialog/index.d.ts +0 -1
- package/esm/SaveSegmentDialog/index.js +0 -1
- package/esm/SaveSegmentDialog/styles.d.ts +0 -1
- package/esm/SaveSegmentDialog/styles.js +0 -12
package/cjs/RCTree/RCTree.d.ts
CHANGED
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
import { TreeNodeProps } from 'rc-tree';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { RCTreeNode } from './types';
|
|
4
|
-
type Props = {
|
|
5
|
-
treeData:
|
|
6
|
-
renderNode?: (node:
|
|
3
|
+
import { InternalRCNode, RCTreeNode } from './types';
|
|
4
|
+
type Props<Node extends RCTreeNode> = {
|
|
5
|
+
treeData: Node[];
|
|
6
|
+
renderNode?: (node: Node) => React.ReactElement;
|
|
7
7
|
isVirtualized?: boolean;
|
|
8
8
|
canDrag?: (params: {
|
|
9
|
-
node:
|
|
9
|
+
node: Node;
|
|
10
10
|
}) => boolean;
|
|
11
11
|
canDrop?: (params: {
|
|
12
|
-
nextParent:
|
|
13
|
-
node:
|
|
12
|
+
nextParent: Node;
|
|
13
|
+
node: Node;
|
|
14
14
|
}) => boolean;
|
|
15
|
-
onDrop?: (treeData:
|
|
16
|
-
onLoadChildren?: (treeNode:
|
|
17
|
-
height?: number;
|
|
15
|
+
onDrop?: (treeData: Node[], dragNode: Node, parentNode: Node) => void;
|
|
16
|
+
onLoadChildren?: (treeNode: Node) => Promise<void>;
|
|
18
17
|
defaultExpandAll?: boolean;
|
|
19
|
-
SwitchRenderer?: (props:
|
|
18
|
+
SwitchRenderer?: (props: {
|
|
19
|
+
node: InternalRCNode<Node>;
|
|
20
|
+
}) => React.ReactElement;
|
|
21
|
+
LevelLinesRenderer?: (props: any) => React.ReactElement;
|
|
20
22
|
className?: string;
|
|
21
23
|
minItemHeight?: number;
|
|
22
24
|
isLeaf?: (node: TreeNodeProps & Record<string, unknown>) => boolean;
|
|
23
|
-
scrollToNode?:
|
|
24
|
-
onChange?: (node:
|
|
25
|
+
scrollToNode?: Node;
|
|
26
|
+
onChange?: (node: Node[]) => void;
|
|
27
|
+
height?: number;
|
|
25
28
|
};
|
|
26
|
-
export declare const RCTree: ({ treeData, isVirtualized, canDrag, canDrop, onDrop, onLoadChildren,
|
|
29
|
+
export declare const RCTree: <Node extends RCTreeNode>({ treeData, isVirtualized, canDrag, canDrop, onDrop, onLoadChildren, defaultExpandAll, SwitchRenderer, LevelLinesRenderer, className, renderNode, minItemHeight, isLeaf, scrollToNode, onChange, height }: Props<Node>) => React.JSX.Element;
|
|
27
30
|
export {};
|
package/cjs/RCTree/RCTree.js
CHANGED
|
@@ -43,24 +43,27 @@ var ramda_1 = require("ramda");
|
|
|
43
43
|
var rc_tree_1 = __importDefault(require("rc-tree"));
|
|
44
44
|
var react_1 = __importStar(require("react"));
|
|
45
45
|
var DragIndicator_1 = __importDefault(require("@mui/icons-material/DragIndicator"));
|
|
46
|
-
var
|
|
46
|
+
var react_resize_detector_1 = __importDefault(require("react-resize-detector"));
|
|
47
|
+
var RCTreeSwitchRenderer_1 = require("./RCTreeSwitchRenderer");
|
|
48
|
+
var RCTreeLevelLines_1 = require("./RCTreeLevelLines");
|
|
47
49
|
var helper_1 = require("./helper");
|
|
48
50
|
var useDnd_1 = require("./useDnd");
|
|
49
51
|
var styles_1 = require("./styles");
|
|
50
52
|
var MIN_ROW_HEIGHT = 28;
|
|
51
53
|
var RCTree = function (_a) {
|
|
52
54
|
var _b;
|
|
53
|
-
var treeData = _a.treeData, _c = _a.isVirtualized, isVirtualized = _c === void 0 ? true : _c, _d = _a.canDrag, canDrag = _d === void 0 ? function () { return false; } : _d, _e = _a.canDrop, canDrop = _e === void 0 ? function () { return false; } : _e, _f = _a.onDrop, onDrop = _f === void 0 ? function () { } : _f, onLoadChildren = _a.onLoadChildren,
|
|
55
|
+
var treeData = _a.treeData, _c = _a.isVirtualized, isVirtualized = _c === void 0 ? true : _c, _d = _a.canDrag, canDrag = _d === void 0 ? function () { return false; } : _d, _e = _a.canDrop, canDrop = _e === void 0 ? function () { return false; } : _e, _f = _a.onDrop, onDrop = _f === void 0 ? function () { } : _f, onLoadChildren = _a.onLoadChildren, _g = _a.defaultExpandAll, defaultExpandAll = _g === void 0 ? false : _g, _h = _a.SwitchRenderer, SwitchRenderer = _h === void 0 ? RCTreeSwitchRenderer_1.RCTreeSwitchRenderer : _h, _j = _a.LevelLinesRenderer, LevelLinesRenderer = _j === void 0 ? RCTreeLevelLines_1.RCTreeLevelLines : _j, className = _a.className, renderNode = _a.renderNode, _k = _a.minItemHeight, minItemHeight = _k === void 0 ? MIN_ROW_HEIGHT : _k, _l = _a.isLeaf, isLeaf = _l === void 0 ? helper_1.defaultIsLeaf : _l, scrollToNode = _a.scrollToNode, _m = _a.onChange, onChange = _m === void 0 ? ramda_1.identity : _m, height = _a.height;
|
|
54
56
|
var styles = (0, styles_1.useStyles)();
|
|
55
57
|
var treeRef = (0, react_1.useRef)(null);
|
|
56
58
|
var containerRef = (0, react_1.useRef)(null);
|
|
59
|
+
var _o = (0, react_1.useState)({ width: 0, height: 0 }), containerSize = _o[0], setContainerSize = _o[1];
|
|
57
60
|
var expandNode = (0, react_1.useCallback)(function (pos, expanded) {
|
|
58
61
|
var changeNode = (0, ramda_1.assoc)('expanded', expanded);
|
|
59
62
|
var newTreeData = (0, helper_1.changeNodeAtPosition)(treeData, pos, changeNode);
|
|
60
63
|
if (newTreeData)
|
|
61
64
|
onChange(newTreeData);
|
|
62
65
|
}, [onChange, treeData]);
|
|
63
|
-
var
|
|
66
|
+
var _p = (0, useDnd_1.useDnd)({
|
|
64
67
|
containerRef: containerRef,
|
|
65
68
|
treeData: treeData,
|
|
66
69
|
expandNode: expandNode,
|
|
@@ -69,7 +72,7 @@ var RCTree = function (_a) {
|
|
|
69
72
|
onDrop: onDrop,
|
|
70
73
|
canDrop: canDrop,
|
|
71
74
|
canDrag: canDrag
|
|
72
|
-
}), treeProps =
|
|
75
|
+
}), treeProps = _p.treeProps, nodeDraggable = _p.nodeDraggable, dropNode = _p.dropNode, dragNode = _p.dragNode, dropPositionInfo = _p.dropPositionInfo;
|
|
73
76
|
(0, react_1.useEffect)(function () {
|
|
74
77
|
if (treeRef.current && scrollToNode) {
|
|
75
78
|
treeRef.current.scrollTo({ key: String(scrollToNode.nodeId) });
|
|
@@ -84,9 +87,14 @@ var RCTree = function (_a) {
|
|
|
84
87
|
}
|
|
85
88
|
return treeData;
|
|
86
89
|
}, [treeData, dragNode, dropNode, dropPositionInfo]);
|
|
90
|
+
(0, react_1.useEffect)(function () {
|
|
91
|
+
if (isVirtualized)
|
|
92
|
+
(0, helper_1.setTreeWidth)(containerRef, diplayedTreeData);
|
|
93
|
+
}, [diplayedTreeData, isVirtualized]);
|
|
87
94
|
var expandedKeys = (0, react_1.useMemo)(function () {
|
|
88
95
|
return (0, helper_1.getExpandedKeys)(diplayedTreeData);
|
|
89
96
|
}, [diplayedTreeData]);
|
|
97
|
+
var levelLines = (0, react_1.useMemo)(function () { return (0, helper_1.getLevelLinesData)(diplayedTreeData); }, [diplayedTreeData]);
|
|
90
98
|
var internalTreeData = (0, react_1.useMemo)(function () { return (0, helper_1.convertTreeData)({ data: diplayedTreeData, isLeaf: isLeaf }); }, [isLeaf, diplayedTreeData]);
|
|
91
99
|
var handleExpand = (0, react_1.useCallback)(function (_expandedKeys, data) {
|
|
92
100
|
if (onChange && !dragNode) {
|
|
@@ -96,21 +104,29 @@ var RCTree = function (_a) {
|
|
|
96
104
|
var renderSwitcherIcon = (0, react_1.useCallback)(function (node) { return react_1.default.createElement(SwitchRenderer, { node: node }); }, []);
|
|
97
105
|
var titleRender = function (node) {
|
|
98
106
|
var _a;
|
|
107
|
+
var _b, _c;
|
|
99
108
|
var draggedNodes = (0, helper_1.gatherNodeKeys)(dragNode);
|
|
100
|
-
|
|
109
|
+
var width = (0, helper_1.calcNodeWidth)((_c = (_b = levelLines[node.key]) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.length, containerSize.width);
|
|
110
|
+
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.titleWrapper, (_a = {},
|
|
101
111
|
_a[styles.dropIndicator] = (0, helper_1.isDropIndicatorNode)(node),
|
|
102
112
|
_a[styles.dropNotAllowed] = dropNode && !(0, helper_1.isDropIndicatorNode)(dropNode),
|
|
103
113
|
_a[styles.draggedChildrenNode] = draggedNodes.includes(node.key),
|
|
104
|
-
_a)), onMouseDown: helper_1.preventNodeDragging
|
|
114
|
+
_a)), onMouseDown: helper_1.preventNodeDragging, style: { width: width } },
|
|
115
|
+
react_1.default.createElement(LevelLinesRenderer, { levelLine: levelLines[node.key] }),
|
|
116
|
+
renderNode ? renderNode(node.value) : node.title));
|
|
105
117
|
};
|
|
106
118
|
var dragHandle = (react_1.default.createElement("span", { className: (0, classnames_1.default)(styles.dragHandle, (_b = {},
|
|
107
119
|
_b[styles.dragHandleDragging] = !!dragNode,
|
|
108
120
|
_b)) },
|
|
109
121
|
react_1.default.createElement(DragIndicator_1.default, null)));
|
|
110
|
-
|
|
122
|
+
var onContainerResize = (0, react_1.useCallback)(function (width, height) {
|
|
123
|
+
setContainerSize({ width: width, height: height });
|
|
124
|
+
}, []);
|
|
125
|
+
return diplayedTreeData ? (react_1.default.createElement("div", { ref: containerRef, className: (0, classnames_1.default)(styles.treeContainer) },
|
|
126
|
+
react_1.default.createElement(react_resize_detector_1.default, { handleWidth: true, handleHeight: true, onResize: onContainerResize }),
|
|
111
127
|
react_1.default.createElement(rc_tree_1.default, __assign({ draggable: {
|
|
112
128
|
icon: dragHandle,
|
|
113
129
|
nodeDraggable: nodeDraggable
|
|
114
|
-
}, virtual: isVirtualized, itemHeight: minItemHeight, height: height, onExpand: handleExpand, showIcon: false,
|
|
130
|
+
}, virtual: isVirtualized, itemHeight: minItemHeight, height: height || containerSize.height, onExpand: handleExpand, showIcon: false, switcherIcon: renderSwitcherIcon, defaultExpandAll: defaultExpandAll, expandedKeys: expandedKeys, className: (0, classnames_1.default)(className, styles.treeWrapper), titleRender: titleRender, treeData: internalTreeData, selectable: false, loadData: onLoadChildren ? function (node) { return onLoadChildren(node.value); } : undefined, "data-reltio-id": "rc-tree", ref: treeRef }, treeProps)))) : null;
|
|
115
131
|
};
|
|
116
132
|
exports.RCTree = RCTree;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RCTreeLevelLines = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var classnames_1 = __importDefault(require("classnames"));
|
|
9
|
+
var helper_1 = require("./helper");
|
|
10
|
+
var levelLinesStyles_1 = require("./levelLinesStyles");
|
|
11
|
+
var LevelLine = function (_a) {
|
|
12
|
+
var _b;
|
|
13
|
+
var _c = _a.needDrawLine, needDrawLine = _c === void 0 ? false : _c, _d = _a.isLastLevelLine, isLastLevelLine = _d === void 0 ? false : _d, _e = _a.drawHorizontalLine, drawHorizontalLine = _e === void 0 ? false : _e;
|
|
14
|
+
var styles = (0, levelLinesStyles_1.useStyles)({});
|
|
15
|
+
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.levelLine, (_b = {},
|
|
16
|
+
_b[styles.showLine] = needDrawLine,
|
|
17
|
+
_b[styles.lastLevelLine] = isLastLevelLine,
|
|
18
|
+
_b[styles.horizontalLine] = drawHorizontalLine,
|
|
19
|
+
_b)) }));
|
|
20
|
+
};
|
|
21
|
+
var RCTreeLevelLines = function (_a) {
|
|
22
|
+
var levelLine = _a.levelLine;
|
|
23
|
+
var _b = levelLine || [], _c = _b[0], needDrawLines = _c === void 0 ? [] : _c, _d = _b[1], isLast = _d === void 0 ? false : _d;
|
|
24
|
+
var level = needDrawLines.length + 2;
|
|
25
|
+
var styles = (0, levelLinesStyles_1.useStyles)({ level: level });
|
|
26
|
+
return (react_1.default.createElement("div", { className: styles.levelLines, style: { left: "-".concat(helper_1.DEPTH_LEVEL_INDENT * level, "px") } }, needDrawLines
|
|
27
|
+
.map(function (needDrawLine, index) {
|
|
28
|
+
return react_1.default.createElement(LevelLine, { key: index, needDrawLine: needDrawLine });
|
|
29
|
+
})
|
|
30
|
+
.concat(react_1.default.createElement(LevelLine, { key: level, needDrawLine: true, drawHorizontalLine: true, isLastLevelLine: isLast }))));
|
|
31
|
+
};
|
|
32
|
+
exports.RCTreeLevelLines = RCTreeLevelLines;
|
|
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.RCTreeSwitchRenderer = void 0;
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var classnames_1 = __importDefault(require("classnames"));
|
|
9
9
|
var styles_1 = require("./styles");
|
|
10
|
-
var
|
|
10
|
+
var RCTreeSwitchRenderer = function (_a) {
|
|
11
11
|
var node = _a.node;
|
|
12
12
|
var styles = (0, styles_1.useStyles)();
|
|
13
13
|
return !node.isLeaf ? (react_1.default.createElement("div", { className: styles.switcherButtonWrapper },
|
|
14
14
|
react_1.default.createElement("div", { "aria-label": node.expanded ? 'Collapse' : 'Expand', className: (0, classnames_1.default)(styles.switcherButton, node.expanded ? styles.collapseButton : styles.expandButton) }))) : null;
|
|
15
15
|
};
|
|
16
|
-
exports.
|
|
16
|
+
exports.RCTreeSwitchRenderer = RCTreeSwitchRenderer;
|
package/cjs/RCTree/helper.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import React, { MouseEvent } from 'react';
|
|
2
2
|
import { AddNodePosition, DropPositionInfo, InternalRCNode, RCTreeNode } from './types';
|
|
3
|
+
export declare const DEPTH_LEVEL_INDENT = 16;
|
|
3
4
|
export declare const defaultIsLeaf: ({ children }: {
|
|
4
5
|
children?: unknown[];
|
|
5
6
|
}) => boolean;
|
|
6
|
-
type ConvertTreeDataProps<
|
|
7
|
-
data:
|
|
7
|
+
type ConvertTreeDataProps<Node> = {
|
|
8
|
+
data: Node[];
|
|
8
9
|
parentPath?: number[];
|
|
9
|
-
isLeaf: (node:
|
|
10
|
+
isLeaf: (node: Node) => boolean;
|
|
10
11
|
};
|
|
11
|
-
export declare const convertTreeData: ({ data, isLeaf }: ConvertTreeDataProps<
|
|
12
|
+
export declare const convertTreeData: <Node extends RCTreeNode>({ data, isLeaf }: ConvertTreeDataProps<Node>) => InternalRCNode<Node>[];
|
|
12
13
|
export declare const getNodeAtPosition: (treeData: RCTreeNode[], pos: string) => any;
|
|
13
14
|
export declare const getParentPos: (pos: string) => string;
|
|
14
|
-
export declare const changeNodeAtPosition: (treeData:
|
|
15
|
+
export declare const changeNodeAtPosition: <Node extends RCTreeNode>(treeData: Node[], pos: string, changeNode: (node: Node) => Node) => any;
|
|
15
16
|
export declare const removeNodeAtPosition: (treeData: RCTreeNode[], pos: string) => any;
|
|
16
17
|
export declare const insertNodeAtPosition: (treeData: RCTreeNode[], pos: string, dropPosition: number, node: RCTreeNode) => any;
|
|
17
18
|
export declare const moveNode: (treeData: RCTreeNode[], dragNode: RCTreeNode, dragNodePos: string, dropPositionInfo: DropPositionInfo) => any;
|
|
@@ -29,4 +30,8 @@ export declare const getDropNodePosition: (event: React.DragEvent<HTMLDivElement
|
|
|
29
30
|
export declare const isDropIndicatorNode: (node: InternalRCNode) => boolean;
|
|
30
31
|
export declare const gatherNodeKeys: (node: InternalRCNode) => string[];
|
|
31
32
|
export declare const preventNodeDragging: (event: MouseEvent<HTMLDivElement>) => void;
|
|
33
|
+
type LevelLinesData = Record<string, [boolean[], boolean]>;
|
|
34
|
+
export declare const getLevelLinesData: (treeData: RCTreeNode[]) => LevelLinesData;
|
|
35
|
+
export declare const setTreeWidth: (container: React.RefObject<HTMLDivElement>, data: RCTreeNode[]) => void;
|
|
36
|
+
export declare const calcNodeWidth: (depth: number, containerWidth: number) => number;
|
|
32
37
|
export {};
|
package/cjs/RCTree/helper.js
CHANGED
|
@@ -20,11 +20,14 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
20
20
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
21
|
};
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.preventNodeDragging = exports.gatherNodeKeys = exports.isDropIndicatorNode = exports.getDropNodePosition = exports.slideNodePos = exports.getExpandedKeys = exports.moveNode = exports.insertNodeAtPosition = exports.removeNodeAtPosition = exports.changeNodeAtPosition = exports.getParentPos = exports.getNodeAtPosition = exports.convertTreeData = exports.defaultIsLeaf = void 0;
|
|
23
|
+
exports.calcNodeWidth = exports.setTreeWidth = exports.getLevelLinesData = exports.preventNodeDragging = exports.gatherNodeKeys = exports.isDropIndicatorNode = exports.getDropNodePosition = exports.slideNodePos = exports.getExpandedKeys = exports.moveNode = exports.insertNodeAtPosition = exports.removeNodeAtPosition = exports.changeNodeAtPosition = exports.getParentPos = exports.getNodeAtPosition = exports.convertTreeData = exports.defaultIsLeaf = exports.DEPTH_LEVEL_INDENT = void 0;
|
|
24
24
|
var ramda_1 = require("ramda");
|
|
25
25
|
var types_1 = require("./types");
|
|
26
|
-
|
|
26
|
+
exports.DEPTH_LEVEL_INDENT = 16;
|
|
27
27
|
var DROP_INDICATOR_NODE_KEY = '-1';
|
|
28
|
+
var CONTAINER_PADDINGS = 29;
|
|
29
|
+
var NODE_TITLE_MAX_WIDTH = 204;
|
|
30
|
+
var INITIAL_NODE_DEPTH = 2;
|
|
28
31
|
var defaultIsLeaf = function (_a) {
|
|
29
32
|
var _b = _a.children, children = _b === void 0 ? [] : _b;
|
|
30
33
|
return !children.length;
|
|
@@ -146,7 +149,7 @@ var findDepthPosition = function (event, dropNode) {
|
|
|
146
149
|
var dropNodeLevel = dropNode.pos.split('-').length - 1;
|
|
147
150
|
var leftPadding = parseFloat(window.getComputedStyle(nodeElement).paddingLeft) || 0;
|
|
148
151
|
var offsetX = event.clientX - nodeElement.getBoundingClientRect().left - leftPadding;
|
|
149
|
-
return Math.min(dropNodeLevel + 1, Math.max(Math.round(offsetX / DEPTH_LEVEL_INDENT), dropNodeLevel));
|
|
152
|
+
return Math.min(dropNodeLevel + 1, Math.max(Math.round(offsetX / exports.DEPTH_LEVEL_INDENT), dropNodeLevel));
|
|
150
153
|
};
|
|
151
154
|
var changePosLastIndex = function (pos, change) {
|
|
152
155
|
var position = pos.split('-');
|
|
@@ -208,3 +211,46 @@ var preventNodeDragging = function (event) {
|
|
|
208
211
|
event.preventDefault();
|
|
209
212
|
};
|
|
210
213
|
exports.preventNodeDragging = preventNodeDragging;
|
|
214
|
+
var getLevelLinesData = function (treeData) {
|
|
215
|
+
var getLinesData = function (data, prevLinesData) {
|
|
216
|
+
return data.reduce(function (linesData, node, index) {
|
|
217
|
+
var isLast = index === data.length - 1;
|
|
218
|
+
linesData[String(node.nodeId)] = [prevLinesData, isLast];
|
|
219
|
+
if (node.children && node.expanded) {
|
|
220
|
+
var nextLinesData = prevLinesData.concat(!isLast);
|
|
221
|
+
return __assign(__assign({}, linesData), getLinesData(node.children, nextLinesData));
|
|
222
|
+
}
|
|
223
|
+
return linesData;
|
|
224
|
+
}, {});
|
|
225
|
+
};
|
|
226
|
+
return getLinesData(treeData, []);
|
|
227
|
+
};
|
|
228
|
+
exports.getLevelLinesData = getLevelLinesData;
|
|
229
|
+
var getTreeMaxDepth = function (data, depth) {
|
|
230
|
+
if (depth === void 0) { depth = INITIAL_NODE_DEPTH; }
|
|
231
|
+
return data.reduce(function (maxDepth, node) {
|
|
232
|
+
return node.expanded && node.children
|
|
233
|
+
? Math.max(maxDepth, getTreeMaxDepth(node.children, depth + 1))
|
|
234
|
+
: maxDepth;
|
|
235
|
+
}, depth);
|
|
236
|
+
};
|
|
237
|
+
var getTreeMaxWidth = function (data) {
|
|
238
|
+
return getTreeMaxDepth(data) * exports.DEPTH_LEVEL_INDENT + NODE_TITLE_MAX_WIDTH + CONTAINER_PADDINGS;
|
|
239
|
+
};
|
|
240
|
+
var setTreeWidth = function (container, data) {
|
|
241
|
+
var _a, _b;
|
|
242
|
+
if (container.current) {
|
|
243
|
+
var maxTreeWidth = getTreeMaxWidth(data);
|
|
244
|
+
var list = (_b = (_a = container.current) === null || _a === void 0 ? void 0 : _a.getElementsByClassName('rc-tree-list-holder')[0]) === null || _b === void 0 ? void 0 : _b.firstChild;
|
|
245
|
+
if (list)
|
|
246
|
+
list.style.minWidth = "".concat(maxTreeWidth, "px");
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
exports.setTreeWidth = setTreeWidth;
|
|
250
|
+
var calcNodeWidth = function (depth, containerWidth) {
|
|
251
|
+
if (depth === void 0) { depth = 0; }
|
|
252
|
+
var leftIndent = (depth + INITIAL_NODE_DEPTH) * exports.DEPTH_LEVEL_INDENT;
|
|
253
|
+
var paddings = leftIndent + CONTAINER_PADDINGS;
|
|
254
|
+
return Math.max(containerWidth - paddings, NODE_TITLE_MAX_WIDTH);
|
|
255
|
+
};
|
|
256
|
+
exports.calcNodeWidth = calcNodeWidth;
|
package/cjs/RCTree/index.d.ts
CHANGED
package/cjs/RCTree/index.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RCTree = void 0;
|
|
3
|
+
exports.RCTreeSwitchRenderer = exports.RCTreeLevelLines = exports.RCTree = void 0;
|
|
4
4
|
var RCTree_1 = require("./RCTree");
|
|
5
5
|
Object.defineProperty(exports, "RCTree", { enumerable: true, get: function () { return RCTree_1.RCTree; } });
|
|
6
|
+
var RCTreeLevelLines_1 = require("./RCTreeLevelLines");
|
|
7
|
+
Object.defineProperty(exports, "RCTreeLevelLines", { enumerable: true, get: function () { return RCTreeLevelLines_1.RCTreeLevelLines; } });
|
|
8
|
+
var RCTreeSwitchRenderer_1 = require("./RCTreeSwitchRenderer");
|
|
9
|
+
Object.defineProperty(exports, "RCTreeSwitchRenderer", { enumerable: true, get: function () { return RCTreeSwitchRenderer_1.RCTreeSwitchRenderer; } });
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStyles = void 0;
|
|
4
|
+
var styles_1 = require("@mui/styles");
|
|
5
|
+
var helper_1 = require("./helper");
|
|
6
|
+
exports.useStyles = (0, styles_1.makeStyles)(function () { return ({
|
|
7
|
+
levelLines: function (_a) {
|
|
8
|
+
var level = _a.level;
|
|
9
|
+
return ({
|
|
10
|
+
position: 'absolute',
|
|
11
|
+
left: "-".concat(level * helper_1.DEPTH_LEVEL_INDENT, "px"),
|
|
12
|
+
display: 'flex',
|
|
13
|
+
paddingLeft: '7px',
|
|
14
|
+
cursor: 'initial',
|
|
15
|
+
bottom: 0,
|
|
16
|
+
top: 0,
|
|
17
|
+
zIndex: -1
|
|
18
|
+
});
|
|
19
|
+
},
|
|
20
|
+
levelLine: {
|
|
21
|
+
paddingLeft: '16px',
|
|
22
|
+
height: '100%',
|
|
23
|
+
position: 'relative'
|
|
24
|
+
},
|
|
25
|
+
showLine: {
|
|
26
|
+
'&:after': {
|
|
27
|
+
content: '""',
|
|
28
|
+
position: 'absolute',
|
|
29
|
+
height: '100%',
|
|
30
|
+
width: '1px',
|
|
31
|
+
left: '0',
|
|
32
|
+
top: '0',
|
|
33
|
+
bottom: '0',
|
|
34
|
+
backgroundColor: 'rgba(0, 122, 193, 0.3)'
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
lastLevelLine: {
|
|
38
|
+
'&:after': {
|
|
39
|
+
height: '14px'
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
horizontalLine: {
|
|
43
|
+
'&:before': {
|
|
44
|
+
content: '""',
|
|
45
|
+
height: '1px',
|
|
46
|
+
width: '4px',
|
|
47
|
+
position: 'absolute',
|
|
48
|
+
top: '14px',
|
|
49
|
+
left: '0',
|
|
50
|
+
backgroundColor: 'rgba(0, 122, 193, 0.3)'
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}); });
|
package/cjs/RCTree/styles.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"expandButton" | "collapseButton" | "dropIndicator" | "switcherButtonWrapper" | "switcherButton" | "treeWrapper" | "dropNotAllowed" | "draggedChildrenNode" | "dragHandle" | "dragHandleDragging" | "@global">;
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"expandButton" | "titleWrapper" | "collapseButton" | "dropIndicator" | "switcherButtonWrapper" | "switcherButton" | "treeContainer" | "treeWrapper" | "dropNotAllowed" | "draggedChildrenNode" | "dragHandle" | "dragHandleDragging" | "@global">;
|
package/cjs/RCTree/styles.js
CHANGED
|
@@ -4,11 +4,12 @@ exports.useStyles = void 0;
|
|
|
4
4
|
var styles_1 = require("@mui/styles");
|
|
5
5
|
exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
6
6
|
switcherButtonWrapper: {
|
|
7
|
-
paddingTop: '
|
|
8
|
-
paddingLeft: '
|
|
7
|
+
paddingTop: '13px',
|
|
8
|
+
paddingLeft: '2px',
|
|
9
9
|
width: '12px',
|
|
10
10
|
height: '12px',
|
|
11
|
-
cursor: 'pointer'
|
|
11
|
+
cursor: 'pointer',
|
|
12
|
+
marginLeft: '2px'
|
|
12
13
|
},
|
|
13
14
|
switcherButton: {
|
|
14
15
|
transition: 'transform .15s ease',
|
|
@@ -24,8 +25,12 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
24
25
|
expandButton: {
|
|
25
26
|
transform: ' rotate(-90deg)'
|
|
26
27
|
},
|
|
28
|
+
treeContainer: {
|
|
29
|
+
height: '100%'
|
|
30
|
+
},
|
|
27
31
|
treeWrapper: {
|
|
28
|
-
border: 'none'
|
|
32
|
+
border: 'none',
|
|
33
|
+
height: '100%'
|
|
29
34
|
},
|
|
30
35
|
dropIndicator: {
|
|
31
36
|
'&:before': {
|
|
@@ -36,11 +41,8 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
36
41
|
top: 0,
|
|
37
42
|
right: '23px',
|
|
38
43
|
bottom: 0,
|
|
39
|
-
left: '-
|
|
44
|
+
left: '-16px',
|
|
40
45
|
zIndex: 1
|
|
41
|
-
},
|
|
42
|
-
'&>div': {
|
|
43
|
-
opacity: 0
|
|
44
46
|
}
|
|
45
47
|
},
|
|
46
48
|
dropNotAllowed: {
|
|
@@ -55,17 +57,18 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
55
57
|
dragHandle: {
|
|
56
58
|
cursor: 'move',
|
|
57
59
|
color: theme.palette.text.secondary,
|
|
58
|
-
width: '16px'
|
|
60
|
+
width: '16px',
|
|
61
|
+
marginLeft: '5px',
|
|
62
|
+
marginTop: '3px'
|
|
59
63
|
},
|
|
60
64
|
dragHandleDragging: {
|
|
61
65
|
visibility: 'hidden'
|
|
62
66
|
},
|
|
67
|
+
titleWrapper: {
|
|
68
|
+
paddingRight: '11px'
|
|
69
|
+
},
|
|
63
70
|
/* rc-tree/assets/index.css */
|
|
64
71
|
'@global': {
|
|
65
|
-
'.rc-tree': {
|
|
66
|
-
margin: 0,
|
|
67
|
-
border: '1px solid transparent'
|
|
68
|
-
},
|
|
69
72
|
'.rc-tree-focused:not(.rc-tree-active-focused)': {
|
|
70
73
|
borderColor: 'cyan'
|
|
71
74
|
},
|
|
@@ -119,9 +122,6 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
119
122
|
verticalAlign: 'top',
|
|
120
123
|
display: 'none!important'
|
|
121
124
|
},
|
|
122
|
-
'.rc-tree .rc-tree-treenode span.rc-tree-switcher.rc-tree-switcher-noop': {
|
|
123
|
-
cursor: 'auto'
|
|
124
|
-
},
|
|
125
125
|
'.rc-tree .rc-tree-treenode span.rc-tree-checkbox': {
|
|
126
126
|
width: '13px',
|
|
127
127
|
height: '13px',
|
|
@@ -131,9 +131,7 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
131
131
|
'.rc-tree .rc-tree-treenode span.rc-tree-checkbox-checked': {
|
|
132
132
|
backgroundPosition: '-14px 0'
|
|
133
133
|
},
|
|
134
|
-
'.rc-tree .rc-tree-treenode span.rc-tree-checkbox-indeterminate': {
|
|
135
|
-
backgroundPosition: '-14px -28px'
|
|
136
|
-
},
|
|
134
|
+
'.rc-tree .rc-tree-treenode span.rc-tree-checkbox-indeterminate': {},
|
|
137
135
|
'.rc-tree .rc-tree-treenode span.rc-tree-checkbox-disabled': {
|
|
138
136
|
backgroundPosition: '0 -56px'
|
|
139
137
|
},
|
|
@@ -201,16 +199,24 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
201
199
|
marginRight: '2px',
|
|
202
200
|
verticalAlign: 'top'
|
|
203
201
|
},
|
|
204
|
-
'.rc-tree-indent': {
|
|
205
|
-
display: 'inline-block',
|
|
206
|
-
height: 0,
|
|
207
|
-
verticalAlign: 'bottom'
|
|
208
|
-
},
|
|
209
202
|
'.rc-tree-indent-unit': {
|
|
210
203
|
display: 'inline-block',
|
|
211
204
|
width: '16px'
|
|
212
205
|
},
|
|
213
206
|
//Custom styles
|
|
207
|
+
'.rc-tree': {
|
|
208
|
+
margin: 0
|
|
209
|
+
},
|
|
210
|
+
'.rc-tree-indent': {
|
|
211
|
+
display: 'inline-block',
|
|
212
|
+
height: 0,
|
|
213
|
+
verticalAlign: 'bottom',
|
|
214
|
+
whiteSpace: 'nowrap'
|
|
215
|
+
},
|
|
216
|
+
'.rc-tree .rc-tree-treenode span.rc-tree-switcher.rc-tree-switcher-noop': {
|
|
217
|
+
cursor: 'auto',
|
|
218
|
+
minWidth: '16px'
|
|
219
|
+
},
|
|
214
220
|
'.rc-tree .rc-tree-treenode .rc-tree-node-content-wrapper': {
|
|
215
221
|
position: 'relative',
|
|
216
222
|
display: 'inline-block',
|
|
@@ -220,22 +226,21 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
220
226
|
verticalAlign: 'top',
|
|
221
227
|
cursor: 'pointer',
|
|
222
228
|
height: 'auto',
|
|
223
|
-
paddingRight: '11px',
|
|
224
229
|
flexGrow: 1
|
|
225
230
|
},
|
|
226
231
|
'.rc-tree .rc-tree-treenode': {
|
|
227
232
|
margin: 0,
|
|
228
233
|
padding: '0 0 0 18px',
|
|
229
|
-
lineHeight: '
|
|
234
|
+
lineHeight: '10px',
|
|
230
235
|
listStyle: 'none',
|
|
231
236
|
outline: 0,
|
|
237
|
+
display: 'flex',
|
|
238
|
+
minHeight: '28px',
|
|
239
|
+
zIndex: 0,
|
|
232
240
|
'&:hover': {
|
|
233
241
|
backgroundColor: 'rgba(0,0,0,0.06)'
|
|
234
242
|
}
|
|
235
243
|
},
|
|
236
|
-
'.rc-tree-treenode': {
|
|
237
|
-
display: 'flex'
|
|
238
|
-
},
|
|
239
244
|
'.rc-tree-icon_loading': {
|
|
240
245
|
display: 'none !important'
|
|
241
246
|
},
|
|
@@ -247,13 +252,41 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
247
252
|
display: 'inline-flex',
|
|
248
253
|
justifyContent: 'center',
|
|
249
254
|
width: '16px',
|
|
250
|
-
visibility: 'hidden'
|
|
255
|
+
visibility: 'hidden',
|
|
256
|
+
lineHeight: '12px'
|
|
251
257
|
},
|
|
252
258
|
'.rc-tree-treenode-draggable:hover .rc-tree-draggable-icon': {
|
|
253
259
|
visibility: 'visible'
|
|
254
260
|
},
|
|
255
261
|
'.rc-tree-switcher-noop': {
|
|
256
262
|
width: '16px'
|
|
263
|
+
},
|
|
264
|
+
'.rc-tree-switcher': {
|
|
265
|
+
position: 'relative',
|
|
266
|
+
cursor: 'pointer'
|
|
267
|
+
},
|
|
268
|
+
'.rc-tree-switcher.rc-tree-switcher_open': {
|
|
269
|
+
'&:after': {
|
|
270
|
+
content: '""',
|
|
271
|
+
position: 'absolute',
|
|
272
|
+
top: '28px',
|
|
273
|
+
bottom: 0,
|
|
274
|
+
width: '1px',
|
|
275
|
+
left: '7px',
|
|
276
|
+
backgroundColor: 'rgba(0, 122, 193, 0.3)'
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
'.rc-tree-list': {
|
|
280
|
+
height: '100%'
|
|
281
|
+
},
|
|
282
|
+
'.rc-tree-list-holder': {
|
|
283
|
+
height: '100%'
|
|
284
|
+
},
|
|
285
|
+
'.rc-tree-list-scrollbar-vertical': {
|
|
286
|
+
width: '6px !important'
|
|
287
|
+
},
|
|
288
|
+
'.rc-tree-list-scrollbar-thumb': {
|
|
289
|
+
background: 'rgba(0,0,0,.2) !important'
|
|
257
290
|
}
|
|
258
291
|
}
|
|
259
292
|
}); });
|
package/cjs/RCTree/types.d.ts
CHANGED
|
@@ -5,9 +5,10 @@ export type RCTreeNode = {
|
|
|
5
5
|
expanded?: boolean;
|
|
6
6
|
children?: RCTreeNode[];
|
|
7
7
|
};
|
|
8
|
-
export type InternalRCNode = {
|
|
9
|
-
value:
|
|
8
|
+
export type InternalRCNode<Node extends RCTreeNode = RCTreeNode> = {
|
|
9
|
+
value: Node;
|
|
10
10
|
pos?: string;
|
|
11
|
+
expanded?: boolean;
|
|
11
12
|
} & FieldDataNode<{
|
|
12
13
|
key: string;
|
|
13
14
|
title?: string;
|
package/cjs/RCTree/useDnd.d.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { DragEvent } from 'react';
|
|
2
2
|
import { InternalRCNode, RCTreeNode } from './types';
|
|
3
|
-
type Props = {
|
|
4
|
-
treeData:
|
|
3
|
+
type Props<Node extends RCTreeNode> = {
|
|
4
|
+
treeData: Node[];
|
|
5
5
|
containerRef: React.RefObject<HTMLDivElement>;
|
|
6
6
|
expandNode: (pos: string, expanded: boolean) => void;
|
|
7
|
-
onLoadChildren?: (treeNode:
|
|
8
|
-
onChange?: (node:
|
|
9
|
-
onDrop?: (treeData:
|
|
7
|
+
onLoadChildren?: (treeNode: Node) => Promise<void>;
|
|
8
|
+
onChange?: (node: Node[]) => void;
|
|
9
|
+
onDrop?: (treeData: Node[], dragNode: Node, parentNode: Node) => void;
|
|
10
10
|
canDrop?: (params: {
|
|
11
|
-
nextParent:
|
|
12
|
-
node:
|
|
11
|
+
nextParent: Node;
|
|
12
|
+
node: Node;
|
|
13
13
|
}) => boolean;
|
|
14
14
|
canDrag?: (params: {
|
|
15
|
-
node:
|
|
15
|
+
node: Node;
|
|
16
16
|
}) => boolean;
|
|
17
17
|
};
|
|
18
|
-
export declare const useDnd: ({ treeData, containerRef, expandNode, onLoadChildren, onChange, onDrop: onDropProp, canDrop, canDrag }: Props) => {
|
|
18
|
+
export declare const useDnd: <Node extends RCTreeNode>({ treeData, containerRef, expandNode, onLoadChildren, onChange, onDrop: onDropProp, canDrop, canDrag }: Props<Node>) => {
|
|
19
19
|
treeProps: {
|
|
20
20
|
onDragStart: ({ node }: {
|
|
21
|
-
node: InternalRCNode
|
|
21
|
+
node: InternalRCNode<Node>;
|
|
22
22
|
}) => void;
|
|
23
23
|
onDragOver: ({ event, node }: {
|
|
24
24
|
event: DragEvent<HTMLDivElement>;
|
|
25
|
-
node: InternalRCNode
|
|
25
|
+
node: InternalRCNode<Node>;
|
|
26
26
|
}) => void;
|
|
27
27
|
onDragLeave: ({ event, node }: {
|
|
28
28
|
event: any;
|
|
@@ -31,13 +31,13 @@ export declare const useDnd: ({ treeData, containerRef, expandNode, onLoadChildr
|
|
|
31
31
|
onDrop: () => void;
|
|
32
32
|
dropIndicatorRender: () => any;
|
|
33
33
|
allowDrop: ({ dragNode, dropNode }: {
|
|
34
|
-
dragNode: InternalRCNode
|
|
35
|
-
dropNode: InternalRCNode
|
|
34
|
+
dragNode: InternalRCNode<Node>;
|
|
35
|
+
dropNode: InternalRCNode<Node>;
|
|
36
36
|
}) => boolean;
|
|
37
37
|
};
|
|
38
|
-
nodeDraggable: (node: InternalRCNode) => boolean;
|
|
39
|
-
dropNode: InternalRCNode
|
|
40
|
-
dragNode: InternalRCNode
|
|
38
|
+
nodeDraggable: (node: InternalRCNode<Node>) => boolean;
|
|
39
|
+
dropNode: InternalRCNode<Node>;
|
|
40
|
+
dragNode: InternalRCNode<Node>;
|
|
41
41
|
dropPositionInfo: {
|
|
42
42
|
pos: string;
|
|
43
43
|
dropPosition: number;
|