@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.
- 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 -130
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
- 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.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +210 -250
- 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 +5 -13
- 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 -130
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
- 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.d.ts +1 -1
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +209 -249
- 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 +5 -13
- 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
|
-
if (!currentState) return;
|
|
241
|
-
setColumnCellClass(handelgridPlusColumnState(currentState));
|
|
242
|
-
var timer = setTimeout(function () {
|
|
243
|
-
var _apiRef$current;
|
|
244
|
-
(_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 || _apiRef$current.applyColumnState({
|
|
245
|
-
state: currentState,
|
|
246
|
-
applyOrder: true
|
|
247
|
-
});
|
|
248
|
-
}, 10);
|
|
249
|
-
return function () {
|
|
250
|
-
return clearTimeout(timer);
|
|
251
|
-
};
|
|
252
|
-
}, [gridPlusColumnState, gridKey]);
|
|
242
|
+
var _columnSchemeManager$;
|
|
243
|
+
if (!gridKey || !apiRef.current) return;
|
|
253
244
|
|
|
254
|
-
|
|
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]);
|
|
278
|
+
|
|
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({
|
|
@@ -464,9 +565,15 @@ function AgGridPlus(props) {
|
|
|
464
565
|
enableClickSelection: false
|
|
465
566
|
};
|
|
466
567
|
}, [propsRowSelection, enableClickSelection]);
|
|
467
|
-
console.log('[AgGridPlus] rowSelection config:', JSON.stringify(rowSelectionConfig));
|
|
468
568
|
var onGridReady = useCallback(function (params) {
|
|
469
|
-
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
|
+
});
|
|
470
577
|
apiRef.current = params.api;
|
|
471
578
|
onReady && onReady(params);
|
|
472
579
|
///@ts-ignore
|
|
@@ -474,7 +581,10 @@ function AgGridPlus(props) {
|
|
|
474
581
|
setColumnState((_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 ? void 0 : _apiRef$current3.getColumnState());
|
|
475
582
|
sortChanged(params.api);
|
|
476
583
|
setReady(true);
|
|
477
|
-
|
|
584
|
+
|
|
585
|
+
// 注意: 方案应用已由 useEffect 处理,无需在这里重复应用
|
|
586
|
+
// useEffect 会在 apiRef 和 currentScheme 都准备好时自动应用方案
|
|
587
|
+
}, [dataSource, columnSchemeManager]);
|
|
478
588
|
var onRequest = useCallback(function (queryFilter) {
|
|
479
589
|
if (!requestRef.current) return;
|
|
480
590
|
setLoading(true);
|
|
@@ -577,9 +687,6 @@ function AgGridPlus(props) {
|
|
|
577
687
|
if (prevDeps.paginationCurrent !== pagination.current) changedDeps.push('pagination.current');
|
|
578
688
|
if (prevDeps.paginationPageSize !== pagination.pageSize) changedDeps.push('pagination.pageSize');
|
|
579
689
|
if (prevDeps.stableSortColumn !== stableSortColumn) changedDeps.push('stableSortColumn');
|
|
580
|
-
if (changedDeps.length > 0) {
|
|
581
|
-
console.log('🔍 useEffect 依赖项变化:', changedDeps.join(', '));
|
|
582
|
-
}
|
|
583
690
|
depsRef.current = {
|
|
584
691
|
ready: ready,
|
|
585
692
|
stableQueryFilter: stableQueryFilter,
|
|
@@ -811,21 +918,34 @@ function AgGridPlus(props) {
|
|
|
811
918
|
};
|
|
812
919
|
var colDefs = useMemo(function () {
|
|
813
920
|
var columnDefs = getTableColumns(rowData);
|
|
814
|
-
|
|
815
|
-
|
|
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];
|
|
816
935
|
if (cellConfig) {
|
|
817
936
|
if (cellConfig.cellClass) {
|
|
818
|
-
|
|
937
|
+
col.cellClass = cellConfig.cellClass;
|
|
819
938
|
}
|
|
820
939
|
if (cellConfig.groupName) {
|
|
821
|
-
|
|
940
|
+
col.groupName = cellConfig.groupName;
|
|
822
941
|
}
|
|
823
942
|
if (cellConfig.suppressHeaderFilterButton !== undefined) {
|
|
824
|
-
|
|
943
|
+
col.suppressHeaderFilterButton = !cellConfig.suppressHeaderFilterButton;
|
|
825
944
|
}
|
|
826
945
|
}
|
|
827
|
-
return
|
|
828
|
-
}
|
|
946
|
+
return col;
|
|
947
|
+
};
|
|
948
|
+
columnDefs = columnDefs.map(applyCellConfig).filter(function (x) {
|
|
829
949
|
return !x.hideInTable;
|
|
830
950
|
});
|
|
831
951
|
var processedColumns = processColumnGroups(columnDefs);
|
|
@@ -845,11 +965,6 @@ function AgGridPlus(props) {
|
|
|
845
965
|
order: (_col$searchSort = col.searchSort) !== null && _col$searchSort !== void 0 ? _col$searchSort : 999
|
|
846
966
|
}, col);
|
|
847
967
|
})) || [];
|
|
848
|
-
console.log('[AgGridPlus] queryFormItems构建:', {
|
|
849
|
-
allColDefsLength: allColDefs === null || allColDefs === void 0 ? void 0 : allColDefs.length,
|
|
850
|
-
queryFormItemsLength: items.length,
|
|
851
|
-
queryFormItems: items
|
|
852
|
-
});
|
|
853
968
|
return items;
|
|
854
969
|
}, [allColDefs]);
|
|
855
970
|
|
|
@@ -993,8 +1108,8 @@ function AgGridPlus(props) {
|
|
|
993
1108
|
onDragStopped: function onDragStopped(e) {
|
|
994
1109
|
if (apiRef.current) {
|
|
995
1110
|
var _apiRef$current7;
|
|
996
|
-
var
|
|
997
|
-
setColumnState(
|
|
1111
|
+
var _columnState2 = (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 ? void 0 : _apiRef$current7.getColumnState();
|
|
1112
|
+
setColumnState(_columnState2);
|
|
998
1113
|
|
|
999
1114
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
1000
1115
|
}
|