@teamix/pro 1.3.2 → 1.3.5

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 (126) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +13959 -2353
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/dist/pro.min.js.LICENSE.txt +9 -0
  6. package/es/actions/dialog-form.js +8 -5
  7. package/es/actions/dialog.js +2 -4
  8. package/es/form/Components/LightFilter/index.d.ts +1 -0
  9. package/es/form/Components/LightFilter/index.js +9 -6
  10. package/es/form/Filter/LightFilter.js +13 -3
  11. package/es/form/Filter/SimpleFilter.js +1 -1
  12. package/es/form/Filter/index.js +44 -10
  13. package/es/form/ProForm/useFormDisplayValues.js +2 -2
  14. package/es/form/SchemaForm/adapterDecorator.js +1 -1
  15. package/es/form/SchemaForm/adapterType.js +2 -5
  16. package/es/form/SchemaForm/index.js +27 -12
  17. package/es/form/SchemaForm/initializeDataSource.d.ts +1 -0
  18. package/es/form/SchemaForm/initializeDataSource.js +7 -1
  19. package/es/form/SchemaForm/initializeSelectTable.d.ts +3 -0
  20. package/es/form/SchemaForm/initializeSelectTable.js +38 -0
  21. package/es/form/SchemaForm/reactions.d.ts +1 -1
  22. package/es/form/SchemaForm/reactions.js +20 -16
  23. package/es/form/docs/ActionResponse.d.ts +7 -0
  24. package/es/form/docs/ActionResponse.js +11 -0
  25. package/es/form/docs/ActionResponse.less +25 -0
  26. package/es/form/index.d.ts +1 -0
  27. package/es/form/typing.d.ts +6 -1
  28. package/es/form/utils.js +13 -4
  29. package/es/index.d.ts +4 -2
  30. package/es/index.js +5 -5
  31. package/es/info/components/ProInfoItem/index.js +6 -2
  32. package/es/info/components/ProInfoItem/index.scss +3 -0
  33. package/es/info/components/baseInfo/index.js +2 -1
  34. package/es/info/typing.d.ts +2 -0
  35. package/es/info/utils/index.d.ts +8 -0
  36. package/es/info/utils/index.js +28 -1
  37. package/es/page-header/index.d.ts +3 -1
  38. package/es/page-header/index.js +12 -3
  39. package/es/sidebar/components/sidebar-container/index.js +114 -9
  40. package/es/sidebar/components/sidebar-container/index.scss +53 -5
  41. package/es/sidebar/components/tree/index.d.ts +2 -0
  42. package/es/sidebar/components/tree/index.js +222 -76
  43. package/es/sidebar/components/tree/index.scss +10 -0
  44. package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.d.ts +15 -0
  45. package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.js +62 -0
  46. package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.scss +7 -0
  47. package/es/sidebar/components/tree-node/componnets/IconAction/index.d.ts +12 -0
  48. package/es/sidebar/components/tree-node/componnets/IconAction/index.js +105 -0
  49. package/es/sidebar/components/tree-node/componnets/IconAction/index.scss +7 -0
  50. package/es/sidebar/components/tree-node/componnets/IconSwitch/index.d.ts +23 -0
  51. package/es/sidebar/components/tree-node/componnets/IconSwitch/index.js +73 -0
  52. package/es/sidebar/components/tree-node/componnets/IconSwitch/index.scss +7 -0
  53. package/es/sidebar/components/tree-node/index.d.ts +7 -0
  54. package/es/sidebar/components/tree-node/index.js +225 -0
  55. package/es/sidebar/components/tree-node/index.scss +58 -0
  56. package/es/sidebar/index.d.ts +2 -0
  57. package/es/sidebar/index.js +147 -12
  58. package/es/sidebar/index.scss +24 -1
  59. package/es/sidebar/typing.d.ts +83 -13
  60. package/es/sidebar/utils/action-ref.d.ts +3 -0
  61. package/es/sidebar/utils/action-ref.js +15 -0
  62. package/es/sidebar/utils/index.d.ts +71 -0
  63. package/es/sidebar/utils/index.js +228 -0
  64. package/es/table/components/ToolBar/index.scss +1 -1
  65. package/es/table/index.scss +10 -0
  66. package/lib/actions/dialog-form.js +8 -5
  67. package/lib/actions/dialog.js +1 -3
  68. package/lib/form/Components/LightFilter/index.d.ts +1 -0
  69. package/lib/form/Components/LightFilter/index.js +9 -6
  70. package/lib/form/Filter/LightFilter.js +13 -3
  71. package/lib/form/Filter/SimpleFilter.js +1 -1
  72. package/lib/form/Filter/index.js +44 -10
  73. package/lib/form/ProForm/useFormDisplayValues.js +1 -1
  74. package/lib/form/SchemaForm/adapterDecorator.js +1 -1
  75. package/lib/form/SchemaForm/adapterType.js +2 -5
  76. package/lib/form/SchemaForm/index.js +28 -11
  77. package/lib/form/SchemaForm/initializeDataSource.d.ts +1 -0
  78. package/lib/form/SchemaForm/initializeDataSource.js +7 -1
  79. package/lib/form/SchemaForm/initializeSelectTable.d.ts +3 -0
  80. package/lib/form/SchemaForm/initializeSelectTable.js +45 -0
  81. package/lib/form/SchemaForm/reactions.d.ts +1 -1
  82. package/lib/form/SchemaForm/reactions.js +20 -16
  83. package/lib/form/docs/ActionResponse.d.ts +7 -0
  84. package/lib/form/docs/ActionResponse.js +24 -0
  85. package/lib/form/docs/ActionResponse.less +25 -0
  86. package/lib/form/index.d.ts +1 -0
  87. package/lib/form/typing.d.ts +6 -1
  88. package/lib/form/utils.js +13 -4
  89. package/lib/index.d.ts +4 -2
  90. package/lib/index.js +22 -2
  91. package/lib/info/components/ProInfoItem/index.js +6 -2
  92. package/lib/info/components/ProInfoItem/index.scss +3 -0
  93. package/lib/info/components/baseInfo/index.js +1 -0
  94. package/lib/info/typing.d.ts +2 -0
  95. package/lib/info/utils/index.d.ts +8 -0
  96. package/lib/info/utils/index.js +32 -1
  97. package/lib/page-header/index.d.ts +3 -1
  98. package/lib/page-header/index.js +11 -2
  99. package/lib/sidebar/components/sidebar-container/index.js +120 -8
  100. package/lib/sidebar/components/sidebar-container/index.scss +53 -5
  101. package/lib/sidebar/components/tree/index.d.ts +2 -0
  102. package/lib/sidebar/components/tree/index.js +230 -76
  103. package/lib/sidebar/components/tree/index.scss +10 -0
  104. package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.d.ts +15 -0
  105. package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.js +80 -0
  106. package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.scss +7 -0
  107. package/lib/sidebar/components/tree-node/componnets/IconAction/index.d.ts +12 -0
  108. package/lib/sidebar/components/tree-node/componnets/IconAction/index.js +127 -0
  109. package/lib/sidebar/components/tree-node/componnets/IconAction/index.scss +7 -0
  110. package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.d.ts +23 -0
  111. package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.js +94 -0
  112. package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.scss +7 -0
  113. package/lib/sidebar/components/tree-node/index.d.ts +7 -0
  114. package/lib/sidebar/components/tree-node/index.js +252 -0
  115. package/lib/sidebar/components/tree-node/index.scss +58 -0
  116. package/lib/sidebar/index.d.ts +2 -0
  117. package/lib/sidebar/index.js +173 -10
  118. package/lib/sidebar/index.scss +24 -1
  119. package/lib/sidebar/typing.d.ts +83 -13
  120. package/lib/sidebar/utils/action-ref.d.ts +3 -0
  121. package/lib/sidebar/utils/action-ref.js +22 -0
  122. package/lib/sidebar/utils/index.d.ts +71 -0
  123. package/lib/sidebar/utils/index.js +247 -0
  124. package/lib/table/components/ToolBar/index.scss +1 -1
  125. package/lib/table/index.scss +10 -0
  126. package/package.json +4 -4
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- 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); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -13,7 +11,25 @@ var _utils = require("@teamix/utils");
13
11
 
14
12
  var _react = _interopRequireWildcard(require("react"));
15
13
 
16
- var _excluded = ["dataSource", "searchKey", "onSelect"];
14
+ var _treeNode = require("../tree-node");
15
+
16
+ var _lodash = require("lodash");
17
+
18
+ require("./index.scss");
19
+
20
+ require("../tree-node/index.scss");
21
+
22
+ var _utils2 = require("../../utils");
23
+
24
+ var _hooks = require("@teamix/hooks");
25
+
26
+ var _actionRef = require("../../utils/action-ref");
27
+
28
+ var _lodash2 = _interopRequireDefault(require("lodash.clonedeep"));
29
+
30
+ var _excluded = ["dataSource", "selectedKeys", "checkedKeys", "defaultExpandedKeys", "defaultExpandAll", "expandedKeys", "onSelect", "onCheck", "isNodeBlock", "searchKey", "actionRef", "onBeforeRenderNodeEvent", "beforeRenderNode", "className", "expandAll", "onDataSourceChange", "expandLevel"];
31
+
32
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
33
 
18
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
35
 
@@ -25,25 +41,27 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
25
41
 
26
42
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
43
 
28
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
44
+ 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); }
29
45
 
30
- 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."); }
46
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
47
 
32
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
48
+ 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."); }
33
49
 
34
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
50
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
35
51
 
36
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
52
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
53
 
38
- 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."); }
54
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
55
+
56
+ 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."); }
39
57
 
40
58
  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); }
41
59
 
42
- 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; }
60
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
43
61
 
44
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
62
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
45
63
 
46
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
64
+ 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; }
47
65
 
48
66
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
49
67
 
@@ -52,10 +70,47 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
52
70
  var cls = (0, _utils.baseClass)('teamix-pro-sidebar-tree');
53
71
 
54
72
  var ProSidebarTree = function ProSidebarTree(props) {
73
+ var _ref;
74
+
55
75
  var dataSourceProp = props.dataSource,
56
- searchKey = props.searchKey,
76
+ selectedKeysProp = props.selectedKeys,
77
+ checkedKeysProp = props.checkedKeys,
78
+ defaultExpandedKeys = props.defaultExpandedKeys,
79
+ defaultExpandAll = props.defaultExpandAll,
80
+ expandedKeysProp = props.expandedKeys,
57
81
  onSelect = props.onSelect,
58
- others = _objectWithoutProperties(props, _excluded); // 自动展开父节点。过滤时用
82
+ onCheck = props.onCheck,
83
+ isNodeBlock = props.isNodeBlock,
84
+ searchKey = props.searchKey,
85
+ actionRef = props.actionRef,
86
+ onBeforeRenderNodeEvent = props.onBeforeRenderNodeEvent,
87
+ beforeRenderNode = props.beforeRenderNode,
88
+ _props$className = props.className,
89
+ className = _props$className === void 0 ? '' : _props$className,
90
+ expandAll = props.expandAll,
91
+ onDataSourceChange = props.onDataSourceChange,
92
+ _props$expandLevel = props.expandLevel,
93
+ expandLevel = _props$expandLevel === void 0 ? 1 : _props$expandLevel,
94
+ others = _objectWithoutProperties(props, _excluded); // 使用 beforeRenderNode 处理 dataSource
95
+
96
+
97
+ var processDataSource = function processDataSource(dataSource) {
98
+ var newDataSource = (0, _lodash2.default)(dataSource);
99
+
100
+ if (beforeRenderNode) {
101
+ (0, _utils2.loop)(newDataSource, function (item, level) {
102
+ var _beforeRenderNode;
103
+
104
+ var newItem = (_beforeRenderNode = beforeRenderNode === null || beforeRenderNode === void 0 ? void 0 : beforeRenderNode(item, level, dataSource)) !== null && _beforeRenderNode !== void 0 ? _beforeRenderNode : {};
105
+ var allItemKeys = Array.from(new Set([].concat(_toConsumableArray(Object.keys(item)), _toConsumableArray(Object.keys(newItem)))));
106
+ allItemKeys.forEach(function (key) {
107
+ item[key] = newItem[key];
108
+ });
109
+ });
110
+ }
111
+
112
+ return newDataSource;
113
+ }; // 自动展开父节点。过滤时用
59
114
 
60
115
 
61
116
  var _useState = (0, _react.useState)(false),
@@ -68,111 +123,210 @@ var ProSidebarTree = function ProSidebarTree(props) {
68
123
  matchedKeys = _useState4[0],
69
124
  setMatchedKeys = _useState4[1];
70
125
 
71
- var _useState5 = (0, _react.useState)(),
126
+ var _useState5 = (0, _react.useState)((_ref = expandedKeysProp !== null && expandedKeysProp !== void 0 ? expandedKeysProp : defaultExpandedKeys) !== null && _ref !== void 0 ? _ref : []),
72
127
  _useState6 = _slicedToArray(_useState5, 2),
73
128
  expandedKeys = _useState6[0],
74
129
  setExpandedKeys = _useState6[1];
75
130
 
76
- var _useState7 = (0, _react.useState)(dataSourceProp !== null && dataSourceProp !== void 0 ? dataSourceProp : []),
131
+ var _useState7 = (0, _react.useState)(processDataSource(dataSourceProp !== null && dataSourceProp !== void 0 ? dataSourceProp : [])),
77
132
  _useState8 = _slicedToArray(_useState7, 2),
78
133
  dataSource = _useState8[0],
79
134
  setDataSource = _useState8[1];
80
135
 
136
+ var _useState9 = (0, _react.useState)(selectedKeysProp),
137
+ _useState10 = _slicedToArray(_useState9, 2),
138
+ selectedKeys = _useState10[0],
139
+ setSelectedKeys = _useState10[1];
140
+
141
+ var _useState11 = (0, _react.useState)(checkedKeysProp),
142
+ _useState12 = _slicedToArray(_useState11, 2),
143
+ checkedKeys = _useState12[0],
144
+ setCheckedKeys = _useState12[1];
145
+
81
146
  (0, _react.useEffect)(function () {
82
- getAllExpend();
83
- }, []);
147
+ setDefaultExpandedKeys();
148
+ }, []); // 更新外部传入的 dataSource
149
+
150
+ (0, _hooks.useUpdateEffect)(function () {
151
+ setDataSource(processDataSource(dataSourceProp !== null && dataSourceProp !== void 0 ? dataSourceProp : []));
152
+ }, [dataSourceProp]); // 监听展开全部事件
153
+
154
+ (0, _hooks.useUpdateEffect)(function () {
155
+ if (expandAll) {
156
+ setExpandedKeys((0, _utils2.getAllNodeKey)(dataSource));
157
+ } else {
158
+ setExpandedKeys([]);
159
+ }
160
+ }, [expandAll]); // 监听展开层级事件
161
+
162
+ (0, _hooks.useUpdateEffect)(function () {
163
+ var keys = (0, _utils2.getTreeLevelKey)(dataSource, expandLevel - 1);
164
+ setExpandedKeys(keys);
165
+ }, [expandLevel]); // 监听 DataSource 变化事件
166
+
84
167
  (0, _react.useEffect)(function () {
85
- filterDataSource(searchKey !== null && searchKey !== void 0 ? searchKey : '');
86
- }, [searchKey]); // 获取全部展开节点key
168
+ onDataSourceChange === null || onDataSourceChange === void 0 ? void 0 : onDataSourceChange(dataSource);
169
+ }, [dataSource]); // 绑定actionRef
170
+
171
+ (0, _actionRef.useActionType)(actionRef, {
172
+ setTreeNode: function setTreeNode(treeNode) {
173
+ var newDataSource = (0, _lodash2.default)(dataSource); // TODO 此处可做性能优化
174
+
175
+ (0, _utils2.loop)(newDataSource, function (item) {
176
+ if (item.value === treeNode.value) {
177
+ Object.entries(treeNode).forEach(function (_ref2) {
178
+ var _ref3 = _slicedToArray(_ref2, 2),
179
+ key = _ref3[0],
180
+ value = _ref3[1];
181
+
182
+ item[key] = value;
183
+ });
184
+ }
185
+ });
186
+ setDataSource(newDataSource);
187
+ }
188
+ }); // dataSource 是否为一层结构
189
+
190
+ var hasChildren = (0, _react.useMemo)(function () {
191
+ var flag = false; // TODO 此处可做性能优化
87
192
 
88
- var getAllExpend = function getAllExpend() {
89
- var allKeys = (0, _utils.treeToList)(dataSource).map(function (item) {
90
- return item.value;
193
+ dataSource.forEach(function (item) {
194
+ if (item.children && item.children.length > 0) {
195
+ flag = true;
196
+ }
91
197
  });
92
- setExpandedKeys(allKeys);
93
- }; // 过滤
198
+ return flag;
199
+ }, [dataSource]); // 组件第一次加载时不执行过滤
200
+
201
+ (0, _hooks.useUpdateEffect)(function () {
202
+ filterDataSource(searchKey !== null && searchKey !== void 0 ? searchKey : '');
203
+ }, [searchKey]); // expandedKeys 更新
94
204
 
205
+ (0, _hooks.useUpdateEffect)(function () {
206
+ var _ref4;
95
207
 
96
- var filterDataSource = function filterDataSource(value) {
97
- if (!value) {
98
- setExpandedKeys([]);
99
- getAllExpend();
208
+ setExpandedKeys((_ref4 = expandedKeysProp !== null && expandedKeysProp !== void 0 ? expandedKeysProp : defaultExpandedKeys) !== null && _ref4 !== void 0 ? _ref4 : []);
209
+ }, [expandedKeysProp, defaultExpandedKeys]); // 设置默认节点展开
210
+
211
+ var setDefaultExpandedKeys = function setDefaultExpandedKeys() {
212
+ if (defaultExpandAll) {
213
+ setExpandedKeys((0, _utils2.getAllNodeKey)(dataSource));
214
+ } else {
215
+ var _ref5;
216
+
217
+ setExpandedKeys((_ref5 = expandedKeysProp !== null && expandedKeysProp !== void 0 ? expandedKeysProp : defaultExpandedKeys) !== null && _ref5 !== void 0 ? _ref5 : []);
100
218
  }
219
+ }; // 是否占满节点
101
220
 
102
- value = value.trim();
103
- var matchedKeys = [];
104
221
 
105
- if (!value) {
106
- matchedKeys = [];
107
- return;
222
+ var getIsNodeBlock = function getIsNodeBlock() {
223
+ if (isNodeBlock && typeof isNodeBlock === 'boolean') {
224
+ return {
225
+ defaultPaddingLeft: 8,
226
+ indent: 16
227
+ };
108
228
  }
109
229
 
110
- var loop = function loop(data) {
111
- return data.forEach(function (item) {
112
- if (item.label.indexOf(value) > -1) {
113
- matchedKeys.push(item.value);
114
- }
230
+ if (isNodeBlock && _typeof(isNodeBlock) === 'object') {
231
+ return isNodeBlock;
232
+ }
115
233
 
116
- if (item.children && item.children.length) {
117
- loop(item.children);
118
- }
119
- });
120
- };
234
+ return false;
235
+ }; // 过滤
121
236
 
122
- loop(dataSource);
123
- setExpandedKeys(_toConsumableArray(matchedKeys));
124
- setAutoExpandParent(true);
237
+
238
+ var filterDataSource = (0, _lodash.debounce)(function (value) {
239
+ var searchDataSource = processDataSource(dataSourceProp !== null && dataSourceProp !== void 0 ? dataSourceProp : []);
240
+ var expandedKeys = [];
241
+
242
+ if (!value) {
243
+ // TODO 过滤清空数据之后状态会丢失
244
+ setDataSource(searchDataSource); // 数据过滤清空时展开状态继承用户传入的默认状态
245
+
246
+ setDefaultExpandedKeys();
247
+ return;
248
+ }
249
+
250
+ (0, _utils2.loop)(searchDataSource, function (item) {
251
+ hasSearchValue(value, item) && expandedKeys.push(String(item['value']));
252
+ }, {
253
+ children: 'children'
254
+ });
255
+ setExpandedKeys([].concat(expandedKeys));
125
256
  setMatchedKeys(matchedKeys);
126
- };
257
+ handleExpand(expandedKeys);
258
+ var filterDataSource = (0, _utils2.findNodeWithPath)(searchDataSource, function (node) {
259
+ var _node$label;
260
+
261
+ return ((_node$label = node === null || node === void 0 ? void 0 : node.label) !== null && _node$label !== void 0 ? _node$label : '').includes(value);
262
+ });
263
+ setDataSource(filterDataSource);
264
+ }, 100);
127
265
 
128
266
  var filterTreeNode = function filterTreeNode(node) {
129
267
  return matchedKeys && matchedKeys.indexOf(node.props.eventKey) > -1;
130
- }; // 节点展开回调
268
+ };
269
+ /** 节点是否包含搜索项 */
131
270
 
132
271
 
133
- var handleExpand = function handleExpand(key) {
134
- setExpandedKeys(key);
135
- setAutoExpandParent(false);
136
- }; // 渲染树节点
272
+ var hasSearchValue = function hasSearchValue(key, item) {
273
+ var _item$label;
137
274
 
275
+ if (((_item$label = item === null || item === void 0 ? void 0 : item.label) !== null && _item$label !== void 0 ? _item$label : '').includes(key)) {
276
+ return true;
277
+ } else if (Array.isArray(item['children'])) {
278
+ return item['children'].some(function (child) {
279
+ return hasSearchValue(key, child);
280
+ });
281
+ }
138
282
 
139
- var renderTreeNode = function renderTreeNode(data) {
140
- return data.map(function (item) {
141
- return /*#__PURE__*/_react.default.createElement(_components.Tree.Node, {
142
- key: item.value,
143
- label: renderTreeNodeItem(item)
144
- }, item.children && item.children.length > 0 && renderTreeNode(item.children));
145
- });
146
- }; // 渲染单个树节点 label
283
+ return false;
284
+ }; // 树节点点击回调
147
285
 
148
286
 
149
- var renderTreeNodeItem = function renderTreeNodeItem(data) {
150
- var node = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, data.label);
287
+ var onSelectChange = function onSelectChange(value, extra) {
288
+ var _extra$event, _extra$event$target, _extra$event$target$c;
151
289
 
152
- if (data.tag) {
153
- if ( /*#__PURE__*/(0, _react.isValidElement)(data.tag)) {
154
- node = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, node, data.tag);
155
- }
290
+ if (extra === null || extra === void 0 ? void 0 : (_extra$event = extra.event) === null || _extra$event === void 0 ? void 0 : (_extra$event$target = _extra$event.target) === null || _extra$event$target === void 0 ? void 0 : (_extra$event$target$c = _extra$event$target.closest) === null || _extra$event$target$c === void 0 ? void 0 : _extra$event$target$c.call(_extra$event$target, '.teamix-pro-sidebar-delete-overlay')) {
291
+ return;
156
292
  }
157
293
 
158
- return node;
294
+ setSelectedKeys(value);
295
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, extra);
296
+ }; // 树节点选中回调
297
+
298
+
299
+ var onCheckChange = function onCheckChange(value, extra) {
300
+ setCheckedKeys(value);
301
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck(value, extra);
302
+ }; // 节点展开回调
303
+
304
+
305
+ var handleExpand = function handleExpand(key) {
306
+ setExpandedKeys(key);
307
+ setAutoExpandParent(false);
159
308
  };
160
309
 
161
310
  return /*#__PURE__*/_react.default.createElement("div", {
162
- className: cls()
311
+ className: cls({
312
+ '': true,
313
+ 'is-list': !hasChildren
314
+ })
163
315
  }, /*#__PURE__*/_react.default.createElement(_components.Tree, _objectSpread({
164
- defaultExpandAll: true,
165
316
  isLabelBlock: true,
166
- isNodeBlock: {
167
- defaultPaddingLeft: 8,
168
- indent: 16
169
- },
317
+ checkedKeys: checkedKeys,
318
+ selectedKeys: selectedKeys,
319
+ isNodeBlock: getIsNodeBlock(),
170
320
  filterTreeNode: filterTreeNode,
171
321
  expandedKeys: expandedKeys,
172
322
  onExpand: handleExpand,
173
323
  autoExpandParent: autoExpandParent,
174
- onSelect: onSelect
175
- }, others), renderTreeNode(dataSource)));
324
+ onSelect: onSelectChange,
325
+ onCheck: onCheckChange,
326
+ className: "".concat(cls({
327
+ checkable: others.checkable
328
+ }), " ").concat(className)
329
+ }, others), !onBeforeRenderNodeEvent && (0, _treeNode.renderTreeNode)(dataSource), onBeforeRenderNodeEvent && (0, _treeNode.renderTreeNodeDependenceValue)(dataSource, onBeforeRenderNodeEvent, checkedKeys, selectedKeys)));
176
330
  };
177
331
 
178
332
  var _default = ProSidebarTree;
@@ -0,0 +1,10 @@
1
+ .teamix-pro-sidebar-tree {
2
+ &-is-list {
3
+ .next-tree-switcher {
4
+ display: none;
5
+ }
6
+ .next-tree-node-label-wrapper {
7
+ margin-left: 0;
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,15 @@
1
+ import { TooltipProps } from '@alicloudfe/components/types/balloon';
2
+ import React from 'react';
3
+ import './index.scss';
4
+ export declare type ProHoverTooltipProps = {
5
+ /** 触发器 */
6
+ trigger?: React.ReactNode;
7
+ /** 显示隐藏 */
8
+ visible?: boolean;
9
+ /** tooltip */
10
+ tooltip?: React.ReactNode;
11
+ /** tooltip 配置 */
12
+ tooltipProps?: TooltipProps;
13
+ } & React.HTMLAttributes<HTMLElement>;
14
+ declare const ProHoverTooltip: React.FC<ProHoverTooltipProps>;
15
+ export default ProHoverTooltip;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _components = require("@alicloudfe/components");
11
+
12
+ var _src = require("../../../../../../../utils/src");
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ require("./index.scss");
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ 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; }
23
+
24
+ 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; }
25
+
26
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
+
28
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
29
+
30
+ 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."); }
31
+
32
+ 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); }
33
+
34
+ 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; }
35
+
36
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
37
+
38
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
+
40
+ var cls = (0, _src.baseClass)('teamix-pro-hover-tooltip');
41
+
42
+ var ProHoverTooltip = function ProHoverTooltip(props) {
43
+ var trigger = props.trigger,
44
+ visibleProp = props.visible,
45
+ tooltip = props.tooltip,
46
+ _props$tooltipProps = props.tooltipProps,
47
+ tooltipProps = _props$tooltipProps === void 0 ? {} : _props$tooltipProps,
48
+ _props$className = props.className,
49
+ className = _props$className === void 0 ? '' : _props$className;
50
+
51
+ var _useState = (0, _react.useState)(visibleProp !== null && visibleProp !== void 0 ? visibleProp : false),
52
+ _useState2 = _slicedToArray(_useState, 2),
53
+ visible = _useState2[0],
54
+ setVisible = _useState2[1];
55
+
56
+ (0, _react.useEffect)(function () {
57
+ setVisible(visibleProp !== null && visibleProp !== void 0 ? visibleProp : false);
58
+ }, [visibleProp]); // 渲染触发器
59
+
60
+ var renderTrigger = function renderTrigger() {
61
+ if (tooltip) {
62
+ return /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({
63
+ align: "t",
64
+ trigger: /*#__PURE__*/_react.default.createElement("span", null, trigger)
65
+ }, tooltipProps), tooltip);
66
+ }
67
+
68
+ return trigger;
69
+ };
70
+
71
+ return /*#__PURE__*/_react.default.createElement("span", {
72
+ className: "".concat(cls({
73
+ '': true,
74
+ hidden: !visible
75
+ }), " ").concat(className)
76
+ }, renderTrigger());
77
+ };
78
+
79
+ var _default = ProHoverTooltip;
80
+ exports.default = _default;
@@ -0,0 +1,7 @@
1
+ .teamix-pro-hover-tooltip {
2
+ &-hidden {
3
+ opacity: 0;
4
+ display: inline-block;
5
+ }
6
+ transition: opacity 0.2s;
7
+ }
@@ -0,0 +1,12 @@
1
+ import { ProActionConfig } from '../../../../..';
2
+ import React from 'react';
3
+ import './index.scss';
4
+ export declare type ProIconActionProps = {
5
+ trigger: React.ReactNode;
6
+ icon: React.ReactNode;
7
+ action: ProActionConfig;
8
+ visible?: boolean;
9
+ tooltip?: React.ReactNode;
10
+ };
11
+ declare const ProIconAction: React.FC<ProIconActionProps>;
12
+ export default ProIconAction;