tntd 2.8.9 → 2.8.11
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/es/array-input/index.js +10 -1
- package/es/array-input/index.js.map +1 -1
- package/es/index.js +2 -0
- package/es/index.js.map +1 -1
- package/es/locale/en_US.js +17 -1
- package/es/locale/en_US.js.map +1 -1
- package/es/locale/zh_CN.js +16 -0
- package/es/locale/zh_CN.js.map +1 -1
- package/es/prev-locale.js +32 -2
- package/es/prev-locale.js.map +1 -1
- package/es/query-list-scene/index.less +4 -0
- package/es/svg-components/illustration-offline.js +11 -29
- package/es/svg-components/illustration-offline.js.map +1 -1
- package/es/table/index.js +2 -2
- package/es/table/index.js.map +1 -1
- package/es/table/resizableTable/index.js +87 -0
- package/es/table/resizableTable/index.js.map +1 -0
- package/es/table/resizableTable/index.less +36 -0
- package/es/table/table-hoc.js +26 -0
- package/es/table/table-hoc.js.map +1 -0
- package/es/table/table.js +27 -25
- package/es/table/table.js.map +1 -1
- package/es/title/index.js +18 -4
- package/es/title/index.js.map +1 -1
- package/es/title/index.less +88 -34
- package/es/tntd-reference/AHref/index.js +39 -0
- package/es/tntd-reference/AHref/index.js.map +1 -0
- package/es/tntd-reference/ReferenceBatchCheck/index.js +153 -0
- package/es/tntd-reference/ReferenceBatchCheck/index.js.map +1 -0
- package/es/tntd-reference/ReferenceBatchCheck/index.less +21 -0
- package/es/tntd-reference/ReferenceBatchDrawer/index.js +102 -0
- package/es/tntd-reference/ReferenceBatchDrawer/index.js.map +1 -0
- package/es/tntd-reference/ReferenceBatchDrawer/index.less +0 -0
- package/es/tntd-reference/ReferenceCheck/index.js +117 -0
- package/es/tntd-reference/ReferenceCheck/index.js.map +1 -0
- package/es/tntd-reference/ReferenceCheck/index.less +10 -0
- package/es/tntd-reference/ReferenceDrawer/index.js +69 -0
- package/es/tntd-reference/ReferenceDrawer/index.js.map +1 -0
- package/es/tntd-reference/ReferenceDrawer/index.less +0 -0
- package/es/tntd-reference/ReferenceInfo/index.js +150 -0
- package/es/tntd-reference/ReferenceInfo/index.js.map +1 -0
- package/es/tntd-reference/ReferenceInfo/index.less +31 -0
- package/es/tntd-reference/index.js +13 -0
- package/es/tntd-reference/index.js.map +1 -0
- package/es/tntd-virtual-tree/index.js +229 -0
- package/es/tntd-virtual-tree/index.js.map +1 -0
- package/es/tntd-virtual-tree/index.less +59 -0
- package/es/tntd-virtual-tree/utils.js +296 -0
- package/es/tntd-virtual-tree/utils.js.map +1 -0
- package/es/tntd-virtual-tree-select/index.js +98 -22
- package/es/tntd-virtual-tree-select/index.js.map +1 -1
- package/es/tntd-virtual-tree-select/utils.js +20 -124
- package/es/tntd-virtual-tree-select/utils.js.map +1 -1
- package/lib/array-input/index.d.ts.map +1 -1
- package/lib/array-input/index.js +14 -1
- package/lib/array-input/index.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +14 -0
- package/lib/index.js.map +1 -1
- package/lib/locale/default.d.ts +16 -0
- package/lib/locale/default.d.ts.map +1 -1
- package/lib/locale/en_US.d.ts +16 -0
- package/lib/locale/en_US.d.ts.map +1 -1
- package/lib/locale/en_US.js +17 -1
- package/lib/locale/en_US.js.map +1 -1
- package/lib/locale/zh_CN.d.ts +16 -0
- package/lib/locale/zh_CN.d.ts.map +1 -1
- package/lib/locale/zh_CN.js +16 -0
- package/lib/locale/zh_CN.js.map +1 -1
- package/lib/prev-locale.d.ts +42 -0
- package/lib/prev-locale.d.ts.map +1 -1
- package/lib/prev-locale.js +32 -2
- package/lib/prev-locale.js.map +1 -1
- package/lib/query-list-scene/index.less +4 -0
- package/lib/segmented/index.d.ts +1 -1
- package/lib/svg-components/illustration-offline.d.ts.map +1 -1
- package/lib/svg-components/illustration-offline.js +11 -29
- package/lib/svg-components/illustration-offline.js.map +1 -1
- package/lib/table/index.d.ts +2 -2
- package/lib/table/index.d.ts.map +1 -1
- package/lib/table/index.js +7 -7
- package/lib/table/index.js.map +1 -1
- package/lib/table/resizableTable/index.d.ts +12 -0
- package/lib/table/resizableTable/index.d.ts.map +1 -0
- package/lib/table/resizableTable/index.js +110 -0
- package/lib/table/resizableTable/index.js.map +1 -0
- package/lib/table/resizableTable/index.less +36 -0
- package/lib/table/table-hoc.d.ts +7 -0
- package/lib/table/table-hoc.d.ts.map +1 -0
- package/lib/{spin/spin.js → table/table-hoc.js} +12 -22
- package/lib/table/table-hoc.js.map +1 -0
- package/lib/table/table.js +18 -15
- package/lib/table/table.js.map +1 -1
- package/lib/table/table.stories.d.ts +1 -1
- package/lib/title/index.d.ts +1 -0
- package/lib/title/index.d.ts.map +1 -1
- package/lib/title/index.js +18 -4
- package/lib/title/index.js.map +1 -1
- package/lib/title/index.less +88 -34
- package/lib/tntd-reference/AHref/index.d.ts +4 -0
- package/lib/tntd-reference/AHref/index.d.ts.map +1 -0
- package/lib/tntd-reference/AHref/index.js +44 -0
- package/lib/tntd-reference/AHref/index.js.map +1 -0
- package/lib/tntd-reference/ReferenceBatchCheck/index.d.ts +3 -0
- package/lib/tntd-reference/ReferenceBatchCheck/index.d.ts.map +1 -0
- package/lib/tntd-reference/ReferenceBatchCheck/index.js +165 -0
- package/lib/tntd-reference/ReferenceBatchCheck/index.js.map +1 -0
- package/lib/tntd-reference/ReferenceBatchCheck/index.less +21 -0
- package/lib/tntd-reference/ReferenceBatchDrawer/index.d.ts +4 -0
- package/lib/tntd-reference/ReferenceBatchDrawer/index.d.ts.map +1 -0
- package/lib/tntd-reference/ReferenceBatchDrawer/index.js +126 -0
- package/lib/tntd-reference/ReferenceBatchDrawer/index.js.map +1 -0
- package/lib/tntd-reference/ReferenceBatchDrawer/index.less +0 -0
- package/lib/tntd-reference/ReferenceCheck/index.d.ts +3 -0
- package/lib/tntd-reference/ReferenceCheck/index.d.ts.map +1 -0
- package/lib/tntd-reference/ReferenceCheck/index.js +126 -0
- package/lib/tntd-reference/ReferenceCheck/index.js.map +1 -0
- package/lib/tntd-reference/ReferenceCheck/index.less +10 -0
- package/lib/tntd-reference/ReferenceDrawer/index.d.ts +4 -0
- package/lib/tntd-reference/ReferenceDrawer/index.d.ts.map +1 -0
- package/lib/tntd-reference/ReferenceDrawer/index.js +93 -0
- package/lib/tntd-reference/ReferenceDrawer/index.js.map +1 -0
- package/lib/tntd-reference/ReferenceDrawer/index.less +0 -0
- package/lib/tntd-reference/ReferenceInfo/index.d.ts +4 -0
- package/lib/tntd-reference/ReferenceInfo/index.d.ts.map +1 -0
- package/lib/tntd-reference/ReferenceInfo/index.js +164 -0
- package/lib/tntd-reference/ReferenceInfo/index.js.map +1 -0
- package/lib/tntd-reference/ReferenceInfo/index.less +31 -0
- package/lib/tntd-reference/index.d.ts +15 -0
- package/lib/tntd-reference/index.d.ts.map +1 -0
- package/lib/tntd-reference/index.js +20 -0
- package/lib/tntd-reference/index.js.map +1 -0
- package/lib/tntd-virtual-tree/index.d.ts +20 -0
- package/lib/tntd-virtual-tree/index.d.ts.map +1 -0
- package/lib/tntd-virtual-tree/index.js +263 -0
- package/lib/tntd-virtual-tree/index.js.map +1 -0
- package/lib/tntd-virtual-tree/index.less +59 -0
- package/lib/tntd-virtual-tree/utils.d.ts +17 -0
- package/lib/tntd-virtual-tree/utils.d.ts.map +1 -0
- package/lib/tntd-virtual-tree/utils.js +353 -0
- package/lib/tntd-virtual-tree/utils.js.map +1 -0
- package/lib/tntd-virtual-tree-select/index.d.ts +13 -4
- package/lib/tntd-virtual-tree-select/index.d.ts.map +1 -1
- package/lib/tntd-virtual-tree-select/index.js +100 -19
- package/lib/tntd-virtual-tree-select/index.js.map +1 -1
- package/lib/tntd-virtual-tree-select/utils.d.ts +2 -9
- package/lib/tntd-virtual-tree-select/utils.d.ts.map +1 -1
- package/lib/tntd-virtual-tree-select/utils.js +23 -142
- package/lib/tntd-virtual-tree-select/utils.js.map +1 -1
- package/package.json +4 -2
- package/es/spin/spin.js +0 -36
- package/es/spin/spin.js.map +0 -1
- package/es/spin/spin.less +0 -9
- package/es/tntd-virtual-tree-select/VirtualTree.js +0 -125
- package/es/tntd-virtual-tree-select/VirtualTree.js.map +0 -1
- package/es/tntd-virtual-tree-select/tree.less +0 -29
- package/lib/spin/spin.d.ts +0 -9
- package/lib/spin/spin.d.ts.map +0 -1
- package/lib/spin/spin.js.map +0 -1
- package/lib/spin/spin.less +0 -9
- package/lib/tntd-virtual-tree-select/VirtualTree.d.ts +0 -13
- package/lib/tntd-virtual-tree-select/VirtualTree.d.ts.map +0 -1
- package/lib/tntd-virtual-tree-select/VirtualTree.js +0 -155
- package/lib/tntd-virtual-tree-select/VirtualTree.js.map +0 -1
- package/lib/tntd-virtual-tree-select/tree.less +0 -29
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _rcVirtualList = _interopRequireDefault(require("rc-virtual-list"));
|
|
10
|
-
var _icon = _interopRequireDefault(require("../icon"));
|
|
11
|
-
var _ellipsis = _interopRequireDefault(require("../ellipsis"));
|
|
12
|
-
var _empty = _interopRequireDefault(require("../empty"));
|
|
13
|
-
var _input = _interopRequireDefault(require("../input"));
|
|
14
|
-
var _utils = require("./utils");
|
|
15
|
-
require("./tree.less");
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
18
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
19
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
20
|
-
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."); }
|
|
21
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
22
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
23
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
24
|
-
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."); }
|
|
25
|
-
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); }
|
|
26
|
-
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; }
|
|
27
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
28
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /*
|
|
29
|
-
* @Descripttion: 最简单的tree下拉框,增加了虚拟滚动
|
|
30
|
-
* @Author: 郑泳健
|
|
31
|
-
* @Date: 2024-07-31 14:46:55
|
|
32
|
-
* @LastEditors: 郑泳健
|
|
33
|
-
* @LastEditTime: 2024-08-05 15:58:47
|
|
34
|
-
*/
|
|
35
|
-
var VirtualTree = function VirtualTree(_ref) {
|
|
36
|
-
var value = _ref.value,
|
|
37
|
-
onChange = _ref.onChange,
|
|
38
|
-
treeDefaultExpandAll = _ref.treeDefaultExpandAll,
|
|
39
|
-
fieldNames = _ref.fieldNames,
|
|
40
|
-
treeExpandedKeys = _ref.treeExpandedKeys,
|
|
41
|
-
showSearch = _ref.showSearch,
|
|
42
|
-
treeData = _ref.treeData,
|
|
43
|
-
renderItem = _ref.renderItem;
|
|
44
|
-
var ref = _react["default"].useRef(null);
|
|
45
|
-
// 展开的节点列表
|
|
46
|
-
var _useState = (0, _react.useState)([]),
|
|
47
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
48
|
-
expandedKeys = _useState2[0],
|
|
49
|
-
setExpandedKeys = _useState2[1];
|
|
50
|
-
var _useState3 = (0, _react.useState)([]),
|
|
51
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
52
|
-
choosedValue = _useState4[0],
|
|
53
|
-
setChoosedValue = _useState4[1];
|
|
54
|
-
var _useState5 = (0, _react.useState)(undefined),
|
|
55
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
56
|
-
filterKey = _useState6[0],
|
|
57
|
-
setFilterKey = _useState6[1];
|
|
58
|
-
(0, _react.useEffect)(function () {
|
|
59
|
-
if (!['', null, undefined].includes(value)) {
|
|
60
|
-
setChoosedValue(value);
|
|
61
|
-
} else {
|
|
62
|
-
setChoosedValue(undefined);
|
|
63
|
-
}
|
|
64
|
-
}, [value]);
|
|
65
|
-
/** 给每个节点增加属性keys,值为其下面所有节点的集合 */
|
|
66
|
-
var treeDataWithKeys = (0, _react.useMemo)(function () {
|
|
67
|
-
return (0, _utils.addTreeNodeKeys)(treeData, fieldNames);
|
|
68
|
-
}, [treeData, fieldNames]);
|
|
69
|
-
var mergeTreeDefaultExpandAll = (0, _react.useMemo)(function () {
|
|
70
|
-
if (Array.isArray(treeExpandedKeys) && treeExpandedKeys.length) {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
return treeDefaultExpandAll;
|
|
74
|
-
}, [treeDefaultExpandAll, treeExpandedKeys]);
|
|
75
|
-
/** 获取到所有展开的节点,因为treeDataWithKeys可能传入的是最后一级 */
|
|
76
|
-
(0, _react.useEffect)(function () {
|
|
77
|
-
var transTreeExpandedKeys = Array.isArray(treeExpandedKeys) ? treeExpandedKeys : [];
|
|
78
|
-
if (value) {
|
|
79
|
-
transTreeExpandedKeys = [].concat(_toConsumableArray(treeExpandedKeys), [value]);
|
|
80
|
-
}
|
|
81
|
-
var _expandedKeys = (0, _utils.getFullExpandedKeys)(treeDataWithKeys, transTreeExpandedKeys, mergeTreeDefaultExpandAll);
|
|
82
|
-
setExpandedKeys(_expandedKeys);
|
|
83
|
-
}, [treeDataWithKeys, treeExpandedKeys, mergeTreeDefaultExpandAll, value]);
|
|
84
|
-
/** 最终渲染的数据 */
|
|
85
|
-
var renderData = (0, _react.useMemo)(function () {
|
|
86
|
-
return (0, _utils.flatTreeData)(treeDataWithKeys, filterKey, expandedKeys);
|
|
87
|
-
}, [treeDataWithKeys, filterKey, expandedKeys]);
|
|
88
|
-
/** 切换展开/收起 */
|
|
89
|
-
var handleToggle = function handleToggle(item) {
|
|
90
|
-
var _ref2 = item || {},
|
|
91
|
-
value = _ref2.value;
|
|
92
|
-
var bool = Array.isArray(expandedKeys) ? expandedKeys.includes(value) : false;
|
|
93
|
-
if (bool) {
|
|
94
|
-
var list = Array.isArray(expandedKeys) ? expandedKeys.filter(function (i) {
|
|
95
|
-
return i !== value;
|
|
96
|
-
}) : [];
|
|
97
|
-
setExpandedKeys(list);
|
|
98
|
-
} else {
|
|
99
|
-
setExpandedKeys([].concat(_toConsumableArray(expandedKeys), [value]));
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
var defaultRenderItem = function defaultRenderItem(item, expandedKeys) {
|
|
103
|
-
return _react["default"].createElement(_ellipsis["default"], {
|
|
104
|
-
title: item.title,
|
|
105
|
-
widthLimit: '100%'
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
var handleChange = function handleChange(_value) {
|
|
109
|
-
setChoosedValue(_value);
|
|
110
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(_value);
|
|
111
|
-
};
|
|
112
|
-
var handleInput = function handleInput(e) {
|
|
113
|
-
var _filterValue = e.target.value;
|
|
114
|
-
setFilterKey(_filterValue);
|
|
115
|
-
};
|
|
116
|
-
return _react["default"].createElement("div", {
|
|
117
|
-
className: 'tntd-tree-select'
|
|
118
|
-
}, showSearch && Array.isArray(treeData) && !!treeData.length ? _react["default"].createElement(_input["default"], {
|
|
119
|
-
onChange: handleInput,
|
|
120
|
-
allowClear: true
|
|
121
|
-
}) : '', !Array.isArray(renderData) || !renderData.length ? _react["default"].createElement(_empty["default"], {
|
|
122
|
-
size: 'small'
|
|
123
|
-
}) : _react["default"].createElement(_rcVirtualList["default"], {
|
|
124
|
-
ref: ref,
|
|
125
|
-
height: 300,
|
|
126
|
-
itemHeight: 44,
|
|
127
|
-
data: renderData
|
|
128
|
-
}, function (item) {
|
|
129
|
-
var level = item.level,
|
|
130
|
-
children = item.children;
|
|
131
|
-
var bool = expandedKeys.includes(item.value);
|
|
132
|
-
return _react["default"].createElement("div", {
|
|
133
|
-
className: "tntd-tree-select-item",
|
|
134
|
-
style: {
|
|
135
|
-
paddingLeft: level * 18
|
|
136
|
-
}
|
|
137
|
-
}, _react["default"].createElement("div", {
|
|
138
|
-
style: {
|
|
139
|
-
width: 18,
|
|
140
|
-
paddingLeft: 3
|
|
141
|
-
}
|
|
142
|
-
}, Array.isArray(children) && !!children.length ? _react["default"].createElement(_icon["default"], {
|
|
143
|
-
type: bool ? 'caret-down' : 'caret-right',
|
|
144
|
-
onClick: function onClick() {
|
|
145
|
-
return handleToggle(item);
|
|
146
|
-
}
|
|
147
|
-
}) : _react["default"].createElement(_icon["default"], null)), _react["default"].createElement("div", {
|
|
148
|
-
className: "tntd-tree-select-item-title ".concat(choosedValue === item.value ? 'tntd-tree-select-item-title_active' : ''),
|
|
149
|
-
onClick: function onClick() {
|
|
150
|
-
return handleChange(item.value);
|
|
151
|
-
}
|
|
152
|
-
}, renderItem ? renderItem(item, expandedKeys) : defaultRenderItem(item, expandedKeys)));
|
|
153
|
-
}));
|
|
154
|
-
};
|
|
155
|
-
var _default = exports["default"] = VirtualTree;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualTree.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/VirtualTree.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 最简单的tree下拉框,增加了虚拟滚动\n * @Author: 郑泳健\n * @Date: 2024-07-31 14:46:55\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-08-05 15:58:47\n */\nimport React, { useState, useMemo, useEffect } from 'react';\nimport List from 'rc-virtual-list';\nimport Icon from '../icon'\nimport Ellipsis from '../ellipsis';\nimport Empty from '../empty';\nimport Input from '../input';\nimport { flatTreeData, getFullExpandedKeys, addTreeNodeKeys } from './utils';\nimport './tree.less'\n\nconst VirtualTree = ({ value, onChange, treeDefaultExpandAll, fieldNames, treeExpandedKeys, showSearch, treeData, renderItem }) => {\n const ref = React.useRef(null)\n // 展开的节点列表\n const [expandedKeys, setExpandedKeys] = useState([])\n const [choosedValue, setChoosedValue] = useState([])\n const [filterKey, setFilterKey] = useState(undefined)\n\n useEffect(() => {\n if(!['', null, undefined].includes(value)) {\n setChoosedValue(value)\n }else {\n setChoosedValue(undefined)\n }\n }, [value])\n\n /** 给每个节点增加属性keys,值为其下面所有节点的集合 */\n const treeDataWithKeys = useMemo(() => {\n return addTreeNodeKeys(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n const mergeTreeDefaultExpandAll = useMemo(() => {\n if(Array.isArray(treeExpandedKeys) && treeExpandedKeys.length) {\n return false\n }\n\n return treeDefaultExpandAll\n }, [treeDefaultExpandAll, treeExpandedKeys])\n\n /** 获取到所有展开的节点,因为treeDataWithKeys可能传入的是最后一级 */\n useEffect(() => {\n let transTreeExpandedKeys = Array.isArray(treeExpandedKeys) ? treeExpandedKeys : []\n if(value) {\n transTreeExpandedKeys = [...treeExpandedKeys, value]\n }\n const _expandedKeys = getFullExpandedKeys(treeDataWithKeys, transTreeExpandedKeys, mergeTreeDefaultExpandAll)\n setExpandedKeys(_expandedKeys)\n }, [treeDataWithKeys, treeExpandedKeys, mergeTreeDefaultExpandAll, value])\n\n /** 最终渲染的数据 */\n const renderData = useMemo(() => {\n return flatTreeData(treeDataWithKeys, filterKey, expandedKeys)\n }, [treeDataWithKeys, filterKey, expandedKeys])\n\n /** 切换展开/收起 */\n const handleToggle = (item) => {\n const { value } = item || {}\n const bool = Array.isArray(expandedKeys) ? expandedKeys.includes(value) : false;\n if(bool) {\n const list = Array.isArray(expandedKeys) ? expandedKeys.filter(i => i !== value) : []\n setExpandedKeys(list)\n }else {\n setExpandedKeys([...expandedKeys, value])\n }\n }\n\n const defaultRenderItem = (item, expandedKeys) => {\n return <Ellipsis title={item.title} widthLimit={'100%'} />\n }\n\n const handleChange = (_value) => {\n setChoosedValue(_value)\n onChange?.(_value)\n }\n\n const handleInput = (e) => {\n const _filterValue = e.target.value\n\n setFilterKey(_filterValue)\n }\n\n return (\n <div className='tntd-tree-select'>\n {showSearch && Array.isArray(treeData) && !!treeData.length ? <Input onChange={handleInput} allowClear /> : ''}\n {\n !Array.isArray(renderData) || !renderData.length ? \n <Empty size='small' /> :\n <List\n ref={ref}\n height={300}\n itemHeight={44}\n data={renderData}\n >\n {\n (item) => { \n const { level, children } = item;\n const bool = expandedKeys.includes(item.value)\n return (\n <div className=\"tntd-tree-select-item\"\n style={{ paddingLeft: level * 18 }}>\n <div style={{ width: 18, paddingLeft: 3 }}>\n {Array.isArray(children) && !!children.length ? <Icon type={bool ? 'caret-down' : 'caret-right'} onClick={() => handleToggle(item)} /> : <Icon />}\n </div>\n \n <div \n className={`tntd-tree-select-item-title ${choosedValue === item.value ? 'tntd-tree-select-item-title_active' : '' }`}\n onClick={() => handleChange(item.value)}\n >\n {renderItem ? renderItem(item, expandedKeys) : defaultRenderItem(item, expandedKeys)}\n </div>\n </div>\n )\n }\n }\n </List>\n }\n </div>\n );\n};\n\nexport default VirtualTree\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
.tntd-tree-select{
|
|
2
|
-
padding: 0;
|
|
3
|
-
white-space: nowrap;
|
|
4
|
-
.tntd-tree-select-item{
|
|
5
|
-
display: flex;
|
|
6
|
-
border-radius: var(--border-radius-sm);
|
|
7
|
-
color: #17233d;
|
|
8
|
-
text-decoration: none;
|
|
9
|
-
cursor: pointer;
|
|
10
|
-
line-height: 30px;
|
|
11
|
-
font-size: 14px;
|
|
12
|
-
|
|
13
|
-
.anticon-caret-down,.anticon-caret-right {
|
|
14
|
-
vertical-align: middle;
|
|
15
|
-
font-size: 12px;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.tntd-tree-select-item-title{
|
|
19
|
-
padding: 3px 5px;
|
|
20
|
-
flex: 1;
|
|
21
|
-
overflow: hidden;
|
|
22
|
-
|
|
23
|
-
&_active{
|
|
24
|
-
background-color: var(--blue-2);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|