@nokecy/qc-ui 1.0.94 → 1.0.96

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 (152) hide show
  1. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +252 -173
  2. package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +108 -20
  3. package/dist/cjs/ag-grid-plus/context/gridContext.js +12 -4
  4. package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.d.ts +88 -0
  5. package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +173 -0
  6. package/dist/cjs/ag-grid-plus/context/useSchemeManager.d.ts +111 -0
  7. package/dist/cjs/ag-grid-plus/context/useSchemeManager.js +596 -0
  8. package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.d.ts +1 -1
  9. package/dist/cjs/ag-grid-plus/hooks/useAgGridData.d.ts +2 -2
  10. package/dist/cjs/ag-grid-plus/index.d.ts +7 -2
  11. package/dist/cjs/ag-grid-plus/index.js +11 -93
  12. package/dist/cjs/ag-grid-plus/interface.d.ts +0 -31
  13. package/dist/cjs/ag-grid-plus/interface.js +3 -0
  14. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +0 -3
  15. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +279 -145
  16. package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.d.ts +11 -0
  17. package/dist/cjs/ag-grid-plus/{querySchemes/components/QuerySchemesManager.js → setting/QuerySchemeManager.js} +193 -108
  18. package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -2
  19. package/dist/cjs/ag-grid-plus/setting/index.js +33 -48
  20. package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.d.ts +58 -0
  21. package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.js +446 -0
  22. package/dist/cjs/ag-grid-plus/shared/storage/localStorageAdapter.d.ts +57 -0
  23. package/dist/cjs/ag-grid-plus/{schemes → shared}/storage/localStorageAdapter.js +253 -271
  24. package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
  25. package/dist/cjs/array-table/index.js +167 -45
  26. package/dist/cjs/index.d.ts +3 -3
  27. package/dist/cjs/index.js +14 -86
  28. package/dist/esm/ag-grid-plus/ag-gridPlus.js +252 -173
  29. package/dist/esm/ag-grid-plus/context/gridContext.d.ts +108 -20
  30. package/dist/esm/ag-grid-plus/context/gridContext.js +13 -4
  31. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.d.ts +88 -0
  32. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +165 -0
  33. package/dist/esm/ag-grid-plus/context/useSchemeManager.d.ts +111 -0
  34. package/dist/esm/ag-grid-plus/context/useSchemeManager.js +590 -0
  35. package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.d.ts +1 -1
  36. package/dist/esm/ag-grid-plus/hooks/useAgGridData.d.ts +2 -2
  37. package/dist/esm/ag-grid-plus/index.d.ts +7 -2
  38. package/dist/esm/ag-grid-plus/index.js +9 -5
  39. package/dist/esm/ag-grid-plus/interface.d.ts +0 -31
  40. package/dist/esm/ag-grid-plus/interface.js +2 -0
  41. package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +0 -3
  42. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +281 -147
  43. package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.d.ts +11 -0
  44. package/dist/esm/ag-grid-plus/{querySchemes/components/QuerySchemesManager.js → setting/QuerySchemeManager.js} +192 -107
  45. package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -2
  46. package/dist/esm/ag-grid-plus/setting/index.js +33 -48
  47. package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.d.ts +58 -0
  48. package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +444 -0
  49. package/dist/esm/ag-grid-plus/shared/storage/localStorageAdapter.d.ts +57 -0
  50. package/dist/esm/ag-grid-plus/{schemes → shared}/storage/localStorageAdapter.js +252 -271
  51. package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
  52. package/dist/esm/array-table/index.js +168 -46
  53. package/dist/esm/index.d.ts +3 -3
  54. package/dist/esm/index.js +11 -11
  55. package/dist/esm/standardFormDialog/useStandardFormSchema.d.ts +1 -1
  56. package/dist/umd/qc-ui.min.css +1 -1
  57. package/dist/umd/qc-ui.min.js +1 -1
  58. package/package.json +1 -1
  59. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
  60. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
  61. package/dist/cjs/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
  62. package/dist/cjs/ag-grid-plus/querySchemes/components/index.js +0 -12
  63. package/dist/cjs/ag-grid-plus/querySchemes/constants.d.ts +0 -17
  64. package/dist/cjs/ag-grid-plus/querySchemes/constants.js +0 -30
  65. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
  66. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -65
  67. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
  68. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +0 -564
  69. package/dist/cjs/ag-grid-plus/querySchemes/index.d.ts +0 -11
  70. package/dist/cjs/ag-grid-plus/querySchemes/index.js +0 -113
  71. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
  72. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -261
  73. package/dist/cjs/ag-grid-plus/querySchemes/types.d.ts +0 -145
  74. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
  75. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.js +0 -155
  76. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
  77. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.js +0 -342
  78. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
  79. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
  80. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +0 -289
  81. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
  82. package/dist/cjs/ag-grid-plus/schemes/components/index.d.ts +0 -4
  83. package/dist/cjs/ag-grid-plus/schemes/components/index.js +0 -19
  84. package/dist/cjs/ag-grid-plus/schemes/constants.d.ts +0 -23
  85. package/dist/cjs/ag-grid-plus/schemes/constants.js +0 -39
  86. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
  87. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -617
  88. package/dist/cjs/ag-grid-plus/schemes/index.d.ts +0 -23
  89. package/dist/cjs/ag-grid-plus/schemes/index.js +0 -164
  90. package/dist/cjs/ag-grid-plus/schemes/storage/configMerger.d.ts +0 -10
  91. package/dist/cjs/ag-grid-plus/schemes/storage/configMerger.js +0 -34
  92. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -79
  93. package/dist/cjs/ag-grid-plus/schemes/storage/priorityStorageAdapter.d.ts +0 -122
  94. package/dist/cjs/ag-grid-plus/schemes/storage/priorityStorageAdapter.js +0 -476
  95. package/dist/cjs/ag-grid-plus/schemes/storage/remoteStorageAdapter.d.ts +0 -139
  96. package/dist/cjs/ag-grid-plus/schemes/storage/remoteStorageAdapter.js +0 -746
  97. package/dist/cjs/ag-grid-plus/schemes/storage/useRemoteStorage.d.ts +0 -29
  98. package/dist/cjs/ag-grid-plus/schemes/storage/useRemoteStorage.js +0 -45
  99. package/dist/cjs/ag-grid-plus/schemes/types.d.ts +0 -131
  100. package/dist/cjs/ag-grid-plus/schemes/types.js +0 -5
  101. package/dist/cjs/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
  102. package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +0 -109
  103. package/dist/cjs/ag-grid-plus/storage/index.d.ts +0 -13
  104. package/dist/cjs/ag-grid-plus/storage/index.js +0 -5
  105. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
  106. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
  107. package/dist/esm/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
  108. package/dist/esm/ag-grid-plus/querySchemes/components/index.js +0 -5
  109. package/dist/esm/ag-grid-plus/querySchemes/constants.d.ts +0 -17
  110. package/dist/esm/ag-grid-plus/querySchemes/constants.js +0 -24
  111. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
  112. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -60
  113. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
  114. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +0 -559
  115. package/dist/esm/ag-grid-plus/querySchemes/index.d.ts +0 -11
  116. package/dist/esm/ag-grid-plus/querySchemes/index.js +0 -20
  117. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
  118. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -256
  119. package/dist/esm/ag-grid-plus/querySchemes/types.d.ts +0 -145
  120. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
  121. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.js +0 -144
  122. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
  123. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.js +0 -334
  124. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
  125. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
  126. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +0 -281
  127. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
  128. package/dist/esm/ag-grid-plus/schemes/components/index.d.ts +0 -4
  129. package/dist/esm/ag-grid-plus/schemes/components/index.js +0 -2
  130. package/dist/esm/ag-grid-plus/schemes/constants.d.ts +0 -23
  131. package/dist/esm/ag-grid-plus/schemes/constants.js +0 -33
  132. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
  133. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -612
  134. package/dist/esm/ag-grid-plus/schemes/index.d.ts +0 -23
  135. package/dist/esm/ag-grid-plus/schemes/index.js +0 -30
  136. package/dist/esm/ag-grid-plus/schemes/storage/configMerger.d.ts +0 -10
  137. package/dist/esm/ag-grid-plus/schemes/storage/configMerger.js +0 -28
  138. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -79
  139. package/dist/esm/ag-grid-plus/schemes/storage/priorityStorageAdapter.d.ts +0 -122
  140. package/dist/esm/ag-grid-plus/schemes/storage/priorityStorageAdapter.js +0 -471
  141. package/dist/esm/ag-grid-plus/schemes/storage/remoteStorageAdapter.d.ts +0 -139
  142. package/dist/esm/ag-grid-plus/schemes/storage/remoteStorageAdapter.js +0 -746
  143. package/dist/esm/ag-grid-plus/schemes/storage/useRemoteStorage.d.ts +0 -29
  144. package/dist/esm/ag-grid-plus/schemes/storage/useRemoteStorage.js +0 -40
  145. package/dist/esm/ag-grid-plus/schemes/types.d.ts +0 -131
  146. package/dist/esm/ag-grid-plus/schemes/types.js +0 -1
  147. package/dist/esm/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
  148. package/dist/esm/ag-grid-plus/schemes/utils/validator.js +0 -100
  149. package/dist/esm/ag-grid-plus/storage/index.d.ts +0 -13
  150. package/dist/esm/ag-grid-plus/storage/index.js +0 -17
  151. /package/dist/cjs/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
  152. /package/dist/esm/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
@@ -1,29 +0,0 @@
1
- import { RemoteStorageAdapter, RemoteStorageConfig } from './remoteStorageAdapter';
2
- /**
3
- * 使用全局配置创建 RemoteStorageAdapter
4
- * 自动从 GridPlusContext 获取全局配置并与局部配置合并
5
- *
6
- * @param localConfig 局部配置,会覆盖全局配置
7
- * @returns RemoteStorageAdapter 实例
8
- *
9
- * @example
10
- * ```tsx
11
- * // 1. 在顶层提供全局配置
12
- * <GridPlusContext.Provider value={{
13
- * remoteStorageConfig: {
14
- * apiBaseUrl: 'https://api.example.com',
15
- * getToken: () => localStorage.getItem('token'),
16
- * getUserId: () => localStorage.getItem('userId'),
17
- * }
18
- * }}>
19
- * <AgGridPlus ... />
20
- * </GridPlusContext.Provider>
21
- *
22
- * // 2. 在组件中使用(会自动合并全局配置)
23
- * const adapter = useRemoteStorage({
24
- * // 仅需提供差异配置,其他从全局继承
25
- * apiVersion: 'v2', // 覆盖全局的 apiVersion
26
- * });
27
- * ```
28
- */
29
- export declare function useRemoteStorage(localConfig?: Partial<RemoteStorageConfig>): RemoteStorageAdapter;
@@ -1,40 +0,0 @@
1
- import { useContext, useMemo } from 'react';
2
- import { GridPlusContext } from "../../context/gridContext";
3
- import { RemoteStorageAdapter } from "./remoteStorageAdapter";
4
- import { mergeRemoteStorageConfig } from "./configMerger";
5
-
6
- /**
7
- * 使用全局配置创建 RemoteStorageAdapter
8
- * 自动从 GridPlusContext 获取全局配置并与局部配置合并
9
- *
10
- * @param localConfig 局部配置,会覆盖全局配置
11
- * @returns RemoteStorageAdapter 实例
12
- *
13
- * @example
14
- * ```tsx
15
- * // 1. 在顶层提供全局配置
16
- * <GridPlusContext.Provider value={{
17
- * remoteStorageConfig: {
18
- * apiBaseUrl: 'https://api.example.com',
19
- * getToken: () => localStorage.getItem('token'),
20
- * getUserId: () => localStorage.getItem('userId'),
21
- * }
22
- * }}>
23
- * <AgGridPlus ... />
24
- * </GridPlusContext.Provider>
25
- *
26
- * // 2. 在组件中使用(会自动合并全局配置)
27
- * const adapter = useRemoteStorage({
28
- * // 仅需提供差异配置,其他从全局继承
29
- * apiVersion: 'v2', // 覆盖全局的 apiVersion
30
- * });
31
- * ```
32
- */
33
- export function useRemoteStorage(localConfig) {
34
- var context = useContext(GridPlusContext);
35
- return useMemo(function () {
36
- // 合并全局配置和局部配置
37
- var mergedConfig = mergeRemoteStorageConfig(context.remoteStorageConfig, localConfig);
38
- return new RemoteStorageAdapter(mergedConfig);
39
- }, [context.remoteStorageConfig, localConfig]);
40
- }
@@ -1,131 +0,0 @@
1
- import { ColumnState } from 'ag-grid-community';
2
- import type { FlatColumnItem } from '../setting/columnGroupTypes';
3
- /**
4
- * 列配置方案数据结构
5
- */
6
- export interface ColumnScheme {
7
- /** 方案唯一标识(UUID) */
8
- id: string;
9
- /** 方案名称(用户可编辑) */
10
- name: string;
11
- /** 是否为默认方案(首次加载自动应用) */
12
- isDefault?: boolean;
13
- /** 是否为系统预设方案(不可删除) */
14
- isSystem?: boolean;
15
- /** 创建时间戳 */
16
- createdAt: number;
17
- /** 更新时间戳 */
18
- updatedAt: number;
19
- /** 完整的列配置数据(包含分组层级结构) */
20
- columnConfig: FlatColumnItem[];
21
- /** AG-Grid 过滤器模型数据(可选) */
22
- filterModel?: any;
23
- /** 方案描述(可选) */
24
- description?: string;
25
- /** 标签分类(可选,扩展功能) */
26
- tags?: string[];
27
- /** 共享级别(可选,扩展功能) */
28
- shareLevel?: 'private' | 'team' | 'public';
29
- }
30
- /**
31
- * 方案管理器配置
32
- */
33
- export interface SchemeManagerConfig {
34
- /** 表格唯一标识 */
35
- gridId: string;
36
- /** 自定义存储适配器(可选) */
37
- storageAdapter?: StorageAdapter;
38
- /** 是否启用自动保存到当前方案(默认 true) */
39
- enableAutoSave?: boolean;
40
- /** 方案切换回调 */
41
- onSchemeChange?: (scheme: ColumnScheme | null) => void;
42
- /** 方案保存回调 */
43
- onSchemeSave?: (scheme: ColumnScheme) => void;
44
- /** 方案删除回调 */
45
- onSchemeDelete?: (schemeId: string) => void;
46
- }
47
- /**
48
- * 存储适配器接口
49
- * 允许自定义存储实现(LocalStorage / IndexedDB / 后端API等)
50
- */
51
- export interface StorageAdapter {
52
- /**
53
- * 获取指定表格的所有方案
54
- * @param gridId 表格唯一标识
55
- * @returns 方案列表
56
- */
57
- getSchemes(gridId: string): Promise<ColumnScheme[]>;
58
- /**
59
- * 保存方案列表到存储
60
- * @param gridId 表格唯一标识
61
- * @param schemes 方案列表
62
- */
63
- saveSchemes(gridId: string, schemes: ColumnScheme[]): Promise<void>;
64
- /**
65
- * 清除指定表格的所有方案
66
- * @param gridId 表格唯一标识
67
- */
68
- clearSchemes?(gridId: string): Promise<void>;
69
- /**
70
- * 获取当前激活的方案ID(用于刷新后恢复)
71
- * @param gridId 表格唯一标识
72
- * @returns 方案ID,如果没有则返回 null
73
- */
74
- getCurrentSchemeId?(gridId: string): Promise<string | null>;
75
- /**
76
- * 保存当前激活的方案ID
77
- * @param gridId 表格唯一标识
78
- * @param schemeId 方案ID,null 表示清除
79
- */
80
- saveCurrentSchemeId?(gridId: string, schemeId: string | null): Promise<void>;
81
- }
82
- /**
83
- * 方案验证结果
84
- */
85
- export interface SchemeValidationResult {
86
- /** 是否有效 */
87
- valid: boolean;
88
- /** 无效的列 ID 列表 */
89
- invalidColumns: string[];
90
- /** 验证后的有效列状态 */
91
- validatedState: ColumnState[];
92
- /** 警告信息 */
93
- warnings?: string[];
94
- }
95
- /**
96
- * 方案管理器 Hook 返回值
97
- */
98
- export interface UseColumnSchemesReturn {
99
- /** 当前激活的方案 */
100
- currentScheme: ColumnScheme | null;
101
- /** 所有可用方案列表 */
102
- schemes: ColumnScheme[];
103
- /** 当前配置是否有未保存的修改 */
104
- isDirty: boolean;
105
- /** 是否正在加载 */
106
- loading: boolean;
107
- /** 加载指定方案 */
108
- loadScheme: (schemeId: string) => Promise<void>;
109
- /** 保存当前方案(更新现有方案) */
110
- saveScheme: (updates?: Partial<ColumnScheme>) => Promise<void>;
111
- /** 创建新方案 */
112
- createScheme: (name: string, columnConfig: FlatColumnItem[], options?: Partial<ColumnScheme> & {
113
- activate?: boolean;
114
- }) => Promise<ColumnScheme>;
115
- /** 更新方案信息(不影响 columnConfig) */
116
- updateScheme: (schemeId: string, updates: Partial<Omit<ColumnScheme, 'id' | 'columnConfig'>>) => Promise<void>;
117
- /** 删除方案 */
118
- deleteScheme: (schemeId: string) => Promise<void>;
119
- /** 重置到方案原始状态 */
120
- resetToScheme: () => void;
121
- /** 设置默认方案 */
122
- setDefaultScheme: (schemeId: string) => Promise<void>;
123
- /** 验证方案有效性 */
124
- validateScheme: (scheme: ColumnScheme, currentColumnDefs: any[]) => SchemeValidationResult;
125
- }
126
- /**
127
- * 旧格式列状态数据(用于迁移)
128
- */
129
- export interface LegacyColumnState {
130
- [gridKey: string]: ColumnState[];
131
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
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;
@@ -1,100 +0,0 @@
1
- import { MAX_SCHEME_NAME_LENGTH, MAX_SCHEME_DESCRIPTION_LENGTH } from "../constants";
2
-
3
- /**
4
- * 验证方案有效性
5
- */
6
- export function validateScheme(scheme, currentColumnDefs) {
7
- var warnings = [];
8
- var invalidColumns = [];
9
- var validatedState = [];
10
-
11
- // 获取当前有效的列 field 集合
12
- var validFields = new Set(currentColumnDefs.filter(function (col) {
13
- return col.field || col.colId;
14
- }).map(function (col) {
15
- return col.field || col.colId;
16
- }));
17
-
18
- // 验证每个列配置项
19
- scheme.columnConfig.forEach(function (item) {
20
- // 只验证列类型(非分组),因为分组没有对应的 field
21
- if (item.type === 'column' && item.field) {
22
- // 检查列是否仍然存在于表格定义中
23
- if (!validFields.has(item.field)) {
24
- invalidColumns.push(item.field);
25
- warnings.push("\u5217 \"".concat(item.field, "\" \u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728"));
26
- }
27
- }
28
- });
29
- var valid = invalidColumns.length === 0;
30
- if (!valid) {
31
- warnings.push("\u5171\u6709 ".concat(invalidColumns.length, " \u4E2A\u5217\u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728\uFF0C\u5DF2\u81EA\u52A8\u8FC7\u6EE4"));
32
- }
33
-
34
- // 注意: validatedState 保持为空数组,因为 columnConfig 不是 ColumnState 格式
35
- // 如果需要转换,应在调用方进行
36
- return {
37
- valid: valid,
38
- invalidColumns: invalidColumns,
39
- validatedState: validatedState,
40
- warnings: warnings.length > 0 ? warnings : undefined
41
- };
42
- }
43
-
44
- /**
45
- * 验证方案名称
46
- */
47
- export function validateSchemeName(name) {
48
- if (!name || name.trim().length === 0) {
49
- return {
50
- valid: false,
51
- error: '方案名称不能为空'
52
- };
53
- }
54
- if (name.length > MAX_SCHEME_NAME_LENGTH) {
55
- return {
56
- valid: false,
57
- error: "\u65B9\u6848\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 ".concat(MAX_SCHEME_NAME_LENGTH, " \u4E2A\u5B57\u7B26")
58
- };
59
- }
60
- return {
61
- valid: true
62
- };
63
- }
64
-
65
- /**
66
- * 验证方案描述
67
- */
68
- export function validateSchemeDescription(description) {
69
- if (description && description.length > MAX_SCHEME_DESCRIPTION_LENGTH) {
70
- return {
71
- valid: false,
72
- error: "\u65B9\u6848\u63CF\u8FF0\u4E0D\u80FD\u8D85\u8FC7 ".concat(MAX_SCHEME_DESCRIPTION_LENGTH, " \u4E2A\u5B57\u7B26")
73
- };
74
- }
75
- return {
76
- valid: true
77
- };
78
- }
79
-
80
- /**
81
- * 检查方案名称是否重复
82
- */
83
- export function checkDuplicateName(name, schemes, excludeId) {
84
- return schemes.some(function (scheme) {
85
- return scheme.name === name && scheme.id !== excludeId;
86
- });
87
- }
88
-
89
- /**
90
- * 生成唯一的方案名称(处理重名情况)
91
- */
92
- export function generateUniqueName(baseName, schemes) {
93
- var name = baseName;
94
- var counter = 1;
95
- while (checkDuplicateName(name, schemes)) {
96
- name = "".concat(baseName, " (").concat(counter, ")");
97
- counter++;
98
- }
99
- return name;
100
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * 方案存储模块
3
- *
4
- * @deprecated 整个 storage 模块已废弃
5
- *
6
- * SchemeSyncManager 和全局同步系统已被完全移除。
7
- * 请使用 RemoteStorageAdapter 替代。
8
- *
9
- * @see RemoteStorageAdapter - 新的远程存储适配器
10
- *
11
- * 迁移指南: docs/ag-grid-plus/DEPRECATION-NOTICE.md
12
- */
13
- export {};
@@ -1,17 +0,0 @@
1
- /**
2
- * 方案存储模块
3
- *
4
- * @deprecated 整个 storage 模块已废弃
5
- *
6
- * SchemeSyncManager 和全局同步系统已被完全移除。
7
- * 请使用 RemoteStorageAdapter 替代。
8
- *
9
- * @see RemoteStorageAdapter - 新的远程存储适配器
10
- *
11
- * 迁移指南: docs/ag-grid-plus/DEPRECATION-NOTICE.md
12
- */
13
-
14
- // 此文件仅保留用于向后兼容性说明
15
- // 所有实际代码已移除
16
-
17
- export {};