@nokecy/qc-ui 1.1.8 → 1.1.10
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/ag-gridPlus.js +5 -6
- package/dist/cjs/ag-grid-plus/context/useSchemeManager.js +26 -5
- package/dist/cjs/ag-grid-plus/interface.d.ts +15 -6
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +194 -184
- package/dist/cjs/array-table/index.js +46 -10
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +5 -6
- package/dist/esm/ag-grid-plus/context/useSchemeManager.js +26 -5
- package/dist/esm/ag-grid-plus/interface.d.ts +15 -6
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +194 -184
- package/dist/esm/array-table/index.js +46 -10
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
|
@@ -630,18 +630,17 @@ function AgGridPlus(props) {
|
|
|
630
630
|
};
|
|
631
631
|
}
|
|
632
632
|
|
|
633
|
-
//
|
|
633
|
+
// 默认配置:单选模式,启用点击选择
|
|
634
634
|
if (enableClickSelection !== false) {
|
|
635
635
|
return {
|
|
636
|
-
mode: '
|
|
637
|
-
enableClickSelection: true
|
|
638
|
-
enableSelectionWithoutKeys: true
|
|
636
|
+
mode: 'singleRow',
|
|
637
|
+
enableClickSelection: true
|
|
639
638
|
};
|
|
640
639
|
}
|
|
641
640
|
|
|
642
|
-
//
|
|
641
|
+
// 如果禁用点击选择,返回基础单选模式(v33 对象格式)
|
|
643
642
|
return {
|
|
644
|
-
mode: '
|
|
643
|
+
mode: 'singleRow',
|
|
645
644
|
enableClickSelection: false
|
|
646
645
|
};
|
|
647
646
|
}, [propsRowSelection, enableClickSelection]);
|
|
@@ -199,6 +199,7 @@ function useSchemeManager(config) {
|
|
|
199
199
|
}(), [adapter]);
|
|
200
200
|
var deleteColumnScheme = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
201
201
|
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(gridId, schemeId) {
|
|
202
|
+
var defaultScheme;
|
|
202
203
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
203
204
|
while (1) switch (_context3.prev = _context3.next) {
|
|
204
205
|
case 0:
|
|
@@ -206,20 +207,40 @@ function useSchemeManager(config) {
|
|
|
206
207
|
_context3.next = 3;
|
|
207
208
|
return adapter.deleteColumnScheme(gridId, schemeId);
|
|
208
209
|
case 3:
|
|
209
|
-
// 更新本地状态
|
|
210
210
|
setColumnSchemes(function (prev) {
|
|
211
211
|
var schemes = (prev[gridId] || []).filter(function (s) {
|
|
212
212
|
return s.id !== schemeId;
|
|
213
213
|
});
|
|
214
|
+
// 查找默认方案(用于后续自动切换)
|
|
215
|
+
defaultScheme = schemes.find(function (s) {
|
|
216
|
+
return s.isDefault;
|
|
217
|
+
});
|
|
214
218
|
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
|
|
215
219
|
});
|
|
216
220
|
|
|
217
|
-
//
|
|
221
|
+
// 如果删除的是当前方案,自动切换到默认方案
|
|
218
222
|
setCurrentSchemes(function (prev) {
|
|
219
223
|
var _prev$gridId;
|
|
220
224
|
if (((_prev$gridId = prev[gridId]) === null || _prev$gridId === void 0 ? void 0 : _prev$gridId.columnSchemeId) === schemeId) {
|
|
225
|
+
var _defaultScheme;
|
|
226
|
+
var newSchemeId = ((_defaultScheme = defaultScheme) === null || _defaultScheme === void 0 ? void 0 : _defaultScheme.id) || null;
|
|
227
|
+
// 如果存在默认方案,同步到适配器
|
|
228
|
+
if (newSchemeId) {
|
|
229
|
+
var _prev$gridId2;
|
|
230
|
+
var querySchemeId = ((_prev$gridId2 = prev[gridId]) === null || _prev$gridId2 === void 0 ? void 0 : _prev$gridId2.querySchemeId) || null;
|
|
231
|
+
adapter.setCurrentScheme(gridId, newSchemeId, querySchemeId).catch(function (error) {
|
|
232
|
+
console.error('[useSchemeManager] 自动切换默认方案失败:', error);
|
|
233
|
+
});
|
|
234
|
+
} else {
|
|
235
|
+
var _prev$gridId3;
|
|
236
|
+
// 没有默认方案,同步清除到适配器
|
|
237
|
+
var _querySchemeId = ((_prev$gridId3 = prev[gridId]) === null || _prev$gridId3 === void 0 ? void 0 : _prev$gridId3.querySchemeId) || null;
|
|
238
|
+
adapter.setCurrentScheme(gridId, null, _querySchemeId).catch(function (error) {
|
|
239
|
+
console.error('[useSchemeManager] 清除当前方案失败:', error);
|
|
240
|
+
});
|
|
241
|
+
}
|
|
221
242
|
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId]), {}, {
|
|
222
|
-
columnSchemeId:
|
|
243
|
+
columnSchemeId: newSchemeId
|
|
223
244
|
})));
|
|
224
245
|
}
|
|
225
246
|
return prev;
|
|
@@ -339,8 +360,8 @@ function useSchemeManager(config) {
|
|
|
339
360
|
|
|
340
361
|
// 如果删除的是当前方案,清除当前方案ID
|
|
341
362
|
setCurrentSchemes(function (prev) {
|
|
342
|
-
var _prev$
|
|
343
|
-
if (((_prev$
|
|
363
|
+
var _prev$gridId4;
|
|
364
|
+
if (((_prev$gridId4 = prev[gridId]) === null || _prev$gridId4 === void 0 ? void 0 : _prev$gridId4.querySchemeId) === schemeId) {
|
|
344
365
|
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId]), {}, {
|
|
345
366
|
querySchemeId: null
|
|
346
367
|
})));
|
|
@@ -66,15 +66,24 @@ interface GridProps extends AgGridReactProps {
|
|
|
66
66
|
*
|
|
67
67
|
* 默认值: true
|
|
68
68
|
*
|
|
69
|
-
* AG-Grid v33+
|
|
70
|
-
* 1.
|
|
71
|
-
* 2.
|
|
72
|
-
* 3.
|
|
73
|
-
*
|
|
69
|
+
* AG-Grid v33+ 默认行为:
|
|
70
|
+
* 1. **默认单选模式** (`mode: 'singleRow'`)
|
|
71
|
+
* 2. 点击行即可选择/取消选择
|
|
72
|
+
* 3. 用户可通过 `rowSelection` prop 覆盖为多选模式
|
|
73
|
+
*
|
|
74
|
+
* 多选模式示例:
|
|
75
|
+
* ```tsx
|
|
76
|
+
* <AgGridPlus
|
|
77
|
+
* rowSelection={{ mode: 'multiRow', enableSelectionWithoutKeys: true }}
|
|
78
|
+
* // 或使用旧 API
|
|
79
|
+
* rowSelection="multiple"
|
|
80
|
+
* />
|
|
81
|
+
* ```
|
|
74
82
|
*
|
|
75
83
|
* 内部实现:
|
|
76
84
|
* - 使用 v33+ 对象化 rowSelection API
|
|
77
|
-
* - 自动配置 enableClickSelection
|
|
85
|
+
* - 自动配置 enableClickSelection
|
|
86
|
+
* - 多选模式下自动配置 enableSelectionWithoutKeys
|
|
78
87
|
* - 兼容旧的字符串 API('single' | 'multiple')
|
|
79
88
|
*/
|
|
80
89
|
enableClickSelection?: boolean;
|