@arim-aisdc/public-components 0.0.37 → 0.0.38
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.
|
@@ -75,13 +75,22 @@ export function Filter(_ref) {
|
|
|
75
75
|
getFilterOptionsFn = columnDef.getFilterOptionsFn;
|
|
76
76
|
|
|
77
77
|
// 获取最新的筛选值
|
|
78
|
-
|
|
78
|
+
// const columnFilterValue: any = column.getFilterValue();
|
|
79
|
+
var _useState = useState(column.getFilterValue()),
|
|
80
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
81
|
+
columnFilterValue = _useState2[0],
|
|
82
|
+
setColumnFilterValue = _useState2[1];
|
|
83
|
+
useEffect(function () {
|
|
84
|
+
if (JSON.stringify(column.getFilterValue()) !== JSON.stringify(columnFilterValue)) {
|
|
85
|
+
setColumnFilterValue(column.getFilterValue());
|
|
86
|
+
}
|
|
87
|
+
}, [JSON.stringify(column.getFilterValue())]);
|
|
79
88
|
|
|
80
89
|
// 接口可选值
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
apiOptions =
|
|
84
|
-
setApiOptions =
|
|
90
|
+
var _useState3 = useState([]),
|
|
91
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
92
|
+
apiOptions = _useState4[0],
|
|
93
|
+
setApiOptions = _useState4[1];
|
|
85
94
|
// 调用接口获取可选值
|
|
86
95
|
var fetchOptions = /*#__PURE__*/function () {
|
|
87
96
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(inputValue) {
|
|
@@ -154,6 +163,25 @@ export function Filter(_ref) {
|
|
|
154
163
|
};
|
|
155
164
|
});
|
|
156
165
|
}, [column.getFacetedUniqueValues(), filterOptions, manualFiltering, apiOptions]);
|
|
166
|
+
|
|
167
|
+
// 修改表格筛选参数(防抖)
|
|
168
|
+
var changeFilterValueWithDebounce = useCallback(debounce(function (value) {
|
|
169
|
+
var newValue = value;
|
|
170
|
+
if (value === null || Array.isArray(value) && value.length === 0) {
|
|
171
|
+
// 值为null或空数组时,清除过滤条件。
|
|
172
|
+
newValue = undefined;
|
|
173
|
+
}
|
|
174
|
+
console.log('handleChangeFilterValue with debounce :>> ', newValue);
|
|
175
|
+
column.setFilterValue(newValue);
|
|
176
|
+
}, 500), [column]);
|
|
177
|
+
|
|
178
|
+
// 修改表格筛选参数(防抖)
|
|
179
|
+
var handleChangeFilterValueWithDebounce = function handleChangeFilterValueWithDebounce(value) {
|
|
180
|
+
changeFilterValueWithDebounce(value);
|
|
181
|
+
setColumnFilterValue(value);
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
// 修改表格筛选参数
|
|
157
185
|
var handleChangeFilterValue = function handleChangeFilterValue(value) {
|
|
158
186
|
var newValue = value;
|
|
159
187
|
if (value === null || Array.isArray(value) && value.length === 0) {
|
|
@@ -161,11 +189,9 @@ export function Filter(_ref) {
|
|
|
161
189
|
newValue = undefined;
|
|
162
190
|
}
|
|
163
191
|
console.log('handleChangeFilterValue :>> ', newValue);
|
|
192
|
+
setColumnFilterValue(newValue);
|
|
164
193
|
column.setFilterValue(newValue);
|
|
165
194
|
};
|
|
166
|
-
var handleInputChange = function handleInputChange(e) {
|
|
167
|
-
handleChangeFilterValue(e.target.value);
|
|
168
|
-
};
|
|
169
195
|
var filterComponent = function filterComponent(type) {
|
|
170
196
|
var _columnDef$filterComP, _columnDef$filterComP2, _columnDef$filterComP3, _column$getFacetedMin, _column$getFacetedMin2, _columnDef$cell, _column$getFacetedMin3, _column$getFacetedMin4, _columnDef$cell2;
|
|
171
197
|
switch (type) {
|
|
@@ -196,14 +222,11 @@ export function Filter(_ref) {
|
|
|
196
222
|
},
|
|
197
223
|
children: [/*#__PURE__*/_jsx("div", {
|
|
198
224
|
children: /*#__PURE__*/_jsx(_InputNumber, {
|
|
199
|
-
// min={Number(column.getFacetedMinMaxValues()?.[0] ?? '')}
|
|
200
|
-
// max={Number(column.getFacetedMinMaxValues()?.[1] ?? '')}
|
|
201
|
-
// value={(columnFilterValue as [number, number])?.[0] ?? ''}
|
|
202
225
|
placeholder: "".concat((_column$getFacetedMin = column.getFacetedMinMaxValues()) !== null && _column$getFacetedMin !== void 0 && _column$getFacetedMin[0] ? "(".concat((_column$getFacetedMin2 = column.getFacetedMinMaxValues()) === null || _column$getFacetedMin2 === void 0 ? void 0 : _column$getFacetedMin2[0], ")") : ''),
|
|
203
226
|
controls: false,
|
|
204
227
|
onChange: function onChange(value) {
|
|
205
228
|
var min = columnDef.unitsChangeFn && typeof value === 'number' ? columnDef.unitsChangeFn(value) : value;
|
|
206
|
-
|
|
229
|
+
handleChangeFilterValueWithDebounce(function (old) {
|
|
207
230
|
if (noValue(min) && noValue(old === null || old === void 0 ? void 0 : old[1])) {
|
|
208
231
|
return undefined;
|
|
209
232
|
}
|
|
@@ -218,14 +241,11 @@ export function Filter(_ref) {
|
|
|
218
241
|
})
|
|
219
242
|
}), /*#__PURE__*/_jsx("div", {
|
|
220
243
|
children: /*#__PURE__*/_jsx(_InputNumber, {
|
|
221
|
-
// min={Number(column.getFacetedMinMaxValues()?.[0] ?? '')}
|
|
222
|
-
// max={Number(column.getFacetedMinMaxValues()?.[1] ?? '')}
|
|
223
|
-
// value={(columnFilterValue as [number, number])?.[1] ?? ''}
|
|
224
244
|
placeholder: "".concat((_column$getFacetedMin3 = column.getFacetedMinMaxValues()) !== null && _column$getFacetedMin3 !== void 0 && _column$getFacetedMin3[1] ? "(".concat((_column$getFacetedMin4 = column.getFacetedMinMaxValues()) === null || _column$getFacetedMin4 === void 0 ? void 0 : _column$getFacetedMin4[1], ")") : ''),
|
|
225
245
|
controls: false,
|
|
226
246
|
onChange: function onChange(value) {
|
|
227
247
|
var max = columnDef.unitsChangeFn && typeof value === 'number' ? columnDef.unitsChangeFn(value) : value;
|
|
228
|
-
|
|
248
|
+
handleChangeFilterValueWithDebounce(function (old) {
|
|
229
249
|
if (noValue(old === null || old === void 0 ? void 0 : old[0]) && noValue(max)) {
|
|
230
250
|
return undefined;
|
|
231
251
|
}
|
|
@@ -250,7 +270,7 @@ export function Filter(_ref) {
|
|
|
250
270
|
},
|
|
251
271
|
onChange: function onChange(value) {
|
|
252
272
|
var res = columnDef.unitsChangeFn ? columnDef.unitsChangeFn(value) : value;
|
|
253
|
-
|
|
273
|
+
handleChangeFilterValueWithDebounce(res);
|
|
254
274
|
},
|
|
255
275
|
value: columnDef.unitsChangeFn && columnDef.cell ? columnDef.cell({
|
|
256
276
|
getValue: function getValue() {
|
|
@@ -270,7 +290,7 @@ export function Filter(_ref) {
|
|
|
270
290
|
return ((_optionStringValue$to = optionStringValue.toUpperCase()) === null || _optionStringValue$to === void 0 ? void 0 : _optionStringValue$to.indexOf(inputStringValue.toUpperCase().trim())) !== -1;
|
|
271
291
|
},
|
|
272
292
|
onSearch: onSearch,
|
|
273
|
-
onChange:
|
|
293
|
+
onChange: handleChangeFilterValueWithDebounce,
|
|
274
294
|
style: {
|
|
275
295
|
width: '100%',
|
|
276
296
|
borderRadius: '2px',
|
|
@@ -281,7 +301,9 @@ export function Filter(_ref) {
|
|
|
281
301
|
});
|
|
282
302
|
case FilterType.Input:
|
|
283
303
|
return /*#__PURE__*/_jsx(_Input, {
|
|
284
|
-
onChange:
|
|
304
|
+
onChange: function onChange(e) {
|
|
305
|
+
return handleChangeFilterValueWithDebounce(e.target.value);
|
|
306
|
+
},
|
|
285
307
|
style: {
|
|
286
308
|
borderRadius: '2px'
|
|
287
309
|
},
|
|
@@ -113,7 +113,7 @@ export type TableMaxProps = {
|
|
|
113
113
|
* 筛选参数变化时触发的函数
|
|
114
114
|
*/
|
|
115
115
|
getColumnFiltersData?: (columnFilters: ColumnFiltersState, tableId: string, filteredData: any[], filteredRowModel: RowModel<any>) => void;
|
|
116
|
-
|
|
116
|
+
/**筛选参数变化时触发的函数,前端筛选、后端筛选时都会触发(修改参数时加了防抖) */
|
|
117
117
|
onFilteringChange?: (params: {
|
|
118
118
|
tableId: string;
|
|
119
119
|
filteredData: any[];
|