@zat-design/sisyphus-react 3.7.3-beta.1 → 3.7.3-beta.11

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.
Files changed (75) hide show
  1. package/dist/index.esm.css +79 -0
  2. package/dist/less.esm.css +76 -0
  3. package/es/ProEditTable/components/RenderField/{ListChanged.d.ts → ListChangedWrapper.d.ts} +4 -3
  4. package/es/ProEditTable/components/RenderField/{ListChanged.js → ListChangedWrapper.js} +22 -10
  5. package/es/ProEditTable/components/RenderField/index.js +2 -2
  6. package/es/ProEnum/index.js +5 -4
  7. package/es/ProEnum/style/index.less +12 -4
  8. package/es/ProEnum/utils/index.d.ts +1 -1
  9. package/es/ProEnum/utils/index.js +4 -0
  10. package/es/ProForm/components/combination/Container/index.js +5 -3
  11. package/es/ProForm/components/combination/Container/propsType.d.ts +2 -1
  12. package/es/ProForm/components/combination/ProNumberRange/index.js +3 -1
  13. package/es/ProForm/components/render/ChangedWrapper.d.ts +16 -0
  14. package/es/ProForm/components/render/{Changed.js → ChangedWrapper.js} +43 -15
  15. package/es/ProForm/components/render/Render.js +7 -8
  16. package/es/ProForm/components/render/RenderFields.d.ts +2 -3
  17. package/es/ProForm/components/render/RenderFields.js +3 -4
  18. package/es/ProForm/components/render/propsType.d.ts +4 -3
  19. package/es/ProForm/index.js +3 -6
  20. package/es/ProForm/propsType.d.ts +12 -2
  21. package/es/ProForm/style/index.less +102 -4
  22. package/es/ProForm/utils/diffOriginal.d.ts +4 -4
  23. package/es/ProForm/utils/diffOriginal.js +18 -7
  24. package/es/ProStep/components/Listener/index.d.ts +1 -1
  25. package/es/ProStep/components/Listener/index.js +5 -2
  26. package/es/ProStep/index.d.ts +1 -1
  27. package/es/ProStep/index.js +24 -17
  28. package/es/ProTree/components/ProTreeSelect/style/index.less +2 -2
  29. package/es/style/theme/antd.less +5 -0
  30. package/es/style/theme/index.less +1 -0
  31. package/es/style/theme/tokens.less +1 -0
  32. package/es/utils/index.d.ts +2 -0
  33. package/es/utils/index.js +13 -0
  34. package/lib/ProEditTable/components/RenderField/{ListChanged.d.ts → ListChangedWrapper.d.ts} +4 -3
  35. package/lib/ProEditTable/components/RenderField/{ListChanged.js → ListChangedWrapper.js} +25 -11
  36. package/lib/ProEditTable/components/RenderField/index.js +2 -2
  37. package/lib/ProEnum/index.js +5 -4
  38. package/lib/ProEnum/style/index.less +12 -4
  39. package/lib/ProEnum/utils/index.d.ts +1 -1
  40. package/lib/ProEnum/utils/index.js +4 -0
  41. package/lib/ProForm/components/combination/Container/index.js +5 -3
  42. package/lib/ProForm/components/combination/Container/propsType.d.ts +2 -1
  43. package/lib/ProForm/components/combination/ProNumberRange/index.js +3 -1
  44. package/lib/ProForm/components/render/ChangedWrapper.d.ts +16 -0
  45. package/lib/ProForm/components/render/{Changed.js → ChangedWrapper.js} +43 -15
  46. package/lib/ProForm/components/render/Render.js +7 -8
  47. package/lib/ProForm/components/render/RenderFields.d.ts +2 -3
  48. package/lib/ProForm/components/render/RenderFields.js +3 -4
  49. package/lib/ProForm/components/render/propsType.d.ts +4 -3
  50. package/lib/ProForm/index.js +3 -6
  51. package/lib/ProForm/propsType.d.ts +12 -2
  52. package/lib/ProForm/style/index.less +102 -4
  53. package/lib/ProForm/utils/diffOriginal.d.ts +4 -4
  54. package/lib/ProForm/utils/diffOriginal.js +18 -7
  55. package/lib/ProStep/components/Listener/index.d.ts +1 -1
  56. package/lib/ProStep/components/Listener/index.js +5 -2
  57. package/lib/ProStep/index.d.ts +1 -1
  58. package/lib/ProStep/index.js +24 -17
  59. package/lib/ProTree/components/ProTreeSelect/style/index.less +2 -2
  60. package/lib/style/theme/antd.less +5 -0
  61. package/lib/style/theme/index.less +1 -0
  62. package/lib/style/theme/tokens.less +1 -0
  63. package/lib/utils/index.d.ts +2 -0
  64. package/lib/utils/index.js +19 -0
  65. package/package.json +2 -1
  66. package/es/ProForm/components/render/Changed.d.ts +0 -14
  67. package/lib/ProForm/components/render/Changed.d.ts +0 -14
  68. /package/es/ProForm/utils/{useChanged.d.ts → _useChanged.d.ts} +0 -0
  69. /package/es/ProForm/utils/{useChanged.js → _useChanged.js} +0 -0
  70. /package/es/ProForm/utils/{useListChanged.d.ts → _useListChanged.d.ts} +0 -0
  71. /package/es/ProForm/utils/{useListChanged.js → _useListChanged.js} +0 -0
  72. /package/lib/ProForm/utils/{useChanged.d.ts → _useChanged.d.ts} +0 -0
  73. /package/lib/ProForm/utils/{useChanged.js → _useChanged.js} +0 -0
  74. /package/lib/ProForm/utils/{useListChanged.d.ts → _useListChanged.d.ts} +0 -0
  75. /package/lib/ProForm/utils/{useListChanged.js → _useListChanged.js} +0 -0
@@ -2890,12 +2890,14 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
2890
2890
  margin-bottom: calc(var(--zaui-space-size-md, 16px) * var(--zaui-size, 1)) !important;
2891
2891
  }
2892
2892
  .pro-form .ant-form-item.pro-form-item-width-auto .ant-form-item-control-input {
2893
+ width: 100%;
2893
2894
  -webkit-box-flex: inherit;
2894
2895
  -webkit-flex-grow: inherit;
2895
2896
  -ms-flex-positive: inherit;
2896
2897
  flex-grow: inherit;
2897
2898
  }
2898
2899
  .pro-form .ant-form-item.pro-form-item-width-auto .ant-form-item-control-input-content {
2900
+ width: 100%;
2899
2901
  -webkit-box-flex: initial;
2900
2902
  -webkit-flex: initial;
2901
2903
  -ms-flex: initial;
@@ -3059,6 +3061,13 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
3059
3061
  .pro-form .pro-form-list-mode-block .pro-collapse-content .ant-row {
3060
3062
  width: auto;
3061
3063
  }
3064
+ .pro-form .pro-form-item-changed {
3065
+ border-radius: 4px;
3066
+ background: var(--zaui-contract-bg, #fffaa1) !important;
3067
+ }
3068
+ .pro-form .pro-form-item-changed .ant-select.ant-select-disabled .ant-select-selector {
3069
+ background: var(--zaui-contract-bg, #fffaa1) !important;
3070
+ }
3062
3071
  .pro-form .pro-form-item-changed span.ant-input-affix-wrapper,
3063
3072
  .pro-form .pro-form-item-changed .ant-select .ant-select-selector,
3064
3073
  .pro-form .pro-form-item-changed .ant-picker,
@@ -3095,11 +3104,77 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
3095
3104
  .pro-form .pro-form-item-changed .ant-form-item-control-input-content > .ant-input-group .forever-checkbox {
3096
3105
  background: var(--zaui-contract-bg, #fffaa1);
3097
3106
  }
3107
+ .pro-form .pro-form-item-changed .ant-checkbox-group {
3108
+ padding: 5px 0;
3109
+ }
3110
+ .pro-form .pro-form-item-changed:has(.ant-switch) {
3111
+ padding: 5px 0;
3112
+ }
3113
+ .pro-form .pro-form-item-changed .ant-input-textarea > textarea {
3114
+ background: var(--zaui-contract-bg, #fffaa1);
3115
+ }
3098
3116
  .pro-form .pro-form-item-changed .pro-form-view-container {
3099
3117
  padding: 4px 8px;
3100
3118
  background: var(--zaui-contract-bg, #fffaa1);
3101
3119
  border-radius: 4px;
3102
3120
  }
3121
+ .pro-form .pro-form-item-add {
3122
+ border-radius: 4px;
3123
+ background: var(--zaui-contract-bg-add, #d2fff4) !important;
3124
+ }
3125
+ .pro-form .pro-form-item-add .ant-select.ant-select-disabled .ant-select-selector {
3126
+ background: var(--zaui-contract-bg-add, #d2fff4) !important;
3127
+ }
3128
+ .pro-form .pro-form-item-add span.ant-input-affix-wrapper,
3129
+ .pro-form .pro-form-item-add .ant-select .ant-select-selector,
3130
+ .pro-form .pro-form-item-add .ant-picker,
3131
+ .pro-form .pro-form-item-add .ant-input-number {
3132
+ background: var(--zaui-contract-bg-add, #d2fff4) !important;
3133
+ }
3134
+ .pro-form .pro-form-item-add span.ant-input-affix-wrapper input,
3135
+ .pro-form .pro-form-item-add .ant-select .ant-select-selector input,
3136
+ .pro-form .pro-form-item-add .ant-picker input,
3137
+ .pro-form .pro-form-item-add .ant-input-number input {
3138
+ background: transparent !important;
3139
+ }
3140
+ .pro-form .pro-form-item-add span.ant-input-affix-wrapper .ant-select-selection-placeholder,
3141
+ .pro-form .pro-form-item-add .ant-select .ant-select-selector .ant-select-selection-placeholder,
3142
+ .pro-form .pro-form-item-add .ant-picker .ant-select-selection-placeholder,
3143
+ .pro-form .pro-form-item-add .ant-input-number .ant-select-selection-placeholder {
3144
+ z-index: 9;
3145
+ }
3146
+ .pro-form .pro-form-item-add .ant-form-item-control:has(.ant-switch-handle),
3147
+ .pro-form .pro-form-item-add .ant-form-item-control:has(.ant-checkbox-wrapper-in-form-item) {
3148
+ background: var(--zaui-contract-bg-add, #d2fff4);
3149
+ border-radius: 4px;
3150
+ }
3151
+ .pro-form .pro-form-item-add .ant-form-item-control-input-content > span {
3152
+ border-radius: 4px;
3153
+ padding: 5px 8px;
3154
+ background: var(--zaui-contract-bg-add, #d2fff4);
3155
+ }
3156
+ .pro-form .pro-form-item-add .ant-form-item-control-input-content > .pro-address .ant-select-selector,
3157
+ .pro-form .pro-form-item-add .ant-form-item-control-input-content > .pro-address .ant-input-affix-wrapper,
3158
+ .pro-form .pro-form-item-add .ant-form-item-control-input-content > .pro-address .ant-input-disabled {
3159
+ background: var(--zaui-contract-bg-add, #d2fff4);
3160
+ }
3161
+ .pro-form .pro-form-item-add .ant-form-item-control-input-content > .ant-input-group .forever-checkbox {
3162
+ background: var(--zaui-contract-bg-add, #d2fff4);
3163
+ }
3164
+ .pro-form .pro-form-item-add .ant-checkbox-group {
3165
+ padding: 5px 0;
3166
+ }
3167
+ .pro-form .pro-form-item-add:has(.ant-switch) {
3168
+ padding: 5px 0;
3169
+ }
3170
+ .pro-form .pro-form-item-add .ant-input-textarea > textarea {
3171
+ background: var(--zaui-contract-bg-add, #d2fff4);
3172
+ }
3173
+ .pro-form .pro-form-item-add .pro-form-view-container {
3174
+ padding: 4px 8px;
3175
+ background: var(--zaui-contract-bg-add, #d2fff4);
3176
+ border-radius: 4px;
3177
+ }
3103
3178
  .pro-upload .pro-upload-dragger .pro-upload-handle-box {
3104
3179
  padding: var(--zaui-space-size-sm, 8px);
3105
3180
  background: #f8f9fa;
@@ -5287,6 +5362,7 @@ input[type='button'] {
5287
5362
  --zaui-table-selected-hover-bg: var(--zaui-table-hover-bg);
5288
5363
  --zaui-table-nested-bg: #fafcfe;
5289
5364
  --zaui-contract-bg: #fffaa1;
5365
+ --zaui-contract-bg-add: #d2fff4;
5290
5366
  --zaui-form-label-width: 130px;
5291
5367
  --zaui-border-radius: 8px;
5292
5368
  --zaui-border-radius-card: 4px;
@@ -5882,3 +5958,6 @@ input[type='button'] {
5882
5958
  .ant-tooltip > .ant-tooltip-content > .ant-tooltip-arrow > .ant-tooltip-arrow-content {
5883
5959
  --antd-arrow-background-color: linear-gradient(to right bottom, rgba(255, 255, 255, 0.95), #ffffff);
5884
5960
  }
5961
+ .ant-picker.ant-picker-disabled {
5962
+ background: var(--zaui-disabled-bg);
5963
+ }
package/dist/less.esm.css CHANGED
@@ -2890,12 +2890,14 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
2890
2890
  margin-bottom: calc(var(--zaui-space-size-md, 16px) * var(--zaui-size, 1)) !important;
2891
2891
  }
2892
2892
  .pro-form .ant-form-item.pro-form-item-width-auto .ant-form-item-control-input {
2893
+ width: 100%;
2893
2894
  -webkit-box-flex: inherit;
2894
2895
  -webkit-flex-grow: inherit;
2895
2896
  -ms-flex-positive: inherit;
2896
2897
  flex-grow: inherit;
2897
2898
  }
2898
2899
  .pro-form .ant-form-item.pro-form-item-width-auto .ant-form-item-control-input-content {
2900
+ width: 100%;
2899
2901
  -webkit-box-flex: initial;
2900
2902
  -webkit-flex: initial;
2901
2903
  -ms-flex: initial;
@@ -3059,6 +3061,13 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
3059
3061
  .pro-form .pro-form-list-mode-block .pro-collapse-content .ant-row {
3060
3062
  width: auto;
3061
3063
  }
3064
+ .pro-form .pro-form-item-changed {
3065
+ border-radius: 4px;
3066
+ background: var(--zaui-contract-bg, #fffaa1) !important;
3067
+ }
3068
+ .pro-form .pro-form-item-changed .ant-select.ant-select-disabled .ant-select-selector {
3069
+ background: var(--zaui-contract-bg, #fffaa1) !important;
3070
+ }
3062
3071
  .pro-form .pro-form-item-changed span.ant-input-affix-wrapper,
3063
3072
  .pro-form .pro-form-item-changed .ant-select .ant-select-selector,
3064
3073
  .pro-form .pro-form-item-changed .ant-picker,
@@ -3095,11 +3104,77 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
3095
3104
  .pro-form .pro-form-item-changed .ant-form-item-control-input-content > .ant-input-group .forever-checkbox {
3096
3105
  background: var(--zaui-contract-bg, #fffaa1);
3097
3106
  }
3107
+ .pro-form .pro-form-item-changed .ant-checkbox-group {
3108
+ padding: 5px 0;
3109
+ }
3110
+ .pro-form .pro-form-item-changed:has(.ant-switch) {
3111
+ padding: 5px 0;
3112
+ }
3113
+ .pro-form .pro-form-item-changed .ant-input-textarea > textarea {
3114
+ background: var(--zaui-contract-bg, #fffaa1);
3115
+ }
3098
3116
  .pro-form .pro-form-item-changed .pro-form-view-container {
3099
3117
  padding: 4px 8px;
3100
3118
  background: var(--zaui-contract-bg, #fffaa1);
3101
3119
  border-radius: 4px;
3102
3120
  }
3121
+ .pro-form .pro-form-item-add {
3122
+ border-radius: 4px;
3123
+ background: var(--zaui-contract-bg-add, #d2fff4) !important;
3124
+ }
3125
+ .pro-form .pro-form-item-add .ant-select.ant-select-disabled .ant-select-selector {
3126
+ background: var(--zaui-contract-bg-add, #d2fff4) !important;
3127
+ }
3128
+ .pro-form .pro-form-item-add span.ant-input-affix-wrapper,
3129
+ .pro-form .pro-form-item-add .ant-select .ant-select-selector,
3130
+ .pro-form .pro-form-item-add .ant-picker,
3131
+ .pro-form .pro-form-item-add .ant-input-number {
3132
+ background: var(--zaui-contract-bg-add, #d2fff4) !important;
3133
+ }
3134
+ .pro-form .pro-form-item-add span.ant-input-affix-wrapper input,
3135
+ .pro-form .pro-form-item-add .ant-select .ant-select-selector input,
3136
+ .pro-form .pro-form-item-add .ant-picker input,
3137
+ .pro-form .pro-form-item-add .ant-input-number input {
3138
+ background: transparent !important;
3139
+ }
3140
+ .pro-form .pro-form-item-add span.ant-input-affix-wrapper .ant-select-selection-placeholder,
3141
+ .pro-form .pro-form-item-add .ant-select .ant-select-selector .ant-select-selection-placeholder,
3142
+ .pro-form .pro-form-item-add .ant-picker .ant-select-selection-placeholder,
3143
+ .pro-form .pro-form-item-add .ant-input-number .ant-select-selection-placeholder {
3144
+ z-index: 9;
3145
+ }
3146
+ .pro-form .pro-form-item-add .ant-form-item-control:has(.ant-switch-handle),
3147
+ .pro-form .pro-form-item-add .ant-form-item-control:has(.ant-checkbox-wrapper-in-form-item) {
3148
+ background: var(--zaui-contract-bg-add, #d2fff4);
3149
+ border-radius: 4px;
3150
+ }
3151
+ .pro-form .pro-form-item-add .ant-form-item-control-input-content > span {
3152
+ border-radius: 4px;
3153
+ padding: 5px 8px;
3154
+ background: var(--zaui-contract-bg-add, #d2fff4);
3155
+ }
3156
+ .pro-form .pro-form-item-add .ant-form-item-control-input-content > .pro-address .ant-select-selector,
3157
+ .pro-form .pro-form-item-add .ant-form-item-control-input-content > .pro-address .ant-input-affix-wrapper,
3158
+ .pro-form .pro-form-item-add .ant-form-item-control-input-content > .pro-address .ant-input-disabled {
3159
+ background: var(--zaui-contract-bg-add, #d2fff4);
3160
+ }
3161
+ .pro-form .pro-form-item-add .ant-form-item-control-input-content > .ant-input-group .forever-checkbox {
3162
+ background: var(--zaui-contract-bg-add, #d2fff4);
3163
+ }
3164
+ .pro-form .pro-form-item-add .ant-checkbox-group {
3165
+ padding: 5px 0;
3166
+ }
3167
+ .pro-form .pro-form-item-add:has(.ant-switch) {
3168
+ padding: 5px 0;
3169
+ }
3170
+ .pro-form .pro-form-item-add .ant-input-textarea > textarea {
3171
+ background: var(--zaui-contract-bg-add, #d2fff4);
3172
+ }
3173
+ .pro-form .pro-form-item-add .pro-form-view-container {
3174
+ padding: 4px 8px;
3175
+ background: var(--zaui-contract-bg-add, #d2fff4);
3176
+ border-radius: 4px;
3177
+ }
3103
3178
  .pro-upload .pro-upload-dragger .pro-upload-handle-box {
3104
3179
  padding: var(--zaui-space-size-sm, 8px);
3105
3180
  background: #f8f9fa;
@@ -5287,6 +5362,7 @@ input[type='button'] {
5287
5362
  --zaui-table-selected-hover-bg: var(--zaui-table-hover-bg);
5288
5363
  --zaui-table-nested-bg: #fafcfe;
5289
5364
  --zaui-contract-bg: #fffaa1;
5365
+ --zaui-contract-bg-add: #d2fff4;
5290
5366
  --zaui-form-label-width: 130px;
5291
5367
  --zaui-border-radius: 8px;
5292
5368
  --zaui-border-radius-card: 4px;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { FormInstance } from 'antd';
3
3
  import { NamePath } from 'antd/lib/form/interface';
4
+ import { DiffOriginalParams } from '../../../ProForm/utils/diffOriginal';
4
5
  interface Props {
5
6
  name?: NamePath;
6
7
  names?: NamePath[];
@@ -9,8 +10,8 @@ interface Props {
9
10
  namesStr?: NamePath;
10
11
  originalValues?: any;
11
12
  form: FormInstance;
12
- equalWith?: (preValue: any, curValue: any) => boolean | undefined;
13
+ equalWith?: DiffOriginalParams['equalWith'];
13
14
  [name: string]: any;
14
15
  }
15
- declare const ListChanged: React.FC<Props>;
16
- export default ListChanged;
16
+ declare const ListChangedWrapper: React.FC<Props>;
17
+ export default ListChangedWrapper;
@@ -7,8 +7,11 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
7
7
  var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "equalWith", "rowKeyPath", "children", "type"];
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  import React, { useMemo } from 'react';
10
+ import classNames from 'classnames';
10
11
  import { get } from 'lodash';
11
12
  import { diffOriginal } from '../../../ProForm/utils/diffOriginal';
13
+ import { useProConfig } from '../../../ProConfigProvider';
14
+ import { isEmpty } from '../../../utils';
12
15
  var toNamePath = function toNamePath(name) {
13
16
  if (Array.isArray(name)) {
14
17
  return name;
@@ -61,7 +64,7 @@ var getOriginalValue = function getOriginalValue(_ref) {
61
64
  return get(originalValues, originalName);
62
65
  }) : get(originalValues, originalName);
63
66
  };
64
- var ListChanged = function ListChanged(props) {
67
+ var ListChangedWrapper = function ListChangedWrapper(props) {
65
68
  var name = props.name,
66
69
  names = props.names,
67
70
  namesStr = props.namesStr,
@@ -76,11 +79,13 @@ var ListChanged = function ListChanged(props) {
76
79
  children = props.children,
77
80
  type = props.type,
78
81
  rest = _objectWithoutProperties(props, _excluded);
82
+ var _ref2 = useProConfig('ProEditTable') || {},
83
+ isDiffAll = _ref2.isDiffAll;
79
84
  var namePath = toNamePath(namesStr || name);
80
85
  var originalNamePath = toNamePath(originalName);
81
86
  var originalNamePaths = originalNames && toNamePaths(originalNames);
82
- var notWatch = !originalValues || ['FormList', 'ProEditTable'].includes(type);
83
- var originalValue = !notWatch ? getOriginalValue({
87
+ var isWatch = originalValues && !['FormList', 'ProEditTable'].includes(type);
88
+ var originalValue = isWatch ? getOriginalValue({
84
89
  namePath: namePath,
85
90
  originalName: originalNamePath,
86
91
  originalNames: originalNamePaths,
@@ -88,9 +93,9 @@ var ListChanged = function ListChanged(props) {
88
93
  rowKeyPath: rowKeyPath,
89
94
  form: form
90
95
  }) : undefined;
91
- var noChange = !equalWith && (!originalValues || originalValue === undefined);
92
- var changed = useMemo(function () {
93
- if (notWatch || noChange) return false;
96
+ var noChange = !equalWith && (!originalValues || isDiffAll ? false : isEmpty(originalValue));
97
+ var diffType = useMemo(function () {
98
+ if (!isWatch || noChange) return 'same';
94
99
  return diffOriginal({
95
100
  value: props.value,
96
101
  originalValue: originalValue,
@@ -99,11 +104,18 @@ var ListChanged = function ListChanged(props) {
99
104
  // name: isString(namesStr) ? namesStr : originalName || name,
100
105
  });
101
106
  }, [props.value, originalValue]);
102
- if (notWatch || noChange) {
107
+ var isAdd = diffType === 'add';
108
+ var isChanged = diffType === 'changed';
109
+ if (!isWatch || noChange) {
103
110
  return /*#__PURE__*/React.isValidElement(children) && /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children.props), rest));
104
111
  }
112
+ var diffClassName = classNames({
113
+ 'pro-form-item-changed': isChanged,
114
+ 'pro-form-item-add': isAdd
115
+ });
105
116
  return _jsx(_Tooltip, {
106
- open: changed ? undefined : false,
117
+ // 传入undefined 鼠标移入显示移出隐藏
118
+ open: isChanged ? undefined : false,
107
119
  getPopupContainer: function getPopupContainer(target) {
108
120
  return target.parentElement;
109
121
  },
@@ -116,9 +128,9 @@ var ListChanged = function ListChanged(props) {
116
128
  })) : undefined]
117
129
  }),
118
130
  children: _jsx("div", {
119
- className: changed ? 'pro-form-item-changed' : '',
131
+ className: diffClassName,
120
132
  children: /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children.props), rest)) : undefined
121
133
  })
122
134
  });
123
135
  };
124
- export default ListChanged;
136
+ export default ListChangedWrapper;
@@ -25,7 +25,7 @@ import useRules from '../../../ProForm/utils/useRules';
25
25
  import { isSelect, isTrim } from '../../../ProForm/utils';
26
26
  import ConfirmWrapper from '../../../ProForm/components/render/ConfirmWrapper';
27
27
  import { getDefaultProps } from '../../utils/getDefaultProps';
28
- import ListChanged from './ListChanged';
28
+ import ListChangedWrapper from './ListChangedWrapper';
29
29
  var RenderField = function RenderField(_ref) {
30
30
  var _type, _type$replace, _fieldProps2, _names, _TargetComponent4, _componentProps2;
31
31
  var value = _ref.text,
@@ -547,7 +547,7 @@ var RenderField = function RenderField(_ref) {
547
547
  var FormItem = null;
548
548
  var FieldComponent = /*#__PURE__*/React.isValidElement(TargetComponent) ? ( /*#__PURE__*/React.cloneElement(TargetComponent, componentProps)) : _jsx(TargetComponent, _objectSpread({}, componentProps));
549
549
  if (originalValues) {
550
- FieldComponent = _jsx(ListChanged, {
550
+ FieldComponent = _jsx(ListChangedWrapper, {
551
551
  name: cellName,
552
552
  names: names,
553
553
  namesStr: [].concat(_toConsumableArray(baseName), [index, dataIndex]),
@@ -11,7 +11,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
11
11
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
12
12
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
13
13
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
14
- var _excluded = ["code", "type", "dataSource", "useRequest", "value", "component", "onChange", "transformResponse", "otherProps"],
14
+ var _excluded = ["code", "type", "dataSource", "useRequest", "value", "component", "onChange", "transformResponse", "otherProps", "isView"],
15
15
  _excluded2 = ["fieldNames", "clear", "cacheKey", "showCodeName"];
16
16
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
17
17
  import { useDeepCompareEffect, useRequest as useRequestFunc } from 'ahooks';
@@ -39,10 +39,11 @@ var ProEnum = function ProEnum(props) {
39
39
  onChange = props.onChange,
40
40
  transformResponse = props.transformResponse,
41
41
  otherProps = props.otherProps,
42
+ isView = props.isView,
42
43
  enumProps = _objectWithoutProperties(props, _excluded);
43
44
  var _ref = otherProps || {},
44
- isView = _ref.isView,
45
45
  viewEmpty = _ref.viewEmpty;
46
+ var _isView = isView || (otherProps === null || otherProps === void 0 ? void 0 : otherProps.isView);
46
47
  var _ref2 = useProConfig('ProEnum') || {},
47
48
  fieldNames = _ref2.fieldNames,
48
49
  _ref2$clear = _ref2.clear,
@@ -226,7 +227,7 @@ var ProEnum = function ProEnum(props) {
226
227
  if (!code && !dataSource && !useRequest) {
227
228
  var _locale$ProEnum4;
228
229
  _message.error(locale === null || locale === void 0 ? void 0 : (_locale$ProEnum4 = locale.ProEnum) === null || _locale$ProEnum4 === void 0 ? void 0 : _locale$ProEnum4.errorNoEnumType);
229
- return;
230
+ // return;
230
231
  }
231
232
  var transToLabel = function transToLabel(value) {
232
233
  var list = dataList && dataList.length ? dataList : enumLists;
@@ -271,7 +272,7 @@ var ProEnum = function ProEnum(props) {
271
272
  };
272
273
  return isFunction(props.optionRender) && record.length ? _optionRender() : labelList === null || labelList === void 0 ? void 0 : labelList.join(',');
273
274
  };
274
- if (isView) {
275
+ if (_isView) {
275
276
  if (Array.isArray(value)) {
276
277
  return _jsx(Container, {
277
278
  tooltip: true,
@@ -19,7 +19,7 @@
19
19
  justify-content: center;
20
20
  margin-right: var(--zaui-space-size-sm);
21
21
  padding: var(--zaui-space-size-xs) 10px;
22
- background-color: #f5f5f5;
22
+ background-color: var(--zaui-disabled-bg);
23
23
  border-radius: var(--zaui-space-size-xs);
24
24
  cursor: pointer;
25
25
  }
@@ -29,7 +29,7 @@
29
29
  background-color: var(--zaui-brand);
30
30
  }
31
31
  &-tag-item-disabled {
32
- background-color: #f5f5f5;
32
+ background-color: var(--zaui-disabled-bg);
33
33
  pointer-events: none;
34
34
  }
35
35
 
@@ -90,12 +90,20 @@
90
90
 
91
91
  .pro-enum-group-item-disabled {
92
92
  color: rgba(0, 0, 0, 0.25);
93
- background: #f5f5f5;
93
+ background: var(--zaui-disabled-bg);
94
94
  cursor: not-allowed;
95
95
  }
96
96
  }
97
97
 
98
98
  &-group-root-disabled {
99
- opacity: 0.7;
99
+ color: #bfbfbf;
100
+
101
+ .pro-enum-group-item {
102
+ background: var(--zaui-disabled-bg);
103
+ &.pro-enum-group-item-selected {
104
+ background: #6b95f5;
105
+ border-color: #6b95f5;
106
+ }
107
+ }
100
108
  }
101
109
  }
@@ -5,7 +5,7 @@ interface EnumRes {
5
5
  [key: string]: any;
6
6
  }
7
7
  export declare function getEnumData(storage: StorageType, cacheKey: string, baseEnumStorage?: any): EnumRes;
8
- export declare function setEnumData(storage: StorageType, cacheKey: string, data: Object): void;
8
+ export declare function setEnumData(storage: StorageType, cacheKey: string, data: any): boolean;
9
9
  export declare function hasEnumList(storage: StorageType, cacheKey: any, code: string): DataOption[];
10
10
  export declare function isObject(obj: any): boolean;
11
11
  export declare function mergeCacheData(storage: string, code: string, cacheKey: string, responseData: any): void;
@@ -13,6 +13,10 @@ export function getEnumData(storage, cacheKey, baseEnumStorage) {
13
13
  }
14
14
  }
15
15
  export function setEnumData(storage, cacheKey, data) {
16
+ var _Object$keys;
17
+ if (!((_Object$keys = Object.keys(data === null || data === void 0 ? void 0 : data.data)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length)) {
18
+ return false;
19
+ }
16
20
  if (storage === 'localStorage') {
17
21
  window.localStorage.setItem(cacheKey, JSON.stringify(data));
18
22
  } else if (storage === 'sessionStorage') {
@@ -9,11 +9,12 @@ import ProCollapse from '../../../../ProLayout/components/ProCollapse';
9
9
  import ProForm from '../../../../ProForm';
10
10
  var Container = function Container(props) {
11
11
  var children = props.children,
12
- otherProps = props.otherProps,
13
12
  className = props.className,
14
13
  container = props.container,
15
14
  show = props.show,
16
- clearNotShow = props.clearNotShow;
15
+ clearNotShow = props.clearNotShow,
16
+ diffConfig = props.diffConfig,
17
+ otherProps = props.otherProps;
17
18
  var _ref = ProForm.useFieldProps() || {},
18
19
  type = _ref.type,
19
20
  form = _ref.form,
@@ -38,7 +39,8 @@ var Container = function Container(props) {
38
39
  var childRender = function childRender() {
39
40
  var child = _jsx(RenderFields, _objectSpread({
40
41
  columns: _children,
41
- form: form
42
+ form: form,
43
+ diffConfig: diffConfig
42
44
  }, otherProps));
43
45
  if (type === 'ProCollapse') {
44
46
  return _jsx(ProCollapse, _objectSpread(_objectSpread({}, omit(props, ['otherProps', 'children', 'onBlur', 'onChange', 'placeholder', 'className'])), {}, {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { RowProps } from 'antd';
3
- import { ProColumnProps, ProFormOtherProps } from '../../../propsType';
3
+ import { ProColumnProps, ProFormOtherProps, DiffConfigProps } from '../../../propsType';
4
4
  export interface ContainerProps {
5
5
  children?: ProColumnProps[];
6
6
  otherProps?: ProFormOtherProps;
@@ -8,5 +8,6 @@ export interface ContainerProps {
8
8
  className?: string;
9
9
  container?: string | React.ReactNode;
10
10
  show?: boolean | (() => boolean);
11
+ diffConfig?: DiffConfigProps;
11
12
  clearNotShow?: boolean;
12
13
  }
@@ -91,7 +91,9 @@ var ProNumberRange = function ProNumberRange(props) {
91
91
  });
92
92
  // 查看模式
93
93
  if (isView || props.isView) {
94
- if (isEmpty(value)) {
94
+ if (isEmpty(value) || (value === null || value === void 0 ? void 0 : value.every(function (item) {
95
+ return typeof item !== 'number';
96
+ }))) {
95
97
  return viewEmpty;
96
98
  }
97
99
  switch (valueType) {
@@ -0,0 +1,16 @@
1
+ import { FormInstance } from 'antd';
2
+ import { NamePath } from 'antd/lib/form/interface';
3
+ import React from 'react';
4
+ import { DiffOriginalParams } from '../../utils/diffOriginal';
5
+ import { DiffConfigProps } from '../../propsType';
6
+ interface Props {
7
+ name?: NamePath;
8
+ names?: NamePath[];
9
+ namesStr?: string;
10
+ diffConfig?: DiffConfigProps;
11
+ form: FormInstance;
12
+ equalWith?: DiffOriginalParams['equalWith'];
13
+ [name: string]: any;
14
+ }
15
+ declare const ChangedWrapper: React.FC<Props>;
16
+ export default ChangedWrapper;
@@ -4,61 +4,89 @@ import "antd/es/tooltip/style";
4
4
  import _Tooltip from "antd/es/tooltip";
5
5
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
6
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
7
- var _excluded = ["name", "names", "namesStr", "originalValues", "form", "equalWith", "children", "type", "originalDiffTip"];
7
+ var _excluded = ["name", "names", "namesStr", "form", "equalWith", "children", "type", "diffConfig", "valuePropName"];
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ import classNames from 'classnames';
9
10
  import { get } from 'lodash';
10
11
  import React, { useMemo } from 'react';
11
12
  import { diffOriginal } from '../../utils/diffOriginal';
12
- var Changed = function Changed(props) {
13
+ import { useProConfig } from '../../../ProConfigProvider';
14
+ import { isEmpty } from '../../../utils';
15
+ var ChangedWrapper = function ChangedWrapper(props) {
16
+ var _diffConfig$toolTip;
13
17
  var name = props.name,
14
18
  names = props.names,
15
19
  namesStr = props.namesStr,
16
- originalValues = props.originalValues,
17
20
  form = props.form,
18
21
  equalWith = props.equalWith,
19
22
  children = props.children,
20
23
  type = props.type,
21
- originalDiffTip = props.originalDiffTip,
24
+ diffConfig = props.diffConfig,
25
+ _props$valuePropName = props.valuePropName,
26
+ valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
22
27
  rest = _objectWithoutProperties(props, _excluded);
28
+ var _useProConfig = useProConfig('ProForm'),
29
+ isDiffAll = _useProConfig.isDiffAll;
30
+ var originalValues = diffConfig.originalValues,
31
+ changeTipColor = diffConfig.changeTipColor,
32
+ addTipColor = diffConfig.addTipColor;
33
+ var toolTip = (_diffConfig$toolTip = diffConfig.toolTip) !== null && _diffConfig$toolTip !== void 0 ? _diffConfig$toolTip : true;
23
34
  // 不渲染tooltip
24
- var notWatch = !originalDiffTip || ['FormList', 'ProEditTable'].includes(type);
35
+ var isWatch = toolTip && !['FormList', 'ProEditTable'].includes(type);
25
36
  var originalValue = (names === null || names === void 0 ? void 0 : names.length) ? names.map(function (name) {
26
37
  return get(originalValues, name);
27
38
  }) : get(originalValues, name);
28
- var noChange = !equalWith && (!originalValues || originalValue === undefined);
29
- var changed = useMemo(function () {
30
- if (notWatch || noChange) return false;
39
+ var noChange = !equalWith && (!originalValues || isDiffAll ? false : isEmpty(originalValue));
40
+ var diffType = useMemo(function () {
41
+ if (!isWatch || noChange) return 'same';
31
42
  return diffOriginal({
32
43
  originalValue: originalValue,
33
- value: props.value,
44
+ value: props[valuePropName],
34
45
  form: form,
35
46
  equalWith: equalWith
36
47
  // name: namesStr || name,
37
48
  });
38
- }, [notWatch, noChange, props.value, originalValue]);
49
+ }, [isWatch, noChange, props[valuePropName], originalValue]);
50
+ var isAdd = diffType === 'add';
51
+ var isChanged = diffType === 'changed';
39
52
  var tipContent = useMemo(function () {
40
- if (notWatch || noChange) return undefined;
53
+ if (!isWatch || noChange) return undefined;
41
54
  return /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children.props), {}, {
42
55
  isView: true,
43
56
  value: originalValue,
44
57
  checked: type === 'Switch' ? originalValue : undefined
45
58
  })) : undefined;
46
59
  }, [originalValue, children]);
47
- if (notWatch || noChange) {
60
+ if (!isWatch || noChange) {
48
61
  return /*#__PURE__*/React.isValidElement(children) && /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children.props), rest));
49
62
  }
63
+ var tipOpenCalc = function tipOpenCalc() {
64
+ if (!toolTip) return false;
65
+ // 传入undefined 鼠标移入显示移出隐藏
66
+ return isChanged ? undefined : false;
67
+ };
68
+ var style = {
69
+ '--zaui-contract-bg': changeTipColor,
70
+ '--zaui-contract-bg-add': addTipColor
71
+ };
72
+ var diffClassName = classNames({
73
+ 'pro-form-item-changed': isChanged,
74
+ 'pro-form-item-add': isAdd
75
+ });
50
76
  return _jsx(_Tooltip, {
51
- open: changed ? undefined : false,
77
+ open: tipOpenCalc(),
52
78
  getPopupContainer: function getPopupContainer(target) {
53
79
  return target.parentElement;
54
80
  },
55
81
  title: _jsxs(_Space, {
56
82
  children: ["\u521D\u59CB\u503C\uFF1A", tipContent]
57
83
  }),
84
+ placement: "topLeft",
58
85
  children: _jsx("div", {
59
- className: changed ? 'pro-form-item-changed' : '',
86
+ className: diffClassName,
87
+ style: style,
60
88
  children: /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, children.props), rest)) : undefined
61
89
  })
62
90
  });
63
91
  };
64
- export default Changed;
92
+ export default ChangedWrapper;