@teamix/pro 1.2.15 → 1.2.19

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 (65) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +832 -320
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/es/actions/base.d.ts +2 -1
  6. package/es/actions/base.js +1 -1
  7. package/es/actions/danger-pop-confirm.d.ts +5 -0
  8. package/es/actions/danger-pop-confirm.js +10 -0
  9. package/es/actions/dialog.d.ts +1 -1
  10. package/es/actions/dialog.js +32 -31
  11. package/es/actions/index.d.ts +5 -0
  12. package/es/actions/index.js +38 -14
  13. package/es/actions/pop-confirm.d.ts +9 -0
  14. package/es/actions/pop-confirm.js +9 -0
  15. package/es/form/Components/LightFilter/componentMap.d.ts +2 -1
  16. package/es/form/Components/LightFilter/componentMap.js +2 -1
  17. package/es/form/Components/LightFilter/index.d.ts +1 -0
  18. package/es/form/Components/LightFilter/index.js +19 -14
  19. package/es/form/Components/LightFilter/index.scss +13 -3
  20. package/es/form/Filter/index.js +2 -2
  21. package/es/form/Filter/index2.js +157 -50
  22. package/es/form/Filter/index2.scss +3 -0
  23. package/es/form/ProForm/index.js +4 -2
  24. package/es/form/ProForm/useFieldRequest.js +1 -8
  25. package/es/form/SchemaForm/index.js +4 -2
  26. package/es/form/typing.d.ts +5 -0
  27. package/es/index.d.ts +1 -1
  28. package/es/index.js +1 -1
  29. package/es/nocode/configurators/ProTable.js +1 -0
  30. package/es/table/components/Filter/index.js +42 -16
  31. package/es/table/components/ToolBar/FilterColumnIcon.js +1 -1
  32. package/es/table/index.js +61 -13
  33. package/es/table/typing.d.ts +5 -0
  34. package/es/table/utils/columnRender.js +1 -1
  35. package/lib/actions/base.d.ts +2 -1
  36. package/lib/actions/base.js +1 -1
  37. package/lib/actions/danger-pop-confirm.d.ts +5 -0
  38. package/lib/actions/danger-pop-confirm.js +22 -0
  39. package/lib/actions/dialog.d.ts +1 -1
  40. package/lib/actions/dialog.js +33 -31
  41. package/lib/actions/index.d.ts +5 -0
  42. package/lib/actions/index.js +40 -14
  43. package/lib/actions/pop-confirm.d.ts +9 -0
  44. package/lib/actions/pop-confirm.js +23 -0
  45. package/lib/form/Components/LightFilter/componentMap.d.ts +2 -1
  46. package/lib/form/Components/LightFilter/componentMap.js +4 -3
  47. package/lib/form/Components/LightFilter/index.d.ts +1 -0
  48. package/lib/form/Components/LightFilter/index.js +18 -13
  49. package/lib/form/Components/LightFilter/index.scss +13 -3
  50. package/lib/form/Filter/index.js +2 -2
  51. package/lib/form/Filter/index2.js +157 -49
  52. package/lib/form/Filter/index2.scss +3 -0
  53. package/lib/form/ProForm/index.js +5 -2
  54. package/lib/form/ProForm/useFieldRequest.js +1 -9
  55. package/lib/form/SchemaForm/index.js +4 -2
  56. package/lib/form/typing.d.ts +5 -0
  57. package/lib/index.d.ts +1 -1
  58. package/lib/index.js +1 -1
  59. package/lib/nocode/configurators/ProTable.js +1 -0
  60. package/lib/table/components/Filter/index.js +42 -16
  61. package/lib/table/components/ToolBar/FilterColumnIcon.js +1 -1
  62. package/lib/table/index.js +61 -13
  63. package/lib/table/typing.d.ts +5 -0
  64. package/lib/table/utils/columnRender.js +1 -1
  65. package/package.json +2 -2
@@ -19,7 +19,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
20
  var _utils = require("@teamix/utils");
21
21
 
22
- var _componentMap = _interopRequireDefault(require("./componentMap"));
22
+ var _componentMap = require("./componentMap");
23
23
 
24
24
  require("./index.scss");
25
25
 
@@ -53,14 +53,12 @@ var useMain = function useMain(active) {
53
53
  var main = [];
54
54
  schema.mapProperties(function (schema, name) {
55
55
  // console.log(schema.required); // 添加 *
56
- console.log(schema);
57
-
58
56
  if (schema.name === active) {
59
57
  main.push({
60
58
  name: name,
61
59
  schema: _objectSpread(_objectSpread({}, schema), {}, {
62
60
  title: '',
63
- 'x-component': _componentMap.default[schema['x-component']] || schema['x-component']
61
+ 'x-component': _componentMap.componentMap[schema['x-component']] || schema['x-component']
64
62
  })
65
63
  });
66
64
  }
@@ -79,16 +77,21 @@ var useFilterItems = function useFilterItems() {
79
77
  });
80
78
  });
81
79
  return filterItems;
80
+ }; // 是否输入框类型的组件
81
+
82
+
83
+ var isInputCategory = function isInputCategory(currentSchema) {
84
+ var component = currentSchema === null || currentSchema === void 0 ? void 0 : currentSchema['x-component'];
85
+ return _componentMap.inputCategory.includes(component);
82
86
  };
83
87
 
84
88
  var LightFilter = (0, _react2.observer)(function (props) {
85
- var _filterItems$;
89
+ var _filterItems$, _main$;
86
90
 
87
- var field = (0, _react2.useField)();
88
- var schema = (0, _react2.useFieldSchema)();
89
91
  var filterItems = useFilterItems();
90
92
  var size = props.size,
91
93
  defaultFilterValue = props.defaultFilterValue,
94
+ onFilterChange = props.onFilterChange,
92
95
  filterProps = props.filterProps,
93
96
  buttonProps = props.buttonProps;
94
97
 
@@ -98,6 +101,7 @@ var LightFilter = (0, _react2.observer)(function (props) {
98
101
  setActive = _useState2[1];
99
102
 
100
103
  var main = useMain(active);
104
+ var currentSchema = (_main$ = main[0]) === null || _main$ === void 0 ? void 0 : _main$.schema;
101
105
  var defaultCls = (0, _utils.usePrefixCls)();
102
106
  var prefixCls = (0, _utils.usePrefixCls)('', {
103
107
  prefix: 'teamix-pro-form-light-filter'
@@ -108,20 +112,21 @@ var LightFilter = (0, _react2.observer)(function (props) {
108
112
  return /*#__PURE__*/_react.default.createElement(_react2.RecursionField, {
109
113
  key: key,
110
114
  name: name,
111
- schema: schema,
112
- filterProperties: function filterProperties(schema) {
113
- return true;
114
- }
115
+ schema: schema
115
116
  });
116
117
  });
118
+ var onSelectChange = (0, _react.useCallback)(function (value) {
119
+ setActive(value);
120
+ onFilterChange && onFilterChange(currentSchema);
121
+ }, [onFilterChange]);
117
122
  return /*#__PURE__*/_react.default.createElement("span", {
118
- className: (0, _classnames.default)(prefixCls, "".concat(defaultCls).concat(size))
123
+ className: (0, _classnames.default)(prefixCls, "".concat(defaultCls).concat(size), isInputCategory(currentSchema) ? "".concat(prefixCls, "-input-category") : '')
119
124
  }, /*#__PURE__*/_react.default.createElement("span", {
120
125
  className: "".concat(prefixCls, "-main")
121
126
  }, /*#__PURE__*/_react.default.createElement(_components.Select, _objectSpread(_objectSpread({}, filterProps), {}, {
122
127
  className: (0, _classnames.default)("".concat(prefixCls, "-select"), filterProps === null || filterProps === void 0 ? void 0 : filterProps.className),
123
128
  dataSource: filterItems,
124
- onChange: setActive,
129
+ onChange: onSelectChange,
125
130
  value: active
126
131
  })), content), /*#__PURE__*/_react.default.createElement("span", {
127
132
  className: "".concat(prefixCls, "-addonAfter")
@@ -18,10 +18,7 @@ $light-filter: #{teamix-pro-form}-light-filter;
18
18
  box-sizing: border-box;
19
19
  border: var(--search-normal-normal-border-width, 1px) solid
20
20
  var(--color-line1-2, #d9d9d9);
21
- border-right: 0;
22
21
  border-radius: var(--search-normal-corner, 2px);
23
- border-top-right-radius: 0;
24
- border-bottom-right-radius: 0;
25
22
  // 表单项选择
26
23
  .#{$light-filter}-select {
27
24
  min-width: auto;
@@ -44,6 +41,7 @@ $light-filter: #{teamix-pro-form}-light-filter;
44
41
 
45
42
  // 按钮后缀
46
43
  .#{$light-filter}-addonAfter {
44
+ display: none;
47
45
  .#{$css-prefix}btn {
48
46
  border-top-left-radius: 0;
49
47
  border-bottom-left-radius: 0;
@@ -54,6 +52,18 @@ $light-filter: #{teamix-pro-form}-light-filter;
54
52
  }
55
53
  }
56
54
 
55
+ // LightFilter输入类
56
+ .#{$light-filter}-input-category {
57
+ .#{$light-filter}-main {
58
+ border-right: 0;
59
+ border-top-right-radius: 0;
60
+ border-bottom-right-radius: 0;
61
+ }
62
+ .#{$light-filter}-addonAfter {
63
+ display: block;
64
+ }
65
+ }
66
+
57
67
  // LightFilter无边框
58
68
  .#{$form-item-cls}-bordered-none {
59
69
  .#{$form-item-cls}-control {
@@ -96,7 +96,7 @@ var SimpleFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
96
96
  }
97
97
  }])
98
98
  }];
99
- }, []);
99
+ }, [schema, triggerType]);
100
100
  var eventProps = getEventProps(triggerType, onFilter);
101
101
  return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread(_objectSpread({
102
102
  feedbackLayout: "popover",
@@ -174,7 +174,7 @@ var AdvancedFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
174
174
  }]
175
175
  }])
176
176
  }];
177
- }, []);
177
+ }, [schema, onReset, triggerType]);
178
178
  var getTeamixLayout = (0, _react.useMemo)(function () {
179
179
  return {
180
180
  breakpoints: [990],
@@ -17,6 +17,8 @@ var _icon = _interopRequireDefault(require("@teamix/icon"));
17
17
 
18
18
  var _core = require("@formily/core");
19
19
 
20
+ var _reactive = require("@formily/reactive");
21
+
20
22
  var _utils = require("@teamix/utils");
21
23
 
22
24
  var _index = _interopRequireDefault(require("../../field/index"));
@@ -33,8 +35,8 @@ require("./index2.scss");
33
35
 
34
36
  var _excluded = ["schema", "onChange", "onSubmit"],
35
37
  _excluded2 = ["form", "schema", "onSubmit", "onChange"],
36
- _excluded3 = ["schema", "onSubmit", "onChange", "onReset", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol"],
37
- _excluded4 = ["addonAfter", "addonBefore", "onFilter", "mode", "expand"];
38
+ _excluded3 = ["schema", "onSubmit", "onReset", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol"],
39
+ _excluded4 = ["addonAfter", "addonBefore", "onFilter", "onInit", "onReset", "mode", "expand"];
38
40
 
39
41
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
42
 
@@ -42,6 +44,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
42
44
 
43
45
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
44
46
 
47
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
48
+
49
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
50
+
45
51
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
46
52
 
47
53
  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."); }
@@ -124,9 +130,17 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
124
130
  var prefixCls = (0, _utils.usePrefixCls)('', {
125
131
  prefix: 'teamix-pro-form-query-filter-light'
126
132
  });
133
+ var onBtnClick = (0, _react.useCallback)(function () {
134
+ onChange && onChange((0, _reactive.toJS)(form.values));
135
+ }, [form]);
127
136
  var LightSchema = (0, _react.useMemo)(function () {
128
137
  return [{
129
138
  component: 'LightFilter',
139
+ props: {
140
+ buttonProps: {
141
+ onClick: onBtnClick
142
+ }
143
+ },
130
144
  children: schema
131
145
  }, {
132
146
  component: 'Submit',
@@ -136,19 +150,12 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
136
150
  }
137
151
  }
138
152
  }];
139
- }, [schema]); // useEffect(() => {
140
- // form.addEffects('onChange', () => {
141
- // onFieldValueChange('',(field:any) => {
142
- // console.log(field.value);
143
- // });
144
- // });
145
- // }, [form, onChange]);
146
-
153
+ }, [schema, onBtnClick]);
147
154
  return /*#__PURE__*/_react.default.createElement(_ProForm.default, _objectSpread(_objectSpread({}, otherProps), {}, {
148
155
  form: form,
149
156
  className: (0, _classnames.default)(prefixCls, props.className),
150
157
  schema: LightSchema,
151
- feedbackLayout: "popover",
158
+ feedbackLayout: "none",
152
159
  breakpoints: [],
153
160
  bordered: false,
154
161
  onSubmit: onSubmit,
@@ -162,7 +169,6 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
162
169
  var AdvancedFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
163
170
  var schema = props.schema,
164
171
  onSubmit = props.onSubmit,
165
- onChange = props.onChange,
166
172
  onReset = props.onReset,
167
173
  layout = props.layout,
168
174
  labelAlign = props.labelAlign,
@@ -237,25 +243,79 @@ AdvancedFilter.defaultProps = {
237
243
  labelCol: 6,
238
244
  wrapperCol: 18
239
245
  };
246
+
247
+ var getSpecialProps = function getSpecialProps(props) {
248
+ var initialValues = props.initialValues,
249
+ initialRequest = props.initialRequest;
250
+ var hasDefault = !!initialValues;
251
+ var hasAsyncDefault = !!initialRequest;
252
+ var hasRequired = false;
253
+
254
+ var hasDefaultOrRule = function hasDefaultOrRule(schema) {
255
+ schema.forEach(function (item) {
256
+ var value = item.default,
257
+ required = item.required,
258
+ rules = item.rules,
259
+ request = item.request,
260
+ dataSource = item.dataSource,
261
+ children = item.children;
262
+ hasDefault = hasDefault || (0, _utils.isSignificative)(value);
263
+ hasRequired = hasRequired || required || !!rules;
264
+ hasAsyncDefault = hasAsyncDefault || !!request || // 如果dataSource是异步且default取自dataSource
265
+ !!((0, _utils.isPlainObj)(dataSource) && (0, _utils.isStr)(value) && value.indexOf('.dataSource'));
266
+
267
+ if (children === null || children === void 0 ? void 0 : children.length) {
268
+ hasDefaultOrRule(children);
269
+ }
270
+ });
271
+ };
272
+
273
+ hasDefaultOrRule(props.schema);
274
+ return {
275
+ hasDefault: hasDefault,
276
+ hasAsyncDefault: hasAsyncDefault,
277
+ hasRequired: hasRequired
278
+ };
279
+ };
240
280
  /**
241
281
  * 查询筛选
242
282
  */
243
283
 
284
+
244
285
  var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
245
286
  var addonAfter = props.addonAfter,
246
287
  addonBefore = props.addonBefore,
247
288
  onFilter = props.onFilter,
289
+ onInit = props.onInit,
290
+ onReset = props.onReset,
248
291
  mode = props.mode,
249
292
  expand = props.expand,
250
293
  otherProps = _objectWithoutProperties(props, _excluded4);
251
294
 
252
- var form = (0, _react.useMemo)(function () {
253
- return props.form || (0, _core.createForm)({
295
+ var simpleForm = (0, _react.useMemo)(function () {
296
+ return (0, _core.createForm)({
297
+ validateFirst: true
298
+ });
299
+ }, []);
300
+ var lightForm = (0, _react.useMemo)(function () {
301
+ return (0, _core.createForm)({
302
+ validateFirst: true
303
+ });
304
+ }, []);
305
+ var advancedForm = (0, _react.useMemo)(function () {
306
+ return (0, _core.createForm)({
254
307
  validateFirst: true
255
308
  });
256
309
  }, []);
257
310
 
258
- var _useState = (0, _react.useState)(expand),
311
+ var _getSpecialProps = getSpecialProps(props),
312
+ hasDefault = _getSpecialProps.hasDefault,
313
+ hasAsyncDefault = _getSpecialProps.hasAsyncDefault,
314
+ hasRequired = _getSpecialProps.hasRequired;
315
+
316
+ var hasDefaultOrRequired = hasDefault || hasAsyncDefault || hasRequired;
317
+
318
+ var _useState = (0, _react.useState)(!!expand || hasDefaultOrRequired),
259
319
  _useState2 = _slicedToArray(_useState, 2),
260
320
  advancedFilterVisible = _useState2[0],
261
321
  setAdvancedFilterVisible = _useState2[1];
@@ -267,7 +327,8 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
267
327
 
268
328
  var prefixCls = (0, _utils.usePrefixCls)('', {
269
329
  prefix: 'teamix-pro-form-query-filter'
270
- }); // 展开收起高级筛选
330
+ });
331
+ var currentForm = mode === 'panel' ? advancedFilterVisible ? 'advanced' : 'light' : 'simple'; // 展开收起高级筛选
271
332
 
272
333
  var toggleAdvancedFilter = (0, _react.useCallback)(function () {
273
334
  setAdvancedFilterVisible(function (visible) {
@@ -293,31 +354,78 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
293
354
  }).filter(function (item) {
294
355
  return (0, _utils.isSignificative)(item.value);
295
356
  });
296
- }, []); // 表单值提交
297
-
298
- var onFormSubmit = (0, _react.useCallback)(function (values) {
299
- setTagDataSource(getTagDataSource(form));
300
- onFilter && onFilter(values);
301
- }, []); // 轻量表单onChange
357
+ }, []); // 设置标签数据
358
+
359
+ var configTag = (0, _react.useCallback)(function () {
360
+ setTagDataSource(getTagDataSource(advancedForm));
361
+ }, []); // 简单搜索Filter
362
+
363
+ var onSimpleFilter = (0, _react.useCallback)(function (values) {
364
+ if (currentForm === 'simple') {
365
+ onFilter && onFilter(values);
366
+ }
367
+ }, [onFilter, currentForm]); // 轻量搜索Filter
368
+
369
+ var onLightFilter = (0, _react.useCallback)( /*#__PURE__*/function () {
370
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
371
+ return regeneratorRuntime.wrap(function _callee$(_context) {
372
+ while (1) {
373
+ switch (_context.prev = _context.next) {
374
+ case 0:
375
+ if (!(currentForm === 'light')) {
376
+ _context.next = 5;
377
+ break;
378
+ }
379
+
380
+ onFilter && onFilter(values);
381
+ _context.next = 4;
382
+ return advancedForm.reset();
383
+
384
+ case 4:
385
+ configTag();
386
+
387
+ case 5:
388
+ case "end":
389
+ return _context.stop();
390
+ }
391
+ }
392
+ }, _callee);
393
+ }));
302
394
 
303
- var onLightValueChange = (0, _react.useCallback)(function (values) {
304
- form.reset();
305
- setTagDataSource(getTagDataSource(form));
306
- onFilter && onFilter(values);
307
- }, [form]); // 简单表单onChange
395
+ return function (_x) {
396
+ return _ref3.apply(this, arguments);
397
+ };
398
+ }(), [onFilter, currentForm]); // 高级搜索Filter
308
399
 
309
- var onSimpleValueChange = (0, _react.useCallback)(function (values) {
310
- setTagDataSource(getTagDataSource(form));
311
- onFilter && onFilter(values);
312
- }, []); // 关闭标签清空表单字段值
400
+ var onAdvancedFilter = (0, _react.useCallback)(function (values) {
401
+ if (currentForm === 'advanced') {
402
+ onFilter && onFilter(values);
403
+ configTag();
404
+ lightForm.reset();
405
+ }
406
+ }, [onFilter, currentForm]); // 关闭标签清空表单字段值
313
407
 
314
408
  var onTagClose = (0, _react.useCallback)(function (key) {
315
- form.setValuesIn(key, undefined);
316
- }, [form]); // 设置默认值标签数据
409
+ advancedForm.setValuesIn(key, undefined);
410
+ setTagDataSource(getTagDataSource(advancedForm));
411
+ }, []); // 判断表单是否有校验和默认值
317
412
 
318
413
  (0, _react.useEffect)(function () {
319
- setTagDataSource(getTagDataSource(form));
320
- }, []);
414
+ if (hasDefault || hasAsyncDefault || hasRequired) {}
415
+ }, [hasDefault, hasAsyncDefault, hasRequired]); // 设置默认值标签数据
416
+
417
+ (0, _react.useEffect)(function () {// onInit
418
+ // if (mode === 'panel') {
419
+ // if (expand) {
420
+ // onInit && onInit(toJS(advancedForm.values));
421
+ // } else {
422
+ // onInit && onInit(toJS(lightForm.values));
423
+ // }
424
+ // configTag();
425
+ // } else {
426
+ // onInit && onInit(toJS(simpleForm.values));
427
+ // }
428
+ }, [mode]);
321
429
  return /*#__PURE__*/_react.default.createElement("div", {
322
430
  className: (0, _classnames.default)(prefixCls, props.className)
323
431
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -327,11 +435,11 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
327
435
  }, addonBefore ? /*#__PURE__*/_react.default.createElement("div", {
328
436
  className: "".concat(prefixCls, "-addonBefore")
329
437
  }, addonBefore) : null, mode === 'panel' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
330
- className: "".concat(prefixCls, "-inline-form")
438
+ className: (0, _classnames.default)("".concat(prefixCls, "-inline-form"), hasAsyncDefault ? "".concat(prefixCls, "-inline-form-hidden") : '')
331
439
  }, /*#__PURE__*/_react.default.createElement(LightFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
332
- form: form,
333
- onFilter: onLightValueChange,
334
- onSubmit: onFormSubmit
440
+ form: lightForm,
441
+ onChange: onLightFilter,
442
+ onSubmit: onLightFilter
335
443
  }))), /*#__PURE__*/_react.default.createElement("div", {
336
444
  className: "".concat(prefixCls, "-toggle")
337
445
  }, /*#__PURE__*/_react.default.createElement(_components.Badge, {
@@ -351,20 +459,20 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
351
459
  }), (0, _utils.getMessage)('advancedFilter'))))) : /*#__PURE__*/_react.default.createElement("div", {
352
460
  className: "".concat(prefixCls, "-inline-form")
353
461
  }, /*#__PURE__*/_react.default.createElement(SimpleFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
354
- form: form,
355
- onFilter: onSimpleValueChange,
356
- onSubmit: onFormSubmit
462
+ form: simpleForm,
463
+ onChange: onSimpleFilter,
464
+ onSubmit: onSimpleFilter
357
465
  })))), addonAfter ? /*#__PURE__*/_react.default.createElement("div", {
358
466
  className: "".concat(prefixCls, "-addonAfter")
359
467
  }, addonAfter) : null), mode === 'panel' ? /*#__PURE__*/_react.default.createElement("div", {
360
468
  className: "".concat(prefixCls, "-panel")
361
469
  }, /*#__PURE__*/_react.default.createElement("div", {
362
470
  className: (0, _classnames.default)("".concat(prefixCls, "-tag"), advancedFilterVisible ? "".concat(prefixCls, "-tag-hidden") : '')
363
- }, /*#__PURE__*/_react.default.createElement(_components.Tag.Group, null, tagDataSource.map(function (_ref3) {
364
- var key = _ref3.key,
365
- label = _ref3.label,
366
- value = _ref3.value,
367
- type = _ref3.type;
471
+ }, /*#__PURE__*/_react.default.createElement(_components.Tag.Group, null, tagDataSource.map(function (_ref4) {
472
+ var key = _ref4.key,
473
+ label = _ref4.label,
474
+ value = _ref4.value,
475
+ type = _ref4.type;
368
476
  return /*#__PURE__*/_react.default.createElement(_components.Tag.Closeable, {
369
477
  key: key,
370
478
  afterClose: function afterClose() {
@@ -381,8 +489,8 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
381
489
  }))), /*#__PURE__*/_react.default.createElement("div", {
382
490
  className: (0, _classnames.default)("".concat(prefixCls, "-advanced-wrap"), !advancedFilterVisible ? "".concat(prefixCls, "-advanced-wrap-hidden") : '')
383
491
  }, /*#__PURE__*/_react.default.createElement(AdvancedFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
384
- form: form,
385
- onSubmit: onFormSubmit
492
+ form: advancedForm,
493
+ onSubmit: onAdvancedFilter
386
494
  })))) : null);
387
495
  });
388
496
  exports.QueryFilter = QueryFilter;
@@ -19,6 +19,9 @@ $query-filter: #{$teamix-pro-form}-query-filter;
19
19
  margin-right: 8px;
20
20
  margin-bottom: 8px;
21
21
  }
22
+ .#{$query-filter}-inline-form-hidden {
23
+ display: none;
24
+ }
22
25
  .#{$query-filter}-toggle {
23
26
  margin-bottom: 8px;
24
27
  }
@@ -29,6 +29,8 @@ var _useInitialRequest = _interopRequireDefault(require("./useInitialRequest"));
29
29
 
30
30
  var _validate = _interopRequireDefault(require("../locales/validate"));
31
31
 
32
+ var _lodash = _interopRequireDefault(require("lodash.debounce"));
33
+
32
34
  require("./index.scss");
33
35
 
34
36
  var _excluded = ["form", "initialValues", "initialRequest", "schema", "scope", "context", "components", "children", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol", "breakpoints", "onChange", "onSubmit", "onSubmitFailed", "className"];
@@ -105,12 +107,13 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
105
107
  }, [breakpoints, layout, labelAlign, wrapperAlign, labelCol, wrapperCol]); // 添加onChange
106
108
 
107
109
  (0, _react.useEffect)(function () {
110
+ form.removeEffects('onChange');
108
111
  form.addEffects('onChange', function () {
109
- (0, _core.onFormValuesChange)(function (form) {
112
+ (0, _core.onFormValuesChange)((0, _lodash.default)(function (form) {
110
113
  if (onChange) {
111
114
  onChange((0, _reactive.toJS)(form.values));
112
115
  }
113
- });
116
+ }, 300));
114
117
  });
115
118
  }, [form, onChange]); // 配置表单默认值
116
119
 
@@ -7,8 +7,6 @@ exports.default = void 0;
7
7
 
8
8
  var _react = require("@formily/react");
9
9
 
10
- var _utils = require("@teamix/utils");
11
-
12
10
  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; }
13
11
 
14
12
  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; }
@@ -19,13 +17,7 @@ var _default = function _default() {
19
17
  var field = (0, _react.useField)();
20
18
 
21
19
  var refresh = function refresh() {
22
- if (!(0, _utils.isPlainObj)(field.data)) {
23
- field.data = {
24
- refresh: {}
25
- };
26
- } else {
27
- field.data.refresh = _objectSpread({}, field.data.refresh);
28
- }
20
+ field.data.refresh = _objectSpread({}, field.data.refresh);
29
21
  };
30
22
 
31
23
  return {
@@ -266,7 +266,9 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
266
266
  rules: defaultRules,
267
267
  reactions: defaultReactions,
268
268
  dataSource: defaultDataSource,
269
- data: data
269
+ data: data || {
270
+ placeholder: true
271
+ }
270
272
  })); // 递归子组件
271
273
 
272
274
  var recursiveProperties = (children === null || children === void 0 ? void 0 : children.length) ? {
@@ -285,7 +287,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
285
287
  type: 'object',
286
288
  properties: formatSchema(schema)
287
289
  };
288
- }, []); // console.log(proFormSchema);
290
+ }, [schema]); // console.log(proFormSchema);
289
291
 
290
292
  return /*#__PURE__*/_react.default.createElement(SchemaField, {
291
293
  schema: proFormSchema,
@@ -64,6 +64,10 @@ export interface ProFormProps extends IFormLayoutProps {
64
64
  onSubmit?: ((values: any) => any) | CommonRequestConfig;
65
65
  onSubmitFailed?: (feedbacks: IFormFeedback[]) => void;
66
66
  }
67
+ export interface FilterProps extends ProFormProps {
68
+ form: FormType;
69
+ onReset?: (payload?: any) => void;
70
+ }
67
71
  export interface QueryFilterProps extends ProFormProps {
68
72
  /**
69
73
  * @deprecated triggerType已弃用
@@ -73,6 +77,7 @@ export interface QueryFilterProps extends ProFormProps {
73
77
  expand?: boolean;
74
78
  addonBefore?: ReactNode;
75
79
  addonAfter?: ReactNode;
80
+ onInit?: (values: any) => void;
76
81
  onFilter?: (values: any) => void;
77
82
  onReset?: (payload?: any) => void;
78
83
  }
package/lib/index.d.ts CHANGED
@@ -21,5 +21,5 @@ export * from './page-container';
21
21
  export * from './page-header';
22
22
  export * from './skeleton';
23
23
  export * from './table';
24
- declare const version = "1.2.14";
24
+ declare const version = "1.2.18";
25
25
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, hooks, nocode, templates, utils, };
package/lib/index.js CHANGED
@@ -253,5 +253,5 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
253
253
  _icon.default.setConfig(_utils.default.getTeamixIconConfig());
254
254
 
255
255
  // export * from './sidebar';
256
- var version = '1.2.14';
256
+ var version = '1.2.18';
257
257
  exports.version = version;
@@ -26,6 +26,7 @@ var initialValues = {
26
26
  },
27
27
  mainAction: {
28
28
  actions: [{
29
+ key: 'action',
29
30
  children: '操作按钮'
30
31
  }]
31
32
  }