@nokecy/qc-ui 1.1.20 → 1.1.22
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/context/useSchemeDataFlow.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +6 -5
- package/dist/cjs/ag-grid-plus/queryForm/index.js +5 -1
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +7 -2
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +196 -4
- package/dist/cjs/array-table/utils.js +4 -2
- package/dist/cjs/formDesigner/FormDesigner.js +4 -2
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.d.ts +2 -1
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +6 -5
- package/dist/esm/ag-grid-plus/queryForm/index.js +5 -1
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +7 -2
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +196 -4
- package/dist/esm/array-table/utils.js +4 -2
- package/dist/esm/formDesigner/FormDesigner.js +4 -2
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
|
@@ -48,9 +48,10 @@ export declare function useDerivedGridState(currentScheme: ColumnScheme | undefi
|
|
|
48
48
|
* 派生层 - 计算列样式状态(只读派生)
|
|
49
49
|
*
|
|
50
50
|
* @param currentScheme - 当前列方案
|
|
51
|
+
* @param allColDefs - 原始列定义(用于检测新增列)
|
|
51
52
|
* @returns 派生的列状态配置
|
|
52
53
|
*/
|
|
53
|
-
export declare function useDerivedColumnState(currentScheme: ColumnScheme | undefined): any;
|
|
54
|
+
export declare function useDerivedColumnState(currentScheme: ColumnScheme | undefined, allColDefs: ExtendedColDef[]): any;
|
|
54
55
|
/**
|
|
55
56
|
* 统一的方案数据流 Hook(组合版)
|
|
56
57
|
*
|
|
@@ -99,9 +99,10 @@ function useDerivedGridState(currentScheme, allColDefs) {
|
|
|
99
99
|
* 派生层 - 计算列样式状态(只读派生)
|
|
100
100
|
*
|
|
101
101
|
* @param currentScheme - 当前列方案
|
|
102
|
+
* @param allColDefs - 原始列定义(用于检测新增列)
|
|
102
103
|
* @returns 派生的列状态配置
|
|
103
104
|
*/
|
|
104
|
-
function useDerivedColumnState(currentScheme) {
|
|
105
|
+
function useDerivedColumnState(currentScheme, allColDefs) {
|
|
105
106
|
return (0, _react.useMemo)(function () {
|
|
106
107
|
if (!(currentScheme !== null && currentScheme !== void 0 && currentScheme.columnConfig)) {
|
|
107
108
|
return null;
|
|
@@ -110,15 +111,15 @@ function useDerivedColumnState(currentScheme) {
|
|
|
110
111
|
var _require2 = require("../setting/columnGroupUtils"),
|
|
111
112
|
flatConfigToColumnState = _require2.flatConfigToColumnState;
|
|
112
113
|
|
|
113
|
-
//
|
|
114
|
-
var result = flatConfigToColumnState(currentScheme.columnConfig);
|
|
114
|
+
// 转换列状态,传入原始列定义以检测新增列
|
|
115
|
+
var result = flatConfigToColumnState(currentScheme.columnConfig, allColDefs);
|
|
115
116
|
return result;
|
|
116
117
|
} catch (error) {
|
|
117
118
|
console.error('[useDerivedColumnState] 转换失败:', error);
|
|
118
119
|
return null;
|
|
119
120
|
}
|
|
120
121
|
}, [// 使用 scheme.id 作为依赖
|
|
121
|
-
currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id]);
|
|
122
|
+
currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id, allColDefs]);
|
|
122
123
|
}
|
|
123
124
|
|
|
124
125
|
/**
|
|
@@ -152,7 +153,7 @@ function useSchemeDataFlow(gridKey, allColDefs, schemeData) {
|
|
|
152
153
|
|
|
153
154
|
// 2. 派生层(Derived State)
|
|
154
155
|
var derivedColumnDefs = useDerivedGridState(schemeSource.currentColumnScheme, allColDefs);
|
|
155
|
-
var derivedColumnState = useDerivedColumnState(schemeSource.currentColumnScheme);
|
|
156
|
+
var derivedColumnState = useDerivedColumnState(schemeSource.currentColumnScheme, allColDefs);
|
|
156
157
|
return _objectSpread(_objectSpread({}, schemeSource), {}, {
|
|
157
158
|
// 派生状态(只读)
|
|
158
159
|
derivedColumnDefs: derivedColumnDefs,
|
|
@@ -79,7 +79,11 @@ var FormRender = function FormRender(props) {
|
|
|
79
79
|
onQuery && onQuery(form.values);
|
|
80
80
|
};
|
|
81
81
|
var onReset = function onReset() {
|
|
82
|
-
|
|
82
|
+
// 使用 forceClear: true 强制清空所有字段,包括有默认值的字段
|
|
83
|
+
// 这样可以确保点击重置时,表单组件显示被完全清空
|
|
84
|
+
form.reset('*', {
|
|
85
|
+
forceClear: true
|
|
86
|
+
});
|
|
83
87
|
onQuery({});
|
|
84
88
|
};
|
|
85
89
|
var getComponent = function getComponent(colDef) {
|
|
@@ -24,8 +24,10 @@ export declare function gridStateToFlatConfig(columnDefs: (ColDef | ColGroupDef)
|
|
|
24
24
|
* 【重要】如果提供了 originalColumnDefs,会合并原始列定义中的所有属性
|
|
25
25
|
* 这样可以保留 cellRenderer、valueFormatter、valueEnum 等自定义渲染属性
|
|
26
26
|
*
|
|
27
|
+
* 【重要】会自动检测并追加代码中新增的列(在 originalColumnDefs 中存在但 flatConfig 中不存在的列)
|
|
28
|
+
*
|
|
27
29
|
* @param flatConfig 扁平化配置数组
|
|
28
|
-
* @param originalColumnDefs
|
|
30
|
+
* @param originalColumnDefs 原始列定义数组(可选),用于保留自定义属性和检测新增列
|
|
29
31
|
* @returns AG-Grid 列定义数组
|
|
30
32
|
*/
|
|
31
33
|
export declare function flatConfigToGridState(flatConfig: FlatColumnItem[], originalColumnDefs?: (ColDef | ColGroupDef)[]): (ColDef | ColGroupDef)[];
|
|
@@ -74,7 +76,10 @@ export declare function isOldSchemeData(data: any[]): boolean;
|
|
|
74
76
|
* 扁平化配置 → AG-Grid Column State
|
|
75
77
|
* 将扁平化数组转换为 AG-Grid 的 columnState 格式,用于控制列的顺序和属性
|
|
76
78
|
*
|
|
79
|
+
* 【重要】会自动检测并追加代码中新增的列(在 originalColumnDefs 中存在但 flatConfig 中不存在的列)
|
|
80
|
+
*
|
|
77
81
|
* @param flatConfig 扁平化配置数组
|
|
82
|
+
* @param originalColumnDefs 原始列定义数组(可选),用于检测新增列
|
|
78
83
|
* @returns AG-Grid columnState 数组
|
|
79
84
|
*/
|
|
80
|
-
export declare function flatConfigToColumnState(flatConfig: FlatColumnItem[]): any[];
|
|
85
|
+
export declare function flatConfigToColumnState(flatConfig: FlatColumnItem[], originalColumnDefs?: (ColDef | ColGroupDef)[]): any[];
|
|
@@ -20,6 +20,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
20
20
|
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; }
|
|
21
21
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
22
22
|
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); }
|
|
23
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
24
|
+
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."); }
|
|
25
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
26
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
23
27
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
24
28
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
25
29
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -137,8 +141,10 @@ function gridStateToFlatConfig(columnDefs, originalColumnDefs) {
|
|
|
137
141
|
* 【重要】如果提供了 originalColumnDefs,会合并原始列定义中的所有属性
|
|
138
142
|
* 这样可以保留 cellRenderer、valueFormatter、valueEnum 等自定义渲染属性
|
|
139
143
|
*
|
|
144
|
+
* 【重要】会自动检测并追加代码中新增的列(在 originalColumnDefs 中存在但 flatConfig 中不存在的列)
|
|
145
|
+
*
|
|
140
146
|
* @param flatConfig 扁平化配置数组
|
|
141
|
-
* @param originalColumnDefs
|
|
147
|
+
* @param originalColumnDefs 原始列定义数组(可选),用于保留自定义属性和检测新增列
|
|
142
148
|
* @returns AG-Grid 列定义数组
|
|
143
149
|
*/
|
|
144
150
|
function flatConfigToGridState(flatConfig, originalColumnDefs) {
|
|
@@ -173,6 +179,30 @@ function flatConfigToGridState(flatConfig, originalColumnDefs) {
|
|
|
173
179
|
return undefined;
|
|
174
180
|
}
|
|
175
181
|
|
|
182
|
+
/**
|
|
183
|
+
* 递归收集所有列定义(包括分组内的列)
|
|
184
|
+
*/
|
|
185
|
+
function collectAllColumns(defs) {
|
|
186
|
+
var columns = [];
|
|
187
|
+
var _iterator3 = _createForOfIteratorHelper(defs),
|
|
188
|
+
_step3;
|
|
189
|
+
try {
|
|
190
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
191
|
+
var def = _step3.value;
|
|
192
|
+
if ('children' in def && def.children) {
|
|
193
|
+
columns.push.apply(columns, _toConsumableArray(collectAllColumns(def.children)));
|
|
194
|
+
} else {
|
|
195
|
+
columns.push(def);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
} catch (err) {
|
|
199
|
+
_iterator3.e(err);
|
|
200
|
+
} finally {
|
|
201
|
+
_iterator3.f();
|
|
202
|
+
}
|
|
203
|
+
return columns;
|
|
204
|
+
}
|
|
205
|
+
|
|
176
206
|
/**
|
|
177
207
|
* 递归构建树形结构
|
|
178
208
|
*/
|
|
@@ -227,7 +257,74 @@ function flatConfigToGridState(flatConfig, originalColumnDefs) {
|
|
|
227
257
|
}
|
|
228
258
|
});
|
|
229
259
|
}
|
|
230
|
-
|
|
260
|
+
var result = buildTree();
|
|
261
|
+
|
|
262
|
+
// 【新增】检测并插入代码中新增的列到原始位置
|
|
263
|
+
// 场景:用户保存列配置后,开发者在代码中新增了列,这些列应该在其原始定义位置显示
|
|
264
|
+
if (originalColumnDefs && originalColumnDefs.length > 0) {
|
|
265
|
+
// 收集 flatConfig 中所有已存在的 field
|
|
266
|
+
var existingFields = new Set(flatConfig.filter(function (item) {
|
|
267
|
+
return item.type === 'column' && item.field;
|
|
268
|
+
}).map(function (item) {
|
|
269
|
+
return item.field;
|
|
270
|
+
}));
|
|
271
|
+
|
|
272
|
+
// 收集原始列定义中所有的列(保留顺序索引)
|
|
273
|
+
var allOriginalColumns = collectAllColumns(originalColumnDefs);
|
|
274
|
+
|
|
275
|
+
// 找出新增的列及其在原始定义中的索引
|
|
276
|
+
var newColumnsWithIndex = [];
|
|
277
|
+
allOriginalColumns.forEach(function (col, index) {
|
|
278
|
+
if (col.field && !existingFields.has(col.field)) {
|
|
279
|
+
newColumnsWithIndex.push({
|
|
280
|
+
col: col,
|
|
281
|
+
originalIndex: index
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
if (newColumnsWithIndex.length > 0) {
|
|
286
|
+
// 将新增列插入到正确位置(基于其在原始定义中的相对位置)
|
|
287
|
+
var _iterator4 = _createForOfIteratorHelper(newColumnsWithIndex),
|
|
288
|
+
_step4;
|
|
289
|
+
try {
|
|
290
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
291
|
+
var _step4$value = _step4.value,
|
|
292
|
+
col = _step4$value.col,
|
|
293
|
+
originalIndex = _step4$value.originalIndex;
|
|
294
|
+
var insertIndex = 0; // 默认插入到开头
|
|
295
|
+
|
|
296
|
+
// 从该列之前的列开始查找,找到第一个在 result 中存在的列
|
|
297
|
+
var _loop = function _loop() {
|
|
298
|
+
var prevCol = allOriginalColumns[i];
|
|
299
|
+
if (!prevCol.field) return 0; // continue
|
|
300
|
+
|
|
301
|
+
// 在 result 中找到这个前置列的位置
|
|
302
|
+
var prevIndexInResult = result.findIndex(function (r) {
|
|
303
|
+
return r.field === prevCol.field;
|
|
304
|
+
});
|
|
305
|
+
if (prevIndexInResult !== -1) {
|
|
306
|
+
insertIndex = prevIndexInResult + 1;
|
|
307
|
+
return 1; // break
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
_ret;
|
|
311
|
+
for (var i = originalIndex - 1; i >= 0; i--) {
|
|
312
|
+
_ret = _loop();
|
|
313
|
+
if (_ret === 0) continue;
|
|
314
|
+
if (_ret === 1) break;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// 在 insertIndex 位置插入新列
|
|
318
|
+
result.splice(insertIndex, 0, col);
|
|
319
|
+
}
|
|
320
|
+
} catch (err) {
|
|
321
|
+
_iterator4.e(err);
|
|
322
|
+
} finally {
|
|
323
|
+
_iterator4.f();
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
return result;
|
|
231
328
|
}
|
|
232
329
|
|
|
233
330
|
/**
|
|
@@ -355,11 +452,37 @@ function isOldSchemeData(data) {
|
|
|
355
452
|
* 扁平化配置 → AG-Grid Column State
|
|
356
453
|
* 将扁平化数组转换为 AG-Grid 的 columnState 格式,用于控制列的顺序和属性
|
|
357
454
|
*
|
|
455
|
+
* 【重要】会自动检测并追加代码中新增的列(在 originalColumnDefs 中存在但 flatConfig 中不存在的列)
|
|
456
|
+
*
|
|
358
457
|
* @param flatConfig 扁平化配置数组
|
|
458
|
+
* @param originalColumnDefs 原始列定义数组(可选),用于检测新增列
|
|
359
459
|
* @returns AG-Grid columnState 数组
|
|
360
460
|
*/
|
|
361
|
-
function flatConfigToColumnState(flatConfig) {
|
|
362
|
-
|
|
461
|
+
function flatConfigToColumnState(flatConfig, originalColumnDefs) {
|
|
462
|
+
/**
|
|
463
|
+
* 递归收集所有列定义(包括分组内的列)
|
|
464
|
+
*/
|
|
465
|
+
function collectAllColumns(defs) {
|
|
466
|
+
var columns = [];
|
|
467
|
+
var _iterator5 = _createForOfIteratorHelper(defs),
|
|
468
|
+
_step5;
|
|
469
|
+
try {
|
|
470
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
471
|
+
var def = _step5.value;
|
|
472
|
+
if ('children' in def && def.children) {
|
|
473
|
+
columns.push.apply(columns, _toConsumableArray(collectAllColumns(def.children)));
|
|
474
|
+
} else {
|
|
475
|
+
columns.push(def);
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
} catch (err) {
|
|
479
|
+
_iterator5.e(err);
|
|
480
|
+
} finally {
|
|
481
|
+
_iterator5.f();
|
|
482
|
+
}
|
|
483
|
+
return columns;
|
|
484
|
+
}
|
|
485
|
+
var result = flatConfig.filter(function (item) {
|
|
363
486
|
return item.type === 'column';
|
|
364
487
|
}) // 只处理列节点,分组不在 columnState 中
|
|
365
488
|
.filter(function (item) {
|
|
@@ -384,4 +507,73 @@ function flatConfigToColumnState(flatConfig) {
|
|
|
384
507
|
}
|
|
385
508
|
return state;
|
|
386
509
|
});
|
|
510
|
+
|
|
511
|
+
// 【新增】检测并插入代码中新增的列到原始位置
|
|
512
|
+
if (originalColumnDefs && originalColumnDefs.length > 0) {
|
|
513
|
+
// 收集 flatConfig 中所有已存在的 field
|
|
514
|
+
var existingFields = new Set(flatConfig.filter(function (item) {
|
|
515
|
+
return item.type === 'column' && item.field;
|
|
516
|
+
}).map(function (item) {
|
|
517
|
+
return item.field;
|
|
518
|
+
}));
|
|
519
|
+
|
|
520
|
+
// 收集原始列定义中所有的列(保留顺序索引)
|
|
521
|
+
var allOriginalColumns = collectAllColumns(originalColumnDefs);
|
|
522
|
+
|
|
523
|
+
// 找出新增的列及其在原始定义中的索引
|
|
524
|
+
var newColumnsWithIndex = [];
|
|
525
|
+
allOriginalColumns.forEach(function (col, index) {
|
|
526
|
+
if (col.field && !existingFields.has(col.field)) {
|
|
527
|
+
newColumnsWithIndex.push({
|
|
528
|
+
col: col,
|
|
529
|
+
originalIndex: index
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
});
|
|
533
|
+
if (newColumnsWithIndex.length > 0) {
|
|
534
|
+
// 将新增列插入到正确位置(基于其在原始定义中的相对位置)
|
|
535
|
+
var _iterator6 = _createForOfIteratorHelper(newColumnsWithIndex),
|
|
536
|
+
_step6;
|
|
537
|
+
try {
|
|
538
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
539
|
+
var _step6$value = _step6.value,
|
|
540
|
+
col = _step6$value.col,
|
|
541
|
+
originalIndex = _step6$value.originalIndex;
|
|
542
|
+
var insertIndex = 0; // 默认插入到开头
|
|
543
|
+
|
|
544
|
+
// 从该列之前的列开始查找,找到第一个在 result 中存在的列
|
|
545
|
+
var _loop2 = function _loop2() {
|
|
546
|
+
var prevCol = allOriginalColumns[i];
|
|
547
|
+
if (!prevCol.field) return 0; // continue
|
|
548
|
+
|
|
549
|
+
// 在 result 中找到这个前置列的位置
|
|
550
|
+
var prevIndexInResult = result.findIndex(function (r) {
|
|
551
|
+
return r.colId === prevCol.field;
|
|
552
|
+
});
|
|
553
|
+
if (prevIndexInResult !== -1) {
|
|
554
|
+
insertIndex = prevIndexInResult + 1;
|
|
555
|
+
return 1; // break
|
|
556
|
+
}
|
|
557
|
+
},
|
|
558
|
+
_ret2;
|
|
559
|
+
for (var i = originalIndex - 1; i >= 0; i--) {
|
|
560
|
+
_ret2 = _loop2();
|
|
561
|
+
if (_ret2 === 0) continue;
|
|
562
|
+
if (_ret2 === 1) break;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
// 在 insertIndex 位置插入新列状态
|
|
566
|
+
result.splice(insertIndex, 0, {
|
|
567
|
+
colId: col.field
|
|
568
|
+
// 新增列使用默认状态,不设置 hide/width 等
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
} catch (err) {
|
|
572
|
+
_iterator6.e(err);
|
|
573
|
+
} finally {
|
|
574
|
+
_iterator6.f();
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
return result;
|
|
387
579
|
}
|
|
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
var _react2 = require("@formily/react");
|
|
10
10
|
var _shared = require("@formily/shared");
|
|
11
11
|
var _arrayBase = _interopRequireDefault(require("./arrayBase"));
|
|
12
|
-
var _excluded = ["pinned", "
|
|
12
|
+
var _excluded = ["pinned", "hide", "sort", "sortIndex"];
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
14
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
15
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -148,13 +148,15 @@ var useArrayTableColumns = exports.useArrayTableColumns = function useArrayTable
|
|
|
148
148
|
|
|
149
149
|
// 【关键修复】移除可能干扰用户列状态的属性
|
|
150
150
|
// 这些属性应该由用户通过列配置(applyColumnState)控制,而不是从 columnDefs 继承
|
|
151
|
+
// 但保留 width 作为列的初始宽度
|
|
151
152
|
var pinned = columnProps.pinned,
|
|
152
|
-
width = columnProps.width,
|
|
153
153
|
hide = columnProps.hide,
|
|
154
154
|
sort = columnProps.sort,
|
|
155
155
|
sortIndex = columnProps.sortIndex,
|
|
156
156
|
safeColumnProps = _objectWithoutProperties(columnProps, _excluded);
|
|
157
157
|
return buf.concat(_objectSpread(_objectSpread({}, safeColumnProps), {}, {
|
|
158
|
+
// 保留 width 作为列的初始宽度
|
|
159
|
+
width: columnProps.width,
|
|
158
160
|
//@ts-ignore
|
|
159
161
|
headerName: columnProps.headerName || columnProps.title,
|
|
160
162
|
field: name,
|
|
@@ -63,8 +63,10 @@ var FormDesigner = function FormDesigner(props) {
|
|
|
63
63
|
var getComponents = function getComponents() {
|
|
64
64
|
var components = {};
|
|
65
65
|
businessComponents.map(function (x) {
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
var _x$Behavior;
|
|
67
|
+
if ((_x$Behavior = x.Behavior) !== null && _x$Behavior !== void 0 && (_x$Behavior = _x$Behavior[0]) !== null && _x$Behavior !== void 0 && _x$Behavior.name) {
|
|
68
|
+
components[x.Behavior[0].name] = x;
|
|
69
|
+
}
|
|
68
70
|
});
|
|
69
71
|
return components;
|
|
70
72
|
};
|
|
@@ -48,9 +48,10 @@ export declare function useDerivedGridState(currentScheme: ColumnScheme | undefi
|
|
|
48
48
|
* 派生层 - 计算列样式状态(只读派生)
|
|
49
49
|
*
|
|
50
50
|
* @param currentScheme - 当前列方案
|
|
51
|
+
* @param allColDefs - 原始列定义(用于检测新增列)
|
|
51
52
|
* @returns 派生的列状态配置
|
|
52
53
|
*/
|
|
53
|
-
export declare function useDerivedColumnState(currentScheme: ColumnScheme | undefined): any;
|
|
54
|
+
export declare function useDerivedColumnState(currentScheme: ColumnScheme | undefined, allColDefs: ExtendedColDef[]): any;
|
|
54
55
|
/**
|
|
55
56
|
* 统一的方案数据流 Hook(组合版)
|
|
56
57
|
*
|
|
@@ -91,9 +91,10 @@ export function useDerivedGridState(currentScheme, allColDefs) {
|
|
|
91
91
|
* 派生层 - 计算列样式状态(只读派生)
|
|
92
92
|
*
|
|
93
93
|
* @param currentScheme - 当前列方案
|
|
94
|
+
* @param allColDefs - 原始列定义(用于检测新增列)
|
|
94
95
|
* @returns 派生的列状态配置
|
|
95
96
|
*/
|
|
96
|
-
export function useDerivedColumnState(currentScheme) {
|
|
97
|
+
export function useDerivedColumnState(currentScheme, allColDefs) {
|
|
97
98
|
return useMemo(function () {
|
|
98
99
|
if (!(currentScheme !== null && currentScheme !== void 0 && currentScheme.columnConfig)) {
|
|
99
100
|
return null;
|
|
@@ -102,15 +103,15 @@ export function useDerivedColumnState(currentScheme) {
|
|
|
102
103
|
var _require2 = require("../setting/columnGroupUtils"),
|
|
103
104
|
flatConfigToColumnState = _require2.flatConfigToColumnState;
|
|
104
105
|
|
|
105
|
-
//
|
|
106
|
-
var result = flatConfigToColumnState(currentScheme.columnConfig);
|
|
106
|
+
// 转换列状态,传入原始列定义以检测新增列
|
|
107
|
+
var result = flatConfigToColumnState(currentScheme.columnConfig, allColDefs);
|
|
107
108
|
return result;
|
|
108
109
|
} catch (error) {
|
|
109
110
|
console.error('[useDerivedColumnState] 转换失败:', error);
|
|
110
111
|
return null;
|
|
111
112
|
}
|
|
112
113
|
}, [// 使用 scheme.id 作为依赖
|
|
113
|
-
currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id]);
|
|
114
|
+
currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id, allColDefs]);
|
|
114
115
|
}
|
|
115
116
|
|
|
116
117
|
/**
|
|
@@ -144,7 +145,7 @@ export function useSchemeDataFlow(gridKey, allColDefs, schemeData) {
|
|
|
144
145
|
|
|
145
146
|
// 2. 派生层(Derived State)
|
|
146
147
|
var derivedColumnDefs = useDerivedGridState(schemeSource.currentColumnScheme, allColDefs);
|
|
147
|
-
var derivedColumnState = useDerivedColumnState(schemeSource.currentColumnScheme);
|
|
148
|
+
var derivedColumnState = useDerivedColumnState(schemeSource.currentColumnScheme, allColDefs);
|
|
148
149
|
return _objectSpread(_objectSpread({}, schemeSource), {}, {
|
|
149
150
|
// 派生状态(只读)
|
|
150
151
|
derivedColumnDefs: derivedColumnDefs,
|
|
@@ -71,7 +71,11 @@ var FormRender = function FormRender(props) {
|
|
|
71
71
|
onQuery && onQuery(form.values);
|
|
72
72
|
};
|
|
73
73
|
var onReset = function onReset() {
|
|
74
|
-
|
|
74
|
+
// 使用 forceClear: true 强制清空所有字段,包括有默认值的字段
|
|
75
|
+
// 这样可以确保点击重置时,表单组件显示被完全清空
|
|
76
|
+
form.reset('*', {
|
|
77
|
+
forceClear: true
|
|
78
|
+
});
|
|
75
79
|
onQuery({});
|
|
76
80
|
};
|
|
77
81
|
var getComponent = function getComponent(colDef) {
|
|
@@ -24,8 +24,10 @@ export declare function gridStateToFlatConfig(columnDefs: (ColDef | ColGroupDef)
|
|
|
24
24
|
* 【重要】如果提供了 originalColumnDefs,会合并原始列定义中的所有属性
|
|
25
25
|
* 这样可以保留 cellRenderer、valueFormatter、valueEnum 等自定义渲染属性
|
|
26
26
|
*
|
|
27
|
+
* 【重要】会自动检测并追加代码中新增的列(在 originalColumnDefs 中存在但 flatConfig 中不存在的列)
|
|
28
|
+
*
|
|
27
29
|
* @param flatConfig 扁平化配置数组
|
|
28
|
-
* @param originalColumnDefs
|
|
30
|
+
* @param originalColumnDefs 原始列定义数组(可选),用于保留自定义属性和检测新增列
|
|
29
31
|
* @returns AG-Grid 列定义数组
|
|
30
32
|
*/
|
|
31
33
|
export declare function flatConfigToGridState(flatConfig: FlatColumnItem[], originalColumnDefs?: (ColDef | ColGroupDef)[]): (ColDef | ColGroupDef)[];
|
|
@@ -74,7 +76,10 @@ export declare function isOldSchemeData(data: any[]): boolean;
|
|
|
74
76
|
* 扁平化配置 → AG-Grid Column State
|
|
75
77
|
* 将扁平化数组转换为 AG-Grid 的 columnState 格式,用于控制列的顺序和属性
|
|
76
78
|
*
|
|
79
|
+
* 【重要】会自动检测并追加代码中新增的列(在 originalColumnDefs 中存在但 flatConfig 中不存在的列)
|
|
80
|
+
*
|
|
77
81
|
* @param flatConfig 扁平化配置数组
|
|
82
|
+
* @param originalColumnDefs 原始列定义数组(可选),用于检测新增列
|
|
78
83
|
* @returns AG-Grid columnState 数组
|
|
79
84
|
*/
|
|
80
|
-
export declare function flatConfigToColumnState(flatConfig: FlatColumnItem[]): any[];
|
|
85
|
+
export declare function flatConfigToColumnState(flatConfig: FlatColumnItem[], originalColumnDefs?: (ColDef | ColGroupDef)[]): any[];
|