@chaoswise/ui 3.1.15 → 3.1.16

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.
@@ -1,8 +1,10 @@
1
+ import _Empty from "@chaoswise/ui/lib/Empty";
1
2
  import _Dropdown from "@chaoswise/ui/lib/Dropdown";
2
3
  import _TooltipText from "@chaoswise/ui/lib/TooltipText";
4
+ import _useConfigContext2 from "@chaoswise/ui/lib/useConfigContext";
3
5
  import _Menu from "@chaoswise/ui/lib/Menu";
4
6
  import _Tree from "@chaoswise/ui/lib/Tree";
5
- var _excluded = ["children", "treeData", "menuData", "extendType", "onClickMenu", "menuStyle", "menuRender", "extraFooter", "tooltipPlacement", "searchValue", "multiple", "selectedKeys", "defaultSelectedKeys", "onSelect", "searchHighlight", "draggable", "searchHighlightStyle", "className", "caseSensitive", "onExpand", "renderItem", "useTooltipText", "fieldNames"],
7
+ var _excluded = ["children", "treeData", "menuData", "extendType", "onClickMenu", "menuStyle", "menuRender", "extraFooter", "tooltipPlacement", "searchValue", "multiple", "selectedKeys", "defaultSelectedKeys", "onSelect", "searchHighlight", "draggable", "searchHighlightStyle", "className", "caseSensitive", "onExpand", "renderItem", "useTooltipText", "fieldNames", "emptyContent"],
6
8
  _excluded2 = ["key", "title", "children"],
7
9
  _excluded3 = ["icon", "title", "key"];
8
10
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -26,7 +28,6 @@ import PropTypes from "prop-types";
26
28
  import classnames from "classnames";
27
29
  import DragSvg from "./assets/Drag";
28
30
  import { createTitle, processTreeData } from "./utils";
29
- import useConfigContext from "../useConfigContext";
30
31
  import useStyle from "./index.style";
31
32
  var TreeNode = _Tree.TreeNode,
32
33
  DirectoryTree = _Tree.DirectoryTree;
@@ -75,8 +76,9 @@ function CWTree(_ref) {
75
76
  _ref$useTooltipText = _ref.useTooltipText,
76
77
  useTooltipText = _ref$useTooltipText === void 0 ? true : _ref$useTooltipText,
77
78
  fieldNames = _ref.fieldNames,
79
+ emptyContent = _ref.emptyContent,
78
80
  rest = _objectWithoutProperties(_ref, _excluded);
79
- var _useConfigContext = useConfigContext(),
81
+ var _useConfigContext = _useConfigContext2(),
80
82
  getPrefixCls = _useConfigContext.getPrefixCls;
81
83
  var prefixCls = getPrefixCls();
82
84
  var _useStyle = useStyle("".concat(prefixCls, "-tree")),
@@ -329,6 +331,13 @@ function CWTree(_ref) {
329
331
  if (!children) return false;
330
332
  return true;
331
333
  }, [children]);
334
+ // 判断是否为空数据
335
+ var isEmpty = useMemo(function () {
336
+ // 如果有children,则不为空
337
+ if (hasChildren) return false;
338
+ // 如果没有children,使用processedTreeData判断(经过搜索过滤后的最终数据)
339
+ return !processedTreeData || processedTreeData.length === 0;
340
+ }, [hasChildren, processedTreeData]);
332
341
 
333
342
  // 根据是否有children来决定渲染配置
334
343
  var treeProps = useMemo(function () {
@@ -361,7 +370,7 @@ function CWTree(_ref) {
361
370
  className: "cw-tree-inner-wrapper"
362
371
  }, /*#__PURE__*/React.createElement("div", {
363
372
  className: "cw-tree-location-box"
364
- }, /*#__PURE__*/React.createElement(DirectoryTree, treeProps, children))), extraFooter && /*#__PURE__*/React.createElement("div", {
373
+ }, isEmpty ? emptyContent ? emptyContent : /*#__PURE__*/React.createElement(_Empty, null) : /*#__PURE__*/React.createElement(DirectoryTree, treeProps, children))), extraFooter && /*#__PURE__*/React.createElement("div", {
365
374
  className: "cw-tree-footer"
366
375
  }, extraFooter)));
367
376
  }
@@ -458,7 +467,12 @@ CWTree.propTypes = {
458
467
  * 自定义渲染整个节点(完全自定义,可获得内部渲染结果作为参考)
459
468
  * function(nodeData, internalResult) => ReactNode
460
469
  */
461
- titleRender: PropTypes.func
470
+ titleRender: PropTypes.func,
471
+ /**
472
+ * 自定义空状态内容,当没有数据或搜索无结果时显示
473
+ * 可以传入React节点,如果不传则使用默认的Empty组件
474
+ */
475
+ emptyContent: PropTypes.node
462
476
  };
463
477
  CWTree.TreeNode = TreeNode;
464
478
  CWTree.DirectoryTree = DirectoryTree;
@@ -349,7 +349,7 @@ var QuickTransfer = function QuickTransfer(props) {
349
349
  };
350
350
  var searchCheckedValue = useMemo(function () {
351
351
  return type === "tree" && treeSelect === "leafNode" ? handleRightSearch(saveSearchValueRight).filter(function (i) {
352
- return Boolean(i.isLeaf);
352
+ return i && Boolean(i.isLeaf);
353
353
  }) : handleRightSearch(saveSearchValueRight);
354
354
  }, [checkValue, saveSearchValueRight, type, treeSelect]);
355
355
  // type为list下全选框按钮的样式统一处理
@@ -475,8 +475,7 @@ var QuickTransfer = function QuickTransfer(props) {
475
475
  var _e$node = e.node,
476
476
  eventKey = _e$node.key,
477
477
  children = _e$node.children,
478
- originTitle = _e$node.originTitle,
479
- record = _e$node.record;
478
+ originTitle = _e$node.originTitle;
480
479
  //当前选中的节点和传到右侧列表的的value
481
480
  var newCheckKey = [eventKey];
482
481
  var newCheckValue = [{
@@ -541,7 +540,7 @@ var QuickTransfer = function QuickTransfer(props) {
541
540
  } else if (!children) {
542
541
  //当前是叶子节点
543
542
  setCheckedKeys([].concat(_toConsumableArray(checkedKeys), [eventKey]));
544
- setCheckValue([].concat(_toConsumableArray(checkValue), [record]));
543
+ setCheckValue([].concat(_toConsumableArray(checkValue), _toConsumableArray(newCheckValue)));
545
544
  }
546
545
  } else {
547
546
  //取消选中的情况
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chaoswise/ui",
3
3
  "packageName": "chaoswiseUI",
4
- "version": "3.1.15",
4
+ "version": "3.1.16",
5
5
  "description": "公共UI库",
6
6
  "keywords": [
7
7
  "ui",