@aloudata/aloudata-design 1.9.17 → 1.10.1

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.
Files changed (123) hide show
  1. package/dist/Checkbox/style/index.less +35 -9
  2. package/dist/ConfigProvider/getUserList.d.ts +13 -1
  3. package/dist/ConfigProvider/getUserList.js +5 -0
  4. package/dist/Icon/components/DragLine.d.ts +11 -0
  5. package/dist/Icon/components/DragLine.js +35 -0
  6. package/dist/Icon/index.d.ts +1 -0
  7. package/dist/Icon/index.js +1 -0
  8. package/dist/Icon/svg/drag-line.svg +5 -0
  9. package/dist/MemberPicker/components/MemberSelection.d.ts +1 -1
  10. package/dist/MemberPicker/components/MemberSelection.js +8 -3
  11. package/dist/MemberPicker/components/MultipleOption.d.ts +5 -2
  12. package/dist/MemberPicker/components/MultipleOption.js +20 -5
  13. package/dist/MemberPicker/components/NickLabel.d.ts +3 -3
  14. package/dist/MemberPicker/components/NickLabel.js +6 -6
  15. package/dist/MemberPicker/components/Panel.d.ts +7 -4
  16. package/dist/MemberPicker/components/Panel.js +70 -20
  17. package/dist/MemberPicker/components/PanelWrapper.d.ts +14 -0
  18. package/dist/MemberPicker/components/PanelWrapper.js +126 -0
  19. package/dist/MemberPicker/components/SelectedMemberTags.d.ts +3 -2
  20. package/dist/MemberPicker/components/SelectedMemberTags.js +8 -5
  21. package/dist/MemberPicker/components/SelectorFooter.js +1 -1
  22. package/dist/MemberPicker/components/SingleOption.d.ts +3 -2
  23. package/dist/MemberPicker/components/SingleOption.js +7 -4
  24. package/dist/MemberPicker/components/UserGroupSelection.d.ts +14 -0
  25. package/dist/MemberPicker/components/UserGroupSelection.js +130 -0
  26. package/dist/MemberPicker/index.d.ts +2 -0
  27. package/dist/MemberPicker/index.js +28 -17
  28. package/dist/MemberPicker/interface.d.ts +11 -5
  29. package/dist/MemberPicker/interface.js +6 -1
  30. package/dist/MemberPicker/style/index.less +18 -3
  31. package/dist/MemberPicker/utils/getUsersWithUserId.d.ts +4 -0
  32. package/dist/MemberPicker/utils/getUsersWithUserId.js +23 -2
  33. package/dist/MemberPicker/utils/index.d.ts +6 -0
  34. package/dist/MemberPicker/utils/index.js +16 -0
  35. package/dist/Radio/style/index.less +1 -1
  36. package/dist/ScrollArea/index.d.ts +1 -0
  37. package/dist/ScrollArea/index.js +6 -3
  38. package/dist/Table/components/Cell.d.ts +7 -0
  39. package/dist/Table/components/Cell.js +20 -0
  40. package/dist/Table/components/Header.d.ts +6 -0
  41. package/dist/Table/components/Header.js +19 -0
  42. package/dist/{AldTable → Table}/helper.d.ts +9 -2
  43. package/dist/Table/helper.js +121 -0
  44. package/dist/Table/hooks/useScroll.d.ts +26 -0
  45. package/dist/Table/hooks/useScroll.js +57 -0
  46. package/dist/Table/index.d.ts +3 -1
  47. package/dist/Table/index.js +176 -1
  48. package/dist/Table/style/index.less +106 -203
  49. package/dist/{AldTable → Table}/types.d.ts +5 -4
  50. package/dist/Tree/DirectoryTree.d.ts +20 -0
  51. package/dist/Tree/DirectoryTree.js +175 -0
  52. package/dist/Tree/Tree.d.ts +136 -0
  53. package/dist/Tree/Tree.js +131 -0
  54. package/dist/Tree/demo/basic/index.js +3 -2
  55. package/dist/Tree/demo/drag/index.d.ts +3 -0
  56. package/dist/Tree/demo/drag/index.js +124 -0
  57. package/dist/Tree/index.d.ts +19 -13
  58. package/dist/Tree/index.js +7 -17
  59. package/dist/Tree/style/checkbox.less +226 -0
  60. package/dist/Tree/style/directory.less +68 -0
  61. package/dist/Tree/style/index.less +74 -29
  62. package/dist/Tree/style/mixin.less +333 -0
  63. package/dist/Tree/style/reset.less +11 -0
  64. package/dist/Tree/style/rtl.less +68 -0
  65. package/dist/Tree/style/var.less +42 -0
  66. package/dist/Tree/utils/dictUtil.d.ts +9 -0
  67. package/dist/Tree/utils/dictUtil.js +74 -0
  68. package/dist/Tree/utils/dropIndicator.d.ts +9 -0
  69. package/dist/Tree/utils/dropIndicator.js +35 -0
  70. package/dist/Tree/utils/iconUtil.d.ts +5 -0
  71. package/dist/Tree/utils/iconUtil.js +63 -0
  72. package/dist/_utils/motion.d.ts +8 -0
  73. package/dist/_utils/motion.js +52 -0
  74. package/dist/_utils/reactNode.d.ts +8 -0
  75. package/dist/_utils/reactNode.js +15 -0
  76. package/dist/_utils/type.d.ts +9 -0
  77. package/dist/_utils/type.js +20 -0
  78. package/dist/index.d.ts +11 -13
  79. package/dist/index.js +6 -7
  80. package/dist/style/color/bezierEasing.less +110 -0
  81. package/dist/style/color/colorPalette.less +84 -0
  82. package/dist/style/color/colors.less +162 -0
  83. package/dist/style/color/tinyColor.less +1184 -0
  84. package/dist/style/core/index.less +2 -0
  85. package/dist/style/core/motion/fade.less +34 -0
  86. package/dist/style/core/motion/move.less +129 -0
  87. package/dist/style/core/motion/other.less +48 -0
  88. package/dist/style/core/motion/slide.less +131 -0
  89. package/dist/style/core/motion/zoom.less +179 -0
  90. package/dist/style/core/motion.less +22 -0
  91. package/dist/style/index.less +2 -0
  92. package/dist/style/mixins/index.less +1 -0
  93. package/dist/style/mixins/motion.less +33 -0
  94. package/dist/style/themes/default/default.less +24 -0
  95. package/dist/style/themes/default/index.less +1 -0
  96. package/package.json +2 -3
  97. package/dist/AldTable/helper.js +0 -109
  98. package/dist/AldTable/index.d.ts +0 -4
  99. package/dist/AldTable/index.js +0 -151
  100. package/dist/AldTable/style/index.d.ts +0 -2
  101. package/dist/AldTable/style/index.js +0 -2
  102. package/dist/AldTable/style/index.less +0 -136
  103. package/dist/Table/Table.d.ts +0 -6
  104. package/dist/Table/Table.js +0 -360
  105. package/dist/Table/components/Empty/index.d.ts +0 -3
  106. package/dist/Table/components/Empty/index.js +0 -14
  107. package/dist/Table/components/Loading/index.d.ts +0 -3
  108. package/dist/Table/components/Loading/index.js +0 -12
  109. package/dist/Table/components/TableBodyRowList/index.d.ts +0 -13
  110. package/dist/Table/components/TableBodyRowList/index.js +0 -75
  111. package/dist/Table/components/TableHead/index.d.ts +0 -23
  112. package/dist/Table/components/TableHead/index.js +0 -229
  113. package/dist/Table/constant.d.ts +0 -0
  114. package/dist/Table/constant.js +0 -0
  115. package/dist/Table/hooks/useFrame.d.ts +0 -7
  116. package/dist/Table/hooks/useFrame.js +0 -75
  117. package/dist/Table/interface.d.ts +0 -42
  118. package/dist/Table/interface.js +0 -1
  119. package/dist/Table/react-table-config.d.ts +0 -122
  120. package/dist/Table/style/variable.less +0 -4
  121. package/dist/Table/utils.d.ts +0 -15
  122. package/dist/Table/utils.js +0 -122
  123. /package/dist/{AldTable → Table}/types.js +0 -0
@@ -0,0 +1,136 @@
1
+ import type { BasicDataNode, TreeProps as RcTreeProps } from 'rc-tree';
2
+ import RcTree from 'rc-tree';
3
+ import type { DataNode, Key } from 'rc-tree/lib/interface';
4
+ import * as React from 'react';
5
+ export type SwitcherIcon = React.ReactNode | ((props: AldTreeNodeProps) => React.ReactNode);
6
+ export type TreeLeafIcon = React.ReactNode | ((props: AldTreeNodeProps) => React.ReactNode);
7
+ export interface AldTreeNodeAttribute {
8
+ eventKey: string;
9
+ prefixCls: string;
10
+ className: string;
11
+ expanded: boolean;
12
+ selected: boolean;
13
+ checked: boolean;
14
+ halfChecked: boolean;
15
+ children: React.ReactNode;
16
+ title: React.ReactNode;
17
+ pos: string;
18
+ dragOver: boolean;
19
+ dragOverGapTop: boolean;
20
+ dragOverGapBottom: boolean;
21
+ isLeaf: boolean;
22
+ selectable: boolean;
23
+ disabled: boolean;
24
+ disableCheckbox: boolean;
25
+ }
26
+ export interface AldTreeNodeProps {
27
+ className?: string;
28
+ checkable?: boolean;
29
+ disabled?: boolean;
30
+ disableCheckbox?: boolean;
31
+ title?: string | React.ReactNode;
32
+ key?: Key;
33
+ eventKey?: string;
34
+ isLeaf?: boolean;
35
+ checked?: boolean;
36
+ expanded?: boolean;
37
+ loading?: boolean;
38
+ selected?: boolean;
39
+ selectable?: boolean;
40
+ icon?: ((treeNode: AldTreeNodeAttribute) => React.ReactNode) | React.ReactNode;
41
+ children?: React.ReactNode;
42
+ [customProp: string]: any;
43
+ }
44
+ export type AldTreeNode = React.Component<AldTreeNodeProps, object>;
45
+ export interface AldTreeNodeBaseEvent {
46
+ node: AldTreeNode;
47
+ nativeEvent: MouseEvent;
48
+ }
49
+ export interface AldTreeNodeCheckedEvent extends AldTreeNodeBaseEvent {
50
+ event: 'check';
51
+ checked?: boolean;
52
+ checkedNodes?: AldTreeNode[];
53
+ }
54
+ export interface AldTreeNodeSelectedEvent extends AldTreeNodeBaseEvent {
55
+ event: 'select';
56
+ selected?: boolean;
57
+ selectedNodes?: DataNode[];
58
+ }
59
+ export interface AldTreeNodeExpandedEvent extends AldTreeNodeBaseEvent {
60
+ expanded?: boolean;
61
+ }
62
+ export interface AldTreeNodeMouseEvent {
63
+ node: AldTreeNode;
64
+ event: React.DragEvent<HTMLElement>;
65
+ }
66
+ export interface AldTreeNodeDragEnterEvent extends AldTreeNodeMouseEvent {
67
+ expandedKeys: Key[];
68
+ }
69
+ export interface AldTreeNodeAttribute {
70
+ node: AldTreeNode;
71
+ dragNode: AldTreeNode;
72
+ dragNodesKeys: Key[];
73
+ dropPosition: number;
74
+ dropToGap?: boolean;
75
+ event: React.MouseEvent<HTMLElement>;
76
+ }
77
+ export type TreeNodeNormal = DataNode;
78
+ type DraggableFn = (node: DataNode) => boolean;
79
+ interface DraggableConfig {
80
+ icon?: React.ReactNode | false;
81
+ nodeDraggable?: DraggableFn;
82
+ }
83
+ export interface TreeProps<T extends BasicDataNode = DataNode> extends Omit<RcTreeProps<T>, 'prefixCls' | 'showLine' | 'direction' | 'draggable' | 'icon' | 'switcherIcon'> {
84
+ showLine?: boolean | {
85
+ showLeafIcon: boolean | TreeLeafIcon;
86
+ };
87
+ className?: string;
88
+ /** 是否支持多选 */
89
+ multiple?: boolean;
90
+ /** 是否自动展开父节点 */
91
+ autoExpandParent?: boolean;
92
+ /** Checkable状态下节点选择完全受控(父子节点选中状态不再关联) */
93
+ checkStrictly?: boolean;
94
+ /** 是否支持选中 */
95
+ checkable?: boolean;
96
+ /** 是否禁用树 */
97
+ disabled?: boolean;
98
+ /** 默认展开所有树节点 */
99
+ defaultExpandAll?: boolean;
100
+ /** 默认展开对应树节点 */
101
+ defaultExpandParent?: boolean;
102
+ /** 默认展开指定的树节点 */
103
+ defaultExpandedKeys?: Key[];
104
+ /** (受控)展开指定的树节点 */
105
+ expandedKeys?: Key[];
106
+ /** (受控)选中复选框的树节点 */
107
+ checkedKeys?: Key[] | {
108
+ checked: Key[];
109
+ halfChecked: Key[];
110
+ };
111
+ /** 默认选中复选框的树节点 */
112
+ defaultCheckedKeys?: Key[];
113
+ /** (受控)设置选中的树节点 */
114
+ selectedKeys?: Key[];
115
+ /** 默认选中的树节点 */
116
+ defaultSelectedKeys?: Key[];
117
+ selectable?: boolean;
118
+ /** 点击树节点触发 */
119
+ filterAldTreeNode?: (node: AldTreeNode) => boolean;
120
+ loadedKeys?: Key[];
121
+ /** 设置节点可拖拽(IE>8) */
122
+ draggable?: DraggableFn | boolean | DraggableConfig;
123
+ style?: React.CSSProperties;
124
+ showIcon?: boolean;
125
+ icon?: ((nodeProps: AldTreeNodeAttribute) => React.ReactNode) | React.ReactNode | RcTreeProps<T>['icon'];
126
+ switcherIcon?: SwitcherIcon | RcTreeProps<T>['switcherIcon'];
127
+ prefixCls?: string;
128
+ children?: React.ReactNode;
129
+ blockNode?: boolean;
130
+ size?: 'large' | 'small';
131
+ titleRender?: (node: T) => React.ReactNode;
132
+ showTabLeader?: boolean;
133
+ handlerRender?: (node: T) => React.ReactNode;
134
+ }
135
+ declare const Tree: React.ForwardRefExoticComponent<TreeProps<DataNode> & React.RefAttributes<RcTree<DataNode>>>;
136
+ export default Tree;
@@ -0,0 +1,131 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ import classNames from 'classnames';
9
+ import { noop } from 'lodash';
10
+ import RcTree from 'rc-tree';
11
+ import * as React from 'react';
12
+ import { ConfigContext } from "../ConfigProvider";
13
+ import { ChevronDownLine, DragLine } from "../Icon";
14
+ import collapseMotion from "../_utils/motion";
15
+ import theme from "../style/themes/default/themeColor.module.less";
16
+ import dropIndicatorRender from "./utils/dropIndicator";
17
+ import renderSwitcherIcon from "./utils/iconUtil";
18
+ var TREE_SWITCH_LARGE_ICON_SIZE = 20;
19
+ var TREE_SWITCH_CION_SIZE = 16;
20
+
21
+ // [Legacy] Compatible for v3
22
+
23
+ var Tree = /*#__PURE__*/React.forwardRef(function (props, ref) {
24
+ var _classNames;
25
+ var _React$useContext = React.useContext(ConfigContext),
26
+ getPrefixCls = _React$useContext.getPrefixCls,
27
+ direction = _React$useContext.direction,
28
+ virtual = _React$useContext.virtual;
29
+ var size = props.size || 'small';
30
+ var className = props.className,
31
+ _props$showIcon = props.showIcon,
32
+ showIcon = _props$showIcon === void 0 ? false : _props$showIcon,
33
+ showLine = props.showLine,
34
+ _props$blockNode = props.blockNode,
35
+ blockNode = _props$blockNode === void 0 ? false : _props$blockNode,
36
+ children = props.children,
37
+ _props$checkable = props.checkable,
38
+ checkable = _props$checkable === void 0 ? false : _props$checkable,
39
+ _props$selectable = props.selectable,
40
+ selectable = _props$selectable === void 0 ? true : _props$selectable,
41
+ draggable = props.draggable,
42
+ titleRender = props.titleRender,
43
+ showTabLeader = props.showTabLeader,
44
+ _props$handlerRender = props.handlerRender,
45
+ handlerRender = _props$handlerRender === void 0 ? noop : _props$handlerRender,
46
+ _props$motion = props.motion,
47
+ motion = _props$motion === void 0 ? _objectSpread(_objectSpread({}, collapseMotion), {}, {
48
+ motionAppear: false
49
+ }) : _props$motion;
50
+ var prefixCls = getPrefixCls('tree', 'ald-tree');
51
+ var customTitleRender = React.useCallback(function (node) {
52
+ return /*#__PURE__*/React.createElement(React.Fragment, null, titleRender ? titleRender(node) : node.title, showTabLeader && /*#__PURE__*/React.createElement("div", {
53
+ className: "ald-tree-tab-leader"
54
+ }), handlerRender && handlerRender(node));
55
+ }, [titleRender, showTabLeader, handlerRender]);
56
+ var newProps = _objectSpread(_objectSpread({}, props), {}, {
57
+ checkable: checkable,
58
+ selectable: selectable,
59
+ showIcon: showIcon,
60
+ motion: motion,
61
+ blockNode: blockNode,
62
+ showLine: Boolean(showLine),
63
+ dropIndicatorRender: dropIndicatorRender,
64
+ titleRender: customTitleRender
65
+ });
66
+ var draggableConfig = React.useMemo(function () {
67
+ if (!draggable) {
68
+ return false;
69
+ }
70
+ var newIcon = /*#__PURE__*/React.createElement(DragLine, {
71
+ size: TREE_SWITCH_CION_SIZE,
72
+ color: theme.NL50
73
+ });
74
+ var mergedDraggable = {
75
+ icon: newIcon
76
+ };
77
+ switch (_typeof(draggable)) {
78
+ case 'function':
79
+ mergedDraggable.nodeDraggable = draggable;
80
+ break;
81
+ case 'object':
82
+ mergedDraggable = _objectSpread(_objectSpread({}, draggable), {}, {
83
+ icon: newIcon
84
+ });
85
+ break;
86
+ default:
87
+ break;
88
+ // Do nothing
89
+ }
90
+
91
+ return mergedDraggable;
92
+ }, [draggable]);
93
+ var renderIndent = function renderIndent(nodeProps) {
94
+ var _keyEntities;
95
+ var eventKey = nodeProps.eventKey,
96
+ keyEntities = nodeProps.context.keyEntities,
97
+ isLeaf = nodeProps.isLeaf;
98
+ var level = ((_keyEntities = keyEntities[eventKey]) === null || _keyEntities === void 0 ? void 0 : _keyEntities.level) || 0;
99
+ var iconSize = size === 'small' ? TREE_SWITCH_CION_SIZE : TREE_SWITCH_LARGE_ICON_SIZE;
100
+ var indentWidth = isLeaf ? iconSize : 0;
101
+ indentWidth += level * (iconSize / 2);
102
+ return /*#__PURE__*/React.createElement("span", {
103
+ style: {
104
+ width: indentWidth
105
+ }
106
+ });
107
+ };
108
+ return /*#__PURE__*/React.createElement(RcTree, _extends({
109
+ itemHeight: 20,
110
+ ref: ref,
111
+ virtual: virtual
112
+ }, newProps, {
113
+ prefixCls: prefixCls,
114
+ className: classNames((_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-icon-hide"), !showIcon), _defineProperty(_classNames, "".concat(prefixCls, "-block-node"), blockNode), _defineProperty(_classNames, "".concat(prefixCls, "-unselectable"), !selectable), _defineProperty(_classNames, "".concat(prefixCls, "-large"), size === 'large'), _defineProperty(_classNames, "".concat(prefixCls, "-rtl"), direction === 'rtl'), _classNames), className),
115
+ direction: direction,
116
+ checkable: checkable ? /*#__PURE__*/React.createElement("span", {
117
+ className: "".concat(prefixCls, "-checkbox-inner")
118
+ }) : checkable,
119
+ selectable: selectable
120
+ // @ts-ignore
121
+ ,
122
+ switcherIcon: function switcherIcon(nodeProps) {
123
+ return /*#__PURE__*/React.createElement(React.Fragment, null, renderIndent(nodeProps), renderSwitcherIcon(prefixCls, /*#__PURE__*/React.createElement(ChevronDownLine, {
124
+ size: size === 'small' ? TREE_SWITCH_CION_SIZE : TREE_SWITCH_LARGE_ICON_SIZE,
125
+ color: theme.NL50
126
+ }, "\u5C55\u5F00"), showLine, nodeProps));
127
+ },
128
+ draggable: draggableConfig
129
+ }), children);
130
+ });
131
+ export default Tree;
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  export default (function () {
4
4
  return /*#__PURE__*/React.createElement(App, null, /*#__PURE__*/React.createElement(Tree, {
5
5
  treeData: [{
6
- title: 'parent 1',
6
+ title: 'Parent 1',
7
7
  key: '0-0',
8
8
  children: [{
9
9
  title: 'parent 1-0',
@@ -26,7 +26,8 @@ export default (function () {
26
26
  color: '#1890ff'
27
27
  }
28
28
  }, "sss"),
29
- key: '0-0-1-0'
29
+ key: '0-0-1-0',
30
+ disabled: true
30
31
  }]
31
32
  }]
32
33
  }]
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const App: React.FC;
3
+ export default App;
@@ -0,0 +1,124 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
4
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
5
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
9
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
10
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
+ import { Tree } from "../../..";
12
+ import React, { useState } from 'react';
13
+ var x = 3;
14
+ var y = 2;
15
+ var z = 1;
16
+ var defaultData = [];
17
+ var generateData = function generateData(_level, _preKey, _tns) {
18
+ var preKey = _preKey || '0';
19
+ var tns = _tns || defaultData;
20
+ var children = [];
21
+ for (var _i = 0; _i < x; _i++) {
22
+ var key = "".concat(preKey, "-").concat(_i);
23
+ tns.push({
24
+ title: key,
25
+ key: key
26
+ });
27
+ if (_i < y) {
28
+ children.push(key);
29
+ }
30
+ }
31
+ if (_level < 0) {
32
+ return tns;
33
+ }
34
+ var level = _level - 1;
35
+ children.forEach(function (key, index) {
36
+ tns[index].children = [];
37
+ return generateData(level, key, tns[index].children);
38
+ });
39
+ };
40
+ generateData(z);
41
+ var App = function App() {
42
+ var _useState = useState(defaultData),
43
+ _useState2 = _slicedToArray(_useState, 2),
44
+ gData = _useState2[0],
45
+ setGData = _useState2[1];
46
+ var _useState3 = useState(['0-0', '0-0-0', '0-0-0-0']),
47
+ _useState4 = _slicedToArray(_useState3, 1),
48
+ expandedKeys = _useState4[0];
49
+ var onDragEnter = function onDragEnter(info) {
50
+ console.log(info);
51
+ // expandedKeys, set it when controlled is needed
52
+ // setExpandedKeys(info.expandedKeys)
53
+ };
54
+
55
+ var onDrop = function onDrop(info) {
56
+ console.log(info);
57
+ var dropKey = info.node.key;
58
+ var dragKey = info.dragNode.key;
59
+ var dropPos = info.node.pos.split('-');
60
+ var dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]);
61
+ var loop = function loop(data, key, callback) {
62
+ for (var _i2 = 0; _i2 < data.length; _i2++) {
63
+ if (data[_i2].key === key) {
64
+ return callback(data[_i2], _i2, data);
65
+ }
66
+ if (data[_i2].children) {
67
+ loop(data[_i2].children, key, callback);
68
+ }
69
+ }
70
+ };
71
+ var data = _toConsumableArray(gData);
72
+
73
+ // Find dragObject
74
+ var dragObj;
75
+ loop(data, dragKey, function (item, index, arr) {
76
+ arr.splice(index, 1);
77
+ dragObj = item;
78
+ });
79
+ if (!info.dropToGap) {
80
+ // Drop on the content
81
+ loop(data, dropKey, function (item) {
82
+ item.children = item.children || [];
83
+ // where to insert. New item was inserted to the start of the array in this example, but can be anywhere
84
+ item.children.unshift(dragObj);
85
+ });
86
+ } else if ((info.node.props.children || []).length > 0 &&
87
+ // Has children
88
+ info.node.props.expanded &&
89
+ // Is expanded
90
+ dropPosition === 1 // On the bottom gap
91
+ ) {
92
+ loop(data, dropKey, function (item) {
93
+ item.children = item.children || [];
94
+ // where to insert. New item was inserted to the start of the array in this example, but can be anywhere
95
+ item.children.unshift(dragObj);
96
+ // in previous version, we use item.children.push(dragObj) to insert the
97
+ // item to the tail of the children
98
+ });
99
+ } else {
100
+ var ar = [];
101
+ var _i3;
102
+ loop(data, dropKey, function (_item, index, arr) {
103
+ ar = arr;
104
+ _i3 = index;
105
+ });
106
+ if (dropPosition === -1) {
107
+ ar.splice(_i3, 0, dragObj);
108
+ } else {
109
+ ar.splice(_i3 + 1, 0, dragObj);
110
+ }
111
+ }
112
+ setGData(data);
113
+ };
114
+ return /*#__PURE__*/React.createElement(Tree, {
115
+ className: "draggable-tree",
116
+ defaultExpandedKeys: expandedKeys,
117
+ draggable: true,
118
+ blockNode: true,
119
+ onDragEnter: onDragEnter,
120
+ onDrop: onDrop,
121
+ treeData: gData
122
+ });
123
+ };
124
+ export default App;
@@ -1,13 +1,19 @@
1
- import { DataNode } from 'antd/lib/tree';
2
- import { AntTreeNode, AntTreeNodeCheckedEvent, AntTreeNodeExpandedEvent, AntTreeNodeMouseEvent, AntTreeNodeProps, AntTreeNodeSelectedEvent, AntdTreeNodeAttribute, TreeProps as AntdTreeProps } from 'antd/lib/tree/Tree';
3
- import RcTree from 'rc-tree';
4
- import { BasicDataNode } from 'rc-tree/lib/interface';
5
- import React, { ForwardedRef } from 'react';
6
- export type { DataNode, EventDataNode } from 'antd/lib/tree';
7
- export type { ExpandAction as DirectoryTreeExpandAction, DirectoryTreeProps, } from 'antd/lib/tree/DirectoryTree';
8
- export type { AntTreeNode, AntTreeNodeMouseEvent, AntTreeNodeExpandedEvent, AntTreeNodeCheckedEvent, AntTreeNodeSelectedEvent, AntdTreeNodeAttribute, AntTreeNodeProps, };
9
- export type TreeProps<T extends BasicDataNode = DataNode> = Omit<AntdTreeProps<T>, 'switcherIcon'>;
10
- declare const _default: <T extends BasicDataNode = DataNode>(props: TreeProps<T> & {
11
- ref?: React.ForwardedRef<RcTree<DataNode>> | undefined;
12
- }) => React.ReactElement;
13
- export default _default;
1
+ /// <reference types="react" />
2
+ import type RcTree from 'rc-tree';
3
+ import type { BasicDataNode } from 'rc-tree';
4
+ import { TreeNode } from 'rc-tree';
5
+ import type { DataNode } from 'rc-tree/lib/interface';
6
+ import DirectoryTree from './DirectoryTree';
7
+ import type { TreeProps } from './Tree';
8
+ export type { EventDataNode } from 'rc-tree/lib/interface';
9
+ export type { ExpandAction as DirectoryTreeExpandAction, DirectoryTreeProps, } from './DirectoryTree';
10
+ export type { AldTreeNode, AldTreeNodeAttribute, AldTreeNodeCheckedEvent, AldTreeNodeExpandedEvent, AldTreeNodeMouseEvent, AldTreeNodeProps, AldTreeNodeSelectedEvent, TreeProps, } from './Tree';
11
+ export type { DataNode };
12
+ type CompoundedComponent = (<T extends BasicDataNode | DataNode = DataNode>(props: React.PropsWithChildren<TreeProps<T>> & {
13
+ ref?: React.Ref<RcTree>;
14
+ }) => React.ReactElement) & {
15
+ TreeNode: typeof TreeNode;
16
+ DirectoryTree: typeof DirectoryTree;
17
+ };
18
+ declare const Tree: CompoundedComponent;
19
+ export default Tree;
@@ -1,17 +1,7 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
- function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure " + obj); }
3
- import { Tree as AntdTree } from 'antd';
4
- import React from 'react';
5
- import { ChevronDownLine } from "../Icon";
6
- import theme from "../style/themes/default/themeColor.module.less";
7
- function Tree(props, ref) {
8
- var restProps = Object.assign({}, (_objectDestructuringEmpty(props), props));
9
- return /*#__PURE__*/React.createElement(AntdTree, _extends({}, restProps, {
10
- ref: ref,
11
- switcherIcon: /*#__PURE__*/React.createElement(ChevronDownLine, {
12
- size: 14,
13
- color: theme.NL40
14
- }, "\u5C55\u5F00")
15
- }));
16
- }
17
- export default /*#__PURE__*/React.forwardRef(Tree);
1
+ import { TreeNode } from 'rc-tree';
2
+ import DirectoryTree from "./DirectoryTree";
3
+ import TreePure from "./Tree";
4
+ var Tree = TreePure;
5
+ Tree.DirectoryTree = DirectoryTree;
6
+ Tree.TreeNode = TreeNode;
7
+ export default Tree;