@teamix/pro 1.3.13 → 1.3.14

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 (45) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +632 -185
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/es/actions/index.js +40 -4
  6. package/es/form/Filter/LightFilter.js +7 -5
  7. package/es/form/Filter/index.js +2 -2
  8. package/es/form/ProForm/index.d.ts +2 -3
  9. package/es/form/ProForm/index.js +47 -8
  10. package/es/form/ProForm/index.scss +7 -0
  11. package/es/form/ProForm/useFieldSchema.d.ts +7 -0
  12. package/es/form/ProForm/useFieldSchema.js +88 -0
  13. package/es/form/SchemaForm/index.js +2 -38
  14. package/es/form/SchemaForm/initializeSelectTable.js +80 -6
  15. package/es/form/typing.d.ts +4 -1
  16. package/es/index.d.ts +1 -1
  17. package/es/index.js +1 -1
  18. package/es/table/components/ToolBar/Fullscreen.d.ts +1 -1
  19. package/es/table/utils/pureColumnRender.d.ts +9 -0
  20. package/es/table/utils/pureColumnRender.js +201 -0
  21. package/es/table/utils/pureGenProColumnToColumn.d.ts +7 -0
  22. package/es/table/utils/pureGenProColumnToColumn.js +36 -0
  23. package/es/timeline/ProTimeLineItem/index.js +8 -5
  24. package/es/timeline/typing.d.ts +5 -0
  25. package/lib/actions/index.js +40 -4
  26. package/lib/form/Filter/LightFilter.js +7 -6
  27. package/lib/form/Filter/index.js +2 -2
  28. package/lib/form/ProForm/index.d.ts +2 -3
  29. package/lib/form/ProForm/index.js +53 -7
  30. package/lib/form/ProForm/index.scss +7 -0
  31. package/lib/form/ProForm/useFieldSchema.d.ts +7 -0
  32. package/lib/form/ProForm/useFieldSchema.js +97 -0
  33. package/lib/form/SchemaForm/index.js +2 -45
  34. package/lib/form/SchemaForm/initializeSelectTable.js +85 -6
  35. package/lib/form/typing.d.ts +4 -1
  36. package/lib/index.d.ts +1 -1
  37. package/lib/index.js +1 -1
  38. package/lib/table/components/ToolBar/Fullscreen.d.ts +1 -1
  39. package/lib/table/utils/pureColumnRender.d.ts +9 -0
  40. package/lib/table/utils/pureColumnRender.js +215 -0
  41. package/lib/table/utils/pureGenProColumnToColumn.d.ts +7 -0
  42. package/lib/table/utils/pureGenProColumnToColumn.js +43 -0
  43. package/lib/timeline/ProTimeLineItem/index.js +8 -5
  44. package/lib/timeline/typing.d.ts +5 -0
  45. package/package.json +1 -1
@@ -0,0 +1,201 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+
3
+ 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."); }
4
+
5
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
+
7
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
8
+
9
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
+
11
+ 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."); }
12
+
13
+ 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); }
14
+
15
+ 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; }
16
+
17
+ 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; }
18
+
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+
21
+ 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; }
22
+
23
+ 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; }
24
+
25
+ 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; }
26
+
27
+ /**
28
+ * 渲染列的逻辑函数,用于非 ProTable 比如 selectTable
29
+ */
30
+ import React from 'react';
31
+ import { getTargetValue, LabelIconTip } from '@teamix/utils';
32
+ import ProField from '../../field';
33
+ /**
34
+ * 增加了 icon 的功能 render title
35
+ */
36
+
37
+ export var renderColumnsTitle = function renderColumnsTitle(item) {
38
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LabelIconTip, {
39
+ label: item.title,
40
+ tooltip: item.tooltip,
41
+ icon: item.tooltipIcon
42
+ }));
43
+ };
44
+ /**
45
+ * 负责单元格的具体渲染
46
+ */
47
+
48
+ export var renderCell = function renderCell(value, item, index, record) {
49
+ var _item$valueType = item.valueType,
50
+ valueType = _item$valueType === void 0 ? 'text' : _item$valueType,
51
+ render = item.render,
52
+ dataIndex = item.dataIndex,
53
+ format = item.format; // 如果没传 dataIndex,返回 null
54
+
55
+ if (!dataIndex) {
56
+ value = null;
57
+ } // 处理 dataIndex 为数组的情况
58
+
59
+
60
+ if (Array.isArray(dataIndex)) {
61
+ value = dataIndex.map(function (item) {
62
+ return getTargetValue("{{".concat(item, "}}"), _objectSpread(_objectSpread({}, record), {}, {
63
+ record: record
64
+ }));
65
+ });
66
+ }
67
+
68
+ var newRender = null;
69
+ var newDataSource = null;
70
+ var props = item.props; // 如果 render 直接传函数
71
+
72
+ if (typeof render === 'function') {
73
+ newRender = function newRender() {
74
+ return render === null || render === void 0 ? void 0 : render(value, index, record);
75
+ };
76
+ } else {
77
+ newRender = processBuriedPoint(processRenderFunction(render, value, index, record), record, value, index);
78
+
79
+ if (valueType === 'selectGroup') {
80
+ newRender = _objectSpread(_objectSpread({
81
+ maxShowNumber: 'auto',
82
+ foldText: 'more',
83
+ editOnClick: function editOnClick() {},
84
+ edit: true
85
+ }, newRender), {}, {
86
+ ellipsis: false
87
+ });
88
+ props = _objectSpread({
89
+ valueAlias: {
90
+ value: 'TagValue',
91
+ key: 'TagKey'
92
+ }
93
+ }, props);
94
+ }
95
+
96
+ if ((render === null || render === void 0 ? void 0 : render.type) === 'step') {
97
+ newRender = _objectSpread(_objectSpread({}, newRender), {}, {
98
+ ellipsis: false
99
+ });
100
+ }
101
+ } // dataSource可传函数
102
+
103
+
104
+ if (typeof item.dataSource === 'function') {
105
+ var _item$dataSource;
106
+
107
+ newDataSource = (_item$dataSource = item.dataSource) === null || _item$dataSource === void 0 ? void 0 : _item$dataSource.call(item, value, index, record);
108
+ } else {
109
+ var _item$dataSource2;
110
+
111
+ newDataSource = ((_item$dataSource2 = item.dataSource) !== null && _item$dataSource2 !== void 0 ? _item$dataSource2 : []).map(function (item) {
112
+ return Object.fromEntries(Object.entries(item).map(function (_ref) {
113
+ var _ref2 = _slicedToArray(_ref, 2),
114
+ k = _ref2[0],
115
+ v = _ref2[1];
116
+
117
+ return [k, getTargetValue(v, _objectSpread(_objectSpread({}, record), {}, {
118
+ record: record,
119
+ value: value,
120
+ index: index
121
+ }))];
122
+ }));
123
+ });
124
+ } // 渲染 ProField
125
+
126
+
127
+ return /*#__PURE__*/React.createElement(ProField, _objectSpread({
128
+ type: valueType || 'text',
129
+ value: value,
130
+ render: newRender,
131
+ dataSource: newDataSource,
132
+ format: format
133
+ }, props));
134
+ };
135
+ /**
136
+ * 处理 render 配置项是函数的情况
137
+ * @param render ProFieldRender
138
+ * @param value table cell value
139
+ * @param index table cell index
140
+ * @param record table cell record
141
+ * @returns
142
+ */
143
+
144
+ var processRenderFunction = function processRenderFunction() {
145
+ var render = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
146
+ var value = arguments.length > 1 ? arguments[1] : undefined;
147
+ var index = arguments.length > 2 ? arguments[2] : undefined;
148
+ var record = arguments.length > 3 ? arguments[3] : undefined;
149
+ // 当 ProField render 类型为 function 时。需要表格预先处理以塞入 record
150
+ var external = ['linkOnClick', 'link', 'value', 'renderEdit', 'descriptionRenderEdit', 'editPopConfirmProps', 'descriptionEditPopConfirmProps', 'editOnClick', 'descriptionEditOnClick', 'extra', 'prefixExtra'];
151
+ return Object.fromEntries(Object.entries(render).map(function (_ref3) {
152
+ var _ref4 = _slicedToArray(_ref3, 2),
153
+ k = _ref4[0],
154
+ v = _ref4[1];
155
+
156
+ if (typeof v === 'function') {
157
+ var _v;
158
+
159
+ if (external.includes(k)) {
160
+ return [k, function () {
161
+ for (var _len = arguments.length, others = new Array(_len), _key = 0; _key < _len; _key++) {
162
+ others[_key] = arguments[_key];
163
+ }
164
+
165
+ return v === null || v === void 0 ? void 0 : v.apply(void 0, [value, index, record].concat(others));
166
+ }];
167
+ }
168
+
169
+ return [k, (_v = v === null || v === void 0 ? void 0 : v(value, index, record)) !== null && _v !== void 0 ? _v : ''];
170
+ }
171
+
172
+ return [k, v];
173
+ }));
174
+ };
175
+ /**
176
+ * 处理 render 数据,取出 {{xxx}} 匹配值
177
+ * @param render ProFieldRender
178
+ * @param record table cell record
179
+ * @returns
180
+ */
181
+
182
+
183
+ var processBuriedPoint = function processBuriedPoint() {
184
+ var render = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
185
+ var record = arguments.length > 1 ? arguments[1] : undefined;
186
+ var value = arguments.length > 2 ? arguments[2] : undefined;
187
+ var index = arguments.length > 3 ? arguments[3] : undefined;
188
+ return Object.fromEntries([// 默认 ellipsis、descriptionEllipsis 为 true
189
+ // emptyText 默认为 '-'
190
+ ['ellipsis', true], ['descriptionEllipsis', true], ['emptyText', '-']].concat(_toConsumableArray(Object.entries(render).map(function (_ref5) {
191
+ var _ref6 = _slicedToArray(_ref5, 2),
192
+ k = _ref6[0],
193
+ v = _ref6[1];
194
+
195
+ return [k, getTargetValue(v, _objectSpread(_objectSpread({}, record), {}, {
196
+ record: record,
197
+ value: value,
198
+ index: index
199
+ }))];
200
+ }))));
201
+ };
@@ -0,0 +1,7 @@
1
+ import { ProTableColumnProps } from '../typing';
2
+ import { ColumnProps } from '@alicloudfe/components/types/table';
3
+ /**
4
+ * ProColumn => Column,去掉操作列,过滤器相关逻辑
5
+ * 用于非 ProTable 比如 selectTable
6
+ */
7
+ export default function genProColumnToColumn(columns: ProTableColumnProps[]): ColumnProps[];
@@ -0,0 +1,36 @@
1
+ var _excluded = ["filters", "dataIndex"];
2
+
3
+ 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; }
4
+
5
+ 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; }
6
+
7
+ 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; }
8
+
9
+ 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; }
10
+
11
+ 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; }
12
+
13
+ import { renderColumnsTitle, renderCell } from './pureColumnRender';
14
+ /**
15
+ * ProColumn => Column,去掉操作列,过滤器相关逻辑
16
+ * 用于非 ProTable 比如 selectTable
17
+ */
18
+
19
+ export default function genProColumnToColumn(columns) {
20
+ return columns.map(function (columnProps) {
21
+ var filters = columnProps.filters,
22
+ dataIndex = columnProps.dataIndex,
23
+ others = _objectWithoutProperties(columnProps, _excluded);
24
+
25
+ return _objectSpread(_objectSpread({
26
+ // 金钱样式默认右对齐
27
+ align: columnProps.valueType === 'money' ? 'right' : 'left'
28
+ }, others), {}, {
29
+ dataIndex: dataIndex === null || dataIndex === void 0 ? void 0 : dataIndex.toString(),
30
+ title: renderColumnsTitle(columnProps),
31
+ cell: function cell(value, index, record) {
32
+ return renderCell(value, columnProps, index, record);
33
+ }
34
+ });
35
+ });
36
+ }
@@ -1,4 +1,4 @@
1
- var _excluded = ["_comment", "_shape", "status", "image", "icon", "title", "subTitle", "timeLeft", "content", "animation", "discription", "tags", "collapsible", "defaultCollapsed", "collapsed", "onCollapse", "dotRender"];
1
+ var _excluded = ["_comment", "_shape", "status", "image", "icon", "title", "subTitle", "time", "timeLeft", "content", "animation", "discription", "tags", "collapsible", "defaultCollapsed", "collapsed", "onCollapse", "dotRender"];
2
2
 
3
3
  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; }
4
4
 
@@ -43,6 +43,7 @@ var ProTimeLineItem = function ProTimeLineItem(props) {
43
43
  icon = props.icon,
44
44
  title = props.title,
45
45
  subTitle = props.subTitle,
46
+ time = props.time,
46
47
  timeLeft = props.timeLeft,
47
48
  content = props.content,
48
49
  animation = props.animation,
@@ -54,8 +55,10 @@ var ProTimeLineItem = function ProTimeLineItem(props) {
54
55
  onCollapse = props.onCollapse,
55
56
  dotRender = props.dotRender,
56
57
  others = _objectWithoutProperties(props, _excluded);
57
- /** 内容去折叠相关 */
58
58
 
59
+ var timeRight = time !== null && time !== void 0 ? time : subTitle; // 兼容 subTitle
60
+
61
+ /** 内容去折叠相关 */
59
62
 
60
63
  var _useState = useState(defaultCollapsed !== undefined ? defaultCollapsed : false),
61
64
  _useState2 = _slicedToArray(_useState, 2),
@@ -165,9 +168,9 @@ var ProTimeLineItem = function ProTimeLineItem(props) {
165
168
  }))
166
169
  }, title), tags && /*#__PURE__*/React.createElement("div", {
167
170
  className: classnames(cls('wrapper-right-top-tag-info'))
168
- }, renderTag()), subTitle && /*#__PURE__*/React.createElement("div", {
171
+ }, renderTag()), timeRight && /*#__PURE__*/React.createElement("div", {
169
172
  className: classnames(cls('wrapper-right-top-subTitle-info'))
170
- }, formatTime(subTitle))), discription && /*#__PURE__*/React.createElement("div", {
173
+ }, formatTime(timeRight))), discription && /*#__PURE__*/React.createElement("div", {
171
174
  className: classnames(cls('wrapper-right-discribe-info'))
172
175
  }, discription), /*#__PURE__*/React.createElement("div", {
173
176
  className: classnames(cls('wrapper-right-content-info'))
@@ -177,7 +180,7 @@ var ProTimeLineItem = function ProTimeLineItem(props) {
177
180
  'wrapper-right-content-info-open': showContent
178
181
  }))
179
182
  }, content))));
180
- }, [_shape, timeLeft, image, title, tags, subTitle, discription, content, collapsible, collapsed, defaultCollapsed, onCollapseChanged]);
183
+ }, [_shape, timeLeft, image, title, tags, timeRight, discription, content, collapsible, collapsed, defaultCollapsed, onCollapseChanged]);
181
184
  /**
182
185
  * 重新渲染 timeline 节点
183
186
  * */
@@ -60,8 +60,13 @@ export declare type ProTimeLineItemProps = {
60
60
  dotRender?: (index?: number, status?: string) => ReactNode;
61
61
  /**
62
62
  * 节点副标题
63
+ * @deprecated 弃用,请使用 `time`
63
64
  */
64
65
  subTitle?: ReactNode;
66
+ /**
67
+ * 右侧时间
68
+ */
69
+ time?: ReactNode;
65
70
  /**
66
71
  * 节点对应描述
67
72
  */
@@ -231,8 +231,18 @@ var ProActionButton = function ProActionButton(props) {
231
231
  }, tooltipProps);
232
232
 
233
233
  if (tooltip || disabledTooltip) {
234
- var showToolTip = disabled ? disabledTooltip : tooltip;
235
- content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), showToolTip);
234
+ if (tooltip && !disabledTooltip) {
235
+ if (!disabled) {
236
+ content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), tooltip);
237
+ }
238
+ } else if (!tooltip && disabledTooltip) {
239
+ if (disabled) {
240
+ content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), disabledTooltip);
241
+ }
242
+ } else if (tooltip && disabledTooltip) {
243
+ var showToolTip = disabled ? disabledTooltip : tooltip;
244
+ content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), showToolTip);
245
+ }
236
246
  }
237
247
 
238
248
  return content;
@@ -248,7 +258,10 @@ var ProActionMenuButtonItem = function ProActionMenuButtonItem(props) {
248
258
  _onClick2 = action.onClick,
249
259
  children = action.children,
250
260
  icon = action.icon,
251
- disabled = action.disabled;
261
+ disabled = action.disabled,
262
+ tooltip = action.tooltip,
263
+ disabledTooltip = action.disabledTooltip,
264
+ tooltipProps = action.tooltipProps;
252
265
  var menuItemActionConfig = Object.assign({}, config, {
253
266
  trigger: 'onClick'
254
267
  });
@@ -262,9 +275,32 @@ var ProActionMenuButtonItem = function ProActionMenuButtonItem(props) {
262
275
  return _onClick2(e, context);
263
276
  }
264
277
  }) : _objectSpread({}, menuItemProps);
278
+ var content = buttonContent(children, icon, undefined, context);
279
+
280
+ var baseToolTipProps = _objectSpread({
281
+ triggerType: 'hover',
282
+ align: 't',
283
+ trigger: content
284
+ }, tooltipProps);
285
+
286
+ if (tooltip || disabledTooltip) {
287
+ if (tooltip && !disabledTooltip) {
288
+ if (!disabled) {
289
+ content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), tooltip);
290
+ }
291
+ } else if (!tooltip && disabledTooltip) {
292
+ if (disabled) {
293
+ content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), disabledTooltip);
294
+ }
295
+ } else if (tooltip && disabledTooltip) {
296
+ var showToolTip = disabled ? disabledTooltip : tooltip;
297
+ content = /*#__PURE__*/_react.default.createElement(_components.Balloon.Tooltip, _objectSpread({}, baseToolTipProps), showToolTip);
298
+ }
299
+ }
300
+
265
301
  return /*#__PURE__*/_react.default.createElement("div", _objectSpread({
266
302
  className: (0, _classnames.default)('teamix-pro-action-menu-item', "".concat((0, _utils.usePrefixCls)(), "menu-item"), _defineProperty({}, "".concat((0, _utils.usePrefixCls)(), "disabled"), disabled))
267
- }, buttonProps), buttonContent(children, icon, undefined, context));
303
+ }, buttonProps), content);
268
304
  };
269
305
 
270
306
  function renderCommonActionButtonMenuItem(action, key, context) {
@@ -35,13 +35,9 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
35
35
 
36
36
  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; }
37
37
 
38
- var lightFilterObs = (0, _reactive.observable)({
39
- onFilter: function onFilter() {}
40
- });
41
38
  /**
42
39
  * 轻量筛选
43
40
  */
44
-
45
41
  var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
46
42
  var _schema$;
47
43
 
@@ -54,10 +50,15 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
54
50
  activeFilterValueRef = props.activeFilterValueRef,
55
51
  otherProps = _objectWithoutProperties(props, _excluded);
56
52
 
57
- var filterValue = (0, _react.useRef)(defaultFilterValue || ((_schema$ = schema[0]) === null || _schema$ === void 0 ? void 0 : _schema$.name));
53
+ var filterValue = (0, _react.useRef)(defaultFilterValue || (schema === null || schema === void 0 ? void 0 : (_schema$ = schema[0]) === null || _schema$ === void 0 ? void 0 : _schema$.name));
58
54
  var prefixCls = (0, _utils.usePrefixCls)('', {
59
55
  prefix: 'teamix-pro-form-query-filter-light'
60
56
  });
57
+ var lightFilterObs = (0, _react.useMemo)(function () {
58
+ return (0, _reactive.observable)({
59
+ onFilter: function onFilter() {}
60
+ });
61
+ }, []);
61
62
  (0, _react.useEffect)(function () {
62
63
  if (activeFilterValueRef) {
63
64
  activeFilterValueRef.current = filterValue.current;
@@ -108,7 +109,7 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
108
109
  }, [schema, onFilterChange, defaultFilterValue]);
109
110
  (0, _react.useEffect)(function () {
110
111
  lightFilterObs.onFilter = onFilter;
111
- }, [onChange]);
112
+ }, [onFilter]);
112
113
  return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread({}, otherProps), {}, {
113
114
  scope: _objectSpread(_objectSpread({}, otherProps === null || otherProps === void 0 ? void 0 : otherProps.scope), {}, {
114
115
  lightFilterObs: lightFilterObs
@@ -349,7 +349,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
349
349
  debounceFun(onSimpleFilter, values);
350
350
  }
351
351
  }
352
- }, [onChange]); // 轻量搜索Filter
352
+ }, [onChange, onSimpleFilter]); // 轻量搜索Filter
353
353
 
354
354
  var onLightFilter = (0, _react.useCallback)(function (values) {
355
355
  var _Object$keys;
@@ -374,7 +374,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
374
374
  debounceFun(onLightFilter, values);
375
375
  }
376
376
  }
377
- }, [onChange]); // 高级搜索Filter
377
+ }, [onChange, onLightFilter]); // 高级搜索Filter
378
378
 
379
379
  var onAdvancedFilter = (0, _react.useCallback)(function (values) {
380
380
  setCurrentForm('advanced');
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import type { ProFormProps } from '../typing';
1
+ import type { ComposedProForm } from '../typing';
3
2
  import './index.scss';
4
- declare const ProForm: React.FC<ProFormProps>;
3
+ declare const ProForm: ComposedProForm;
5
4
  export default ProForm;
@@ -11,13 +11,25 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
+ var _utils = require("@teamix/utils");
15
+
14
16
  var _core = require("@formily/core");
15
17
 
16
18
  var _reactive = require("@formily/reactive");
17
19
 
18
20
  var _formily = require("@teamix/formily");
19
21
 
20
- var _utils = require("@teamix/utils");
22
+ var _components = require("@alicloudfe/components");
23
+
24
+ var _ProField = _interopRequireDefault(require("../Components/ProField"));
25
+
26
+ var _Editable = require("../Components/Editable");
27
+
28
+ var _FormGroup = _interopRequireDefault(require("../Components/FormGroup"));
29
+
30
+ var _LightFilter = _interopRequireDefault(require("../Components/LightFilter"));
31
+
32
+ var _index = _interopRequireDefault(require("../Components/Text/index"));
21
33
 
22
34
  var _SchemaForm = _interopRequireDefault(require("../SchemaForm"));
23
35
 
@@ -27,11 +39,13 @@ var _useAutoSubmit = _interopRequireDefault(require("./useAutoSubmit"));
27
39
 
28
40
  var _useInitialRequest = _interopRequireDefault(require("./useInitialRequest"));
29
41
 
42
+ var _useFieldSchema = _interopRequireDefault(require("./useFieldSchema"));
43
+
30
44
  var _validate = _interopRequireDefault(require("../locales/validate"));
31
45
 
32
46
  require("./index.scss");
33
47
 
34
- var _excluded = ["form", "initialValues", "initialRequest", "schema", "scope", "context", "components", "children", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol", "breakpoints", "onChange", "onChangeType", "onSubmit", "onSubmitFailed", "onInitialComplete", "className", "validateFirst"];
48
+ var _excluded = ["form", "initialValues", "initialRequest", "scope", "context", "components", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol", "breakpoints", "onChange", "onChangeType", "onSubmit", "onSubmitFailed", "onInitialComplete", "className", "validateFirst"];
35
49
 
36
50
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
51
 
@@ -50,15 +64,41 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
50
64
  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; }
51
65
 
52
66
  (0, _core.registerValidateLocale)(_validate.default);
67
+ var formilyComponents = {
68
+ FormLayout: _formily.FormLayout,
69
+ FormItem: _formily.FormItem,
70
+ ArrayCollapse: _formily.ArrayCollapse,
71
+ ArrayCards: _formily.ArrayCards,
72
+ ArrayItems: _formily.ArrayItems,
73
+ ArrayTable: _formily.ArrayTable,
74
+ Space: _formily.Space,
75
+ FormGrid: _formily.FormGrid,
76
+ FormTab: _formily.FormTab,
77
+ FormCollapse: _formily.FormCollapse,
78
+ FormStep: _formily.FormStep,
79
+ Editable: _formily.Editable,
80
+ FormDialogFooter: _formily.FormDialog.Footer,
81
+ FormDrawerFooter: _formily.FormDrawer.Footer,
82
+ FormButtonGroup: _formily.FormButtonGroup,
83
+ Submit: _formily.Submit,
84
+ Reset: _formily.Reset,
85
+ EditableDialog: _Editable.EditableDialog,
86
+ EditableDrawer: _Editable.EditableDrawer,
87
+ EditablePopover: _Editable.EditablePopover,
88
+ FormGroup: _FormGroup.default,
89
+ Upload: _formily.Upload,
90
+ SelectTable: _formily.SelectTable,
91
+ Affix: _components.Affix,
92
+ LightFilter: _LightFilter.default,
93
+ Text: _index.default
94
+ };
53
95
  var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
54
96
  var outerForm = _ref.form,
55
97
  initialValues = _ref.initialValues,
56
98
  initialRequest = _ref.initialRequest,
57
- schema = _ref.schema,
58
99
  scope = _ref.scope,
59
100
  context = _ref.context,
60
101
  components = _ref.components,
61
- children = _ref.children,
62
102
  layout = _ref.layout,
63
103
  labelAlign = _ref.labelAlign,
64
104
  wrapperAlign = _ref.wrapperAlign,
@@ -93,7 +133,7 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
93
133
  }); // context需要实名不能解构
94
134
 
95
135
 
96
- var mergedComponents = _objectSpread(_objectSpread({}, globalComponents), components);
136
+ var mergedComponents = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, globalComponents), components), formilyComponents), _ProField.default);
97
137
 
98
138
  var onAutoSubmit = (0, _useAutoSubmit.default)(onSubmit); // todo 需要formily支持断点下的属性更新
99
139
 
@@ -114,6 +154,7 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
114
154
  wrapperCol: (0, _utils2.mergeArrayValue)([24], wrapperCol)
115
155
  };
116
156
  }, [breakpoints, layout, labelAlign, wrapperAlign, labelCol, wrapperCol]);
157
+ var schema = (0, _useFieldSchema.default)(otherProps);
117
158
  (0, _react.useMemo)(function () {
118
159
  // 配置表单默认值
119
160
  if (initialValues) {
@@ -157,12 +198,17 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
157
198
  form: form,
158
199
  onAutoSubmit: onAutoSubmit,
159
200
  onAutoSubmitFailed: onSubmitFailed
160
- }), /*#__PURE__*/_react.default.createElement(_SchemaForm.default, {
201
+ }), schema ? /*#__PURE__*/_react.default.createElement(_SchemaForm.default, {
161
202
  schema: schema,
162
203
  scope: mergedScope,
163
204
  components: mergedComponents
164
- }), children);
205
+ }) : null, otherProps === null || otherProps === void 0 ? void 0 : otherProps.children);
165
206
  });
207
+
208
+ ProForm.Field = function () {
209
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
210
+ };
211
+
166
212
  ProForm.defaultProps = {
167
213
  colon: false,
168
214
  labelAlign: 'left',
@@ -317,6 +317,13 @@
317
317
  }
318
318
  }
319
319
 
320
+ // SelectTable
321
+ .#{$teamix-pro-form}-select-table-column-tree
322
+ > .#{$css-prefix}table-cell-wrapper {
323
+ display: flex;
324
+ align-items: center;
325
+ }
326
+
320
327
  /* hack todo remove */
321
328
  .#{$form-item-cls}-control-content-component {
322
329
  .#{$teamix-pro-field}-tooltip.#{$teamix-pro-field}-checkbox {
@@ -0,0 +1,7 @@
1
+ declare const _default: ({ children, schema }: any) => any;
2
+ /**
3
+ * 获取 ProForm 的 schema 配置,通过合并 Field 字段 或者 schema 配置
4
+ * @param props ProForm 组件的 props
5
+ * @returns schema 配置
6
+ */
7
+ export default _default;