@nokecy/qc-ui 1.0.70 → 1.0.72

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.
Files changed (189) hide show
  1. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +409 -206
  2. package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +30 -5
  3. package/dist/cjs/ag-grid-plus/context/gridContext.js +6 -1
  4. package/dist/cjs/ag-grid-plus/errors/ErrorBoundary.d.ts +36 -0
  5. package/dist/cjs/ag-grid-plus/errors/ErrorBoundary.js +143 -0
  6. package/dist/cjs/ag-grid-plus/errors/index.d.ts +3 -0
  7. package/dist/cjs/ag-grid-plus/errors/index.js +31 -0
  8. package/dist/cjs/ag-grid-plus/errors/types.d.ts +71 -0
  9. package/dist/cjs/ag-grid-plus/errors/types.js +137 -0
  10. package/dist/cjs/ag-grid-plus/hooks/index.d.ts +7 -0
  11. package/dist/cjs/ag-grid-plus/hooks/index.js +51 -0
  12. package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.d.ts +88 -0
  13. package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.js +224 -0
  14. package/dist/cjs/ag-grid-plus/hooks/useAgGridData.d.ts +91 -0
  15. package/dist/cjs/ag-grid-plus/hooks/useAgGridData.js +230 -0
  16. package/dist/cjs/ag-grid-plus/hooks/useGridPlusColumnState.d.ts +1 -8
  17. package/dist/cjs/ag-grid-plus/hooks/useGridState.d.ts +153 -0
  18. package/dist/cjs/ag-grid-plus/hooks/useGridState.js +258 -0
  19. package/dist/cjs/ag-grid-plus/index.d.ts +5 -0
  20. package/dist/cjs/ag-grid-plus/index.js +164 -0
  21. package/dist/cjs/ag-grid-plus/interface.d.ts +37 -0
  22. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +21 -0
  23. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +580 -0
  24. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +86 -0
  25. package/dist/cjs/ag-grid-plus/querySchemes/components/index.d.ts +5 -0
  26. package/dist/cjs/ag-grid-plus/querySchemes/components/index.js +12 -0
  27. package/dist/cjs/ag-grid-plus/querySchemes/constants.d.ts +17 -0
  28. package/dist/cjs/ag-grid-plus/querySchemes/constants.js +30 -0
  29. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +10 -0
  30. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +65 -0
  31. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +6 -0
  32. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +542 -0
  33. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +7 -0
  34. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +32 -0
  35. package/dist/cjs/ag-grid-plus/querySchemes/index.d.ts +11 -0
  36. package/dist/cjs/ag-grid-plus/querySchemes/index.js +113 -0
  37. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +44 -0
  38. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +261 -0
  39. package/dist/cjs/ag-grid-plus/querySchemes/types.d.ts +143 -0
  40. package/dist/cjs/ag-grid-plus/querySchemes/types.js +5 -0
  41. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.d.ts +36 -0
  42. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.js +155 -0
  43. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.d.ts +16 -0
  44. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.js +342 -0
  45. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.less +35 -0
  46. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +20 -0
  47. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +289 -0
  48. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.less +39 -0
  49. package/dist/cjs/ag-grid-plus/schemes/components/index.d.ts +4 -0
  50. package/dist/cjs/ag-grid-plus/schemes/components/index.js +19 -0
  51. package/dist/cjs/ag-grid-plus/schemes/constants.d.ts +23 -0
  52. package/dist/cjs/ag-grid-plus/schemes/constants.js +39 -0
  53. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +6 -0
  54. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +542 -0
  55. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +7 -0
  56. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +32 -0
  57. package/dist/cjs/ag-grid-plus/schemes/index.d.ts +16 -0
  58. package/dist/cjs/ag-grid-plus/schemes/index.js +124 -0
  59. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +64 -0
  60. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +368 -0
  61. package/dist/cjs/ag-grid-plus/schemes/types.d.ts +126 -0
  62. package/dist/cjs/ag-grid-plus/schemes/types.js +5 -0
  63. package/dist/cjs/ag-grid-plus/schemes/utils/validator.d.ts +27 -0
  64. package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +113 -0
  65. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +17 -0
  66. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +955 -0
  67. package/dist/cjs/ag-grid-plus/setting/index.d.ts +1 -1
  68. package/dist/cjs/ag-grid-plus/setting/index.js +74 -111
  69. package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +66 -0
  70. package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.js +648 -0
  71. package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +76 -0
  72. package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.js +276 -0
  73. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +114 -0
  74. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +615 -0
  75. package/dist/cjs/ag-grid-plus/storage/globalSyncManager.d.ts +100 -0
  76. package/dist/cjs/ag-grid-plus/storage/globalSyncManager.js +335 -0
  77. package/dist/cjs/ag-grid-plus/storage/index.d.ts +8 -0
  78. package/dist/cjs/ag-grid-plus/storage/index.js +49 -0
  79. package/dist/cjs/ag-grid-plus/storage/types.d.ts +144 -0
  80. package/dist/cjs/ag-grid-plus/storage/types.js +5 -0
  81. package/dist/cjs/ag-grid-plus/types.d.ts +310 -0
  82. package/dist/cjs/ag-grid-plus/types.js +5 -0
  83. package/dist/cjs/ag-grid-plus/utils/columnProcessors.d.ts +95 -0
  84. package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +265 -0
  85. package/dist/cjs/ag-grid-plus/utils/constants.d.ts +41 -0
  86. package/dist/cjs/ag-grid-plus/utils/constants.js +56 -0
  87. package/dist/cjs/ag-grid-plus/utils/logger.d.ts +34 -0
  88. package/dist/cjs/ag-grid-plus/utils/logger.js +119 -0
  89. package/dist/cjs/ag-grid-plus/utils/sanitize.d.ts +15 -0
  90. package/dist/cjs/ag-grid-plus/utils/sanitize.js +39 -0
  91. package/dist/cjs/index.d.ts +3 -2
  92. package/dist/cjs/index.js +84 -0
  93. package/dist/esm/ag-grid-plus/ag-gridPlus.js +410 -206
  94. package/dist/esm/ag-grid-plus/context/gridContext.d.ts +30 -5
  95. package/dist/esm/ag-grid-plus/context/gridContext.js +6 -1
  96. package/dist/esm/ag-grid-plus/errors/ErrorBoundary.d.ts +36 -0
  97. package/dist/esm/ag-grid-plus/errors/ErrorBoundary.js +137 -0
  98. package/dist/esm/ag-grid-plus/errors/index.d.ts +3 -0
  99. package/dist/esm/ag-grid-plus/errors/index.js +2 -0
  100. package/dist/esm/ag-grid-plus/errors/types.d.ts +71 -0
  101. package/dist/esm/ag-grid-plus/errors/types.js +135 -0
  102. package/dist/esm/ag-grid-plus/hooks/index.d.ts +7 -0
  103. package/dist/esm/ag-grid-plus/hooks/index.js +10 -0
  104. package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.d.ts +88 -0
  105. package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.js +217 -0
  106. package/dist/esm/ag-grid-plus/hooks/useAgGridData.d.ts +91 -0
  107. package/dist/esm/ag-grid-plus/hooks/useAgGridData.js +225 -0
  108. package/dist/esm/ag-grid-plus/hooks/useGridPlusColumnState.d.ts +1 -8
  109. package/dist/esm/ag-grid-plus/hooks/useGridState.d.ts +153 -0
  110. package/dist/esm/ag-grid-plus/hooks/useGridState.js +258 -0
  111. package/dist/esm/ag-grid-plus/index.d.ts +5 -0
  112. package/dist/esm/ag-grid-plus/index.js +6 -1
  113. package/dist/esm/ag-grid-plus/interface.d.ts +37 -0
  114. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +21 -0
  115. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +572 -0
  116. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +86 -0
  117. package/dist/esm/ag-grid-plus/querySchemes/components/index.d.ts +5 -0
  118. package/dist/esm/ag-grid-plus/querySchemes/components/index.js +5 -0
  119. package/dist/esm/ag-grid-plus/querySchemes/constants.d.ts +17 -0
  120. package/dist/esm/ag-grid-plus/querySchemes/constants.js +24 -0
  121. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +10 -0
  122. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +60 -0
  123. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +6 -0
  124. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +537 -0
  125. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +7 -0
  126. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +27 -0
  127. package/dist/esm/ag-grid-plus/querySchemes/index.d.ts +11 -0
  128. package/dist/esm/ag-grid-plus/querySchemes/index.js +20 -0
  129. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +44 -0
  130. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +256 -0
  131. package/dist/esm/ag-grid-plus/querySchemes/types.d.ts +143 -0
  132. package/dist/esm/ag-grid-plus/querySchemes/types.js +1 -0
  133. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.d.ts +36 -0
  134. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.js +144 -0
  135. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.d.ts +16 -0
  136. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.js +334 -0
  137. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.less +35 -0
  138. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +20 -0
  139. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +281 -0
  140. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.less +39 -0
  141. package/dist/esm/ag-grid-plus/schemes/components/index.d.ts +4 -0
  142. package/dist/esm/ag-grid-plus/schemes/components/index.js +2 -0
  143. package/dist/esm/ag-grid-plus/schemes/constants.d.ts +23 -0
  144. package/dist/esm/ag-grid-plus/schemes/constants.js +33 -0
  145. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +6 -0
  146. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +537 -0
  147. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +7 -0
  148. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +27 -0
  149. package/dist/esm/ag-grid-plus/schemes/index.d.ts +16 -0
  150. package/dist/esm/ag-grid-plus/schemes/index.js +25 -0
  151. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +64 -0
  152. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +363 -0
  153. package/dist/esm/ag-grid-plus/schemes/types.d.ts +126 -0
  154. package/dist/esm/ag-grid-plus/schemes/types.js +1 -0
  155. package/dist/esm/ag-grid-plus/schemes/utils/validator.d.ts +27 -0
  156. package/dist/esm/ag-grid-plus/schemes/utils/validator.js +104 -0
  157. package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +17 -0
  158. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +946 -0
  159. package/dist/esm/ag-grid-plus/setting/index.d.ts +1 -1
  160. package/dist/esm/ag-grid-plus/setting/index.js +69 -107
  161. package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +66 -0
  162. package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.js +643 -0
  163. package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +76 -0
  164. package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.js +273 -0
  165. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +114 -0
  166. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +609 -0
  167. package/dist/esm/ag-grid-plus/storage/globalSyncManager.d.ts +100 -0
  168. package/dist/esm/ag-grid-plus/storage/globalSyncManager.js +321 -0
  169. package/dist/esm/ag-grid-plus/storage/index.d.ts +8 -0
  170. package/dist/esm/ag-grid-plus/storage/index.js +9 -0
  171. package/dist/esm/ag-grid-plus/storage/types.d.ts +144 -0
  172. package/dist/esm/ag-grid-plus/storage/types.js +1 -0
  173. package/dist/esm/ag-grid-plus/types.d.ts +310 -0
  174. package/dist/esm/ag-grid-plus/types.js +1 -0
  175. package/dist/esm/ag-grid-plus/utils/columnProcessors.d.ts +95 -0
  176. package/dist/esm/ag-grid-plus/utils/columnProcessors.js +251 -0
  177. package/dist/esm/ag-grid-plus/utils/constants.d.ts +41 -0
  178. package/dist/esm/ag-grid-plus/utils/constants.js +50 -0
  179. package/dist/esm/ag-grid-plus/utils/logger.d.ts +34 -0
  180. package/dist/esm/ag-grid-plus/utils/logger.js +114 -0
  181. package/dist/esm/ag-grid-plus/utils/sanitize.d.ts +15 -0
  182. package/dist/esm/ag-grid-plus/utils/sanitize.js +32 -0
  183. package/dist/esm/index.d.ts +3 -2
  184. package/dist/esm/index.js +8 -2
  185. package/dist/esm/standardFormDialog/useStandardFormSchema.d.ts +1 -1
  186. package/dist/esm/standardFormDialog/withStandardForm.d.ts +2 -2
  187. package/dist/umd/qc-ui.min.css +1 -1
  188. package/dist/umd/qc-ui.min.js +1 -1
  189. package/package.json +3 -2
@@ -0,0 +1,126 @@
1
+ import { ColumnState } from 'ag-grid-community';
2
+ /**
3
+ * 列配置方案数据结构
4
+ */
5
+ export interface ColumnScheme {
6
+ /** 方案唯一标识(UUID) */
7
+ id: string;
8
+ /** 方案名称(用户可编辑) */
9
+ name: string;
10
+ /** 是否为默认方案(首次加载自动应用) */
11
+ isDefault?: boolean;
12
+ /** 是否为系统预设方案(不可删除) */
13
+ isSystem?: boolean;
14
+ /** 创建时间戳 */
15
+ createdAt: number;
16
+ /** 更新时间戳 */
17
+ updatedAt: number;
18
+ /** AG-Grid 列状态数据 */
19
+ columnState: ColumnState[];
20
+ /** 方案描述(可选) */
21
+ description?: string;
22
+ /** 标签分类(可选,扩展功能) */
23
+ tags?: string[];
24
+ /** 共享级别(可选,扩展功能) */
25
+ shareLevel?: 'private' | 'team' | 'public';
26
+ }
27
+ /**
28
+ * 方案管理器配置
29
+ */
30
+ export interface SchemeManagerConfig {
31
+ /** 表格唯一标识 */
32
+ gridId: string;
33
+ /** 自定义存储适配器(可选) */
34
+ storageAdapter?: StorageAdapter;
35
+ /** 是否启用自动保存到当前方案(默认 true) */
36
+ enableAutoSave?: boolean;
37
+ /** 方案切换回调 */
38
+ onSchemeChange?: (scheme: ColumnScheme | null) => void;
39
+ /** 方案保存回调 */
40
+ onSchemeSave?: (scheme: ColumnScheme) => void;
41
+ /** 方案删除回调 */
42
+ onSchemeDelete?: (schemeId: string) => void;
43
+ }
44
+ /**
45
+ * 存储适配器接口
46
+ * 允许自定义存储实现(LocalStorage / IndexedDB / 后端API等)
47
+ */
48
+ export interface StorageAdapter {
49
+ /**
50
+ * 获取指定表格的所有方案
51
+ * @param gridId 表格唯一标识
52
+ * @returns 方案列表
53
+ */
54
+ getSchemes(gridId: string): Promise<ColumnScheme[]>;
55
+ /**
56
+ * 保存方案列表到存储
57
+ * @param gridId 表格唯一标识
58
+ * @param schemes 方案列表
59
+ */
60
+ saveSchemes(gridId: string, schemes: ColumnScheme[]): Promise<void>;
61
+ /**
62
+ * 清除指定表格的所有方案
63
+ * @param gridId 表格唯一标识
64
+ */
65
+ clearSchemes?(gridId: string): Promise<void>;
66
+ /**
67
+ * 获取当前激活的方案ID(用于刷新后恢复)
68
+ * @param gridId 表格唯一标识
69
+ * @returns 方案ID,如果没有则返回 null
70
+ */
71
+ getCurrentSchemeId?(gridId: string): Promise<string | null>;
72
+ /**
73
+ * 保存当前激活的方案ID
74
+ * @param gridId 表格唯一标识
75
+ * @param schemeId 方案ID,null 表示清除
76
+ */
77
+ saveCurrentSchemeId?(gridId: string, schemeId: string | null): Promise<void>;
78
+ }
79
+ /**
80
+ * 方案验证结果
81
+ */
82
+ export interface SchemeValidationResult {
83
+ /** 是否有效 */
84
+ valid: boolean;
85
+ /** 无效的列 ID 列表 */
86
+ invalidColumns: string[];
87
+ /** 验证后的有效列状态 */
88
+ validatedState: ColumnState[];
89
+ /** 警告信息 */
90
+ warnings?: string[];
91
+ }
92
+ /**
93
+ * 方案管理器 Hook 返回值
94
+ */
95
+ export interface UseColumnSchemesReturn {
96
+ /** 当前激活的方案 */
97
+ currentScheme: ColumnScheme | null;
98
+ /** 所有可用方案列表 */
99
+ schemes: ColumnScheme[];
100
+ /** 当前配置是否有未保存的修改 */
101
+ isDirty: boolean;
102
+ /** 是否正在加载 */
103
+ loading: boolean;
104
+ /** 加载指定方案 */
105
+ loadScheme: (schemeId: string) => Promise<void>;
106
+ /** 保存当前方案(更新现有方案) */
107
+ saveScheme: (updates?: Partial<ColumnScheme>) => Promise<void>;
108
+ /** 创建新方案 */
109
+ createScheme: (name: string, columnState: ColumnState[], options?: Partial<ColumnScheme>) => Promise<ColumnScheme>;
110
+ /** 更新方案信息(不影响 columnState) */
111
+ updateScheme: (schemeId: string, updates: Partial<Omit<ColumnScheme, 'id' | 'columnState'>>) => Promise<void>;
112
+ /** 删除方案 */
113
+ deleteScheme: (schemeId: string) => Promise<void>;
114
+ /** 重置到方案原始状态 */
115
+ resetToScheme: () => void;
116
+ /** 设置默认方案 */
117
+ setDefaultScheme: (schemeId: string) => Promise<void>;
118
+ /** 验证方案有效性 */
119
+ validateScheme: (scheme: ColumnScheme, currentColumnDefs: any[]) => SchemeValidationResult;
120
+ }
121
+ /**
122
+ * 旧格式列状态数据(用于迁移)
123
+ */
124
+ export interface LegacyColumnState {
125
+ [gridKey: string]: ColumnState[];
126
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,27 @@
1
+ import { ColumnScheme, SchemeValidationResult } from '../types';
2
+ /**
3
+ * 验证方案有效性
4
+ */
5
+ export declare function validateScheme(scheme: ColumnScheme, currentColumnDefs: any[]): SchemeValidationResult;
6
+ /**
7
+ * 验证方案名称
8
+ */
9
+ export declare function validateSchemeName(name: string): {
10
+ valid: boolean;
11
+ error?: string;
12
+ };
13
+ /**
14
+ * 验证方案描述
15
+ */
16
+ export declare function validateSchemeDescription(description: string): {
17
+ valid: boolean;
18
+ error?: string;
19
+ };
20
+ /**
21
+ * 检查方案名称是否重复
22
+ */
23
+ export declare function checkDuplicateName(name: string, schemes: ColumnScheme[], excludeId?: string): boolean;
24
+ /**
25
+ * 生成唯一的方案名称(处理重名情况)
26
+ */
27
+ export declare function generateUniqueName(baseName: string, schemes: ColumnScheme[]): string;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.checkDuplicateName = checkDuplicateName;
7
+ exports.generateUniqueName = generateUniqueName;
8
+ exports.validateScheme = validateScheme;
9
+ exports.validateSchemeDescription = validateSchemeDescription;
10
+ exports.validateSchemeName = validateSchemeName;
11
+ var _constants = require("../constants");
12
+ /**
13
+ * 验证方案有效性
14
+ */
15
+ function validateScheme(scheme, currentColumnDefs) {
16
+ var warnings = [];
17
+ var invalidColumns = [];
18
+ var validatedState = [];
19
+
20
+ // 获取当前有效的列 ID 集合
21
+ var validColIds = new Set(currentColumnDefs.filter(function (col) {
22
+ return col.field || col.colId;
23
+ }).map(function (col) {
24
+ return col.field || col.colId;
25
+ }));
26
+
27
+ // 验证每个列状态
28
+ scheme.columnState.forEach(function (columnState) {
29
+ var colId = columnState.colId;
30
+ if (!colId) {
31
+ warnings.push('发现没有 colId 的列状态');
32
+ return;
33
+ }
34
+
35
+ // 检查列是否仍然存在于表格定义中
36
+ if (!validColIds.has(colId)) {
37
+ invalidColumns.push(colId);
38
+ warnings.push("\u5217 \"".concat(colId, "\" \u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728"));
39
+ return;
40
+ }
41
+
42
+ // 列有效,添加到验证后的状态中
43
+ validatedState.push(columnState);
44
+ });
45
+ var valid = invalidColumns.length === 0;
46
+ if (!valid) {
47
+ warnings.push("\u5171\u6709 ".concat(invalidColumns.length, " \u4E2A\u5217\u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728\uFF0C\u5DF2\u81EA\u52A8\u8FC7\u6EE4"));
48
+ }
49
+ return {
50
+ valid: valid,
51
+ invalidColumns: invalidColumns,
52
+ validatedState: validatedState,
53
+ warnings: warnings.length > 0 ? warnings : undefined
54
+ };
55
+ }
56
+
57
+ /**
58
+ * 验证方案名称
59
+ */
60
+ function validateSchemeName(name) {
61
+ if (!name || name.trim().length === 0) {
62
+ return {
63
+ valid: false,
64
+ error: '方案名称不能为空'
65
+ };
66
+ }
67
+ if (name.length > _constants.MAX_SCHEME_NAME_LENGTH) {
68
+ return {
69
+ valid: false,
70
+ error: "\u65B9\u6848\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 ".concat(_constants.MAX_SCHEME_NAME_LENGTH, " \u4E2A\u5B57\u7B26")
71
+ };
72
+ }
73
+ return {
74
+ valid: true
75
+ };
76
+ }
77
+
78
+ /**
79
+ * 验证方案描述
80
+ */
81
+ function validateSchemeDescription(description) {
82
+ if (description && description.length > _constants.MAX_SCHEME_DESCRIPTION_LENGTH) {
83
+ return {
84
+ valid: false,
85
+ error: "\u65B9\u6848\u63CF\u8FF0\u4E0D\u80FD\u8D85\u8FC7 ".concat(_constants.MAX_SCHEME_DESCRIPTION_LENGTH, " \u4E2A\u5B57\u7B26")
86
+ };
87
+ }
88
+ return {
89
+ valid: true
90
+ };
91
+ }
92
+
93
+ /**
94
+ * 检查方案名称是否重复
95
+ */
96
+ function checkDuplicateName(name, schemes, excludeId) {
97
+ return schemes.some(function (scheme) {
98
+ return scheme.name === name && scheme.id !== excludeId;
99
+ });
100
+ }
101
+
102
+ /**
103
+ * 生成唯一的方案名称(处理重名情况)
104
+ */
105
+ function generateUniqueName(baseName, schemes) {
106
+ var name = baseName;
107
+ var counter = 1;
108
+ while (checkDuplicateName(name, schemes)) {
109
+ name = "".concat(baseName, " (").concat(counter, ")");
110
+ counter++;
111
+ }
112
+ return name;
113
+ }
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { GridApi } from 'ag-grid-community';
3
+ import type { UseColumnSchemesReturn } from '../schemes/types';
4
+ interface ColumnSettingProps {
5
+ gridKey: string;
6
+ gridApi: GridApi;
7
+ visible: boolean;
8
+ onClose: () => void;
9
+ onSaveColumnState: (state: any) => void;
10
+ schemeManager?: UseColumnSchemesReturn;
11
+ type?: string;
12
+ }
13
+ /**
14
+ * 列设置组件 - 集成列配置和列方案管理
15
+ */
16
+ declare const ColumnSetting: React.FC<ColumnSettingProps>;
17
+ export default ColumnSetting;