@aloudata/aloudata-design 1.9.17 → 1.10.0
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/dist/Checkbox/style/index.less +35 -9
- package/dist/ConfigProvider/getUserList.d.ts +13 -1
- package/dist/ConfigProvider/getUserList.js +5 -0
- package/dist/Icon/components/DragLine.d.ts +11 -0
- package/dist/Icon/components/DragLine.js +35 -0
- package/dist/Icon/index.d.ts +1 -0
- package/dist/Icon/index.js +1 -0
- package/dist/Icon/svg/drag-line.svg +5 -0
- package/dist/MemberPicker/components/MemberSelection.d.ts +1 -1
- package/dist/MemberPicker/components/MemberSelection.js +8 -3
- package/dist/MemberPicker/components/MultipleOption.d.ts +5 -2
- package/dist/MemberPicker/components/MultipleOption.js +20 -5
- package/dist/MemberPicker/components/NickLabel.d.ts +3 -3
- package/dist/MemberPicker/components/NickLabel.js +6 -6
- package/dist/MemberPicker/components/Panel.d.ts +7 -4
- package/dist/MemberPicker/components/Panel.js +70 -20
- package/dist/MemberPicker/components/PanelWrapper.d.ts +14 -0
- package/dist/MemberPicker/components/PanelWrapper.js +126 -0
- package/dist/MemberPicker/components/SelectedMemberTags.d.ts +3 -2
- package/dist/MemberPicker/components/SelectedMemberTags.js +8 -5
- package/dist/MemberPicker/components/SelectorFooter.js +1 -1
- package/dist/MemberPicker/components/SingleOption.d.ts +3 -2
- package/dist/MemberPicker/components/SingleOption.js +7 -4
- package/dist/MemberPicker/components/UserGroupSelection.d.ts +14 -0
- package/dist/MemberPicker/components/UserGroupSelection.js +130 -0
- package/dist/MemberPicker/index.d.ts +2 -0
- package/dist/MemberPicker/index.js +28 -17
- package/dist/MemberPicker/interface.d.ts +11 -5
- package/dist/MemberPicker/interface.js +6 -1
- package/dist/MemberPicker/style/index.less +18 -3
- package/dist/MemberPicker/utils/getUsersWithUserId.d.ts +4 -0
- package/dist/MemberPicker/utils/getUsersWithUserId.js +23 -2
- package/dist/MemberPicker/utils/index.d.ts +6 -0
- package/dist/MemberPicker/utils/index.js +16 -0
- package/dist/Radio/style/index.less +1 -1
- package/dist/ScrollArea/index.d.ts +1 -0
- package/dist/ScrollArea/index.js +6 -3
- package/dist/Table/components/Cell.d.ts +7 -0
- package/dist/Table/components/Cell.js +20 -0
- package/dist/Table/components/Header.d.ts +6 -0
- package/dist/Table/components/Header.js +19 -0
- package/dist/{AldTable → Table}/helper.d.ts +9 -2
- package/dist/Table/helper.js +121 -0
- package/dist/Table/hooks/useScroll.d.ts +26 -0
- package/dist/Table/hooks/useScroll.js +57 -0
- package/dist/Table/index.d.ts +3 -1
- package/dist/Table/index.js +176 -1
- package/dist/Table/style/index.less +106 -203
- package/dist/{AldTable → Table}/types.d.ts +5 -4
- package/dist/Tree/DirectoryTree.d.ts +20 -0
- package/dist/Tree/DirectoryTree.js +175 -0
- package/dist/Tree/Tree.d.ts +136 -0
- package/dist/Tree/Tree.js +130 -0
- package/dist/Tree/demo/basic/index.js +3 -2
- package/dist/Tree/demo/drag/index.d.ts +3 -0
- package/dist/Tree/demo/drag/index.js +52 -0
- package/dist/Tree/index.d.ts +19 -13
- package/dist/Tree/index.js +7 -17
- package/dist/Tree/style/checkbox.less +226 -0
- package/dist/Tree/style/directory.less +68 -0
- package/dist/Tree/style/index.less +68 -29
- package/dist/Tree/style/mixin.less +333 -0
- package/dist/Tree/style/reset.less +11 -0
- package/dist/Tree/style/rtl.less +68 -0
- package/dist/Tree/style/var.less +42 -0
- package/dist/Tree/utils/dictUtil.d.ts +9 -0
- package/dist/Tree/utils/dictUtil.js +74 -0
- package/dist/Tree/utils/dropIndicator.d.ts +9 -0
- package/dist/Tree/utils/dropIndicator.js +35 -0
- package/dist/Tree/utils/iconUtil.d.ts +5 -0
- package/dist/Tree/utils/iconUtil.js +63 -0
- package/dist/_utils/motion.d.ts +8 -0
- package/dist/_utils/motion.js +52 -0
- package/dist/_utils/reactNode.d.ts +8 -0
- package/dist/_utils/reactNode.js +15 -0
- package/dist/_utils/type.d.ts +9 -0
- package/dist/_utils/type.js +20 -0
- package/dist/index.d.ts +11 -13
- package/dist/index.js +6 -7
- package/dist/style/color/bezierEasing.less +110 -0
- package/dist/style/color/colorPalette.less +84 -0
- package/dist/style/color/colors.less +162 -0
- package/dist/style/color/tinyColor.less +1184 -0
- package/dist/style/core/index.less +2 -0
- package/dist/style/core/motion/fade.less +34 -0
- package/dist/style/core/motion/move.less +129 -0
- package/dist/style/core/motion/other.less +48 -0
- package/dist/style/core/motion/slide.less +131 -0
- package/dist/style/core/motion/zoom.less +179 -0
- package/dist/style/core/motion.less +22 -0
- package/dist/style/index.less +2 -0
- package/dist/style/mixins/index.less +1 -0
- package/dist/style/mixins/motion.less +33 -0
- package/dist/style/themes/default/default.less +24 -0
- package/dist/style/themes/default/index.less +1 -0
- package/package.json +2 -2
- package/dist/AldTable/helper.js +0 -109
- package/dist/AldTable/index.d.ts +0 -4
- package/dist/AldTable/index.js +0 -151
- package/dist/AldTable/style/index.d.ts +0 -2
- package/dist/AldTable/style/index.js +0 -2
- package/dist/AldTable/style/index.less +0 -136
- package/dist/Table/Table.d.ts +0 -6
- package/dist/Table/Table.js +0 -360
- package/dist/Table/components/Empty/index.d.ts +0 -3
- package/dist/Table/components/Empty/index.js +0 -14
- package/dist/Table/components/Loading/index.d.ts +0 -3
- package/dist/Table/components/Loading/index.js +0 -12
- package/dist/Table/components/TableBodyRowList/index.d.ts +0 -13
- package/dist/Table/components/TableBodyRowList/index.js +0 -75
- package/dist/Table/components/TableHead/index.d.ts +0 -23
- package/dist/Table/components/TableHead/index.js +0 -229
- package/dist/Table/constant.d.ts +0 -0
- package/dist/Table/constant.js +0 -0
- package/dist/Table/hooks/useFrame.d.ts +0 -7
- package/dist/Table/hooks/useFrame.js +0 -75
- package/dist/Table/interface.d.ts +0 -42
- package/dist/Table/interface.js +0 -1
- package/dist/Table/react-table-config.d.ts +0 -122
- package/dist/Table/style/variable.less +0 -4
- package/dist/Table/utils.d.ts +0 -15
- package/dist/Table/utils.js +0 -122
- /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,130 @@
|
|
|
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 indentWidth = isLeaf ? TREE_SWITCH_CION_SIZE : 0;
|
|
100
|
+
indentWidth += level * (TREE_SWITCH_CION_SIZE / 2);
|
|
101
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
102
|
+
style: {
|
|
103
|
+
width: indentWidth
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
return /*#__PURE__*/React.createElement(RcTree, _extends({
|
|
108
|
+
itemHeight: 20,
|
|
109
|
+
ref: ref,
|
|
110
|
+
virtual: virtual
|
|
111
|
+
}, newProps, {
|
|
112
|
+
prefixCls: prefixCls,
|
|
113
|
+
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),
|
|
114
|
+
direction: direction,
|
|
115
|
+
checkable: checkable ? /*#__PURE__*/React.createElement("span", {
|
|
116
|
+
className: "".concat(prefixCls, "-checkbox-inner")
|
|
117
|
+
}) : checkable,
|
|
118
|
+
selectable: selectable
|
|
119
|
+
// @ts-ignore
|
|
120
|
+
,
|
|
121
|
+
switcherIcon: function switcherIcon(nodeProps) {
|
|
122
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, renderIndent(nodeProps), renderSwitcherIcon(prefixCls, /*#__PURE__*/React.createElement(ChevronDownLine, {
|
|
123
|
+
size: size === 'small' ? TREE_SWITCH_CION_SIZE : TREE_SWITCH_LARGE_ICON_SIZE,
|
|
124
|
+
color: theme.NL50
|
|
125
|
+
}, "\u5C55\u5F00"), showLine, nodeProps));
|
|
126
|
+
},
|
|
127
|
+
draggable: draggableConfig
|
|
128
|
+
}), children);
|
|
129
|
+
});
|
|
130
|
+
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: '
|
|
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,52 @@
|
|
|
1
|
+
import { App, Tree } from "../../..";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export default (function () {
|
|
4
|
+
return /*#__PURE__*/React.createElement(App, null, /*#__PURE__*/React.createElement(Tree, {
|
|
5
|
+
draggable: true,
|
|
6
|
+
checkable: true,
|
|
7
|
+
showTabLeader: true,
|
|
8
|
+
onSelect: function onSelect(node, s) {
|
|
9
|
+
console.log('onSelect', node, s);
|
|
10
|
+
},
|
|
11
|
+
handlerRender: function handlerRender(node) {
|
|
12
|
+
return /*#__PURE__*/React.createElement("div", null, node.title, "handler");
|
|
13
|
+
},
|
|
14
|
+
titleRender: function titleRender(node) {
|
|
15
|
+
return /*#__PURE__*/React.createElement("span", null, node.title);
|
|
16
|
+
},
|
|
17
|
+
treeData: [{
|
|
18
|
+
title: 'Parent 1',
|
|
19
|
+
key: '0-0',
|
|
20
|
+
checkable: true,
|
|
21
|
+
children: [{
|
|
22
|
+
title: 'parent 1-0',
|
|
23
|
+
key: '0-0-0',
|
|
24
|
+
selectable: true,
|
|
25
|
+
children: [{
|
|
26
|
+
title: 'leaf',
|
|
27
|
+
selectable: true,
|
|
28
|
+
key: '0-0-0-0',
|
|
29
|
+
isLeaf: true
|
|
30
|
+
}, {
|
|
31
|
+
title: 'leaf',
|
|
32
|
+
key: '0-0-0-1',
|
|
33
|
+
isLeaf: true
|
|
34
|
+
}]
|
|
35
|
+
}, {
|
|
36
|
+
title: 'parent 1-1',
|
|
37
|
+
key: '0-0-1',
|
|
38
|
+
disabled: true,
|
|
39
|
+
selectable: true,
|
|
40
|
+
children: [{
|
|
41
|
+
title: /*#__PURE__*/React.createElement("span", {
|
|
42
|
+
style: {
|
|
43
|
+
color: '#1890ff'
|
|
44
|
+
}
|
|
45
|
+
}, "sss"),
|
|
46
|
+
key: '0-0-1-0',
|
|
47
|
+
disabled: true
|
|
48
|
+
}]
|
|
49
|
+
}]
|
|
50
|
+
}]
|
|
51
|
+
}));
|
|
52
|
+
});
|
package/dist/Tree/index.d.ts
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export type {
|
|
9
|
-
export type
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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;
|
package/dist/Tree/index.js
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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;
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
.aldCheckboxFn(@checkbox-prefix-cls: ~'ald-tree-checkbox') {
|
|
2
|
+
@checkbox-inner-prefix-cls: ~'@{checkbox-prefix-cls}-inner';
|
|
3
|
+
// 一般状态
|
|
4
|
+
.@{checkbox-prefix-cls} {
|
|
5
|
+
.reset-component();
|
|
6
|
+
|
|
7
|
+
position: relative;
|
|
8
|
+
line-height: 1;
|
|
9
|
+
white-space: nowrap;
|
|
10
|
+
outline: none;
|
|
11
|
+
cursor: pointer;
|
|
12
|
+
|
|
13
|
+
&-checked::after {
|
|
14
|
+
position: absolute;
|
|
15
|
+
top: 0;
|
|
16
|
+
left: 0;
|
|
17
|
+
width: 100%;
|
|
18
|
+
height: 100%;
|
|
19
|
+
border: 1px solid @checkbox-color;
|
|
20
|
+
border-radius: @checkbox-border-radius;
|
|
21
|
+
visibility: hidden;
|
|
22
|
+
animation: ald-checkbox-effect 0.36s ease-in-out;
|
|
23
|
+
animation-fill-mode: backwards;
|
|
24
|
+
content: '';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&:hover::after,
|
|
28
|
+
.@{checkbox-prefix-cls}-wrapper:hover &::after {
|
|
29
|
+
visibility: hidden;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&-inner {
|
|
33
|
+
position: relative;
|
|
34
|
+
top: 0;
|
|
35
|
+
left: 0;
|
|
36
|
+
display: block;
|
|
37
|
+
width: @checkbox-size;
|
|
38
|
+
height: @checkbox-size;
|
|
39
|
+
direction: ltr;
|
|
40
|
+
background-color: @checkbox-check-bg;
|
|
41
|
+
border: 1px solid #dbdbdb;
|
|
42
|
+
border-radius: @checkbox-border-radius;
|
|
43
|
+
border-collapse: separate;
|
|
44
|
+
transition: all 0.3s;
|
|
45
|
+
transform: scale(0.875);
|
|
46
|
+
|
|
47
|
+
&::after {
|
|
48
|
+
@check-width: (@checkbox-size / 14) * 5px;
|
|
49
|
+
@check-height: (@checkbox-size / 14) * 8px;
|
|
50
|
+
|
|
51
|
+
position: absolute;
|
|
52
|
+
top: 50%;
|
|
53
|
+
left: 21.5%;
|
|
54
|
+
display: table;
|
|
55
|
+
width: @check-width;
|
|
56
|
+
height: @check-height;
|
|
57
|
+
border: 2px solid @checkbox-check-color;
|
|
58
|
+
border-top: 0;
|
|
59
|
+
border-left: 0;
|
|
60
|
+
transform: rotate(45deg) scale(0) translate(-50%, -50%);
|
|
61
|
+
opacity: 0;
|
|
62
|
+
transition: all 0.1s @ease-in-back, opacity 0.1s;
|
|
63
|
+
content: ' ';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&-input {
|
|
68
|
+
position: absolute;
|
|
69
|
+
inset: 0;
|
|
70
|
+
z-index: 1;
|
|
71
|
+
width: 100%;
|
|
72
|
+
height: 100%;
|
|
73
|
+
cursor: pointer;
|
|
74
|
+
opacity: 0;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// 选中状态
|
|
79
|
+
.@{checkbox-prefix-cls}-checked .@{checkbox-inner-prefix-cls}::after {
|
|
80
|
+
position: absolute;
|
|
81
|
+
display: table;
|
|
82
|
+
border: 2px solid @checkbox-color;
|
|
83
|
+
border-top: 0;
|
|
84
|
+
border-left: 0;
|
|
85
|
+
transform: rotate(45deg) scale(1) translate(-50%, -50%);
|
|
86
|
+
opacity: 1;
|
|
87
|
+
transition: all 0.2s @ease-out-back 0.1s;
|
|
88
|
+
content: ' ';
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.@{checkbox-prefix-cls}-checked {
|
|
92
|
+
.@{checkbox-inner-prefix-cls} {
|
|
93
|
+
background-color: #f8f8f8;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.@{checkbox-prefix-cls}-disabled {
|
|
98
|
+
cursor: initial;
|
|
99
|
+
|
|
100
|
+
&.@{checkbox-prefix-cls}-checked {
|
|
101
|
+
.@{checkbox-inner-prefix-cls}::after {
|
|
102
|
+
border-color: @disabled-color;
|
|
103
|
+
animation-name: none;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.@{checkbox-prefix-cls}-input {
|
|
108
|
+
cursor: initial;
|
|
109
|
+
pointer-events: none;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.@{checkbox-inner-prefix-cls} {
|
|
113
|
+
background-color: @input-disabled-bg;
|
|
114
|
+
// border-color: @border-color-base !important;
|
|
115
|
+
|
|
116
|
+
&::after {
|
|
117
|
+
border-color: @input-disabled-bg;
|
|
118
|
+
border-collapse: separate;
|
|
119
|
+
animation-name: none;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
& + span {
|
|
124
|
+
color: @disabled-color;
|
|
125
|
+
cursor: initial;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// Not show highlight border of checkbox when disabled
|
|
129
|
+
&:hover::after,
|
|
130
|
+
.@{checkbox-prefix-cls}-wrapper:hover &::after {
|
|
131
|
+
visibility: hidden;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.@{checkbox-prefix-cls}-wrapper {
|
|
136
|
+
.reset-component();
|
|
137
|
+
|
|
138
|
+
display: inline-flex;
|
|
139
|
+
align-items: baseline;
|
|
140
|
+
line-height: unset;
|
|
141
|
+
cursor: pointer;
|
|
142
|
+
|
|
143
|
+
&::after {
|
|
144
|
+
display: inline-block;
|
|
145
|
+
width: 0;
|
|
146
|
+
overflow: hidden;
|
|
147
|
+
content: '\a0';
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
&.@{checkbox-prefix-cls}-wrapper-disabled {
|
|
151
|
+
cursor: initial;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
& + & {
|
|
155
|
+
margin-left: 8px;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
&&-in-form-item {
|
|
159
|
+
input[type='checkbox'] {
|
|
160
|
+
width: 14px;
|
|
161
|
+
height: 14px;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.@{checkbox-prefix-cls} + span {
|
|
167
|
+
padding-right: 8px;
|
|
168
|
+
padding-left: 8px;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.@{checkbox-prefix-cls}-group {
|
|
172
|
+
.reset-component();
|
|
173
|
+
|
|
174
|
+
display: inline-block;
|
|
175
|
+
|
|
176
|
+
&-item {
|
|
177
|
+
margin-right: @checkbox-group-item-margin-right;
|
|
178
|
+
|
|
179
|
+
&:last-child {
|
|
180
|
+
margin-right: 0;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
&-item + &-item {
|
|
185
|
+
margin-left: 0;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// 半选状态
|
|
190
|
+
.@{checkbox-prefix-cls}-indeterminate {
|
|
191
|
+
.@{checkbox-inner-prefix-cls} {
|
|
192
|
+
background-color: @checkbox-check-bg;
|
|
193
|
+
}
|
|
194
|
+
.@{checkbox-inner-prefix-cls}::after {
|
|
195
|
+
@indeterminate-width: @checkbox-size - 8px;
|
|
196
|
+
@indeterminate-height: @checkbox-size - 14px;
|
|
197
|
+
|
|
198
|
+
top: 50%;
|
|
199
|
+
left: 50%;
|
|
200
|
+
width: @indeterminate-width;
|
|
201
|
+
height: @indeterminate-height;
|
|
202
|
+
background-color: @checkbox-color;
|
|
203
|
+
border: 0;
|
|
204
|
+
transform: translate(-50%, -50%) scale(1);
|
|
205
|
+
opacity: 1;
|
|
206
|
+
content: ' ';
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
&.@{checkbox-prefix-cls}-disabled .@{checkbox-inner-prefix-cls}::after {
|
|
210
|
+
background-color: @disabled-color;
|
|
211
|
+
border-color: @disabled-color;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
@keyframes ald-checkbox-effect {
|
|
217
|
+
0% {
|
|
218
|
+
transform: scale(1);
|
|
219
|
+
opacity: 0.5;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
100% {
|
|
223
|
+
transform: scale(1.6);
|
|
224
|
+
opacity: 0;
|
|
225
|
+
}
|
|
226
|
+
}
|