@nokecy/qc-ui 1.0.87 → 1.0.88
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.
|
@@ -284,83 +284,36 @@ function AgGridPlus(props) {
|
|
|
284
284
|
}
|
|
285
285
|
}, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig]);
|
|
286
286
|
|
|
287
|
-
//
|
|
287
|
+
// 【修复】使用 applyColumnState 来应用列的顺序、宽度、隐藏等状态
|
|
288
|
+
// applyColumnState 是 AG-Grid 推荐的方式,专门用于控制列状态
|
|
288
289
|
(0, _react.useEffect)(function () {
|
|
289
|
-
var _currentScheme$column;
|
|
290
290
|
var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
|
|
291
|
-
|
|
292
|
-
// 两个依赖都不存在时,直接返回
|
|
293
291
|
if (!apiRef.current || !currentScheme) {
|
|
294
|
-
console.log('[AgGridPlus] useEffect: 等待依赖准备', {
|
|
295
|
-
hasApiRef: !!apiRef.current,
|
|
296
|
-
hasCurrentScheme: !!currentScheme
|
|
297
|
-
});
|
|
298
292
|
return;
|
|
299
293
|
}
|
|
300
|
-
console.log('[AgGridPlus] useEffect: 两个依赖都准备好,应用方案', {
|
|
301
|
-
schemeId: currentScheme.id,
|
|
302
|
-
schemeName: currentScheme.name,
|
|
303
|
-
hasColumnConfig: !!currentScheme.columnConfig,
|
|
304
|
-
columnConfigCount: ((_currentScheme$column = currentScheme.columnConfig) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.length) || 0
|
|
305
|
-
});
|
|
306
|
-
var timer = setTimeout(function () {
|
|
307
|
-
// 优先使用 columnConfig(包含完整的分组结构)
|
|
308
|
-
if (currentScheme.columnConfig) {
|
|
309
|
-
var _require2 = require("./setting/columnGroupUtils"),
|
|
310
|
-
flatConfigToGridState = _require2.flatConfigToGridState;
|
|
311
|
-
var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
|
|
312
|
-
console.log('[AgGridPlus] useEffect: 应用方案的 columnConfig:', {
|
|
313
|
-
columnConfig: currentScheme.columnConfig,
|
|
314
|
-
columnConfigLength: currentScheme.columnConfig.length,
|
|
315
|
-
gridColumnDefs: gridColumnDefs,
|
|
316
|
-
gridColumnDefsLength: gridColumnDefs.length,
|
|
317
|
-
columnConfigDetail: currentScheme.columnConfig.map(function (item) {
|
|
318
|
-
return {
|
|
319
|
-
type: item.type,
|
|
320
|
-
field: item.field,
|
|
321
|
-
headerName: item.headerName,
|
|
322
|
-
order: item.order,
|
|
323
|
-
parentId: item.parentId
|
|
324
|
-
};
|
|
325
|
-
}),
|
|
326
|
-
gridColumnDefsDetail: gridColumnDefs.map(function (def, idx) {
|
|
327
|
-
var _def$children;
|
|
328
|
-
return {
|
|
329
|
-
index: idx,
|
|
330
|
-
field: def.field,
|
|
331
|
-
headerName: def.headerName,
|
|
332
|
-
groupId: def.groupId,
|
|
333
|
-
children: (_def$children = def.children) === null || _def$children === void 0 ? void 0 : _def$children.length
|
|
334
|
-
};
|
|
335
|
-
})
|
|
336
|
-
});
|
|
337
294
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
295
|
+
// 如果有 columnConfig,使用 applyColumnState 应用列状态
|
|
296
|
+
if (currentScheme.columnConfig && currentScheme.columnConfig.length > 0) {
|
|
297
|
+
var _require2 = require("./setting/columnGroupUtils"),
|
|
298
|
+
flatConfigToColumnState = _require2.flatConfigToColumnState;
|
|
299
|
+
var _columnState2 = flatConfigToColumnState(currentScheme.columnConfig);
|
|
341
300
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
apiRef.current.setFilterModel(currentScheme.filterModel);
|
|
350
|
-
}
|
|
351
|
-
});
|
|
352
|
-
}
|
|
353
|
-
}
|
|
301
|
+
// 使用 applyColumnState 应用列状态
|
|
302
|
+
// applyOrder: true 表示按照 state 数组的顺序重新排列列
|
|
303
|
+
apiRef.current.applyColumnState({
|
|
304
|
+
state: _columnState2,
|
|
305
|
+
applyOrder: true
|
|
306
|
+
});
|
|
307
|
+
}
|
|
354
308
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
};
|
|
309
|
+
// 应用过滤器状态
|
|
310
|
+
if (currentScheme.filterModel) {
|
|
311
|
+
setTimeout(function () {
|
|
312
|
+
if (apiRef.current) {
|
|
313
|
+
apiRef.current.setFilterModel(currentScheme.filterModel);
|
|
314
|
+
}
|
|
315
|
+
}, 50); // 延迟稍长一点,等待 columnState 应用完成
|
|
316
|
+
}
|
|
364
317
|
}, [apiRef.current, columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
365
318
|
(0, _react.useEffect)(function () {
|
|
366
319
|
setRowData(dataSource || propRowData || []);
|
|
@@ -943,6 +896,17 @@ function AgGridPlus(props) {
|
|
|
943
896
|
calculateSum();
|
|
944
897
|
};
|
|
945
898
|
var colDefs = (0, _react.useMemo)(function () {
|
|
899
|
+
var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
|
|
900
|
+
|
|
901
|
+
// 【修复】优先使用方案的 columnConfig,避免被默认逻辑覆盖
|
|
902
|
+
if (currentScheme !== null && currentScheme !== void 0 && currentScheme.columnConfig && currentScheme.columnConfig.length > 0) {
|
|
903
|
+
var _require3 = require("./setting/columnGroupUtils"),
|
|
904
|
+
flatConfigToGridState = _require3.flatConfigToGridState;
|
|
905
|
+
var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
|
|
906
|
+
return gridColumnDefs;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
// 【默认逻辑】没有方案配置时,使用原有的列定义生成逻辑
|
|
946
910
|
// 使用缓存的首行数据进行类型推断,而不是当前的 rowData
|
|
947
911
|
// 这样 rowData 更新时不会触发 colDefs 重新计算
|
|
948
912
|
var dataForTypeInference = firstRowDataRef.current || (rowData.length > 0 ? rowData[0] : {});
|
|
@@ -978,16 +942,8 @@ function AgGridPlus(props) {
|
|
|
978
942
|
return !x.hideInTable;
|
|
979
943
|
});
|
|
980
944
|
var processedColumns = (0, _processColumnGroups.default)(columnDefs);
|
|
981
|
-
console.log('[AgGridPlus] colDefs 重新计算:', {
|
|
982
|
-
childrenCount: _react.default.Children.count(children),
|
|
983
|
-
hasPropsColumnDefs: !!props.columnDefs,
|
|
984
|
-
extensibleColumnsCount: Object.keys(extensibleColumns || {}).length,
|
|
985
|
-
columnCellClassCount: Object.keys(columnCellClass).length,
|
|
986
|
-
processedColumnsCount: processedColumns.length,
|
|
987
|
-
usingCachedData: !!firstRowDataRef.current
|
|
988
|
-
});
|
|
989
945
|
return processedColumns;
|
|
990
|
-
}, [_react.default.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass]);
|
|
946
|
+
}, [columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme, _react.default.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass]);
|
|
991
947
|
|
|
992
948
|
// 构建查询表单项(带 order 属性)
|
|
993
949
|
var queryFormItems = (0, _react.useMemo)(function () {
|
|
@@ -1145,8 +1101,8 @@ function AgGridPlus(props) {
|
|
|
1145
1101
|
onDragStopped: function onDragStopped(e) {
|
|
1146
1102
|
if (apiRef.current) {
|
|
1147
1103
|
var _apiRef$current5;
|
|
1148
|
-
var
|
|
1149
|
-
setColumnState(
|
|
1104
|
+
var _columnState3 = (_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 ? void 0 : _apiRef$current5.getColumnState();
|
|
1105
|
+
setColumnState(_columnState3);
|
|
1150
1106
|
|
|
1151
1107
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
1152
1108
|
}
|
|
@@ -277,83 +277,36 @@ function AgGridPlus(props) {
|
|
|
277
277
|
}
|
|
278
278
|
}, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig]);
|
|
279
279
|
|
|
280
|
-
//
|
|
280
|
+
// 【修复】使用 applyColumnState 来应用列的顺序、宽度、隐藏等状态
|
|
281
|
+
// applyColumnState 是 AG-Grid 推荐的方式,专门用于控制列状态
|
|
281
282
|
useEffect(function () {
|
|
282
|
-
var _currentScheme$column;
|
|
283
283
|
var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
|
|
284
|
-
|
|
285
|
-
// 两个依赖都不存在时,直接返回
|
|
286
284
|
if (!apiRef.current || !currentScheme) {
|
|
287
|
-
console.log('[AgGridPlus] useEffect: 等待依赖准备', {
|
|
288
|
-
hasApiRef: !!apiRef.current,
|
|
289
|
-
hasCurrentScheme: !!currentScheme
|
|
290
|
-
});
|
|
291
285
|
return;
|
|
292
286
|
}
|
|
293
|
-
console.log('[AgGridPlus] useEffect: 两个依赖都准备好,应用方案', {
|
|
294
|
-
schemeId: currentScheme.id,
|
|
295
|
-
schemeName: currentScheme.name,
|
|
296
|
-
hasColumnConfig: !!currentScheme.columnConfig,
|
|
297
|
-
columnConfigCount: ((_currentScheme$column = currentScheme.columnConfig) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.length) || 0
|
|
298
|
-
});
|
|
299
|
-
var timer = setTimeout(function () {
|
|
300
|
-
// 优先使用 columnConfig(包含完整的分组结构)
|
|
301
|
-
if (currentScheme.columnConfig) {
|
|
302
|
-
var _require2 = require("./setting/columnGroupUtils"),
|
|
303
|
-
flatConfigToGridState = _require2.flatConfigToGridState;
|
|
304
|
-
var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
|
|
305
|
-
console.log('[AgGridPlus] useEffect: 应用方案的 columnConfig:', {
|
|
306
|
-
columnConfig: currentScheme.columnConfig,
|
|
307
|
-
columnConfigLength: currentScheme.columnConfig.length,
|
|
308
|
-
gridColumnDefs: gridColumnDefs,
|
|
309
|
-
gridColumnDefsLength: gridColumnDefs.length,
|
|
310
|
-
columnConfigDetail: currentScheme.columnConfig.map(function (item) {
|
|
311
|
-
return {
|
|
312
|
-
type: item.type,
|
|
313
|
-
field: item.field,
|
|
314
|
-
headerName: item.headerName,
|
|
315
|
-
order: item.order,
|
|
316
|
-
parentId: item.parentId
|
|
317
|
-
};
|
|
318
|
-
}),
|
|
319
|
-
gridColumnDefsDetail: gridColumnDefs.map(function (def, idx) {
|
|
320
|
-
var _def$children;
|
|
321
|
-
return {
|
|
322
|
-
index: idx,
|
|
323
|
-
field: def.field,
|
|
324
|
-
headerName: def.headerName,
|
|
325
|
-
groupId: def.groupId,
|
|
326
|
-
children: (_def$children = def.children) === null || _def$children === void 0 ? void 0 : _def$children.length
|
|
327
|
-
};
|
|
328
|
-
})
|
|
329
|
-
});
|
|
330
287
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
288
|
+
// 如果有 columnConfig,使用 applyColumnState 应用列状态
|
|
289
|
+
if (currentScheme.columnConfig && currentScheme.columnConfig.length > 0) {
|
|
290
|
+
var _require2 = require("./setting/columnGroupUtils"),
|
|
291
|
+
flatConfigToColumnState = _require2.flatConfigToColumnState;
|
|
292
|
+
var _columnState2 = flatConfigToColumnState(currentScheme.columnConfig);
|
|
334
293
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
apiRef.current.setFilterModel(currentScheme.filterModel);
|
|
343
|
-
}
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
}
|
|
294
|
+
// 使用 applyColumnState 应用列状态
|
|
295
|
+
// applyOrder: true 表示按照 state 数组的顺序重新排列列
|
|
296
|
+
apiRef.current.applyColumnState({
|
|
297
|
+
state: _columnState2,
|
|
298
|
+
applyOrder: true
|
|
299
|
+
});
|
|
300
|
+
}
|
|
347
301
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
};
|
|
302
|
+
// 应用过滤器状态
|
|
303
|
+
if (currentScheme.filterModel) {
|
|
304
|
+
setTimeout(function () {
|
|
305
|
+
if (apiRef.current) {
|
|
306
|
+
apiRef.current.setFilterModel(currentScheme.filterModel);
|
|
307
|
+
}
|
|
308
|
+
}, 50); // 延迟稍长一点,等待 columnState 应用完成
|
|
309
|
+
}
|
|
357
310
|
}, [apiRef.current, columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
358
311
|
useEffect(function () {
|
|
359
312
|
setRowData(dataSource || propRowData || []);
|
|
@@ -936,6 +889,17 @@ function AgGridPlus(props) {
|
|
|
936
889
|
calculateSum();
|
|
937
890
|
};
|
|
938
891
|
var colDefs = useMemo(function () {
|
|
892
|
+
var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
|
|
893
|
+
|
|
894
|
+
// 【修复】优先使用方案的 columnConfig,避免被默认逻辑覆盖
|
|
895
|
+
if (currentScheme !== null && currentScheme !== void 0 && currentScheme.columnConfig && currentScheme.columnConfig.length > 0) {
|
|
896
|
+
var _require3 = require("./setting/columnGroupUtils"),
|
|
897
|
+
flatConfigToGridState = _require3.flatConfigToGridState;
|
|
898
|
+
var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
|
|
899
|
+
return gridColumnDefs;
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
// 【默认逻辑】没有方案配置时,使用原有的列定义生成逻辑
|
|
939
903
|
// 使用缓存的首行数据进行类型推断,而不是当前的 rowData
|
|
940
904
|
// 这样 rowData 更新时不会触发 colDefs 重新计算
|
|
941
905
|
var dataForTypeInference = firstRowDataRef.current || (rowData.length > 0 ? rowData[0] : {});
|
|
@@ -971,16 +935,8 @@ function AgGridPlus(props) {
|
|
|
971
935
|
return !x.hideInTable;
|
|
972
936
|
});
|
|
973
937
|
var processedColumns = processColumnGroups(columnDefs);
|
|
974
|
-
console.log('[AgGridPlus] colDefs 重新计算:', {
|
|
975
|
-
childrenCount: React.Children.count(children),
|
|
976
|
-
hasPropsColumnDefs: !!props.columnDefs,
|
|
977
|
-
extensibleColumnsCount: Object.keys(extensibleColumns || {}).length,
|
|
978
|
-
columnCellClassCount: Object.keys(columnCellClass).length,
|
|
979
|
-
processedColumnsCount: processedColumns.length,
|
|
980
|
-
usingCachedData: !!firstRowDataRef.current
|
|
981
|
-
});
|
|
982
938
|
return processedColumns;
|
|
983
|
-
}, [React.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass]);
|
|
939
|
+
}, [columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme, React.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass]);
|
|
984
940
|
|
|
985
941
|
// 构建查询表单项(带 order 属性)
|
|
986
942
|
var queryFormItems = useMemo(function () {
|
|
@@ -1138,8 +1094,8 @@ function AgGridPlus(props) {
|
|
|
1138
1094
|
onDragStopped: function onDragStopped(e) {
|
|
1139
1095
|
if (apiRef.current) {
|
|
1140
1096
|
var _apiRef$current5;
|
|
1141
|
-
var
|
|
1142
|
-
setColumnState(
|
|
1097
|
+
var _columnState3 = (_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 ? void 0 : _apiRef$current5.getColumnState();
|
|
1098
|
+
setColumnState(_columnState3);
|
|
1143
1099
|
|
|
1144
1100
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
1145
1101
|
}
|