@nokecy/qc-ui 1.0.99 → 1.1.1
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/ConfirmPro/index.js +1 -1
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +49 -22
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +2 -14
- package/dist/cjs/ag-grid-plus/context/useSchemeManager.js +52 -84
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +27 -30
- package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.js +0 -2
- package/dist/cjs/ag-grid-plus/shared/storage/localStorageAdapter.js +0 -2
- package/dist/cjs/ag-grid-plus/utils/logger.js +1 -2
- package/dist/cjs/array-table/index.js +44 -61
- package/dist/cjs/components/RegexEditor/visualizer/astToRailroad.js +1 -7
- package/dist/cjs/dashboard/dashboard/index.js +0 -1
- package/dist/cjs/dashboard/widget/selector/index.js +0 -3
- package/dist/cjs/deleteConfirm/index.js +1 -1
- package/dist/cjs/formDesigner/FormDesigner.js +1 -3
- package/dist/cjs/formDesigner/widgets/SchemaEditorWidget.js +0 -1
- package/dist/cjs/generatedListPage/PerformanceMonitor.js +0 -3
- package/dist/cjs/generatedListPage/RequestManager.js +9 -11
- package/dist/cjs/standardFormDialog/PortalManager.js +2 -10
- package/dist/cjs/standardFormDialog/withStandardForm.js +0 -2
- package/dist/cjs/toolBar/index.js +1 -1
- package/dist/esm/ConfirmPro/index.js +1 -1
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +49 -22
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +2 -14
- package/dist/esm/ag-grid-plus/context/useSchemeManager.js +52 -84
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +27 -30
- package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +0 -2
- package/dist/esm/ag-grid-plus/shared/storage/localStorageAdapter.js +0 -2
- package/dist/esm/ag-grid-plus/utils/logger.js +1 -2
- package/dist/esm/array-table/index.js +44 -61
- package/dist/esm/components/RegexEditor/visualizer/astToRailroad.js +1 -7
- package/dist/esm/dashboard/dashboard/index.js +0 -1
- package/dist/esm/dashboard/widget/selector/index.js +0 -3
- package/dist/esm/deleteConfirm/index.js +1 -1
- package/dist/esm/formDesigner/FormDesigner.js +1 -3
- package/dist/esm/formDesigner/widgets/SchemaEditorWidget.js +0 -1
- package/dist/esm/generatedListPage/PerformanceMonitor.js +0 -3
- package/dist/esm/generatedListPage/RequestManager.js +9 -11
- package/dist/esm/standardFormDialog/PortalManager.js +2 -10
- package/dist/esm/standardFormDialog/withStandardForm.js +0 -2
- package/dist/esm/toolBar/index.js +1 -1
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +2 -1
|
@@ -17,8 +17,6 @@ var _preview = _interopRequireDefault(require("./preview"));
|
|
|
17
17
|
var _antd = require("antd");
|
|
18
18
|
var _setting = _interopRequireDefault(require("../ag-grid-plus/setting"));
|
|
19
19
|
var _gridContext = require("../ag-grid-plus/context/gridContext");
|
|
20
|
-
var _useSchemeManager = require("../ag-grid-plus/context/useSchemeManager");
|
|
21
|
-
var _localStorageAdapter = require("../ag-grid-plus/shared/storage/localStorageAdapter");
|
|
22
20
|
var _columnGroupUtils = require("../ag-grid-plus/setting/columnGroupUtils");
|
|
23
21
|
var _theme = require("../ag-grid-plus/theme");
|
|
24
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -38,7 +36,14 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
38
36
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // 导入 AG-Grid v33 主题
|
|
39
37
|
//@ts-ignore
|
|
40
38
|
var ArrayTableInner = (0, _react2.observer)(function (props) {
|
|
41
|
-
var height = props.height
|
|
39
|
+
var height = props.height,
|
|
40
|
+
gridKey = props.gridKey;
|
|
41
|
+
|
|
42
|
+
// 【新增】运行时验证 gridKey
|
|
43
|
+
if (!gridKey) {
|
|
44
|
+
console.error('[ArrayTable] gridKey 是必需的属性,用于方案管理和状态持久化');
|
|
45
|
+
throw new Error('[ArrayTable] gridKey 属性是必需的。请在 x-component-props 中提供 gridKey');
|
|
46
|
+
}
|
|
42
47
|
var _useState = (0, _react.useState)(false),
|
|
43
48
|
_useState2 = _slicedToArray(_useState, 2),
|
|
44
49
|
isAdd = _useState2[0],
|
|
@@ -71,10 +76,12 @@ var ArrayTableInner = (0, _react2.observer)(function (props) {
|
|
|
71
76
|
var _useRowDrag = (0, _hooks.useRowDrag)(field),
|
|
72
77
|
handleRowDragMove = _useRowDrag.handleRowDragMove;
|
|
73
78
|
|
|
74
|
-
//
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
79
|
+
// 直接使用 Context 获取方案管理状态
|
|
80
|
+
// ArrayTable 外层已经提供了完整的 GridPlusContext.Provider
|
|
81
|
+
var context = (0, _react.useContext)(_gridContext.GridPlusContext);
|
|
82
|
+
var _ref = context || {},
|
|
83
|
+
currentSchemes = _ref.currentSchemes,
|
|
84
|
+
columnSchemes = _ref.columnSchemes;
|
|
78
85
|
|
|
79
86
|
// 获取当前表格的激活方案
|
|
80
87
|
var currentScheme = (0, _react.useMemo)(function () {
|
|
@@ -115,17 +122,8 @@ var ArrayTableInner = (0, _react2.observer)(function (props) {
|
|
|
115
122
|
firstCol: (_currentScheme$column = currentScheme.columnConfig[0]) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.field,
|
|
116
123
|
updatedAt: currentScheme.updatedAt
|
|
117
124
|
});
|
|
118
|
-
console.log('[ArrayTable] 方案恢复检查:', {
|
|
119
|
-
schemeId: currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id,
|
|
120
|
-
schemeName: currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.name,
|
|
121
|
-
configHash: configHash,
|
|
122
|
-
lastHash: lastAppliedRef.current.configHash,
|
|
123
|
-
shouldApply: configHash !== lastAppliedRef.current.configHash
|
|
124
|
-
});
|
|
125
|
-
|
|
126
125
|
// 【关键】检查配置是否真正变化,避免重复应用
|
|
127
126
|
if (configHash === lastAppliedRef.current.configHash) {
|
|
128
|
-
console.log('[ArrayTable] 配置未变化,跳过应用');
|
|
129
127
|
return;
|
|
130
128
|
}
|
|
131
129
|
|
|
@@ -141,12 +139,9 @@ var ArrayTableInner = (0, _react2.observer)(function (props) {
|
|
|
141
139
|
state: columnState,
|
|
142
140
|
applyOrder: true // 强制应用列顺序
|
|
143
141
|
});
|
|
144
|
-
console.log('[ArrayTable] 方案已成功应用');
|
|
145
|
-
|
|
146
142
|
// 如果方案中包含过滤器配置,也一并应用
|
|
147
143
|
if (currentScheme.filterModel) {
|
|
148
144
|
gridApiState.setFilterModel(currentScheme.filterModel);
|
|
149
|
-
console.log('[ArrayTable] 过滤器已应用');
|
|
150
145
|
}
|
|
151
146
|
|
|
152
147
|
// 记录本次应用的配置哈希
|
|
@@ -159,19 +154,14 @@ var ArrayTableInner = (0, _react2.observer)(function (props) {
|
|
|
159
154
|
// 使用 requestAnimationFrame 延迟应用
|
|
160
155
|
var rafId = requestAnimationFrame(function () {
|
|
161
156
|
try {
|
|
162
|
-
console.log('[ArrayTable] 正在应用方案:', currentScheme.name);
|
|
163
|
-
|
|
164
157
|
// 【关键检测】检查是否包含分组配置
|
|
165
158
|
var hasGroups = currentScheme.columnConfig.some(function (item) {
|
|
166
159
|
return item.type === 'group';
|
|
167
160
|
});
|
|
168
|
-
console.log('[ArrayTable] 是否包含分组:', hasGroups);
|
|
169
|
-
|
|
170
161
|
// 【条件更新】只有在包含分组时才更新 columnDefs
|
|
171
162
|
// 原因:array-table 的列是动态生成的,无分组时不应该覆盖动态列定义
|
|
172
163
|
if (hasGroups) {
|
|
173
164
|
var gridColumnDefs = (0, _columnGroupUtils.flatConfigToGridState)(currentScheme.columnConfig);
|
|
174
|
-
console.log('[ArrayTable] 检测到分组,更新 columnDefs');
|
|
175
165
|
gridApiState.setGridOption('columnDefs', gridColumnDefs);
|
|
176
166
|
|
|
177
167
|
// 等待 columnDefs 更新完成后再应用列状态
|
|
@@ -184,7 +174,7 @@ var ArrayTableInner = (0, _react2.observer)(function (props) {
|
|
|
184
174
|
}, 100);
|
|
185
175
|
} else {
|
|
186
176
|
// 无分组时,直接应用列状态即可
|
|
187
|
-
|
|
177
|
+
|
|
188
178
|
applyColumnStateAndFilter();
|
|
189
179
|
}
|
|
190
180
|
} catch (error) {
|
|
@@ -311,8 +301,8 @@ var ArrayTableInner = (0, _react2.observer)(function (props) {
|
|
|
311
301
|
' <span data-ref="eSortAsc" class="ag-header-icon ag-sort-ascending-icon"></span>' + ' <span data-ref="eSortDesc" class="ag-header-icon ag-sort-descending-icon"></span>' + ' <span data-ref="eSortNone" class="ag-header-icon ag-sort-none-icon"></span>' + " </div>" + "</div>"
|
|
312
302
|
}
|
|
313
303
|
},
|
|
314
|
-
getRowId: function getRowId(
|
|
315
|
-
var data =
|
|
304
|
+
getRowId: function getRowId(_ref2) {
|
|
305
|
+
var data = _ref2.data;
|
|
316
306
|
return data._id || data.id;
|
|
317
307
|
}
|
|
318
308
|
// rowDragEntireRow={true}
|
|
@@ -346,43 +336,36 @@ var ArrayTableInner = (0, _react2.observer)(function (props) {
|
|
|
346
336
|
ArrayTableInner.displayName = "ArrayTableInner";
|
|
347
337
|
|
|
348
338
|
/**
|
|
349
|
-
* ArrayTable 组件
|
|
339
|
+
* ArrayTable 组件
|
|
340
|
+
*
|
|
341
|
+
* 注意:需要在外部使用 GridPlusContext.Provider 包裹以提供方案管理功能
|
|
350
342
|
*
|
|
351
|
-
*
|
|
343
|
+
* @example
|
|
344
|
+
* ```tsx
|
|
345
|
+
* const adapter = useMemo(() => new LocalStorageSchemeAdapter({
|
|
346
|
+
* storageKey: `array-table-schemes-${gridKey}`
|
|
347
|
+
* }), [gridKey]);
|
|
348
|
+
*
|
|
349
|
+
* const schemeManager = useSchemeManager({ adapter, autoLoad: true });
|
|
350
|
+
*
|
|
351
|
+
* const contextValue = useMemo(() => ({
|
|
352
|
+
* extensibleColumns: [],
|
|
353
|
+
* columnState: undefined,
|
|
354
|
+
* onSaveColumnState: () => {},
|
|
355
|
+
* applyToGlobal: () => {},
|
|
356
|
+
* resetCurrent: () => {},
|
|
357
|
+
* resetAll: () => {},
|
|
358
|
+
* queryFormItems: [],
|
|
359
|
+
* ...schemeManager
|
|
360
|
+
* }), [schemeManager]);
|
|
361
|
+
*
|
|
362
|
+
* <GridPlusContext.Provider value={contextValue}>
|
|
363
|
+
* <ArrayTable gridKey="my-table" height={400} />
|
|
364
|
+
* </GridPlusContext.Provider>
|
|
365
|
+
* ```
|
|
352
366
|
*/
|
|
353
367
|
//@ts-ignore
|
|
354
|
-
var ArrayTable =
|
|
355
|
-
// 创建 LocalStorage 适配器实例 (使用 useMemo 避免重复创建)
|
|
356
|
-
var adapter = (0, _react.useMemo)(function () {
|
|
357
|
-
return new _localStorageAdapter.LocalStorageSchemeAdapter({
|
|
358
|
-
storageKey: "array-table-schemes-".concat(props.gridKey || 'default'),
|
|
359
|
-
enableDebugLog: false
|
|
360
|
-
});
|
|
361
|
-
}, [props.gridKey]);
|
|
362
|
-
|
|
363
|
-
// 初始化方案管理器
|
|
364
|
-
var schemeManager = (0, _useSchemeManager.useSchemeManager)({
|
|
365
|
-
adapter: adapter,
|
|
366
|
-
autoLoad: true,
|
|
367
|
-
showErrorMessage: true
|
|
368
|
-
});
|
|
369
|
-
|
|
370
|
-
// 构建 Context Value
|
|
371
|
-
var contextValue = (0, _react.useMemo)(function () {
|
|
372
|
-
return _objectSpread({
|
|
373
|
-
extensibleColumns: [],
|
|
374
|
-
columnState: undefined,
|
|
375
|
-
onSaveColumnState: function onSaveColumnState() {},
|
|
376
|
-
applyToGlobal: function applyToGlobal() {},
|
|
377
|
-
resetCurrent: function resetCurrent() {},
|
|
378
|
-
resetAll: function resetAll() {},
|
|
379
|
-
queryFormItems: []
|
|
380
|
-
}, schemeManager);
|
|
381
|
-
}, [schemeManager]);
|
|
382
|
-
return /*#__PURE__*/_react.default.createElement(_gridContext.GridPlusContext.Provider, {
|
|
383
|
-
value: contextValue
|
|
384
|
-
}, /*#__PURE__*/_react.default.createElement(ArrayTableInner, props));
|
|
385
|
-
});
|
|
368
|
+
var ArrayTable = ArrayTableInner;
|
|
386
369
|
ArrayTable.displayName = "ArrayTable";
|
|
387
370
|
ArrayTable.Column = function () {
|
|
388
371
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null);
|
|
@@ -22,13 +22,7 @@ function convertASTToRailroad(ast) {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
// 调试日志
|
|
25
|
-
if (ast.type === 'Alternative' || ast.type === 'CharacterClass') {
|
|
26
|
-
console.log("\u5904\u7406 ".concat(ast.type, " \u8282\u70B9:"), {
|
|
27
|
-
type: ast.type,
|
|
28
|
-
expressions: ast.expressions,
|
|
29
|
-
isArray: Array.isArray(ast.expressions)
|
|
30
|
-
});
|
|
31
|
-
}
|
|
25
|
+
if (ast.type === 'Alternative' || ast.type === 'CharacterClass') {}
|
|
32
26
|
switch (ast.type) {
|
|
33
27
|
case 'RegExp':
|
|
34
28
|
// 正则表达式根节点,提取 body
|
|
@@ -344,7 +344,6 @@ var Dashboard = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
344
344
|
var res = (0, _utils3.formatLayout)(currentLayout);
|
|
345
345
|
(0, _utils3.copy)(JSON.stringify(res));
|
|
346
346
|
_antd.message.success('已复制布局数据到剪切板');
|
|
347
|
-
console.log('currentLayout', res);
|
|
348
347
|
}, [currentLayout]);
|
|
349
348
|
|
|
350
349
|
//默认存储
|
|
@@ -113,13 +113,10 @@ var WidgetSelector = function WidgetSelector(props) {
|
|
|
113
113
|
finData[key].visible = false;
|
|
114
114
|
}
|
|
115
115
|
});
|
|
116
|
-
console.log('finData', finData);
|
|
117
116
|
//已添加次数
|
|
118
117
|
currentLayout.forEach(function (item) {
|
|
119
118
|
var _finData$key;
|
|
120
119
|
var key = item.i.split('-')[0];
|
|
121
|
-
console.log('item.i', item.i);
|
|
122
|
-
console.log('finData[key]', finData[key]);
|
|
123
120
|
finData[key].length = finData[key].length ? ((_finData$key = finData[key]) === null || _finData$key === void 0 ? void 0 : _finData$key.length) + 1 : 1;
|
|
124
121
|
});
|
|
125
122
|
return finData;
|
|
@@ -63,9 +63,7 @@ var FormDesigner = function FormDesigner(props) {
|
|
|
63
63
|
var getComponents = function getComponents() {
|
|
64
64
|
var components = {};
|
|
65
65
|
businessComponents.map(function (x) {
|
|
66
|
-
if (!x.Behavior) {
|
|
67
|
-
console.log(x);
|
|
68
|
-
}
|
|
66
|
+
if (!x.Behavior) {}
|
|
69
67
|
components[x.Behavior[0].name] = x;
|
|
70
68
|
});
|
|
71
69
|
return components;
|
|
@@ -12,7 +12,6 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
12
12
|
// import MonacoEditor from 'react-monaco-editor';
|
|
13
13
|
|
|
14
14
|
var SchemaEditorWidget = exports.SchemaEditorWidget = function SchemaEditorWidget(props) {
|
|
15
|
-
console.log(JSON.stringify((0, _designableFormilyTransformer.transformToSchema)(props.tree), null, 2));
|
|
16
15
|
return /*#__PURE__*/_react.default.createElement(_designableReactSettingsForm.MonacoInput, _extends({}, props, {
|
|
17
16
|
value: JSON.stringify((0, _designableFormilyTransformer.transformToSchema)(props.tree), null, 2),
|
|
18
17
|
onChange: function onChange(value) {
|
|
@@ -208,9 +208,6 @@ var PerformanceDevTools = exports.PerformanceDevTools = function PerformanceDevT
|
|
|
208
208
|
}
|
|
209
209
|
var handleShowReport = function handleShowReport() {
|
|
210
210
|
var report = onGetReport();
|
|
211
|
-
console.group("\uD83D\uDE80 Performance Report: ".concat(componentName));
|
|
212
|
-
console.table(report);
|
|
213
|
-
console.groupEnd();
|
|
214
211
|
setShowDetails(!showDetails);
|
|
215
212
|
};
|
|
216
213
|
var getPerformanceColor = function getPerformanceColor(value, thresholds) {
|
|
@@ -210,32 +210,30 @@ var RequestManager = exports.RequestManager = /*#__PURE__*/function () {
|
|
|
210
210
|
case 0:
|
|
211
211
|
key = this.generateCacheKey(params); // 1. 检查缓存
|
|
212
212
|
if (!this.options.enableCache) {
|
|
213
|
-
_context3.next =
|
|
213
|
+
_context3.next = 5;
|
|
214
214
|
break;
|
|
215
215
|
}
|
|
216
216
|
cachedData = this.getFromCache(key);
|
|
217
217
|
if (!(cachedData !== null)) {
|
|
218
|
-
_context3.next =
|
|
218
|
+
_context3.next = 5;
|
|
219
219
|
break;
|
|
220
220
|
}
|
|
221
|
-
console.debug('[RequestManager] Cache hit:', key);
|
|
222
221
|
return _context3.abrupt("return", cachedData);
|
|
223
|
-
case
|
|
222
|
+
case 5:
|
|
224
223
|
if (!this.options.enableDedup) {
|
|
225
|
-
_context3.next =
|
|
224
|
+
_context3.next = 9;
|
|
226
225
|
break;
|
|
227
226
|
}
|
|
228
227
|
pending = this.pendingRequests.get(key);
|
|
229
228
|
if (!pending) {
|
|
230
|
-
_context3.next =
|
|
229
|
+
_context3.next = 9;
|
|
231
230
|
break;
|
|
232
231
|
}
|
|
233
|
-
console.debug('[RequestManager] Dedup request:', key);
|
|
234
232
|
return _context3.abrupt("return", pending.promise);
|
|
235
|
-
case
|
|
236
|
-
_context3.next =
|
|
233
|
+
case 9:
|
|
234
|
+
_context3.next = 11;
|
|
237
235
|
return this.waitForSlot();
|
|
238
|
-
case
|
|
236
|
+
case 11:
|
|
239
237
|
// 4. 创建新请求
|
|
240
238
|
abortController = new AbortController();
|
|
241
239
|
this.activeRequests++;
|
|
@@ -289,7 +287,7 @@ var RequestManager = exports.RequestManager = /*#__PURE__*/function () {
|
|
|
289
287
|
key: key
|
|
290
288
|
});
|
|
291
289
|
return _context3.abrupt("return", promise);
|
|
292
|
-
case
|
|
290
|
+
case 16:
|
|
293
291
|
case "end":
|
|
294
292
|
return _context3.stop();
|
|
295
293
|
}
|
|
@@ -74,7 +74,6 @@ var PortalManager = /*#__PURE__*/function () {
|
|
|
74
74
|
lastAccessedAt: now,
|
|
75
75
|
isOpen: true
|
|
76
76
|
});
|
|
77
|
-
console.debug("[PortalManager] Registered portal: ".concat(id));
|
|
78
77
|
}
|
|
79
78
|
|
|
80
79
|
/**
|
|
@@ -101,7 +100,6 @@ var PortalManager = /*#__PURE__*/function () {
|
|
|
101
100
|
if (portal) {
|
|
102
101
|
portal.isOpen = false;
|
|
103
102
|
portal.lastAccessedAt = Date.now();
|
|
104
|
-
console.debug("[PortalManager] Marked portal as closed: ".concat(id));
|
|
105
103
|
}
|
|
106
104
|
}
|
|
107
105
|
|
|
@@ -112,9 +110,7 @@ var PortalManager = /*#__PURE__*/function () {
|
|
|
112
110
|
}, {
|
|
113
111
|
key: "unregister",
|
|
114
112
|
value: function unregister(id) {
|
|
115
|
-
if (this.portals.delete(id)) {
|
|
116
|
-
console.debug("[PortalManager] Unregistered portal: ".concat(id));
|
|
117
|
-
}
|
|
113
|
+
if (this.portals.delete(id)) {}
|
|
118
114
|
}
|
|
119
115
|
|
|
120
116
|
/**
|
|
@@ -176,12 +172,9 @@ var PortalManager = /*#__PURE__*/function () {
|
|
|
176
172
|
if (shouldClean) {
|
|
177
173
|
_this.portals.delete(id);
|
|
178
174
|
cleanedCount++;
|
|
179
|
-
console.debug("[PortalManager] Cleaned up portal: ".concat(id));
|
|
180
175
|
}
|
|
181
176
|
});
|
|
182
|
-
if (cleanedCount > 0) {
|
|
183
|
-
console.info("[PortalManager] Cleanup completed: removed ".concat(cleanedCount, " portals"));
|
|
184
|
-
}
|
|
177
|
+
if (cleanedCount > 0) {}
|
|
185
178
|
}
|
|
186
179
|
|
|
187
180
|
/**
|
|
@@ -216,7 +209,6 @@ var PortalManager = /*#__PURE__*/function () {
|
|
|
216
209
|
key: "clear",
|
|
217
210
|
value: function clear() {
|
|
218
211
|
this.portals.clear();
|
|
219
|
-
console.info('[PortalManager] All portals cleared');
|
|
220
212
|
}
|
|
221
213
|
|
|
222
214
|
/**
|
|
@@ -86,7 +86,6 @@ var withStandardForm = exports.withStandardForm = function withStandardForm(conf
|
|
|
86
86
|
// 使用外部传入的schema配置
|
|
87
87
|
finalFormConfig = externalSchema.form;
|
|
88
88
|
finalFormSchema = externalSchema.schema;
|
|
89
|
-
console.log("\u2705 withStandardForm: ".concat(formId, " \u4F7F\u7528\u5916\u90E8Schema\u914D\u7F6E"));
|
|
90
89
|
} else {
|
|
91
90
|
// 构建表单 Schema(向后兼容)
|
|
92
91
|
finalFormSchema = {
|
|
@@ -138,7 +137,6 @@ var withStandardForm = exports.withStandardForm = function withStandardForm(conf
|
|
|
138
137
|
maxColumns: 2
|
|
139
138
|
}
|
|
140
139
|
};
|
|
141
|
-
console.log("\u2705 withStandardForm: ".concat(formId, " \u4F7F\u7528\u5185\u90E8\u6784\u5EFASchema"));
|
|
142
140
|
}
|
|
143
141
|
|
|
144
142
|
// 创建自定义的 useSchemaField hook
|
|
@@ -24,7 +24,7 @@ var ToolBar = function ToolBar(props) {
|
|
|
24
24
|
style: style,
|
|
25
25
|
offsetBottom: 2,
|
|
26
26
|
onChange: function onChange(affixed) {
|
|
27
|
-
return
|
|
27
|
+
return void 0;
|
|
28
28
|
},
|
|
29
29
|
target: getTargetContainer
|
|
30
30
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -314,13 +314,6 @@ function AgGridPlus(props) {
|
|
|
314
314
|
* 4. 使用 Promise 链和 requestAnimationFrame 解决竞态条件
|
|
315
315
|
*/
|
|
316
316
|
useEffect(function () {
|
|
317
|
-
console.log('[AgGridPlus] 方案应用 useEffect 触发:', {
|
|
318
|
-
hasGridKey: !!gridKey,
|
|
319
|
-
hasApiRef: !!apiRef.current,
|
|
320
|
-
hasDerivedColumnState: !!derivedColumnState,
|
|
321
|
-
derivedColumnStateLength: derivedColumnState === null || derivedColumnState === void 0 ? void 0 : derivedColumnState.length,
|
|
322
|
-
currentSchemeId: currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.id
|
|
323
|
-
});
|
|
324
317
|
if (!gridKey || !apiRef.current) return;
|
|
325
318
|
|
|
326
319
|
// 使用 Promise 链确保顺序执行,避免竞态条件
|
|
@@ -330,17 +323,11 @@ function AgGridPlus(props) {
|
|
|
330
323
|
|
|
331
324
|
// 1. 应用派生的列状态(使用 applyColumnState API)
|
|
332
325
|
if (derivedColumnState && derivedColumnState.length > 0) {
|
|
333
|
-
console.log('[AgGridPlus] 正在应用 derivedColumnState:', {
|
|
334
|
-
length: derivedColumnState.length,
|
|
335
|
-
firstState: derivedColumnState[0]
|
|
336
|
-
});
|
|
337
|
-
|
|
338
326
|
// 使用 applyColumnState 而不是 setGridOption("columnDefs")
|
|
339
327
|
apiRef.current.applyColumnState({
|
|
340
328
|
state: derivedColumnState,
|
|
341
329
|
applyOrder: true // 应用列顺序
|
|
342
330
|
});
|
|
343
|
-
console.log('[AgGridPlus] derivedColumnState 已应用');
|
|
344
331
|
}
|
|
345
332
|
|
|
346
333
|
// 2. 应用派生的列样式
|
|
@@ -366,9 +353,7 @@ function AgGridPlus(props) {
|
|
|
366
353
|
|
|
367
354
|
// 3. 应用过滤器(在列状态稳定后执行)
|
|
368
355
|
if (currentColumnScheme !== null && currentColumnScheme !== void 0 && currentColumnScheme.filterModel) {
|
|
369
|
-
console.log('[AgGridPlus] 正在应用 filterModel');
|
|
370
356
|
apiRef.current.setFilterModel(currentColumnScheme.filterModel);
|
|
371
|
-
console.log('[AgGridPlus] filterModel 已应用');
|
|
372
357
|
}
|
|
373
358
|
}).catch(function (error) {
|
|
374
359
|
if (!cancelled) {
|
|
@@ -381,7 +366,55 @@ function AgGridPlus(props) {
|
|
|
381
366
|
return function () {
|
|
382
367
|
cancelled = true;
|
|
383
368
|
};
|
|
384
|
-
}, [gridKey, currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.id, derivedColumnState
|
|
369
|
+
}, [gridKey, currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.id, derivedColumnState, ready // 添加 ready 依赖,确保 Grid 初始化完成后再应用方案
|
|
370
|
+
]);
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* 【新增】监听当前方案 ID 变化,当方案被删除时重置列状态
|
|
374
|
+
*
|
|
375
|
+
* 场景:
|
|
376
|
+
* - 用户删除当前正在使用的方案
|
|
377
|
+
* - currentColumnScheme?.id 从有值变为 null
|
|
378
|
+
*
|
|
379
|
+
* 行为:
|
|
380
|
+
* - 重置列状态为初始状态(默认顺序、宽度等)
|
|
381
|
+
* - 清除所有过滤器
|
|
382
|
+
* - 清除列样式配置
|
|
383
|
+
*
|
|
384
|
+
* 优势:
|
|
385
|
+
* - 符合单向数据流架构
|
|
386
|
+
* - 适用于所有方案切换场景(删除/取消选择)
|
|
387
|
+
* - 用户体验好,自动恢复到初始状态
|
|
388
|
+
*/
|
|
389
|
+
var prevSchemeIdRef = useRef(currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.id);
|
|
390
|
+
useEffect(function () {
|
|
391
|
+
if (!gridKey || !apiRef.current || !ready) return;
|
|
392
|
+
var prevSchemeId = prevSchemeIdRef.current;
|
|
393
|
+
var currentSchemeId = currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.id;
|
|
394
|
+
// 检测方案被删除:从有值变为 null/undefined
|
|
395
|
+
if (prevSchemeId && !currentSchemeId) {
|
|
396
|
+
Promise.resolve().then(function () {
|
|
397
|
+
if (!apiRef.current) return;
|
|
398
|
+
|
|
399
|
+
// 1. 重置列状态为初始状态
|
|
400
|
+
|
|
401
|
+
apiRef.current.resetColumnState();
|
|
402
|
+
|
|
403
|
+
// 2. 清除所有过滤器
|
|
404
|
+
|
|
405
|
+
apiRef.current.setFilterModel(null);
|
|
406
|
+
|
|
407
|
+
// 3. 清除列样式配置
|
|
408
|
+
setColumnCellClass({});
|
|
409
|
+
}).catch(function (error) {
|
|
410
|
+
console.error('[AgGridPlus] 重置列状态失败:', error);
|
|
411
|
+
logger.error('[AgGridPlus] 重置列状态失败', error);
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
// 更新引用
|
|
416
|
+
prevSchemeIdRef.current = currentSchemeId;
|
|
417
|
+
}, [gridKey, currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.id, ready]);
|
|
385
418
|
useEffect(function () {
|
|
386
419
|
setRowData(dataSource || propRowData || []);
|
|
387
420
|
}, [dataSource, propRowData]);
|
|
@@ -605,12 +638,6 @@ function AgGridPlus(props) {
|
|
|
605
638
|
}, [propsRowSelection, enableClickSelection]);
|
|
606
639
|
var onGridReady = useCallback(function (params) {
|
|
607
640
|
var _apiRef$current;
|
|
608
|
-
console.log('[AgGridPlus] onGridReady 被调用:', {
|
|
609
|
-
hasCurrentScheme: !!currentColumnScheme,
|
|
610
|
-
currentSchemeId: currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.id,
|
|
611
|
-
currentSchemeName: currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.name,
|
|
612
|
-
hasColumnConfig: !!(currentColumnScheme !== null && currentColumnScheme !== void 0 && currentColumnScheme.columnConfig)
|
|
613
|
-
});
|
|
614
641
|
apiRef.current = params.api;
|
|
615
642
|
onReady && onReady(params);
|
|
616
643
|
///@ts-ignore
|
|
@@ -69,28 +69,15 @@ export function useSchemeSource(gridKey, schemeData) {
|
|
|
69
69
|
*/
|
|
70
70
|
export function useDerivedGridState(currentScheme, allColDefs) {
|
|
71
71
|
return useMemo(function () {
|
|
72
|
-
var _currentScheme$column;
|
|
73
|
-
console.log('[useDerivedGridState] 输入参数:', {
|
|
74
|
-
hasScheme: !!currentScheme,
|
|
75
|
-
schemeId: currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id,
|
|
76
|
-
configLength: currentScheme === null || currentScheme === void 0 || (_currentScheme$column = currentScheme.columnConfig) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.length,
|
|
77
|
-
allColDefsLength: allColDefs === null || allColDefs === void 0 ? void 0 : allColDefs.length
|
|
78
|
-
});
|
|
79
72
|
if (!(currentScheme !== null && currentScheme !== void 0 && currentScheme.columnConfig) || !allColDefs || allColDefs.length === 0) {
|
|
80
|
-
console.log('[useDerivedGridState] 返回 null (缺少必要数据)');
|
|
81
73
|
return null;
|
|
82
74
|
}
|
|
83
75
|
try {
|
|
84
|
-
var _result$;
|
|
85
76
|
var _require = require("../setting/columnGroupUtils"),
|
|
86
77
|
flatConfigToGridState = _require.flatConfigToGridState;
|
|
87
78
|
|
|
88
79
|
// 转换并缓存结果
|
|
89
80
|
var result = flatConfigToGridState(currentScheme.columnConfig, allColDefs);
|
|
90
|
-
console.log('[useDerivedGridState] 转换成功:', {
|
|
91
|
-
resultLength: result === null || result === void 0 ? void 0 : result.length,
|
|
92
|
-
firstColumn: result === null || result === void 0 || (_result$ = result[0]) === null || _result$ === void 0 ? void 0 : _result$.field
|
|
93
|
-
});
|
|
94
81
|
return result;
|
|
95
82
|
} catch (error) {
|
|
96
83
|
console.error('[useDerivedGridState] 转换失败:', error);
|
|
@@ -116,7 +103,8 @@ export function useDerivedColumnState(currentScheme) {
|
|
|
116
103
|
flatConfigToColumnState = _require2.flatConfigToColumnState;
|
|
117
104
|
|
|
118
105
|
// 转换列状态
|
|
119
|
-
|
|
106
|
+
var result = flatConfigToColumnState(currentScheme.columnConfig);
|
|
107
|
+
return result;
|
|
120
108
|
} catch (error) {
|
|
121
109
|
console.error('[useDerivedColumnState] 转换失败:', error);
|
|
122
110
|
return null;
|