fan-standard-comp 4.1.21 → 4.1.23

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 (51) hide show
  1. package/dist/fan-standard-comp.min.css +1 -1
  2. package/dist/fan-standard-comp.min.js +1 -1
  3. package/es/FormComp/FieldComponent/RefactorTreeSelect.d.ts +4 -0
  4. package/es/FormComp/FieldComponent/RefactorTreeSelect.js +82 -156
  5. package/es/FormComp/FieldComponent/style/TreeSelect.js +7 -5
  6. package/es/RefactorTree/index.js +13 -8
  7. package/es/RefactorTree/style/index.js +29 -1
  8. package/es/RefactorTree/util.d.ts +3 -2
  9. package/es/RefactorTree/util.js +51 -9
  10. package/es/StandardContent/SideCard.d.ts +15 -0
  11. package/es/StandardContent/SideCard.js +67 -0
  12. package/es/StandardContent/SubfieldContent.js +10 -5
  13. package/es/StandardContent/styles/SideCard.d.ts +6 -0
  14. package/es/StandardContent/styles/SideCard.js +98 -0
  15. package/es/StandardPanel/index.d.ts +10 -0
  16. package/es/StandardPanel/index.js +61 -18
  17. package/es/StandardPanel/style/index.js +24 -5
  18. package/es/StandardPanel/style/index.less +26 -26
  19. package/es/StandardTitle/index.d.ts +16 -0
  20. package/es/StandardTitle/index.js +59 -0
  21. package/es/StandardTitle/styles/index.d.ts +6 -0
  22. package/es/StandardTitle/styles/index.js +57 -0
  23. package/es/index.d.ts +2 -0
  24. package/es/index.js +2 -0
  25. package/es/utils/getParentNodes.d.ts +10 -0
  26. package/es/utils/getParentNodes.js +41 -0
  27. package/lib/FormComp/FieldComponent/RefactorTreeSelect.d.ts +4 -0
  28. package/lib/FormComp/FieldComponent/RefactorTreeSelect.js +81 -155
  29. package/lib/FormComp/FieldComponent/style/TreeSelect.js +7 -5
  30. package/lib/RefactorTree/index.js +13 -8
  31. package/lib/RefactorTree/style/index.js +29 -1
  32. package/lib/RefactorTree/util.d.ts +3 -2
  33. package/lib/RefactorTree/util.js +52 -12
  34. package/lib/StandardContent/SideCard.d.ts +15 -0
  35. package/lib/StandardContent/SideCard.js +76 -0
  36. package/lib/StandardContent/SubfieldContent.js +10 -5
  37. package/lib/StandardContent/styles/SideCard.d.ts +6 -0
  38. package/lib/StandardContent/styles/SideCard.js +104 -0
  39. package/lib/StandardPanel/index.d.ts +10 -0
  40. package/lib/StandardPanel/index.js +61 -18
  41. package/lib/StandardPanel/style/index.js +24 -5
  42. package/lib/StandardPanel/style/index.less +26 -26
  43. package/lib/StandardTitle/index.d.ts +16 -0
  44. package/lib/StandardTitle/index.js +68 -0
  45. package/lib/StandardTitle/styles/index.d.ts +6 -0
  46. package/lib/StandardTitle/styles/index.js +63 -0
  47. package/lib/index.d.ts +2 -0
  48. package/lib/index.js +16 -0
  49. package/lib/utils/getParentNodes.d.ts +10 -0
  50. package/lib/utils/getParentNodes.js +42 -1
  51. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import './style/index.less';
3
+ declare const RefactorTreeSelect: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<unknown>>;
4
+ export default RefactorTreeSelect;
@@ -1,7 +1,6 @@
1
1
  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); }
2
2
  var _excluded = ["treeData", "value", "showFullLevel", "separator", "disabled", "disabledFields", "fieldStatus", "treeOptionName", "placeholder", "protoTreeNode", "onSelect", "labelInValue"];
3
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
- function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure " + obj); }
5
4
  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; }
6
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
6
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -15,15 +14,16 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
15
14
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
15
  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; }
17
16
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
18
- import React, { useRef, useState, useEffect } from "react";
17
+ import React, { useState, useMemo } from "react";
19
18
  import { TreeSelect } from "antd";
20
19
  import "./style/index.less";
21
20
  import { getParentNodes, getNodePaths } from "../../utils";
22
21
  import { UpOutlined, DownOutlined } from "@ant-design/icons";
23
22
  import useStyle from "./style/TreeSelect";
24
23
  import classNames from 'classnames';
24
+ import { transDataParam } from "../../RefactorTree/util";
25
25
  import { useLanguageObject } from "../../hooks/use-language";
26
- var TreeNode = TreeSelect.TreeNode;
26
+ import _ from 'lodash';
27
27
  var RefactorTreeSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
28
28
  var _props$treeData = props.treeData,
29
29
  treeData = _props$treeData === void 0 ? [] : _props$treeData,
@@ -37,6 +37,7 @@ var RefactorTreeSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
37
37
  _props$treeOptionName = props.treeOptionName,
38
38
  treeOptionName = _props$treeOptionName === void 0 ? {
39
39
  title: 'title',
40
+ label: 'label',
40
41
  value: 'value',
41
42
  children: 'children',
42
43
  disabled: 'disabled'
@@ -52,136 +53,30 @@ var RefactorTreeSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
52
53
  _useStyle2 = _slicedToArray(_useStyle, 2),
53
54
  wrapSSR = _useStyle2[0],
54
55
  hashId = _useStyle2[1];
55
- var _useState = useState(null),
56
- _useState2 = _slicedToArray(_useState, 2),
57
- fullLevelName = _useState2[0],
58
- setFullLevelName = _useState2[1];
59
- var _useState3 = useState({}),
60
- _useState4 = _slicedToArray(_useState3, 2),
61
- fullLevelStyle = _useState4[0],
62
- setFullLevelStyle = _useState4[1];
63
- var renderTreeNode = function renderTreeNode(data, dataOptionName) {
64
- var nodeProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
65
- return data.map(function (dataItem) {
66
- var prevDataItem = _objectSpread({}, dataItem);
67
- var item = Object.assign({}, (_objectDestructuringEmpty(prevDataItem), prevDataItem));
68
- // 筛选与禁用字段内值相同的节点进行禁用
69
- var resetByDisabledFields = function resetByDisabledFields(initItem) {
70
- var oldItem = _objectSpread({}, initItem);
71
- var nodeItem = Object.assign({}, (_objectDestructuringEmpty(oldItem), oldItem));
72
- Object.keys(nodeItem).forEach(function (itemKeyName) {
73
- var isMatch = disabledFields.find(function (fItem) {
74
- return fItem.key === itemKeyName;
75
- });
76
- if (isMatch) {
77
- var _isMatch$value$split;
78
- // 确认是否匹配数据,进行设置 disabled
79
- if ((_isMatch$value$split = isMatch.value.split(',')) !== null && _isMatch$value$split !== void 0 && _isMatch$value$split.includes(nodeItem[itemKeyName])) {
80
- nodeItem.disabled = true;
81
- } else if (nodeItem.hasOwnProperty(dataOptionName.disabled || 'disabled')) {
82
- nodeItem.disabled = nodeItem[dataOptionName.disabled || 'disabled'];
83
- }
84
- }
85
- });
86
- return nodeItem;
87
- };
88
- if (disabledFields && Array.isArray(disabledFields)) {
89
- item = resetByDisabledFields(item);
90
- }
91
- if (item[dataOptionName.children] && item[dataOptionName.children].length > 0) {
92
- return /*#__PURE__*/React.createElement(TreeNode, _extends({
93
- title: item[dataOptionName.title],
94
- key: item[dataOptionName.value],
95
- value: item[dataOptionName.value],
96
- selectable: item[(dataOptionName === null || dataOptionName === void 0 ? void 0 : dataOptionName.selectable) || 'selectable'],
97
- checkable: item[(dataOptionName === null || dataOptionName === void 0 ? void 0 : dataOptionName.checkable) || 'checkable'],
98
- disableCheckbox: item[(dataOptionName === null || dataOptionName === void 0 ? void 0 : dataOptionName.disableCheckbox) || 'disableCheckbox'],
99
- disabled: item[(dataOptionName === null || dataOptionName === void 0 ? void 0 : dataOptionName.disabled) || 'disabled']
100
- }, nodeProps), renderTreeNode(item[dataOptionName.children], dataOptionName));
101
- }
102
- return /*#__PURE__*/React.createElement(TreeNode, _extends({
103
- title: item[dataOptionName.title],
104
- key: item[dataOptionName.value],
105
- value: item[dataOptionName.value],
106
- selectable: item[(dataOptionName === null || dataOptionName === void 0 ? void 0 : dataOptionName.selectable) || 'selectable'],
107
- checkable: item[(dataOptionName === null || dataOptionName === void 0 ? void 0 : dataOptionName.checkable) || 'checkable'],
108
- disableCheckbox: item[(dataOptionName === null || dataOptionName === void 0 ? void 0 : dataOptionName.disableCheckbox) || 'disableCheckbox'],
109
- disabled: item[(dataOptionName === null || dataOptionName === void 0 ? void 0 : dataOptionName.disabled) || 'disabled']
110
- }, nodeProps));
111
- });
112
- };
113
- useEffect(function () {
114
- if (value) {
115
- // 获取选中节点相关数据:包括当前完整数据值、当前父节点以上层层级节点数据集合及id集合
116
- var nodeInfo = getParentNodes(treeData, labelInValue ? value.value : value, {
117
- childrenParam: treeOptionName.children,
118
- keyParam: treeOptionName.value
119
- }, _objectSpread({}, otherProps));
120
- setFullLevelName(renderParenName(nodeInfo));
121
- } else {
122
- // value,无值时
123
- setFullLevelName(null);
124
- }
125
- }, [value, treeData, fieldStatus]);
126
- var renderParenName = function renderParenName(selectNodeInfo) {
127
- // 有父级节点,及当前模式是showFullLevel时,渲染名称为完整层级名称,否则为当前节点名称
128
- var parentItems = selectNodeInfo.nodeParent;
129
- if (parentItems.length > 0 && showFullLevel && !otherProps.showCheckedStrategy) {
130
- // 当前查找到的父级节点拼合当前节点的标题字段值进行显示
131
- return parentItems.reverse().map(function (item) {
132
- return item[treeOptionName.title];
133
- }).concat(selectNodeInfo.matchNode[0][treeOptionName.title]).join(separator);
134
- }
135
- if (Array.isArray(value)) {
136
- return selectNodeInfo.matchNode.length > 0 ? selectNodeInfo.matchNode.map(function (item) {
137
- return item[treeOptionName.title] || item[treeOptionName.value];
138
- }).join(',') : null;
139
- }
140
- return selectNodeInfo.matchNode.length > 0 ? selectNodeInfo.matchNode[0][treeOptionName.title] : null;
141
- };
142
- var renderTreeSelectNode = function renderTreeSelectNode() {
143
- return /*#__PURE__*/React.createElement(TreeSelect, _extends({
144
- placeholder: placeholder,
145
- value: value,
146
- ref: ref
147
- }, otherProps, {
148
- className: classNames(componentName, hashId, otherProps === null || otherProps === void 0 ? void 0 : otherProps.className),
149
- labelInValue: labelInValue,
150
- title: otherProps.title || ((disabled || fieldStatus === 'disabled') && !otherProps.treeCheckable ? fullLevelName : null),
151
- showCheckedStrategy: otherProps.showCheckedStrategy,
152
- disabled: disabled,
153
- onSelect: function onSelect(value, node, extra) {
154
- var newNodeInfo = getParentNodes(treeData, value, {
155
- childrenParam: treeOptionName.children,
156
- keyParam: treeOptionName.value
157
- });
158
- setFullLevelName(renderParenName(newNodeInfo));
159
- if (_onSelect) _onSelect(value, _objectSpread(_objectSpread({}, node), newNodeInfo.matchNode[0]), extra, newNodeInfo.nodeParent);
160
- },
161
- onOpenChange: function onOpenChange(open) {
162
- var _otherProps$onOpenCha;
163
- setFullLevelStyle({
164
- opacity: open ? 0.3 : ''
165
- });
166
- // otherProps?.onDropdownVisibleChange?.(open)
167
- otherProps === null || otherProps === void 0 || (_otherProps$onOpenCha = otherProps.onOpenChange) === null || _otherProps$onOpenCha === void 0 || _otherProps$onOpenCha.call(otherProps, open);
168
- },
169
- onSearch: function onSearch(value) {
170
- var _otherProps$onSearch;
171
- setFullLevelStyle({
172
- opacity: value ? 0 : ''
173
- });
174
- otherProps === null || otherProps === void 0 || (_otherProps$onSearch = otherProps.onSearch) === null || _otherProps$onSearch === void 0 || _otherProps$onSearch.call(otherProps, value);
175
- }
176
- }), renderTreeNode(treeData, treeOptionName, protoTreeNode || {}));
56
+ // 重组数据
57
+ var transTreeData = useMemo(function () {
58
+ var newTree = _.cloneDeep(treeData || []);
59
+ return transDataParam(newTree, (otherProps === null || otherProps === void 0 ? void 0 : otherProps.fieldNames) || treeOptionName, {
60
+ separator: separator,
61
+ disabledFields: disabledFields
62
+ }); // 通过转换后的数据
63
+ }, [treeData, treeOptionName, otherProps.fieldNames, separator, disabledFields]);
64
+ // 设置名称字段值
65
+ var setLabelKeyName = function setLabelKeyName() {
66
+ var _otherProps$fieldName;
67
+ return showFullLevelKeyName || ((_otherProps$fieldName = otherProps.fieldNames) === null || _otherProps$fieldName === void 0 ? void 0 : _otherProps$fieldName.label) || treeOptionName.title || treeOptionName.label;
177
68
  };
178
- var _useState5 = useState(false),
179
- _useState6 = _slicedToArray(_useState5, 2),
180
- showAllPath = _useState6[0],
181
- setShowAllPath = _useState6[1]; // 显示所有树选择路径
69
+ // 判断是否指定显示完整名称
70
+ var showFullLevelKeyName = useMemo(function () {
71
+ return showFullLevel ? 'treeFullLevelName' : otherProps === null || otherProps === void 0 ? void 0 : otherProps.treeNodeLabelProp;
72
+ }, [showFullLevel, otherProps === null || otherProps === void 0 ? void 0 : otherProps.treeNodeLabelProp]);
73
+ var _useState = useState(false),
74
+ _useState2 = _slicedToArray(_useState, 2),
75
+ showAllPath = _useState2[0],
76
+ setShowAllPath = _useState2[1]; // 显示所有树选择路径
182
77
  var renderTreeSelectNodePath = function renderTreeSelectNodePath() {
183
78
  //获取节点路径
184
- var pathNodes = getNodePaths(treeData, value, {
79
+ var pathNodes = getNodePaths(transTreeData, value, {
185
80
  childrenParam: treeOptionName.children,
186
81
  keyParam: treeOptionName.value
187
82
  }, _objectSpread({}, otherProps));
@@ -190,16 +85,16 @@ var RefactorTreeSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
190
85
  };
191
86
  if (pathNodes.length > 0) {
192
87
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
193
- className: "tree-select-viewonly-list ".concat(hashId, " ").concat(showAllPath ? 'collapsed' : '')
88
+ className: "tree-select-viewonly-list ".concat(showAllPath ? 'collapsed' : '')
194
89
  }, pathNodes.map(function (item, index) {
195
90
  if (item.length > 0) {
196
91
  // 超过2个且不显示所有
197
- if (index > 1 && !showAllPath) return;
92
+ if (index > 1 && !showAllPath) return '';
198
93
  return /*#__PURE__*/React.createElement("div", {
199
94
  className: 'tree-select-viewonly-item',
200
95
  key: index
201
96
  }, /*#__PURE__*/React.createElement("b", null, "\xB7 "), item.map(function (i) {
202
- return i[treeOptionName.title];
97
+ return i[setLabelKeyName()];
203
98
  }).join(separator));
204
99
  }
205
100
  }), pathNodes.length > 2 ? /*#__PURE__*/React.createElement("div", {
@@ -211,34 +106,65 @@ var RefactorTreeSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
211
106
  }
212
107
  };
213
108
  if (fieldStatus === 'viewOnly') {
214
- //多选下拉框 详情展示 showCheckedStrategy 有值且显示完整路径时
215
- if (otherProps.showCheckedStrategy && showFullLevel) {
216
- return renderTreeSelectNodePath();
217
- }
218
- // 多选状态
219
- if (otherProps.multiple) {
220
- if (labelInValue) {
221
- return value && value.length > 0 ? value.map(function (item) {
222
- return item[treeOptionName.title] || item['title'] || item['label'];
109
+ return /*#__PURE__*/React.createElement("div", {
110
+ className: classNames(componentName, hashId, otherProps === null || otherProps === void 0 ? void 0 : otherProps.className, componentName + '-viewOnly')
111
+ }, function (_nodeInfo$matchNode$) {
112
+ //多选下拉框 详情展示 showCheckedStrategy 有值且显示完整路径时
113
+ if (otherProps.showCheckedStrategy && showFullLevelKeyName) {
114
+ return renderTreeSelectNodePath();
115
+ }
116
+ // 多选状态
117
+ if (otherProps.multiple) {
118
+ if (labelInValue) {
119
+ return value && value.length > 0 ? value.map(function (item) {
120
+ return item[setLabelKeyName()] || item['title'] || item['label'];
121
+ }).join(',') : '-';
122
+ }
123
+ var pathNodes = getNodePaths(transTreeData, value, {
124
+ childrenParam: treeOptionName.children,
125
+ keyParam: treeOptionName.value
126
+ }, _objectSpread({}, otherProps));
127
+ return pathNodes.length > 0 ? pathNodes.map(function (nItem) {
128
+ var _nItem;
129
+ return (_nItem = nItem[nItem.length - 1]) === null || _nItem === void 0 ? void 0 : _nItem[setLabelKeyName()];
223
130
  }).join(',') : '-';
224
131
  }
225
- var pathNodes = getNodePaths(treeData, value, {
132
+ var nodeInfo = getParentNodes(transTreeData, labelInValue ? value.value : value, {
226
133
  childrenParam: treeOptionName.children,
227
134
  keyParam: treeOptionName.value
228
135
  }, _objectSpread({}, otherProps));
229
- return pathNodes.length > 0 ? pathNodes.map(function (nItem) {
230
- var _nItem;
231
- return (_nItem = nItem[nItem.length - 1]) === null || _nItem === void 0 ? void 0 : _nItem[treeOptionName.title];
232
- }).join(',') : '-';
233
- }
234
- return fullLevelName || '-'; // 只读显示时,只返回文本
136
+ return (nodeInfo === null || nodeInfo === void 0 || (_nodeInfo$matchNode$ = nodeInfo.matchNode[0]) === null || _nodeInfo$matchNode$ === void 0 ? void 0 : _nodeInfo$matchNode$[setLabelKeyName()]) || '-'; // 只读显示时,只返回文本
137
+ }());
235
138
  }
236
- return wrapSSR( /*#__PURE__*/React.createElement(React.Fragment, null, showFullLevel && !otherProps.showCheckedStrategy ? /*#__PURE__*/React.createElement("div", {
237
- className: "".concat(componentName, " ").concat(hashId, " ").concat(disabled ? 'refactor-disabled' : '').concat(otherProps.size === 'small' ? ' refactor-tree-select-sm' : ''),
238
- title: fullLevelName || ''
239
- }, renderTreeSelectNode(), /*#__PURE__*/React.createElement("span", {
240
- className: "refactor-tree-select-extra",
241
- style: fullLevelStyle
242
- }, fullLevelName)) : renderTreeSelectNode()));
139
+ return wrapSSR( /*#__PURE__*/React.createElement(TreeSelect, _extends({
140
+ placeholder: placeholder,
141
+ value: value,
142
+ ref: ref
143
+ }, otherProps, {
144
+ treeNodeLabelProp: showFullLevel ? 'treeFullLevelName' : otherProps === null || otherProps === void 0 ? void 0 : otherProps.treeNodeLabelProp,
145
+ className: classNames(componentName, hashId, otherProps === null || otherProps === void 0 ? void 0 : otherProps.className),
146
+ labelInValue: labelInValue,
147
+ showCheckedStrategy: otherProps.showCheckedStrategy,
148
+ disabled: disabled,
149
+ onSelect: function onSelect(value, node, extra) {
150
+ var newNodeInfo = getParentNodes(transTreeData, value, {
151
+ childrenParam: treeOptionName.children,
152
+ keyParam: treeOptionName.value
153
+ });
154
+ if (_onSelect) _onSelect(value, _objectSpread(_objectSpread({}, node), newNodeInfo.matchNode[0]), extra, newNodeInfo.nodeParent);
155
+ },
156
+ onOpenChange: function onOpenChange(open) {
157
+ var _otherProps$onOpenCha;
158
+ otherProps === null || otherProps === void 0 || (_otherProps$onOpenCha = otherProps.onOpenChange) === null || _otherProps$onOpenCha === void 0 || _otherProps$onOpenCha.call(otherProps, open);
159
+ },
160
+ onSearch: function onSearch(value) {
161
+ var _otherProps$onSearch;
162
+ otherProps === null || otherProps === void 0 || (_otherProps$onSearch = otherProps.onSearch) === null || _otherProps$onSearch === void 0 || _otherProps$onSearch.call(otherProps, value);
163
+ },
164
+ treeData: transTreeData,
165
+ fieldNames: _objectSpread(_objectSpread({}, treeOptionName), {}, {
166
+ label: (treeOptionName === null || treeOptionName === void 0 ? void 0 : treeOptionName.title) || (treeOptionName === null || treeOptionName === void 0 ? void 0 : treeOptionName.label)
167
+ }, (otherProps === null || otherProps === void 0 ? void 0 : otherProps.fieldNames) || {})
168
+ })));
243
169
  });
244
170
  export default RefactorTreeSelect;
@@ -12,7 +12,7 @@ var RefactorTreeSelectStyleFunc = function RefactorTreeSelectStyleFunc(prefix) {
12
12
  };
13
13
  return createStyleHook(prefix, function (token) {
14
14
  var prefixCls = ".".concat(prefix);
15
- return [_defineProperty(_defineProperty({}, prefixCls, {
15
+ return [_defineProperty({}, prefixCls, _defineProperty({
16
16
  '&.refactor-disabled .refactor-tree-select-extra ': {
17
17
  color: token.colorTextDisabled,
18
18
  background: token.colorBgContainerDisabled
@@ -22,13 +22,15 @@ var RefactorTreeSelectStyleFunc = function RefactorTreeSelectStyleFunc(prefix) {
22
22
  height: token.controlHeight,
23
23
  padding: "1px 22px 1px ".concat(token.paddingXS + 3, "px")
24
24
  }
25
- }), '.tree-select-viewonly-list', {
26
- border: "1px solid ".concat(new TinyColor(token.colorSplit).setAlpha(0.6).toRgbString()),
27
- borderRadius: token.borderRadisuSM,
25
+ }, '.tree-select-viewonly-list', {
26
+ border: "1px solid ".concat(token.colorBorder),
27
+ borderRadius: token.borderRadius,
28
28
  padding: "".concat(token.paddingXS, "px ").concat(token.paddingSM, "px"),
29
29
  '& .toggle-icon': {
30
30
  fontSize: token.fontSizeSM,
31
31
  color: token.colorTextSecondary,
32
+ borderBottomLeftRadius: token.borderRadius,
33
+ borderBottomRightRadius: token.borderRadius,
32
34
  // backgroundImage: `-webkit-gradient(linear, left top, left bottom, from(fade(@component-background, 0)), to(@component-background))`,
33
35
  // backgroundImage: `-webkit-linear-gradient(top, fade(@component-background, 0), @component-background)`,
34
36
  backgroundImage: "linear-gradient(-180deg, ".concat(new TinyColor(token.colorBgContainer).setAlpha(0.).toRgbString(), ", ").concat(token.colorBgContainer, ")"),
@@ -36,7 +38,7 @@ var RefactorTreeSelectStyleFunc = function RefactorTreeSelectStyleFunc(prefix) {
36
38
  color: token.colorPrimary
37
39
  }
38
40
  }
39
- })];
41
+ }))];
40
42
  }, prepareComponentToken // 当前组件扩展的变量
41
43
  );
42
44
  };
@@ -1,5 +1,5 @@
1
1
  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); }
2
- var _excluded = ["treeData", "rootName", "rootKey", "emptyDescription", "optionName", "searchOptionName", "defaultSelectedKeys", "nodeExtra", "selectable", "nodeControl", "limitKey", "checkedKeys", "checkStrictly", "onSelect", "onCheck", "titleRender", "disabledFields", "showSearch", "searchText", "searchConfig", "searchTrigger", "searchAuto", "children", "footer", "wrapperStyle", "wrapperClassname"];
2
+ var _excluded = ["treeData", "rootName", "rootKey", "emptyDescription", "optionName", "searchOptionName", "defaultSelectedKeys", "nodeExtra", "selectable", "nodeControl", "limitKey", "checkedKeys", "checkStrictly", "onSelect", "onCheck", "titleRender", "disabledFields", "showSearch", "searchText", "searchConfig", "searchTrigger", "searchAuto", "searchExtra", "children", "footer", "wrapperStyle", "wrapperClassname", "fullHeight"];
3
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
4
  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; }
5
5
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -71,10 +71,12 @@ var RefactorTree = function RefactorTree(props) {
71
71
  searchTrigger = _ConcatTreeProps$sear === void 0 ? 'search' : _ConcatTreeProps$sear,
72
72
  _ConcatTreeProps$sear2 = ConcatTreeProps.searchAuto,
73
73
  searchAuto = _ConcatTreeProps$sear2 === void 0 ? true : _ConcatTreeProps$sear2,
74
+ searchExtra = ConcatTreeProps.searchExtra,
74
75
  children = ConcatTreeProps.children,
75
76
  footer = ConcatTreeProps.footer,
76
77
  wrapperStyle = ConcatTreeProps.wrapperStyle,
77
78
  wrapperClassname = ConcatTreeProps.wrapperClassname,
79
+ fullHeight = ConcatTreeProps.fullHeight,
78
80
  otherProps = _objectWithoutProperties(ConcatTreeProps, _excluded);
79
81
  // const { title, value, children, disabled } = { value: 'value', title: 'title', children: 'children', disabled: 'disabled', ...optionName }
80
82
  var _useState = useState(''),
@@ -90,7 +92,7 @@ var RefactorTree = function RefactorTree(props) {
90
92
  var afterTransData = transDataParam(treeData, optionName); // 通过转换后的数据
91
93
  var resultData;
92
94
  // 如果有配置根节点,则添加 一个根节点数据
93
- resultData = rootName ? [_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, optionName.title || 'title', rootName), optionName.value || 'value', rootKey || '0'), optionName.key || 'key', rootKey || '0'), 'children', afterTransData)] : afterTransData;
95
+ resultData = rootName ? [_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, optionName.title || 'title', rootName), optionName.value || 'value', rootKey || '0'), optionName.key || 'key', rootKey || '0'), optionName.key || 'children', afterTransData)] : afterTransData;
94
96
  // 有配置limitKey指定限制同级节点时,添加判断节点选择限制(在父子节点不相关联条件下使用checkStrictly=true)
95
97
  if (checkStrictly && limitKey && checkedKeys) {
96
98
  if (Array.isArray(checkedKeys) && checkedKeys.length > 0 || checkedKeys && Array.isArray(checkedKeys.checked) && checkedKeys.checked.length > 0) {
@@ -228,18 +230,21 @@ var RefactorTree = function RefactorTree(props) {
228
230
  }
229
231
  };
230
232
  return wrapSSR( /*#__PURE__*/React.createElement("div", {
231
- className: classNames(componentName, wrapperClassname),
233
+ className: classNames(componentName, wrapperClassname, fullHeight ? 'spec-standard-refactor-tree-fullheight' : '', hashId),
232
234
  style: wrapperStyle
233
- }, children, showSearch && /*#__PURE__*/React.createElement(Search, _extends({
234
- style: {
235
- marginBottom: 8
236
- },
235
+ }, children, showSearch && /*#__PURE__*/React.createElement("div", {
236
+ className: 'spec-standard-refactor-tree-searchbar'
237
+ }, /*#__PURE__*/React.createElement(Search, _extends({
237
238
  allowClear: true,
238
239
  enterButton: searchTrigger === "search" ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SearchOutlined, null), " ", searchText || (lang === null || lang === void 0 ? void 0 : lang['filter.submit']) || '查询') : false,
239
240
  placeholder: (lang === null || lang === void 0 ? void 0 : lang['field.input.placeholder']) || '请输入'
240
241
  }, searchConfig, {
241
242
  onSearch: onRefactorSearch,
242
243
  onChange: onRefactorChange
243
- })), RenderTree(), footer));
244
+ })), searchExtra && /*#__PURE__*/React.createElement("div", {
245
+ className: 'spec-standard-refactor-tree-search-extra'
246
+ }, searchExtra)), RenderTree(), footer && /*#__PURE__*/React.createElement("div", {
247
+ className: 'spec-standard-refactor-tree-footer'
248
+ }, footer)));
244
249
  };
245
250
  export default RefactorTree;
@@ -1,8 +1,11 @@
1
1
  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); }
2
+ 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; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
4
6
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
7
  import { createStyleHook } from "../../theme/utils/genStyleHook";
8
+ import { scrollBar } from "../../theme/index";
6
9
  var RefactorTreeStyleFunc = function RefactorTreeStyleFunc(prefix) {
7
10
  var prepareComponentToken = function prepareComponentToken(token) {
8
11
  return {
@@ -11,7 +14,32 @@ var RefactorTreeStyleFunc = function RefactorTreeStyleFunc(prefix) {
11
14
  };
12
15
  return createStyleHook(prefix, function (token) {
13
16
  var prefixCls = ".".concat(prefix);
14
- return [_defineProperty({}, prefixCls, {})];
17
+ return [_defineProperty({}, prefixCls, {
18
+ '&.spec-standard-refactor-tree-fullheight': {
19
+ height: '100%',
20
+ display: 'flex',
21
+ flexDirection: 'column',
22
+ overflow: 'hidden',
23
+ '.ant-tree': _objectSpread({
24
+ flex: 1,
25
+ height: '100%',
26
+ overflow: 'auto',
27
+ padding: '0'
28
+ }, scrollBar(token))
29
+ },
30
+ '.spec-standard-refactor-tree-searchbar': {
31
+ // backgroundColor: '#f0f'
32
+ marginBottom: "".concat(token.margin, "px"),
33
+ display: 'flex',
34
+ alignItems: 'center',
35
+ '.ant-input-search': {
36
+ flex: 1
37
+ }
38
+ },
39
+ '.ant-tree + .spec-standard-refactor-tree-footer': {
40
+ marginTop: "".concat(token.margin, "px")
41
+ }
42
+ })];
15
43
  }, prepareComponentToken // 当前组件扩展的变量
16
44
  );
17
45
  };
@@ -5,15 +5,16 @@ interface optionNameProps {
5
5
  children?: string;
6
6
  disabled?: string;
7
7
  selectable?: string;
8
+ label?: string;
8
9
  }
9
10
  /**
10
11
  * transDataParam 根据指定选项字段名重组数据
11
12
  *
12
13
  * @params {array} array 树数据集合
13
- * @params {object} optionName 选项字段值
14
+ * @params {object} optionName 选项字段值(tree-select的标题使用的是label字段)
14
15
  *
15
16
  * */
16
- export declare function transDataParam(array: any[], optionName?: optionNameProps): any[] | null;
17
+ export declare function transDataParam(array: any[], optionName?: optionNameProps, extra?: any): any[];
17
18
  /**
18
19
  * 根据限制字段limitKey进行重组数据
19
20
  *
@@ -13,12 +13,12 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
13
13
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
14
  /* eslint-disable */
15
15
  // import * as React from 'react';
16
-
16
+ import { getNodePaths, getParentNodes } from "../utils/getParentNodes";
17
17
  /**
18
18
  * transDataParam 根据指定选项字段名重组数据
19
19
  *
20
20
  * @params {array} array 树数据集合
21
- * @params {object} optionName 选项字段值
21
+ * @params {object} optionName 选项字段值(tree-select的标题使用的是label字段)
22
22
  *
23
23
  * */
24
24
  export function transDataParam(array) {
@@ -26,25 +26,67 @@ export function transDataParam(array) {
26
26
  key: 'key',
27
27
  value: 'key',
28
28
  title: 'title',
29
+ label: 'label',
29
30
  children: 'children',
30
31
  disabled: 'disabled',
31
32
  selectable: 'selectable'
32
33
  };
34
+ var extra = arguments.length > 2 ? arguments[2] : undefined;
33
35
  var trans = function trans(list) {
34
- if (!list) return null;
36
+ if (!list) return [];
35
37
  return list.map(function (item) {
36
38
  if (item.hasOwnProperty(optionName.disabled || 'disabled')) {
37
- item.disabled = item[optionName.disabled || 'disabled'];
39
+ item[optionName.disabled || 'disabled'] = item[optionName.disabled || 'disabled'];
38
40
  }
39
41
  if (item.hasOwnProperty(optionName.selectable || 'selectable')) {
40
- item.selectable = item[optionName.selectable || 'selectable'];
42
+ item[optionName.selectable || 'selectable'] = item[optionName.selectable || 'selectable'];
41
43
  }
42
44
  if (item.hasOwnProperty(optionName.children || 'children')) {
43
- item.children = item[optionName.children || 'children'] ? trans(item[optionName.children || 'children']) : [];
45
+ // item.children = item[optionName.children || 'children'] ? trans(item[optionName.children || 'children']) : []
46
+ item[optionName.children || 'children'] = item[optionName.children || 'children'] ? trans(item[optionName.children || 'children']) : [];
47
+ }
48
+ var newNodeInfo = getParentNodes(array, item[optionName.value || optionName.key || 'key'], {
49
+ childrenParam: (optionName === null || optionName === void 0 ? void 0 : optionName.children) || 'children',
50
+ keyParam: optionName.value || optionName.key || 'key'
51
+ });
52
+ var pathNodes = getNodePaths(array, item[optionName.value || optionName.key || 'key'], {
53
+ childrenParam: (optionName === null || optionName === void 0 ? void 0 : optionName.children) || 'children',
54
+ keyParam: optionName.value || optionName.key || 'key'
55
+ }, {});
56
+
57
+ /// disabledFields:指定禁用节点
58
+ var resetByDisabledFields = function resetByDisabledFields(initItem) {
59
+ var oldItem = _objectSpread({}, initItem);
60
+ var nodeItem = Object.assign({}, (_objectDestructuringEmpty(oldItem), oldItem));
61
+ Object.keys(nodeItem).forEach(function (itemKeyName) {
62
+ var isMatch = extra.disabledFields.find(function (fItem) {
63
+ return fItem.key === itemKeyName;
64
+ });
65
+ if (isMatch) {
66
+ var _isMatch$value$split;
67
+ // 确认是否匹配数据,进行设置 disabled
68
+ if ((_isMatch$value$split = isMatch.value.split(',')) !== null && _isMatch$value$split !== void 0 && _isMatch$value$split.includes(nodeItem[itemKeyName])) {
69
+ nodeItem[optionName.disabled || 'disabled'] = true;
70
+ } else if (nodeItem.hasOwnProperty(optionName.disabled || 'disabled')) {
71
+ nodeItem[optionName.disabled || 'disabled'] = nodeItem[optionName.disabled || 'disabled'];
72
+ }
73
+ }
74
+ });
75
+ return nodeItem;
76
+ };
77
+ if (extra !== null && extra !== void 0 && extra.disabledFields && Array.isArray(extra === null || extra === void 0 ? void 0 : extra.disabledFields)) {
78
+ item = resetByDisabledFields(item);
44
79
  }
45
80
  return _objectSpread(_objectSpread({}, item), {}, {
46
81
  key: item[optionName.value || optionName.key || 'key'],
47
- title: item[optionName.title || 'title']
82
+ title: item[optionName.title || optionName.label || 'label' || 'title'],
83
+ label: item[optionName.title || optionName.label || 'label' || 'title'],
84
+ treeFullLevelNamePath: pathNodes,
85
+ treeFullLevelName: pathNodes.map(function (item) {
86
+ return item[optionName.title || optionName.label || 'label' || 'title'];
87
+ }).join((extra === null || extra === void 0 ? void 0 : extra.separator) || '/'),
88
+ treeParentKeys: newNodeInfo.parentKeys.reverse(),
89
+ treeParentNodes: newNodeInfo.nodeParent.reverse()
48
90
  // children: trans(item[treeOptionName.children || 'children']),
49
91
  // disabled: item[treeOptionName.disabled || 'disabled'],
50
92
  // selectable: item[treeOptionName.selectable || 'selectable'],
@@ -146,9 +188,9 @@ export function resetDataWithDisabled(list, optionName, disabledFields) {
146
188
  return fItem.key === itemKeyName;
147
189
  });
148
190
  if (isMatch) {
149
- var _isMatch$value$split;
191
+ var _isMatch$value$split2;
150
192
  // 确认是否匹配数据,进行设置 disabled
151
- if ((_isMatch$value$split = isMatch.value.split(',')) !== null && _isMatch$value$split !== void 0 && _isMatch$value$split.includes(item[itemKeyName])) {
193
+ if ((_isMatch$value$split2 = isMatch.value.split(',')) !== null && _isMatch$value$split2 !== void 0 && _isMatch$value$split2.includes(item[itemKeyName])) {
152
194
  item.disabled = true;
153
195
  } else if (item.hasOwnProperty(optionName.disabled || 'disabled')) {
154
196
  item.disabled = item[optionName.disabled || 'disabled'];
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { titleContentType } from '../StandardTitle';
3
+ export interface SideCardType {
4
+ children?: React.ReactNode;
5
+ footer?: React.ReactNode;
6
+ title?: titleContentType;
7
+ tabs?: any;
8
+ style?: any;
9
+ className?: string;
10
+ titleMark?: 'ring' | 'bar';
11
+ titleExtra?: React.ReactNode;
12
+ [k: string]: any;
13
+ }
14
+ declare const SideCard: React.ForwardRefExoticComponent<Omit<SideCardType, "ref"> & React.RefAttributes<unknown>>;
15
+ export default SideCard;