@teamix/pro 1.2.19 → 1.2.20
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/212.js +49 -49
- package/dist/pro.css +1 -1
- package/dist/pro.js +1422 -472
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/actions/dialog.js +2 -5
- package/es/form/Components/LightFilter/index.js +1 -1
- package/es/form/Components/LightFilter/index.scss +1 -1
- package/es/form/Filter/AdvancedFilter.d.ts +7 -0
- package/es/form/Filter/AdvancedFilter.js +113 -0
- package/es/form/Filter/LightFilter.d.ts +7 -0
- package/es/form/Filter/LightFilter.js +79 -0
- package/es/form/Filter/SimpleFilter.d.ts +7 -0
- package/es/form/Filter/SimpleFilter.js +74 -0
- package/es/form/Filter/index2.js +202 -256
- package/es/form/ProForm/index.js +9 -7
- package/es/form/ProForm/index.scss +3 -0
- package/es/form/typing.d.ts +7 -3
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/table/components/Pagination/index.d.ts +3 -0
- package/es/table/components/Pagination/index.js +82 -0
- package/es/table/components/ToolBar/FilterColumnIcon.js +17 -4
- package/es/table/components/ToolBar/index.scss +8 -2
- package/es/table/index.js +26 -20
- package/es/table/index.scss +7 -1
- package/es/table/typing.d.ts +2 -0
- package/lib/actions/dialog.js +2 -5
- package/lib/form/Components/LightFilter/index.js +1 -1
- package/lib/form/Components/LightFilter/index.scss +1 -1
- package/lib/form/Filter/AdvancedFilter.d.ts +7 -0
- package/lib/form/Filter/AdvancedFilter.js +133 -0
- package/lib/form/Filter/LightFilter.d.ts +7 -0
- package/lib/form/Filter/LightFilter.js +99 -0
- package/lib/form/Filter/SimpleFilter.d.ts +7 -0
- package/lib/form/Filter/SimpleFilter.js +93 -0
- package/lib/form/Filter/index2.js +205 -257
- package/lib/form/ProForm/index.js +8 -6
- package/lib/form/ProForm/index.scss +3 -0
- package/lib/form/typing.d.ts +7 -3
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/table/components/Pagination/index.d.ts +3 -0
- package/lib/table/components/Pagination/index.js +95 -0
- package/lib/table/components/ToolBar/FilterColumnIcon.js +17 -4
- package/lib/table/components/ToolBar/index.scss +8 -2
- package/lib/table/index.js +24 -19
- package/lib/table/index.scss +7 -1
- package/lib/table/typing.d.ts +2 -0
- package/package.json +2 -2
package/es/form/Filter/index2.js
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
var _excluded = ["
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
var _excluded = ["addonAfter", "addonBefore", "onFilter", "onInit", "onReset", "mode", "expand", "formRef", "defaultFilterValue"];
|
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; }
|
5
8
|
|
6
9
|
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); } }
|
7
10
|
|
@@ -11,211 +14,32 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
|
|
11
14
|
|
12
15
|
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."); }
|
13
16
|
|
14
|
-
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; }
|
15
|
-
|
16
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
17
|
-
|
18
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
19
|
-
|
20
|
-
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."); }
|
21
|
-
|
22
17
|
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); }
|
23
18
|
|
24
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
25
|
-
|
26
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
27
|
-
|
28
19
|
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; }
|
29
20
|
|
30
|
-
function
|
31
|
-
|
32
|
-
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; }
|
21
|
+
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; }
|
33
22
|
|
34
|
-
function
|
23
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
35
24
|
|
36
25
|
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; }
|
37
26
|
|
38
27
|
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; }
|
39
28
|
|
40
|
-
import React, { memo, useCallback, useMemo, useState, useEffect } from 'react';
|
29
|
+
import React, { memo, useCallback, useMemo, useState, useRef, useEffect } from 'react';
|
41
30
|
import cls from 'classnames';
|
42
31
|
import { Tag, Button, Badge } from '@alicloudfe/components';
|
43
32
|
import TeamixIcon from '@teamix/icon';
|
44
|
-
import { createForm } from '@formily/core';
|
33
|
+
import { createForm, onFormReact, onFormInputChange } from '@formily/core';
|
45
34
|
import { toJS } from '@formily/reactive';
|
46
35
|
import { usePrefixCls, getMessage, isSignificative, isStr, isPlainObj } from '@teamix/utils';
|
47
36
|
import ProField from '../../field/index';
|
48
|
-
import ProForm from '../ProForm';
|
49
37
|
import fieldTypeMap from '../fieldTypeMap';
|
50
38
|
import { getFormDisplayValues } from '../ProForm/useFormDisplayValues';
|
51
|
-
import
|
52
|
-
import './
|
53
|
-
|
54
|
-
|
55
|
-
*/
|
56
|
-
|
57
|
-
var SimpleFilter = /*#__PURE__*/memo(function (props) {
|
58
|
-
var schema = props.schema,
|
59
|
-
onChange = props.onChange,
|
60
|
-
onSubmit = props.onSubmit,
|
61
|
-
otherProps = _objectWithoutProperties(props, _excluded);
|
62
|
-
|
63
|
-
var prefixCls = usePrefixCls('', {
|
64
|
-
prefix: 'teamix-pro-form-query-filter-simple'
|
65
|
-
});
|
66
|
-
var simpleSchema = useMemo(function () {
|
67
|
-
return [{
|
68
|
-
component: 'FormFlex',
|
69
|
-
props: {
|
70
|
-
size: 8
|
71
|
-
},
|
72
|
-
children: schema
|
73
|
-
}, {
|
74
|
-
component: 'Submit',
|
75
|
-
props: {
|
76
|
-
style: {
|
77
|
-
display: 'none'
|
78
|
-
}
|
79
|
-
}
|
80
|
-
}];
|
81
|
-
}, [schema]);
|
82
|
-
return /*#__PURE__*/React.createElement(ProForm, _objectSpread(_objectSpread({}, otherProps), {}, {
|
83
|
-
className: cls(prefixCls, props.className),
|
84
|
-
schema: simpleSchema,
|
85
|
-
feedbackLayout: "popover",
|
86
|
-
breakpoints: [],
|
87
|
-
inset: true,
|
88
|
-
onSubmit: onSubmit,
|
89
|
-
onChange: onChange
|
90
|
-
}));
|
91
|
-
});
|
92
|
-
/**
|
93
|
-
* 轻量筛选
|
94
|
-
*/
|
95
|
-
|
96
|
-
var LightFilter = /*#__PURE__*/memo(function (props) {
|
97
|
-
var form = props.form,
|
98
|
-
schema = props.schema,
|
99
|
-
onSubmit = props.onSubmit,
|
100
|
-
onChange = props.onChange,
|
101
|
-
otherProps = _objectWithoutProperties(props, _excluded2);
|
102
|
-
|
103
|
-
var prefixCls = usePrefixCls('', {
|
104
|
-
prefix: 'teamix-pro-form-query-filter-light'
|
105
|
-
});
|
106
|
-
var onBtnClick = useCallback(function () {
|
107
|
-
onChange && onChange(toJS(form.values));
|
108
|
-
}, [form]);
|
109
|
-
var LightSchema = useMemo(function () {
|
110
|
-
return [{
|
111
|
-
component: 'LightFilter',
|
112
|
-
props: {
|
113
|
-
buttonProps: {
|
114
|
-
onClick: onBtnClick
|
115
|
-
}
|
116
|
-
},
|
117
|
-
children: schema
|
118
|
-
}, {
|
119
|
-
component: 'Submit',
|
120
|
-
props: {
|
121
|
-
style: {
|
122
|
-
display: 'none'
|
123
|
-
}
|
124
|
-
}
|
125
|
-
}];
|
126
|
-
}, [schema, onBtnClick]);
|
127
|
-
return /*#__PURE__*/React.createElement(ProForm, _objectSpread(_objectSpread({}, otherProps), {}, {
|
128
|
-
form: form,
|
129
|
-
className: cls(prefixCls, props.className),
|
130
|
-
schema: LightSchema,
|
131
|
-
feedbackLayout: "none",
|
132
|
-
breakpoints: [],
|
133
|
-
bordered: false,
|
134
|
-
onSubmit: onSubmit,
|
135
|
-
onChange: onChange
|
136
|
-
}));
|
137
|
-
});
|
138
|
-
/**
|
139
|
-
* 高级筛选
|
140
|
-
*/
|
141
|
-
|
142
|
-
var AdvancedFilter = /*#__PURE__*/memo(function (props) {
|
143
|
-
var schema = props.schema,
|
144
|
-
onSubmit = props.onSubmit,
|
145
|
-
onReset = props.onReset,
|
146
|
-
layout = props.layout,
|
147
|
-
labelAlign = props.labelAlign,
|
148
|
-
wrapperAlign = props.wrapperAlign,
|
149
|
-
labelCol = props.labelCol,
|
150
|
-
wrapperCol = props.wrapperCol,
|
151
|
-
otherProps = _objectWithoutProperties(props, _excluded3);
|
152
|
-
|
153
|
-
var prefixCls = usePrefixCls('', {
|
154
|
-
prefix: 'teamix-pro-form-query-filter-advanced'
|
155
|
-
});
|
156
|
-
var gridSchema = useMemo(function () {
|
157
|
-
return [{
|
158
|
-
name: 'FormGrid',
|
159
|
-
component: 'FormGrid',
|
160
|
-
props: {
|
161
|
-
breakpoints: [480, 720, 990, 1200, Infinity],
|
162
|
-
maxColumns: [1, 2, 3, 3, 4],
|
163
|
-
columnGap: 16,
|
164
|
-
rowGap: 12
|
165
|
-
},
|
166
|
-
children: [].concat(_toConsumableArray(schema), [{
|
167
|
-
component: 'FormGrid.GridColumn',
|
168
|
-
props: {
|
169
|
-
gridSpan: -1
|
170
|
-
},
|
171
|
-
children: [{
|
172
|
-
component: 'FormButtonGroup',
|
173
|
-
props: {
|
174
|
-
align: 'right'
|
175
|
-
},
|
176
|
-
children: [{
|
177
|
-
component: 'Reset',
|
178
|
-
props: {
|
179
|
-
onResetValidateSuccess: onReset,
|
180
|
-
children: getMessage('reset')
|
181
|
-
}
|
182
|
-
}, {
|
183
|
-
component: 'Submit',
|
184
|
-
props: {
|
185
|
-
style: {
|
186
|
-
marginRight: -8
|
187
|
-
},
|
188
|
-
children: getMessage('search')
|
189
|
-
}
|
190
|
-
}]
|
191
|
-
}]
|
192
|
-
}])
|
193
|
-
}];
|
194
|
-
}, [schema, onReset]);
|
195
|
-
var getTeamixLayout = useMemo(function () {
|
196
|
-
return {
|
197
|
-
breakpoints: [990],
|
198
|
-
layout: mergeArrayValue(['vertical'], layout),
|
199
|
-
labelAlign: mergeArrayValue(['left'], labelAlign),
|
200
|
-
wrapperAlign: mergeArrayValue(['left'], wrapperAlign),
|
201
|
-
labelCol: mergeArrayValue([24], labelCol),
|
202
|
-
wrapperCol: mergeArrayValue([24], wrapperCol)
|
203
|
-
};
|
204
|
-
}, [layout, labelAlign, wrapperAlign, labelCol, wrapperCol]);
|
205
|
-
return /*#__PURE__*/React.createElement(ProForm, _objectSpread(_objectSpread(_objectSpread({
|
206
|
-
className: cls(prefixCls, props.className),
|
207
|
-
schema: gridSchema,
|
208
|
-
feedbackLayout: "popover"
|
209
|
-
}, otherProps), getTeamixLayout), {}, {
|
210
|
-
onSubmit: onSubmit
|
211
|
-
}));
|
212
|
-
});
|
213
|
-
AdvancedFilter.defaultProps = {
|
214
|
-
layout: 'horizontal',
|
215
|
-
labelAlign: 'right',
|
216
|
-
labelCol: 6,
|
217
|
-
wrapperCol: 18
|
218
|
-
};
|
39
|
+
import SimpleFilter from './SimpleFilter';
|
40
|
+
import LightFilter from './LightFilter';
|
41
|
+
import AdvancedFilter from './AdvancedFilter';
|
42
|
+
import './index2.scss'; // 获取Schema是否包含默认值、异步默认值、必选校验等
|
219
43
|
|
220
44
|
var getSpecialProps = function getSpecialProps(props) {
|
221
45
|
var initialValues = props.initialValues,
|
@@ -263,23 +87,89 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
263
87
|
onReset = props.onReset,
|
264
88
|
mode = props.mode,
|
265
89
|
expand = props.expand,
|
266
|
-
|
90
|
+
formRef = props.formRef,
|
91
|
+
defaultFilterValue = props.defaultFilterValue,
|
92
|
+
otherProps = _objectWithoutProperties(props, _excluded); // 表单默认值初始化回调
|
93
|
+
|
94
|
+
|
95
|
+
var _onFormInit = function onFormInit(form, _ref, configFilterItem) {
|
96
|
+
var initialRequest = _ref.initialRequest,
|
97
|
+
onInit = _ref.onInit;
|
98
|
+
|
99
|
+
if (!form.mounted) {
|
100
|
+
form.loading = !!initialRequest;
|
101
|
+
}
|
102
|
+
|
103
|
+
var loadingField = Object.values(form.fields).filter(function (field) {
|
104
|
+
return !!field.loading;
|
105
|
+
});
|
106
|
+
|
107
|
+
if (form.mounted) {
|
108
|
+
if (loadingField.length === 0 && !form.loading) {
|
109
|
+
var onInitResult = onInit && onInit(toJS(form.values));
|
110
|
+
|
111
|
+
if (onInitResult) {
|
112
|
+
// 根据onInit返回值,判断是否使用该事件执行筛选,使用过则添加筛选标签
|
113
|
+
configFilterItem && configFilterItem(form);
|
114
|
+
}
|
115
|
+
|
116
|
+
_onFormInit = function onFormInit() {};
|
117
|
+
}
|
118
|
+
}
|
119
|
+
}; // 设置当前form
|
120
|
+
|
121
|
+
|
122
|
+
var setCurrentForm = function setCurrentForm(formName) {
|
123
|
+
currentForm.current = formName;
|
124
|
+
|
125
|
+
if (formRef) {
|
126
|
+
var form = formMap[formName];
|
127
|
+
formRef.current = form;
|
128
|
+
|
129
|
+
formRef.current.updateTags = function () {
|
130
|
+
configFilterItem(form);
|
131
|
+
};
|
132
|
+
}
|
133
|
+
}; // 创建简单筛选表单实例
|
134
|
+
|
267
135
|
|
268
136
|
var simpleForm = useMemo(function () {
|
269
137
|
return createForm({
|
270
|
-
validateFirst: true
|
138
|
+
validateFirst: true,
|
139
|
+
effects: function effects() {
|
140
|
+
onFormReact(function (form) {
|
141
|
+
_onFormInit(form, props);
|
142
|
+
});
|
143
|
+
}
|
271
144
|
});
|
272
|
-
}, []);
|
145
|
+
}, []); // 创建轻量筛选表单实例
|
146
|
+
|
273
147
|
var lightForm = useMemo(function () {
|
274
148
|
return createForm({
|
275
|
-
validateFirst: true
|
149
|
+
validateFirst: true,
|
150
|
+
effects: function effects() {
|
151
|
+
onFormInputChange(function () {
|
152
|
+
setCurrentForm('light');
|
153
|
+
});
|
154
|
+
}
|
276
155
|
});
|
277
|
-
}, []);
|
156
|
+
}, []); // 创建高级筛选表单实例
|
157
|
+
|
278
158
|
var advancedForm = useMemo(function () {
|
279
159
|
return createForm({
|
280
|
-
validateFirst: true
|
160
|
+
validateFirst: true,
|
161
|
+
effects: function effects() {
|
162
|
+
onFormReact(function (form) {
|
163
|
+
_onFormInit(form, props, configFilterItem);
|
164
|
+
});
|
165
|
+
}
|
281
166
|
});
|
282
167
|
}, []);
|
168
|
+
var formMap = {
|
169
|
+
simple: simpleForm,
|
170
|
+
light: lightForm,
|
171
|
+
advanced: advancedForm
|
172
|
+
};
|
283
173
|
|
284
174
|
var _getSpecialProps = getSpecialProps(props),
|
285
175
|
hasDefault = _getSpecialProps.hasDefault,
|
@@ -298,25 +188,24 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
298
188
|
tagDataSource = _useState4[0],
|
299
189
|
setTagDataSource = _useState4[1];
|
300
190
|
|
191
|
+
var filterItem = useRef([]);
|
192
|
+
var currentForm = useRef(mode === 'panel' ? advancedFilterVisible ? 'advanced' : 'light' : 'simple');
|
301
193
|
var prefixCls = usePrefixCls('', {
|
302
194
|
prefix: 'teamix-pro-form-query-filter'
|
303
|
-
});
|
304
|
-
var currentForm = mode === 'panel' ? advancedFilterVisible ? 'advanced' : 'light' : 'simple'; // 展开收起高级筛选
|
195
|
+
}); // 设置筛选数据
|
305
196
|
|
306
|
-
var
|
307
|
-
|
308
|
-
|
309
|
-
});
|
310
|
-
}, []); // 获取标签数据
|
197
|
+
var configFilterItem = useCallback(function (form) {
|
198
|
+
filterItem.current = getFilterDisplayValues(form);
|
199
|
+
}, []); // 获取筛选数据Label
|
311
200
|
|
312
|
-
var
|
201
|
+
var getFilterDisplayValues = useCallback(function (form) {
|
313
202
|
var displayValues = getFormDisplayValues(form);
|
314
|
-
return Object.entries(displayValues).map(function (
|
203
|
+
return Object.entries(displayValues).map(function (_ref2) {
|
315
204
|
var _data$displayValue;
|
316
205
|
|
317
|
-
var
|
318
|
-
key =
|
319
|
-
data =
|
206
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
207
|
+
key = _ref3[0],
|
208
|
+
data = _ref3[1];
|
320
209
|
|
321
210
|
return {
|
322
211
|
key: key,
|
@@ -330,32 +219,46 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
330
219
|
}, []); // 设置标签数据
|
331
220
|
|
332
221
|
var configTag = useCallback(function () {
|
333
|
-
setTagDataSource(
|
334
|
-
}, []); //
|
222
|
+
setTagDataSource(filterItem.current);
|
223
|
+
}, [filterItem.current]); // 展开收起高级筛选
|
335
224
|
|
336
|
-
var
|
337
|
-
|
338
|
-
|
225
|
+
var toggleAdvancedFilter = useCallback(function () {
|
226
|
+
var result = !advancedFilterVisible;
|
227
|
+
|
228
|
+
if (result) {
|
229
|
+
// 展开高级筛选,Light回填Advanced
|
230
|
+
if (currentForm.current === 'light') {
|
231
|
+
advancedForm.setValues(lightForm.values);
|
232
|
+
}
|
233
|
+
} else {
|
234
|
+
// 收起高级筛选,配置标签数据
|
235
|
+
configTag();
|
339
236
|
}
|
340
|
-
}, [onFilter, currentForm]); // 轻量搜索Filter
|
341
237
|
|
342
|
-
|
343
|
-
|
238
|
+
setAdvancedFilterVisible(result);
|
239
|
+
}, [advancedFilterVisible, configTag, currentForm.current]); // 简单搜索Filter
|
240
|
+
|
241
|
+
var onSimpleFilter = useCallback( /*#__PURE__*/function () {
|
242
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
|
344
243
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
345
244
|
while (1) {
|
346
245
|
switch (_context.prev = _context.next) {
|
347
246
|
case 0:
|
348
|
-
if (!(currentForm === '
|
247
|
+
if (!(currentForm.current === 'simple')) {
|
349
248
|
_context.next = 5;
|
350
249
|
break;
|
351
250
|
}
|
352
251
|
|
353
|
-
|
252
|
+
if (!hasRequired) {
|
253
|
+
_context.next = 4;
|
254
|
+
break;
|
255
|
+
}
|
256
|
+
|
354
257
|
_context.next = 4;
|
355
|
-
return
|
258
|
+
return simpleForm.validate();
|
356
259
|
|
357
260
|
case 4:
|
358
|
-
|
261
|
+
onFilter && onFilter(values);
|
359
262
|
|
360
263
|
case 5:
|
361
264
|
case "end":
|
@@ -366,39 +269,77 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
366
269
|
}));
|
367
270
|
|
368
271
|
return function (_x) {
|
369
|
-
return
|
272
|
+
return _ref4.apply(this, arguments);
|
273
|
+
};
|
274
|
+
}(), [onFilter, currentForm.current, hasRequired]); // 轻量搜索Filter
|
275
|
+
|
276
|
+
var onLightFilter = useCallback( /*#__PURE__*/function () {
|
277
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
|
278
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
279
|
+
while (1) {
|
280
|
+
switch (_context2.prev = _context2.next) {
|
281
|
+
case 0:
|
282
|
+
if (!(currentForm.current === 'light')) {
|
283
|
+
_context2.next = 6;
|
284
|
+
break;
|
285
|
+
}
|
286
|
+
|
287
|
+
onFilter && onFilter(values);
|
288
|
+
_context2.next = 4;
|
289
|
+
return advancedForm.reset();
|
290
|
+
|
291
|
+
case 4:
|
292
|
+
// 不会触发高级筛选的onReset回调函数
|
293
|
+
configFilterItem(advancedForm);
|
294
|
+
configTag();
|
295
|
+
|
296
|
+
case 6:
|
297
|
+
case "end":
|
298
|
+
return _context2.stop();
|
299
|
+
}
|
300
|
+
}
|
301
|
+
}, _callee2);
|
302
|
+
}));
|
303
|
+
|
304
|
+
return function (_x2) {
|
305
|
+
return _ref5.apply(this, arguments);
|
370
306
|
};
|
371
|
-
}(), [onFilter, currentForm]); //
|
307
|
+
}(), [onFilter, currentForm.current]); // 高级筛选Change
|
308
|
+
|
309
|
+
var onAdvancedChange = useCallback(function () {
|
310
|
+
setCurrentForm('advanced');
|
311
|
+
}, []); // 高级搜索Filter
|
372
312
|
|
373
313
|
var onAdvancedFilter = useCallback(function (values) {
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
314
|
+
setCurrentForm('advanced');
|
315
|
+
onFilter && onFilter(values);
|
316
|
+
configFilterItem(advancedForm);
|
317
|
+
lightForm.reset();
|
318
|
+
}, [onFilter, currentForm.current]); // 高级搜索Reset
|
319
|
+
|
320
|
+
var onAdvancedReset = useCallback(function () {
|
321
|
+
setCurrentForm('advanced');
|
322
|
+
onReset && onReset(toJS(advancedForm.values));
|
323
|
+
configFilterItem(advancedForm);
|
324
|
+
lightForm.reset();
|
325
|
+
}, [onReset]); // 关闭标签清空表单字段值
|
380
326
|
|
381
327
|
var onTagClose = useCallback(function (key) {
|
382
328
|
advancedForm.setValuesIn(key, undefined);
|
383
|
-
|
384
|
-
|
385
|
-
|
329
|
+
configFilterItem(advancedForm);
|
330
|
+
configTag();
|
331
|
+
onFilter && onFilter(toJS(advancedForm.values));
|
332
|
+
}, []); // 异步默认值回调,设置form的loading状态为false
|
333
|
+
|
334
|
+
var onInitialRequestComplete = useCallback(function (_, __, _ref6) {
|
335
|
+
var form = _ref6.form;
|
336
|
+
form.setState({
|
337
|
+
loading: false
|
338
|
+
});
|
339
|
+
}, []);
|
386
340
|
useEffect(function () {
|
387
|
-
|
388
|
-
}, [
|
389
|
-
|
390
|
-
useEffect(function () {// onInit
|
391
|
-
// if (mode === 'panel') {
|
392
|
-
// if (expand) {
|
393
|
-
// onInit && onInit(toJS(advancedForm.values));
|
394
|
-
// } else {
|
395
|
-
// onInit && onInit(toJS(lightForm.values));
|
396
|
-
// }
|
397
|
-
// configTag();
|
398
|
-
// } else {
|
399
|
-
// onInit && onInit(toJS(simpleForm.values));
|
400
|
-
// }
|
401
|
-
}, [mode]);
|
341
|
+
setCurrentForm(currentForm.current);
|
342
|
+
}, []);
|
402
343
|
return /*#__PURE__*/React.createElement("div", {
|
403
344
|
className: cls(prefixCls, props.className)
|
404
345
|
}, /*#__PURE__*/React.createElement("div", {
|
@@ -408,11 +349,11 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
408
349
|
}, addonBefore ? /*#__PURE__*/React.createElement("div", {
|
409
350
|
className: "".concat(prefixCls, "-addonBefore")
|
410
351
|
}, addonBefore) : null, mode === 'panel' ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
411
|
-
className: cls("".concat(prefixCls, "-inline-form"),
|
352
|
+
className: cls("".concat(prefixCls, "-inline-form"), hasDefaultOrRequired ? "".concat(prefixCls, "-inline-form-hidden") : '')
|
412
353
|
}, /*#__PURE__*/React.createElement(LightFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
|
354
|
+
defaultFilterValue: defaultFilterValue,
|
413
355
|
form: lightForm,
|
414
|
-
onChange: onLightFilter
|
415
|
-
onSubmit: onLightFilter
|
356
|
+
onChange: onLightFilter
|
416
357
|
}))), /*#__PURE__*/React.createElement("div", {
|
417
358
|
className: "".concat(prefixCls, "-toggle")
|
418
359
|
}, /*#__PURE__*/React.createElement(Badge, {
|
@@ -441,11 +382,11 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
441
382
|
className: "".concat(prefixCls, "-panel")
|
442
383
|
}, /*#__PURE__*/React.createElement("div", {
|
443
384
|
className: cls("".concat(prefixCls, "-tag"), advancedFilterVisible ? "".concat(prefixCls, "-tag-hidden") : '')
|
444
|
-
}, /*#__PURE__*/React.createElement(Tag.Group, null, tagDataSource.map(function (
|
445
|
-
var key =
|
446
|
-
label =
|
447
|
-
value =
|
448
|
-
type =
|
385
|
+
}, /*#__PURE__*/React.createElement(Tag.Group, null, tagDataSource.map(function (_ref7) {
|
386
|
+
var key = _ref7.key,
|
387
|
+
label = _ref7.label,
|
388
|
+
value = _ref7.value,
|
389
|
+
type = _ref7.type;
|
449
390
|
return /*#__PURE__*/React.createElement(Tag.Closeable, {
|
450
391
|
key: key,
|
451
392
|
afterClose: function afterClose() {
|
@@ -462,8 +403,13 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
462
403
|
}))), /*#__PURE__*/React.createElement("div", {
|
463
404
|
className: cls("".concat(prefixCls, "-advanced-wrap"), !advancedFilterVisible ? "".concat(prefixCls, "-advanced-wrap-hidden") : '')
|
464
405
|
}, /*#__PURE__*/React.createElement(AdvancedFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
|
406
|
+
initialRequest: otherProps.initialRequest ? _objectSpread(_objectSpread({}, otherProps.initialRequest), {}, {
|
407
|
+
onComplete: onInitialRequestComplete
|
408
|
+
}) : undefined,
|
465
409
|
form: advancedForm,
|
466
|
-
|
410
|
+
onChange: onAdvancedChange,
|
411
|
+
onSubmit: onAdvancedFilter,
|
412
|
+
onReset: onAdvancedReset
|
467
413
|
})))) : null);
|
468
414
|
});
|
469
415
|
QueryFilter.defaultProps = {
|
package/es/form/ProForm/index.js
CHANGED
@@ -12,7 +12,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
12
12
|
|
13
13
|
import React, { memo, useEffect, useMemo } from 'react';
|
14
14
|
import cls from 'classnames';
|
15
|
-
import { createForm,
|
15
|
+
import { createForm, onFieldValueChange, registerValidateLocale, setValidateLanguage } from '@formily/core';
|
16
16
|
import { toJS } from '@formily/reactive';
|
17
17
|
import { Form } from '@teamix/formily';
|
18
18
|
import { usePrefixCls, getLanguage } from '@teamix/utils';
|
@@ -79,12 +79,10 @@ var ProForm = /*#__PURE__*/memo(function (_ref) {
|
|
79
79
|
}, [breakpoints, layout, labelAlign, wrapperAlign, labelCol, wrapperCol]); // 添加onChange
|
80
80
|
|
81
81
|
useEffect(function () {
|
82
|
-
form.removeEffects('
|
83
|
-
form.addEffects('
|
84
|
-
|
85
|
-
|
86
|
-
onChange(toJS(form.values));
|
87
|
-
}
|
82
|
+
form.removeEffects('onFieldValueChange');
|
83
|
+
form.addEffects('onFieldValueChange', function () {
|
84
|
+
onFieldValueChange('*', debounce(function (field, form) {
|
85
|
+
onChange && onChange(toJS(form.values), toJS(field.value), field.props.name);
|
88
86
|
}, 300));
|
89
87
|
});
|
90
88
|
}, [form, onChange]); // 配置表单默认值
|
@@ -95,6 +93,10 @@ var ProForm = /*#__PURE__*/memo(function (_ref) {
|
|
95
93
|
} else if (initialRequest) {
|
96
94
|
useInitialRequest(initialRequest).then(function (values) {
|
97
95
|
form.setInitialValues(values);
|
96
|
+
}).finally(function () {
|
97
|
+
initialRequest.onComplete && initialRequest.onComplete(undefined, undefined, {
|
98
|
+
form: form
|
99
|
+
});
|
98
100
|
});
|
99
101
|
}
|
100
102
|
}, []); // 配置国际化
|
package/es/form/typing.d.ts
CHANGED
@@ -58,15 +58,17 @@ export interface ProFormProps extends IFormLayoutProps {
|
|
58
58
|
};
|
59
59
|
children?: React.ReactNode;
|
60
60
|
initialValues?: AnyObject;
|
61
|
-
initialRequest?:
|
61
|
+
initialRequest?: ProFormRequestConfig;
|
62
62
|
previewTextPlaceholder?: ReactNode;
|
63
|
-
onChange?: (values: any,
|
63
|
+
onChange?: (values: any, fieldValue?: any, fieldName?: string) => any;
|
64
64
|
onSubmit?: ((values: any) => any) | CommonRequestConfig;
|
65
65
|
onSubmitFailed?: (feedbacks: IFormFeedback[]) => void;
|
66
66
|
}
|
67
67
|
export interface FilterProps extends ProFormProps {
|
68
68
|
form: FormType;
|
69
|
+
defaultFilterValue?: string;
|
69
70
|
onReset?: (payload?: any) => void;
|
71
|
+
onResetClick?: () => void;
|
70
72
|
}
|
71
73
|
export interface QueryFilterProps extends ProFormProps {
|
72
74
|
/**
|
@@ -77,7 +79,9 @@ export interface QueryFilterProps extends ProFormProps {
|
|
77
79
|
expand?: boolean;
|
78
80
|
addonBefore?: ReactNode;
|
79
81
|
addonAfter?: ReactNode;
|
80
|
-
|
82
|
+
defaultFilterValue?: string;
|
83
|
+
formRef?: React.MutableRefObject<any>;
|
84
|
+
onInit?: (values: any) => boolean;
|
81
85
|
onFilter?: (values: any) => void;
|
82
86
|
onReset?: (payload?: any) => void;
|
83
87
|
}
|
package/es/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.19";
|
25
25
|
export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, hooks, nocode, templates, utils, };
|
package/es/index.js
CHANGED
@@ -27,7 +27,7 @@ export * from './page-header';
|
|
27
27
|
export * from './skeleton';
|
28
28
|
export * from './table'; // export * from './sidebar';
|
29
29
|
|
30
|
-
var version = '1.2.
|
30
|
+
var version = '1.2.19';
|
31
31
|
export { version, ProAction, ProCard, ProField, ProForm, ProInfo, // ProLayout,
|
32
32
|
ProPageContainer, ProPageHeader, ProSkeleton, ProTable, // ProSidebar,
|
33
33
|
hooks, nocode, templates, utils };
|