@nokecy/qc-ui 1.0.85 → 1.0.87
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.
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +64 -41
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +20 -11
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +64 -41
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +20 -11
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
- package/dist/esm/ConfirmPro/index.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/LogicSelector.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/RuleBuilderContainer.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/RuleCard.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/RuleGroupEditor.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/constants/operators.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/context/RuleBuilderContext.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/index.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/inputs/BetweenValueInput.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/inputs/MultiValueInput.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/inputs/SingleValueInput.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/inputs/ValueInput.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/selectors/FieldSelector.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/selectors/OperatorSelector.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/types/index.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/utils/pathHelpers.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/utils/ruleHelpers.d.ts.map +0 -1
- package/dist/esm/RuleBuilder/utils/validation.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/_utils/boolSelect.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/_utils/customGroupCellRenderer.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/_utils/processFormColumnState.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/ag-gridPlus.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/errors/ErrorBoundary.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/errors/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/errors/types.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/hooks/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/hooks/useAgGridData.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/hooks/useGridPlusColumnState.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/hooks/useGridState.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/interface.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/locale.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/queryForm/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/queryForm/queryForm.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/querySchemes/components/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/querySchemes/constants.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/querySchemes/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/querySchemes/types.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/querySchemes/utils/validator.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/schemes/components/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/schemes/constants.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/schemes/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/schemes/types.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/schemes/utils/validator.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/setting/MoveNodeModal.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/setting/columnGroupTypes.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/setting/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/settingItem/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/storage/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/storage/types.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/toolBar/index.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/toolBar/style.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/types.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/utils/columnProcessors.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/utils/constants.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/utils/logger.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/utils/sanitize.d.ts.map +0 -1
- package/dist/esm/ag-grid-plus/utils.d.ts.map +0 -1
- package/dist/esm/array-table/arrayAddBtn.d.ts.map +0 -1
- package/dist/esm/array-table/arrayBase.d.ts.map +0 -1
- package/dist/esm/array-table/columnHelper.d.ts.map +0 -1
- package/dist/esm/array-table/hooks.d.ts.map +0 -1
- package/dist/esm/array-table/index.d.ts.map +0 -1
- package/dist/esm/array-table/interface.d.ts.map +0 -1
- package/dist/esm/array-table/preview.d.ts.map +0 -1
- package/dist/esm/array-table/utils.d.ts.map +0 -1
- package/dist/esm/array-table-index/index.d.ts.map +0 -1
- package/dist/esm/card/index.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/core/RegexEditor.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/core/extensions/errorMarker.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/core/types.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/hooks/index.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/hooks/useRegexTester.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/hooks/useRegexValidation.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/hooks/useTemplateManager.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/index.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/templates/TemplateSelector.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/templates/builtinTemplates.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/templates/index.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/templates/storage.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/templates/templateManager.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/templates/types.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/testing/types.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/validation/complexity.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/validation/parser.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/validation/types.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/validation/validator.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/visualizer/FlagsSelector.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/visualizer/MatchItem.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/visualizer/RegexRailroadDiagram.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/visualizer/RegexTester.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/visualizer/astToRailroad.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/visualizer/index.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/visualizer/types.d.ts.map +0 -1
- package/dist/esm/components/RegexEditor/visualizer/utils.d.ts.map +0 -1
- package/dist/esm/dashboard/dashboard/components/index.d.ts.map +0 -1
- package/dist/esm/dashboard/dashboard/components/modal/index.d.ts.map +0 -1
- package/dist/esm/dashboard/dashboard/components/toolbar/index.d.ts.map +0 -1
- package/dist/esm/dashboard/dashboard/components/toolbar/style/index.d.ts.map +0 -1
- package/dist/esm/dashboard/dashboard/index.d.ts.map +0 -1
- package/dist/esm/dashboard/dashboard/service.d.ts.map +0 -1
- package/dist/esm/dashboard/dashboard/utils.d.ts.map +0 -1
- package/dist/esm/dashboard/index.d.ts.map +0 -1
- package/dist/esm/dashboard/utils.d.ts.map +0 -1
- package/dist/esm/dashboard/widget/index.d.ts.map +0 -1
- package/dist/esm/dashboard/widget/selector/index.d.ts.map +0 -1
- package/dist/esm/dashboard/widget/utils.d.ts.map +0 -1
- package/dist/esm/deleteConfirm/index.d.ts.map +0 -1
- package/dist/esm/dialogSelect/index.d.ts.map +0 -1
- package/dist/esm/draggableModal/index.d.ts.map +0 -1
- package/dist/esm/editable/index.d.ts.map +0 -1
- package/dist/esm/editable/style.d.ts.map +0 -1
- package/dist/esm/extensible-grid/index.d.ts.map +0 -1
- package/dist/esm/extensible-grid/interface.d.ts.map +0 -1
- package/dist/esm/formDesigner/FormDesigner.d.ts.map +0 -1
- package/dist/esm/formDesigner/ProCard/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/arrayTable/arrayTableSchema.d.ts.map +0 -1
- package/dist/esm/formDesigner/arrayTable/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/arrayTable/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/arrayTableIndex/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/arrayTableIndex/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/card/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/card/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/index.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/preview.d.ts.map +0 -1
- package/dist/esm/formDesigner/preWidgets/utils.d.ts.map +0 -1
- package/dist/esm/formDesigner/widgets/ActionsWidget.d.ts.map +0 -1
- package/dist/esm/formDesigner/widgets/LogoWidget.d.ts.map +0 -1
- package/dist/esm/formDesigner/widgets/PreviewWidget.d.ts.map +0 -1
- package/dist/esm/formDesigner/widgets/SchemaEditorWidget.d.ts.map +0 -1
- package/dist/esm/formDesigner/widgets/index.d.ts.map +0 -1
- package/dist/esm/formPro/context/formProContext.d.ts.map +0 -1
- package/dist/esm/formPro/formLayoutPro.d.ts.map +0 -1
- package/dist/esm/formPro/index.d.ts.map +0 -1
- package/dist/esm/fullScreenAlert/index.d.ts.map +0 -1
- package/dist/esm/generatedListPage/ConfigurableToolbar.d.ts.map +0 -1
- package/dist/esm/generatedListPage/GeneratedListPage.d.ts.map +0 -1
- package/dist/esm/generatedListPage/OptionsColumn.d.ts.map +0 -1
- package/dist/esm/generatedListPage/PerformanceMonitor.d.ts.map +0 -1
- package/dist/esm/generatedListPage/RequestManager.d.ts.map +0 -1
- package/dist/esm/generatedListPage/_utils/AccessWrapper.d.ts.map +0 -1
- package/dist/esm/generatedListPage/_utils/defaultHandlers.d.ts.map +0 -1
- package/dist/esm/generatedListPage/index.d.ts.map +0 -1
- package/dist/esm/generatedListPage/types.d.ts.map +0 -1
- package/dist/esm/generatedListPage/usePermissionCheck.d.ts.map +0 -1
- package/dist/esm/generatedListPage/useRequestManager.d.ts.map +0 -1
- package/dist/esm/importModal/index.d.ts.map +0 -1
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/queryBuilder/index.d.ts.map +0 -1
- package/dist/esm/standardFormDialog/FormValidation.d.ts.map +0 -1
- package/dist/esm/standardFormDialog/PortalManager.d.ts.map +0 -1
- package/dist/esm/standardFormDialog/StandardFormDialog.d.ts.map +0 -1
- package/dist/esm/standardFormDialog/index.d.ts.map +0 -1
- package/dist/esm/standardFormDialog/types.d.ts.map +0 -1
- package/dist/esm/standardFormDialog/useStandardFormSchema.d.ts.map +0 -1
- package/dist/esm/standardFormDialog/withStandardForm.d.ts.map +0 -1
- package/dist/esm/toolBar/index.d.ts.map +0 -1
|
@@ -241,47 +241,48 @@ function AgGridPlus(props) {
|
|
|
241
241
|
};
|
|
242
242
|
}, []);
|
|
243
243
|
|
|
244
|
+
// 【修复】缓存第一次数据用于类型推断,避免 rowData 更新时重新计算 colDefs
|
|
245
|
+
// 原因: getTableColumns 只需要第一行数据来推断列的数据类型(数字列自动求和)
|
|
246
|
+
// 类型推断应该只在初始化时进行一次,后续数据更新不应改变列定义
|
|
247
|
+
var firstRowDataRef = (0, _react.useRef)(null);
|
|
248
|
+
(0, _react.useEffect)(function () {
|
|
249
|
+
// 只在首次有数据时保存
|
|
250
|
+
if (!firstRowDataRef.current && rowData.length > 0) {
|
|
251
|
+
firstRowDataRef.current = rowData[0];
|
|
252
|
+
console.log('[AgGridPlus] 保存首行数据用于类型推断:', firstRowDataRef.current);
|
|
253
|
+
}
|
|
254
|
+
}, [rowData]);
|
|
255
|
+
|
|
244
256
|
// 测试列数据
|
|
245
257
|
// const restData = [{"id":"47","field":"code","headerName":"编码","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"code","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"48","field":"name","headerName":"名称","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"name","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"49","field":"abbName","headerName":"简称","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"abbName","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"50","field":"address","headerName":"地址","width":662,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"address","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":1},{"id":"51","field":"creator","headerName":"创建人","width":90,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"creator","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"52","field":"creationTime","headerName":"创建时间","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"creationTime","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"53","field":"lastModifier","headerName":"最后修改人","width":90,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"lastModifier","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"54","field":"lastModificationTime","headerName":"最后修改时间","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"lastModificationTime","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"55","field":"","headerName":"操作","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"0","pinned":"right","sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null}]
|
|
246
258
|
|
|
247
259
|
// 加载列方案
|
|
260
|
+
// 仅用于设置列样式,不改变列结构
|
|
261
|
+
// 列结构(包括分组)由 useEffect #2 通过 setGridOption("columnDefs") 处理
|
|
248
262
|
(0, _react.useEffect)(function () {
|
|
249
263
|
var _columnSchemeManager$;
|
|
250
264
|
if (!gridKey || !apiRef.current) return;
|
|
251
265
|
|
|
252
|
-
//
|
|
266
|
+
// 只有当有 columnConfig 时才设置列样式
|
|
253
267
|
if (columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$ = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$ !== void 0 && _columnSchemeManager$.columnConfig) {
|
|
254
268
|
var _require = require("./setting/columnGroupUtils"),
|
|
255
269
|
flatConfigToColumnState = _require.flatConfigToColumnState;
|
|
256
270
|
var _columnState = flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
|
|
271
|
+
console.log('[AgGridPlus] useEffect #1: 设置列样式', {
|
|
272
|
+
gridKey: gridKey,
|
|
273
|
+
schemeId: columnSchemeManager.currentScheme.id,
|
|
274
|
+
schemeName: columnSchemeManager.currentScheme.name,
|
|
275
|
+
columnCount: _columnState.length
|
|
276
|
+
});
|
|
257
277
|
setColumnCellClass(handelgridPlusColumnState(_columnState));
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
}, 10);
|
|
265
|
-
return function () {
|
|
266
|
-
return clearTimeout(timer);
|
|
267
|
-
};
|
|
268
|
-
}
|
|
269
|
-
// 后备方案:使用旧的 gridPlusColumnState
|
|
270
|
-
else if (gridPlusColumnState !== null && gridPlusColumnState !== void 0 && gridPlusColumnState[gridKey]) {
|
|
271
|
-
var currentState = gridPlusColumnState[gridKey];
|
|
272
|
-
setColumnCellClass(handelgridPlusColumnState(currentState));
|
|
273
|
-
var _timer = setTimeout(function () {
|
|
274
|
-
var _apiRef$current2;
|
|
275
|
-
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.applyColumnState({
|
|
276
|
-
state: currentState,
|
|
277
|
-
applyOrder: true
|
|
278
|
-
});
|
|
279
|
-
}, 10);
|
|
280
|
-
return function () {
|
|
281
|
-
return clearTimeout(_timer);
|
|
282
|
-
};
|
|
278
|
+
|
|
279
|
+
// 【重要】不再调用 applyColumnState
|
|
280
|
+
// 原因:
|
|
281
|
+
// 1. 如果有分组,applyColumnState 会破坏分组结构
|
|
282
|
+
// 2. 列顺序、宽度、隐藏等属性已由 useEffect #2 的 setGridOption("columnDefs") 应用
|
|
283
|
+
// 3. 这里只负责设置列样式(cellClass)
|
|
283
284
|
}
|
|
284
|
-
}, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig
|
|
285
|
+
}, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig]);
|
|
285
286
|
|
|
286
287
|
// 同步 apiRef 和 currentScheme,确保方案在两者都准备好时应用
|
|
287
288
|
(0, _react.useEffect)(function () {
|
|
@@ -521,11 +522,22 @@ function AgGridPlus(props) {
|
|
|
521
522
|
};
|
|
522
523
|
|
|
523
524
|
// 计算所有列定义(包括隐藏的列)
|
|
525
|
+
// 【修复】移除 rowData 依赖,使用缓存的首行数据进行类型推断
|
|
524
526
|
var allColDefs = (0, _react.useMemo)(function () {
|
|
525
|
-
var
|
|
527
|
+
var dataForTypeInference = firstRowDataRef.current || (rowData.length > 0 ? rowData[0] : {});
|
|
528
|
+
var cols = getTableColumns([dataForTypeInference]);
|
|
526
529
|
allColDefsRef.current = cols; // 同步更新 ref
|
|
530
|
+
|
|
531
|
+
console.log('[AgGridPlus] allColDefs 重新计算:', {
|
|
532
|
+
childrenCount: _react.default.Children.count(children),
|
|
533
|
+
hasPropsColumnDefs: !!props.columnDefs,
|
|
534
|
+
extensibleColumnsCount: Object.keys(extensibleColumns || {}).length,
|
|
535
|
+
gridKey: gridKey,
|
|
536
|
+
colsCount: cols.length,
|
|
537
|
+
usingCachedData: !!firstRowDataRef.current
|
|
538
|
+
});
|
|
527
539
|
return cols;
|
|
528
|
-
}, [_react.default.Children.count(children), props.columnDefs, extensibleColumns,
|
|
540
|
+
}, [_react.default.Children.count(children), props.columnDefs, extensibleColumns, gridKey]);
|
|
529
541
|
|
|
530
542
|
// 稳定化 gridParams 和 sortColumn 的引用
|
|
531
543
|
var stableGridParams = (0, _react.useMemo)(function () {
|
|
@@ -580,7 +592,7 @@ function AgGridPlus(props) {
|
|
|
580
592
|
};
|
|
581
593
|
}, [propsRowSelection, enableClickSelection]);
|
|
582
594
|
var onGridReady = (0, _react.useCallback)(function (params) {
|
|
583
|
-
var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$
|
|
595
|
+
var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$current;
|
|
584
596
|
console.log('[AgGridPlus] onGridReady 被调用:', {
|
|
585
597
|
hasColumnSchemeManager: !!columnSchemeManager,
|
|
586
598
|
hasCurrentScheme: !!(columnSchemeManager !== null && columnSchemeManager !== void 0 && columnSchemeManager.currentScheme),
|
|
@@ -592,7 +604,7 @@ function AgGridPlus(props) {
|
|
|
592
604
|
onReady && onReady(params);
|
|
593
605
|
///@ts-ignore
|
|
594
606
|
dataSource && setRowData(dataSource);
|
|
595
|
-
setColumnState((_apiRef$
|
|
607
|
+
setColumnState((_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 ? void 0 : _apiRef$current.getColumnState());
|
|
596
608
|
sortChanged(params.api);
|
|
597
609
|
setReady(true);
|
|
598
610
|
|
|
@@ -617,7 +629,7 @@ function AgGridPlus(props) {
|
|
|
617
629
|
sorter: getSort(stableSortColumn)
|
|
618
630
|
});
|
|
619
631
|
requestRef.current(params, undefined, queryFilter).then(function (response) {
|
|
620
|
-
var _apiRef$
|
|
632
|
+
var _apiRef$current2;
|
|
621
633
|
// 验证响应数据格式
|
|
622
634
|
if (!response || _typeof(response) !== 'object') {
|
|
623
635
|
throw new _errors.GridPlusError('服务器返回数据格式错误', _errors.ErrorType.DATA_FORMAT_ERROR, _errors.ErrorSeverity.HIGH, {
|
|
@@ -633,7 +645,7 @@ function AgGridPlus(props) {
|
|
|
633
645
|
var rowCount = response.total;
|
|
634
646
|
setRowData(rowData);
|
|
635
647
|
// 刷新所有单元格
|
|
636
|
-
(_apiRef$
|
|
648
|
+
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.refreshCells({
|
|
637
649
|
force: true
|
|
638
650
|
});
|
|
639
651
|
setPagination(function (prev) {
|
|
@@ -907,8 +919,8 @@ function AgGridPlus(props) {
|
|
|
907
919
|
});
|
|
908
920
|
}
|
|
909
921
|
if (!allColDefs || displayedData.length === 0) {
|
|
910
|
-
var _apiRef$
|
|
911
|
-
(_apiRef$
|
|
922
|
+
var _apiRef$current3;
|
|
923
|
+
(_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 || _apiRef$current3.setGridOption('pinnedBottomRowData', undefined);
|
|
912
924
|
return;
|
|
913
925
|
}
|
|
914
926
|
var calcColFields = allColDefs.filter(function (col) {
|
|
@@ -922,16 +934,19 @@ function AgGridPlus(props) {
|
|
|
922
934
|
};
|
|
923
935
|
});
|
|
924
936
|
if (calcColFields.length > 0) {
|
|
925
|
-
var _apiRef$
|
|
937
|
+
var _apiRef$current4;
|
|
926
938
|
var calculatedValues = calculatefun(calcColFields, displayedData);
|
|
927
|
-
(_apiRef$
|
|
939
|
+
(_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 || _apiRef$current4.setGridOption('pinnedBottomRowData', calculatedValues);
|
|
928
940
|
}
|
|
929
941
|
}, [allColDefs, calculatefun]);
|
|
930
942
|
var onFilterChanged = function onFilterChanged(event) {
|
|
931
943
|
calculateSum();
|
|
932
944
|
};
|
|
933
945
|
var colDefs = (0, _react.useMemo)(function () {
|
|
934
|
-
|
|
946
|
+
// 使用缓存的首行数据进行类型推断,而不是当前的 rowData
|
|
947
|
+
// 这样 rowData 更新时不会触发 colDefs 重新计算
|
|
948
|
+
var dataForTypeInference = firstRowDataRef.current || (rowData.length > 0 ? rowData[0] : {});
|
|
949
|
+
var columnDefs = getTableColumns([dataForTypeInference]);
|
|
935
950
|
|
|
936
951
|
// 递归应用 columnCellClass 配置
|
|
937
952
|
var applyCellConfig = function applyCellConfig(col) {
|
|
@@ -963,8 +978,16 @@ function AgGridPlus(props) {
|
|
|
963
978
|
return !x.hideInTable;
|
|
964
979
|
});
|
|
965
980
|
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
|
+
});
|
|
966
989
|
return processedColumns;
|
|
967
|
-
}, [_react.default.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass
|
|
990
|
+
}, [_react.default.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass]);
|
|
968
991
|
|
|
969
992
|
// 构建查询表单项(带 order 属性)
|
|
970
993
|
var queryFormItems = (0, _react.useMemo)(function () {
|
|
@@ -1121,8 +1144,8 @@ function AgGridPlus(props) {
|
|
|
1121
1144
|
rowSelection: rowSelectionConfig,
|
|
1122
1145
|
onDragStopped: function onDragStopped(e) {
|
|
1123
1146
|
if (apiRef.current) {
|
|
1124
|
-
var _apiRef$
|
|
1125
|
-
var _columnState2 = (_apiRef$
|
|
1147
|
+
var _apiRef$current5;
|
|
1148
|
+
var _columnState2 = (_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 ? void 0 : _apiRef$current5.getColumnState();
|
|
1126
1149
|
setColumnState(_columnState2);
|
|
1127
1150
|
|
|
1128
1151
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
@@ -249,12 +249,12 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
249
249
|
|
|
250
250
|
// 等待 Grid 状态更新完成后再保存到方案
|
|
251
251
|
setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
252
|
-
var updatedState, filterModel, defaultScheme, newScheme;
|
|
252
|
+
var updatedState, filterModel, defaultScheme, _newScheme$columnConf, newScheme;
|
|
253
253
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
254
254
|
while (1) switch (_context.prev = _context.next) {
|
|
255
255
|
case 0:
|
|
256
256
|
if (!(schemeManager && gridKey)) {
|
|
257
|
-
_context.next =
|
|
257
|
+
_context.next = 29;
|
|
258
258
|
break;
|
|
259
259
|
}
|
|
260
260
|
_context.prev = 1;
|
|
@@ -287,7 +287,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
287
287
|
filterModel: filterModel
|
|
288
288
|
});
|
|
289
289
|
case 8:
|
|
290
|
-
_context.next =
|
|
290
|
+
_context.next = 24;
|
|
291
291
|
break;
|
|
292
292
|
case 10:
|
|
293
293
|
// 如果没有激活的方案,查找或创建"默认配置"方案
|
|
@@ -308,7 +308,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
308
308
|
filterModel: filterModel
|
|
309
309
|
});
|
|
310
310
|
case 16:
|
|
311
|
-
_context.next =
|
|
311
|
+
_context.next = 24;
|
|
312
312
|
break;
|
|
313
313
|
case 18:
|
|
314
314
|
_context.next = 20;
|
|
@@ -321,20 +321,29 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
321
321
|
});
|
|
322
322
|
case 20:
|
|
323
323
|
newScheme = _context.sent;
|
|
324
|
-
|
|
324
|
+
console.log('[ColumnSetting] 创建默认方案成功,准备应用:', {
|
|
325
|
+
schemeId: newScheme.id,
|
|
326
|
+
schemeName: newScheme.name,
|
|
327
|
+
hasColumnConfig: !!newScheme.columnConfig,
|
|
328
|
+
columnConfigLength: ((_newScheme$columnConf = newScheme.columnConfig) === null || _newScheme$columnConf === void 0 ? void 0 : _newScheme$columnConf.length) || 0
|
|
329
|
+
});
|
|
330
|
+
|
|
331
|
+
// 【修复】直接加载方案,确保立即应用
|
|
332
|
+
// loadScheme 会设置 currentScheme 并触发 onSchemeChange
|
|
333
|
+
_context.next = 24;
|
|
325
334
|
return schemeManager.loadScheme(newScheme.id);
|
|
326
|
-
case
|
|
327
|
-
_context.next =
|
|
335
|
+
case 24:
|
|
336
|
+
_context.next = 29;
|
|
328
337
|
break;
|
|
329
|
-
case
|
|
330
|
-
_context.prev =
|
|
338
|
+
case 26:
|
|
339
|
+
_context.prev = 26;
|
|
331
340
|
_context.t0 = _context["catch"](1);
|
|
332
341
|
console.error('[ColumnSetting] 保存列配置到方案失败:', _context.t0);
|
|
333
|
-
case
|
|
342
|
+
case 29:
|
|
334
343
|
case "end":
|
|
335
344
|
return _context.stop();
|
|
336
345
|
}
|
|
337
|
-
}, _callee, null, [[1,
|
|
346
|
+
}, _callee, null, [[1, 26]]);
|
|
338
347
|
})), 50);
|
|
339
348
|
|
|
340
349
|
// 保存成功后清除备份
|
|
@@ -234,47 +234,48 @@ function AgGridPlus(props) {
|
|
|
234
234
|
};
|
|
235
235
|
}, []);
|
|
236
236
|
|
|
237
|
+
// 【修复】缓存第一次数据用于类型推断,避免 rowData 更新时重新计算 colDefs
|
|
238
|
+
// 原因: getTableColumns 只需要第一行数据来推断列的数据类型(数字列自动求和)
|
|
239
|
+
// 类型推断应该只在初始化时进行一次,后续数据更新不应改变列定义
|
|
240
|
+
var firstRowDataRef = useRef(null);
|
|
241
|
+
useEffect(function () {
|
|
242
|
+
// 只在首次有数据时保存
|
|
243
|
+
if (!firstRowDataRef.current && rowData.length > 0) {
|
|
244
|
+
firstRowDataRef.current = rowData[0];
|
|
245
|
+
console.log('[AgGridPlus] 保存首行数据用于类型推断:', firstRowDataRef.current);
|
|
246
|
+
}
|
|
247
|
+
}, [rowData]);
|
|
248
|
+
|
|
237
249
|
// 测试列数据
|
|
238
250
|
// const restData = [{"id":"47","field":"code","headerName":"编码","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"code","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"48","field":"name","headerName":"名称","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"name","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"49","field":"abbName","headerName":"简称","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"abbName","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"50","field":"address","headerName":"地址","width":662,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"address","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":1},{"id":"51","field":"creator","headerName":"创建人","width":90,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"creator","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"52","field":"creationTime","headerName":"创建时间","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"creationTime","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"53","field":"lastModifier","headerName":"最后修改人","width":90,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"lastModifier","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"54","field":"lastModificationTime","headerName":"最后修改时间","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"lastModificationTime","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"55","field":"","headerName":"操作","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"0","pinned":"right","sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null}]
|
|
239
251
|
|
|
240
252
|
// 加载列方案
|
|
253
|
+
// 仅用于设置列样式,不改变列结构
|
|
254
|
+
// 列结构(包括分组)由 useEffect #2 通过 setGridOption("columnDefs") 处理
|
|
241
255
|
useEffect(function () {
|
|
242
256
|
var _columnSchemeManager$;
|
|
243
257
|
if (!gridKey || !apiRef.current) return;
|
|
244
258
|
|
|
245
|
-
//
|
|
259
|
+
// 只有当有 columnConfig 时才设置列样式
|
|
246
260
|
if (columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$ = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$ !== void 0 && _columnSchemeManager$.columnConfig) {
|
|
247
261
|
var _require = require("./setting/columnGroupUtils"),
|
|
248
262
|
flatConfigToColumnState = _require.flatConfigToColumnState;
|
|
249
263
|
var _columnState = flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
|
|
264
|
+
console.log('[AgGridPlus] useEffect #1: 设置列样式', {
|
|
265
|
+
gridKey: gridKey,
|
|
266
|
+
schemeId: columnSchemeManager.currentScheme.id,
|
|
267
|
+
schemeName: columnSchemeManager.currentScheme.name,
|
|
268
|
+
columnCount: _columnState.length
|
|
269
|
+
});
|
|
250
270
|
setColumnCellClass(handelgridPlusColumnState(_columnState));
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}, 10);
|
|
258
|
-
return function () {
|
|
259
|
-
return clearTimeout(timer);
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
// 后备方案:使用旧的 gridPlusColumnState
|
|
263
|
-
else if (gridPlusColumnState !== null && gridPlusColumnState !== void 0 && gridPlusColumnState[gridKey]) {
|
|
264
|
-
var currentState = gridPlusColumnState[gridKey];
|
|
265
|
-
setColumnCellClass(handelgridPlusColumnState(currentState));
|
|
266
|
-
var _timer = setTimeout(function () {
|
|
267
|
-
var _apiRef$current2;
|
|
268
|
-
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.applyColumnState({
|
|
269
|
-
state: currentState,
|
|
270
|
-
applyOrder: true
|
|
271
|
-
});
|
|
272
|
-
}, 10);
|
|
273
|
-
return function () {
|
|
274
|
-
return clearTimeout(_timer);
|
|
275
|
-
};
|
|
271
|
+
|
|
272
|
+
// 【重要】不再调用 applyColumnState
|
|
273
|
+
// 原因:
|
|
274
|
+
// 1. 如果有分组,applyColumnState 会破坏分组结构
|
|
275
|
+
// 2. 列顺序、宽度、隐藏等属性已由 useEffect #2 的 setGridOption("columnDefs") 应用
|
|
276
|
+
// 3. 这里只负责设置列样式(cellClass)
|
|
276
277
|
}
|
|
277
|
-
}, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig
|
|
278
|
+
}, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig]);
|
|
278
279
|
|
|
279
280
|
// 同步 apiRef 和 currentScheme,确保方案在两者都准备好时应用
|
|
280
281
|
useEffect(function () {
|
|
@@ -514,11 +515,22 @@ function AgGridPlus(props) {
|
|
|
514
515
|
};
|
|
515
516
|
|
|
516
517
|
// 计算所有列定义(包括隐藏的列)
|
|
518
|
+
// 【修复】移除 rowData 依赖,使用缓存的首行数据进行类型推断
|
|
517
519
|
var allColDefs = useMemo(function () {
|
|
518
|
-
var
|
|
520
|
+
var dataForTypeInference = firstRowDataRef.current || (rowData.length > 0 ? rowData[0] : {});
|
|
521
|
+
var cols = getTableColumns([dataForTypeInference]);
|
|
519
522
|
allColDefsRef.current = cols; // 同步更新 ref
|
|
523
|
+
|
|
524
|
+
console.log('[AgGridPlus] allColDefs 重新计算:', {
|
|
525
|
+
childrenCount: React.Children.count(children),
|
|
526
|
+
hasPropsColumnDefs: !!props.columnDefs,
|
|
527
|
+
extensibleColumnsCount: Object.keys(extensibleColumns || {}).length,
|
|
528
|
+
gridKey: gridKey,
|
|
529
|
+
colsCount: cols.length,
|
|
530
|
+
usingCachedData: !!firstRowDataRef.current
|
|
531
|
+
});
|
|
520
532
|
return cols;
|
|
521
|
-
}, [React.Children.count(children), props.columnDefs, extensibleColumns,
|
|
533
|
+
}, [React.Children.count(children), props.columnDefs, extensibleColumns, gridKey]);
|
|
522
534
|
|
|
523
535
|
// 稳定化 gridParams 和 sortColumn 的引用
|
|
524
536
|
var stableGridParams = useMemo(function () {
|
|
@@ -573,7 +585,7 @@ function AgGridPlus(props) {
|
|
|
573
585
|
};
|
|
574
586
|
}, [propsRowSelection, enableClickSelection]);
|
|
575
587
|
var onGridReady = useCallback(function (params) {
|
|
576
|
-
var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$
|
|
588
|
+
var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$current;
|
|
577
589
|
console.log('[AgGridPlus] onGridReady 被调用:', {
|
|
578
590
|
hasColumnSchemeManager: !!columnSchemeManager,
|
|
579
591
|
hasCurrentScheme: !!(columnSchemeManager !== null && columnSchemeManager !== void 0 && columnSchemeManager.currentScheme),
|
|
@@ -585,7 +597,7 @@ function AgGridPlus(props) {
|
|
|
585
597
|
onReady && onReady(params);
|
|
586
598
|
///@ts-ignore
|
|
587
599
|
dataSource && setRowData(dataSource);
|
|
588
|
-
setColumnState((_apiRef$
|
|
600
|
+
setColumnState((_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 ? void 0 : _apiRef$current.getColumnState());
|
|
589
601
|
sortChanged(params.api);
|
|
590
602
|
setReady(true);
|
|
591
603
|
|
|
@@ -610,7 +622,7 @@ function AgGridPlus(props) {
|
|
|
610
622
|
sorter: getSort(stableSortColumn)
|
|
611
623
|
});
|
|
612
624
|
requestRef.current(params, undefined, queryFilter).then(function (response) {
|
|
613
|
-
var _apiRef$
|
|
625
|
+
var _apiRef$current2;
|
|
614
626
|
// 验证响应数据格式
|
|
615
627
|
if (!response || _typeof(response) !== 'object') {
|
|
616
628
|
throw new GridPlusError('服务器返回数据格式错误', ErrorType.DATA_FORMAT_ERROR, ErrorSeverity.HIGH, {
|
|
@@ -626,7 +638,7 @@ function AgGridPlus(props) {
|
|
|
626
638
|
var rowCount = response.total;
|
|
627
639
|
setRowData(rowData);
|
|
628
640
|
// 刷新所有单元格
|
|
629
|
-
(_apiRef$
|
|
641
|
+
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.refreshCells({
|
|
630
642
|
force: true
|
|
631
643
|
});
|
|
632
644
|
setPagination(function (prev) {
|
|
@@ -900,8 +912,8 @@ function AgGridPlus(props) {
|
|
|
900
912
|
});
|
|
901
913
|
}
|
|
902
914
|
if (!allColDefs || displayedData.length === 0) {
|
|
903
|
-
var _apiRef$
|
|
904
|
-
(_apiRef$
|
|
915
|
+
var _apiRef$current3;
|
|
916
|
+
(_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 || _apiRef$current3.setGridOption('pinnedBottomRowData', undefined);
|
|
905
917
|
return;
|
|
906
918
|
}
|
|
907
919
|
var calcColFields = allColDefs.filter(function (col) {
|
|
@@ -915,16 +927,19 @@ function AgGridPlus(props) {
|
|
|
915
927
|
};
|
|
916
928
|
});
|
|
917
929
|
if (calcColFields.length > 0) {
|
|
918
|
-
var _apiRef$
|
|
930
|
+
var _apiRef$current4;
|
|
919
931
|
var calculatedValues = calculatefun(calcColFields, displayedData);
|
|
920
|
-
(_apiRef$
|
|
932
|
+
(_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 || _apiRef$current4.setGridOption('pinnedBottomRowData', calculatedValues);
|
|
921
933
|
}
|
|
922
934
|
}, [allColDefs, calculatefun]);
|
|
923
935
|
var onFilterChanged = function onFilterChanged(event) {
|
|
924
936
|
calculateSum();
|
|
925
937
|
};
|
|
926
938
|
var colDefs = useMemo(function () {
|
|
927
|
-
|
|
939
|
+
// 使用缓存的首行数据进行类型推断,而不是当前的 rowData
|
|
940
|
+
// 这样 rowData 更新时不会触发 colDefs 重新计算
|
|
941
|
+
var dataForTypeInference = firstRowDataRef.current || (rowData.length > 0 ? rowData[0] : {});
|
|
942
|
+
var columnDefs = getTableColumns([dataForTypeInference]);
|
|
928
943
|
|
|
929
944
|
// 递归应用 columnCellClass 配置
|
|
930
945
|
var applyCellConfig = function applyCellConfig(col) {
|
|
@@ -956,8 +971,16 @@ function AgGridPlus(props) {
|
|
|
956
971
|
return !x.hideInTable;
|
|
957
972
|
});
|
|
958
973
|
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
|
+
});
|
|
959
982
|
return processedColumns;
|
|
960
|
-
}, [React.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass
|
|
983
|
+
}, [React.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass]);
|
|
961
984
|
|
|
962
985
|
// 构建查询表单项(带 order 属性)
|
|
963
986
|
var queryFormItems = useMemo(function () {
|
|
@@ -1114,8 +1137,8 @@ function AgGridPlus(props) {
|
|
|
1114
1137
|
rowSelection: rowSelectionConfig,
|
|
1115
1138
|
onDragStopped: function onDragStopped(e) {
|
|
1116
1139
|
if (apiRef.current) {
|
|
1117
|
-
var _apiRef$
|
|
1118
|
-
var _columnState2 = (_apiRef$
|
|
1140
|
+
var _apiRef$current5;
|
|
1141
|
+
var _columnState2 = (_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 ? void 0 : _apiRef$current5.getColumnState();
|
|
1119
1142
|
setColumnState(_columnState2);
|
|
1120
1143
|
|
|
1121
1144
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
@@ -240,12 +240,12 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
240
240
|
|
|
241
241
|
// 等待 Grid 状态更新完成后再保存到方案
|
|
242
242
|
setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
243
|
-
var updatedState, filterModel, defaultScheme, newScheme;
|
|
243
|
+
var updatedState, filterModel, defaultScheme, _newScheme$columnConf, newScheme;
|
|
244
244
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
245
245
|
while (1) switch (_context.prev = _context.next) {
|
|
246
246
|
case 0:
|
|
247
247
|
if (!(schemeManager && gridKey)) {
|
|
248
|
-
_context.next =
|
|
248
|
+
_context.next = 29;
|
|
249
249
|
break;
|
|
250
250
|
}
|
|
251
251
|
_context.prev = 1;
|
|
@@ -278,7 +278,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
278
278
|
filterModel: filterModel
|
|
279
279
|
});
|
|
280
280
|
case 8:
|
|
281
|
-
_context.next =
|
|
281
|
+
_context.next = 24;
|
|
282
282
|
break;
|
|
283
283
|
case 10:
|
|
284
284
|
// 如果没有激活的方案,查找或创建"默认配置"方案
|
|
@@ -299,7 +299,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
299
299
|
filterModel: filterModel
|
|
300
300
|
});
|
|
301
301
|
case 16:
|
|
302
|
-
_context.next =
|
|
302
|
+
_context.next = 24;
|
|
303
303
|
break;
|
|
304
304
|
case 18:
|
|
305
305
|
_context.next = 20;
|
|
@@ -312,20 +312,29 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
312
312
|
});
|
|
313
313
|
case 20:
|
|
314
314
|
newScheme = _context.sent;
|
|
315
|
-
|
|
315
|
+
console.log('[ColumnSetting] 创建默认方案成功,准备应用:', {
|
|
316
|
+
schemeId: newScheme.id,
|
|
317
|
+
schemeName: newScheme.name,
|
|
318
|
+
hasColumnConfig: !!newScheme.columnConfig,
|
|
319
|
+
columnConfigLength: ((_newScheme$columnConf = newScheme.columnConfig) === null || _newScheme$columnConf === void 0 ? void 0 : _newScheme$columnConf.length) || 0
|
|
320
|
+
});
|
|
321
|
+
|
|
322
|
+
// 【修复】直接加载方案,确保立即应用
|
|
323
|
+
// loadScheme 会设置 currentScheme 并触发 onSchemeChange
|
|
324
|
+
_context.next = 24;
|
|
316
325
|
return schemeManager.loadScheme(newScheme.id);
|
|
317
|
-
case
|
|
318
|
-
_context.next =
|
|
326
|
+
case 24:
|
|
327
|
+
_context.next = 29;
|
|
319
328
|
break;
|
|
320
|
-
case
|
|
321
|
-
_context.prev =
|
|
329
|
+
case 26:
|
|
330
|
+
_context.prev = 26;
|
|
322
331
|
_context.t0 = _context["catch"](1);
|
|
323
332
|
console.error('[ColumnSetting] 保存列配置到方案失败:', _context.t0);
|
|
324
|
-
case
|
|
333
|
+
case 29:
|
|
325
334
|
case "end":
|
|
326
335
|
return _context.stop();
|
|
327
336
|
}
|
|
328
|
-
}, _callee, null, [[1,
|
|
337
|
+
}, _callee, null, [[1, 26]]);
|
|
329
338
|
})), 50);
|
|
330
339
|
|
|
331
340
|
// 保存成功后清除备份
|