@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.
- package/dist/pro.css +1 -1
- package/dist/pro.js +832 -320
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/actions/base.d.ts +2 -1
- package/es/actions/base.js +1 -1
- package/es/actions/danger-pop-confirm.d.ts +5 -0
- package/es/actions/danger-pop-confirm.js +10 -0
- package/es/actions/dialog.d.ts +1 -1
- package/es/actions/dialog.js +32 -31
- package/es/actions/index.d.ts +5 -0
- package/es/actions/index.js +38 -14
- package/es/actions/pop-confirm.d.ts +9 -0
- package/es/actions/pop-confirm.js +9 -0
- package/es/form/Components/LightFilter/componentMap.d.ts +2 -1
- package/es/form/Components/LightFilter/componentMap.js +2 -1
- package/es/form/Components/LightFilter/index.d.ts +1 -0
- package/es/form/Components/LightFilter/index.js +19 -14
- package/es/form/Components/LightFilter/index.scss +13 -3
- package/es/form/Filter/index.js +2 -2
- package/es/form/Filter/index2.js +157 -50
- package/es/form/Filter/index2.scss +3 -0
- package/es/form/ProForm/index.js +4 -2
- package/es/form/ProForm/useFieldRequest.js +1 -8
- package/es/form/SchemaForm/index.js +4 -2
- package/es/form/typing.d.ts +5 -0
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/nocode/configurators/ProTable.js +1 -0
- package/es/table/components/Filter/index.js +42 -16
- package/es/table/components/ToolBar/FilterColumnIcon.js +1 -1
- package/es/table/index.js +61 -13
- package/es/table/typing.d.ts +5 -0
- package/es/table/utils/columnRender.js +1 -1
- package/lib/actions/base.d.ts +2 -1
- package/lib/actions/base.js +1 -1
- package/lib/actions/danger-pop-confirm.d.ts +5 -0
- package/lib/actions/danger-pop-confirm.js +22 -0
- package/lib/actions/dialog.d.ts +1 -1
- package/lib/actions/dialog.js +33 -31
- package/lib/actions/index.d.ts +5 -0
- package/lib/actions/index.js +40 -14
- package/lib/actions/pop-confirm.d.ts +9 -0
- package/lib/actions/pop-confirm.js +23 -0
- package/lib/form/Components/LightFilter/componentMap.d.ts +2 -1
- package/lib/form/Components/LightFilter/componentMap.js +4 -3
- package/lib/form/Components/LightFilter/index.d.ts +1 -0
- package/lib/form/Components/LightFilter/index.js +18 -13
- package/lib/form/Components/LightFilter/index.scss +13 -3
- package/lib/form/Filter/index.js +2 -2
- package/lib/form/Filter/index2.js +157 -49
- package/lib/form/Filter/index2.scss +3 -0
- package/lib/form/ProForm/index.js +5 -2
- package/lib/form/ProForm/useFieldRequest.js +1 -9
- package/lib/form/SchemaForm/index.js +4 -2
- package/lib/form/typing.d.ts +5 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/nocode/configurators/ProTable.js +1 -0
- package/lib/table/components/Filter/index.js +42 -16
- package/lib/table/components/ToolBar/FilterColumnIcon.js +1 -1
- package/lib/table/index.js +61 -13
- package/lib/table/typing.d.ts +5 -0
- package/lib/table/utils/columnRender.js +1 -1
- 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 =
|
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.
|
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:
|
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 {
|
package/lib/form/Filter/index.js
CHANGED
@@ -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", "
|
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]);
|
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: "
|
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
|
253
|
-
return
|
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
|
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
|
299
|
-
setTagDataSource(getTagDataSource(
|
300
|
-
|
301
|
-
|
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
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
}, [form]); // 简单表单onChange
|
395
|
+
return function (_x) {
|
396
|
+
return _ref3.apply(this, arguments);
|
397
|
+
};
|
398
|
+
}(), [onFilter, currentForm]); // 高级搜索Filter
|
308
399
|
|
309
|
-
var
|
310
|
-
|
311
|
-
|
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
|
-
|
316
|
-
|
409
|
+
advancedForm.setValuesIn(key, undefined);
|
410
|
+
setTagDataSource(getTagDataSource(advancedForm));
|
411
|
+
}, []); // 判断表单是否有校验和默认值
|
317
412
|
|
318
413
|
(0, _react.useEffect)(function () {
|
319
|
-
|
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:
|
333
|
-
|
334
|
-
onSubmit:
|
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:
|
355
|
-
|
356
|
-
onSubmit:
|
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 (
|
364
|
-
var key =
|
365
|
-
label =
|
366
|
-
value =
|
367
|
-
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:
|
385
|
-
onSubmit:
|
492
|
+
form: advancedForm,
|
493
|
+
onSubmit: onAdvancedFilter
|
386
494
|
})))) : null);
|
387
495
|
});
|
388
496
|
exports.QueryFilter = QueryFilter;
|
@@ -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
|
-
|
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,
|
package/lib/form/typing.d.ts
CHANGED
@@ -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.
|
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.
|
256
|
+
var version = '1.2.18';
|
257
257
|
exports.version = version;
|