@nokecy/qc-ui 1.0.82 → 1.0.84
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 +252 -121
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +19 -9
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +25 -3
- 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 +253 -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 +252 -121
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +19 -10
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +25 -3
- 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 +254 -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,121 @@ 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
|
+
// 等待 columnDefs 应用完成后再设置过滤器
|
|
335
|
+
// 原因: setGridOption("columnDefs") 会触发 Grid 重新渲染,可能重置内部状态
|
|
336
|
+
// 必须在下一个渲染周期后应用 filterModel,否则会被覆盖
|
|
337
|
+
if (currentScheme.filterModel) {
|
|
338
|
+
requestAnimationFrame(function () {
|
|
339
|
+
if (apiRef.current) {
|
|
340
|
+
console.log('[AgGridPlus] 应用过滤器状态:', currentScheme.filterModel);
|
|
341
|
+
apiRef.current.setFilterModel(currentScheme.filterModel);
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
// 2. 【重要修改】使用 columnConfig 时,不应用 columnState
|
|
348
|
+
// 原因:columnConfig 已经包含了完整的列配置(宽度、隐藏、顺序、分组等)
|
|
349
|
+
// 如果再应用 columnState,会导致分组子列被视为独立列,破坏分组结构
|
|
350
|
+
console.log('[AgGridPlus] useEffect: 使用 columnConfig,跳过 columnState 应用');
|
|
351
|
+
}
|
|
264
352
|
}, 10);
|
|
265
353
|
return function () {
|
|
266
354
|
return clearTimeout(timer);
|
|
267
355
|
};
|
|
268
|
-
}, [columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
356
|
+
}, [apiRef.current, columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
269
357
|
useEffect(function () {
|
|
270
358
|
setRowData(dataSource || propRowData || []);
|
|
271
359
|
}, [dataSource, propRowData]);
|
|
@@ -301,96 +389,116 @@ function AgGridPlus(props) {
|
|
|
301
389
|
return colDef.customCellRenderer(params);
|
|
302
390
|
};
|
|
303
391
|
|
|
304
|
-
//
|
|
305
|
-
var
|
|
306
|
-
var
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
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;
|
|
319
409
|
});
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
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) {
|
|
325
414
|
var match = valueEnum.find(function (item) {
|
|
326
415
|
return item.value == params.value;
|
|
327
416
|
});
|
|
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
|
-
},
|
|
417
|
+
if (match) {
|
|
418
|
+
var color = match.color || '#ffffff';
|
|
419
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
375
420
|
style: {
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
421
|
+
color: color,
|
|
422
|
+
backgroundColor: 'transparent',
|
|
423
|
+
fontWeight: 500
|
|
379
424
|
}
|
|
380
|
-
},
|
|
425
|
+
}, match.label);
|
|
381
426
|
}
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
427
|
+
return params.value;
|
|
428
|
+
},
|
|
429
|
+
filterParams: _objectSpread(_objectSpread({}, col.filterParams || {}), {}, {
|
|
430
|
+
valueFormatter: valueFormatter
|
|
431
|
+
}),
|
|
432
|
+
searchComponent: 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.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), {}, {
|
|
391
468
|
customCellRenderer: col.cellRenderer,
|
|
392
469
|
cellRenderer: cellRenderer
|
|
393
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.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);
|
|
394
502
|
});
|
|
395
503
|
extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].map(function (column) {
|
|
396
504
|
columnDefs.push({
|
|
@@ -465,7 +573,14 @@ function AgGridPlus(props) {
|
|
|
465
573
|
};
|
|
466
574
|
}, [propsRowSelection, enableClickSelection]);
|
|
467
575
|
var onGridReady = useCallback(function (params) {
|
|
468
|
-
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
|
+
});
|
|
469
584
|
apiRef.current = params.api;
|
|
470
585
|
onReady && onReady(params);
|
|
471
586
|
///@ts-ignore
|
|
@@ -473,7 +588,10 @@ function AgGridPlus(props) {
|
|
|
473
588
|
setColumnState((_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 ? void 0 : _apiRef$current3.getColumnState());
|
|
474
589
|
sortChanged(params.api);
|
|
475
590
|
setReady(true);
|
|
476
|
-
|
|
591
|
+
|
|
592
|
+
// 注意: 方案应用已由 useEffect 处理,无需在这里重复应用
|
|
593
|
+
// useEffect 会在 apiRef 和 currentScheme 都准备好时自动应用方案
|
|
594
|
+
}, [dataSource, columnSchemeManager]);
|
|
477
595
|
var onRequest = useCallback(function (queryFilter) {
|
|
478
596
|
if (!requestRef.current) return;
|
|
479
597
|
setLoading(true);
|
|
@@ -807,21 +925,34 @@ function AgGridPlus(props) {
|
|
|
807
925
|
};
|
|
808
926
|
var colDefs = useMemo(function () {
|
|
809
927
|
var columnDefs = getTableColumns(rowData);
|
|
810
|
-
|
|
811
|
-
|
|
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];
|
|
812
942
|
if (cellConfig) {
|
|
813
943
|
if (cellConfig.cellClass) {
|
|
814
|
-
|
|
944
|
+
col.cellClass = cellConfig.cellClass;
|
|
815
945
|
}
|
|
816
946
|
if (cellConfig.groupName) {
|
|
817
|
-
|
|
947
|
+
col.groupName = cellConfig.groupName;
|
|
818
948
|
}
|
|
819
949
|
if (cellConfig.suppressHeaderFilterButton !== undefined) {
|
|
820
|
-
|
|
950
|
+
col.suppressHeaderFilterButton = !cellConfig.suppressHeaderFilterButton;
|
|
821
951
|
}
|
|
822
952
|
}
|
|
823
|
-
return
|
|
824
|
-
}
|
|
953
|
+
return col;
|
|
954
|
+
};
|
|
955
|
+
columnDefs = columnDefs.map(applyCellConfig).filter(function (x) {
|
|
825
956
|
return !x.hideInTable;
|
|
826
957
|
});
|
|
827
958
|
var processedColumns = processColumnGroups(columnDefs);
|
|
@@ -984,8 +1115,8 @@ function AgGridPlus(props) {
|
|
|
984
1115
|
onDragStopped: function onDragStopped(e) {
|
|
985
1116
|
if (apiRef.current) {
|
|
986
1117
|
var _apiRef$current7;
|
|
987
|
-
var
|
|
988
|
-
setColumnState(
|
|
1118
|
+
var _columnState2 = (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 ? void 0 : _apiRef$current7.getColumnState();
|
|
1119
|
+
setColumnState(_columnState2);
|
|
989
1120
|
|
|
990
1121
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
991
1122
|
}
|
|
@@ -13,7 +13,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
13
13
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
14
14
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
15
15
|
import React, { useState, useCallback, useMemo } from 'react';
|
|
16
|
-
import {
|
|
16
|
+
import { Tabs, Button, Input, Space, List, message, Popconfirm, Tag, Tooltip } from 'antd';
|
|
17
|
+
import DraggableModal from "../../../draggableModal";
|
|
17
18
|
import { EditOutlined, DeleteOutlined, StarOutlined, StarFilled, HolderOutlined } from '@ant-design/icons';
|
|
18
19
|
import { DndProvider, useDrag, useDrop } from 'react-dnd';
|
|
19
20
|
import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
@@ -194,7 +195,7 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
|
|
|
194
195
|
case 0:
|
|
195
196
|
_context.prev = 0;
|
|
196
197
|
if (!currentScheme) {
|
|
197
|
-
_context.next =
|
|
198
|
+
_context.next = 7;
|
|
198
199
|
break;
|
|
199
200
|
}
|
|
200
201
|
_context.next = 4;
|
|
@@ -202,24 +203,32 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
|
|
|
202
203
|
itemsOrder: editingOrder
|
|
203
204
|
});
|
|
204
205
|
case 4:
|
|
206
|
+
message.success('已应用新顺序');
|
|
207
|
+
_context.next = 10;
|
|
208
|
+
break;
|
|
209
|
+
case 7:
|
|
210
|
+
_context.next = 9;
|
|
211
|
+
return createScheme('默认方案', editingOrder);
|
|
212
|
+
case 9:
|
|
213
|
+
message.success('已自动创建并应用默认方案');
|
|
214
|
+
case 10:
|
|
205
215
|
// 应用顺序到表单
|
|
206
216
|
onOrderChange(editingOrder);
|
|
207
|
-
message.success('已应用新顺序');
|
|
208
217
|
|
|
209
218
|
// 关闭弹窗,让用户看到效果
|
|
210
219
|
onClose();
|
|
211
|
-
_context.next =
|
|
220
|
+
_context.next = 17;
|
|
212
221
|
break;
|
|
213
|
-
case
|
|
214
|
-
_context.prev =
|
|
222
|
+
case 14:
|
|
223
|
+
_context.prev = 14;
|
|
215
224
|
_context.t0 = _context["catch"](0);
|
|
216
225
|
message.error(_context.t0.message || '应用失败');
|
|
217
|
-
case
|
|
226
|
+
case 17:
|
|
218
227
|
case "end":
|
|
219
228
|
return _context.stop();
|
|
220
229
|
}
|
|
221
|
-
}, _callee, null, [[0,
|
|
222
|
-
})), [editingOrder, onOrderChange, currentScheme, saveScheme, onClose]);
|
|
230
|
+
}, _callee, null, [[0, 14]]);
|
|
231
|
+
})), [editingOrder, onOrderChange, currentScheme, saveScheme, createScheme, onClose]);
|
|
223
232
|
|
|
224
233
|
/**
|
|
225
234
|
* 保存为新方案
|
|
@@ -437,7 +446,7 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
|
|
|
437
446
|
return _ref9.apply(this, arguments);
|
|
438
447
|
};
|
|
439
448
|
}(), [loadScheme, schemes, onOrderChange]);
|
|
440
|
-
return /*#__PURE__*/React.createElement(
|
|
449
|
+
return /*#__PURE__*/React.createElement(DraggableModal, {
|
|
441
450
|
title: "\u67E5\u8BE2\u65B9\u6848\u8BBE\u7F6E",
|
|
442
451
|
open: visible,
|
|
443
452
|
onCancel: onClose,
|
|
@@ -324,18 +324,40 @@ export function useQuerySchemes(config) {
|
|
|
324
324
|
_context5.next = 12;
|
|
325
325
|
return saveSchemesToStorage(updatedSchemes);
|
|
326
326
|
case 12:
|
|
327
|
+
// 自动激活新创建的方案
|
|
328
|
+
setCurrentScheme(newScheme);
|
|
329
|
+
setIsDirty(false);
|
|
330
|
+
|
|
331
|
+
// 保存当前方案ID,用于刷新后恢复
|
|
332
|
+
if (!storageAdapter.saveCurrentSchemeId) {
|
|
333
|
+
_context5.next = 23;
|
|
334
|
+
break;
|
|
335
|
+
}
|
|
336
|
+
_context5.prev = 15;
|
|
337
|
+
_context5.next = 18;
|
|
338
|
+
return storageAdapter.saveCurrentSchemeId(gridId, newScheme.id);
|
|
339
|
+
case 18:
|
|
340
|
+
_context5.next = 23;
|
|
341
|
+
break;
|
|
342
|
+
case 20:
|
|
343
|
+
_context5.prev = 20;
|
|
344
|
+
_context5.t0 = _context5["catch"](15);
|
|
345
|
+
console.error('[useQuerySchemes] 保存当前方案ID失败:', _context5.t0);
|
|
346
|
+
case 23:
|
|
347
|
+
// 触发方案变更回调
|
|
348
|
+
onSchemeChange === null || onSchemeChange === void 0 || onSchemeChange(newScheme);
|
|
327
349
|
onSchemeSave === null || onSchemeSave === void 0 || onSchemeSave(newScheme);
|
|
328
350
|
return _context5.abrupt("return", newScheme);
|
|
329
|
-
case
|
|
351
|
+
case 26:
|
|
330
352
|
case "end":
|
|
331
353
|
return _context5.stop();
|
|
332
354
|
}
|
|
333
|
-
}, _callee5);
|
|
355
|
+
}, _callee5, null, [[15, 20]]);
|
|
334
356
|
}));
|
|
335
357
|
return function (_x4, _x5, _x6) {
|
|
336
358
|
return _ref5.apply(this, arguments);
|
|
337
359
|
};
|
|
338
|
-
}(), [schemes, saveSchemesToStorage, onSchemeSave]);
|
|
360
|
+
}(), [schemes, gridId, storageAdapter, saveSchemesToStorage, onSchemeChange, onSchemeSave]);
|
|
339
361
|
|
|
340
362
|
/**
|
|
341
363
|
* 更新方案信息(不影响 itemsOrder)
|
|
@@ -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('保存成功');
|