@teamix/pro 1.2.35 → 1.3.0
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 +705 -1062
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/form/Filter/AdvancedFilter.js +4 -4
- package/es/form/Filter/LightFilter.js +22 -15
- package/es/form/Filter/index.js +83 -109
- package/es/form/ProForm/index.scss +8 -8
- package/es/form/SchemaForm/initializeRequest.js +1 -2
- package/es/form/SchemaForm/reactions.d.ts +2 -2
- package/es/form/SchemaForm/reactions.js +11 -13
- package/es/form/typing.d.ts +4 -1
- package/es/index.d.ts +4 -4
- package/es/index.js +4 -4
- package/es/nocode/configurators/PageHeader.js +2 -2
- package/es/table/components/Layout/index.js +2 -2
- package/es/table/components/Pagination/index.js +11 -1
- package/es/table/components/ToolBar/Fullscreen.js +6 -6
- package/es/table/index.js +3 -4
- package/es/timeline/ProTimeLineItem/index.d.ts +5 -0
- package/es/{step/ProStepItem/components/VerStepItem → timeline/ProTimeLineItem}/index.js +59 -72
- package/es/{step/ProStepItem/components/VerStepItem → timeline/ProTimeLineItem}/index.scss +34 -86
- package/es/timeline/index.d.ts +10 -0
- package/es/{step → timeline}/index.js +33 -57
- package/es/timeline/index.scss +7 -0
- package/es/timeline/typing.d.ts +101 -0
- package/es/{step → timeline}/typing.js +0 -0
- package/lib/form/Filter/AdvancedFilter.js +4 -4
- package/lib/form/Filter/LightFilter.js +21 -15
- package/lib/form/Filter/index.js +83 -109
- package/lib/form/ProForm/index.scss +8 -8
- package/lib/form/SchemaForm/initializeRequest.js +1 -2
- package/lib/form/SchemaForm/reactions.d.ts +2 -2
- package/lib/form/SchemaForm/reactions.js +10 -12
- package/lib/form/typing.d.ts +4 -1
- package/lib/index.d.ts +4 -4
- package/lib/index.js +10 -10
- package/lib/nocode/configurators/PageHeader.js +2 -2
- package/lib/table/components/Layout/index.js +2 -2
- package/lib/table/components/Pagination/index.js +10 -0
- package/lib/table/components/ToolBar/Fullscreen.js +6 -6
- package/lib/table/index.js +3 -4
- package/lib/timeline/ProTimeLineItem/index.d.ts +5 -0
- package/lib/{step/ProStepItem/components/VerStepItem → timeline/ProTimeLineItem}/index.js +58 -72
- package/lib/{step/ProStepItem/components/VerStepItem → timeline/ProTimeLineItem}/index.scss +34 -86
- package/lib/timeline/index.d.ts +10 -0
- package/lib/{step → timeline}/index.js +38 -58
- package/lib/timeline/index.scss +7 -0
- package/lib/timeline/typing.d.ts +101 -0
- package/lib/{step → timeline}/typing.js +0 -0
- package/package.json +1 -1
- package/es/step/ProStepItem/components/HozStepItem/index.d.ts +0 -5
- package/es/step/ProStepItem/components/HozStepItem/index.js +0 -235
- package/es/step/ProStepItem/components/HozStepItem/index.scss +0 -279
- package/es/step/ProStepItem/components/VerStepItem/index.d.ts +0 -5
- package/es/step/ProStepItem/index.d.ts +0 -4
- package/es/step/ProStepItem/index.js +0 -57
- package/es/step/index.d.ts +0 -9
- package/es/step/typing.d.ts +0 -96
- package/lib/step/ProStepItem/components/HozStepItem/index.d.ts +0 -5
- package/lib/step/ProStepItem/components/HozStepItem/index.js +0 -258
- package/lib/step/ProStepItem/components/HozStepItem/index.scss +0 -279
- package/lib/step/ProStepItem/components/VerStepItem/index.d.ts +0 -5
- package/lib/step/ProStepItem/index.d.ts +0 -4
- package/lib/step/ProStepItem/index.js +0 -69
- package/lib/step/index.d.ts +0 -9
- package/lib/step/typing.d.ts +0 -96
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["schema", "onSubmit", "onReset", "
|
1
|
+
var _excluded = ["schema", "onSubmit", "onReset", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol", "forceClear"];
|
2
2
|
|
3
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
4
4
|
|
@@ -35,12 +35,12 @@ var AdvancedFilter = /*#__PURE__*/memo(function (props) {
|
|
35
35
|
var schema = props.schema,
|
36
36
|
onSubmit = props.onSubmit,
|
37
37
|
onReset = props.onReset,
|
38
|
-
onResetClick = props.onResetClick,
|
39
38
|
layout = props.layout,
|
40
39
|
labelAlign = props.labelAlign,
|
41
40
|
wrapperAlign = props.wrapperAlign,
|
42
41
|
labelCol = props.labelCol,
|
43
42
|
wrapperCol = props.wrapperCol,
|
43
|
+
forceClear = props.forceClear,
|
44
44
|
otherProps = _objectWithoutProperties(props, _excluded);
|
45
45
|
|
46
46
|
var prefixCls = usePrefixCls('', {
|
@@ -71,7 +71,7 @@ var AdvancedFilter = /*#__PURE__*/memo(function (props) {
|
|
71
71
|
component: 'Reset',
|
72
72
|
props: {
|
73
73
|
onResetValidateSuccess: onReset,
|
74
|
-
|
74
|
+
forceClear: !!forceClear,
|
75
75
|
children: getMessage('reset')
|
76
76
|
}
|
77
77
|
}, {
|
@@ -86,7 +86,7 @@ var AdvancedFilter = /*#__PURE__*/memo(function (props) {
|
|
86
86
|
}]
|
87
87
|
}])
|
88
88
|
}];
|
89
|
-
}, [schema, onReset
|
89
|
+
}, [schema, onReset]);
|
90
90
|
var getTeamixLayout = useMemo(function () {
|
91
91
|
return {
|
92
92
|
breakpoints: [990],
|
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["form", "schema", "onSubmit", "onChange", "defaultFilterValue"];
|
1
|
+
var _excluded = ["form", "schema", "onSubmit", "onChange", "defaultFilterValue", "activeFilterValueRef"];
|
2
2
|
|
3
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
4
4
|
|
@@ -10,9 +10,8 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
10
10
|
|
11
11
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
12
12
|
|
13
|
-
import React, { memo, useMemo, useCallback, useRef } from 'react';
|
13
|
+
import React, { memo, useMemo, useCallback, useRef, useEffect } from 'react';
|
14
14
|
import cls from 'classnames';
|
15
|
-
import { toJS } from '@formily/reactive';
|
16
15
|
import { usePrefixCls } from '@teamix/utils';
|
17
16
|
import ProForm from '../ProForm';
|
18
17
|
/**
|
@@ -27,24 +26,32 @@ var LightFilter = /*#__PURE__*/memo(function (props) {
|
|
27
26
|
onSubmit = props.onSubmit,
|
28
27
|
onChange = props.onChange,
|
29
28
|
defaultFilterValue = props.defaultFilterValue,
|
29
|
+
activeFilterValueRef = props.activeFilterValueRef,
|
30
30
|
otherProps = _objectWithoutProperties(props, _excluded);
|
31
31
|
|
32
32
|
var filterValue = useRef(defaultFilterValue || ((_schema$ = schema[0]) === null || _schema$ === void 0 ? void 0 : _schema$.name));
|
33
33
|
var prefixCls = usePrefixCls('', {
|
34
34
|
prefix: 'teamix-pro-form-query-filter-light'
|
35
|
-
});
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
35
|
+
});
|
36
|
+
useEffect(function () {
|
37
|
+
if (activeFilterValueRef) {
|
38
|
+
activeFilterValueRef.current = filterValue.current;
|
39
|
+
}
|
40
|
+
}, []); // 筛选提交切换
|
40
41
|
|
41
42
|
var onFilterChange = useCallback(function (value) {
|
42
43
|
filterValue.current = value;
|
43
|
-
}, [form]); // onChange
|
44
44
|
|
45
|
-
|
46
|
-
|
47
|
-
|
45
|
+
if (activeFilterValueRef) {
|
46
|
+
activeFilterValueRef.current = value;
|
47
|
+
}
|
48
|
+
}, [form]); // 实际输出onFilter
|
49
|
+
|
50
|
+
var onFilter = useCallback(function () {
|
51
|
+
var key = filterValue.current;
|
52
|
+
var value = form.values[key];
|
53
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(_defineProperty({}, key, value));
|
54
|
+
}, [onChange]);
|
48
55
|
var LightSchema = useMemo(function () {
|
49
56
|
return [{
|
50
57
|
component: 'LightFilter',
|
@@ -52,7 +59,7 @@ var LightFilter = /*#__PURE__*/memo(function (props) {
|
|
52
59
|
defaultFilterValue: defaultFilterValue,
|
53
60
|
onFilterChange: onFilterChange,
|
54
61
|
buttonProps: {
|
55
|
-
onClick:
|
62
|
+
onClick: onFilter
|
56
63
|
}
|
57
64
|
},
|
58
65
|
children: schema
|
@@ -64,7 +71,7 @@ var LightFilter = /*#__PURE__*/memo(function (props) {
|
|
64
71
|
}
|
65
72
|
}
|
66
73
|
}];
|
67
|
-
}, [schema,
|
74
|
+
}, [schema, onFilter, onFilterChange, defaultFilterValue]);
|
68
75
|
return /*#__PURE__*/React.createElement(ProForm, _objectSpread(_objectSpread({}, otherProps), {}, {
|
69
76
|
form: form,
|
70
77
|
className: cls(prefixCls, props.className),
|
@@ -73,7 +80,7 @@ var LightFilter = /*#__PURE__*/memo(function (props) {
|
|
73
80
|
breakpoints: [],
|
74
81
|
bordered: false,
|
75
82
|
onSubmit: onSubmit,
|
76
|
-
onChange:
|
83
|
+
onChange: onFilter
|
77
84
|
}));
|
78
85
|
});
|
79
86
|
export default LightFilter;
|
package/es/form/Filter/index.js
CHANGED
@@ -70,12 +70,9 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
70
70
|
otherProps = _objectWithoutProperties(props, _excluded);
|
71
71
|
|
72
72
|
var _useSpecialProps = useSpecialProps(props),
|
73
|
-
hasDefault = _useSpecialProps.hasDefault,
|
74
73
|
hasChangeDefault = _useSpecialProps.hasChangeDefault,
|
75
74
|
hasRequired = _useSpecialProps.hasRequired;
|
76
75
|
|
77
|
-
var hasDefaultOrRequired = hasDefault || hasRequired;
|
78
|
-
|
79
76
|
var _useState = useState(!!expand),
|
80
77
|
_useState2 = _slicedToArray(_useState, 2),
|
81
78
|
panelVisible = _useState2[0],
|
@@ -87,8 +84,9 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
87
84
|
setTagDataSource = _useState4[1];
|
88
85
|
|
89
86
|
var filterItem = useRef([]);
|
90
|
-
var defaultForm = mode === 'panel' ?
|
87
|
+
var defaultForm = mode === 'panel' ? 'advanced' : 'simple';
|
91
88
|
var currentForm = useRef(defaultForm);
|
89
|
+
var activeFilterValueRef = useRef();
|
92
90
|
var prefixCls = usePrefixCls('', {
|
93
91
|
prefix: 'teamix-pro-form-query-filter'
|
94
92
|
});
|
@@ -103,7 +101,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
103
101
|
initialValues = _ref.initialValues;
|
104
102
|
|
105
103
|
if (!form.mounted) {
|
106
|
-
//
|
104
|
+
// 借用form的loading属性来判断initialValues和initialRequest是否完成
|
107
105
|
form.setState({
|
108
106
|
loading: !!initialRequest || !!initialValues
|
109
107
|
});
|
@@ -111,24 +109,34 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
111
109
|
|
112
110
|
var loadingField = Object.values(form.fields).filter(function (field) {
|
113
111
|
return !!field.loading;
|
114
|
-
}); // 等待表单mounted + 字段loading结束 + form
|
112
|
+
}); // 等待表单mounted + 字段loading结束 + form默认值初始化 => 表单初始化完成
|
113
|
+
|
114
|
+
if (form.mounted && !loadingField.length && !form.loading) {
|
115
|
+
_onFormInit = function onFormInit() {}; // init后销毁 isFormInit 方法
|
115
116
|
|
116
|
-
if (form.mounted && loadingField.length === 0 && !form.loading) {
|
117
|
-
if (loadingField.length === 0 && !form.loading) {
|
118
|
-
_onFormInit = function onFormInit() {}; // init后销毁 isFormInit 方法
|
119
117
|
|
118
|
+
var values = getValidValues(form.values);
|
120
119
|
|
121
|
-
|
120
|
+
if (!isUsable(values) || !hasChangeDefault) {
|
121
|
+
// 表单无默认值 或 无触发onChange的默认值配置,不会触发onFilter内的onInit,所以主动触发onInit
|
122
|
+
filterEnable.current = 'filter';
|
123
|
+
setTimeout(function () {
|
124
|
+
onInit === null || onInit === void 0 ? void 0 : onInit(toJS(form.values));
|
125
|
+
}, 0);
|
122
126
|
|
123
|
-
if (
|
124
|
-
//
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
127
|
+
if (mode === 'panel') {
|
128
|
+
// 移除lightForm的默认值
|
129
|
+
// 设置Tag
|
130
|
+
configFilterItem(advancedForm);
|
131
|
+
|
132
|
+
if (!panelVisible) {
|
133
|
+
setTimeout(function () {
|
134
|
+
configTag();
|
135
|
+
}, 0);
|
136
|
+
}
|
131
137
|
}
|
138
|
+
} else {
|
139
|
+
filterEnable.current = 'initialized';
|
132
140
|
}
|
133
141
|
}
|
134
142
|
}; // 配置当前激活的form实例
|
@@ -141,9 +149,11 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
141
149
|
var form = formMap[formName];
|
142
150
|
formRef.current = form;
|
143
151
|
|
144
|
-
formRef.current.updateTags
|
145
|
-
|
146
|
-
|
152
|
+
if (!formRef.current.updateTags) {
|
153
|
+
formRef.current.updateTags = function () {
|
154
|
+
configFilterItem(form);
|
155
|
+
};
|
156
|
+
}
|
147
157
|
}
|
148
158
|
}; // 创建简单筛选表单实例
|
149
159
|
|
@@ -153,7 +163,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
153
163
|
validateFirst: true,
|
154
164
|
effects: function effects() {
|
155
165
|
onFormReact(function (form) {
|
156
|
-
if (
|
166
|
+
if (mode === 'inline') {
|
157
167
|
_onFormInit(form, props);
|
158
168
|
}
|
159
169
|
});
|
@@ -165,11 +175,6 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
165
175
|
return createForm({
|
166
176
|
validateFirst: true,
|
167
177
|
effects: function effects() {
|
168
|
-
onFormReact(function (form) {
|
169
|
-
if (defaultForm === 'light') {
|
170
|
-
_onFormInit(form, props);
|
171
|
-
}
|
172
|
-
});
|
173
178
|
onFormInputChange(function () {
|
174
179
|
setCurrentForm('light'); // 主动修改轻量筛选值
|
175
180
|
});
|
@@ -182,7 +187,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
182
187
|
validateFirst: true,
|
183
188
|
effects: function effects() {
|
184
189
|
onFormReact(function (form) {
|
185
|
-
if (
|
190
|
+
if (mode === 'panel') {
|
186
191
|
_onFormInit(form, props);
|
187
192
|
}
|
188
193
|
});
|
@@ -250,14 +255,9 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
250
255
|
if (result) {
|
251
256
|
// 展开高级筛选,Light回填Advanced
|
252
257
|
if (currentForm.current === 'light') {
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
value = _ref5[1];
|
257
|
-
|
258
|
-
// 有效值值回填,防止全部值回填改变,触发不必要的 reactions
|
259
|
-
advancedForm.setValuesIn(key, value);
|
260
|
-
});
|
258
|
+
var key = activeFilterValueRef.current;
|
259
|
+
var value = lightForm.values[key];
|
260
|
+
advancedForm.setValuesIn(key, value);
|
261
261
|
}
|
262
262
|
} else {
|
263
263
|
// 收起高级筛选,配置标签数据
|
@@ -269,7 +269,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
269
269
|
}, [panelVisible, configTag]); // 简单搜索Filter
|
270
270
|
|
271
271
|
var onSimpleFilter = useCallback( /*#__PURE__*/function () {
|
272
|
-
var
|
272
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
|
273
273
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
274
274
|
while (1) {
|
275
275
|
switch (_context.prev = _context.next) {
|
@@ -325,99 +325,72 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
325
325
|
}));
|
326
326
|
|
327
327
|
return function (_x) {
|
328
|
-
return
|
328
|
+
return _ref4.apply(this, arguments);
|
329
329
|
};
|
330
330
|
}(), [onFilter, hasRequired, onInit]); // 轻量搜索Filter
|
331
331
|
|
332
|
-
var onLightFilter = useCallback(
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
switch (_context2.prev = _context2.next) {
|
337
|
-
case 0:
|
338
|
-
if (!(currentForm.current === 'light')) {
|
339
|
-
_context2.next = 14;
|
340
|
-
break;
|
341
|
-
}
|
342
|
-
|
343
|
-
if (!(filterEnable.current === 'initialized')) {
|
344
|
-
_context2.next = 8;
|
345
|
-
break;
|
346
|
-
}
|
347
|
-
|
348
|
-
filterEnable.current = 'filter';
|
349
|
-
onInit === null || onInit === void 0 ? void 0 : onInit(values);
|
350
|
-
configFilterItem(advancedForm);
|
351
|
-
configTag();
|
352
|
-
_context2.next = 14;
|
353
|
-
break;
|
354
|
-
|
355
|
-
case 8:
|
356
|
-
if (!(filterEnable.current === 'filter')) {
|
357
|
-
_context2.next = 14;
|
358
|
-
break;
|
359
|
-
}
|
360
|
-
|
361
|
-
onFilter === null || onFilter === void 0 ? void 0 : onFilter(values);
|
362
|
-
_context2.next = 12;
|
363
|
-
return advancedForm.reset();
|
332
|
+
var onLightFilter = useCallback(function (values) {
|
333
|
+
if (currentForm.current === 'light') {
|
334
|
+
if (filterEnable.current === 'filter') {
|
335
|
+
var _Object$keys;
|
364
336
|
|
365
|
-
|
366
|
-
// 不会触发高级筛选的onReset回调函数
|
367
|
-
configFilterItem(advancedForm);
|
368
|
-
configTag();
|
337
|
+
onFilter === null || onFilter === void 0 ? void 0 : onFilter(values); // 清空advancedForm的值,配置Tag
|
369
338
|
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
};
|
381
|
-
}(), [onFilter, onInit]); // 高级搜索Filter by Submit
|
339
|
+
var clearKeys = {};
|
340
|
+
(_Object$keys = Object.keys(advancedForm.values)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.forEach(function (key) {
|
341
|
+
clearKeys[key] = undefined;
|
342
|
+
});
|
343
|
+
advancedForm.setValues(clearKeys);
|
344
|
+
configFilterItem(advancedForm);
|
345
|
+
configTag();
|
346
|
+
}
|
347
|
+
}
|
348
|
+
}, [onFilter]); // 高级搜索Filter by Submit
|
382
349
|
|
383
350
|
var onAdvancedFilter = useCallback(function (values) {
|
384
351
|
setCurrentForm('advanced');
|
385
352
|
onFilter === null || onFilter === void 0 ? void 0 : onFilter(values);
|
386
|
-
configFilterItem(advancedForm);
|
387
|
-
|
353
|
+
configFilterItem(advancedForm); // 清空lightForm的值
|
354
|
+
|
355
|
+
lightForm.reset('*', {
|
356
|
+
forceClear: true
|
357
|
+
});
|
388
358
|
}, [onFilter]); // 高级搜索Reset
|
389
359
|
|
390
360
|
var onAdvancedReset = useCallback(function () {
|
391
361
|
setCurrentForm('advanced');
|
392
362
|
onReset === null || onReset === void 0 ? void 0 : onReset(toJS(advancedForm.values));
|
393
|
-
configFilterItem(advancedForm);
|
394
|
-
|
363
|
+
configFilterItem(advancedForm); // 清空lightForm的值
|
364
|
+
|
365
|
+
lightForm.reset('*', {
|
366
|
+
forceClear: true
|
367
|
+
});
|
395
368
|
}, [onReset]); // 高级搜索Filter by Change
|
396
369
|
|
397
370
|
var onAdvancedChange = useCallback( /*#__PURE__*/function () {
|
398
|
-
var
|
399
|
-
return regeneratorRuntime.wrap(function
|
371
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
|
372
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
400
373
|
while (1) {
|
401
|
-
switch (
|
374
|
+
switch (_context2.prev = _context2.next) {
|
402
375
|
case 0:
|
403
376
|
if (!(currentForm.current === 'advanced')) {
|
404
|
-
|
377
|
+
_context2.next = 9;
|
405
378
|
break;
|
406
379
|
}
|
407
380
|
|
408
381
|
if (!(filterEnable.current === 'initialized')) {
|
409
|
-
|
382
|
+
_context2.next = 9;
|
410
383
|
break;
|
411
384
|
}
|
412
385
|
|
413
386
|
filterEnable.current = 'filter';
|
414
387
|
|
415
388
|
if (!hasRequired) {
|
416
|
-
|
389
|
+
_context2.next = 6;
|
417
390
|
break;
|
418
391
|
}
|
419
392
|
|
420
|
-
|
393
|
+
_context2.next = 6;
|
421
394
|
return advancedForm.validate();
|
422
395
|
|
423
396
|
case 6:
|
@@ -430,14 +403,14 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
430
403
|
|
431
404
|
case 9:
|
432
405
|
case "end":
|
433
|
-
return
|
406
|
+
return _context2.stop();
|
434
407
|
}
|
435
408
|
}
|
436
|
-
},
|
409
|
+
}, _callee2);
|
437
410
|
}));
|
438
411
|
|
439
|
-
return function (
|
440
|
-
return
|
412
|
+
return function (_x2) {
|
413
|
+
return _ref5.apply(this, arguments);
|
441
414
|
};
|
442
415
|
}(), [hasRequired, onInit]); // 关闭标签清空表单字段值
|
443
416
|
|
@@ -453,7 +426,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
453
426
|
configFilterItem(advancedForm);
|
454
427
|
configTag();
|
455
428
|
onFilter === null || onFilter === void 0 ? void 0 : onFilter(toJS(advancedForm.values));
|
456
|
-
}, []); // initialValues和initialRequest的回调
|
429
|
+
}, [onFilter]); // initialValues和initialRequest的回调
|
457
430
|
|
458
431
|
var onInitialComplete = useCallback(function (form) {
|
459
432
|
form.setState({
|
@@ -472,9 +445,10 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
472
445
|
onExpand: toggleAdvancedFilter,
|
473
446
|
count: tagDataSource.length,
|
474
447
|
inlineContent: mode === 'panel' ? /*#__PURE__*/React.createElement("div", {
|
475
|
-
className: cls("".concat(prefixCls, "-inline"), purePanel ||
|
448
|
+
className: cls("".concat(prefixCls, "-inline"), purePanel || hasRequired ? "".concat(prefixCls, "-inline-hidden") : '')
|
476
449
|
}, /*#__PURE__*/React.createElement(LightFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
|
477
450
|
defaultFilterValue: defaultFilterValue,
|
451
|
+
activeFilterValueRef: activeFilterValueRef,
|
478
452
|
form: lightForm,
|
479
453
|
onChange: debounce(onLightFilter, filterDebounce)
|
480
454
|
}))) : /*#__PURE__*/React.createElement("div", {
|
@@ -492,12 +466,12 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
492
466
|
onReset: onAdvancedReset,
|
493
467
|
onInitialComplete: onInitialComplete
|
494
468
|
})) : null
|
495
|
-
}, mode === 'panel' && !panelVisible ? /*#__PURE__*/React.createElement(Tag.Group, null, tagDataSource.map(function (
|
496
|
-
var key =
|
497
|
-
label =
|
498
|
-
value =
|
499
|
-
type =
|
500
|
-
index =
|
469
|
+
}, mode === 'panel' && !panelVisible ? /*#__PURE__*/React.createElement(Tag.Group, null, tagDataSource.map(function (_ref6) {
|
470
|
+
var key = _ref6.key,
|
471
|
+
label = _ref6.label,
|
472
|
+
value = _ref6.value,
|
473
|
+
type = _ref6.type,
|
474
|
+
index = _ref6.index;
|
501
475
|
return /*#__PURE__*/React.createElement(Tag.Closeable, {
|
502
476
|
key: isNum(index) ? key + label : key,
|
503
477
|
afterClose: function afterClose() {
|
@@ -197,14 +197,14 @@
|
|
197
197
|
margin-right: 4px;
|
198
198
|
}
|
199
199
|
}
|
200
|
-
// 数组类ArrayItem Icon
|
201
|
-
.#{$form-array}-items-item-inner {
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
}
|
200
|
+
// 数组类ArrayItem Icon 居中(移除,通过align:center配置)
|
201
|
+
// .#{$form-array}-items-item-inner {
|
202
|
+
// .#{$css-prefix}space-item {
|
203
|
+
// > .#{$css-prefix}formily-icon {
|
204
|
+
// margin-top: 9px;
|
205
|
+
// }
|
206
|
+
// }
|
207
|
+
// }
|
208
208
|
|
209
209
|
// Editable预览态行高
|
210
210
|
.#{$css-prefix}formily-editable-content {
|
@@ -37,9 +37,8 @@ var initializeRequest = function initializeRequest(requestConfig, suffix) {
|
|
37
37
|
};
|
38
38
|
} else {
|
39
39
|
var requestConfigName = "$requestConfig_".concat(suffix);
|
40
|
-
var requestIndex = (/\d{1,}\w(\d{0,})/g.exec(suffix) || [])[1];
|
41
40
|
return {
|
42
|
-
reactions: ["{{$common($request,".concat(requestConfigName, ",context
|
41
|
+
reactions: ["{{$common($request,".concat(requestConfigName, ",context)}}")],
|
43
42
|
scope: _defineProperty({}, requestConfigName, requestConfig)
|
44
43
|
};
|
45
44
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { ProFormRequestConfig } from '../typing';
|
2
|
-
declare const $request: (field: any, requestConfig: ProFormRequestConfig, context: any, type:
|
3
|
-
declare const $common: (services: any, requestConfig: ProFormRequestConfig, context: any
|
2
|
+
declare const $request: (field: any, requestConfig: ProFormRequestConfig, context: any, type: 'request' | 'validator' | 'dataSource') => Promise<unknown>;
|
3
|
+
declare const $common: (services: any, requestConfig: ProFormRequestConfig, context: any) => (field: any) => any;
|
4
4
|
declare const $validator: (services: any, requestConfig: ProFormRequestConfig, context: any) => (value: any, rules: any, { field }: any) => any;
|
5
5
|
declare const $dataSource: (services: any, requestConfig: ProFormRequestConfig, context: any, readPretty: any) => (field: any) => any;
|
6
6
|
export { $request, $common, $dataSource, $validator };
|
@@ -4,23 +4,21 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
4
4
|
|
5
5
|
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; }
|
6
6
|
|
7
|
-
import { isFn,
|
7
|
+
import { isFn, isPureObj, doCommonRequest, getValueByValue } from '@teamix/utils'; // 配置请求
|
8
8
|
|
9
9
|
var $request = function $request(field, requestConfig, context, type) {
|
10
10
|
var _field$data;
|
11
11
|
|
12
|
-
// let refresh
|
13
|
-
// if(isStr(type)){
|
14
|
-
// refresh = field.data?.refreshMap?.[type]
|
15
|
-
// }else if(isNum(type)){
|
16
|
-
// }else{
|
17
|
-
// refresh = field.data?.refresh;
|
18
|
-
// }
|
19
|
-
var refresh = (_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.refresh;
|
20
12
|
var beforeRequest = requestConfig.beforeRequest,
|
21
13
|
onSuccess = requestConfig.onSuccess;
|
22
|
-
var refreshResult = isPlainObj(refresh) ? refresh : {};
|
23
14
|
var beforeRequestResult = isFn(beforeRequest) ? beforeRequest(field, context) : {};
|
15
|
+
/**
|
16
|
+
* // 主动触发的请求刷新
|
17
|
+
*/
|
18
|
+
// 触发所有配置的请求
|
19
|
+
|
20
|
+
var refresh = (_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.refresh;
|
21
|
+
var refreshResult = isPureObj(refresh) ? refresh : {};
|
24
22
|
return doCommonRequest(_objectSpread(_objectSpread({}, requestConfig), {}, {
|
25
23
|
params: _objectSpread(_objectSpread(_objectSpread({}, requestConfig.params), beforeRequestResult), refreshResult),
|
26
24
|
beforeRequest: function beforeRequest() {
|
@@ -33,9 +31,9 @@ var $request = function $request(field, requestConfig, context, type) {
|
|
33
31
|
}; // 通用请求配置上下文
|
34
32
|
|
35
33
|
|
36
|
-
var $common = function $common(services, requestConfig, context
|
34
|
+
var $common = function $common(services, requestConfig, context) {
|
37
35
|
return function (field) {
|
38
|
-
return services(field, requestConfig, context,
|
36
|
+
return services(field, requestConfig, context, 'request').then(function (res) {
|
39
37
|
return requestConfig.onComplete && requestConfig.onComplete(res, field, context);
|
40
38
|
});
|
41
39
|
};
|
@@ -61,7 +59,7 @@ var $dataSource = function $dataSource(services, requestConfig, context, readPre
|
|
61
59
|
});
|
62
60
|
}
|
63
61
|
|
64
|
-
return services(field, requestConfig, context).then(function (res) {
|
62
|
+
return services(field, requestConfig, context, 'dataSource').then(function (res) {
|
65
63
|
var isValueInDataSource = getValueByValue(res, field.value);
|
66
64
|
var clearValue = isValueInDataSource ? {} : {
|
67
65
|
value: undefined
|
package/es/form/typing.d.ts
CHANGED
@@ -68,8 +68,9 @@ export interface ProFormProps extends IFormLayoutProps {
|
|
68
68
|
export interface FilterProps extends ProFormProps {
|
69
69
|
form: FormType;
|
70
70
|
defaultFilterValue?: string;
|
71
|
+
activeFilterValueRef?: React.MutableRefObject<any>;
|
72
|
+
forceClear?: boolean;
|
71
73
|
onReset?: (payload?: any) => void;
|
72
|
-
onResetClick?: () => void;
|
73
74
|
}
|
74
75
|
export interface QueryFilterLayoutProps {
|
75
76
|
prefixCls?: string;
|
@@ -93,6 +94,8 @@ export interface QueryFilterProps extends ProFormProps {
|
|
93
94
|
purePanel?: boolean;
|
94
95
|
/** 面板是否默认展开,仅在 mode='panel' 时生效 */
|
95
96
|
expand?: boolean;
|
97
|
+
/** 是否强制清除 */
|
98
|
+
forceClear?: boolean;
|
96
99
|
/** 顶部筛选区前缀 */
|
97
100
|
addonBefore?: ReactNode;
|
98
101
|
/** 顶部筛选区后缀 */
|
package/es/index.d.ts
CHANGED
@@ -9,7 +9,7 @@ import ProPageHeader from './page-header';
|
|
9
9
|
import ProTable from './table';
|
10
10
|
import ProSkeleton from './skeleton';
|
11
11
|
import utils from './utils';
|
12
|
-
import {
|
12
|
+
import { ProTimeline } from './timeline';
|
13
13
|
import * as nocode from './nocode';
|
14
14
|
import * as templates from './templates';
|
15
15
|
export * from './actions';
|
@@ -23,6 +23,6 @@ export * from './page-header';
|
|
23
23
|
export * from './skeleton';
|
24
24
|
export * from './table';
|
25
25
|
export * from './utils';
|
26
|
-
export * from './
|
27
|
-
declare const version = "1.
|
28
|
-
export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable,
|
26
|
+
export * from './timeline';
|
27
|
+
declare const version = "1.3.0";
|
28
|
+
export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProTimeline, hooks, nocode, templates, utils, };
|
package/es/index.js
CHANGED
@@ -11,7 +11,7 @@ import ProTable from './table';
|
|
11
11
|
import ProSkeleton from './skeleton';
|
12
12
|
import utils from './utils'; // import ProSidebar from './sidebar'
|
13
13
|
|
14
|
-
import {
|
14
|
+
import { ProTimeline } from './timeline';
|
15
15
|
import * as nocode from './nocode';
|
16
16
|
import * as templates from './templates';
|
17
17
|
import TeamixIcon from '@teamix/icon'; // 设置图标源
|
@@ -29,8 +29,8 @@ export * from './skeleton';
|
|
29
29
|
export * from './table';
|
30
30
|
export * from './utils'; // export * from './sidebar';
|
31
31
|
|
32
|
-
export * from './
|
33
|
-
var version = '1.
|
32
|
+
export * from './timeline';
|
33
|
+
var version = '1.3.0';
|
34
34
|
export { version, ProAction, ProCard, ProField, ProForm, ProInfo, // ProLayout,
|
35
35
|
ProPageContainer, ProPageHeader, ProSkeleton, ProTable, // ProSidebar,
|
36
|
-
|
36
|
+
ProTimeline, hooks, nocode, templates, utils };
|
@@ -80,11 +80,11 @@ var schema = [{
|
|
80
80
|
}, {
|
81
81
|
name: 'iconColor',
|
82
82
|
title: '图标颜色',
|
83
|
-
component: '
|
83
|
+
component: 'ColorPicker'
|
84
84
|
}, {
|
85
85
|
name: 'iconBackgroundColor',
|
86
86
|
title: '图标背景颜色',
|
87
|
-
component: '
|
87
|
+
component: 'ColorPicker'
|
88
88
|
}, {
|
89
89
|
name: 'iconBackgroundType',
|
90
90
|
title: '图标背景形状',
|
@@ -152,13 +152,13 @@ var Layout = function Layout(props) {
|
|
152
152
|
className: cls('wrapper')
|
153
153
|
}, /*#__PURE__*/React.createElement("div", {
|
154
154
|
className: cls('left')
|
155
|
-
}, header && /*#__PURE__*/React.createElement(Header, _objectSpread({}, header))
|
155
|
+
}, header && /*#__PURE__*/React.createElement(Header, _objectSpread({}, header))), /*#__PURE__*/React.createElement("div", {
|
156
156
|
className: cls('right')
|
157
157
|
}, extra && /*#__PURE__*/React.createElement(QuickAction, {
|
158
158
|
actionRef: actionRef,
|
159
159
|
quickAction: extra,
|
160
160
|
rowSelection: rowSelection
|
161
|
-
}), !(dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema4 = dataFilter.schema) === null || _dataFilter$schema4 === void 0 ? void 0 : _dataFilter$schema4.length) && renderQueryFilter())
|
161
|
+
}), !(dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema3 = dataFilter.schema) === null || _dataFilter$schema3 === void 0 ? void 0 : _dataFilter$schema3.length) && renderQueryFilter())), (dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema4 = dataFilter.schema) === null || _dataFilter$schema4 === void 0 ? void 0 : _dataFilter$schema4.length) && renderQueryFilter());
|
162
162
|
} else if (!header && mainAction) {
|
163
163
|
return /*#__PURE__*/React.createElement(React.Fragment, null, renderQueryFilter());
|
164
164
|
} else if (!header && !mainAction) {
|