@nokecy/qc-ui 1.0.82 → 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.
- package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
- package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.js +43 -0
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +245 -121
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +12 -26
- package/dist/cjs/ag-grid-plus/schemes/types.d.ts +8 -5
- package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +14 -18
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.js +348 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +940 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +208 -248
- package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
- package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.js +160 -0
- package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
- package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.js +94 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.js +5 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +281 -0
- package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/setting/index.js +4 -2
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
- package/dist/cjs/ag-grid-plus/types.d.ts +2 -0
- package/dist/cjs/array-table/index.js +30 -118
- package/dist/cjs/draggableModal/index.d.ts +1 -1
- package/dist/cjs/draggableModal/index.js +251 -25
- package/dist/cjs/draggableModal/style.less +185 -12
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +44 -0
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +245 -121
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +13 -27
- package/dist/esm/ag-grid-plus/schemes/types.d.ts +8 -5
- package/dist/esm/ag-grid-plus/schemes/utils/validator.js +14 -18
- package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.js +338 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +932 -0
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +207 -247
- package/dist/esm/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
- package/dist/esm/ag-grid-plus/setting/MoveNodeModal.js +150 -0
- package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
- package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.js +87 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupTypes.js +1 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +265 -0
- package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -1
- package/dist/esm/ag-grid-plus/setting/index.js +4 -2
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
- package/dist/esm/ag-grid-plus/types.d.ts +2 -0
- package/dist/esm/array-table/index.js +31 -119
- package/dist/esm/draggableModal/index.d.ts +1 -1
- package/dist/esm/draggableModal/index.js +252 -27
- package/dist/esm/draggableModal/style.less +185 -12
- package/dist/umd/qc-ui.min.css +1 -1
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/ag-grid-plus/gridManager/index.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/gridManager/index.js +0 -40
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -32
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -32
- package/dist/cjs/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
- package/dist/cjs/ag-grid-plus/setting/diySetting/index.js +0 -268
- package/dist/esm/ag-grid-plus/gridManager/index.d.ts +0 -7
- package/dist/esm/ag-grid-plus/gridManager/index.js +0 -35
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -27
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -27
- package/dist/esm/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
- package/dist/esm/ag-grid-plus/setting/diySetting/index.js +0 -259
|
@@ -51,7 +51,7 @@ var getSort = function getSort(columnState) {
|
|
|
51
51
|
return columnState ? "".concat(columnState.colId, " ").concat(columnState.sort) : "";
|
|
52
52
|
};
|
|
53
53
|
function AgGridPlus(props) {
|
|
54
|
-
var _querySchemeManager$c;
|
|
54
|
+
var _columnSchemeManager$2, _querySchemeManager$c;
|
|
55
55
|
var style = props.style,
|
|
56
56
|
loadingProps = props.loading,
|
|
57
57
|
gridParams = props.params,
|
|
@@ -165,12 +165,16 @@ function AgGridPlus(props) {
|
|
|
165
165
|
storageAdapter: globalColumnAdapter || columnSchemeStorageAdapter,
|
|
166
166
|
enableAutoSave: true,
|
|
167
167
|
onSchemeChange: function onSchemeChange(scheme) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
168
|
+
console.log('[AgGridPlus] onSchemeChange 被调用:', {
|
|
169
|
+
hasScheme: !!scheme,
|
|
170
|
+
hasApiRef: !!apiRef.current,
|
|
171
|
+
schemeId: scheme === null || scheme === void 0 ? void 0 : scheme.id,
|
|
172
|
+
schemeName: scheme === null || scheme === void 0 ? void 0 : scheme.name,
|
|
173
|
+
hasColumnConfig: !!(scheme !== null && scheme !== void 0 && scheme.columnConfig)
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
// 注意: 方案应用已由 useEffect 处理
|
|
177
|
+
// useEffect 会在 apiRef 和 currentScheme 都准备好时自动应用方案
|
|
174
178
|
}
|
|
175
179
|
}) : undefined;
|
|
176
180
|
|
|
@@ -235,37 +239,114 @@ function AgGridPlus(props) {
|
|
|
235
239
|
|
|
236
240
|
// 加载列方案
|
|
237
241
|
useEffect(function () {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
var
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
242
|
+
var _columnSchemeManager$;
|
|
243
|
+
if (!gridKey || !apiRef.current) return;
|
|
244
|
+
|
|
245
|
+
// 优先使用方案中的 columnConfig(用户在列配置界面调整后的数据)
|
|
246
|
+
if (columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$ = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$ !== void 0 && _columnSchemeManager$.columnConfig) {
|
|
247
|
+
var _require = require("./setting/columnGroupUtils"),
|
|
248
|
+
flatConfigToColumnState = _require.flatConfigToColumnState;
|
|
249
|
+
var _columnState = flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
|
|
250
|
+
setColumnCellClass(handelgridPlusColumnState(_columnState));
|
|
251
|
+
var timer = setTimeout(function () {
|
|
252
|
+
var _apiRef$current;
|
|
253
|
+
(_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 || _apiRef$current.applyColumnState({
|
|
254
|
+
state: _columnState,
|
|
255
|
+
applyOrder: true
|
|
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
|
+
};
|
|
276
|
+
}
|
|
277
|
+
}, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig, gridPlusColumnState]);
|
|
253
278
|
|
|
254
|
-
//
|
|
279
|
+
// 同步 apiRef 和 currentScheme,确保方案在两者都准备好时应用
|
|
255
280
|
useEffect(function () {
|
|
281
|
+
var _currentScheme$column;
|
|
256
282
|
var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
(
|
|
261
|
-
|
|
262
|
-
|
|
283
|
+
|
|
284
|
+
// 两个依赖都不存在时,直接返回
|
|
285
|
+
if (!apiRef.current || !currentScheme) {
|
|
286
|
+
console.log('[AgGridPlus] useEffect: 等待依赖准备', {
|
|
287
|
+
hasApiRef: !!apiRef.current,
|
|
288
|
+
hasCurrentScheme: !!currentScheme
|
|
263
289
|
});
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
console.log('[AgGridPlus] useEffect: 两个依赖都准备好,应用方案', {
|
|
293
|
+
schemeId: currentScheme.id,
|
|
294
|
+
schemeName: currentScheme.name,
|
|
295
|
+
hasColumnConfig: !!currentScheme.columnConfig,
|
|
296
|
+
columnConfigCount: ((_currentScheme$column = currentScheme.columnConfig) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.length) || 0
|
|
297
|
+
});
|
|
298
|
+
var timer = setTimeout(function () {
|
|
299
|
+
// 优先使用 columnConfig(包含完整的分组结构)
|
|
300
|
+
if (currentScheme.columnConfig) {
|
|
301
|
+
var _require2 = require("./setting/columnGroupUtils"),
|
|
302
|
+
flatConfigToGridState = _require2.flatConfigToGridState;
|
|
303
|
+
var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
|
|
304
|
+
console.log('[AgGridPlus] useEffect: 应用方案的 columnConfig:', {
|
|
305
|
+
columnConfig: currentScheme.columnConfig,
|
|
306
|
+
columnConfigLength: currentScheme.columnConfig.length,
|
|
307
|
+
gridColumnDefs: gridColumnDefs,
|
|
308
|
+
gridColumnDefsLength: gridColumnDefs.length,
|
|
309
|
+
columnConfigDetail: currentScheme.columnConfig.map(function (item) {
|
|
310
|
+
return {
|
|
311
|
+
type: item.type,
|
|
312
|
+
field: item.field,
|
|
313
|
+
headerName: item.headerName,
|
|
314
|
+
order: item.order,
|
|
315
|
+
parentId: item.parentId
|
|
316
|
+
};
|
|
317
|
+
}),
|
|
318
|
+
gridColumnDefsDetail: gridColumnDefs.map(function (def, idx) {
|
|
319
|
+
var _def$children;
|
|
320
|
+
return {
|
|
321
|
+
index: idx,
|
|
322
|
+
field: def.field,
|
|
323
|
+
headerName: def.headerName,
|
|
324
|
+
groupId: def.groupId,
|
|
325
|
+
children: (_def$children = def.children) === null || _def$children === void 0 ? void 0 : _def$children.length
|
|
326
|
+
};
|
|
327
|
+
})
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
// 1. 先设置列定义(包含分组结构)
|
|
331
|
+
if (apiRef.current) {
|
|
332
|
+
apiRef.current.setGridOption("columnDefs", gridColumnDefs);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// 2. 【重要修改】使用 columnConfig 时,不应用 columnState
|
|
336
|
+
// 原因:columnConfig 已经包含了完整的列配置(宽度、隐藏、顺序、分组等)
|
|
337
|
+
// 如果再应用 columnState,会导致分组子列被视为独立列,破坏分组结构
|
|
338
|
+
console.log('[AgGridPlus] useEffect: 使用 columnConfig,跳过 columnState 应用');
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
// 应用过滤器状态
|
|
342
|
+
if (currentScheme.filterModel && apiRef.current) {
|
|
343
|
+
apiRef.current.setFilterModel(currentScheme.filterModel);
|
|
344
|
+
}
|
|
264
345
|
}, 10);
|
|
265
346
|
return function () {
|
|
266
347
|
return clearTimeout(timer);
|
|
267
348
|
};
|
|
268
|
-
}, [columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
349
|
+
}, [apiRef.current, columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
269
350
|
useEffect(function () {
|
|
270
351
|
setRowData(dataSource || propRowData || []);
|
|
271
352
|
}, [dataSource, propRowData]);
|
|
@@ -301,96 +382,116 @@ function AgGridPlus(props) {
|
|
|
301
382
|
return colDef.customCellRenderer(params);
|
|
302
383
|
};
|
|
303
384
|
|
|
304
|
-
//
|
|
305
|
-
var
|
|
306
|
-
var
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
385
|
+
// 辅助函数: 处理单个列配置
|
|
386
|
+
var processColumnConfig = function processColumnConfig(col, data) {
|
|
387
|
+
var dataType = getDataType(data, col.field || '', col.valueEnum);
|
|
388
|
+
if (col.valueEnum && Array.isArray(col.valueEnum)) {
|
|
389
|
+
var _defaultItems$0$value, _defaultItems$;
|
|
390
|
+
// 统计默认值
|
|
391
|
+
var valueEnum = col.valueEnum; // 保存引用以便TypeScript理解
|
|
392
|
+
var defaultItems = valueEnum.filter(function (item) {
|
|
393
|
+
return item.default;
|
|
394
|
+
});
|
|
395
|
+
var isMultiple = defaultItems.length > 1;
|
|
396
|
+
var defaultValue = isMultiple ? defaultItems.map(function (item) {
|
|
397
|
+
return item.value;
|
|
398
|
+
}) : (_defaultItems$0$value = (_defaultItems$ = defaultItems[0]) === null || _defaultItems$ === void 0 ? void 0 : _defaultItems$.value) !== null && _defaultItems$0$value !== void 0 ? _defaultItems$0$value : undefined;
|
|
399
|
+
var valueFormatter = function valueFormatter(params) {
|
|
400
|
+
var match = valueEnum.find(function (item) {
|
|
401
|
+
return item.value == params.value;
|
|
319
402
|
});
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
var valueFormatter = function valueFormatter(params) {
|
|
403
|
+
return match ? match.label : params.value;
|
|
404
|
+
};
|
|
405
|
+
return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
|
|
406
|
+
cellRenderer: function cellRenderer(params) {
|
|
325
407
|
var match = valueEnum.find(function (item) {
|
|
326
408
|
return item.value == params.value;
|
|
327
409
|
});
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
cellRenderer: function cellRenderer(params) {
|
|
332
|
-
var match = valueEnum.find(function (item) {
|
|
333
|
-
return item.value == params.value;
|
|
334
|
-
});
|
|
335
|
-
if (match) {
|
|
336
|
-
var color = match.color || '#ffffff';
|
|
337
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
338
|
-
style: {
|
|
339
|
-
color: color,
|
|
340
|
-
backgroundColor: 'transparent',
|
|
341
|
-
fontWeight: 500
|
|
342
|
-
}
|
|
343
|
-
}, match.label);
|
|
344
|
-
}
|
|
345
|
-
return params.value;
|
|
346
|
-
},
|
|
347
|
-
filterParams: _objectSpread(_objectSpread({}, col.filterParams || {}), {}, {
|
|
348
|
-
valueFormatter: valueFormatter
|
|
349
|
-
}),
|
|
350
|
-
searchComponent: Select,
|
|
351
|
-
searchComponentProps: {
|
|
352
|
-
options: col.valueEnum.map(function (item) {
|
|
353
|
-
return {
|
|
354
|
-
label: item.label,
|
|
355
|
-
value: item.value
|
|
356
|
-
};
|
|
357
|
-
}),
|
|
358
|
-
mode: isMultiple ? "multiple" : undefined,
|
|
359
|
-
defaultValue: defaultValue
|
|
360
|
-
}
|
|
361
|
-
});
|
|
362
|
-
}
|
|
363
|
-
if (col.type || typeof col.cellRenderer == "string") {
|
|
364
|
-
return _objectSpread({}, col);
|
|
365
|
-
}
|
|
366
|
-
//@ts-ignore
|
|
367
|
-
if (col !== null && col !== void 0 && col.ellipsis) {
|
|
368
|
-
return _objectSpread(_objectSpread({}, col), {}, {
|
|
369
|
-
cellRenderer: function cellRenderer(_ref) {
|
|
370
|
-
var value = _ref.value;
|
|
371
|
-
return /*#__PURE__*/React.createElement(Text, {
|
|
372
|
-
ellipsis: {
|
|
373
|
-
tooltip: value
|
|
374
|
-
},
|
|
410
|
+
if (match) {
|
|
411
|
+
var color = match.color || '#ffffff';
|
|
412
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
375
413
|
style: {
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
414
|
+
color: color,
|
|
415
|
+
backgroundColor: 'transparent',
|
|
416
|
+
fontWeight: 500
|
|
379
417
|
}
|
|
380
|
-
},
|
|
418
|
+
}, match.label);
|
|
381
419
|
}
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
420
|
+
return params.value;
|
|
421
|
+
},
|
|
422
|
+
filterParams: _objectSpread(_objectSpread({}, col.filterParams || {}), {}, {
|
|
423
|
+
valueFormatter: valueFormatter
|
|
424
|
+
}),
|
|
425
|
+
searchComponent: Select,
|
|
426
|
+
searchComponentProps: {
|
|
427
|
+
options: col.valueEnum.map(function (item) {
|
|
428
|
+
return {
|
|
429
|
+
label: item.label,
|
|
430
|
+
value: item.value
|
|
431
|
+
};
|
|
432
|
+
}),
|
|
433
|
+
mode: isMultiple ? "multiple" : undefined,
|
|
434
|
+
defaultValue: defaultValue
|
|
435
|
+
}
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
if (col.type || typeof col.cellRenderer == "string") {
|
|
439
|
+
return _objectSpread({}, col);
|
|
440
|
+
}
|
|
441
|
+
//@ts-ignore
|
|
442
|
+
if (col !== null && col !== void 0 && col.ellipsis) {
|
|
443
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
444
|
+
cellRenderer: function cellRenderer(_ref) {
|
|
445
|
+
var value = _ref.value;
|
|
446
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
447
|
+
ellipsis: {
|
|
448
|
+
tooltip: value
|
|
449
|
+
},
|
|
450
|
+
style: {
|
|
451
|
+
display: 'flex',
|
|
452
|
+
justifyContent: 'center',
|
|
453
|
+
alignItems: 'center'
|
|
454
|
+
}
|
|
455
|
+
}, value);
|
|
456
|
+
}
|
|
457
|
+
});
|
|
458
|
+
}
|
|
459
|
+
if (col.cellRenderer) {
|
|
460
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
391
461
|
customCellRenderer: col.cellRenderer,
|
|
392
462
|
cellRenderer: cellRenderer
|
|
393
463
|
});
|
|
464
|
+
}
|
|
465
|
+
return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
|
|
466
|
+
customCellRenderer: col.cellRenderer,
|
|
467
|
+
cellRenderer: cellRenderer
|
|
468
|
+
});
|
|
469
|
+
};
|
|
470
|
+
|
|
471
|
+
// 获取表格列定义
|
|
472
|
+
var getTableColumns = function getTableColumns(rowDataList) {
|
|
473
|
+
var data = rowDataList.length > 0 ? rowDataList[0] : {};
|
|
474
|
+
var columnProps = React.Children.map(children, function (child, index) {
|
|
475
|
+
return _objectSpread({}, child.props);
|
|
476
|
+
});
|
|
477
|
+
var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
|
|
478
|
+
|
|
479
|
+
// 递归处理列配置(包括分组的 children)
|
|
480
|
+
var processColumnDefRecursively = function processColumnDefRecursively(col) {
|
|
481
|
+
// 如果有 children(分组列),递归处理每个子列
|
|
482
|
+
if (col.children && Array.isArray(col.children)) {
|
|
483
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
484
|
+
children: col.children.map(function (child) {
|
|
485
|
+
return processColumnDefRecursively(child);
|
|
486
|
+
})
|
|
487
|
+
});
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
// 处理普通列
|
|
491
|
+
return processColumnConfig(col, data);
|
|
492
|
+
};
|
|
493
|
+
columnDefs = columnDefs.map(function (col) {
|
|
494
|
+
return processColumnDefRecursively(col);
|
|
394
495
|
});
|
|
395
496
|
extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].map(function (column) {
|
|
396
497
|
columnDefs.push({
|
|
@@ -465,7 +566,14 @@ function AgGridPlus(props) {
|
|
|
465
566
|
};
|
|
466
567
|
}, [propsRowSelection, enableClickSelection]);
|
|
467
568
|
var onGridReady = useCallback(function (params) {
|
|
468
|
-
var _apiRef$current3;
|
|
569
|
+
var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$current3;
|
|
570
|
+
console.log('[AgGridPlus] onGridReady 被调用:', {
|
|
571
|
+
hasColumnSchemeManager: !!columnSchemeManager,
|
|
572
|
+
hasCurrentScheme: !!(columnSchemeManager !== null && columnSchemeManager !== void 0 && columnSchemeManager.currentScheme),
|
|
573
|
+
currentSchemeId: columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$3 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$3 === void 0 ? void 0 : _columnSchemeManager$3.id,
|
|
574
|
+
currentSchemeName: columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$4 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$4 === void 0 ? void 0 : _columnSchemeManager$4.name,
|
|
575
|
+
hasColumnConfig: !!(columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$5 = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$5 !== void 0 && _columnSchemeManager$5.columnConfig)
|
|
576
|
+
});
|
|
469
577
|
apiRef.current = params.api;
|
|
470
578
|
onReady && onReady(params);
|
|
471
579
|
///@ts-ignore
|
|
@@ -473,7 +581,10 @@ function AgGridPlus(props) {
|
|
|
473
581
|
setColumnState((_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 ? void 0 : _apiRef$current3.getColumnState());
|
|
474
582
|
sortChanged(params.api);
|
|
475
583
|
setReady(true);
|
|
476
|
-
|
|
584
|
+
|
|
585
|
+
// 注意: 方案应用已由 useEffect 处理,无需在这里重复应用
|
|
586
|
+
// useEffect 会在 apiRef 和 currentScheme 都准备好时自动应用方案
|
|
587
|
+
}, [dataSource, columnSchemeManager]);
|
|
477
588
|
var onRequest = useCallback(function (queryFilter) {
|
|
478
589
|
if (!requestRef.current) return;
|
|
479
590
|
setLoading(true);
|
|
@@ -807,21 +918,34 @@ function AgGridPlus(props) {
|
|
|
807
918
|
};
|
|
808
919
|
var colDefs = useMemo(function () {
|
|
809
920
|
var columnDefs = getTableColumns(rowData);
|
|
810
|
-
|
|
811
|
-
|
|
921
|
+
|
|
922
|
+
// 递归应用 columnCellClass 配置
|
|
923
|
+
var applyCellConfig = function applyCellConfig(col) {
|
|
924
|
+
// 如果有 children,递归处理
|
|
925
|
+
if (col.children && Array.isArray(col.children)) {
|
|
926
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
927
|
+
children: col.children.map(applyCellConfig).filter(function (x) {
|
|
928
|
+
return !x.hideInTable;
|
|
929
|
+
})
|
|
930
|
+
});
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
// 处理普通列
|
|
934
|
+
var cellConfig = columnCellClass[col.field];
|
|
812
935
|
if (cellConfig) {
|
|
813
936
|
if (cellConfig.cellClass) {
|
|
814
|
-
|
|
937
|
+
col.cellClass = cellConfig.cellClass;
|
|
815
938
|
}
|
|
816
939
|
if (cellConfig.groupName) {
|
|
817
|
-
|
|
940
|
+
col.groupName = cellConfig.groupName;
|
|
818
941
|
}
|
|
819
942
|
if (cellConfig.suppressHeaderFilterButton !== undefined) {
|
|
820
|
-
|
|
943
|
+
col.suppressHeaderFilterButton = !cellConfig.suppressHeaderFilterButton;
|
|
821
944
|
}
|
|
822
945
|
}
|
|
823
|
-
return
|
|
824
|
-
}
|
|
946
|
+
return col;
|
|
947
|
+
};
|
|
948
|
+
columnDefs = columnDefs.map(applyCellConfig).filter(function (x) {
|
|
825
949
|
return !x.hideInTable;
|
|
826
950
|
});
|
|
827
951
|
var processedColumns = processColumnGroups(columnDefs);
|
|
@@ -984,8 +1108,8 @@ function AgGridPlus(props) {
|
|
|
984
1108
|
onDragStopped: function onDragStopped(e) {
|
|
985
1109
|
if (apiRef.current) {
|
|
986
1110
|
var _apiRef$current7;
|
|
987
|
-
var
|
|
988
|
-
setColumnState(
|
|
1111
|
+
var _columnState2 = (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 ? void 0 : _apiRef$current7.getColumnState();
|
|
1112
|
+
setColumnState(_columnState2);
|
|
989
1113
|
|
|
990
1114
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
991
1115
|
}
|
|
@@ -125,7 +125,7 @@ export var SchemeSelector = function SchemeSelector(_ref) {
|
|
|
125
125
|
_context3.prev = 6;
|
|
126
126
|
_context3.next = 9;
|
|
127
127
|
return saveScheme({
|
|
128
|
-
|
|
128
|
+
columnConfig: currentColumnState
|
|
129
129
|
});
|
|
130
130
|
case 9:
|
|
131
131
|
message.success('保存成功');
|
|
@@ -70,7 +70,7 @@ export function useColumnSchemes(config) {
|
|
|
70
70
|
* 加载方案列表
|
|
71
71
|
*/
|
|
72
72
|
var loadSchemesList = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
73
|
-
var loadedSchemes, schemeToLoad, lastSchemeId;
|
|
73
|
+
var loadedSchemes, schemeToLoad, lastSchemeId, _schemeToLoad$columnC;
|
|
74
74
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
75
75
|
while (1) switch (_context.prev = _context.next) {
|
|
76
76
|
case 0:
|
|
@@ -111,6 +111,12 @@ export function useColumnSchemes(config) {
|
|
|
111
111
|
|
|
112
112
|
// 3. 应用方案
|
|
113
113
|
if (schemeToLoad) {
|
|
114
|
+
console.log('[useColumnSchemes] 加载方案完成,准备调用 onSchemeChange:', {
|
|
115
|
+
schemeId: schemeToLoad.id,
|
|
116
|
+
schemeName: schemeToLoad.name,
|
|
117
|
+
hasColumnConfig: !!schemeToLoad.columnConfig,
|
|
118
|
+
columnConfigCount: ((_schemeToLoad$columnC = schemeToLoad.columnConfig) === null || _schemeToLoad$columnC === void 0 ? void 0 : _schemeToLoad$columnC.length) || 0
|
|
119
|
+
});
|
|
114
120
|
setCurrentScheme(schemeToLoad);
|
|
115
121
|
onSchemeChange === null || onSchemeChange === void 0 || onSchemeChange(schemeToLoad);
|
|
116
122
|
}
|
|
@@ -218,6 +224,7 @@ export function useColumnSchemes(config) {
|
|
|
218
224
|
*/
|
|
219
225
|
var saveScheme = useCallback( /*#__PURE__*/function () {
|
|
220
226
|
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(updates) {
|
|
227
|
+
var _updates$columnConfig, _updates$columnConfig2, _updatedScheme$column, _updatedScheme$column2, _updatedScheme$column3;
|
|
221
228
|
var nameValidation, descValidation, updatedScheme, updatedSchemes;
|
|
222
229
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
223
230
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -229,47 +236,86 @@ export function useColumnSchemes(config) {
|
|
|
229
236
|
console.error('[useColumnSchemes] 没有激活的方案');
|
|
230
237
|
return _context4.abrupt("return");
|
|
231
238
|
case 3:
|
|
239
|
+
console.log('[useColumnSchemes] saveScheme 被调用:', {
|
|
240
|
+
currentSchemeId: currentScheme.id,
|
|
241
|
+
currentSchemeName: currentScheme.name,
|
|
242
|
+
updates: updates,
|
|
243
|
+
hasColumnConfig: !!(updates !== null && updates !== void 0 && updates.columnConfig),
|
|
244
|
+
columnConfigLength: (updates === null || updates === void 0 || (_updates$columnConfig = updates.columnConfig) === null || _updates$columnConfig === void 0 ? void 0 : _updates$columnConfig.length) || 0,
|
|
245
|
+
columnConfigDetail: updates === null || updates === void 0 || (_updates$columnConfig2 = updates.columnConfig) === null || _updates$columnConfig2 === void 0 ? void 0 : _updates$columnConfig2.map(function (item) {
|
|
246
|
+
return {
|
|
247
|
+
type: item.type,
|
|
248
|
+
headerName: item.headerName,
|
|
249
|
+
field: item.field,
|
|
250
|
+
order: item.order,
|
|
251
|
+
parentId: item.parentId
|
|
252
|
+
};
|
|
253
|
+
})
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
// 验证更新内容
|
|
232
257
|
if (!(updates !== null && updates !== void 0 && updates.name)) {
|
|
233
|
-
_context4.next =
|
|
258
|
+
_context4.next = 10;
|
|
234
259
|
break;
|
|
235
260
|
}
|
|
236
261
|
nameValidation = validateSchemeName(updates.name);
|
|
237
262
|
if (nameValidation.valid) {
|
|
238
|
-
_context4.next =
|
|
263
|
+
_context4.next = 8;
|
|
239
264
|
break;
|
|
240
265
|
}
|
|
241
266
|
throw new Error(nameValidation.error);
|
|
242
|
-
case
|
|
267
|
+
case 8:
|
|
243
268
|
if (!checkDuplicateName(updates.name, schemes, currentScheme.id)) {
|
|
244
|
-
_context4.next =
|
|
269
|
+
_context4.next = 10;
|
|
245
270
|
break;
|
|
246
271
|
}
|
|
247
272
|
throw new Error('方案名称已存在');
|
|
248
|
-
case
|
|
273
|
+
case 10:
|
|
249
274
|
if (!(updates !== null && updates !== void 0 && updates.description)) {
|
|
250
|
-
_context4.next =
|
|
275
|
+
_context4.next = 14;
|
|
251
276
|
break;
|
|
252
277
|
}
|
|
253
278
|
descValidation = validateSchemeDescription(updates.description);
|
|
254
279
|
if (descValidation.valid) {
|
|
255
|
-
_context4.next =
|
|
280
|
+
_context4.next = 14;
|
|
256
281
|
break;
|
|
257
282
|
}
|
|
258
283
|
throw new Error(descValidation.error);
|
|
259
|
-
case
|
|
284
|
+
case 14:
|
|
260
285
|
updatedScheme = _objectSpread(_objectSpread(_objectSpread({}, currentScheme), updates), {}, {
|
|
261
286
|
updatedAt: Date.now()
|
|
262
287
|
});
|
|
288
|
+
console.log('[useColumnSchemes] 准备保存的方案数据:', {
|
|
289
|
+
schemeId: updatedScheme.id,
|
|
290
|
+
schemeName: updatedScheme.name,
|
|
291
|
+
hasColumnConfig: !!updatedScheme.columnConfig,
|
|
292
|
+
columnConfigLength: ((_updatedScheme$column = updatedScheme.columnConfig) === null || _updatedScheme$column === void 0 ? void 0 : _updatedScheme$column.length) || 0,
|
|
293
|
+
columnConfigDetail: (_updatedScheme$column2 = updatedScheme.columnConfig) === null || _updatedScheme$column2 === void 0 ? void 0 : _updatedScheme$column2.map(function (item) {
|
|
294
|
+
return {
|
|
295
|
+
type: item.type,
|
|
296
|
+
headerName: item.headerName,
|
|
297
|
+
field: item.field,
|
|
298
|
+
order: item.order,
|
|
299
|
+
parentId: item.parentId
|
|
300
|
+
};
|
|
301
|
+
})
|
|
302
|
+
});
|
|
263
303
|
updatedSchemes = schemes.map(function (s) {
|
|
264
304
|
return s.id === currentScheme.id ? updatedScheme : s;
|
|
265
305
|
});
|
|
266
|
-
_context4.next =
|
|
306
|
+
_context4.next = 19;
|
|
267
307
|
return saveSchemesToStorage(updatedSchemes);
|
|
268
|
-
case
|
|
308
|
+
case 19:
|
|
269
309
|
setCurrentScheme(updatedScheme);
|
|
270
310
|
setIsDirty(false);
|
|
311
|
+
console.log('[useColumnSchemes] 方案保存完成,当前 currentScheme:', {
|
|
312
|
+
schemeId: updatedScheme.id,
|
|
313
|
+
schemeName: updatedScheme.name,
|
|
314
|
+
hasColumnConfig: !!updatedScheme.columnConfig,
|
|
315
|
+
columnConfigLength: ((_updatedScheme$column3 = updatedScheme.columnConfig) === null || _updatedScheme$column3 === void 0 ? void 0 : _updatedScheme$column3.length) || 0
|
|
316
|
+
});
|
|
271
317
|
onSchemeSave === null || onSchemeSave === void 0 || onSchemeSave(updatedScheme);
|
|
272
|
-
case
|
|
318
|
+
case 23:
|
|
273
319
|
case "end":
|
|
274
320
|
return _context4.stop();
|
|
275
321
|
}
|
|
@@ -284,7 +330,7 @@ export function useColumnSchemes(config) {
|
|
|
284
330
|
* 创建新方案
|
|
285
331
|
*/
|
|
286
332
|
var createScheme = useCallback( /*#__PURE__*/function () {
|
|
287
|
-
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(name,
|
|
333
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(name, columnConfig, options) {
|
|
288
334
|
var nameValidation, uniqueName, newScheme, updatedSchemes;
|
|
289
335
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
290
336
|
while (1) switch (_context5.prev = _context5.next) {
|
|
@@ -310,7 +356,7 @@ export function useColumnSchemes(config) {
|
|
|
310
356
|
name: uniqueName,
|
|
311
357
|
createdAt: Date.now(),
|
|
312
358
|
updatedAt: Date.now(),
|
|
313
|
-
|
|
359
|
+
columnConfig: columnConfig
|
|
314
360
|
}, options); // 如果设置为默认方案,取消其他方案的默认标记
|
|
315
361
|
updatedSchemes = schemes;
|
|
316
362
|
if (newScheme.isDefault) {
|