wargerm 0.4.2 → 0.4.5

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.
@@ -3,6 +3,7 @@ import { CascaderProps } from 'antd/lib/Cascader';
3
3
  export interface ICascader extends CascaderProps<any> {
4
4
  request?: () => Promise<any>;
5
5
  onLoad?: (options: Record<string, any>[]) => void;
6
+ params?: Record<string, any>;
6
7
  }
7
8
  declare const WCascader: FC<ICascader>;
8
9
  export default WCascader;
@@ -6,6 +6,7 @@ interface TreeSelectProps<T> extends Props<T> {
6
6
  treeNodeChildrenProp?: string;
7
7
  request?: () => Promise<any>;
8
8
  onLoad?: (options: Record<string, any>[]) => void;
9
+ params?: Record<string, any>;
9
10
  }
10
11
  export declare type IndexComponent = React.FC<TreeSelectProps<any>> & {
11
12
  TreeNode?: React.FC<any>;
@@ -58,6 +58,7 @@ export interface WFormProps extends FormProps {
58
58
  onReset?: () => void;
59
59
  formRef?: MutableRefObject<FormInstance>;
60
60
  search?: Isearch | false;
61
+ disabledRuler?: boolean;
61
62
  }
62
63
  declare const _default: React.ForwardRefExoticComponent<WFormProps & React.RefAttributes<unknown>>;
63
64
  export default _default;
@@ -0,0 +1 @@
1
+ export declare const usePreventUnmountEffect: (callback: Function, deps: Array<any>) => void;
package/dist/index.esm.js CHANGED
@@ -38,6 +38,7 @@ import 'antd/es/tree-select/style';
38
38
  import _TreeSelect from 'antd/es/tree-select';
39
39
  import 'antd/es/cascader/style';
40
40
  import _Cascader from 'antd/es/cascader';
41
+ import cloneDeep from 'lodash/cloneDeep';
41
42
  import CountUp from 'react-countup';
42
43
  import { Swiper, SwiperSlide } from 'swiper/react';
43
44
  import SwiperCore, { Pagination, Navigation, Autoplay } from 'swiper';
@@ -639,6 +640,24 @@ function FrameBox(_ref) {
639
640
  }), children);
640
641
  }
641
642
 
643
+ var usePreventUnmountEffect = function usePreventUnmountEffect(callback, deps) {
644
+ // const isUnmountRef = useRef(false);
645
+ var _useState = useState(false),
646
+ _useState2 = _slicedToArray(_useState, 2),
647
+ isUnmount = _useState2[0],
648
+ setIsUnmount = _useState2[1];
649
+
650
+ useEffect(function () {
651
+ // !isUnmountRef.current && callback()
652
+ !isUnmount && callback();
653
+ return function () {
654
+ // isUnmountRef.current = true;
655
+ setIsUnmount(true);
656
+ };
657
+ }, // [isUnmountRef, ...deps],
658
+ [isUnmount].concat(_toConsumableArray(deps)));
659
+ };
660
+
642
661
  var _excluded$2 = ["request", "valueEnum", "onLoad", "children", "params"],
643
662
  _excluded2 = ["children"];
644
663
 
@@ -665,7 +684,7 @@ var WSelect = function WSelect(props) {
665
684
  resList = _useState6[0],
666
685
  setResList = _useState6[1];
667
686
 
668
- useEffect(function () {
687
+ usePreventUnmountEffect(function () {
669
688
  _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
670
689
  var res, node;
671
690
  return regeneratorRuntime.wrap(function _callee$(_context) {
@@ -728,7 +747,7 @@ var WSelect = function WSelect(props) {
728
747
 
729
748
  onLoad && onLoad(options);
730
749
  setValueEnumList(valueEnumNode);
731
- }, [JSON.stringify(resList), JSON.stringify(request), JSON.stringify(params || {})]);
750
+ }, [JSON.stringify(params || {})]);
732
751
  return /*#__PURE__*/React.createElement(_Select, _objectSpread2({
733
752
  showSearch: true,
734
753
  filterOption: function filterOption(input, option) {
@@ -6564,7 +6583,7 @@ var NumericInput = /*#__PURE__*/function (_React$Component) {
6564
6583
  return NumericInput;
6565
6584
  }(React.Component);
6566
6585
 
6567
- var _excluded$4 = ["treeNodeLabelProp", "treeNodeValueProp", "treeNodeChildrenProp", "request", "onLoad", "treeData"];
6586
+ var _excluded$4 = ["treeNodeLabelProp", "treeNodeValueProp", "treeNodeChildrenProp", "request", "onLoad", "params", "treeData"];
6568
6587
 
6569
6588
  var TreeSelect = function TreeSelect(_ref) {
6570
6589
  var _ref$treeNodeLabelPro = _ref.treeNodeLabelProp,
@@ -6575,6 +6594,7 @@ var TreeSelect = function TreeSelect(_ref) {
6575
6594
  treeNodeChildrenProp = _ref$treeNodeChildren === void 0 ? 'children' : _ref$treeNodeChildren,
6576
6595
  request = _ref.request,
6577
6596
  onLoad = _ref.onLoad,
6597
+ params = _ref.params,
6578
6598
  treePropsData = _ref.treeData,
6579
6599
  props = _objectWithoutProperties(_ref, _excluded$4);
6580
6600
 
@@ -6593,7 +6613,7 @@ var TreeSelect = function TreeSelect(_ref) {
6593
6613
  treeData = _useState2[0],
6594
6614
  setTreeData = _useState2[1];
6595
6615
 
6596
- useEffect(function () {
6616
+ usePreventUnmountEffect(function () {
6597
6617
  _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
6598
6618
  var res;
6599
6619
  return regeneratorRuntime.wrap(function _callee$(_context) {
@@ -6625,7 +6645,7 @@ var TreeSelect = function TreeSelect(_ref) {
6625
6645
  }
6626
6646
  }, _callee);
6627
6647
  }))();
6628
- }, []);
6648
+ }, [JSON.stringify(params)]);
6629
6649
  return /*#__PURE__*/React.createElement(_TreeSelect, _objectSpread2({
6630
6650
  showSearch: true,
6631
6651
  treeNodeFilterProp: "title",
@@ -6636,7 +6656,7 @@ var TreeSelect = function TreeSelect(_ref) {
6636
6656
  var Index$6 = TreeSelect;
6637
6657
  Index$6.TreeNode = _TreeSelect.TreeNode;
6638
6658
 
6639
- var _excluded$5 = ["request", "options", "onLoad", "value", "onChange"];
6659
+ var _excluded$5 = ["request", "options", "onLoad", "value", "onChange", "params"];
6640
6660
 
6641
6661
  var WCascader = function WCascader(props) {
6642
6662
  var request = props.request,
@@ -6644,6 +6664,7 @@ var WCascader = function WCascader(props) {
6644
6664
  onLoad = props.onLoad,
6645
6665
  value = props.value,
6646
6666
  _onChange = props.onChange,
6667
+ params = props.params,
6647
6668
  extraProps = _objectWithoutProperties(props, _excluded$5);
6648
6669
 
6649
6670
  var _useState = useState(null),
@@ -6651,7 +6672,7 @@ var WCascader = function WCascader(props) {
6651
6672
  resList = _useState2[0],
6652
6673
  setResList = _useState2[1];
6653
6674
 
6654
- useEffect(function () {
6675
+ usePreventUnmountEffect(function () {
6655
6676
  _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
6656
6677
  var res;
6657
6678
  return regeneratorRuntime.wrap(function _callee$(_context) {
@@ -6678,7 +6699,7 @@ var WCascader = function WCascader(props) {
6678
6699
  }
6679
6700
  }, _callee);
6680
6701
  }))();
6681
- }, [JSON.stringify(resList)]);
6702
+ }, [JSON.stringify(params)]);
6682
6703
  return /*#__PURE__*/React.createElement(_Cascader, _objectSpread2({
6683
6704
  value: typeof value === 'string' ? [value] : value,
6684
6705
  onChange: function onChange(v, options) {
@@ -6689,7 +6710,7 @@ var WCascader = function WCascader(props) {
6689
6710
  }, extraProps));
6690
6711
  };
6691
6712
 
6692
- var _excluded$6 = ["columns", "extraColumns", "className", "style", "search", "disabled", "disabledHideInSearch", "onFormChange", "onSubmit", "onReset"];
6713
+ var _excluded$6 = ["columns", "extraColumns", "className", "style", "search", "disabled", "disabledHideInSearch", "disabledRuler", "onFormChange", "onSubmit", "onReset"];
6693
6714
  var RangePicker$2 = Index$5.RangePicker;
6694
6715
 
6695
6716
  var WForm = function WForm(props, ref) {
@@ -6700,6 +6721,7 @@ var WForm = function WForm(props, ref) {
6700
6721
  search = props.search,
6701
6722
  disabled = props.disabled,
6702
6723
  disabledHideInSearch = props.disabledHideInSearch,
6724
+ disabledRuler = props.disabledRuler,
6703
6725
  onFormChange = props.onFormChange,
6704
6726
  onSubmit = props.onSubmit,
6705
6727
  onReset = props.onReset,
@@ -6719,20 +6741,22 @@ var WForm = function WForm(props, ref) {
6719
6741
  columnsFields = _useState4[0],
6720
6742
  setColumnsFields = _useState4[1];
6721
6743
 
6722
- var filterFormColumns = _toConsumableArray(columns).filter(function (c) {
6744
+ var filterFormColumns = cloneDeep(columns).filter(function (c) {
6723
6745
  return !c.hideInSearch || disabledHideInSearch;
6724
6746
  }).sort(function (a, b) {
6725
6747
  return (b.order || 0) - (a.order || 0);
6726
6748
  });
6727
-
6728
- var filterExtraFormColumns = _toConsumableArray(extraColumns || []).filter(function (c) {
6749
+ var filterExtraFormColumns = cloneDeep(extraColumns || []).filter(function (c) {
6729
6750
  return !c.hideInSearch || disabledHideInSearch;
6730
6751
  }).sort(function (a, b) {
6731
6752
  return (b.order || 0) - (a.order || 0);
6732
6753
  });
6733
-
6734
6754
  var filterForm = useMemo(function () {
6735
6755
  return filterFormColumns.map(function (c) {
6756
+ if (disabledRuler && c.formItemProps) {
6757
+ delete c.formItemProps.rules;
6758
+ }
6759
+
6736
6760
  var colProps = {};
6737
6761
 
6738
6762
  if (search && search.span) {
@@ -7230,9 +7254,14 @@ var WForm = function WForm(props, ref) {
7230
7254
  }, c.fieldProps))));
7231
7255
  }
7232
7256
  });
7233
- }, [changedValues, columns, disabled, JSON.stringify(columnsFields), JSON.stringify(form.getFieldsValue())]);
7257
+ }, [changedValues, columns, disabled, JSON.stringify(columnsFields), JSON.stringify(form.getFieldsValue()) // 依赖值改变,需要重新渲染
7258
+ ]);
7234
7259
  var filterExtraColumnsForm = useMemo(function () {
7235
7260
  return filterExtraFormColumns.map(function (c) {
7261
+ if (disabledRuler && c.formItemProps) {
7262
+ delete c.formItemProps.rules;
7263
+ }
7264
+
7236
7265
  var colProps = {};
7237
7266
 
7238
7267
  if (search && search.span) {
@@ -10138,7 +10167,7 @@ var ModalForm = function ModalForm(props, ref) {
10138
10167
  resetFields();
10139
10168
  setFieldsValue(record);
10140
10169
  }
10141
- }, [visible, record]);
10170
+ }, [visible, record, formRef === null || formRef === void 0 ? void 0 : formRef.current]);
10142
10171
  return /*#__PURE__*/React.createElement(_Modal, _objectSpread2(_objectSpread2({
10143
10172
  title: title,
10144
10173
  visible: visible
@@ -10585,6 +10614,7 @@ var TabelCard = function TabelCard(props, ref) {
10585
10614
  })
10586
10615
  })), /*#__PURE__*/React.createElement(WForm$1, {
10587
10616
  ref: searchFormRef,
10617
+ disabledRuler: true,
10588
10618
  search: search == false ? {
10589
10619
  hideSubmit: true
10590
10620
  } : _objectSpread2(_objectSpread2({
package/dist/index.js CHANGED
@@ -42,6 +42,7 @@ require('antd/es/tree-select/style');
42
42
  var _TreeSelect = require('antd/es/tree-select');
43
43
  require('antd/es/cascader/style');
44
44
  var _Cascader = require('antd/es/cascader');
45
+ var cloneDeep = require('lodash/cloneDeep');
45
46
  var CountUp = require('react-countup');
46
47
  var react = require('swiper/react');
47
48
  var SwiperCore = require('swiper');
@@ -75,6 +76,7 @@ var _Select__default = /*#__PURE__*/_interopDefaultLegacy(_Select);
75
76
  var _Switch__default = /*#__PURE__*/_interopDefaultLegacy(_Switch);
76
77
  var _TreeSelect__default = /*#__PURE__*/_interopDefaultLegacy(_TreeSelect);
77
78
  var _Cascader__default = /*#__PURE__*/_interopDefaultLegacy(_Cascader);
79
+ var cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(cloneDeep);
78
80
  var CountUp__default = /*#__PURE__*/_interopDefaultLegacy(CountUp);
79
81
  var SwiperCore__default = /*#__PURE__*/_interopDefaultLegacy(SwiperCore);
80
82
  var _Breadcrumb__default = /*#__PURE__*/_interopDefaultLegacy(_Breadcrumb);
@@ -673,6 +675,24 @@ function FrameBox(_ref) {
673
675
  }), children);
674
676
  }
675
677
 
678
+ var usePreventUnmountEffect = function usePreventUnmountEffect(callback, deps) {
679
+ // const isUnmountRef = useRef(false);
680
+ var _useState = React.useState(false),
681
+ _useState2 = _slicedToArray(_useState, 2),
682
+ isUnmount = _useState2[0],
683
+ setIsUnmount = _useState2[1];
684
+
685
+ React.useEffect(function () {
686
+ // !isUnmountRef.current && callback()
687
+ !isUnmount && callback();
688
+ return function () {
689
+ // isUnmountRef.current = true;
690
+ setIsUnmount(true);
691
+ };
692
+ }, // [isUnmountRef, ...deps],
693
+ [isUnmount].concat(_toConsumableArray(deps)));
694
+ };
695
+
676
696
  var _excluded$2 = ["request", "valueEnum", "onLoad", "children", "params"],
677
697
  _excluded2 = ["children"];
678
698
 
@@ -699,7 +719,7 @@ var WSelect = function WSelect(props) {
699
719
  resList = _useState6[0],
700
720
  setResList = _useState6[1];
701
721
 
702
- React.useEffect(function () {
722
+ usePreventUnmountEffect(function () {
703
723
  _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
704
724
  var res, node;
705
725
  return regeneratorRuntime.wrap(function _callee$(_context) {
@@ -762,7 +782,7 @@ var WSelect = function WSelect(props) {
762
782
 
763
783
  onLoad && onLoad(options);
764
784
  setValueEnumList(valueEnumNode);
765
- }, [JSON.stringify(resList), JSON.stringify(request), JSON.stringify(params || {})]);
785
+ }, [JSON.stringify(params || {})]);
766
786
  return /*#__PURE__*/React__default['default'].createElement(_Select__default['default'], _objectSpread2({
767
787
  showSearch: true,
768
788
  filterOption: function filterOption(input, option) {
@@ -6598,7 +6618,7 @@ var NumericInput = /*#__PURE__*/function (_React$Component) {
6598
6618
  return NumericInput;
6599
6619
  }(React__default['default'].Component);
6600
6620
 
6601
- var _excluded$4 = ["treeNodeLabelProp", "treeNodeValueProp", "treeNodeChildrenProp", "request", "onLoad", "treeData"];
6621
+ var _excluded$4 = ["treeNodeLabelProp", "treeNodeValueProp", "treeNodeChildrenProp", "request", "onLoad", "params", "treeData"];
6602
6622
 
6603
6623
  var TreeSelect = function TreeSelect(_ref) {
6604
6624
  var _ref$treeNodeLabelPro = _ref.treeNodeLabelProp,
@@ -6609,6 +6629,7 @@ var TreeSelect = function TreeSelect(_ref) {
6609
6629
  treeNodeChildrenProp = _ref$treeNodeChildren === void 0 ? 'children' : _ref$treeNodeChildren,
6610
6630
  request = _ref.request,
6611
6631
  onLoad = _ref.onLoad,
6632
+ params = _ref.params,
6612
6633
  treePropsData = _ref.treeData,
6613
6634
  props = _objectWithoutProperties(_ref, _excluded$4);
6614
6635
 
@@ -6627,7 +6648,7 @@ var TreeSelect = function TreeSelect(_ref) {
6627
6648
  treeData = _useState2[0],
6628
6649
  setTreeData = _useState2[1];
6629
6650
 
6630
- React.useEffect(function () {
6651
+ usePreventUnmountEffect(function () {
6631
6652
  _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
6632
6653
  var res;
6633
6654
  return regeneratorRuntime.wrap(function _callee$(_context) {
@@ -6659,7 +6680,7 @@ var TreeSelect = function TreeSelect(_ref) {
6659
6680
  }
6660
6681
  }, _callee);
6661
6682
  }))();
6662
- }, []);
6683
+ }, [JSON.stringify(params)]);
6663
6684
  return /*#__PURE__*/React__default['default'].createElement(_TreeSelect__default['default'], _objectSpread2({
6664
6685
  showSearch: true,
6665
6686
  treeNodeFilterProp: "title",
@@ -6670,7 +6691,7 @@ var TreeSelect = function TreeSelect(_ref) {
6670
6691
  var Index$6 = TreeSelect;
6671
6692
  Index$6.TreeNode = _TreeSelect__default['default'].TreeNode;
6672
6693
 
6673
- var _excluded$5 = ["request", "options", "onLoad", "value", "onChange"];
6694
+ var _excluded$5 = ["request", "options", "onLoad", "value", "onChange", "params"];
6674
6695
 
6675
6696
  var WCascader = function WCascader(props) {
6676
6697
  var request = props.request,
@@ -6678,6 +6699,7 @@ var WCascader = function WCascader(props) {
6678
6699
  onLoad = props.onLoad,
6679
6700
  value = props.value,
6680
6701
  _onChange = props.onChange,
6702
+ params = props.params,
6681
6703
  extraProps = _objectWithoutProperties(props, _excluded$5);
6682
6704
 
6683
6705
  var _useState = React.useState(null),
@@ -6685,7 +6707,7 @@ var WCascader = function WCascader(props) {
6685
6707
  resList = _useState2[0],
6686
6708
  setResList = _useState2[1];
6687
6709
 
6688
- React.useEffect(function () {
6710
+ usePreventUnmountEffect(function () {
6689
6711
  _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
6690
6712
  var res;
6691
6713
  return regeneratorRuntime.wrap(function _callee$(_context) {
@@ -6712,7 +6734,7 @@ var WCascader = function WCascader(props) {
6712
6734
  }
6713
6735
  }, _callee);
6714
6736
  }))();
6715
- }, [JSON.stringify(resList)]);
6737
+ }, [JSON.stringify(params)]);
6716
6738
  return /*#__PURE__*/React__default['default'].createElement(_Cascader__default['default'], _objectSpread2({
6717
6739
  value: typeof value === 'string' ? [value] : value,
6718
6740
  onChange: function onChange(v, options) {
@@ -6723,7 +6745,7 @@ var WCascader = function WCascader(props) {
6723
6745
  }, extraProps));
6724
6746
  };
6725
6747
 
6726
- var _excluded$6 = ["columns", "extraColumns", "className", "style", "search", "disabled", "disabledHideInSearch", "onFormChange", "onSubmit", "onReset"];
6748
+ var _excluded$6 = ["columns", "extraColumns", "className", "style", "search", "disabled", "disabledHideInSearch", "disabledRuler", "onFormChange", "onSubmit", "onReset"];
6727
6749
  var RangePicker$2 = Index$5.RangePicker;
6728
6750
 
6729
6751
  var WForm = function WForm(props, ref) {
@@ -6734,6 +6756,7 @@ var WForm = function WForm(props, ref) {
6734
6756
  search = props.search,
6735
6757
  disabled = props.disabled,
6736
6758
  disabledHideInSearch = props.disabledHideInSearch,
6759
+ disabledRuler = props.disabledRuler,
6737
6760
  onFormChange = props.onFormChange,
6738
6761
  onSubmit = props.onSubmit,
6739
6762
  onReset = props.onReset,
@@ -6753,20 +6776,22 @@ var WForm = function WForm(props, ref) {
6753
6776
  columnsFields = _useState4[0],
6754
6777
  setColumnsFields = _useState4[1];
6755
6778
 
6756
- var filterFormColumns = _toConsumableArray(columns).filter(function (c) {
6779
+ var filterFormColumns = cloneDeep__default['default'](columns).filter(function (c) {
6757
6780
  return !c.hideInSearch || disabledHideInSearch;
6758
6781
  }).sort(function (a, b) {
6759
6782
  return (b.order || 0) - (a.order || 0);
6760
6783
  });
6761
-
6762
- var filterExtraFormColumns = _toConsumableArray(extraColumns || []).filter(function (c) {
6784
+ var filterExtraFormColumns = cloneDeep__default['default'](extraColumns || []).filter(function (c) {
6763
6785
  return !c.hideInSearch || disabledHideInSearch;
6764
6786
  }).sort(function (a, b) {
6765
6787
  return (b.order || 0) - (a.order || 0);
6766
6788
  });
6767
-
6768
6789
  var filterForm = React.useMemo(function () {
6769
6790
  return filterFormColumns.map(function (c) {
6791
+ if (disabledRuler && c.formItemProps) {
6792
+ delete c.formItemProps.rules;
6793
+ }
6794
+
6770
6795
  var colProps = {};
6771
6796
 
6772
6797
  if (search && search.span) {
@@ -7264,9 +7289,14 @@ var WForm = function WForm(props, ref) {
7264
7289
  }, c.fieldProps))));
7265
7290
  }
7266
7291
  });
7267
- }, [changedValues, columns, disabled, JSON.stringify(columnsFields), JSON.stringify(form.getFieldsValue())]);
7292
+ }, [changedValues, columns, disabled, JSON.stringify(columnsFields), JSON.stringify(form.getFieldsValue()) // 依赖值改变,需要重新渲染
7293
+ ]);
7268
7294
  var filterExtraColumnsForm = React.useMemo(function () {
7269
7295
  return filterExtraFormColumns.map(function (c) {
7296
+ if (disabledRuler && c.formItemProps) {
7297
+ delete c.formItemProps.rules;
7298
+ }
7299
+
7270
7300
  var colProps = {};
7271
7301
 
7272
7302
  if (search && search.span) {
@@ -10172,7 +10202,7 @@ var ModalForm = function ModalForm(props, ref) {
10172
10202
  resetFields();
10173
10203
  setFieldsValue(record);
10174
10204
  }
10175
- }, [visible, record]);
10205
+ }, [visible, record, formRef === null || formRef === void 0 ? void 0 : formRef.current]);
10176
10206
  return /*#__PURE__*/React__default['default'].createElement(_Modal__default['default'], _objectSpread2(_objectSpread2({
10177
10207
  title: title,
10178
10208
  visible: visible
@@ -10619,6 +10649,7 @@ var TabelCard = function TabelCard(props, ref) {
10619
10649
  })
10620
10650
  })), /*#__PURE__*/React__default['default'].createElement(WForm$1, {
10621
10651
  ref: searchFormRef,
10652
+ disabledRuler: true,
10622
10653
  search: search == false ? {
10623
10654
  hideSubmit: true
10624
10655
  } : _objectSpread2(_objectSpread2({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "wargerm",
4
- "version": "0.4.2",
4
+ "version": "0.4.5",
5
5
  "scripts": {
6
6
  "dev": "dumi dev",
7
7
  "docs:build": "dumi build",