@nokecy/qc-ui 1.0.81 → 1.0.83

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 (85) hide show
  1. package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
  2. package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.js +43 -0
  3. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +245 -130
  4. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
  5. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
  6. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
  7. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
  8. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +12 -26
  9. package/dist/cjs/ag-grid-plus/schemes/types.d.ts +8 -5
  10. package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +14 -18
  11. package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
  12. package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.js +348 -0
  13. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
  14. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +940 -0
  15. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
  16. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +210 -250
  17. package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
  18. package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.js +160 -0
  19. package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
  20. package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.js +94 -0
  21. package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
  22. package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.js +5 -0
  23. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
  24. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +281 -0
  25. package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -1
  26. package/dist/cjs/ag-grid-plus/setting/index.js +5 -13
  27. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
  28. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
  29. package/dist/cjs/ag-grid-plus/types.d.ts +2 -0
  30. package/dist/cjs/array-table/index.js +30 -118
  31. package/dist/cjs/draggableModal/index.d.ts +1 -1
  32. package/dist/cjs/draggableModal/index.js +251 -25
  33. package/dist/cjs/draggableModal/style.less +185 -12
  34. package/dist/esm/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
  35. package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +44 -0
  36. package/dist/esm/ag-grid-plus/ag-gridPlus.js +245 -130
  37. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
  38. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
  39. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
  40. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
  41. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +13 -27
  42. package/dist/esm/ag-grid-plus/schemes/types.d.ts +8 -5
  43. package/dist/esm/ag-grid-plus/schemes/utils/validator.js +14 -18
  44. package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
  45. package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.js +338 -0
  46. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
  47. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +932 -0
  48. package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
  49. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +209 -249
  50. package/dist/esm/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
  51. package/dist/esm/ag-grid-plus/setting/MoveNodeModal.js +150 -0
  52. package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
  53. package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.js +87 -0
  54. package/dist/esm/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
  55. package/dist/esm/ag-grid-plus/setting/columnGroupTypes.js +1 -0
  56. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
  57. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +265 -0
  58. package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -1
  59. package/dist/esm/ag-grid-plus/setting/index.js +5 -13
  60. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
  61. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
  62. package/dist/esm/ag-grid-plus/types.d.ts +2 -0
  63. package/dist/esm/array-table/index.js +31 -119
  64. package/dist/esm/draggableModal/index.d.ts +1 -1
  65. package/dist/esm/draggableModal/index.js +252 -27
  66. package/dist/esm/draggableModal/style.less +185 -12
  67. package/dist/umd/qc-ui.min.css +1 -1
  68. package/dist/umd/qc-ui.min.js +1 -1
  69. package/package.json +1 -1
  70. package/dist/cjs/ag-grid-plus/gridManager/index.d.ts +0 -7
  71. package/dist/cjs/ag-grid-plus/gridManager/index.js +0 -40
  72. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
  73. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -32
  74. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
  75. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -32
  76. package/dist/cjs/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
  77. package/dist/cjs/ag-grid-plus/setting/diySetting/index.js +0 -268
  78. package/dist/esm/ag-grid-plus/gridManager/index.d.ts +0 -7
  79. package/dist/esm/ag-grid-plus/gridManager/index.js +0 -35
  80. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
  81. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -27
  82. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
  83. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -27
  84. package/dist/esm/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
  85. package/dist/esm/ag-grid-plus/setting/diySetting/index.js +0 -259
@@ -196,76 +196,104 @@ var QuerySchemesManager = exports.QuerySchemesManager = function QuerySchemesMan
196
196
  /**
197
197
  * 应用当前顺序
198
198
  */
199
- var handleApplyOrder = (0, _react.useCallback)(function () {
200
- onOrderChange(editingOrder);
201
- _antd.message.success('已应用新顺序');
202
- }, [editingOrder, onOrderChange]);
199
+ var handleApplyOrder = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
200
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
201
+ while (1) switch (_context.prev = _context.next) {
202
+ case 0:
203
+ _context.prev = 0;
204
+ if (!currentScheme) {
205
+ _context.next = 4;
206
+ break;
207
+ }
208
+ _context.next = 4;
209
+ return saveScheme({
210
+ itemsOrder: editingOrder
211
+ });
212
+ case 4:
213
+ // 应用顺序到表单
214
+ onOrderChange(editingOrder);
215
+ _antd.message.success('已应用新顺序');
216
+
217
+ // 关闭弹窗,让用户看到效果
218
+ onClose();
219
+ _context.next = 12;
220
+ break;
221
+ case 9:
222
+ _context.prev = 9;
223
+ _context.t0 = _context["catch"](0);
224
+ _antd.message.error(_context.t0.message || '应用失败');
225
+ case 12:
226
+ case "end":
227
+ return _context.stop();
228
+ }
229
+ }, _callee, null, [[0, 9]]);
230
+ })), [editingOrder, onOrderChange, currentScheme, saveScheme, onClose]);
203
231
 
204
232
  /**
205
233
  * 保存为新方案
206
234
  */
207
- var handleSaveAsNew = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
208
- return _regeneratorRuntime().wrap(function _callee$(_context) {
209
- while (1) switch (_context.prev = _context.next) {
235
+ var handleSaveAsNew = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
236
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
237
+ while (1) switch (_context2.prev = _context2.next) {
210
238
  case 0:
211
239
  if (schemeName.trim()) {
212
- _context.next = 3;
240
+ _context2.next = 3;
213
241
  break;
214
242
  }
215
243
  _antd.message.warning('请输入方案名称');
216
- return _context.abrupt("return");
244
+ return _context2.abrupt("return");
217
245
  case 3:
218
- _context.prev = 3;
219
- _context.next = 6;
246
+ _context2.prev = 3;
247
+ _context2.next = 6;
220
248
  return createScheme(schemeName, editingOrder);
221
249
  case 6:
222
250
  _antd.message.success('保存成功');
223
251
  setSchemeName('');
224
- _context.next = 13;
252
+ _context2.next = 13;
225
253
  break;
226
254
  case 10:
227
- _context.prev = 10;
228
- _context.t0 = _context["catch"](3);
229
- _antd.message.error(_context.t0.message || '保存失败');
255
+ _context2.prev = 10;
256
+ _context2.t0 = _context2["catch"](3);
257
+ _antd.message.error(_context2.t0.message || '保存失败');
230
258
  case 13:
231
259
  case "end":
232
- return _context.stop();
260
+ return _context2.stop();
233
261
  }
234
- }, _callee, null, [[3, 10]]);
262
+ }, _callee2, null, [[3, 10]]);
235
263
  })), [schemeName, editingOrder, createScheme]);
236
264
 
237
265
  /**
238
266
  * 更新当前方案
239
267
  */
240
- var handleUpdateCurrent = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
241
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
242
- while (1) switch (_context2.prev = _context2.next) {
268
+ var handleUpdateCurrent = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
269
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
270
+ while (1) switch (_context3.prev = _context3.next) {
243
271
  case 0:
244
272
  if (currentScheme) {
245
- _context2.next = 3;
273
+ _context3.next = 3;
246
274
  break;
247
275
  }
248
276
  _antd.message.warning('请先选择一个方案');
249
- return _context2.abrupt("return");
277
+ return _context3.abrupt("return");
250
278
  case 3:
251
- _context2.prev = 3;
252
- _context2.next = 6;
279
+ _context3.prev = 3;
280
+ _context3.next = 6;
253
281
  return saveScheme({
254
282
  itemsOrder: editingOrder
255
283
  });
256
284
  case 6:
257
285
  _antd.message.success('更新成功');
258
- _context2.next = 12;
286
+ _context3.next = 12;
259
287
  break;
260
288
  case 9:
261
- _context2.prev = 9;
262
- _context2.t0 = _context2["catch"](3);
263
- _antd.message.error(_context2.t0.message || '更新失败');
289
+ _context3.prev = 9;
290
+ _context3.t0 = _context3["catch"](3);
291
+ _antd.message.error(_context3.t0.message || '更新失败');
264
292
  case 12:
265
293
  case "end":
266
- return _context2.stop();
294
+ return _context3.stop();
267
295
  }
268
- }, _callee2, null, [[3, 9]]);
296
+ }, _callee3, null, [[3, 9]]);
269
297
  })), [currentScheme, editingOrder, saveScheme]);
270
298
 
271
299
  /**
@@ -280,18 +308,18 @@ var QuerySchemesManager = exports.QuerySchemesManager = function QuerySchemesMan
280
308
  /**
281
309
  * 保存编辑
282
310
  */
283
- var handleSaveEdit = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
284
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
285
- while (1) switch (_context3.prev = _context3.next) {
311
+ var handleSaveEdit = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
312
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
313
+ while (1) switch (_context4.prev = _context4.next) {
286
314
  case 0:
287
315
  if (editingId) {
288
- _context3.next = 2;
316
+ _context4.next = 2;
289
317
  break;
290
318
  }
291
- return _context3.abrupt("return");
319
+ return _context4.abrupt("return");
292
320
  case 2:
293
- _context3.prev = 2;
294
- _context3.next = 5;
321
+ _context4.prev = 2;
322
+ _context4.next = 5;
295
323
  return updateScheme(editingId, {
296
324
  name: editingName.trim(),
297
325
  description: editingDescription.trim() || undefined
@@ -299,17 +327,17 @@ var QuerySchemesManager = exports.QuerySchemesManager = function QuerySchemesMan
299
327
  case 5:
300
328
  _antd.message.success('更新成功');
301
329
  setEditingId(null);
302
- _context3.next = 12;
330
+ _context4.next = 12;
303
331
  break;
304
332
  case 9:
305
- _context3.prev = 9;
306
- _context3.t0 = _context3["catch"](2);
307
- _antd.message.error(_context3.t0.message || '更新失败');
333
+ _context4.prev = 9;
334
+ _context4.t0 = _context4["catch"](2);
335
+ _antd.message.error(_context4.t0.message || '更新失败');
308
336
  case 12:
309
337
  case "end":
310
- return _context3.stop();
338
+ return _context4.stop();
311
339
  }
312
- }, _callee3, null, [[2, 9]]);
340
+ }, _callee4, null, [[2, 9]]);
313
341
  })), [editingId, editingName, editingDescription, updateScheme]);
314
342
 
315
343
  /**
@@ -325,29 +353,29 @@ var QuerySchemesManager = exports.QuerySchemesManager = function QuerySchemesMan
325
353
  * 删除方案
326
354
  */
327
355
  var handleDelete = (0, _react.useCallback)( /*#__PURE__*/function () {
328
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(schemeId, schemeName) {
329
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
330
- while (1) switch (_context4.prev = _context4.next) {
356
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(schemeId, schemeName) {
357
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
358
+ while (1) switch (_context5.prev = _context5.next) {
331
359
  case 0:
332
- _context4.prev = 0;
333
- _context4.next = 3;
360
+ _context5.prev = 0;
361
+ _context5.next = 3;
334
362
  return deleteScheme(schemeId);
335
363
  case 3:
336
364
  _antd.message.success("\u65B9\u6848\"".concat(schemeName, "\"\u5DF2\u5220\u9664"));
337
- _context4.next = 9;
365
+ _context5.next = 9;
338
366
  break;
339
367
  case 6:
340
- _context4.prev = 6;
341
- _context4.t0 = _context4["catch"](0);
342
- _antd.message.error(_context4.t0.message || '删除失败');
368
+ _context5.prev = 6;
369
+ _context5.t0 = _context5["catch"](0);
370
+ _antd.message.error(_context5.t0.message || '删除失败');
343
371
  case 9:
344
372
  case "end":
345
- return _context4.stop();
373
+ return _context5.stop();
346
374
  }
347
- }, _callee4, null, [[0, 6]]);
375
+ }, _callee5, null, [[0, 6]]);
348
376
  }));
349
377
  return function (_x, _x2) {
350
- return _ref6.apply(this, arguments);
378
+ return _ref7.apply(this, arguments);
351
379
  };
352
380
  }(), [deleteScheme]);
353
381
 
@@ -355,29 +383,29 @@ var QuerySchemesManager = exports.QuerySchemesManager = function QuerySchemesMan
355
383
  * 设置为默认方案
356
384
  */
357
385
  var handleSetDefault = (0, _react.useCallback)( /*#__PURE__*/function () {
358
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(schemeId, schemeName) {
359
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
360
- while (1) switch (_context5.prev = _context5.next) {
386
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(schemeId, schemeName) {
387
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
388
+ while (1) switch (_context6.prev = _context6.next) {
361
389
  case 0:
362
- _context5.prev = 0;
363
- _context5.next = 3;
390
+ _context6.prev = 0;
391
+ _context6.next = 3;
364
392
  return setDefaultScheme(schemeId);
365
393
  case 3:
366
394
  _antd.message.success("\u5DF2\u5C06\"".concat(schemeName, "\"\u8BBE\u4E3A\u9ED8\u8BA4\u65B9\u6848"));
367
- _context5.next = 9;
395
+ _context6.next = 9;
368
396
  break;
369
397
  case 6:
370
- _context5.prev = 6;
371
- _context5.t0 = _context5["catch"](0);
372
- _antd.message.error(_context5.t0.message || '设置失败');
398
+ _context6.prev = 6;
399
+ _context6.t0 = _context6["catch"](0);
400
+ _antd.message.error(_context6.t0.message || '设置失败');
373
401
  case 9:
374
402
  case "end":
375
- return _context5.stop();
403
+ return _context6.stop();
376
404
  }
377
- }, _callee5, null, [[0, 6]]);
405
+ }, _callee6, null, [[0, 6]]);
378
406
  }));
379
407
  return function (_x3, _x4) {
380
- return _ref7.apply(this, arguments);
408
+ return _ref8.apply(this, arguments);
381
409
  };
382
410
  }(), [setDefaultScheme]);
383
411
 
@@ -385,13 +413,13 @@ var QuerySchemesManager = exports.QuerySchemesManager = function QuerySchemesMan
385
413
  * 应用方案
386
414
  */
387
415
  var handleApply = (0, _react.useCallback)( /*#__PURE__*/function () {
388
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(schemeId) {
416
+ var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(schemeId) {
389
417
  var scheme;
390
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
391
- while (1) switch (_context6.prev = _context6.next) {
418
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
419
+ while (1) switch (_context7.prev = _context7.next) {
392
420
  case 0:
393
- _context6.prev = 0;
394
- _context6.next = 3;
421
+ _context7.prev = 0;
422
+ _context7.next = 3;
395
423
  return loadScheme(schemeId);
396
424
  case 3:
397
425
  scheme = schemes.find(function (s) {
@@ -401,20 +429,20 @@ var QuerySchemesManager = exports.QuerySchemesManager = function QuerySchemesMan
401
429
  onOrderChange(scheme.itemsOrder);
402
430
  _antd.message.success('方案已应用');
403
431
  }
404
- _context6.next = 10;
432
+ _context7.next = 10;
405
433
  break;
406
434
  case 7:
407
- _context6.prev = 7;
408
- _context6.t0 = _context6["catch"](0);
409
- _antd.message.error(_context6.t0.message || '应用失败');
435
+ _context7.prev = 7;
436
+ _context7.t0 = _context7["catch"](0);
437
+ _antd.message.error(_context7.t0.message || '应用失败');
410
438
  case 10:
411
439
  case "end":
412
- return _context6.stop();
440
+ return _context7.stop();
413
441
  }
414
- }, _callee6, null, [[0, 7]]);
442
+ }, _callee7, null, [[0, 7]]);
415
443
  }));
416
444
  return function (_x5) {
417
- return _ref8.apply(this, arguments);
445
+ return _ref9.apply(this, arguments);
418
446
  };
419
447
  }(), [loadScheme, schemes, onOrderChange]);
420
448
  return /*#__PURE__*/_react.default.createElement(_antd.Modal, {
@@ -436,6 +464,30 @@ var QuerySchemesManager = exports.QuerySchemesManager = function QuerySchemesMan
436
464
  children: /*#__PURE__*/_react.default.createElement("div", {
437
465
  className: "query-order-editor"
438
466
  }, /*#__PURE__*/_react.default.createElement("div", {
467
+ style: {
468
+ marginBottom: 16,
469
+ padding: '12px 16px',
470
+ background: currentScheme ? '#e6f7ff' : '#f5f5f5',
471
+ borderRadius: 4,
472
+ border: '1px solid',
473
+ borderColor: currentScheme ? '#91d5ff' : '#d9d9d9'
474
+ }
475
+ }, currentScheme ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
476
+ style: {
477
+ fontWeight: 600,
478
+ marginBottom: 4,
479
+ color: '#1890ff'
480
+ }
481
+ }, "\u5F53\u524D\u65B9\u6848: ", currentScheme.name), currentScheme.description && /*#__PURE__*/_react.default.createElement("div", {
482
+ style: {
483
+ fontSize: 12,
484
+ color: '#666'
485
+ }
486
+ }, currentScheme.description)) : /*#__PURE__*/_react.default.createElement("div", {
487
+ style: {
488
+ color: '#666'
489
+ }
490
+ }, "\u672A\u9009\u62E9\u65B9\u6848 - \u4F7F\u7528\u4E34\u65F6\u914D\u7F6E")), /*#__PURE__*/_react.default.createElement("div", {
439
491
  className: "query-order-tips",
440
492
  style: {
441
493
  marginBottom: 16,
@@ -4,7 +4,7 @@ import './SchemeSelector.less';
4
4
  export interface SchemeSelectorProps {
5
5
  /** 方案管理器 */
6
6
  schemeManager: UseColumnSchemesReturn;
7
- /** 当前表格的列状态(用于创建/更新方案) */
7
+ /** 当前表格的列配置(用于创建/更新方案) */
8
8
  currentColumnState: any[];
9
9
  /** 样式类名 */
10
10
  className?: string;
@@ -133,7 +133,7 @@ var SchemeSelector = exports.SchemeSelector = function SchemeSelector(_ref) {
133
133
  _context3.prev = 6;
134
134
  _context3.next = 9;
135
135
  return saveScheme({
136
- columnState: currentColumnState
136
+ columnConfig: currentColumnState
137
137
  });
138
138
  case 9:
139
139
  _antd.message.success('保存成功');
@@ -75,7 +75,7 @@ function useColumnSchemes(config) {
75
75
  * 加载方案列表
76
76
  */
77
77
  var loadSchemesList = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
78
- var loadedSchemes, schemeToLoad, lastSchemeId;
78
+ var loadedSchemes, schemeToLoad, lastSchemeId, _schemeToLoad$columnC;
79
79
  return _regeneratorRuntime().wrap(function _callee$(_context) {
80
80
  while (1) switch (_context.prev = _context.next) {
81
81
  case 0:
@@ -116,6 +116,12 @@ function useColumnSchemes(config) {
116
116
 
117
117
  // 3. 应用方案
118
118
  if (schemeToLoad) {
119
+ console.log('[useColumnSchemes] 加载方案完成,准备调用 onSchemeChange:', {
120
+ schemeId: schemeToLoad.id,
121
+ schemeName: schemeToLoad.name,
122
+ hasColumnConfig: !!schemeToLoad.columnConfig,
123
+ columnConfigCount: ((_schemeToLoad$columnC = schemeToLoad.columnConfig) === null || _schemeToLoad$columnC === void 0 ? void 0 : _schemeToLoad$columnC.length) || 0
124
+ });
119
125
  setCurrentScheme(schemeToLoad);
120
126
  onSchemeChange === null || onSchemeChange === void 0 || onSchemeChange(schemeToLoad);
121
127
  }
@@ -223,6 +229,7 @@ function useColumnSchemes(config) {
223
229
  */
224
230
  var saveScheme = (0, _react.useCallback)( /*#__PURE__*/function () {
225
231
  var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(updates) {
232
+ var _updates$columnConfig, _updates$columnConfig2, _updatedScheme$column, _updatedScheme$column2, _updatedScheme$column3;
226
233
  var nameValidation, descValidation, updatedScheme, updatedSchemes;
227
234
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
228
235
  while (1) switch (_context4.prev = _context4.next) {
@@ -234,47 +241,86 @@ function useColumnSchemes(config) {
234
241
  console.error('[useColumnSchemes] 没有激活的方案');
235
242
  return _context4.abrupt("return");
236
243
  case 3:
244
+ console.log('[useColumnSchemes] saveScheme 被调用:', {
245
+ currentSchemeId: currentScheme.id,
246
+ currentSchemeName: currentScheme.name,
247
+ updates: updates,
248
+ hasColumnConfig: !!(updates !== null && updates !== void 0 && updates.columnConfig),
249
+ columnConfigLength: (updates === null || updates === void 0 || (_updates$columnConfig = updates.columnConfig) === null || _updates$columnConfig === void 0 ? void 0 : _updates$columnConfig.length) || 0,
250
+ columnConfigDetail: updates === null || updates === void 0 || (_updates$columnConfig2 = updates.columnConfig) === null || _updates$columnConfig2 === void 0 ? void 0 : _updates$columnConfig2.map(function (item) {
251
+ return {
252
+ type: item.type,
253
+ headerName: item.headerName,
254
+ field: item.field,
255
+ order: item.order,
256
+ parentId: item.parentId
257
+ };
258
+ })
259
+ });
260
+
261
+ // 验证更新内容
237
262
  if (!(updates !== null && updates !== void 0 && updates.name)) {
238
- _context4.next = 9;
263
+ _context4.next = 10;
239
264
  break;
240
265
  }
241
266
  nameValidation = (0, _validator.validateSchemeName)(updates.name);
242
267
  if (nameValidation.valid) {
243
- _context4.next = 7;
268
+ _context4.next = 8;
244
269
  break;
245
270
  }
246
271
  throw new Error(nameValidation.error);
247
- case 7:
272
+ case 8:
248
273
  if (!(0, _validator.checkDuplicateName)(updates.name, schemes, currentScheme.id)) {
249
- _context4.next = 9;
274
+ _context4.next = 10;
250
275
  break;
251
276
  }
252
277
  throw new Error('方案名称已存在');
253
- case 9:
278
+ case 10:
254
279
  if (!(updates !== null && updates !== void 0 && updates.description)) {
255
- _context4.next = 13;
280
+ _context4.next = 14;
256
281
  break;
257
282
  }
258
283
  descValidation = (0, _validator.validateSchemeDescription)(updates.description);
259
284
  if (descValidation.valid) {
260
- _context4.next = 13;
285
+ _context4.next = 14;
261
286
  break;
262
287
  }
263
288
  throw new Error(descValidation.error);
264
- case 13:
289
+ case 14:
265
290
  updatedScheme = _objectSpread(_objectSpread(_objectSpread({}, currentScheme), updates), {}, {
266
291
  updatedAt: Date.now()
267
292
  });
293
+ console.log('[useColumnSchemes] 准备保存的方案数据:', {
294
+ schemeId: updatedScheme.id,
295
+ schemeName: updatedScheme.name,
296
+ hasColumnConfig: !!updatedScheme.columnConfig,
297
+ columnConfigLength: ((_updatedScheme$column = updatedScheme.columnConfig) === null || _updatedScheme$column === void 0 ? void 0 : _updatedScheme$column.length) || 0,
298
+ columnConfigDetail: (_updatedScheme$column2 = updatedScheme.columnConfig) === null || _updatedScheme$column2 === void 0 ? void 0 : _updatedScheme$column2.map(function (item) {
299
+ return {
300
+ type: item.type,
301
+ headerName: item.headerName,
302
+ field: item.field,
303
+ order: item.order,
304
+ parentId: item.parentId
305
+ };
306
+ })
307
+ });
268
308
  updatedSchemes = schemes.map(function (s) {
269
309
  return s.id === currentScheme.id ? updatedScheme : s;
270
310
  });
271
- _context4.next = 17;
311
+ _context4.next = 19;
272
312
  return saveSchemesToStorage(updatedSchemes);
273
- case 17:
313
+ case 19:
274
314
  setCurrentScheme(updatedScheme);
275
315
  setIsDirty(false);
316
+ console.log('[useColumnSchemes] 方案保存完成,当前 currentScheme:', {
317
+ schemeId: updatedScheme.id,
318
+ schemeName: updatedScheme.name,
319
+ hasColumnConfig: !!updatedScheme.columnConfig,
320
+ columnConfigLength: ((_updatedScheme$column3 = updatedScheme.columnConfig) === null || _updatedScheme$column3 === void 0 ? void 0 : _updatedScheme$column3.length) || 0
321
+ });
276
322
  onSchemeSave === null || onSchemeSave === void 0 || onSchemeSave(updatedScheme);
277
- case 20:
323
+ case 23:
278
324
  case "end":
279
325
  return _context4.stop();
280
326
  }
@@ -289,7 +335,7 @@ function useColumnSchemes(config) {
289
335
  * 创建新方案
290
336
  */
291
337
  var createScheme = (0, _react.useCallback)( /*#__PURE__*/function () {
292
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(name, columnState, options) {
338
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(name, columnConfig, options) {
293
339
  var nameValidation, uniqueName, newScheme, updatedSchemes;
294
340
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
295
341
  while (1) switch (_context5.prev = _context5.next) {
@@ -315,7 +361,7 @@ function useColumnSchemes(config) {
315
361
  name: uniqueName,
316
362
  createdAt: Date.now(),
317
363
  updatedAt: Date.now(),
318
- columnState: columnState
364
+ columnConfig: columnConfig
319
365
  }, options); // 如果设置为默认方案,取消其他方案的默认标记
320
366
  updatedSchemes = schemes;
321
367
  if (newScheme.isDefault) {
@@ -61,7 +61,7 @@ var LocalStorageAdapter = exports.LocalStorageAdapter = /*#__PURE__*/function ()
61
61
  key: "migrateOldData",
62
62
  value: (function () {
63
63
  var _migrateOldData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(gridId) {
64
- var oldKey, oldData, columnState, migratedScheme;
64
+ var oldKey, oldData;
65
65
  return _regeneratorRuntime().wrap(function _callee$(_context) {
66
66
  while (1) switch (_context.prev = _context.next) {
67
67
  case 0:
@@ -74,35 +74,21 @@ var LocalStorageAdapter = exports.LocalStorageAdapter = /*#__PURE__*/function ()
74
74
  return _context.abrupt("return", []);
75
75
  case 4:
76
76
  _context.prev = 4;
77
- columnState = JSON.parse(oldData); // 创建默认方案
78
- migratedScheme = {
79
- id: _constants.MIGRATED_DEFAULT_SCHEME_ID,
80
- name: _constants.DEFAULT_SCHEME_NAME,
81
- isDefault: true,
82
- isSystem: true,
83
- createdAt: Date.now(),
84
- updatedAt: Date.now(),
85
- columnState: columnState,
86
- description: '由旧版本列配置自动迁移'
87
- }; // 保存到新格式
88
- _context.next = 9;
89
- return this.saveSchemes(gridId, [migratedScheme]);
90
- case 9:
91
- // 可选:保留旧数据作为备份或删除
92
- // localStorage.removeItem(oldKey);
93
-
94
- console.log("[SchemeManager] \u5DF2\u8FC1\u79FB\u65E7\u5217\u914D\u7F6E\u6570\u636E\u5230\u65B9\u6848\u7CFB\u7EDF: ".concat(gridId));
95
- return _context.abrupt("return", [migratedScheme]);
96
- case 13:
97
- _context.prev = 13;
77
+ // 注意:旧数据已无法自动迁移,因为缺少 columnConfig
78
+ // 建议手动处理或提示用户重新配置
79
+ console.warn("[SchemeManager] \u68C0\u6D4B\u5230\u65E7\u683C\u5F0F\u6570\u636E,\u4F46\u65E0\u6CD5\u81EA\u52A8\u8FC1\u79FB: ".concat(gridId));
80
+ console.warn('[SchemeManager] 请手动重新配置列方案');
81
+ return _context.abrupt("return", []);
82
+ case 10:
83
+ _context.prev = 10;
98
84
  _context.t0 = _context["catch"](4);
99
- console.error('[SchemeManager] 迁移旧数据失败:', _context.t0);
85
+ console.error('[SchemeManager] 检查旧数据失败:', _context.t0);
100
86
  return _context.abrupt("return", []);
101
- case 17:
87
+ case 14:
102
88
  case "end":
103
89
  return _context.stop();
104
90
  }
105
- }, _callee, this, [[4, 13]]);
91
+ }, _callee, this, [[4, 10]]);
106
92
  }));
107
93
  function migrateOldData(_x) {
108
94
  return _migrateOldData.apply(this, arguments);
@@ -167,7 +153,7 @@ var LocalStorageAdapter = exports.LocalStorageAdapter = /*#__PURE__*/function ()
167
153
  case 9:
168
154
  schemes = JSON.parse(data); // 验证数据完整性
169
155
  return _context2.abrupt("return", schemes.filter(function (scheme) {
170
- return scheme.id && scheme.name && scheme.columnState && Array.isArray(scheme.columnState);
156
+ return scheme.id && scheme.name && scheme.columnConfig && Array.isArray(scheme.columnConfig);
171
157
  }));
172
158
  case 13:
173
159
  _context2.prev = 13;
@@ -1,4 +1,5 @@
1
1
  import { ColumnState } from 'ag-grid-community';
2
+ import type { FlatColumnItem } from '../setting/columnGroupTypes';
2
3
  /**
3
4
  * 列配置方案数据结构
4
5
  */
@@ -15,8 +16,10 @@ export interface ColumnScheme {
15
16
  createdAt: number;
16
17
  /** 更新时间戳 */
17
18
  updatedAt: number;
18
- /** AG-Grid 列状态数据 */
19
- columnState: ColumnState[];
19
+ /** 完整的列配置数据(包含分组层级结构) */
20
+ columnConfig: FlatColumnItem[];
21
+ /** AG-Grid 过滤器模型数据(可选) */
22
+ filterModel?: any;
20
23
  /** 方案描述(可选) */
21
24
  description?: string;
22
25
  /** 标签分类(可选,扩展功能) */
@@ -106,9 +109,9 @@ export interface UseColumnSchemesReturn {
106
109
  /** 保存当前方案(更新现有方案) */
107
110
  saveScheme: (updates?: Partial<ColumnScheme>) => Promise<void>;
108
111
  /** 创建新方案 */
109
- createScheme: (name: string, columnState: ColumnState[], options?: Partial<ColumnScheme>) => Promise<ColumnScheme>;
110
- /** 更新方案信息(不影响 columnState) */
111
- updateScheme: (schemeId: string, updates: Partial<Omit<ColumnScheme, 'id' | 'columnState'>>) => Promise<void>;
112
+ createScheme: (name: string, columnConfig: FlatColumnItem[], options?: Partial<ColumnScheme>) => Promise<ColumnScheme>;
113
+ /** 更新方案信息(不影响 columnConfig) */
114
+ updateScheme: (schemeId: string, updates: Partial<Omit<ColumnScheme, 'id' | 'columnConfig'>>) => Promise<void>;
112
115
  /** 删除方案 */
113
116
  deleteScheme: (schemeId: string) => Promise<void>;
114
117
  /** 重置到方案原始状态 */
@@ -17,35 +17,31 @@ function validateScheme(scheme, currentColumnDefs) {
17
17
  var invalidColumns = [];
18
18
  var validatedState = [];
19
19
 
20
- // 获取当前有效的列 ID 集合
21
- var validColIds = new Set(currentColumnDefs.filter(function (col) {
20
+ // 获取当前有效的列 field 集合
21
+ var validFields = new Set(currentColumnDefs.filter(function (col) {
22
22
  return col.field || col.colId;
23
23
  }).map(function (col) {
24
24
  return col.field || col.colId;
25
25
  }));
26
26
 
27
- // 验证每个列状态
28
- scheme.columnState.forEach(function (columnState) {
29
- var colId = columnState.colId;
30
- if (!colId) {
31
- warnings.push('发现没有 colId 的列状态');
32
- return;
27
+ // 验证每个列配置项
28
+ scheme.columnConfig.forEach(function (item) {
29
+ // 只验证列类型(非分组),因为分组没有对应的 field
30
+ if (item.type === 'column' && item.field) {
31
+ // 检查列是否仍然存在于表格定义中
32
+ if (!validFields.has(item.field)) {
33
+ invalidColumns.push(item.field);
34
+ warnings.push("\u5217 \"".concat(item.field, "\" \u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728"));
35
+ }
33
36
  }
34
-
35
- // 检查列是否仍然存在于表格定义中
36
- if (!validColIds.has(colId)) {
37
- invalidColumns.push(colId);
38
- warnings.push("\u5217 \"".concat(colId, "\" \u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728"));
39
- return;
40
- }
41
-
42
- // 列有效,添加到验证后的状态中
43
- validatedState.push(columnState);
44
37
  });
45
38
  var valid = invalidColumns.length === 0;
46
39
  if (!valid) {
47
40
  warnings.push("\u5171\u6709 ".concat(invalidColumns.length, " \u4E2A\u5217\u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728\uFF0C\u5DF2\u81EA\u52A8\u8FC7\u6EE4"));
48
41
  }
42
+
43
+ // 注意: validatedState 保持为空数组,因为 columnConfig 不是 ColumnState 格式
44
+ // 如果需要转换,应在调用方进行
49
45
  return {
50
46
  valid: valid,
51
47
  invalidColumns: invalidColumns,