@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.
@@ -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: 'multiRow',
637
- enableClickSelection: true,
638
- enableSelectionWithoutKeys: true
636
+ mode: 'singleRow',
637
+ enableClickSelection: true
639
638
  };
640
639
  }
641
640
 
642
- // 如果禁用点击选择,返回基础多选模式(v33 对象格式)
641
+ // 如果禁用点击选择,返回基础单选模式(v33 对象格式)
643
642
  return {
644
- mode: 'multiRow',
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
- // 如果删除的是当前方案,清除当前方案ID
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: null
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$gridId2;
343
- if (((_prev$gridId2 = prev[gridId]) === null || _prev$gridId2 === void 0 ? void 0 : _prev$gridId2.querySchemeId) === schemeId) {
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. **无需按键即可点击多选**(enableSelectionWithoutKeys)
72
- * 3. 复选框和行点击都支持多选
73
- * 4. 支持 Ctrl/Cmd + A 全选
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 和 enableSelectionWithoutKeys
85
+ * - 自动配置 enableClickSelection
86
+ * - 多选模式下自动配置 enableSelectionWithoutKeys
78
87
  * - 兼容旧的字符串 API('single' | 'multiple')
79
88
  */
80
89
  enableClickSelection?: boolean;