@teamix/pro 1.3.11 → 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 (47) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +1380 -1086
  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 +94 -174
  8. package/es/form/ProForm/index.d.ts +2 -3
  9. package/es/form/ProForm/index.js +78 -29
  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 +5 -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/index.js +5 -3
  20. package/es/table/utils/pureColumnRender.d.ts +9 -0
  21. package/es/table/utils/pureColumnRender.js +201 -0
  22. package/es/table/utils/pureGenProColumnToColumn.d.ts +7 -0
  23. package/es/table/utils/pureGenProColumnToColumn.js +36 -0
  24. package/es/timeline/ProTimeLineItem/index.js +8 -5
  25. package/es/timeline/typing.d.ts +5 -0
  26. package/lib/actions/index.js +40 -4
  27. package/lib/form/Filter/LightFilter.js +7 -6
  28. package/lib/form/Filter/index.js +93 -173
  29. package/lib/form/ProForm/index.d.ts +2 -3
  30. package/lib/form/ProForm/index.js +82 -26
  31. package/lib/form/ProForm/index.scss +7 -0
  32. package/lib/form/ProForm/useFieldSchema.d.ts +7 -0
  33. package/lib/form/ProForm/useFieldSchema.js +97 -0
  34. package/lib/form/SchemaForm/index.js +2 -45
  35. package/lib/form/SchemaForm/initializeSelectTable.js +85 -6
  36. package/lib/form/typing.d.ts +5 -1
  37. package/lib/index.d.ts +1 -1
  38. package/lib/index.js +1 -1
  39. package/lib/table/components/ToolBar/Fullscreen.d.ts +1 -1
  40. package/lib/table/index.js +5 -3
  41. package/lib/table/utils/pureColumnRender.d.ts +9 -0
  42. package/lib/table/utils/pureColumnRender.js +215 -0
  43. package/lib/table/utils/pureGenProColumnToColumn.d.ts +7 -0
  44. package/lib/table/utils/pureGenProColumnToColumn.js +43 -0
  45. package/lib/timeline/ProTimeLineItem/index.js +8 -5
  46. package/lib/timeline/typing.d.ts +5 -0
  47. package/package.json +1 -1
@@ -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", "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,
@@ -66,6 +106,7 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
66
106
  wrapperCol = _ref.wrapperCol,
67
107
  breakpoints = _ref.breakpoints,
68
108
  onChange = _ref.onChange,
109
+ onChangeType = _ref.onChangeType,
69
110
  onSubmit = _ref.onSubmit,
70
111
  onSubmitFailed = _ref.onSubmitFailed,
71
112
  onInitialComplete = _ref.onInitialComplete,
@@ -92,7 +133,7 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
92
133
  }); // context需要实名不能解构
93
134
 
94
135
 
95
- var mergedComponents = _objectSpread(_objectSpread({}, globalComponents), components);
136
+ var mergedComponents = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, globalComponents), components), formilyComponents), _ProField.default);
96
137
 
97
138
  var onAutoSubmit = (0, _useAutoSubmit.default)(onSubmit); // todo 需要formily支持断点下的属性更新
98
139
 
@@ -112,47 +153,62 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
112
153
  labelCol: (0, _utils2.mergeArrayValue)([24], labelCol),
113
154
  wrapperCol: (0, _utils2.mergeArrayValue)([24], wrapperCol)
114
155
  };
115
- }, [breakpoints, layout, labelAlign, wrapperAlign, labelCol, wrapperCol]); // 添加onChange
116
-
117
- (0, _react.useEffect)(function () {
118
- form.removeEffects('onFieldValueChange');
119
- form.addEffects('onFieldValueChange', function () {
120
- (0, _core.onFieldValueChange)('*', function (field, form) {
121
- var _field$props;
122
-
123
- onChange && onChange((0, _reactive.toJS)(form.values), (0, _reactive.toJS)(field.value), (_field$props = field.props) === null || _field$props === void 0 ? void 0 : _field$props.name);
124
- });
125
- });
126
- }, [form, onChange]); // 配置表单默认值
127
-
128
- (0, _react.useEffect)(function () {
156
+ }, [breakpoints, layout, labelAlign, wrapperAlign, labelCol, wrapperCol]);
157
+ var schema = (0, _useFieldSchema.default)(otherProps);
158
+ (0, _react.useMemo)(function () {
159
+ // 配置表单默认值
129
160
  if (initialValues) {
130
161
  form.setInitialValues(initialValues);
131
- onInitialComplete === null || onInitialComplete === void 0 ? void 0 : onInitialComplete(form);
132
162
  } else if (initialRequest) {
133
163
  (0, _useInitialRequest.default)(initialRequest).then(function (values) {
134
164
  form.setInitialValues(values);
135
165
  }).finally(function () {
136
166
  onInitialComplete === null || onInitialComplete === void 0 ? void 0 : onInitialComplete(form);
137
167
  });
138
- }
139
- }, []); // 配置国际化
168
+ } // 配置国际化
169
+
140
170
 
141
- (0, _react.useEffect)(function () {
142
171
  (0, _core.setValidateLanguage)((0, _utils.getLanguage)() || 'zh-cn');
143
- }, []);
172
+ }, []); // 添加 onChange 事件
173
+
174
+ (0, _react.useMemo)(function () {
175
+ if (onChangeType === 'form') {
176
+ // 使用 onFormValuesChange 无法监听具体变化字段
177
+ form.removeEffects('onChangeByFormValuesChange');
178
+ form.addEffects('onChangeByFormValuesChange', function () {
179
+ (0, _core.onFormValuesChange)(function (form) {
180
+ onChange === null || onChange === void 0 ? void 0 : onChange((0, _reactive.toJS)(form.values));
181
+ });
182
+ });
183
+ } else {
184
+ // 使用 onFieldValueChange 无法监听数组类型值的增删
185
+ form.removeEffects('onChangeByFieldValueChange');
186
+ form.addEffects('onChangeByFieldValueChange', function () {
187
+ (0, _core.onFieldValueChange)('*', function (field, form) {
188
+ var _field$props;
189
+
190
+ onChange === null || onChange === void 0 ? void 0 : onChange((0, _reactive.toJS)(form.values), (0, _reactive.toJS)(field.value), (_field$props = field.props) === null || _field$props === void 0 ? void 0 : _field$props.name);
191
+ });
192
+ });
193
+ }
194
+ }, [onChange]);
144
195
  return /*#__PURE__*/_react.default.createElement(_formily.Form, _objectSpread(_objectSpread(_objectSpread({
145
196
  className: (0, _classnames.default)(prefixCls, className)
146
197
  }, otherProps), getTeamixLayout), {}, {
147
198
  form: form,
148
199
  onAutoSubmit: onAutoSubmit,
149
200
  onAutoSubmitFailed: onSubmitFailed
150
- }), /*#__PURE__*/_react.default.createElement(_SchemaForm.default, {
201
+ }), schema ? /*#__PURE__*/_react.default.createElement(_SchemaForm.default, {
151
202
  schema: schema,
152
203
  scope: mergedScope,
153
204
  components: mergedComponents
154
- }), children);
205
+ }) : null, otherProps === null || otherProps === void 0 ? void 0 : otherProps.children);
155
206
  });
207
+
208
+ ProForm.Field = function () {
209
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
210
+ };
211
+
156
212
  ProForm.defaultProps = {
157
213
  colon: false,
158
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;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _utils = require("@teamix/utils");
9
+
10
+ var _excluded = ["id", "children", "reactions"],
11
+ _excluded2 = ["id", "children", "reactions"];
12
+
13
+ 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; }
14
+
15
+ 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; }
16
+
17
+ 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; }
18
+
19
+ 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; }
20
+
21
+ 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; }
22
+
23
+ /**
24
+ * 合并 Field 字段 props 和 ProForm schema 配置,生成完整的 Field 字段 schema
25
+ * @param field Field 字段
26
+ * @param extra 额外的 schema 配置(存在递归,可能是子级 schema )
27
+ * @param wholeExtra 完整的额外 schema 配置
28
+ * @returns schema 配置
29
+ */
30
+ var getMergedSchema = function getMergedSchema(field, extra, wholeExtra) {
31
+ return field.reduce(function (prev, curr, index) {
32
+ var _ref = curr.props || {},
33
+ id = _ref.id,
34
+ _ref$children = _ref.children,
35
+ children = _ref$children === void 0 ? [] : _ref$children,
36
+ _ref$reactions = _ref.reactions,
37
+ reactions = _ref$reactions === void 0 ? [] : _ref$reactions,
38
+ rest = _objectWithoutProperties(_ref, _excluded); // 获取字段额外的 schema 配置(From ProForm)
39
+
40
+
41
+ var extraFieldProps = extra[index] || {};
42
+
43
+ if (id !== extraFieldProps.id) {
44
+ // 索引不匹配,通过 id 查找获取
45
+ extraFieldProps = (0, _utils.getValueByValue)(extra, id, {
46
+ inputKey: 'id',
47
+ outputKey: '__whole__'
48
+ }) || (0, _utils.getValueByValue)(wholeExtra, id, {
49
+ inputKey: 'id',
50
+ outputKey: '__whole__'
51
+ });
52
+
53
+ if (extraFieldProps) {
54
+ console.warn("Field id \"".concat(id, "\" is not found by index in ProForm schema props, Please pay attention to the order."));
55
+ }
56
+ }
57
+
58
+ var _ref2 = extraFieldProps || {},
59
+ extraId = _ref2.id,
60
+ _ref2$children = _ref2.children,
61
+ extraChildren = _ref2$children === void 0 ? [] : _ref2$children,
62
+ _ref2$reactions = _ref2.reactions,
63
+ extraReactions = _ref2$reactions === void 0 ? [] : _ref2$reactions,
64
+ extraRest = _objectWithoutProperties(_ref2, _excluded2);
65
+
66
+ prev.push(_objectSpread(_objectSpread({}, (0, _utils.deepMerge)(rest, extraRest)), {}, {
67
+ reactions: [].concat(reactions, extraReactions),
68
+ children: (children === null || children === void 0 ? void 0 : children.length) ? getMergedSchema(children, extraChildren, wholeExtra) : []
69
+ }));
70
+ return prev;
71
+ }, []);
72
+ };
73
+ /**
74
+ * 获取 ProForm 的 schema 配置,通过合并 Field 字段 或者 schema 配置
75
+ * @param props ProForm 组件的 props
76
+ * @returns schema 配置
77
+ */
78
+
79
+
80
+ var _default = function _default(_ref3) {
81
+ var children = _ref3.children,
82
+ schema = _ref3.schema;
83
+ var field = [].concat(children !== null && children !== void 0 ? children : []).filter(function (item) {
84
+ var _item$type, _item$props;
85
+
86
+ return (item === null || item === void 0 ? void 0 : (_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.name) === '' && (item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.component);
87
+ }); // 如果 ProForm 的 children 含有 Field 字段,则优先使用 Field 渲染表单(仅合并 ProForm 的 schema 属性 )
88
+
89
+ if (field.length) {
90
+ return getMergedSchema(field, schema !== null && schema !== void 0 ? schema : [], schema !== null && schema !== void 0 ? schema : []);
91
+ } // 正常使用 ProForm 的 schema 渲染表单
92
+
93
+
94
+ return schema;
95
+ };
96
+
97
+ exports.default = _default;
@@ -11,20 +11,6 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _react2 = require("@formily/react");
13
13
 
14
- var _components = require("@alicloudfe/components");
15
-
16
- var _formily = require("@teamix/formily");
17
-
18
- var _ProField = _interopRequireDefault(require("../Components/ProField"));
19
-
20
- var _Editable = require("../Components/Editable");
21
-
22
- var _FormGroup = _interopRequireDefault(require("../Components/FormGroup"));
23
-
24
- var _LightFilter = _interopRequireDefault(require("../Components/LightFilter"));
25
-
26
- var _index = _interopRequireDefault(require("../Components/Text/index"));
27
-
28
14
  var _adapterType = _interopRequireDefault(require("./adapterType"));
29
15
 
30
16
  var _adapterComponent = _interopRequireDefault(require("./adapterComponent"));
@@ -109,39 +95,10 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
109
95
  var schema = _ref.schema,
110
96
  scope = _ref.scope,
111
97
  components = _ref.components;
112
- var schemaScopeRef = (0, _react.useRef)({}); // 创建 SchemaField,添加内置组件
98
+ var schemaScopeRef = (0, _react.useRef)({}); // 创建 SchemaField
113
99
 
114
100
  var SchemaField = (0, _react.useMemo)(function () {
115
- return (0, _react2.createSchemaField)({
116
- components: _objectSpread(_objectSpread({}, _ProField.default), {}, {
117
- FormLayout: _formily.FormLayout,
118
- FormItem: _formily.FormItem,
119
- ArrayCollapse: _formily.ArrayCollapse,
120
- ArrayCards: _formily.ArrayCards,
121
- ArrayItems: _formily.ArrayItems,
122
- ArrayTable: _formily.ArrayTable,
123
- Space: _formily.Space,
124
- FormGrid: _formily.FormGrid,
125
- FormTab: _formily.FormTab,
126
- FormCollapse: _formily.FormCollapse,
127
- FormStep: _formily.FormStep,
128
- Editable: _formily.Editable,
129
- FormDialogFooter: _formily.FormDialog.Footer,
130
- FormDrawerFooter: _formily.FormDrawer.Footer,
131
- FormButtonGroup: _formily.FormButtonGroup,
132
- Submit: _formily.Submit,
133
- Reset: _formily.Reset,
134
- EditableDialog: _Editable.EditableDialog,
135
- EditableDrawer: _Editable.EditableDrawer,
136
- EditablePopover: _Editable.EditablePopover,
137
- FormGroup: _FormGroup.default,
138
- Upload: _formily.Upload,
139
- SelectTable: _formily.SelectTable,
140
- Affix: _components.Affix,
141
- LightFilter: _LightFilter.default,
142
- Text: _index.default
143
- })
144
- });
101
+ return (0, _react2.createSchemaField)();
145
102
  }, []); // 格式化 schema
146
103
 
147
104
  var formatSchema = (0, _react.useCallback)(function (schema) {
@@ -4,7 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _excluded = ["name", "title", "children"];
7
+
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+
10
+ var _utils = require("@teamix/utils");
11
+
12
+ var _pureGenProColumnToColumn = _interopRequireDefault(require("../../table/utils/pureGenProColumnToColumn"));
13
+
14
+ var _excluded = ["name", "children", "props"];
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
17
 
9
18
  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; }
10
19
 
@@ -16,25 +25,95 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
16
25
 
17
26
  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
27
 
28
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
29
+
30
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
31
+
32
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
33
+
34
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
35
+
36
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
37
+
38
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
+
40
+ /**
41
+ * 将可被 ProForm 识别的上下文转换为仅被 ProTable 识别的上下文
42
+ * @param value
43
+ * @returns
44
+ */
45
+ var adapterContext = function adapterContext(value) {
46
+ if ((0, _utils.isStr)(value)) {
47
+ var contextReg = /^\{\{.*?\}\}$/;
48
+
49
+ if (contextReg.test(value)) {
50
+ return "\0".concat(value, "\0");
51
+ }
52
+
53
+ return value;
54
+ }
55
+
56
+ if ((0, _utils.isPlainObj)(value)) {
57
+ var temp = {};
58
+ Object.entries(value).forEach(function (_ref) {
59
+ var _ref2 = _slicedToArray(_ref, 2),
60
+ key = _ref2[0],
61
+ val = _ref2[1];
62
+
63
+ temp[key] = adapterContext(val);
64
+ });
65
+ return temp;
66
+ }
67
+
68
+ if ((0, _utils.isArr)(value)) {
69
+ return value.map(function (item) {
70
+ return adapterContext(item);
71
+ });
72
+ }
73
+
74
+ return value;
75
+ };
76
+
19
77
  var initializeTableColumn = function initializeTableColumn(item) {
20
78
  var name = item.name,
21
- title = item.title,
22
79
  children = item.children,
80
+ props = item.props,
23
81
  otherProps = _objectWithoutProperties(item, _excluded);
24
82
 
25
83
  return {
26
84
  name: name,
27
- title: title,
28
85
  component: 'SelectTable.Column',
29
- children: children,
30
- props: _objectSpread({}, otherProps)
86
+ children: children === null || children === void 0 ? void 0 : children.map(function (item) {
87
+ return initializeTableColumn(item);
88
+ }),
89
+ props: _objectSpread(_objectSpread({}, otherProps), props)
31
90
  };
32
91
  };
33
92
 
34
93
  var initialize = function initialize(item) {
94
+ var _props$columns;
95
+
35
96
  var _item$children = item.children,
36
- children = _item$children === void 0 ? [] : _item$children;
97
+ children = _item$children === void 0 ? [] : _item$children,
98
+ props = item.props;
99
+ var prefixCls = (0, _utils.usePrefixCls)('', {
100
+ prefix: 'teamix-pro-form-select-table-column-tree'
101
+ });
102
+ var columns = props === null || props === void 0 ? void 0 : (_props$columns = props.columns) === null || _props$columns === void 0 ? void 0 : _props$columns.map(function (value, index) {
103
+ var column = adapterContext(value);
104
+
105
+ if ((props === null || props === void 0 ? void 0 : props.isTree) && index === 0) {
106
+ return _objectSpread(_objectSpread({}, column), {}, {
107
+ className: (0, _classnames.default)(column.className, prefixCls)
108
+ });
109
+ }
110
+
111
+ return column;
112
+ });
37
113
  return _objectSpread(_objectSpread({}, item), {}, {
114
+ props: _objectSpread(_objectSpread({}, props), {}, {
115
+ columns: columns && (0, _pureGenProColumnToColumn.default)(columns)
116
+ }),
38
117
  children: children.map(function (item) {
39
118
  return initializeTableColumn(item);
40
119
  })
@@ -56,7 +56,7 @@ export interface ProFormSchemaItem {
56
56
  export declare type ProFormSchema = ProFormSchemaItem[];
57
57
  export interface ProFormProps extends IFormLayoutProps {
58
58
  form?: FormType | false;
59
- schema: ProFormSchema;
59
+ schema?: ProFormSchema;
60
60
  scope?: any;
61
61
  context?: any;
62
62
  components?: {
@@ -67,11 +67,15 @@ export interface ProFormProps extends IFormLayoutProps {
67
67
  initialRequest?: ProFormRequestConfig;
68
68
  previewTextPlaceholder?: ReactNode;
69
69
  validateFirst?: boolean;
70
+ onChangeType?: 'form';
70
71
  onChange?: (values: any, fieldValue?: any, fieldName?: any) => any;
71
72
  onSubmit?: ((values: any) => any) | CommonRequestConfig;
72
73
  onSubmitFailed?: (feedbacks: IFormFeedback[]) => void;
73
74
  onInitialComplete?: (form: FormType) => void;
74
75
  }
76
+ export declare type ComposedProForm = React.FC<ProFormProps> & {
77
+ Field?: React.FC<any>;
78
+ };
75
79
  export interface FilterProps extends ProFormProps {
76
80
  form: FormType;
77
81
  defaultFilterValue?: string;
package/lib/index.d.ts CHANGED
@@ -26,5 +26,5 @@ export * from './table';
26
26
  export * from './sidebar';
27
27
  export * from './utils';
28
28
  export * from './timeline';
29
- declare const version = "1.3.11";
29
+ declare const version = "1.3.14";
30
30
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, hooks, nocode, templates, utils, };
package/lib/index.js CHANGED
@@ -305,5 +305,5 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
305
305
  // 设置图标源
306
306
  _icon.default.setConfig(_utils.default.getTeamixIconConfig());
307
307
 
308
- var version = '1.3.11';
308
+ var version = '1.3.14';
309
309
  exports.version = version;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import './index.scss';
3
3
  import { ProTableActionType } from '../../typing';
4
4
  declare type ProTableFullScreenProps = {
5
- children: React.ReactNode;
5
+ children: (isFullScreen: boolean) => React.ReactNode | React.ReactNode;
6
6
  visible: boolean;
7
7
  actionRef: React.MutableRefObject<ProTableActionType | undefined>;
8
8
  };
@@ -796,12 +796,14 @@ var ProTable = function ProTable(props) {
796
796
  mode: 'inline',
797
797
  forceClear: true
798
798
  }, propsDataFilter), {}, {
799
- onInit: function onInit(values) {
799
+ onInit: (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit) || requestWhenMount ? function (values) {
800
+ var _propsDataFilter$onIn;
801
+
800
802
  // 表单初始化请求处理
801
- (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit(values));
803
+ propsDataFilter === null || propsDataFilter === void 0 ? void 0 : (_propsDataFilter$onIn = propsDataFilter.onInit) === null || _propsDataFilter$onIn === void 0 ? void 0 : _propsDataFilter$onIn.call(propsDataFilter, values);
802
804
  !fullscreenState && requestWhenMount && _request({}, false, values);
803
805
  return true;
804
- },
806
+ } : undefined,
805
807
  onFilter: function onFilter(values) {
806
808
  var _actionRef$current6, _actionRef$current6$c;
807
809
 
@@ -0,0 +1,9 @@
1
+ import { ProTableColumnProps } from '../typing';
2
+ /**
3
+ * 增加了 icon 的功能 render title
4
+ */
5
+ export declare const renderColumnsTitle: (item: ProTableColumnProps) => JSX.Element;
6
+ /**
7
+ * 负责单元格的具体渲染
8
+ */
9
+ export declare const renderCell: (value: any, item: ProTableColumnProps, index: number, record: any) => JSX.Element;