fan-standard-comp 4.1.7 → 4.1.8
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/fan-standard-comp.min.js +1 -1
- package/es/FormComp/RenderItemGroup/CustomFormList.d.ts +3 -0
- package/es/FormComp/RenderItemGroup/CustomFormList.js +70 -0
- package/es/FormComp/RenderItemGroup/index.d.ts +1 -1
- package/es/FormComp/RenderItemGroup/index.js +12 -6
- package/es/StandardFilter/index.js +62 -57
- package/es/StandardFilter/oldIndexUseRef.d.ts +29 -0
- package/es/StandardFilter/oldIndexUseRef.js +452 -0
- package/es/StandardFilter/refactorDDDD.d.ts +29 -0
- package/es/StandardFilter/refactorDDDD.js +487 -0
- package/es/StandardModal/index.d.ts +1 -0
- package/es/StandardModal/index.js +10 -3
- package/lib/FormComp/RenderItemGroup/CustomFormList.d.ts +3 -0
- package/lib/FormComp/RenderItemGroup/CustomFormList.js +77 -0
- package/lib/FormComp/RenderItemGroup/index.d.ts +1 -1
- package/lib/FormComp/RenderItemGroup/index.js +11 -6
- package/lib/StandardFilter/index.js +61 -56
- package/lib/StandardFilter/oldIndexUseRef.d.ts +29 -0
- package/lib/StandardFilter/oldIndexUseRef.js +460 -0
- package/lib/StandardFilter/refactorDDDD.d.ts +29 -0
- package/lib/StandardFilter/refactorDDDD.js +495 -0
- package/lib/StandardModal/index.d.ts +1 -0
- package/lib/StandardModal/index.js +10 -3
- package/package.json +1 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
var _excluded = ["key", "name"];
|
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { Form, Space, Button } from 'antd';
|
|
7
|
+
import { MinusCircleOutlined } from '@ant-design/icons';
|
|
8
|
+
import Field from "../FieldComponent";
|
|
9
|
+
var CustomFormList = function CustomFormList(props) {
|
|
10
|
+
var filedName = props.filedName,
|
|
11
|
+
fieldName = props.fieldName,
|
|
12
|
+
rules = props.rules;
|
|
13
|
+
return /*#__PURE__*/React.createElement(Form.List, {
|
|
14
|
+
name: filedName || fieldName,
|
|
15
|
+
rules: rules
|
|
16
|
+
}, function (fields, _ref, _ref2) {
|
|
17
|
+
var add = _ref.add,
|
|
18
|
+
remove = _ref.remove;
|
|
19
|
+
var errors = _ref2.errors;
|
|
20
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, fields.map(function (_ref3) {
|
|
21
|
+
var key = _ref3.key,
|
|
22
|
+
name = _ref3.name,
|
|
23
|
+
restField = _objectWithoutProperties(_ref3, _excluded);
|
|
24
|
+
return /*#__PURE__*/React.createElement(Space, {
|
|
25
|
+
key: key,
|
|
26
|
+
align: "baseline"
|
|
27
|
+
}, /*#__PURE__*/React.createElement(Form.Item, _extends({}, restField, {
|
|
28
|
+
label: "\u9009\u9879\u503C",
|
|
29
|
+
name: [name, 'optionValue'],
|
|
30
|
+
rules: [{
|
|
31
|
+
required: true,
|
|
32
|
+
message: '请输入'
|
|
33
|
+
}]
|
|
34
|
+
}), /*#__PURE__*/React.createElement(Field, {
|
|
35
|
+
type: 'input'
|
|
36
|
+
})), /*#__PURE__*/React.createElement(Form.Item, _extends({}, restField, {
|
|
37
|
+
label: "\u9009\u9879\u540D\u79F0",
|
|
38
|
+
name: [name, 'optionName'],
|
|
39
|
+
rules: [{
|
|
40
|
+
required: true,
|
|
41
|
+
message: '请输入'
|
|
42
|
+
}]
|
|
43
|
+
}), /*#__PURE__*/React.createElement(Field, {
|
|
44
|
+
type: 'input'
|
|
45
|
+
})), /*#__PURE__*/React.createElement(Form.Item, _extends({}, restField, {
|
|
46
|
+
label: "\u5916\u90E8\u9009\u9879\u503C",
|
|
47
|
+
name: [name, 'optionValueExtend'],
|
|
48
|
+
rules: [{
|
|
49
|
+
required: true,
|
|
50
|
+
message: '请输入'
|
|
51
|
+
}]
|
|
52
|
+
}), /*#__PURE__*/React.createElement(Field, {
|
|
53
|
+
type: 'input'
|
|
54
|
+
})), /*#__PURE__*/React.createElement(MinusCircleOutlined, {
|
|
55
|
+
onClick: function onClick() {
|
|
56
|
+
return remove(name);
|
|
57
|
+
}
|
|
58
|
+
}));
|
|
59
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
60
|
+
type: "dashed",
|
|
61
|
+
onClick: function onClick() {
|
|
62
|
+
return add();
|
|
63
|
+
},
|
|
64
|
+
block: true
|
|
65
|
+
}, "+ \u6DFB\u52A0\u9009\u9879"), /*#__PURE__*/React.createElement(Form.ErrorList, {
|
|
66
|
+
errors: errors
|
|
67
|
+
}));
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
export default CustomFormList;
|
|
@@ -12,10 +12,11 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
12
12
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
14
|
/* eslint-disable */
|
|
15
|
-
import React, {
|
|
15
|
+
import React, { useCallback } from "react";
|
|
16
16
|
import { Row, Col, Tooltip, Form, Space } from "antd";
|
|
17
17
|
import { general } from "../../data";
|
|
18
18
|
import Field from "../FieldComponent";
|
|
19
|
+
// import CustomFormList from './CustomFormList';
|
|
19
20
|
import SpecIcon from "../../SpecIcon";
|
|
20
21
|
import useStyle from "./style";
|
|
21
22
|
import classNames from "classnames";
|
|
@@ -71,9 +72,10 @@ var RenderItemGroup = function RenderItemGroup(props) {
|
|
|
71
72
|
// if (newVal) form && form.setFieldsValue({ ...newVal })
|
|
72
73
|
if (doUpdateFormFields) doUpdateFormFields(); // 用于触发更新表单实例赋值
|
|
73
74
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
|
|
76
|
+
// useEffect(() => {
|
|
77
|
+
// updateFormFields()
|
|
78
|
+
// }, [form])
|
|
77
79
|
|
|
78
80
|
// 渲染隐藏指定控件
|
|
79
81
|
var itemIsHide = function itemIsHide(isHide, getFieldsValue, FormInstance) {
|
|
@@ -239,7 +241,9 @@ var RenderItemGroup = function RenderItemGroup(props) {
|
|
|
239
241
|
required: item.rules && item.rules.filter(function (rItem) {
|
|
240
242
|
return rItem.required;
|
|
241
243
|
}).length > 0
|
|
242
|
-
}, formLayout, item.protoFormItem),
|
|
244
|
+
}, formLayout, item.protoFormItem),
|
|
245
|
+
// type === 'custom' && customRender ? customRender(form, { ...item }, fieldStatus) : type === 'FormList' ? <CustomFormList name={filedName || fieldName} {...item}/> : renderFormField({ ...item })
|
|
246
|
+
type === 'custom' && customRender ? customRender(form, _objectSpread({}, item), fieldStatus) : renderFormField(_objectSpread({}, item))));
|
|
243
247
|
} else {
|
|
244
248
|
return /*#__PURE__*/React.createElement(FormItem, _extends({
|
|
245
249
|
key: index,
|
|
@@ -251,7 +255,9 @@ var RenderItemGroup = function RenderItemGroup(props) {
|
|
|
251
255
|
name: "info"
|
|
252
256
|
}))) : label,
|
|
253
257
|
rules: item.rules || (item.fieldOptions ? item.fieldOptions.rules : [])
|
|
254
|
-
}, formLayout, item.protoFormItem),
|
|
258
|
+
}, formLayout, item.protoFormItem),
|
|
259
|
+
// type === 'custom' && customRender ? customRender(form, { ...item }, fieldStatus) : type === 'FormList' ? <CustomFormList name={filedName || fieldName} {...item}/> : renderFormField({ ...item })
|
|
260
|
+
type === 'custom' && customRender ? customRender(form, _objectSpread({}, item), fieldStatus) : renderFormField(_objectSpread({}, item)));
|
|
255
261
|
}
|
|
256
262
|
};
|
|
257
263
|
|
|
@@ -12,7 +12,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
12
12
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
13
13
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
14
|
// @ts-nocheck
|
|
15
|
-
import React, { useContext, useEffect,
|
|
15
|
+
import React, { useContext, useEffect, useState, useMemo, useImperativeHandle } from 'react';
|
|
16
16
|
import { Form, Button } from 'antd';
|
|
17
17
|
import RenderItemGroup from "../FormComp/RenderItemGroup";
|
|
18
18
|
import { UtilValueFormat } from "../utils";
|
|
@@ -25,7 +25,6 @@ import useStyle from "./style/FilterStyle";
|
|
|
25
25
|
import SpecIcon from "../SpecIcon";
|
|
26
26
|
var FormItem = Form.Item;
|
|
27
27
|
var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
28
|
-
var _filterFormRef$curren4;
|
|
29
28
|
var InitFanContext = useContext(FanContext);
|
|
30
29
|
var providerConfig = InitFanContext['StandardFilter'] || {}; // 使用上下文(全局配置)设置扩展的配置项
|
|
31
30
|
var _providerConfig$props = _objectSpread(_objectSpread({}, providerConfig), props),
|
|
@@ -66,18 +65,19 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
66
65
|
dateFormatter = _providerConfig$props.dateFormatter,
|
|
67
66
|
_providerConfig$props11 = _providerConfig$props.collapseable,
|
|
68
67
|
collapseable = _providerConfig$props11 === void 0 ? false : _providerConfig$props11,
|
|
69
|
-
parseTransform = _providerConfig$props.parseTransform
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
parseTransform = _providerConfig$props.parseTransform;
|
|
69
|
+
var _Form$useForm = Form.useForm(),
|
|
70
|
+
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
71
|
+
filterForm = _Form$useForm2[0];
|
|
72
|
+
// const filterFormRef = useRef<any>();
|
|
73
73
|
// ref 的转发
|
|
74
74
|
useImperativeHandle(ref, function () {
|
|
75
|
-
return _objectSpread(_objectSpread({},
|
|
75
|
+
return _objectSpread(_objectSpread({}, filterForm), {}, {
|
|
76
76
|
onSubmit: function onSubmit(values) {
|
|
77
77
|
return handleSearch(values);
|
|
78
78
|
}
|
|
79
79
|
});
|
|
80
|
-
});
|
|
80
|
+
}, [filterForm]);
|
|
81
81
|
var _useState = useState([]),
|
|
82
82
|
_useState2 = _slicedToArray(_useState, 2),
|
|
83
83
|
reFormItemGroup = _useState2[0],
|
|
@@ -132,37 +132,42 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
132
132
|
|
|
133
133
|
// 计算表单隐藏项(开启展开与收缩)
|
|
134
134
|
var calculateHideCount = function calculateHideCount(filterFormRef, groups) {
|
|
135
|
-
var _filterFormRef$curren;
|
|
136
135
|
var itemGroupSize = columnNumberAndSize.itemGroupSize,
|
|
137
136
|
columnNumber = columnNumberAndSize.columnNumber;
|
|
138
|
-
var formValues = filterFormRef === null || filterFormRef === void 0
|
|
137
|
+
var formValues = filterFormRef === null || filterFormRef === void 0 ? void 0 : filterFormRef.getFieldValue();
|
|
139
138
|
// Rule1: 不包括isHidden跟isHide的数据
|
|
140
139
|
// Rule2:剩余的表单项中,查找是否有自定义配置 display='block' 或者colSpan的表单项
|
|
141
140
|
var notShowGroupItem = (groups || []).filter(function (item) {
|
|
142
|
-
return (item === null || item === void 0 ? void 0 : item.isHidden) || (item.hasOwnProperty('isHide') ? item.isHide(_objectSpread({}, formValues),
|
|
141
|
+
return (item === null || item === void 0 ? void 0 : item.isHidden) || (item.hasOwnProperty('isHide') ? item.isHide(_objectSpread({}, formValues), _objectSpread({
|
|
142
|
+
current: filterFormRef
|
|
143
|
+
}, filterFormRef)) : false);
|
|
143
144
|
});
|
|
144
145
|
// 可显示的表单值
|
|
145
146
|
var showGroupItem = (groups || []).filter(function (item) {
|
|
146
|
-
return !(item !== null && item !== void 0 && item.isHidden || (item.hasOwnProperty('isHide') ? item.isHide(_objectSpread({}, formValues),
|
|
147
|
+
return !(item !== null && item !== void 0 && item.isHidden || (item.hasOwnProperty('isHide') ? item.isHide(_objectSpread({}, formValues), _objectSpread({
|
|
148
|
+
current: filterFormRef
|
|
149
|
+
}, filterFormRef)) : false));
|
|
147
150
|
});
|
|
148
151
|
var showGroupWithSetting = showGroupItem.filter(function (item) {
|
|
149
152
|
return item.hasOwnProperty('colSpan');
|
|
150
|
-
});
|
|
153
|
+
}); // 指定设置数量
|
|
154
|
+
// const showDefaultWithSetting = showGroupItem.filter(item => !item.hasOwnProperty('colSpan')) // 指定设置数量
|
|
151
155
|
var resultCount = notShowGroupItem.length;
|
|
152
156
|
var aCount = 0; // 需要再次额外新增的数量
|
|
157
|
+
// console.log('showGroupWithSetting', showGroupWithSetting, 'showDefaultWithSetting', showDefaultWithSetting)
|
|
153
158
|
if (showGroupWithSetting.length > 0) {
|
|
154
159
|
showGroupWithSetting.forEach(function (gItem) {
|
|
155
160
|
// colSpan 优先级更高
|
|
156
161
|
if (gItem.hasOwnProperty('colSpan')) {
|
|
157
|
-
// console.log('有配置了colSpan
|
|
158
|
-
aCount += Math.ceil(gItem.colSpan / (24 / columnNumber) - 1); //
|
|
162
|
+
// console.log('有配置了colSpan=' + gItem.colSpan + '占用栅格数量', gItem.colSpan / (24 / columnNumber), '需要再额外减1', gItem.colSpan / (24 / columnNumber) - 1, Math.ceil(gItem.colSpan / (24 / columnNumber) - 1))
|
|
163
|
+
aCount += Math.ceil(gItem.colSpan / (24 / columnNumber) - 1); // 额外占用了(如果4列的情况,前面有三列占用,colSpan配置了两列占用,则在此处不要减1)
|
|
159
164
|
return;
|
|
160
165
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
+
if (gItem.hasOwnProperty('display') && gItem.display === 'block') {
|
|
167
|
+
// TODO.计算会有问题
|
|
168
|
+
// console.log('有配置了display=block', Math.ceil(24 / (24 / columnNumber) - 1))
|
|
169
|
+
// aCount += columnNumber -1 // Math.ceil(24 / (24 / columnNumber) - 1) // 额外占用了
|
|
170
|
+
}
|
|
166
171
|
});
|
|
167
172
|
}
|
|
168
173
|
setAdditionalCount(aCount);
|
|
@@ -235,7 +240,7 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
235
240
|
})) : null);
|
|
236
241
|
}
|
|
237
242
|
})];
|
|
238
|
-
}, [confirmText, cancelText, filterFormLayout, reFormItemGroup, onFilterSearch, onFilterReset, columnNumberAndSize,
|
|
243
|
+
}, [confirmText, cancelText, filterFormLayout, reFormItemGroup, onFilterSearch, onFilterReset, columnNumberAndSize, filterForm, isHideCount, collapseable, collapsed]);
|
|
239
244
|
|
|
240
245
|
// 更新表单控件值,用于外部获取当前表单实例(force是否强制清空表单)
|
|
241
246
|
var updateFormFields = function updateFormFields(newVal, force) {
|
|
@@ -243,7 +248,7 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
243
248
|
if (force) {
|
|
244
249
|
// this.filterFormRef.current.resetFields()
|
|
245
250
|
// 先清空 再赋值
|
|
246
|
-
resetValues =
|
|
251
|
+
resetValues = filterForm.getFieldsValue();
|
|
247
252
|
Object.keys(resetValues).forEach(function (item) {
|
|
248
253
|
resetValues[item] = undefined;
|
|
249
254
|
});
|
|
@@ -275,18 +280,20 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
275
280
|
}
|
|
276
281
|
});
|
|
277
282
|
}
|
|
278
|
-
|
|
283
|
+
filterForm.setFieldsValue(_objectSpread(_objectSpread({}, resetValues), newVal || {})); // 直接清空表单的赋值
|
|
279
284
|
forceUpdateForm();
|
|
280
285
|
};
|
|
281
286
|
// 强制更新表单值,用于赋初始化实例值
|
|
282
|
-
var forceUpdateForm =
|
|
283
|
-
var formValues =
|
|
287
|
+
var forceUpdateForm = function forceUpdateForm() {
|
|
288
|
+
var formValues = filterForm.getFieldsValue();
|
|
284
289
|
if (Object.prototype.hasOwnProperty.call(formValues, false)) {
|
|
285
290
|
delete formValues.false; // 自定义结构会莫名的出来一个false字段
|
|
286
291
|
}
|
|
287
|
-
calculateHideCount(
|
|
288
|
-
if (getFormFields) getFormFields(formValues,
|
|
289
|
-
|
|
292
|
+
calculateHideCount(filterForm, reFormItemGroup); // 更新当前表单数量,排除被隐藏的值
|
|
293
|
+
if (getFormFields) getFormFields(formValues, _objectSpread({
|
|
294
|
+
current: filterForm
|
|
295
|
+
}, filterForm));
|
|
296
|
+
};
|
|
290
297
|
var handleSearch = function handleSearch(values) {
|
|
291
298
|
if (Object.prototype.hasOwnProperty.call(values, false)) {
|
|
292
299
|
delete values.false; // 自定义结构会莫名的出来一个false字段
|
|
@@ -300,18 +307,18 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
300
307
|
}
|
|
301
308
|
};
|
|
302
309
|
var handleReset = function handleReset() {
|
|
303
|
-
|
|
304
|
-
//
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
+
filterForm.resetFields();
|
|
311
|
+
// 使用此方法,表单校验无法清空掉,所以需要先重置resetFields()
|
|
312
|
+
var resetValues = filterForm.getFieldsValue();
|
|
313
|
+
Object.keys(resetValues).forEach(function (item) {
|
|
314
|
+
resetValues[item] = undefined;
|
|
315
|
+
});
|
|
316
|
+
filterForm.setFieldsValue(_objectSpread({}, resetValues)); // 直接清空表单的赋值
|
|
317
|
+
// filterForm.resetFields() // 单独用此方法无效,所以先清空+设置所有值为undefined
|
|
310
318
|
setReFormItemGroup(formItemGroup); // 重新渲染列表
|
|
311
|
-
calculateHideCount(
|
|
319
|
+
calculateHideCount(filterForm, reFormItemGroup);
|
|
312
320
|
if (onFilterReset) {
|
|
313
|
-
|
|
314
|
-
onFilterReset(filterFormRef === null || filterFormRef === void 0 || (_filterFormRef$curren2 = filterFormRef.current) === null || _filterFormRef$curren2 === void 0 ? void 0 : _filterFormRef$curren2.getFieldsValue());
|
|
321
|
+
onFilterReset(filterForm === null || filterForm === void 0 ? void 0 : filterForm.getFieldsValue());
|
|
315
322
|
}
|
|
316
323
|
};
|
|
317
324
|
|
|
@@ -348,7 +355,9 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
348
355
|
item.style = _objectSpread(_objectSpread({}, item.style || {}), {}, {
|
|
349
356
|
display: item.isHidden ? 'none' : 'block'
|
|
350
357
|
});
|
|
351
|
-
if (item.hasOwnProperty('isHide') && itemIsHide(item.isHide, formValues,
|
|
358
|
+
if (item.hasOwnProperty('isHide') && itemIsHide(item.isHide, formValues, _objectSpread({
|
|
359
|
+
current: filterForm
|
|
360
|
+
}, filterForm))) {
|
|
352
361
|
showItemNumber++;
|
|
353
362
|
item.isHidden = true;
|
|
354
363
|
// console.log('当前是结构是隐藏未渲染,跳到下个序号', showItemNumber)
|
|
@@ -364,30 +373,24 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
364
373
|
useEffect(function () {
|
|
365
374
|
// 初始化表单数据数据
|
|
366
375
|
if (collapseable && filterFormLayout === "horizontal") {
|
|
367
|
-
var
|
|
368
|
-
var formValues = filterFormRef === null || filterFormRef === void 0 || (_filterFormRef$curren3 = filterFormRef.current) === null || _filterFormRef$curren3 === void 0 ? void 0 : _filterFormRef$curren3.getFieldValue();
|
|
376
|
+
var formValues = filterForm === null || filterForm === void 0 ? void 0 : filterForm.getFieldValue();
|
|
369
377
|
updateGroupByCollapsed(formItemGroup, formValues).then(function (groups) {
|
|
370
378
|
setReFormItemGroup(groups);
|
|
371
|
-
calculateHideCount(
|
|
379
|
+
calculateHideCount(filterForm, groups);
|
|
372
380
|
});
|
|
373
381
|
} else {
|
|
374
382
|
setReFormItemGroup(formItemGroup);
|
|
375
383
|
}
|
|
376
|
-
}, [formItemGroup, collapseable, filterFormLayout, collapsed, columnNumberAndSize === null || columnNumberAndSize === void 0 ? void 0 : columnNumberAndSize.columnNumber, itemGroupConfig,
|
|
377
|
-
useEffect(function () {
|
|
378
|
-
if (!forceListener) {
|
|
379
|
-
if (initialValues && JSON.stringify(initialValues) !== '{}') {
|
|
380
|
-
updateFormFields(initialValues, true);
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
}, []);
|
|
384
|
+
}, [formItemGroup, collapseable, filterFormLayout, collapsed, columnNumberAndSize === null || columnNumberAndSize === void 0 ? void 0 : columnNumberAndSize.columnNumber, itemGroupConfig, filterForm]);
|
|
384
385
|
useEffect(function () {
|
|
385
|
-
if (
|
|
386
|
-
|
|
386
|
+
if (filterForm) {
|
|
387
|
+
// <---- check ref before use the form instance
|
|
388
|
+
if (initialValues && _typeof(initialValues) === 'object') {
|
|
387
389
|
updateFormFields(initialValues, true);
|
|
388
390
|
}
|
|
389
391
|
}
|
|
390
|
-
}, [
|
|
392
|
+
}, [filterForm]);
|
|
393
|
+
|
|
391
394
|
// / 表单列表组 formItemGroup 类型为数组或者React.Node
|
|
392
395
|
var renderFormItemGroup = function renderFormItemGroup() {
|
|
393
396
|
if (Array.isArray(reFormItemGroup)) {
|
|
@@ -397,7 +400,7 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
397
400
|
size: filterFormLayout === 'horizontal' ? 'xxlg' : 'md' // size决定栅格排列数量(4列排版)
|
|
398
401
|
,
|
|
399
402
|
layout: filterFormLayout,
|
|
400
|
-
form:
|
|
403
|
+
form: filterForm,
|
|
401
404
|
collapseable: collapseable,
|
|
402
405
|
collapsed: collapsed,
|
|
403
406
|
parentNode: 'standardFilter'
|
|
@@ -431,8 +434,10 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
431
434
|
}, buttonGroupConfig))) : null;
|
|
432
435
|
};
|
|
433
436
|
return wrapSSR( /*#__PURE__*/React.createElement(Form, {
|
|
434
|
-
name: 'standard-filter-form-' + guid()
|
|
435
|
-
ref
|
|
437
|
+
name: 'standard-filter-form-' + guid()
|
|
438
|
+
// ref={filterFormRef}
|
|
439
|
+
,
|
|
440
|
+
form: filterForm,
|
|
436
441
|
layout: filterFormLayout,
|
|
437
442
|
onFinish: handleSearch
|
|
438
443
|
// className={classNames(componentName, hashId, props?.className)}
|
|
@@ -441,7 +446,7 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
441
446
|
style: style,
|
|
442
447
|
colon: colon
|
|
443
448
|
// {...providerConfig} // 直接传这里面的话,会影响layout渲染
|
|
444
|
-
//
|
|
449
|
+
// initialValues={parseTransform ? parseTransform(initialValues) : initialValues}
|
|
445
450
|
}, /*#__PURE__*/React.createElement("div", {
|
|
446
451
|
className: "filter-grid filter-grid-".concat(gridLayout),
|
|
447
452
|
style: filterFormStyle
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FieldComponentProps } from '../FormComp/FieldComponent';
|
|
3
|
+
import { ButtonGroupOptionsProps } from '../ButtonGroup/';
|
|
4
|
+
import './style/index.less';
|
|
5
|
+
export interface StandardFilterProps {
|
|
6
|
+
buttonGroup?: ButtonGroupOptionsProps[];
|
|
7
|
+
buttonGroupConfig?: Object;
|
|
8
|
+
formItemGroup?: FieldComponentProps[];
|
|
9
|
+
confirmText?: string;
|
|
10
|
+
onFilterSearch?: (value?: object) => void;
|
|
11
|
+
onFilterReset?: (value?: object) => void;
|
|
12
|
+
cancelText?: string;
|
|
13
|
+
initialValues?: any;
|
|
14
|
+
getFormFields?: (fields: any, form: any) => void;
|
|
15
|
+
className?: string;
|
|
16
|
+
style?: React.CSSProperties;
|
|
17
|
+
min?: number;
|
|
18
|
+
codes?: any[];
|
|
19
|
+
permissionCodes?: string[];
|
|
20
|
+
formLayout?: 'inline' | 'horizontal' | 'vertical';
|
|
21
|
+
gridLayout?: 'inline' | 'horizontal';
|
|
22
|
+
colon?: boolean;
|
|
23
|
+
dateFormatter?: 'dayjs' | 'string';
|
|
24
|
+
itemGroupConfig?: object;
|
|
25
|
+
collapseable?: boolean;
|
|
26
|
+
[k: string]: any;
|
|
27
|
+
}
|
|
28
|
+
declare const StandardFilter: React.ForwardRefExoticComponent<Omit<StandardFilterProps, "ref"> & React.RefAttributes<unknown>>;
|
|
29
|
+
export default StandardFilter;
|