UNPKG

4.75 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
4var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = void 0;
9var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13var _HolderOutlined = _interopRequireDefault(require("@ant-design/icons/HolderOutlined"));
14var _classnames = _interopRequireDefault(require("classnames"));
15var _rcTree = _interopRequireDefault(require("rc-tree"));
16var React = _interopRequireWildcard(require("react"));
17var _configProvider = require("../config-provider");
18var _motion = _interopRequireDefault(require("../_util/motion"));
19var _dropIndicator = _interopRequireDefault(require("./utils/dropIndicator"));
20var _iconUtil = _interopRequireDefault(require("./utils/iconUtil"));
21var _style = _interopRequireDefault(require("./style"));
22var Tree = /*#__PURE__*/React.forwardRef(function (props, ref) {
23 var _classNames;
24 var _React$useContext = React.useContext(_configProvider.ConfigContext),
25 getPrefixCls = _React$useContext.getPrefixCls,
26 direction = _React$useContext.direction,
27 virtual = _React$useContext.virtual;
28 var customizePrefixCls = props.prefixCls,
29 className = props.className,
30 _props$showIcon = props.showIcon,
31 showIcon = _props$showIcon === void 0 ? false : _props$showIcon,
32 showLine = props.showLine,
33 _switcherIcon = props.switcherIcon,
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 customMotion = props.motion;
43 var prefixCls = getPrefixCls('tree', customizePrefixCls);
44 var rootPrefixCls = getPrefixCls();
45 var motion = customMotion !== null && customMotion !== void 0 ? customMotion : (0, _extends2["default"])((0, _extends2["default"])({}, (0, _motion["default"])(rootPrefixCls)), {
46 motionAppear: false
47 });
48 var newProps = (0, _extends2["default"])((0, _extends2["default"])({}, props), {
49 checkable: checkable,
50 selectable: selectable,
51 showIcon: showIcon,
52 motion: motion,
53 blockNode: blockNode,
54 showLine: Boolean(showLine),
55 dropIndicatorRender: _dropIndicator["default"]
56 });
57 var _useStyle = (0, _style["default"])(prefixCls),
58 _useStyle2 = (0, _slicedToArray2["default"])(_useStyle, 2),
59 wrapSSR = _useStyle2[0],
60 hashId = _useStyle2[1];
61 var draggableConfig = React.useMemo(function () {
62 if (!draggable) {
63 return false;
64 }
65 var mergedDraggable = {};
66 switch ((0, _typeof2["default"])(draggable)) {
67 case 'function':
68 mergedDraggable.nodeDraggable = draggable;
69 break;
70 case 'object':
71 mergedDraggable = (0, _extends2["default"])({}, draggable);
72 break;
73 default:
74 break;
75 // Do nothing
76 }
77
78 if (mergedDraggable.icon !== false) {
79 mergedDraggable.icon = mergedDraggable.icon || /*#__PURE__*/React.createElement(_HolderOutlined["default"], null);
80 }
81 return mergedDraggable;
82 }, [draggable]);
83 return wrapSSR( /*#__PURE__*/React.createElement(_rcTree["default"], (0, _extends2["default"])({
84 itemHeight: 20,
85 ref: ref,
86 virtual: virtual
87 }, newProps, {
88 prefixCls: prefixCls,
89 className: (0, _classnames["default"])((_classNames = {}, (0, _defineProperty2["default"])(_classNames, prefixCls + "-icon-hide", !showIcon), (0, _defineProperty2["default"])(_classNames, prefixCls + "-block-node", blockNode), (0, _defineProperty2["default"])(_classNames, prefixCls + "-unselectable", !selectable), (0, _defineProperty2["default"])(_classNames, prefixCls + "-rtl", direction === 'rtl'), _classNames), className, hashId),
90 direction: direction,
91 checkable: checkable ? /*#__PURE__*/React.createElement("span", {
92 className: prefixCls + "-checkbox-inner"
93 }) : checkable,
94 selectable: selectable,
95 switcherIcon: function switcherIcon(nodeProps) {
96 return (0, _iconUtil["default"])(prefixCls, _switcherIcon, showLine, nodeProps);
97 },
98 draggable: draggableConfig
99 }), children));
100});
101var _default = Tree;
102exports["default"] = _default;
\No newline at end of file