fan-standard-comp 4.1.8 → 4.1.9

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.
@@ -12,7 +12,7 @@ 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, { useCallback } from "react";
15
+ import React, { useEffect, 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";
@@ -72,10 +72,9 @@ var RenderItemGroup = function RenderItemGroup(props) {
72
72
  // if (newVal) form && form.setFieldsValue({ ...newVal })
73
73
  if (doUpdateFormFields) doUpdateFormFields(); // 用于触发更新表单实例赋值
74
74
  };
75
-
76
- // useEffect(() => {
77
- // updateFormFields()
78
- // }, [form])
75
+ useEffect(function () {
76
+ updateFormFields();
77
+ }, [form]);
79
78
 
80
79
  // 渲染隐藏指定控件
81
80
  var itemIsHide = function itemIsHide(isHide, getFieldsValue, FormInstance) {
@@ -65,7 +65,9 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
65
65
  dateFormatter = _providerConfig$props.dateFormatter,
66
66
  _providerConfig$props11 = _providerConfig$props.collapseable,
67
67
  collapseable = _providerConfig$props11 === void 0 ? false : _providerConfig$props11,
68
- parseTransform = _providerConfig$props.parseTransform;
68
+ parseTransform = _providerConfig$props.parseTransform,
69
+ _providerConfig$props12 = _providerConfig$props.forceListener,
70
+ forceListener = _providerConfig$props12 === void 0 ? true : _providerConfig$props12;
69
71
  var _Form$useForm = Form.useForm(),
70
72
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
71
73
  filterForm = _Form$useForm2[0];
@@ -134,6 +136,7 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
134
136
  var calculateHideCount = function calculateHideCount(filterFormRef, groups) {
135
137
  var itemGroupSize = columnNumberAndSize.itemGroupSize,
136
138
  columnNumber = columnNumberAndSize.columnNumber;
139
+ // collapseable && console.log('当前表单组有:', groups)
137
140
  var formValues = filterFormRef === null || filterFormRef === void 0 ? void 0 : filterFormRef.getFieldValue();
138
141
  // Rule1: 不包括isHidden跟isHide的数据
139
142
  // Rule2:剩余的表单项中,查找是否有自定义配置 display='block' 或者colSpan的表单项
@@ -148,6 +151,10 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
148
151
  current: filterFormRef
149
152
  }, filterFormRef)) : false));
150
153
  });
154
+ // collapseable && console.log('当前显示的表单组', showGroupItem)
155
+ // collapseable && showGroupItem.forEach((item) => {
156
+ // console.log('当前是否有配置colSpan或者display', item.display, item.colSpan)
157
+ // })
151
158
  var showGroupWithSetting = showGroupItem.filter(function (item) {
152
159
  return item.hasOwnProperty('colSpan');
153
160
  }); // 指定设置数量
@@ -382,15 +389,30 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
382
389
  setReFormItemGroup(formItemGroup);
383
390
  }
384
391
  }, [formItemGroup, collapseable, filterFormLayout, collapsed, columnNumberAndSize === null || columnNumberAndSize === void 0 ? void 0 : columnNumberAndSize.columnNumber, itemGroupConfig, filterForm]);
392
+
393
+ // 如果不监听initialValues的话,可能url上的search更改时表单无法清空,需要自行手动重置
385
394
  useEffect(function () {
386
- if (filterForm) {
387
- // <---- check ref before use the form instance
388
- if (initialValues && _typeof(initialValues) === 'object') {
395
+ if (!forceListener) {
396
+ if (initialValues && JSON.stringify(initialValues) !== '{}') {
389
397
  updateFormFields(initialValues, true);
390
398
  }
391
399
  }
392
- }, [filterForm]);
393
-
400
+ }, [forceListener, filterForm]);
401
+ useEffect(function () {
402
+ if (forceListener) {
403
+ if (initialValues && JSON.stringify(initialValues) !== '{}') {
404
+ updateFormFields(initialValues, true);
405
+ }
406
+ }
407
+ }, [forceListener, initialValues]);
408
+ // 如果不监听initialValues的话,可能url上的search更改时表单无法清空
409
+ // useEffect(() => {
410
+ // if (filterForm) { // <---- check ref before use the form instance
411
+ // if (initialValues && typeof initialValues === 'object') {
412
+ // updateFormFields(initialValues, true)
413
+ // }
414
+ // }
415
+ // }, [filterForm]);
394
416
  // / 表单列表组 formItemGroup 类型为数组或者React.Node
395
417
  var renderFormItemGroup = function renderFormItemGroup() {
396
418
  if (Array.isArray(reFormItemGroup)) {
@@ -79,10 +79,9 @@ var RenderItemGroup = function RenderItemGroup(props) {
79
79
  // if (newVal) form && form.setFieldsValue({ ...newVal })
80
80
  if (doUpdateFormFields) doUpdateFormFields(); // 用于触发更新表单实例赋值
81
81
  };
82
-
83
- // useEffect(() => {
84
- // updateFormFields()
85
- // }, [form])
82
+ (0, _react.useEffect)(function () {
83
+ updateFormFields();
84
+ }, [form]);
86
85
 
87
86
  // 渲染隐藏指定控件
88
87
  var itemIsHide = function itemIsHide(isHide, getFieldsValue, FormInstance) {
@@ -73,7 +73,9 @@ var StandardFilter = /*#__PURE__*/_react.default.forwardRef(function (props, ref
73
73
  dateFormatter = _providerConfig$props.dateFormatter,
74
74
  _providerConfig$props11 = _providerConfig$props.collapseable,
75
75
  collapseable = _providerConfig$props11 === void 0 ? false : _providerConfig$props11,
76
- parseTransform = _providerConfig$props.parseTransform;
76
+ parseTransform = _providerConfig$props.parseTransform,
77
+ _providerConfig$props12 = _providerConfig$props.forceListener,
78
+ forceListener = _providerConfig$props12 === void 0 ? true : _providerConfig$props12;
77
79
  var _Form$useForm = _antd.Form.useForm(),
78
80
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
79
81
  filterForm = _Form$useForm2[0];
@@ -142,6 +144,7 @@ var StandardFilter = /*#__PURE__*/_react.default.forwardRef(function (props, ref
142
144
  var calculateHideCount = function calculateHideCount(filterFormRef, groups) {
143
145
  var itemGroupSize = columnNumberAndSize.itemGroupSize,
144
146
  columnNumber = columnNumberAndSize.columnNumber;
147
+ // collapseable && console.log('当前表单组有:', groups)
145
148
  var formValues = filterFormRef === null || filterFormRef === void 0 ? void 0 : filterFormRef.getFieldValue();
146
149
  // Rule1: 不包括isHidden跟isHide的数据
147
150
  // Rule2:剩余的表单项中,查找是否有自定义配置 display='block' 或者colSpan的表单项
@@ -156,6 +159,10 @@ var StandardFilter = /*#__PURE__*/_react.default.forwardRef(function (props, ref
156
159
  current: filterFormRef
157
160
  }, filterFormRef)) : false));
158
161
  });
162
+ // collapseable && console.log('当前显示的表单组', showGroupItem)
163
+ // collapseable && showGroupItem.forEach((item) => {
164
+ // console.log('当前是否有配置colSpan或者display', item.display, item.colSpan)
165
+ // })
159
166
  var showGroupWithSetting = showGroupItem.filter(function (item) {
160
167
  return item.hasOwnProperty('colSpan');
161
168
  }); // 指定设置数量
@@ -390,15 +397,30 @@ var StandardFilter = /*#__PURE__*/_react.default.forwardRef(function (props, ref
390
397
  setReFormItemGroup(formItemGroup);
391
398
  }
392
399
  }, [formItemGroup, collapseable, filterFormLayout, collapsed, columnNumberAndSize === null || columnNumberAndSize === void 0 ? void 0 : columnNumberAndSize.columnNumber, itemGroupConfig, filterForm]);
400
+
401
+ // 如果不监听initialValues的话,可能url上的search更改时表单无法清空,需要自行手动重置
393
402
  (0, _react.useEffect)(function () {
394
- if (filterForm) {
395
- // <---- check ref before use the form instance
396
- if (initialValues && _typeof(initialValues) === 'object') {
403
+ if (!forceListener) {
404
+ if (initialValues && JSON.stringify(initialValues) !== '{}') {
397
405
  updateFormFields(initialValues, true);
398
406
  }
399
407
  }
400
- }, [filterForm]);
401
-
408
+ }, [forceListener, filterForm]);
409
+ (0, _react.useEffect)(function () {
410
+ if (forceListener) {
411
+ if (initialValues && JSON.stringify(initialValues) !== '{}') {
412
+ updateFormFields(initialValues, true);
413
+ }
414
+ }
415
+ }, [forceListener, initialValues]);
416
+ // 如果不监听initialValues的话,可能url上的search更改时表单无法清空
417
+ // useEffect(() => {
418
+ // if (filterForm) { // <---- check ref before use the form instance
419
+ // if (initialValues && typeof initialValues === 'object') {
420
+ // updateFormFields(initialValues, true)
421
+ // }
422
+ // }
423
+ // }, [filterForm]);
402
424
  // / 表单列表组 formItemGroup 类型为数组或者React.Node
403
425
  var renderFormItemGroup = function renderFormItemGroup() {
404
426
  if (Array.isArray(reFormItemGroup)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fan-standard-comp",
3
- "version": "4.1.8",
3
+ "version": "4.1.9",
4
4
  "description": "FZ standard-comp,basic of antd5.0 and custom component.",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",