@arim-aisdc/public-components 2.3.91 → 2.3.92

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.
@@ -17,7 +17,7 @@ export declare const foramtBaseInfoField: (data: any, dataField: BaseInfoFieldTy
17
17
  value: any;
18
18
  field: string;
19
19
  label?: string;
20
- text: string | JSX.Element | Element;
20
+ text: string | Element | JSX.Element;
21
21
  units?: string;
22
22
  width?: string;
23
23
  labelWidth?: string;
@@ -328,6 +328,7 @@ var CustomForm = function CustomForm(_ref, ref) {
328
328
  return /*#__PURE__*/_jsx(Option, {
329
329
  value: el2.value,
330
330
  label: el2.label,
331
+ disabled: (el2 === null || el2 === void 0 ? void 0 : el2.disabled) || false,
331
332
  children: el2.color ? /*#__PURE__*/_jsx(Badge, {
332
333
  color: el2.color,
333
334
  text: el2.label
@@ -339,6 +340,7 @@ var CustomForm = function CustomForm(_ref, ref) {
339
340
  return /*#__PURE__*/_jsx(Option, {
340
341
  value: el.value,
341
342
  label: el.label,
343
+ disabled: (el === null || el === void 0 ? void 0 : el.disabled) || false,
342
344
  children: el.color ? /*#__PURE__*/_jsx(Badge, {
343
345
  color: el.color,
344
346
  text: el.label
@@ -47,36 +47,12 @@ var TextFilter = function TextFilter(_ref) {
47
47
  value: FilterOperator.IsNotNull
48
48
  }];
49
49
  }, [t]);
50
-
51
- // Parse initial value
52
- var parseInitialValue = useCallback(function () {
53
- var _value$filterValue;
54
- if (value === undefined || value === null || value === '') {
55
- return {
56
- operator: FilterOperator.Contains,
57
- filterValue: ''
58
- };
59
- }
60
-
61
- // Old format: string
62
- if (typeof value === 'string') {
63
- return {
64
- operator: FilterOperator.Contains,
65
- filterValue: value
66
- };
67
- }
68
-
69
- // New format: { filterValue, operator }
70
- return {
71
- operator: value.operator || FilterOperator.Contains,
72
- filterValue: (_value$filterValue = value.filterValue) !== null && _value$filterValue !== void 0 ? _value$filterValue : ''
73
- };
74
- }, [value]);
75
- var _useState = useState(parseInitialValue().operator),
50
+ var prevResult = useRef();
51
+ var _useState = useState(),
76
52
  _useState2 = _slicedToArray(_useState, 2),
77
53
  operator = _useState2[0],
78
54
  setOperator = _useState2[1];
79
- var _useState3 = useState(parseInitialValue().filterValue),
55
+ var _useState3 = useState(),
80
56
  _useState4 = _slicedToArray(_useState3, 2),
81
57
  filterValue = _useState4[0],
82
58
  setFilterValue = _useState4[1];
@@ -92,7 +68,7 @@ var TextFilter = function TextFilter(_ref) {
92
68
  setBetweenValue2 = _useState8[1];
93
69
 
94
70
  // 记录上一次的 filterValue,用于判断空值切换
95
- var _useState9 = useState(parseInitialValue().filterValue),
71
+ var _useState9 = useState(),
96
72
  _useState10 = _slicedToArray(_useState9, 2),
97
73
  prevFilterValue = _useState10[0],
98
74
  setPrevFilterValue = _useState10[1];
@@ -109,9 +85,37 @@ var TextFilter = function TextFilter(_ref) {
109
85
  return !val || val.trim() === '';
110
86
  }, []);
111
87
 
88
+ // Parse initial value
89
+ var parseInitialValue = useMemo(function () {
90
+ var _value$filterValue;
91
+ if (value === undefined || value === null || value === '') {
92
+ if (prevResult.current) {
93
+ return prevResult.current;
94
+ }
95
+ return {
96
+ operator: FilterOperator.Contains,
97
+ filterValue: ''
98
+ };
99
+ }
100
+
101
+ // Old format: string
102
+ if (typeof value === 'string') {
103
+ return {
104
+ operator: FilterOperator.Contains,
105
+ filterValue: value
106
+ };
107
+ }
108
+
109
+ // New format: { filterValue, operator }
110
+ return {
111
+ operator: value.operator || FilterOperator.Contains,
112
+ filterValue: (_value$filterValue = value.filterValue) !== null && _value$filterValue !== void 0 ? _value$filterValue : ''
113
+ };
114
+ }, [value]);
115
+
112
116
  // Sync with external value changes
113
117
  useEffect(function () {
114
- var parsed = parseInitialValue();
118
+ var parsed = parseInitialValue;
115
119
  setOperator(parsed.operator);
116
120
  setFilterValue(parsed.filterValue);
117
121
  setPrevFilterValue(parsed.filterValue);
@@ -125,17 +129,18 @@ var TextFilter = function TextFilter(_ref) {
125
129
  var buildResult = useCallback(function (finalFilterValue, finalOperator) {
126
130
  var _map$finalOperator;
127
131
  var map = _defineProperty(_defineProperty({}, FilterOperator.IsNotNull, 'NOTNULL'), FilterOperator.IsNull, 'NULL');
128
- var result = {
132
+ prevResult.current = {
129
133
  filterValue: (_map$finalOperator = map[finalOperator]) !== null && _map$finalOperator !== void 0 ? _map$finalOperator : finalFilterValue,
130
134
  operator: finalOperator
131
135
  };
132
-
133
- // // Backward compatibility: if operator is FilterOperator.Contains and value is simple string, also support old format
134
- // if (finalOperator === FilterOperator.Contains && typeof finalFilterValue === 'string' && !finalFilterValue.includes(',')) {
135
- // return finalFilterValue;
136
- // }
137
-
138
- return result;
136
+ if (map[finalOperator] || typeof finalFilterValue === 'string' && finalFilterValue || _typeof(finalFilterValue) === 'object' && (finalFilterValue !== null && finalFilterValue !== void 0 && finalFilterValue[0] || finalFilterValue !== null && finalFilterValue !== void 0 && finalFilterValue[1])) {
137
+ var _map$finalOperator2;
138
+ return {
139
+ filterValue: (_map$finalOperator2 = map[finalOperator]) !== null && _map$finalOperator2 !== void 0 ? _map$finalOperator2 : finalFilterValue,
140
+ operator: finalOperator
141
+ };
142
+ }
143
+ return undefined;
139
144
  }, []);
140
145
 
141
146
  // 处理空值切换判断和触发回调
@@ -276,7 +281,8 @@ var TextFilter = function TextFilter(_ref) {
276
281
  value: inputValue,
277
282
  onChange: handleInputChange,
278
283
  placeholder: '请输入',
279
- allowClear: true
284
+ allowClear: true,
285
+ disabled: inputValue === 'NULL' || inputValue === 'NOTNULL'
280
286
  });
281
287
  }, [operator, filterValue, handleInputChange, t]);
282
288
 
@@ -329,7 +335,8 @@ var TextFilter = function TextFilter(_ref) {
329
335
  color: "default",
330
336
  type: "link",
331
337
  onClick: function onClick() {
332
- return onChange(null);
338
+ prevResult.current = null;
339
+ onChange(null);
333
340
  },
334
341
  style: {
335
342
  marginLeft: '140px'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arim-aisdc/public-components",
3
- "version": "2.3.91",
3
+ "version": "2.3.92",
4
4
  "description": "前端组件库",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",