@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
|
@@ -1,2 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 处理列分组配置
|
|
3
|
+
* 兼容新旧两种数据格式:
|
|
4
|
+
* 1. 新格式:FlatColumnItem[] (带有 type, parentId, level)
|
|
5
|
+
* 2. 旧格式:{ groupName: string } (简单的分组名称)
|
|
6
|
+
*
|
|
7
|
+
* @param columns 列配置数组
|
|
8
|
+
* @returns AG-Grid 列定义
|
|
9
|
+
*/
|
|
1
10
|
declare const processColumnGroups: (columns: any[]) => any;
|
|
2
11
|
export default processColumnGroups;
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
var _columnGroupUtils = require("../setting/columnGroupUtils");
|
|
7
8
|
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); }
|
|
8
9
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
9
10
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -16,7 +17,49 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
16
17
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
18
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
18
19
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
20
|
+
/**
|
|
21
|
+
* 处理列分组配置
|
|
22
|
+
* 兼容新旧两种数据格式:
|
|
23
|
+
* 1. 新格式:FlatColumnItem[] (带有 type, parentId, level)
|
|
24
|
+
* 2. 旧格式:{ groupName: string } (简单的分组名称)
|
|
25
|
+
*
|
|
26
|
+
* @param columns 列配置数组
|
|
27
|
+
* @returns AG-Grid 列定义
|
|
28
|
+
*/
|
|
19
29
|
var processColumnGroups = function processColumnGroups(columns) {
|
|
30
|
+
// 如果是空数组,直接返回
|
|
31
|
+
if (!columns || columns.length === 0) {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// 检查是否已经是标准 AG-Grid 格式(带 children 的分组)
|
|
36
|
+
// 如果列定义中有 children 属性,说明已经是 AG-Grid 标准格式,直接返回
|
|
37
|
+
var hasStandardGroups = columns.some(function (col) {
|
|
38
|
+
return col.children && Array.isArray(col.children);
|
|
39
|
+
});
|
|
40
|
+
if (hasStandardGroups) {
|
|
41
|
+
// 标准格式:直接返回,不做任何处理
|
|
42
|
+
return columns;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// 检查是否是新格式(FlatColumnItem)
|
|
46
|
+
var isNewFormat = columns.some(function (col) {
|
|
47
|
+
return col.type !== undefined;
|
|
48
|
+
});
|
|
49
|
+
if (isNewFormat) {
|
|
50
|
+
// 新格式:使用 flatConfigToGridState 转换
|
|
51
|
+
return (0, _columnGroupUtils.flatConfigToGridState)(columns);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// 旧格式:使用旧的处理逻辑
|
|
55
|
+
// 检查是否需要迁移
|
|
56
|
+
if ((0, _columnGroupUtils.isOldSchemeData)(columns)) {
|
|
57
|
+
// 先迁移到新格式,再转换
|
|
58
|
+
var migrated = (0, _columnGroupUtils.migrateOldScheme)(columns);
|
|
59
|
+
return (0, _columnGroupUtils.flatConfigToGridState)(migrated);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// 兼容最原始的格式(groupName)
|
|
20
63
|
var groupMap = new Map();
|
|
21
64
|
var result = [];
|
|
22
65
|
var ungrouped = [];
|
|
@@ -58,7 +58,7 @@ var getSort = function getSort(columnState) {
|
|
|
58
58
|
return columnState ? "".concat(columnState.colId, " ").concat(columnState.sort) : "";
|
|
59
59
|
};
|
|
60
60
|
function AgGridPlus(props) {
|
|
61
|
-
var _querySchemeManager$c;
|
|
61
|
+
var _columnSchemeManager$2, _querySchemeManager$c;
|
|
62
62
|
var style = props.style,
|
|
63
63
|
loadingProps = props.loading,
|
|
64
64
|
gridParams = props.params,
|
|
@@ -172,12 +172,16 @@ function AgGridPlus(props) {
|
|
|
172
172
|
storageAdapter: globalColumnAdapter || columnSchemeStorageAdapter,
|
|
173
173
|
enableAutoSave: true,
|
|
174
174
|
onSchemeChange: function onSchemeChange(scheme) {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
175
|
+
console.log('[AgGridPlus] onSchemeChange 被调用:', {
|
|
176
|
+
hasScheme: !!scheme,
|
|
177
|
+
hasApiRef: !!apiRef.current,
|
|
178
|
+
schemeId: scheme === null || scheme === void 0 ? void 0 : scheme.id,
|
|
179
|
+
schemeName: scheme === null || scheme === void 0 ? void 0 : scheme.name,
|
|
180
|
+
hasColumnConfig: !!(scheme !== null && scheme !== void 0 && scheme.columnConfig)
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
// 注意: 方案应用已由 useEffect 处理
|
|
184
|
+
// useEffect 会在 apiRef 和 currentScheme 都准备好时自动应用方案
|
|
181
185
|
}
|
|
182
186
|
}) : undefined;
|
|
183
187
|
|
|
@@ -242,37 +246,114 @@ function AgGridPlus(props) {
|
|
|
242
246
|
|
|
243
247
|
// 加载列方案
|
|
244
248
|
(0, _react.useEffect)(function () {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
var
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
249
|
+
var _columnSchemeManager$;
|
|
250
|
+
if (!gridKey || !apiRef.current) return;
|
|
251
|
+
|
|
252
|
+
// 优先使用方案中的 columnConfig(用户在列配置界面调整后的数据)
|
|
253
|
+
if (columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$ = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$ !== void 0 && _columnSchemeManager$.columnConfig) {
|
|
254
|
+
var _require = require("./setting/columnGroupUtils"),
|
|
255
|
+
flatConfigToColumnState = _require.flatConfigToColumnState;
|
|
256
|
+
var _columnState = flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
|
|
257
|
+
setColumnCellClass(handelgridPlusColumnState(_columnState));
|
|
258
|
+
var timer = setTimeout(function () {
|
|
259
|
+
var _apiRef$current;
|
|
260
|
+
(_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 || _apiRef$current.applyColumnState({
|
|
261
|
+
state: _columnState,
|
|
262
|
+
applyOrder: true
|
|
263
|
+
});
|
|
264
|
+
}, 10);
|
|
265
|
+
return function () {
|
|
266
|
+
return clearTimeout(timer);
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
// 后备方案:使用旧的 gridPlusColumnState
|
|
270
|
+
else if (gridPlusColumnState !== null && gridPlusColumnState !== void 0 && gridPlusColumnState[gridKey]) {
|
|
271
|
+
var currentState = gridPlusColumnState[gridKey];
|
|
272
|
+
setColumnCellClass(handelgridPlusColumnState(currentState));
|
|
273
|
+
var _timer = setTimeout(function () {
|
|
274
|
+
var _apiRef$current2;
|
|
275
|
+
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.applyColumnState({
|
|
276
|
+
state: currentState,
|
|
277
|
+
applyOrder: true
|
|
278
|
+
});
|
|
279
|
+
}, 10);
|
|
280
|
+
return function () {
|
|
281
|
+
return clearTimeout(_timer);
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
}, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig, gridPlusColumnState]);
|
|
260
285
|
|
|
261
|
-
//
|
|
286
|
+
// 同步 apiRef 和 currentScheme,确保方案在两者都准备好时应用
|
|
262
287
|
(0, _react.useEffect)(function () {
|
|
288
|
+
var _currentScheme$column;
|
|
263
289
|
var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
(
|
|
268
|
-
|
|
269
|
-
|
|
290
|
+
|
|
291
|
+
// 两个依赖都不存在时,直接返回
|
|
292
|
+
if (!apiRef.current || !currentScheme) {
|
|
293
|
+
console.log('[AgGridPlus] useEffect: 等待依赖准备', {
|
|
294
|
+
hasApiRef: !!apiRef.current,
|
|
295
|
+
hasCurrentScheme: !!currentScheme
|
|
270
296
|
});
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
console.log('[AgGridPlus] useEffect: 两个依赖都准备好,应用方案', {
|
|
300
|
+
schemeId: currentScheme.id,
|
|
301
|
+
schemeName: currentScheme.name,
|
|
302
|
+
hasColumnConfig: !!currentScheme.columnConfig,
|
|
303
|
+
columnConfigCount: ((_currentScheme$column = currentScheme.columnConfig) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.length) || 0
|
|
304
|
+
});
|
|
305
|
+
var timer = setTimeout(function () {
|
|
306
|
+
// 优先使用 columnConfig(包含完整的分组结构)
|
|
307
|
+
if (currentScheme.columnConfig) {
|
|
308
|
+
var _require2 = require("./setting/columnGroupUtils"),
|
|
309
|
+
flatConfigToGridState = _require2.flatConfigToGridState;
|
|
310
|
+
var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
|
|
311
|
+
console.log('[AgGridPlus] useEffect: 应用方案的 columnConfig:', {
|
|
312
|
+
columnConfig: currentScheme.columnConfig,
|
|
313
|
+
columnConfigLength: currentScheme.columnConfig.length,
|
|
314
|
+
gridColumnDefs: gridColumnDefs,
|
|
315
|
+
gridColumnDefsLength: gridColumnDefs.length,
|
|
316
|
+
columnConfigDetail: currentScheme.columnConfig.map(function (item) {
|
|
317
|
+
return {
|
|
318
|
+
type: item.type,
|
|
319
|
+
field: item.field,
|
|
320
|
+
headerName: item.headerName,
|
|
321
|
+
order: item.order,
|
|
322
|
+
parentId: item.parentId
|
|
323
|
+
};
|
|
324
|
+
}),
|
|
325
|
+
gridColumnDefsDetail: gridColumnDefs.map(function (def, idx) {
|
|
326
|
+
var _def$children;
|
|
327
|
+
return {
|
|
328
|
+
index: idx,
|
|
329
|
+
field: def.field,
|
|
330
|
+
headerName: def.headerName,
|
|
331
|
+
groupId: def.groupId,
|
|
332
|
+
children: (_def$children = def.children) === null || _def$children === void 0 ? void 0 : _def$children.length
|
|
333
|
+
};
|
|
334
|
+
})
|
|
335
|
+
});
|
|
336
|
+
|
|
337
|
+
// 1. 先设置列定义(包含分组结构)
|
|
338
|
+
if (apiRef.current) {
|
|
339
|
+
apiRef.current.setGridOption("columnDefs", gridColumnDefs);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
// 2. 【重要修改】使用 columnConfig 时,不应用 columnState
|
|
343
|
+
// 原因:columnConfig 已经包含了完整的列配置(宽度、隐藏、顺序、分组等)
|
|
344
|
+
// 如果再应用 columnState,会导致分组子列被视为独立列,破坏分组结构
|
|
345
|
+
console.log('[AgGridPlus] useEffect: 使用 columnConfig,跳过 columnState 应用');
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
// 应用过滤器状态
|
|
349
|
+
if (currentScheme.filterModel && apiRef.current) {
|
|
350
|
+
apiRef.current.setFilterModel(currentScheme.filterModel);
|
|
351
|
+
}
|
|
271
352
|
}, 10);
|
|
272
353
|
return function () {
|
|
273
354
|
return clearTimeout(timer);
|
|
274
355
|
};
|
|
275
|
-
}, [columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
356
|
+
}, [apiRef.current, columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
276
357
|
(0, _react.useEffect)(function () {
|
|
277
358
|
setRowData(dataSource || propRowData || []);
|
|
278
359
|
}, [dataSource, propRowData]);
|
|
@@ -308,96 +389,116 @@ function AgGridPlus(props) {
|
|
|
308
389
|
return colDef.customCellRenderer(params);
|
|
309
390
|
};
|
|
310
391
|
|
|
311
|
-
//
|
|
312
|
-
var
|
|
313
|
-
var
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
392
|
+
// 辅助函数: 处理单个列配置
|
|
393
|
+
var processColumnConfig = function processColumnConfig(col, data) {
|
|
394
|
+
var dataType = getDataType(data, col.field || '', col.valueEnum);
|
|
395
|
+
if (col.valueEnum && Array.isArray(col.valueEnum)) {
|
|
396
|
+
var _defaultItems$0$value, _defaultItems$;
|
|
397
|
+
// 统计默认值
|
|
398
|
+
var valueEnum = col.valueEnum; // 保存引用以便TypeScript理解
|
|
399
|
+
var defaultItems = valueEnum.filter(function (item) {
|
|
400
|
+
return item.default;
|
|
401
|
+
});
|
|
402
|
+
var isMultiple = defaultItems.length > 1;
|
|
403
|
+
var defaultValue = isMultiple ? defaultItems.map(function (item) {
|
|
404
|
+
return item.value;
|
|
405
|
+
}) : (_defaultItems$0$value = (_defaultItems$ = defaultItems[0]) === null || _defaultItems$ === void 0 ? void 0 : _defaultItems$.value) !== null && _defaultItems$0$value !== void 0 ? _defaultItems$0$value : undefined;
|
|
406
|
+
var valueFormatter = function valueFormatter(params) {
|
|
407
|
+
var match = valueEnum.find(function (item) {
|
|
408
|
+
return item.value == params.value;
|
|
326
409
|
});
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
var valueFormatter = function valueFormatter(params) {
|
|
410
|
+
return match ? match.label : params.value;
|
|
411
|
+
};
|
|
412
|
+
return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
|
|
413
|
+
cellRenderer: function cellRenderer(params) {
|
|
332
414
|
var match = valueEnum.find(function (item) {
|
|
333
415
|
return item.value == params.value;
|
|
334
416
|
});
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
cellRenderer: function cellRenderer(params) {
|
|
339
|
-
var match = valueEnum.find(function (item) {
|
|
340
|
-
return item.value == params.value;
|
|
341
|
-
});
|
|
342
|
-
if (match) {
|
|
343
|
-
var color = match.color || '#ffffff';
|
|
344
|
-
return /*#__PURE__*/_react.default.createElement("span", {
|
|
345
|
-
style: {
|
|
346
|
-
color: color,
|
|
347
|
-
backgroundColor: 'transparent',
|
|
348
|
-
fontWeight: 500
|
|
349
|
-
}
|
|
350
|
-
}, match.label);
|
|
351
|
-
}
|
|
352
|
-
return params.value;
|
|
353
|
-
},
|
|
354
|
-
filterParams: _objectSpread(_objectSpread({}, col.filterParams || {}), {}, {
|
|
355
|
-
valueFormatter: valueFormatter
|
|
356
|
-
}),
|
|
357
|
-
searchComponent: _antdV.Select,
|
|
358
|
-
searchComponentProps: {
|
|
359
|
-
options: col.valueEnum.map(function (item) {
|
|
360
|
-
return {
|
|
361
|
-
label: item.label,
|
|
362
|
-
value: item.value
|
|
363
|
-
};
|
|
364
|
-
}),
|
|
365
|
-
mode: isMultiple ? "multiple" : undefined,
|
|
366
|
-
defaultValue: defaultValue
|
|
367
|
-
}
|
|
368
|
-
});
|
|
369
|
-
}
|
|
370
|
-
if (col.type || typeof col.cellRenderer == "string") {
|
|
371
|
-
return _objectSpread({}, col);
|
|
372
|
-
}
|
|
373
|
-
//@ts-ignore
|
|
374
|
-
if (col !== null && col !== void 0 && col.ellipsis) {
|
|
375
|
-
return _objectSpread(_objectSpread({}, col), {}, {
|
|
376
|
-
cellRenderer: function cellRenderer(_ref) {
|
|
377
|
-
var value = _ref.value;
|
|
378
|
-
return /*#__PURE__*/_react.default.createElement(Text, {
|
|
379
|
-
ellipsis: {
|
|
380
|
-
tooltip: value
|
|
381
|
-
},
|
|
417
|
+
if (match) {
|
|
418
|
+
var color = match.color || '#ffffff';
|
|
419
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
382
420
|
style: {
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
421
|
+
color: color,
|
|
422
|
+
backgroundColor: 'transparent',
|
|
423
|
+
fontWeight: 500
|
|
386
424
|
}
|
|
387
|
-
},
|
|
425
|
+
}, match.label);
|
|
388
426
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
427
|
+
return params.value;
|
|
428
|
+
},
|
|
429
|
+
filterParams: _objectSpread(_objectSpread({}, col.filterParams || {}), {}, {
|
|
430
|
+
valueFormatter: valueFormatter
|
|
431
|
+
}),
|
|
432
|
+
searchComponent: _antdV.Select,
|
|
433
|
+
searchComponentProps: {
|
|
434
|
+
options: col.valueEnum.map(function (item) {
|
|
435
|
+
return {
|
|
436
|
+
label: item.label,
|
|
437
|
+
value: item.value
|
|
438
|
+
};
|
|
439
|
+
}),
|
|
440
|
+
mode: isMultiple ? "multiple" : undefined,
|
|
441
|
+
defaultValue: defaultValue
|
|
442
|
+
}
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
if (col.type || typeof col.cellRenderer == "string") {
|
|
446
|
+
return _objectSpread({}, col);
|
|
447
|
+
}
|
|
448
|
+
//@ts-ignore
|
|
449
|
+
if (col !== null && col !== void 0 && col.ellipsis) {
|
|
450
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
451
|
+
cellRenderer: function cellRenderer(_ref) {
|
|
452
|
+
var value = _ref.value;
|
|
453
|
+
return /*#__PURE__*/_react.default.createElement(Text, {
|
|
454
|
+
ellipsis: {
|
|
455
|
+
tooltip: value
|
|
456
|
+
},
|
|
457
|
+
style: {
|
|
458
|
+
display: 'flex',
|
|
459
|
+
justifyContent: 'center',
|
|
460
|
+
alignItems: 'center'
|
|
461
|
+
}
|
|
462
|
+
}, value);
|
|
463
|
+
}
|
|
464
|
+
});
|
|
465
|
+
}
|
|
466
|
+
if (col.cellRenderer) {
|
|
467
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
398
468
|
customCellRenderer: col.cellRenderer,
|
|
399
469
|
cellRenderer: cellRenderer
|
|
400
470
|
});
|
|
471
|
+
}
|
|
472
|
+
return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
|
|
473
|
+
customCellRenderer: col.cellRenderer,
|
|
474
|
+
cellRenderer: cellRenderer
|
|
475
|
+
});
|
|
476
|
+
};
|
|
477
|
+
|
|
478
|
+
// 获取表格列定义
|
|
479
|
+
var getTableColumns = function getTableColumns(rowDataList) {
|
|
480
|
+
var data = rowDataList.length > 0 ? rowDataList[0] : {};
|
|
481
|
+
var columnProps = _react.default.Children.map(children, function (child, index) {
|
|
482
|
+
return _objectSpread({}, child.props);
|
|
483
|
+
});
|
|
484
|
+
var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
|
|
485
|
+
|
|
486
|
+
// 递归处理列配置(包括分组的 children)
|
|
487
|
+
var processColumnDefRecursively = function processColumnDefRecursively(col) {
|
|
488
|
+
// 如果有 children(分组列),递归处理每个子列
|
|
489
|
+
if (col.children && Array.isArray(col.children)) {
|
|
490
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
491
|
+
children: col.children.map(function (child) {
|
|
492
|
+
return processColumnDefRecursively(child);
|
|
493
|
+
})
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
// 处理普通列
|
|
498
|
+
return processColumnConfig(col, data);
|
|
499
|
+
};
|
|
500
|
+
columnDefs = columnDefs.map(function (col) {
|
|
501
|
+
return processColumnDefRecursively(col);
|
|
401
502
|
});
|
|
402
503
|
extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].map(function (column) {
|
|
403
504
|
columnDefs.push({
|
|
@@ -472,7 +573,14 @@ function AgGridPlus(props) {
|
|
|
472
573
|
};
|
|
473
574
|
}, [propsRowSelection, enableClickSelection]);
|
|
474
575
|
var onGridReady = (0, _react.useCallback)(function (params) {
|
|
475
|
-
var _apiRef$current3;
|
|
576
|
+
var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$current3;
|
|
577
|
+
console.log('[AgGridPlus] onGridReady 被调用:', {
|
|
578
|
+
hasColumnSchemeManager: !!columnSchemeManager,
|
|
579
|
+
hasCurrentScheme: !!(columnSchemeManager !== null && columnSchemeManager !== void 0 && columnSchemeManager.currentScheme),
|
|
580
|
+
currentSchemeId: columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$3 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$3 === void 0 ? void 0 : _columnSchemeManager$3.id,
|
|
581
|
+
currentSchemeName: columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$4 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$4 === void 0 ? void 0 : _columnSchemeManager$4.name,
|
|
582
|
+
hasColumnConfig: !!(columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$5 = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$5 !== void 0 && _columnSchemeManager$5.columnConfig)
|
|
583
|
+
});
|
|
476
584
|
apiRef.current = params.api;
|
|
477
585
|
onReady && onReady(params);
|
|
478
586
|
///@ts-ignore
|
|
@@ -480,7 +588,10 @@ function AgGridPlus(props) {
|
|
|
480
588
|
setColumnState((_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 ? void 0 : _apiRef$current3.getColumnState());
|
|
481
589
|
sortChanged(params.api);
|
|
482
590
|
setReady(true);
|
|
483
|
-
|
|
591
|
+
|
|
592
|
+
// 注意: 方案应用已由 useEffect 处理,无需在这里重复应用
|
|
593
|
+
// useEffect 会在 apiRef 和 currentScheme 都准备好时自动应用方案
|
|
594
|
+
}, [dataSource, columnSchemeManager]);
|
|
484
595
|
var onRequest = (0, _react.useCallback)(function (queryFilter) {
|
|
485
596
|
if (!requestRef.current) return;
|
|
486
597
|
setLoading(true);
|
|
@@ -814,21 +925,34 @@ function AgGridPlus(props) {
|
|
|
814
925
|
};
|
|
815
926
|
var colDefs = (0, _react.useMemo)(function () {
|
|
816
927
|
var columnDefs = getTableColumns(rowData);
|
|
817
|
-
|
|
818
|
-
|
|
928
|
+
|
|
929
|
+
// 递归应用 columnCellClass 配置
|
|
930
|
+
var applyCellConfig = function applyCellConfig(col) {
|
|
931
|
+
// 如果有 children,递归处理
|
|
932
|
+
if (col.children && Array.isArray(col.children)) {
|
|
933
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
934
|
+
children: col.children.map(applyCellConfig).filter(function (x) {
|
|
935
|
+
return !x.hideInTable;
|
|
936
|
+
})
|
|
937
|
+
});
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
// 处理普通列
|
|
941
|
+
var cellConfig = columnCellClass[col.field];
|
|
819
942
|
if (cellConfig) {
|
|
820
943
|
if (cellConfig.cellClass) {
|
|
821
|
-
|
|
944
|
+
col.cellClass = cellConfig.cellClass;
|
|
822
945
|
}
|
|
823
946
|
if (cellConfig.groupName) {
|
|
824
|
-
|
|
947
|
+
col.groupName = cellConfig.groupName;
|
|
825
948
|
}
|
|
826
949
|
if (cellConfig.suppressHeaderFilterButton !== undefined) {
|
|
827
|
-
|
|
950
|
+
col.suppressHeaderFilterButton = !cellConfig.suppressHeaderFilterButton;
|
|
828
951
|
}
|
|
829
952
|
}
|
|
830
|
-
return
|
|
831
|
-
}
|
|
953
|
+
return col;
|
|
954
|
+
};
|
|
955
|
+
columnDefs = columnDefs.map(applyCellConfig).filter(function (x) {
|
|
832
956
|
return !x.hideInTable;
|
|
833
957
|
});
|
|
834
958
|
var processedColumns = (0, _processColumnGroups.default)(columnDefs);
|
|
@@ -991,8 +1115,8 @@ function AgGridPlus(props) {
|
|
|
991
1115
|
onDragStopped: function onDragStopped(e) {
|
|
992
1116
|
if (apiRef.current) {
|
|
993
1117
|
var _apiRef$current7;
|
|
994
|
-
var
|
|
995
|
-
setColumnState(
|
|
1118
|
+
var _columnState2 = (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 ? void 0 : _apiRef$current7.getColumnState();
|
|
1119
|
+
setColumnState(_columnState2);
|
|
996
1120
|
|
|
997
1121
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
998
1122
|
}
|
|
@@ -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
|
-
|
|
136
|
+
columnConfig: currentColumnState
|
|
137
137
|
});
|
|
138
138
|
case 9:
|
|
139
139
|
_antd.message.success('保存成功');
|