@nokecy/qc-ui 1.1.38 → 1.1.39

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 (121) hide show
  1. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +33 -20
  2. package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +37 -1
  3. package/dist/cjs/ag-grid-plus/context/useSchemeManager.js +120 -79
  4. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +52 -36
  5. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +14 -3
  6. package/dist/cjs/array-table/arrayAddBtn.js +26 -17
  7. package/dist/cjs/array-table/hooks.d.ts +2 -1
  8. package/dist/cjs/array-table/hooks.js +23 -43
  9. package/dist/cjs/array-table/index.js +105 -25
  10. package/dist/cjs/array-table/preview.js +1 -1
  11. package/dist/cjs/array-table/readOnlyFormatters.d.ts +28 -0
  12. package/dist/cjs/array-table/readOnlyFormatters.js +113 -0
  13. package/dist/cjs/array-table/utils.d.ts +2 -2
  14. package/dist/cjs/array-table/utils.js +162 -11
  15. package/dist/cjs/editable/index.js +3 -1
  16. package/dist/cjs/formDesigner/FormDesigner.js +3 -2
  17. package/dist/cjs/formDesigner/preWidgets/index.d.ts +1 -10
  18. package/dist/cjs/formDesigner/preWidgets/index.js +1 -100
  19. package/dist/cjs/formDesigner/preWidgets/preDefineProperty.d.ts +11 -0
  20. package/dist/cjs/formDesigner/preWidgets/preDefineProperty.js +70 -0
  21. package/dist/esm/ag-grid-plus/ag-gridPlus.js +33 -20
  22. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +37 -1
  23. package/dist/esm/ag-grid-plus/context/useSchemeManager.js +120 -79
  24. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +52 -36
  25. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +13 -0
  26. package/dist/esm/array-table/arrayAddBtn.js +26 -17
  27. package/dist/esm/array-table/hooks.d.ts +2 -1
  28. package/dist/esm/array-table/hooks.js +23 -43
  29. package/dist/esm/array-table/index.js +107 -27
  30. package/dist/esm/array-table/preview.js +2 -2
  31. package/dist/esm/array-table/readOnlyFormatters.d.ts +28 -0
  32. package/dist/esm/array-table/readOnlyFormatters.js +107 -0
  33. package/dist/esm/array-table/utils.d.ts +2 -2
  34. package/dist/esm/array-table/utils.js +162 -11
  35. package/dist/esm/editable/index.js +3 -1
  36. package/dist/esm/formDesigner/FormDesigner.js +3 -2
  37. package/dist/esm/formDesigner/preWidgets/index.d.ts +1 -10
  38. package/dist/esm/formDesigner/preWidgets/index.js +1 -10
  39. package/dist/esm/formDesigner/preWidgets/preDefineProperty.d.ts +11 -0
  40. package/dist/esm/formDesigner/preWidgets/{preDefineProperty1/preview.js → preDefineProperty.js} +49 -30
  41. package/dist/umd/qc-ui.min.js +1 -1
  42. package/package.json +1 -1
  43. package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/index.d.ts +0 -1
  44. package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/index.js +0 -16
  45. package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/preview.d.ts +0 -5
  46. package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/preview.js +0 -51
  47. package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/index.d.ts +0 -1
  48. package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/index.js +0 -16
  49. package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/preview.d.ts +0 -5
  50. package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/preview.js +0 -50
  51. package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/index.d.ts +0 -1
  52. package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/index.js +0 -16
  53. package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/preview.d.ts +0 -5
  54. package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/preview.js +0 -50
  55. package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/index.d.ts +0 -1
  56. package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/index.js +0 -16
  57. package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/preview.d.ts +0 -5
  58. package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/preview.js +0 -50
  59. package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/index.d.ts +0 -1
  60. package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/index.js +0 -16
  61. package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/preview.d.ts +0 -5
  62. package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/preview.js +0 -50
  63. package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/index.d.ts +0 -1
  64. package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/index.js +0 -16
  65. package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/preview.d.ts +0 -5
  66. package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/preview.js +0 -50
  67. package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/index.d.ts +0 -1
  68. package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/index.js +0 -16
  69. package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/preview.d.ts +0 -5
  70. package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/preview.js +0 -50
  71. package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/index.d.ts +0 -1
  72. package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/index.js +0 -16
  73. package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/preview.d.ts +0 -5
  74. package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/preview.js +0 -50
  75. package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/index.d.ts +0 -1
  76. package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/index.js +0 -16
  77. package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/preview.d.ts +0 -5
  78. package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/preview.js +0 -50
  79. package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/index.d.ts +0 -1
  80. package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/index.js +0 -16
  81. package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/preview.d.ts +0 -5
  82. package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/preview.js +0 -50
  83. package/dist/esm/formDesigner/preWidgets/preDefineProperty1/index.d.ts +0 -1
  84. package/dist/esm/formDesigner/preWidgets/preDefineProperty1/index.js +0 -1
  85. package/dist/esm/formDesigner/preWidgets/preDefineProperty1/preview.d.ts +0 -5
  86. package/dist/esm/formDesigner/preWidgets/preDefineProperty10/index.d.ts +0 -1
  87. package/dist/esm/formDesigner/preWidgets/preDefineProperty10/index.js +0 -1
  88. package/dist/esm/formDesigner/preWidgets/preDefineProperty10/preview.d.ts +0 -5
  89. package/dist/esm/formDesigner/preWidgets/preDefineProperty10/preview.js +0 -43
  90. package/dist/esm/formDesigner/preWidgets/preDefineProperty2/index.d.ts +0 -1
  91. package/dist/esm/formDesigner/preWidgets/preDefineProperty2/index.js +0 -1
  92. package/dist/esm/formDesigner/preWidgets/preDefineProperty2/preview.d.ts +0 -5
  93. package/dist/esm/formDesigner/preWidgets/preDefineProperty2/preview.js +0 -43
  94. package/dist/esm/formDesigner/preWidgets/preDefineProperty3/index.d.ts +0 -1
  95. package/dist/esm/formDesigner/preWidgets/preDefineProperty3/index.js +0 -1
  96. package/dist/esm/formDesigner/preWidgets/preDefineProperty3/preview.d.ts +0 -5
  97. package/dist/esm/formDesigner/preWidgets/preDefineProperty3/preview.js +0 -43
  98. package/dist/esm/formDesigner/preWidgets/preDefineProperty4/index.d.ts +0 -1
  99. package/dist/esm/formDesigner/preWidgets/preDefineProperty4/index.js +0 -1
  100. package/dist/esm/formDesigner/preWidgets/preDefineProperty4/preview.d.ts +0 -5
  101. package/dist/esm/formDesigner/preWidgets/preDefineProperty4/preview.js +0 -43
  102. package/dist/esm/formDesigner/preWidgets/preDefineProperty5/index.d.ts +0 -1
  103. package/dist/esm/formDesigner/preWidgets/preDefineProperty5/index.js +0 -1
  104. package/dist/esm/formDesigner/preWidgets/preDefineProperty5/preview.d.ts +0 -5
  105. package/dist/esm/formDesigner/preWidgets/preDefineProperty5/preview.js +0 -43
  106. package/dist/esm/formDesigner/preWidgets/preDefineProperty6/index.d.ts +0 -1
  107. package/dist/esm/formDesigner/preWidgets/preDefineProperty6/index.js +0 -1
  108. package/dist/esm/formDesigner/preWidgets/preDefineProperty6/preview.d.ts +0 -5
  109. package/dist/esm/formDesigner/preWidgets/preDefineProperty6/preview.js +0 -43
  110. package/dist/esm/formDesigner/preWidgets/preDefineProperty7/index.d.ts +0 -1
  111. package/dist/esm/formDesigner/preWidgets/preDefineProperty7/index.js +0 -1
  112. package/dist/esm/formDesigner/preWidgets/preDefineProperty7/preview.d.ts +0 -5
  113. package/dist/esm/formDesigner/preWidgets/preDefineProperty7/preview.js +0 -43
  114. package/dist/esm/formDesigner/preWidgets/preDefineProperty8/index.d.ts +0 -1
  115. package/dist/esm/formDesigner/preWidgets/preDefineProperty8/index.js +0 -1
  116. package/dist/esm/formDesigner/preWidgets/preDefineProperty8/preview.d.ts +0 -5
  117. package/dist/esm/formDesigner/preWidgets/preDefineProperty8/preview.js +0 -43
  118. package/dist/esm/formDesigner/preWidgets/preDefineProperty9/index.d.ts +0 -1
  119. package/dist/esm/formDesigner/preWidgets/preDefineProperty9/index.js +0 -1
  120. package/dist/esm/formDesigner/preWidgets/preDefineProperty9/preview.d.ts +0 -5
  121. package/dist/esm/formDesigner/preWidgets/preDefineProperty9/preview.js +0 -43
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _sumBy2 = _interopRequireDefault(require("lodash/sumBy"));
8
+ var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
8
9
  var _uniqueId2 = _interopRequireDefault(require("lodash/uniqueId"));
9
10
  var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
10
11
  var _agGridCommunity = require("ag-grid-community");
@@ -68,6 +69,16 @@ var Text = _antd.Typography.Text;
68
69
  var getSort = function getSort(columnState) {
69
70
  return columnState ? "".concat(columnState.colId, " ").concat(columnState.sort) : "";
70
71
  };
72
+
73
+ // 深比较稳定引用:内容不变时返回同一引用。替代 JSON.stringify 作 memo 依赖——
74
+ // 避免每次渲染序列化大对象,且 isEqual 差异早退、对 Date/undefined 比较语义正确 @author nokecy
75
+ function useDeepCompareStable(value) {
76
+ var ref = (0, _react.useRef)(value);
77
+ if (!(0, _isEqual2.default)(ref.current, value)) {
78
+ ref.current = value;
79
+ }
80
+ return ref.current;
81
+ }
71
82
  function AgGridPlus(props) {
72
83
  var style = props.style,
73
84
  loadingProps = props.loading,
@@ -111,6 +122,8 @@ function AgGridPlus(props) {
111
122
  var gridRef = (0, _react.useRef)();
112
123
  var apiRef = (0, _react.useRef)();
113
124
  var allColDefsRef = (0, _react.useRef)([]);
125
+ // 请求序号:只接受最新一次请求的响应,防止快速翻页/连续查询时慢请求乱序覆盖新结果 @author nokecy
126
+ var requestSeqRef = (0, _react.useRef)(0);
114
127
 
115
128
  // 【新增】缓存初始的 columnDefs,用于保留原始 headerName
116
129
  // 这个值在组件生命周期中保持不变,不会被列方案修改
@@ -609,7 +622,7 @@ function AgGridPlus(props) {
609
622
  columnDefs = columnDefs.map(function (col) {
610
623
  return processColumnDefRecursively(col);
611
624
  });
612
- extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].map(function (column) {
625
+ extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].forEach(function (column) {
613
626
  columnDefs.push({
614
627
  field: column.name,
615
628
  headerName: column.displayName,
@@ -671,16 +684,10 @@ function AgGridPlus(props) {
671
684
  return cols;
672
685
  }, [_react.default.Children.count(children), props.columnDefs, extensibleColumns, gridKey, entityType, hostEntityExtensions]);
673
686
 
674
- // 稳定化 gridParams 和 sortColumn 的引用
675
- var stableGridParams = (0, _react.useMemo)(function () {
676
- return gridParams;
677
- }, [JSON.stringify(gridParams)]);
678
- var stableSortColumn = (0, _react.useMemo)(function () {
679
- return sortColumn;
680
- }, [JSON.stringify(sortColumn)]);
681
- var stableQueryFilter = (0, _react.useMemo)(function () {
682
- return queryFilter;
683
- }, [JSON.stringify(queryFilter)]);
687
+ // 稳定化 gridParams 和 sortColumn 的引用(深比较,内容不变即复用旧引用)
688
+ var stableGridParams = useDeepCompareStable(gridParams);
689
+ var stableSortColumn = useDeepCompareStable(sortColumn);
690
+ var stableQueryFilter = useDeepCompareStable(queryFilter);
684
691
 
685
692
  // AG-Grid v33+ 行选择配置(使用对象 API)
686
693
  var rowSelectionConfig = (0, _react.useMemo)(function () {
@@ -764,8 +771,12 @@ function AgGridPlus(props) {
764
771
  maxResultCount: pagination.pageSize,
765
772
  sorter: getSort(stableSortColumn)
766
773
  });
774
+ var requestSeq = ++requestSeqRef.current;
767
775
  requestRef.current(params, undefined, queryFilter).then(function (response) {
768
776
  var _apiRef$current2;
777
+ // 过期响应(期间已发起更新的请求),直接丢弃 @author nokecy
778
+ if (requestSeq !== requestSeqRef.current) return;
779
+
769
780
  // 验证响应数据格式
770
781
  if (!response || _typeof(response) !== 'object') {
771
782
  throw new _errors.GridPlusError('服务器返回数据格式错误', _errors.ErrorType.DATA_FORMAT_ERROR, _errors.ErrorSeverity.HIGH, {
@@ -841,6 +852,8 @@ function AgGridPlus(props) {
841
852
  });
842
853
  }
843
854
  }).catch(function (error) {
855
+ // 过期请求的失败不再提示/改状态,避免干扰最新请求 @author nokecy
856
+ if (requestSeq !== requestSeqRef.current) return;
844
857
  setLoading(false);
845
858
 
846
859
  // 包装错误为 GridPlusError
@@ -1180,7 +1193,9 @@ function AgGridPlus(props) {
1180
1193
  return processedColumns;
1181
1194
  }, [
1182
1195
  // 【关键】优先依赖派生状态
1183
- derivedColumnDefs, _react.default.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass, allColDefsRef.current]);
1196
+ derivedColumnDefs, _react.default.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass,
1197
+ // ref.current 变更不触发重渲染,作依赖无效;改依赖真正的数据源 allColDefs(memo 值) @author nokecy
1198
+ allColDefs]);
1184
1199
 
1185
1200
  // 构建查询表单项(带 order 属性)
1186
1201
  var queryFormItems = (0, _react.useMemo)(function () {
@@ -1258,10 +1273,10 @@ function AgGridPlus(props) {
1258
1273
  return {
1259
1274
  extensibleColumns: extensibleColumns,
1260
1275
  columnState: gridPlusColumnState,
1261
- allColDefs: allColDefsRef.current,
1262
- // 【修复】传入原始完整的列定义
1276
+ allColDefs: allColDefs,
1277
+ // 直接用 memo 值(与 ref 同源,引用变化能正确触发 memo 更新) @author nokecy
1263
1278
  initialColumnDefs: initialColumnDefsRef.current,
1264
- // 【新增】传入初始列定义(用于获取原始 headerName)
1279
+ // 初始列定义在 allColDefs 首次计算时填充,之后不变(用于获取原始 headerName)
1265
1280
  onSaveColumnState: onSaveColumnState,
1266
1281
  applyToGlobal: applyToGlobal,
1267
1282
  resetCurrent: resetCurrent,
@@ -1296,11 +1311,9 @@ function AgGridPlus(props) {
1296
1311
  // ========== 实体扩展字段配置 @author nokecy ==========
1297
1312
  hostEntityExtensions: hostEntityExtensions
1298
1313
  };
1299
- }, [extensibleColumns, gridPlusColumnState, allColDefsRef.current,
1300
- // 【修复】添加到依赖数组
1301
- initialColumnDefsRef.current,
1302
- // 【新增】添加初始列定义到依赖数组
1303
- onSaveColumnState, applyToGlobal, resetCurrent, resetAll, currentQueryScheme, queryItemsOrder, queryFormItems,
1314
+ }, [extensibleColumns, gridPlusColumnState,
1315
+ // ref.current 作依赖无效(变更不触发重渲染);依赖数据源 allColDefs,initialColumnDefs 随其首次计算填充 @author nokecy
1316
+ allColDefs, onSaveColumnState, applyToGlobal, resetCurrent, resetAll, currentQueryScheme, queryItemsOrder, queryFormItems,
1304
1317
  // 方案管理依赖
1305
1318
  columnSchemes, querySchemes, currentSchemes, schemesLoading, lastSyncTime, saveColumnScheme, deleteColumnScheme, saveQueryScheme, deleteQueryScheme, setCurrentColumnScheme, setCurrentQueryScheme, refreshSchemes, getColumnSchemes, getQuerySchemes, getCurrentScheme,
1306
1319
  // 全局配置依赖
@@ -8,6 +8,7 @@ exports.useDerivedGridState = useDerivedGridState;
8
8
  exports.useSchemeDataFlow = useSchemeDataFlow;
9
9
  exports.useSchemeSource = useSchemeSource;
10
10
  var _react = require("react");
11
+ var _logger = require("../utils/logger");
11
12
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
12
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -44,7 +45,7 @@ function useSchemeSource(gridKey, schemeData) {
44
45
  querySchemes = schemeData.querySchemes,
45
46
  currentSchemes = schemeData.currentSchemes;
46
47
  return (0, _react.useMemo)(function () {
47
- var _currentSchemes$gridK, _currentSchemes$gridK2;
48
+ var _currentSchemes$gridK, _currentSchemes$gridK2, _currentColumnScheme;
48
49
  var schemes = (columnSchemes === null || columnSchemes === void 0 ? void 0 : columnSchemes[gridKey]) || [];
49
50
  var currentColumnSchemeId = currentSchemes === null || currentSchemes === void 0 || (_currentSchemes$gridK = currentSchemes[gridKey]) === null || _currentSchemes$gridK === void 0 ? void 0 : _currentSchemes$gridK.columnSchemeId;
50
51
 
@@ -112,6 +113,15 @@ function useSchemeSource(gridKey, schemeData) {
112
113
  isUsingGlobalQueryFallback = true;
113
114
  }
114
115
  }
116
+ _logger.logger.debug('[useSchemeSource] 方案数据源:', {
117
+ gridKey: gridKey,
118
+ schemes: schemes,
119
+ currentColumnSchemeId: currentColumnSchemeId,
120
+ currentColumnScheme: currentColumnScheme,
121
+ hasCurrentScheme: !!currentColumnScheme,
122
+ isUsingGlobalFallback: isUsingGlobalFallback,
123
+ columnConfigLength: (_currentColumnScheme = currentColumnScheme) === null || _currentColumnScheme === void 0 || (_currentColumnScheme = _currentColumnScheme.columnConfig) === null || _currentColumnScheme === void 0 ? void 0 : _currentColumnScheme.length
124
+ });
115
125
  return {
116
126
  // 列方案
117
127
  columnSchemes: schemes,
@@ -138,15 +148,32 @@ function useSchemeSource(gridKey, schemeData) {
138
148
  */
139
149
  function useDerivedGridState(currentScheme, allColDefs) {
140
150
  return (0, _react.useMemo)(function () {
151
+ var _currentScheme$column;
152
+ _logger.logger.debug('[useDerivedGridState] 输入参数:', {
153
+ hasScheme: !!currentScheme,
154
+ schemeId: currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id,
155
+ configLength: currentScheme === null || currentScheme === void 0 || (_currentScheme$column = currentScheme.columnConfig) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.length,
156
+ allColDefsLength: allColDefs === null || allColDefs === void 0 ? void 0 : allColDefs.length
157
+ });
141
158
  if (!(currentScheme !== null && currentScheme !== void 0 && currentScheme.columnConfig) || !allColDefs || allColDefs.length === 0) {
159
+ _logger.logger.debug('[useDerivedGridState] 返回 null (缺少必要数据)');
142
160
  return null;
143
161
  }
144
162
  try {
163
+ var _result$;
145
164
  var _require = require("../setting/columnGroupUtils"),
146
165
  flatConfigToGridState = _require.flatConfigToGridState;
147
166
 
148
167
  // 转换并缓存结果
149
168
  var result = flatConfigToGridState(currentScheme.columnConfig, allColDefs);
169
+ _logger.logger.debug('[useDerivedGridState] 转换成功:', {
170
+ resultLength: result === null || result === void 0 ? void 0 : result.length,
171
+ columnOrder: result === null || result === void 0 ? void 0 : result.map(function (col) {
172
+ return col.field;
173
+ }),
174
+ firstColumn: result === null || result === void 0 || (_result$ = result[0]) === null || _result$ === void 0 ? void 0 : _result$.field,
175
+ fullResult: result
176
+ });
150
177
  return result;
151
178
  } catch (error) {
152
179
  console.error('[useDerivedGridState] 转换失败:', error);
@@ -174,6 +201,15 @@ function useDerivedColumnState(currentScheme, allColDefs) {
174
201
 
175
202
  // 转换列状态,传入原始列定义以检测新增列
176
203
  var result = flatConfigToColumnState(currentScheme.columnConfig, allColDefs);
204
+ _logger.logger.debug('[useDerivedColumnState] 转换结果:', {
205
+ schemeId: currentScheme.id,
206
+ columnConfigLength: currentScheme.columnConfig.length,
207
+ resultLength: result === null || result === void 0 ? void 0 : result.length,
208
+ columnOrder: result === null || result === void 0 ? void 0 : result.map(function (r) {
209
+ return r.colId;
210
+ }),
211
+ fullResult: result
212
+ });
177
213
  return result;
178
214
  } catch (error) {
179
215
  console.error('[useDerivedColumnState] 转换失败:', error);
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.useGridSchemes = useGridSchemes;
8
8
  exports.useSchemeManager = useSchemeManager;
9
9
  var _react = require("react");
10
+ var _logger = require("../utils/logger");
10
11
  var _gridContext = require("./gridContext");
11
12
  var _antd = require("antd");
12
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -104,34 +105,39 @@ function useSchemeManager(config) {
104
105
  loadingRef.current = true;
105
106
  setLoading(true);
106
107
  _context.prev = 4;
107
- _context.next = 7;
108
+ _logger.logger.debug('[useSchemeManager] 开始加载所有方案数据');
109
+ _context.next = 8;
108
110
  return adapter.loadAllSchemes();
109
- case 7:
111
+ case 8:
110
112
  data = _context.sent;
111
113
  setColumnSchemes(data.columnSchemes || {});
112
114
  setQuerySchemes(data.querySchemes || {});
113
115
  setCurrentSchemes(data.currentSchemes || {});
114
116
  setLastSyncTime(data.syncTime);
115
117
  loadedRef.current = true;
116
- _context.next = 19;
118
+ _logger.logger.debug('[useSchemeManager] 加载完成', {
119
+ columnSchemes: Object.keys(data.columnSchemes || {}).length,
120
+ querySchemes: Object.keys(data.querySchemes || {}).length
121
+ });
122
+ _context.next = 21;
117
123
  break;
118
- case 15:
119
- _context.prev = 15;
124
+ case 17:
125
+ _context.prev = 17;
120
126
  _context.t0 = _context["catch"](4);
121
127
  console.error('[useSchemeManager] 加载失败:', _context.t0);
122
128
  if (showErrorMessage) {
123
129
  _antd.message.error('加载方案失败');
124
130
  }
125
- case 19:
126
- _context.prev = 19;
131
+ case 21:
132
+ _context.prev = 21;
127
133
  setLoading(false);
128
134
  loadingRef.current = false;
129
- return _context.finish(19);
130
- case 23:
135
+ return _context.finish(21);
136
+ case 25:
131
137
  case "end":
132
138
  return _context.stop();
133
139
  }
134
- }, _callee, null, [[4, 15, 19, 23]]);
140
+ }, _callee, null, [[4, 17, 21, 25]]);
135
141
  })), [adapter, showErrorMessage]);
136
142
 
137
143
  // 组件 mount 时自动加载
@@ -146,6 +152,10 @@ function useSchemeManager(config) {
146
152
  (0, _react.useEffect)(function () {
147
153
  // 只有在用户ID实际变化且已经加载过数据时才重新加载
148
154
  if (currentUserId !== prevUserIdRef.current && loadedRef.current) {
155
+ _logger.logger.debug('[useSchemeManager] 用户切换,重新加载方案', {
156
+ from: prevUserIdRef.current,
157
+ to: currentUserId
158
+ });
149
159
  prevUserIdRef.current = currentUserId;
150
160
  loadedRef.current = false;
151
161
  loadAllSchemes();
@@ -163,9 +173,12 @@ function useSchemeManager(config) {
163
173
  while (1) switch (_context2.prev = _context2.next) {
164
174
  case 0:
165
175
  _context2.prev = 0;
166
- _context2.next = 3;
176
+ _logger.logger.debug("[useSchemeManager] \u4FDD\u5B58\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
177
+
178
+ // 调用适配器保存
179
+ _context2.next = 4;
167
180
  return adapter.saveColumnScheme(gridId, scheme);
168
- case 3:
181
+ case 4:
169
182
  savedScheme = _context2.sent;
170
183
  // 更新本地状态
171
184
  setColumnSchemes(function (prev) {
@@ -180,18 +193,19 @@ function useSchemeManager(config) {
180
193
  }
181
194
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
182
195
  });
183
- _context2.next = 11;
196
+ _logger.logger.debug('[useSchemeManager] 保存成功');
197
+ _context2.next = 13;
184
198
  break;
185
- case 7:
186
- _context2.prev = 7;
199
+ case 9:
200
+ _context2.prev = 9;
187
201
  _context2.t0 = _context2["catch"](0);
188
202
  console.error('[useSchemeManager] 保存列方案失败:', _context2.t0);
189
203
  throw _context2.t0;
190
- case 11:
204
+ case 13:
191
205
  case "end":
192
206
  return _context2.stop();
193
207
  }
194
- }, _callee2, null, [[0, 7]]);
208
+ }, _callee2, null, [[0, 9]]);
195
209
  }));
196
210
  return function (_x, _x2) {
197
211
  return _ref2.apply(this, arguments);
@@ -204,9 +218,12 @@ function useSchemeManager(config) {
204
218
  while (1) switch (_context3.prev = _context3.next) {
205
219
  case 0:
206
220
  _context3.prev = 0;
207
- _context3.next = 3;
221
+ _logger.logger.debug("[useSchemeManager] \u5220\u9664\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
222
+
223
+ // 调用适配器删除
224
+ _context3.next = 4;
208
225
  return adapter.deleteColumnScheme(gridId, schemeId);
209
- case 3:
226
+ case 4:
210
227
  setColumnSchemes(function (prev) {
211
228
  var schemes = (prev[gridId] || []).filter(function (s) {
212
229
  return s.id !== schemeId;
@@ -222,8 +239,14 @@ function useSchemeManager(config) {
222
239
  setCurrentSchemes(function (prev) {
223
240
  var _prev$gridId;
224
241
  if (((_prev$gridId = prev[gridId]) === null || _prev$gridId === void 0 ? void 0 : _prev$gridId.columnSchemeId) === schemeId) {
225
- var _defaultScheme;
242
+ var _defaultScheme, _defaultScheme2;
226
243
  var newSchemeId = ((_defaultScheme = defaultScheme) === null || _defaultScheme === void 0 ? void 0 : _defaultScheme.id) || null;
244
+ _logger.logger.debug('[useSchemeManager] 删除的是当前方案,自动切换', {
245
+ deletedSchemeId: schemeId,
246
+ defaultSchemeId: newSchemeId,
247
+ defaultSchemeName: (_defaultScheme2 = defaultScheme) === null || _defaultScheme2 === void 0 ? void 0 : _defaultScheme2.name
248
+ });
249
+
227
250
  // 如果存在默认方案,同步到适配器
228
251
  if (newSchemeId) {
229
252
  var _prev$gridId2;
@@ -245,18 +268,19 @@ function useSchemeManager(config) {
245
268
  }
246
269
  return prev;
247
270
  });
248
- _context3.next = 11;
271
+ _logger.logger.debug('[useSchemeManager] 删除成功');
272
+ _context3.next = 13;
249
273
  break;
250
- case 7:
251
- _context3.prev = 7;
274
+ case 9:
275
+ _context3.prev = 9;
252
276
  _context3.t0 = _context3["catch"](0);
253
277
  console.error('[useSchemeManager] 删除列方案失败:', _context3.t0);
254
278
  throw _context3.t0;
255
- case 11:
279
+ case 13:
256
280
  case "end":
257
281
  return _context3.stop();
258
282
  }
259
- }, _callee3, null, [[0, 7]]);
283
+ }, _callee3, null, [[0, 9]]);
260
284
  }));
261
285
  return function (_x3, _x4) {
262
286
  return _ref3.apply(this, arguments);
@@ -269,29 +293,32 @@ function useSchemeManager(config) {
269
293
  while (1) switch (_context4.prev = _context4.next) {
270
294
  case 0:
271
295
  _context4.prev = 0;
296
+ _logger.logger.debug("[useSchemeManager] \u8BBE\u7F6E\u5F53\u524D\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
297
+
272
298
  // 获取当前的查询方案ID
273
299
  querySchemeId = ((_currentSchemes$gridI = currentSchemes[gridId]) === null || _currentSchemes$gridI === void 0 ? void 0 : _currentSchemes$gridI.querySchemeId) || null; // 调用适配器设置
274
- _context4.next = 4;
300
+ _context4.next = 5;
275
301
  return adapter.setCurrentScheme(gridId, schemeId, querySchemeId);
276
- case 4:
302
+ case 5:
277
303
  // 更新本地状态
278
304
  setCurrentSchemes(function (prev) {
279
305
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId] || {}), {}, {
280
306
  columnSchemeId: schemeId
281
307
  })));
282
308
  });
283
- _context4.next = 11;
309
+ _logger.logger.debug('[useSchemeManager] 设置成功');
310
+ _context4.next = 13;
284
311
  break;
285
- case 7:
286
- _context4.prev = 7;
312
+ case 9:
313
+ _context4.prev = 9;
287
314
  _context4.t0 = _context4["catch"](0);
288
315
  console.error('[useSchemeManager] 设置当前列方案失败:', _context4.t0);
289
316
  throw _context4.t0;
290
- case 11:
317
+ case 13:
291
318
  case "end":
292
319
  return _context4.stop();
293
320
  }
294
- }, _callee4, null, [[0, 7]]);
321
+ }, _callee4, null, [[0, 9]]);
295
322
  }));
296
323
  return function (_x5, _x6) {
297
324
  return _ref4.apply(this, arguments);
@@ -307,9 +334,12 @@ function useSchemeManager(config) {
307
334
  while (1) switch (_context5.prev = _context5.next) {
308
335
  case 0:
309
336
  _context5.prev = 0;
310
- _context5.next = 3;
337
+ _logger.logger.debug("[useSchemeManager] \u4FDD\u5B58\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
338
+
339
+ // 调用适配器保存
340
+ _context5.next = 4;
311
341
  return adapter.saveQueryScheme(gridId, scheme);
312
- case 3:
342
+ case 4:
313
343
  savedScheme = _context5.sent;
314
344
  // 更新本地状态
315
345
  setQuerySchemes(function (prev) {
@@ -324,18 +354,19 @@ function useSchemeManager(config) {
324
354
  }
325
355
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
326
356
  });
327
- _context5.next = 11;
357
+ _logger.logger.debug('[useSchemeManager] 保存成功');
358
+ _context5.next = 13;
328
359
  break;
329
- case 7:
330
- _context5.prev = 7;
360
+ case 9:
361
+ _context5.prev = 9;
331
362
  _context5.t0 = _context5["catch"](0);
332
363
  console.error('[useSchemeManager] 保存查询方案失败:', _context5.t0);
333
364
  throw _context5.t0;
334
- case 11:
365
+ case 13:
335
366
  case "end":
336
367
  return _context5.stop();
337
368
  }
338
- }, _callee5, null, [[0, 7]]);
369
+ }, _callee5, null, [[0, 9]]);
339
370
  }));
340
371
  return function (_x7, _x8) {
341
372
  return _ref5.apply(this, arguments);
@@ -347,9 +378,12 @@ function useSchemeManager(config) {
347
378
  while (1) switch (_context6.prev = _context6.next) {
348
379
  case 0:
349
380
  _context6.prev = 0;
350
- _context6.next = 3;
381
+ _logger.logger.debug("[useSchemeManager] \u5220\u9664\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
382
+
383
+ // 调用适配器删除
384
+ _context6.next = 4;
351
385
  return adapter.deleteQueryScheme(gridId, schemeId);
352
- case 3:
386
+ case 4:
353
387
  // 更新本地状态
354
388
  setQuerySchemes(function (prev) {
355
389
  var schemes = (prev[gridId] || []).filter(function (s) {
@@ -368,18 +402,19 @@ function useSchemeManager(config) {
368
402
  }
369
403
  return prev;
370
404
  });
371
- _context6.next = 11;
405
+ _logger.logger.debug('[useSchemeManager] 删除成功');
406
+ _context6.next = 13;
372
407
  break;
373
- case 7:
374
- _context6.prev = 7;
408
+ case 9:
409
+ _context6.prev = 9;
375
410
  _context6.t0 = _context6["catch"](0);
376
411
  console.error('[useSchemeManager] 删除查询方案失败:', _context6.t0);
377
412
  throw _context6.t0;
378
- case 11:
413
+ case 13:
379
414
  case "end":
380
415
  return _context6.stop();
381
416
  }
382
- }, _callee6, null, [[0, 7]]);
417
+ }, _callee6, null, [[0, 9]]);
383
418
  }));
384
419
  return function (_x9, _x10) {
385
420
  return _ref6.apply(this, arguments);
@@ -392,29 +427,32 @@ function useSchemeManager(config) {
392
427
  while (1) switch (_context7.prev = _context7.next) {
393
428
  case 0:
394
429
  _context7.prev = 0;
430
+ _logger.logger.debug("[useSchemeManager] \u8BBE\u7F6E\u5F53\u524D\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
431
+
395
432
  // 获取当前的列方案ID
396
433
  columnSchemeId = ((_currentSchemes$gridI2 = currentSchemes[gridId]) === null || _currentSchemes$gridI2 === void 0 ? void 0 : _currentSchemes$gridI2.columnSchemeId) || null; // 调用适配器设置
397
- _context7.next = 4;
434
+ _context7.next = 5;
398
435
  return adapter.setCurrentScheme(gridId, columnSchemeId, schemeId);
399
- case 4:
436
+ case 5:
400
437
  // 更新本地状态
401
438
  setCurrentSchemes(function (prev) {
402
439
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId] || {}), {}, {
403
440
  querySchemeId: schemeId
404
441
  })));
405
442
  });
406
- _context7.next = 11;
443
+ _logger.logger.debug('[useSchemeManager] 设置成功');
444
+ _context7.next = 13;
407
445
  break;
408
- case 7:
409
- _context7.prev = 7;
446
+ case 9:
447
+ _context7.prev = 9;
410
448
  _context7.t0 = _context7["catch"](0);
411
449
  console.error('[useSchemeManager] 设置当前查询方案失败:', _context7.t0);
412
450
  throw _context7.t0;
413
- case 11:
451
+ case 13:
414
452
  case "end":
415
453
  return _context7.stop();
416
454
  }
417
- }, _callee7, null, [[0, 7]]);
455
+ }, _callee7, null, [[0, 9]]);
418
456
  }));
419
457
  return function (_x11, _x12) {
420
458
  return _ref7.apply(this, arguments);
@@ -477,26 +515,27 @@ function useSchemeManager(config) {
477
515
  throw new Error('当前存储适配器不支持全局配置功能');
478
516
  case 5:
479
517
  _context9.prev = 5;
480
- _context9.next = 8;
518
+ _logger.logger.debug("[useSchemeManager] \u5E94\u7528\u5230\u5168\u5C40: ".concat(gridId, " - ").concat(targetSchemeId));
519
+ _context9.next = 9;
481
520
  return adapter.applyToGlobal(gridId, targetSchemeId);
482
- case 8:
521
+ case 9:
483
522
  globalSchemeId = _context9.sent;
484
523
  _antd.message.success('已应用到全局配置');
485
- _context9.next = 12;
524
+ _context9.next = 13;
486
525
  return refreshSchemes();
487
- case 12:
526
+ case 13:
488
527
  return _context9.abrupt("return", globalSchemeId);
489
- case 15:
490
- _context9.prev = 15;
528
+ case 16:
529
+ _context9.prev = 16;
491
530
  _context9.t0 = _context9["catch"](5);
492
531
  console.error('[useSchemeManager] 应用到全局失败:', _context9.t0);
493
532
  handleGlobalConfigError(_context9.t0, '应用到全局失败');
494
533
  throw _context9.t0;
495
- case 20:
534
+ case 21:
496
535
  case "end":
497
536
  return _context9.stop();
498
537
  }
499
- }, _callee9, null, [[5, 15]]);
538
+ }, _callee9, null, [[5, 16]]);
500
539
  }));
501
540
  return function (_x13, _x14) {
502
541
  return _ref9.apply(this, arguments);
@@ -519,31 +558,32 @@ function useSchemeManager(config) {
519
558
  throw new Error('当前存储适配器不支持全局配置功能');
520
559
  case 2:
521
560
  _context10.prev = 2;
522
- _context10.next = 5;
561
+ _logger.logger.debug("[useSchemeManager] \u91CD\u7F6E\u4E3A\u5168\u5C40\u914D\u7F6E: ".concat(gridId));
562
+ _context10.next = 6;
523
563
  return adapter.resetToGlobal(gridId);
524
- case 5:
564
+ case 6:
525
565
  setCurrentSchemes(function (prev) {
526
566
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId]), {}, {
527
567
  columnSchemeId: null
528
568
  })));
529
569
  });
530
- _context10.next = 8;
570
+ _context10.next = 9;
531
571
  return refreshSchemes();
532
- case 8:
572
+ case 9:
533
573
  _antd.message.success('已重置为全局配置');
534
- _context10.next = 16;
574
+ _context10.next = 17;
535
575
  break;
536
- case 11:
537
- _context10.prev = 11;
576
+ case 12:
577
+ _context10.prev = 12;
538
578
  _context10.t0 = _context10["catch"](2);
539
579
  console.error('[useSchemeManager] 重置为全局配置失败:', _context10.t0);
540
580
  handleGlobalConfigError(_context10.t0, '重置失败');
541
581
  throw _context10.t0;
542
- case 16:
582
+ case 17:
543
583
  case "end":
544
584
  return _context10.stop();
545
585
  }
546
- }, _callee10, null, [[2, 11]]);
586
+ }, _callee10, null, [[2, 12]]);
547
587
  }));
548
588
  return function (_x15) {
549
589
  return _ref10.apply(this, arguments);
@@ -566,26 +606,27 @@ function useSchemeManager(config) {
566
606
  throw new Error('当前存储适配器不支持全局配置功能');
567
607
  case 2:
568
608
  _context11.prev = 2;
569
- _context11.next = 5;
609
+ _logger.logger.debug("[useSchemeManager] \u91CD\u7F6E\u6240\u6709\u7528\u6237\u914D\u7F6E: ".concat(gridId));
610
+ _context11.next = 6;
570
611
  return adapter.resetAllUsers(gridId);
571
- case 5:
572
- _context11.next = 7;
612
+ case 6:
613
+ _context11.next = 8;
573
614
  return refreshSchemes();
574
- case 7:
615
+ case 8:
575
616
  _antd.message.success('已重置所有用户配置');
576
- _context11.next = 15;
617
+ _context11.next = 16;
577
618
  break;
578
- case 10:
579
- _context11.prev = 10;
619
+ case 11:
620
+ _context11.prev = 11;
580
621
  _context11.t0 = _context11["catch"](2);
581
622
  console.error('[useSchemeManager] 重置所有用户配置失败:', _context11.t0);
582
623
  handleGlobalConfigError(_context11.t0, '重置失败');
583
624
  throw _context11.t0;
584
- case 15:
625
+ case 16:
585
626
  case "end":
586
627
  return _context11.stop();
587
628
  }
588
- }, _callee11, null, [[2, 10]]);
629
+ }, _callee11, null, [[2, 11]]);
589
630
  }));
590
631
  return function (_x16) {
591
632
  return _ref11.apply(this, arguments);