@nokecy/qc-ui 1.0.96 → 1.0.98
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/context/gridContext.d.ts +16 -28
- package/dist/cjs/ag-grid-plus/context/gridContext.js +13 -2
- package/dist/cjs/ag-grid-plus/context/useSchemeManager.d.ts +35 -32
- package/dist/cjs/ag-grid-plus/context/useSchemeManager.js +42 -85
- package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.js +25 -16
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +16 -28
- package/dist/esm/ag-grid-plus/context/gridContext.js +13 -2
- package/dist/esm/ag-grid-plus/context/useSchemeManager.d.ts +35 -32
- package/dist/esm/ag-grid-plus/context/useSchemeManager.js +42 -85
- package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +28 -16
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
|
@@ -475,93 +475,49 @@ export function useSchemeManager(config) {
|
|
|
475
475
|
};
|
|
476
476
|
}
|
|
477
477
|
|
|
478
|
-
/**
|
|
479
|
-
* Fallback 模式:根据后端 API 配置自动选择适配器
|
|
480
|
-
*/
|
|
481
|
-
function useFallbackSchemeManager(backendApiConfig, currentUserId) {
|
|
482
|
-
// 根据配置选择适配器
|
|
483
|
-
var adapter = useRef(function () {
|
|
484
|
-
if (backendApiConfig) {
|
|
485
|
-
// 如果提供了后端 API 配置,使用后端适配器
|
|
486
|
-
var _require = require("../shared/storage/backendApiAdapter"),
|
|
487
|
-
BackendApiSchemeAdapter = _require.BackendApiSchemeAdapter;
|
|
488
|
-
console.log('[useFallbackSchemeManager] 使用后端 API 适配器');
|
|
489
|
-
return new BackendApiSchemeAdapter(_objectSpread(_objectSpread({}, backendApiConfig), {}, {
|
|
490
|
-
enableDebugLog: false
|
|
491
|
-
}));
|
|
492
|
-
} else {
|
|
493
|
-
// 否则使用本地存储适配器
|
|
494
|
-
var _require2 = require("../shared/storage/localStorageAdapter"),
|
|
495
|
-
LocalStorageSchemeAdapter = _require2.LocalStorageSchemeAdapter;
|
|
496
|
-
console.log('[useFallbackSchemeManager] 使用本地存储适配器');
|
|
497
|
-
return new LocalStorageSchemeAdapter({
|
|
498
|
-
storageKey: 'ag-grid-plus-schemes',
|
|
499
|
-
enableDebugLog: false
|
|
500
|
-
});
|
|
501
|
-
}
|
|
502
|
-
}).current();
|
|
503
|
-
|
|
504
|
-
// 使用选定的适配器进行状态管理
|
|
505
|
-
var manager = useSchemeManager({
|
|
506
|
-
adapter: adapter,
|
|
507
|
-
autoLoad: true,
|
|
508
|
-
showErrorMessage: true,
|
|
509
|
-
currentUserId: currentUserId
|
|
510
|
-
});
|
|
511
|
-
|
|
512
|
-
// 返回与 Context 相同的接口
|
|
513
|
-
return _objectSpread({
|
|
514
|
-
// 保留必需的默认值
|
|
515
|
-
extensibleColumns: [],
|
|
516
|
-
columnState: undefined,
|
|
517
|
-
onSaveColumnState: function onSaveColumnState() {},
|
|
518
|
-
applyToGlobal: function applyToGlobal() {},
|
|
519
|
-
resetCurrent: function resetCurrent() {},
|
|
520
|
-
resetAll: function resetAll() {},
|
|
521
|
-
queryFormItems: []
|
|
522
|
-
}, manager);
|
|
523
|
-
}
|
|
524
|
-
|
|
525
478
|
/**
|
|
526
479
|
* 在组件中使用集中式方案管理
|
|
527
480
|
*
|
|
528
|
-
*
|
|
529
|
-
* 1. Backend API 模式: Context 提供 backendApiConfig,使用后端适配器
|
|
530
|
-
* 2. LocalStorage 模式: 不提供配置,使用本地存储适配器
|
|
481
|
+
* ⚠️ 必须在 Provider 中传入 SchemeManager 状态,否则抛出错误
|
|
531
482
|
*
|
|
532
483
|
* @example
|
|
533
484
|
* ```tsx
|
|
534
|
-
* //
|
|
535
|
-
*
|
|
536
|
-
*
|
|
537
|
-
*
|
|
538
|
-
*
|
|
539
|
-
*
|
|
540
|
-
*
|
|
541
|
-
*
|
|
542
|
-
*
|
|
543
|
-
*
|
|
544
|
-
* apiBaseUrl: 'https://api.example.com',
|
|
545
|
-
* getToken: () => localStorage.getItem('token'),
|
|
546
|
-
* getUserId: () => localStorage.getItem('userId')
|
|
547
|
-
* }
|
|
548
|
-
* }}>
|
|
549
|
-
* <MyGrid />
|
|
550
|
-
* </GridPlusContext.Provider>
|
|
485
|
+
* // 1. 创建适配器和方案管理器
|
|
486
|
+
* function App() {
|
|
487
|
+
* const adapter = useMemo(
|
|
488
|
+
* () => new BackendApiSchemeAdapter({
|
|
489
|
+
* apiBaseUrl: 'https://api.example.com',
|
|
490
|
+
* getToken: () => localStorage.getItem('token'),
|
|
491
|
+
* getUserId: () => localStorage.getItem('userId')
|
|
492
|
+
* }),
|
|
493
|
+
* []
|
|
494
|
+
* );
|
|
551
495
|
*
|
|
552
|
-
*
|
|
553
|
-
*
|
|
554
|
-
*
|
|
555
|
-
*
|
|
556
|
-
*
|
|
557
|
-
*
|
|
558
|
-
* resetCurrent: () => {},
|
|
559
|
-
* resetAll: () => {},
|
|
560
|
-
* queryFormItems: []
|
|
561
|
-
* }}>
|
|
562
|
-
* <MyGrid />
|
|
563
|
-
* </GridPlusContext.Provider>
|
|
496
|
+
* const schemeManager = useSchemeManager({
|
|
497
|
+
* adapter,
|
|
498
|
+
* autoLoad: true,
|
|
499
|
+
* showErrorMessage: true,
|
|
500
|
+
* currentUserId: currentUser?.id
|
|
501
|
+
* });
|
|
564
502
|
*
|
|
503
|
+
* // 2. 传入 Provider
|
|
504
|
+
* return (
|
|
505
|
+
* <GridPlusContext.Provider value={{
|
|
506
|
+
* extensibleColumns: [],
|
|
507
|
+
* columnState: undefined,
|
|
508
|
+
* onSaveColumnState: () => {},
|
|
509
|
+
* applyToGlobal: () => {},
|
|
510
|
+
* resetCurrent: () => {},
|
|
511
|
+
* resetAll: () => {},
|
|
512
|
+
* queryFormItems: [],
|
|
513
|
+
* ...schemeManager // 展开方案管理状态
|
|
514
|
+
* }}>
|
|
515
|
+
* <MyGrid />
|
|
516
|
+
* </GridPlusContext.Provider>
|
|
517
|
+
* );
|
|
518
|
+
* }
|
|
519
|
+
*
|
|
520
|
+
* // 3. 在子组件中使用
|
|
565
521
|
* function MyGrid() {
|
|
566
522
|
* const {
|
|
567
523
|
* columnSchemes,
|
|
@@ -581,10 +537,11 @@ function useFallbackSchemeManager(backendApiConfig, currentUserId) {
|
|
|
581
537
|
export function useGridSchemes() {
|
|
582
538
|
var context = useContext(GridPlusContext);
|
|
583
539
|
|
|
584
|
-
//
|
|
585
|
-
var
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
540
|
+
// 检查是否传入了方案管理状态
|
|
541
|
+
var hasSchemeManagement = !!((context === null || context === void 0 ? void 0 : context.columnSchemes) !== undefined || context !== null && context !== void 0 && context.saveColumnScheme || context !== null && context !== void 0 && context.deleteColumnScheme);
|
|
542
|
+
if (!hasSchemeManagement) {
|
|
543
|
+
throw new Error('[useGridSchemes] 必须在 GridPlusContext.Provider 中传入 SchemeManager 状态。\n' + '请使用 useSchemeManager hook 创建方案管理器,然后通过 Provider 传递:\n' + ' const schemeManager = useSchemeManager({ adapter, ... });\n' + ' <GridPlusContext.Provider value={{ ...otherValues, ...schemeManager }}>');
|
|
544
|
+
}
|
|
545
|
+
console.log('[useGridSchemes] 使用 Context 中的方案管理状态');
|
|
546
|
+
return context;
|
|
590
547
|
}
|
|
@@ -21,7 +21,19 @@ import { message } from 'antd';
|
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* 后端 API 响应格式
|
|
24
|
+
* 后端 API 响应格式 - 基础响应
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 保存方案结果
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 删除方案结果
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* 设置当前方案结果
|
|
25
37
|
*/
|
|
26
38
|
|
|
27
39
|
/**
|
|
@@ -182,7 +194,7 @@ export var BackendApiSchemeAdapter = /*#__PURE__*/function () {
|
|
|
182
194
|
case 0:
|
|
183
195
|
_context2.prev = 0;
|
|
184
196
|
this.log('加载所有方案数据');
|
|
185
|
-
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/
|
|
197
|
+
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/schemes");
|
|
186
198
|
_context2.next = 5;
|
|
187
199
|
return this.request(url);
|
|
188
200
|
case 5:
|
|
@@ -214,13 +226,13 @@ export var BackendApiSchemeAdapter = /*#__PURE__*/function () {
|
|
|
214
226
|
key: "saveColumnScheme",
|
|
215
227
|
value: function () {
|
|
216
228
|
var _saveColumnScheme = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(gridId, scheme) {
|
|
217
|
-
var
|
|
229
|
+
var url, response;
|
|
218
230
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
219
231
|
while (1) switch (_context3.prev = _context3.next) {
|
|
220
232
|
case 0:
|
|
221
233
|
_context3.prev = 0;
|
|
222
234
|
this.log("\u4FDD\u5B58\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
|
|
223
|
-
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/column-scheme");
|
|
235
|
+
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/save-column-scheme");
|
|
224
236
|
_context3.next = 5;
|
|
225
237
|
return this.request(url, {
|
|
226
238
|
method: 'POST',
|
|
@@ -237,8 +249,8 @@ export var BackendApiSchemeAdapter = /*#__PURE__*/function () {
|
|
|
237
249
|
}
|
|
238
250
|
throw new Error(response.message || '保存失败');
|
|
239
251
|
case 8:
|
|
240
|
-
this.log('保存成功',
|
|
241
|
-
return _context3.abrupt("return", response.
|
|
252
|
+
this.log('保存成功', response.scheme);
|
|
253
|
+
return _context3.abrupt("return", response.scheme);
|
|
242
254
|
case 12:
|
|
243
255
|
_context3.prev = 12;
|
|
244
256
|
_context3.t0 = _context3["catch"](0);
|
|
@@ -266,10 +278,10 @@ export var BackendApiSchemeAdapter = /*#__PURE__*/function () {
|
|
|
266
278
|
case 0:
|
|
267
279
|
_context4.prev = 0;
|
|
268
280
|
this.log("\u5220\u9664\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
|
|
269
|
-
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/column-scheme
|
|
281
|
+
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/delete-column-scheme?schemeId=").concat(schemeId, "&gridId=").concat(gridId);
|
|
270
282
|
_context4.next = 5;
|
|
271
283
|
return this.request(url, {
|
|
272
|
-
method: '
|
|
284
|
+
method: 'POST'
|
|
273
285
|
});
|
|
274
286
|
case 5:
|
|
275
287
|
response = _context4.sent;
|
|
@@ -303,13 +315,13 @@ export var BackendApiSchemeAdapter = /*#__PURE__*/function () {
|
|
|
303
315
|
key: "saveQueryScheme",
|
|
304
316
|
value: function () {
|
|
305
317
|
var _saveQueryScheme = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(gridId, scheme) {
|
|
306
|
-
var
|
|
318
|
+
var url, response;
|
|
307
319
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
308
320
|
while (1) switch (_context5.prev = _context5.next) {
|
|
309
321
|
case 0:
|
|
310
322
|
_context5.prev = 0;
|
|
311
323
|
this.log("\u4FDD\u5B58\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
|
|
312
|
-
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/query-scheme");
|
|
324
|
+
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/save-query-scheme");
|
|
313
325
|
_context5.next = 5;
|
|
314
326
|
return this.request(url, {
|
|
315
327
|
method: 'POST',
|
|
@@ -326,8 +338,8 @@ export var BackendApiSchemeAdapter = /*#__PURE__*/function () {
|
|
|
326
338
|
}
|
|
327
339
|
throw new Error(response.message || '保存失败');
|
|
328
340
|
case 8:
|
|
329
|
-
this.log('保存成功',
|
|
330
|
-
return _context5.abrupt("return", response.
|
|
341
|
+
this.log('保存成功', response.scheme);
|
|
342
|
+
return _context5.abrupt("return", response.scheme);
|
|
331
343
|
case 12:
|
|
332
344
|
_context5.prev = 12;
|
|
333
345
|
_context5.t0 = _context5["catch"](0);
|
|
@@ -355,10 +367,10 @@ export var BackendApiSchemeAdapter = /*#__PURE__*/function () {
|
|
|
355
367
|
case 0:
|
|
356
368
|
_context6.prev = 0;
|
|
357
369
|
this.log("\u5220\u9664\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
|
|
358
|
-
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/query-scheme
|
|
370
|
+
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/delete-query-scheme?schemeId=").concat(schemeId, "&gridId=").concat(gridId);
|
|
359
371
|
_context6.next = 5;
|
|
360
372
|
return this.request(url, {
|
|
361
|
-
method: '
|
|
373
|
+
method: 'POST'
|
|
362
374
|
});
|
|
363
375
|
case 5:
|
|
364
376
|
response = _context6.sent;
|
|
@@ -401,10 +413,10 @@ export var BackendApiSchemeAdapter = /*#__PURE__*/function () {
|
|
|
401
413
|
columnSchemeId: columnSchemeId,
|
|
402
414
|
querySchemeId: querySchemeId
|
|
403
415
|
});
|
|
404
|
-
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/current-scheme");
|
|
416
|
+
url = "".concat(this.config.apiBaseUrl, "/api/extra-object/table-scheme/set-current-scheme");
|
|
405
417
|
_context7.next = 5;
|
|
406
418
|
return this.request(url, {
|
|
407
|
-
method: '
|
|
419
|
+
method: 'POST',
|
|
408
420
|
body: JSON.stringify({
|
|
409
421
|
gridId: gridId,
|
|
410
422
|
columnSchemeId: columnSchemeId,
|