@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
@@ -5,6 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ var _exportNames = {};
8
9
  exports.default = void 0;
9
10
 
10
11
  var _react = _interopRequireWildcard(require("react"));
@@ -17,7 +18,38 @@ var _sidebarContainer = _interopRequireDefault(require("./components/sidebar-con
17
18
 
18
19
  var _tree = _interopRequireDefault(require("./components/tree"));
19
20
 
20
- var _excluded = ["dataSource", "className", "style", "searchOnChange", "showSearch", "onSelect", "treeProps", "cardProps"];
21
+ var _ = require("..");
22
+
23
+ var _actionRef = require("./utils/action-ref");
24
+
25
+ var _typing = require("./typing");
26
+
27
+ Object.keys(_typing).forEach(function (key) {
28
+ if (key === "default" || key === "__esModule") return;
29
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
30
+ if (key in exports && exports[key] === _typing[key]) return;
31
+ Object.defineProperty(exports, key, {
32
+ enumerable: true,
33
+ get: function get() {
34
+ return _typing[key];
35
+ }
36
+ });
37
+ });
38
+
39
+ var _utils2 = require("./utils");
40
+
41
+ Object.keys(_utils2).forEach(function (key) {
42
+ if (key === "default" || key === "__esModule") return;
43
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
44
+ if (key in exports && exports[key] === _utils2[key]) return;
45
+ Object.defineProperty(exports, key, {
46
+ enumerable: true,
47
+ get: function get() {
48
+ return _utils2[key];
49
+ }
50
+ });
51
+ });
52
+ var _excluded = ["selectedKeys", "checkedKeys", "dataSource", "className", "style", "searchOnChange", "showSearch", "onSelect", "onCheck", "treeProps", "cardProps", "actionRef", "onBeforeRenderNodeEvent", "beforeRenderNode", "url", "method", "params", "data", "extendParams", "beforeRequest", "successMsg", "errorMsg", "formatParams", "formatResult", "onSuccess", "onError", "link", "scrollArea", "onExpandAllChange", "onExpandLevelChange"];
21
53
 
22
54
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
55
 
@@ -50,27 +82,144 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
50
82
  var cls = (0, _utils.baseClass)('teamix-pro-sidebar');
51
83
 
52
84
  var ProSidebar = function ProSidebar(props) {
53
- var dataSource = props.dataSource,
54
- className = props.className,
85
+ var selectedKeys = props.selectedKeys,
86
+ checkedKeys = props.checkedKeys,
87
+ dataSourceProp = props.dataSource,
88
+ _props$className = props.className,
89
+ className = _props$className === void 0 ? '' : _props$className,
55
90
  style = props.style,
56
91
  _searchOnChange = props.searchOnChange,
57
92
  _props$showSearch = props.showSearch,
58
93
  showSearch = _props$showSearch === void 0 ? true : _props$showSearch,
59
94
  onSelect = props.onSelect,
95
+ onCheck = props.onCheck,
60
96
  treeProps = props.treeProps,
61
97
  cardProps = props.cardProps,
98
+ actionRefProp = props.actionRef,
99
+ onBeforeRenderNodeEvent = props.onBeforeRenderNodeEvent,
100
+ beforeRenderNode = props.beforeRenderNode,
101
+ _props$url = props.url,
102
+ url = _props$url === void 0 ? '' : _props$url,
103
+ _props$method = props.method,
104
+ method = _props$method === void 0 ? 'post' : _props$method,
105
+ params = props.params,
106
+ data = props.data,
107
+ extendParams = props.extendParams,
108
+ beforeRequest = props.beforeRequest,
109
+ successMsg = props.successMsg,
110
+ errorMsg = props.errorMsg,
111
+ formatParams = props.formatParams,
112
+ formatResult = props.formatResult,
113
+ onSuccess = props.onSuccess,
114
+ onError = props.onError,
115
+ link = props.link,
116
+ _props$scrollArea = props.scrollArea,
117
+ scrollArea = _props$scrollArea === void 0 ? 'all' : _props$scrollArea,
118
+ onExpandAllChangeProp = props.onExpandAllChange,
119
+ onExpandLevelChangeProp = props.onExpandLevelChange,
62
120
  others = _objectWithoutProperties(props, _excluded); // 搜索的关键词
63
121
 
64
122
 
65
123
  var _useState = (0, _react.useState)(),
66
124
  _useState2 = _slicedToArray(_useState, 2),
67
125
  searchKey = _useState2[0],
68
- setSearchKey = _useState2[1];
126
+ setSearchKey = _useState2[1]; // loading 状态
127
+
128
+
129
+ var _useState3 = (0, _react.useState)(true),
130
+ _useState4 = _slicedToArray(_useState3, 2),
131
+ loading = _useState4[0],
132
+ setLoading = _useState4[1]; // 数据源
133
+
134
+
135
+ var _useState5 = (0, _react.useState)(dataSourceProp !== null && dataSourceProp !== void 0 ? dataSourceProp : []),
136
+ _useState6 = _slicedToArray(_useState5, 2),
137
+ dataSource = _useState6[0],
138
+ setDataSource = _useState6[1]; // 展开全部状态
139
+
140
+
141
+ var _useState7 = (0, _react.useState)(false),
142
+ _useState8 = _slicedToArray(_useState7, 2),
143
+ expandAllState = _useState8[0],
144
+ setExpandAllState = _useState8[1]; // 展开层级状态
145
+
146
+
147
+ var _useState9 = (0, _react.useState)(0),
148
+ _useState10 = _slicedToArray(_useState9, 2),
149
+ expandLevelState = _useState10[0],
150
+ setExpandLevelState = _useState10[1]; // 树层级
151
+
152
+
153
+ var _useState11 = (0, _react.useState)(0),
154
+ _useState12 = _slicedToArray(_useState11, 2),
155
+ expandLevel = _useState12[0],
156
+ setExpandLevel = _useState12[1];
157
+
158
+ var actionRef = (0, _react.useRef)(); // const requestDataKey = method.toLowerCase() === 'get' ? 'params' : 'data';
159
+
160
+ var requestConfig = {
161
+ url: url,
162
+ method: method,
163
+ params: params,
164
+ data: data,
165
+ extendParams: extendParams,
166
+ beforeRequest: beforeRequest,
167
+ successMsg: successMsg,
168
+ errorMsg: errorMsg,
169
+ formatParams: formatParams,
170
+ formatResult: formatResult,
171
+ onSuccess: onSuccess,
172
+ onError: onError,
173
+ link: link
174
+ };
175
+ (0, _react.useEffect)(function () {
176
+ if (url) {
177
+ request();
178
+ } else {
179
+ setLoading(false);
180
+ }
181
+ }, []);
182
+ (0, _react.useEffect)(function () {
183
+ setDataSource(dataSourceProp !== null && dataSourceProp !== void 0 ? dataSourceProp : []);
184
+ }, [dataSourceProp]); // 请求数据
185
+
186
+ var request = function request() {
187
+ setLoading(true);
188
+ (0, _utils.doCommonRequest)(requestConfig).then(function (resp) {
189
+ setDataSource(resp);
190
+ }).finally(function () {
191
+ setLoading(false);
192
+ });
193
+ };
194
+
195
+ (0, _actionRef.useActionType)(actionRefProp !== null && actionRefProp !== void 0 ? actionRefProp : actionRef, {
196
+ refresh: function refresh() {
197
+ request();
198
+ }
199
+ }); // 展开全部变化回调
200
+
201
+ var onExpandAllChange = function onExpandAllChange(status) {
202
+ setExpandAllState(status);
203
+ onExpandAllChangeProp === null || onExpandAllChangeProp === void 0 ? void 0 : onExpandAllChangeProp(status);
204
+ }; // 展开层级回调
205
+
206
+
207
+ var onExpandLevelChange = function onExpandLevelChange(level) {
208
+ setExpandLevelState(level);
209
+ onExpandLevelChangeProp === null || onExpandLevelChangeProp === void 0 ? void 0 : onExpandLevelChangeProp(level);
210
+ }; // DataSource 变化回调。用于更新层级
211
+
212
+
213
+ var onDataSourceChange = function onDataSourceChange(dataSource) {
214
+ var level = (0, _.getTreeLevel)(dataSource);
215
+ setExpandLevel(level);
216
+ };
69
217
 
70
218
  return /*#__PURE__*/_react.default.createElement("div", {
71
- className: cls(_defineProperty({
72
- '': true
73
- }, className, true)),
219
+ className: "".concat(cls({
220
+ '': true,
221
+ 'scroll-tree': scrollArea === 'tree'
222
+ }), " ").concat(className),
74
223
  style: style
75
224
  }, /*#__PURE__*/_react.default.createElement(_sidebarContainer.default, _objectSpread(_objectSpread({
76
225
  searchOnChange: function searchOnChange(value) {
@@ -79,11 +228,25 @@ var ProSidebar = function ProSidebar(props) {
79
228
  setSearchKey(value);
80
229
  }
81
230
  },
82
- showSearch: showSearch
83
- }, others), cardProps), /*#__PURE__*/_react.default.createElement(_tree.default, _objectSpread({
231
+ onExpandAllChange: onExpandAllChange,
232
+ onExpandLevelChange: onExpandLevelChange,
233
+ showSearch: showSearch,
234
+ scrollArea: scrollArea,
235
+ expandLevel: expandLevel,
236
+ isTree: (0, _.getTreeLevel)(dataSource) > 1 ? true : false
237
+ }, others), cardProps), loading && /*#__PURE__*/_react.default.createElement(_.ProSkeletonRaw.SideBar, null), !loading && /*#__PURE__*/_react.default.createElement(_tree.default, _objectSpread({
84
238
  dataSource: dataSource,
85
239
  searchKey: searchKey,
86
- onSelect: onSelect
240
+ onSelect: onSelect,
241
+ onCheck: onCheck,
242
+ selectedKeys: selectedKeys,
243
+ checkedKeys: checkedKeys,
244
+ actionRef: actionRefProp !== null && actionRefProp !== void 0 ? actionRefProp : actionRef,
245
+ onBeforeRenderNodeEvent: onBeforeRenderNodeEvent,
246
+ beforeRenderNode: beforeRenderNode,
247
+ expandAll: expandAllState,
248
+ expandLevel: expandLevelState,
249
+ onDataSourceChange: onDataSourceChange
87
250
  }, treeProps))));
88
251
  };
89
252
 
@@ -1,3 +1,26 @@
1
+ @import '../common.scss';
2
+
1
3
  .teamix-pro-sidebar {
2
4
  color: var(--color-brand1-6);
3
- }
5
+ .teamix-pro-card {
6
+ background: transparent;
7
+ }
8
+
9
+ &-scroll-tree {
10
+ height: calc(100% - var(--s-4, 16px) - 40px);
11
+ .teamix-pro-sidebar-container,
12
+ .teamix-pro-card,
13
+ .next-card-content-container,
14
+ .teamix-pro-card-content {
15
+ height: 100%;
16
+ }
17
+ .teamix-pro-sidebar-container-context {
18
+ @include hybridcloud-scrollbar;
19
+ overflow: auto;
20
+ }
21
+ }
22
+
23
+ .next-form-preview {
24
+ color: unset;
25
+ }
26
+ }
@@ -1,38 +1,66 @@
1
1
  /// <reference types="react" />
2
2
  import { MessageProps } from '@alifd/next/types/message';
3
3
  import { TreeProps } from '@alifd/next/types/tree';
4
- import { ProCardProps, ProFieldProps } from '..';
4
+ import { CommonRequestConfig, ProTagItem } from '@teamix/utils';
5
+ import { ProActionConfig, ProCardProps, ProFieldProps, ProFieldRenderProps, ProFieldType } from '..';
5
6
  /** ProSidebar 定义 */
6
7
  export declare type ProSidebarProps = {
7
8
  /** 数据源 */
8
9
  dataSource?: ProSidebarDataSource;
10
+ /** 点击的节点 */
11
+ selectedKeys?: TreeProps['selectedKeys'];
12
+ /** 选中的节点 */
13
+ checkedKeys?: TreeProps['checkedKeys'];
9
14
  /** 节点点击回调 */
10
15
  onSelect?: TreeProps['onSelect'];
16
+ /** 节点选中回调 */
17
+ onCheck?: TreeProps['onCheck'];
11
18
  /** 树配置 */
12
19
  treeProps?: TreeProps;
13
20
  /** 卡片配置 */
14
21
  cardProps?: ProCardProps;
15
- } & Omit<React.HTMLAttributes<HTMLElement>, 'onSelect'> & Omit<ProSidebarContainerProps, 'onSelect'>;
22
+ /** 显示数量 */
23
+ showExtraNumber?: boolean;
24
+ /** actionRef */
25
+ actionRef?: React.MutableRefObject<ProSidebarActionType | undefined>;
26
+ /** 渲染树节点之前的回调 dataSource 变动时调用 */
27
+ beforeRenderNode?: (item: ProSidebarDataSourceItem, level: number, dataSource: ProSidebarDataSource) => ProSidebarDataSourceItem;
28
+ /** 监听渲染树节点之前的事件 当节点状态改变、dataSource 变动时调用 */
29
+ onBeforeRenderNodeEvent?: (item: ProSidebarDataSourceItem, checkedKeys: TreeProps['checkedKeys'], selectedKeys: TreeProps['selectedKeys'], dataSource: ProSidebarDataSource) => ProSidebarDataSourceItem;
30
+ } & Omit<React.HTMLAttributes<HTMLElement>, 'onSelect'> & Omit<ProSidebarContainerProps, 'onSelect'> & ProSidebarRequestProps;
16
31
  /** 数据源定义 */
17
32
  export declare type ProSidebarDataSource = ProSidebarDataSourceItem[];
18
33
  export declare type ProSidebarDataSourceItem = {
19
34
  /** 展示值 */
20
- label?: React.ReactNode;
35
+ label?: string;
21
36
  /** 绑定值 */
22
37
  value?: any;
23
- /** icon */
24
- icon?: React.ReactNode;
25
38
  /** 标签 */
26
- tag?: React.ReactNode;
39
+ tag?: ProTagItem;
27
40
  /** 右侧操作、状态区 */
28
- extra?: React.ReactNode;
41
+ extra?: ProSidebarExtraProps;
29
42
  /** 子项 */
30
43
  children?: ProSidebarDataSourceItem[];
44
+ /** label 类型 对应 ProFieldType */
45
+ valueType?: ProFieldType;
46
+ /** 渲染 label 的 render 对应 ProFieldRenderProps */
47
+ render?: ProFieldRenderProps;
48
+ /** ProField 的其他配置项 */
49
+ fieldProps?: ProFieldProps;
31
50
  };
32
- /** tag 定义 */
33
- export declare type ProSidebarDataSourceTag = {
34
- /** 显示值 */
35
- value: string;
51
+ /** 单项 extra 配置项 */
52
+ export declare type ProSidebarExtraProps = React.ReactNode | (ProSidebarExtraPropsItem | React.ReactNode)[];
53
+ export declare type ProSidebarExtraPropsItem = {
54
+ /** 相应功能项 */
55
+ type: 'action' | 'iconSwitch' | 'iconAction' | 'custom';
56
+ /** action 相应配置 */
57
+ action: ProActionConfig;
58
+ /** 相应配置 */
59
+ props: any;
60
+ /** 是否 hover 显示 */
61
+ hover?: boolean;
62
+ /** 自定义渲染 仅在 custom 有效 */
63
+ trigger?: any;
36
64
  };
37
65
  /** sidebar 容器定义 */
38
66
  export declare type ProSidebarContainerProps = {
@@ -53,12 +81,54 @@ export declare type ProSidebarContainerProps = {
53
81
  customMessage?: React.ReactNode;
54
82
  /** 消息通知区域的其他参数 */
55
83
  messageProps?: MessageProps;
84
+ /** 滚动区域 仅在使用 ProPageContainer 时有效 */
85
+ scrollArea?: 'all' | 'tree';
86
+ /** 是否显示展开全部 */
87
+ showExpandAll?: boolean;
88
+ /** 是否显示展开层级 */
89
+ showExpandLevel?: boolean;
90
+ /** 展开全部变化回调 */
91
+ onExpandAllChange?: (state: boolean) => void;
92
+ /** 展开层级变化回调 */
93
+ onExpandLevelChange?: (state: number) => void;
94
+ /** 展开层级 层级 */
95
+ expandLevel?: number;
96
+ /** 列表 or tree */
97
+ isTree?: boolean;
56
98
  } & ProCardProps;
57
99
  /** ProSidebarTree 内容定义 */
58
100
  export declare type ProSidebarTreeProps = {
59
101
  dataSource?: ProSidebarDataSource;
60
102
  /** 搜索过滤关键词 */
61
103
  searchKey?: string;
62
- /** 节点点击回调 */
63
- onChange?: ProSidebarProps['onChange'];
104
+ /** 显示数量 */
105
+ showExtraNumber?: ProSidebarProps['showExtraNumber'];
106
+ /** actionRef */
107
+ actionRef: React.MutableRefObject<ProSidebarActionType | undefined>;
108
+ /** 渲染树节点之前的回调 */
109
+ onBeforeRenderNodeEvent?: ProSidebarProps['onBeforeRenderNodeEvent'];
110
+ /** 渲染树节点之前的回调 dataSource 变动时调用 */
111
+ beforeRenderNode?: ProSidebarProps['beforeRenderNode'];
112
+ /** 展开全部 */
113
+ expandAll?: boolean;
114
+ /** 展开节点层级 */
115
+ expandLevel?: number;
116
+ /** dataSource 变化的回调 */
117
+ onDataSourceChange?: (dataSource: ProSidebarDataSource) => void;
64
118
  } & TreeProps;
119
+ /** ProSidebarTreeNode 内容定义 */
120
+ export declare type ProSidebarTreeNodeProps = {
121
+ dataSource?: ProSidebarDataSource;
122
+ };
123
+ /** ProSidebar ActionRef 定义 */
124
+ export declare type ProSidebarActionType = {
125
+ /** 设置树节点 */
126
+ setTreeNode?: (treeNode: ProSidebarDataSourceItem) => void;
127
+ /** 刷新 */
128
+ refresh?: () => void;
129
+ };
130
+ /** ProSidebar 请求相关定义 */
131
+ export declare type ProSidebarRequestProps = {
132
+ /** 请求地址 */
133
+ url?: string;
134
+ } & Omit<CommonRequestConfig, 'url'>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { ProSidebarActionType } from '../typing';
3
+ export declare function useActionType<T>(ref: React.MutableRefObject<ProSidebarActionType | undefined>, action: ProSidebarActionType): void;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useActionType = useActionType;
7
+
8
+ 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; }
9
+
10
+ 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; }
11
+
12
+ 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; }
13
+
14
+ function useActionType(ref, action) {
15
+ var _ref$current;
16
+
17
+ var oldActions = (_ref$current = ref.current) !== null && _ref$current !== void 0 ? _ref$current : {}; // 合并自定义事件
18
+
19
+ var userAction = _objectSpread(_objectSpread({}, oldActions), action);
20
+
21
+ ref.current = userAction;
22
+ }
@@ -0,0 +1,71 @@
1
+ /**
2
+ * 深度遍历节点
3
+ * @param data 数据
4
+ * @param func 处理方法
5
+ * @param aliasMap 标识
6
+ * @param level 深度
7
+ */
8
+ export declare function loop<T>(data: T[], func: any, aliasMap?: {
9
+ children: string;
10
+ }, level?: number): void;
11
+ /**
12
+ * 深度遍历并查找节点(只保留二级路径)
13
+ * @param data 数据
14
+ * @param predicate 条件
15
+ * @param aliasMap 标识
16
+ * @returns
17
+ */
18
+ export declare function findNodeWithoutPath<T>(data: any[], predicate: (node: T) => boolean, aliasMap?: {
19
+ children: string;
20
+ }): any;
21
+ /**
22
+ * 深度遍历并查找节点(保留全部路径)
23
+ * @param data 数据
24
+ * @param predicate 条件
25
+ * @param aliasMap 标识
26
+ * @returns
27
+ */
28
+ export declare function findNodeWithPath<T>(data: T[], predicate: (node: T) => boolean, aliasMap?: {
29
+ children: string;
30
+ }): T[];
31
+ /**
32
+ * 获取树所有节点 key
33
+ * @param data 数据
34
+ * @param aliasMap 标识
35
+ * @returns
36
+ */
37
+ export declare function getAllNodeKey<T>(data: T[], aliasMap?: {
38
+ key: string;
39
+ children: string;
40
+ }): any[];
41
+ /**
42
+ * 获取当前节点的层级
43
+ * @param data 数据
44
+ * @param value 需要获取层级的 key
45
+ * @param aliasMap 标识
46
+ * @returns
47
+ */
48
+ export declare function getTreeNodeLevel(data: any[], value: any, aliasMap?: {
49
+ key: string;
50
+ children: string;
51
+ }): number;
52
+ /**
53
+ * 获取树的层级
54
+ * @param data 数据
55
+ * @param aliasMap 标识
56
+ * @returns
57
+ */
58
+ export declare function getTreeLevel(data: any[], aliasMap?: {
59
+ children: string;
60
+ }): number;
61
+ /**
62
+ * 获取树层级对应的所有 key
63
+ * @param data
64
+ * @param level
65
+ * @param aliasMap
66
+ * @returns
67
+ */
68
+ export declare function getTreeLevelKey(data: any[], level: number, aliasMap?: {
69
+ key: string;
70
+ children: string;
71
+ }): any[];