@nokecy/qc-ui 1.0.94 → 1.0.95

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 (150) 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 +77 -19
  3. package/dist/cjs/ag-grid-plus/context/gridContext.js +0 -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 +78 -0
  7. package/dist/cjs/ag-grid-plus/{querySchemes/hooks/useQuerySchemes.js → context/useSchemeManager.js} +421 -449
  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 +77 -19
  30. package/dist/esm/ag-grid-plus/context/gridContext.js +0 -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 +78 -0
  34. package/dist/esm/ag-grid-plus/{querySchemes/hooks/useQuerySchemes.js → context/useSchemeManager.js} +420 -449
  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/index.d.ts +0 -11
  69. package/dist/cjs/ag-grid-plus/querySchemes/index.js +0 -113
  70. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
  71. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -261
  72. package/dist/cjs/ag-grid-plus/querySchemes/types.d.ts +0 -145
  73. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
  74. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.js +0 -155
  75. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
  76. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.js +0 -342
  77. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
  78. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
  79. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +0 -289
  80. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
  81. package/dist/cjs/ag-grid-plus/schemes/components/index.d.ts +0 -4
  82. package/dist/cjs/ag-grid-plus/schemes/components/index.js +0 -19
  83. package/dist/cjs/ag-grid-plus/schemes/constants.d.ts +0 -23
  84. package/dist/cjs/ag-grid-plus/schemes/constants.js +0 -39
  85. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
  86. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -617
  87. package/dist/cjs/ag-grid-plus/schemes/index.d.ts +0 -23
  88. package/dist/cjs/ag-grid-plus/schemes/index.js +0 -164
  89. package/dist/cjs/ag-grid-plus/schemes/storage/configMerger.d.ts +0 -10
  90. package/dist/cjs/ag-grid-plus/schemes/storage/configMerger.js +0 -34
  91. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -79
  92. package/dist/cjs/ag-grid-plus/schemes/storage/priorityStorageAdapter.d.ts +0 -122
  93. package/dist/cjs/ag-grid-plus/schemes/storage/priorityStorageAdapter.js +0 -476
  94. package/dist/cjs/ag-grid-plus/schemes/storage/remoteStorageAdapter.d.ts +0 -139
  95. package/dist/cjs/ag-grid-plus/schemes/storage/remoteStorageAdapter.js +0 -746
  96. package/dist/cjs/ag-grid-plus/schemes/storage/useRemoteStorage.d.ts +0 -29
  97. package/dist/cjs/ag-grid-plus/schemes/storage/useRemoteStorage.js +0 -45
  98. package/dist/cjs/ag-grid-plus/schemes/types.d.ts +0 -131
  99. package/dist/cjs/ag-grid-plus/schemes/types.js +0 -5
  100. package/dist/cjs/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
  101. package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +0 -109
  102. package/dist/cjs/ag-grid-plus/storage/index.d.ts +0 -13
  103. package/dist/cjs/ag-grid-plus/storage/index.js +0 -5
  104. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
  105. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
  106. package/dist/esm/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
  107. package/dist/esm/ag-grid-plus/querySchemes/components/index.js +0 -5
  108. package/dist/esm/ag-grid-plus/querySchemes/constants.d.ts +0 -17
  109. package/dist/esm/ag-grid-plus/querySchemes/constants.js +0 -24
  110. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
  111. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -60
  112. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
  113. package/dist/esm/ag-grid-plus/querySchemes/index.d.ts +0 -11
  114. package/dist/esm/ag-grid-plus/querySchemes/index.js +0 -20
  115. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
  116. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -256
  117. package/dist/esm/ag-grid-plus/querySchemes/types.d.ts +0 -145
  118. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
  119. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.js +0 -144
  120. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
  121. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.js +0 -334
  122. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
  123. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
  124. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +0 -281
  125. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
  126. package/dist/esm/ag-grid-plus/schemes/components/index.d.ts +0 -4
  127. package/dist/esm/ag-grid-plus/schemes/components/index.js +0 -2
  128. package/dist/esm/ag-grid-plus/schemes/constants.d.ts +0 -23
  129. package/dist/esm/ag-grid-plus/schemes/constants.js +0 -33
  130. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
  131. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -612
  132. package/dist/esm/ag-grid-plus/schemes/index.d.ts +0 -23
  133. package/dist/esm/ag-grid-plus/schemes/index.js +0 -30
  134. package/dist/esm/ag-grid-plus/schemes/storage/configMerger.d.ts +0 -10
  135. package/dist/esm/ag-grid-plus/schemes/storage/configMerger.js +0 -28
  136. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -79
  137. package/dist/esm/ag-grid-plus/schemes/storage/priorityStorageAdapter.d.ts +0 -122
  138. package/dist/esm/ag-grid-plus/schemes/storage/priorityStorageAdapter.js +0 -471
  139. package/dist/esm/ag-grid-plus/schemes/storage/remoteStorageAdapter.d.ts +0 -139
  140. package/dist/esm/ag-grid-plus/schemes/storage/remoteStorageAdapter.js +0 -746
  141. package/dist/esm/ag-grid-plus/schemes/storage/useRemoteStorage.d.ts +0 -29
  142. package/dist/esm/ag-grid-plus/schemes/storage/useRemoteStorage.js +0 -40
  143. package/dist/esm/ag-grid-plus/schemes/types.d.ts +0 -131
  144. package/dist/esm/ag-grid-plus/schemes/types.js +0 -1
  145. package/dist/esm/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
  146. package/dist/esm/ag-grid-plus/schemes/utils/validator.js +0 -100
  147. package/dist/esm/ag-grid-plus/storage/index.d.ts +0 -13
  148. package/dist/esm/ag-grid-plus/storage/index.js +0 -17
  149. /package/dist/cjs/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
  150. /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,45 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useRemoteStorage = useRemoteStorage;
7
- var _react = require("react");
8
- var _gridContext = require("../../context/gridContext");
9
- var _remoteStorageAdapter = require("./remoteStorageAdapter");
10
- var _configMerger = require("./configMerger");
11
- /**
12
- * 使用全局配置创建 RemoteStorageAdapter
13
- * 自动从 GridPlusContext 获取全局配置并与局部配置合并
14
- *
15
- * @param localConfig 局部配置,会覆盖全局配置
16
- * @returns RemoteStorageAdapter 实例
17
- *
18
- * @example
19
- * ```tsx
20
- * // 1. 在顶层提供全局配置
21
- * <GridPlusContext.Provider value={{
22
- * remoteStorageConfig: {
23
- * apiBaseUrl: 'https://api.example.com',
24
- * getToken: () => localStorage.getItem('token'),
25
- * getUserId: () => localStorage.getItem('userId'),
26
- * }
27
- * }}>
28
- * <AgGridPlus ... />
29
- * </GridPlusContext.Provider>
30
- *
31
- * // 2. 在组件中使用(会自动合并全局配置)
32
- * const adapter = useRemoteStorage({
33
- * // 仅需提供差异配置,其他从全局继承
34
- * apiVersion: 'v2', // 覆盖全局的 apiVersion
35
- * });
36
- * ```
37
- */
38
- function useRemoteStorage(localConfig) {
39
- var context = (0, _react.useContext)(_gridContext.GridPlusContext);
40
- return (0, _react.useMemo)(function () {
41
- // 合并全局配置和局部配置
42
- var mergedConfig = (0, _configMerger.mergeRemoteStorageConfig)(context.remoteStorageConfig, localConfig);
43
- return new _remoteStorageAdapter.RemoteStorageAdapter(mergedConfig);
44
- }, [context.remoteStorageConfig, localConfig]);
45
- }
@@ -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,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -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,109 +0,0 @@
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
- // 获取当前有效的列 field 集合
21
- var validFields = 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.columnConfig.forEach(function (item) {
29
- // 只验证列类型(非分组),因为分组没有对应的 field
30
- if (item.type === 'column' && item.field) {
31
- // 检查列是否仍然存在于表格定义中
32
- if (!validFields.has(item.field)) {
33
- invalidColumns.push(item.field);
34
- warnings.push("\u5217 \"".concat(item.field, "\" \u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728"));
35
- }
36
- }
37
- });
38
- var valid = invalidColumns.length === 0;
39
- if (!valid) {
40
- warnings.push("\u5171\u6709 ".concat(invalidColumns.length, " \u4E2A\u5217\u5728\u5F53\u524D\u8868\u683C\u4E2D\u4E0D\u5B58\u5728\uFF0C\u5DF2\u81EA\u52A8\u8FC7\u6EE4"));
41
- }
42
-
43
- // 注意: validatedState 保持为空数组,因为 columnConfig 不是 ColumnState 格式
44
- // 如果需要转换,应在调用方进行
45
- return {
46
- valid: valid,
47
- invalidColumns: invalidColumns,
48
- validatedState: validatedState,
49
- warnings: warnings.length > 0 ? warnings : undefined
50
- };
51
- }
52
-
53
- /**
54
- * 验证方案名称
55
- */
56
- function validateSchemeName(name) {
57
- if (!name || name.trim().length === 0) {
58
- return {
59
- valid: false,
60
- error: '方案名称不能为空'
61
- };
62
- }
63
- if (name.length > _constants.MAX_SCHEME_NAME_LENGTH) {
64
- return {
65
- valid: false,
66
- error: "\u65B9\u6848\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 ".concat(_constants.MAX_SCHEME_NAME_LENGTH, " \u4E2A\u5B57\u7B26")
67
- };
68
- }
69
- return {
70
- valid: true
71
- };
72
- }
73
-
74
- /**
75
- * 验证方案描述
76
- */
77
- function validateSchemeDescription(description) {
78
- if (description && description.length > _constants.MAX_SCHEME_DESCRIPTION_LENGTH) {
79
- return {
80
- valid: false,
81
- error: "\u65B9\u6848\u63CF\u8FF0\u4E0D\u80FD\u8D85\u8FC7 ".concat(_constants.MAX_SCHEME_DESCRIPTION_LENGTH, " \u4E2A\u5B57\u7B26")
82
- };
83
- }
84
- return {
85
- valid: true
86
- };
87
- }
88
-
89
- /**
90
- * 检查方案名称是否重复
91
- */
92
- function checkDuplicateName(name, schemes, excludeId) {
93
- return schemes.some(function (scheme) {
94
- return scheme.name === name && scheme.id !== excludeId;
95
- });
96
- }
97
-
98
- /**
99
- * 生成唯一的方案名称(处理重名情况)
100
- */
101
- function generateUniqueName(baseName, schemes) {
102
- var name = baseName;
103
- var counter = 1;
104
- while (checkDuplicateName(name, schemes)) {
105
- name = "".concat(baseName, " (").concat(counter, ")");
106
- counter++;
107
- }
108
- return name;
109
- }
@@ -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,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- import type { UseQuerySchemesReturn, QueryFormItemWithOrder } from '../types';
3
- import './QuerySchemesManager.less';
4
- export interface QuerySchemesManagerProps {
5
- /** 方案管理器 */
6
- schemeManager: UseQuerySchemesReturn;
7
- /** 表单项列表 */
8
- formItems: QueryFormItemWithOrder[];
9
- /** 当前查询项顺序 */
10
- currentOrder: string[];
11
- /** 模态框是否可见 */
12
- visible: boolean;
13
- /** 关闭回调 */
14
- onClose: () => void;
15
- /** 顺序变更回调 */
16
- onOrderChange: (order: string[]) => void;
17
- }
18
- /**
19
- * 查询方案管理组件
20
- */
21
- export declare const QuerySchemesManager: React.FC<QuerySchemesManagerProps>;
@@ -1,86 +0,0 @@
1
- .query-schemes-manager-modal {
2
- .query-order-editor {
3
- .query-order-tips {
4
- font-size: 14px;
5
- line-height: 1.5;
6
- margin-bottom: 16px;
7
- padding: 12px;
8
- background: #e6f7ff;
9
- border: 1px solid #91d5ff;
10
- border-radius: 4px;
11
- color: rgba(0, 0, 0, 0.85);
12
- }
13
-
14
- .query-items-container {
15
- max-height: 400px;
16
- overflow-y: auto;
17
- padding: 8px;
18
- background: #fafafa;
19
- border: 1px solid #d9d9d9;
20
- border-radius: 4px;
21
-
22
- // 美化滚动条
23
- &::-webkit-scrollbar {
24
- width: 8px;
25
- }
26
-
27
- &::-webkit-scrollbar-track {
28
- background: #f0f0f0;
29
- border-radius: 4px;
30
- }
31
-
32
- &::-webkit-scrollbar-thumb {
33
- background: #bfbfbf;
34
- border-radius: 4px;
35
-
36
- &:hover {
37
- background: #999;
38
- }
39
- }
40
- }
41
-
42
- .query-item-draggable {
43
- transition: all 0.3s;
44
- margin-bottom: 8px;
45
-
46
- &:last-child {
47
- margin-bottom: 0;
48
- }
49
-
50
- &:hover {
51
- border-color: #40a9ff;
52
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
53
- }
54
- }
55
-
56
- .save-scheme-section {
57
- margin-top: 16px;
58
- padding-top: 16px;
59
- border-top: 1px solid #f0f0f0;
60
- }
61
- }
62
-
63
- .scheme-list-container {
64
- max-height: 400px;
65
- overflow-y: auto;
66
-
67
- // 美化滚动条
68
- &::-webkit-scrollbar {
69
- width: 8px;
70
- }
71
-
72
- &::-webkit-scrollbar-track {
73
- background: #f0f0f0;
74
- border-radius: 4px;
75
- }
76
-
77
- &::-webkit-scrollbar-thumb {
78
- background: #bfbfbf;
79
- border-radius: 4px;
80
-
81
- &:hover {
82
- background: #999;
83
- }
84
- }
85
- }
86
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * 查询方案组件导出
3
- */
4
- export { QuerySchemesManager } from './QuerySchemesManager';
5
- export type { QuerySchemesManagerProps } from './QuerySchemesManager';
@@ -1,5 +0,0 @@
1
- /**
2
- * 查询方案组件导出
3
- */
4
-
5
- export { QuerySchemesManager } from "./QuerySchemesManager";
@@ -1,17 +0,0 @@
1
- /**
2
- * 查询方案系统常量定义
3
- */
4
- /** LocalStorage 存储键前缀 */
5
- export declare const QUERY_SCHEMES_STORAGE_KEY = "qc-ui-query-schemes";
6
- /** 当前方案ID 键名后缀 */
7
- export declare const CURRENT_QUERY_SCHEME_SUFFIX = "-current";
8
- /** 每个表格最多保存的方案数量 */
9
- export declare const MAX_QUERY_SCHEMES_PER_GRID = 50;
10
- /** 方案名称最大长度 */
11
- export declare const MAX_SCHEME_NAME_LENGTH = 50;
12
- /** 方案描述最大长度 */
13
- export declare const MAX_SCHEME_DESCRIPTION_LENGTH = 200;
14
- /** 默认方案名称 */
15
- export declare const DEFAULT_SCHEME_NAME = "\u9ED8\u8BA4\u67E5\u8BE2\u65B9\u6848";
16
- /** 系统方案前缀 */
17
- export declare const SYSTEM_SCHEME_PREFIX = "[\u7CFB\u7EDF]";
@@ -1,24 +0,0 @@
1
- /**
2
- * 查询方案系统常量定义
3
- */
4
-
5
- /** LocalStorage 存储键前缀 */
6
- export var QUERY_SCHEMES_STORAGE_KEY = 'qc-ui-query-schemes';
7
-
8
- /** 当前方案ID 键名后缀 */
9
- export var CURRENT_QUERY_SCHEME_SUFFIX = '-current';
10
-
11
- /** 每个表格最多保存的方案数量 */
12
- export var MAX_QUERY_SCHEMES_PER_GRID = 50;
13
-
14
- /** 方案名称最大长度 */
15
- export var MAX_SCHEME_NAME_LENGTH = 50;
16
-
17
- /** 方案描述最大长度 */
18
- export var MAX_SCHEME_DESCRIPTION_LENGTH = 200;
19
-
20
- /** 默认方案名称 */
21
- export var DEFAULT_SCHEME_NAME = '默认查询方案';
22
-
23
- /** 系统方案前缀 */
24
- export var SYSTEM_SCHEME_PREFIX = '[系统]';
@@ -1,10 +0,0 @@
1
- import type { QueryFormItemWithOrder } from '../types';
2
- /**
3
- * 查询项顺序管理 Hook
4
- * 处理表单项的排序逻辑
5
- */
6
- export declare function useQueryOrderManager(formItems: QueryFormItemWithOrder[], currentOrder: string[] | undefined): {
7
- defaultOrder: string[];
8
- effectiveOrder: string[];
9
- orderedFormItems: QueryFormItemWithOrder[];
10
- };
@@ -1,60 +0,0 @@
1
- import { useMemo } from 'react';
2
- import { calculateDefaultOrder, mergeOrder } from "../utils/validator";
3
-
4
- /**
5
- * 查询项顺序管理 Hook
6
- * 处理表单项的排序逻辑
7
- */
8
- export function useQueryOrderManager(formItems, currentOrder) {
9
- /**
10
- * 计算默认顺序(基于 order 属性)
11
- */
12
- var defaultOrder = useMemo(function () {
13
- var order = calculateDefaultOrder(formItems);
14
- console.log('[useQueryOrderManager] 计算默认顺序:', {
15
- formItems: formItems.map(function (i) {
16
- return {
17
- field: i.field,
18
- order: i.order
19
- };
20
- }),
21
- defaultOrder: order
22
- });
23
- return order;
24
- }, [formItems]);
25
-
26
- /**
27
- * 计算当前生效顺序
28
- * 如果没有自定义顺序,使用默认顺序
29
- * 如果有自定义顺序,合并处理(保留自定义顺序,补充新增字段)
30
- */
31
- var effectiveOrder = useMemo(function () {
32
- if (!currentOrder || currentOrder.length === 0) {
33
- console.log('[useQueryOrderManager] 使用默认顺序');
34
- return defaultOrder;
35
- }
36
- var merged = mergeOrder(currentOrder, formItems);
37
- console.log('[useQueryOrderManager] 合并顺序:', {
38
- currentOrder: currentOrder,
39
- merged: merged
40
- });
41
- return merged;
42
- }, [formItems, currentOrder, defaultOrder]);
43
-
44
- /**
45
- * 根据顺序重排表单项
46
- */
47
- var orderedFormItems = useMemo(function () {
48
- var itemMap = new Map(formItems.map(function (item) {
49
- return [item.field, item];
50
- }));
51
- return effectiveOrder.map(function (field) {
52
- return itemMap.get(field);
53
- }).filter(Boolean);
54
- }, [formItems, effectiveOrder]);
55
- return {
56
- defaultOrder: defaultOrder,
57
- effectiveOrder: effectiveOrder,
58
- orderedFormItems: orderedFormItems
59
- };
60
- }
@@ -1,6 +0,0 @@
1
- import type { QuerySchemeManagerConfig, UseQuerySchemesReturn } from '../types';
2
- /**
3
- * 查询方案管理 Hook
4
- * 提供方案的 CRUD 操作、自动保存、验证等功能
5
- */
6
- export declare function useQuerySchemes(config: QuerySchemeManagerConfig): UseQuerySchemesReturn;
@@ -1,11 +0,0 @@
1
- /**
2
- * 查询方案 (Query Schemes) 系统导出
3
- */
4
- export type { QueryScheme, QueryFormItemWithOrder, QuerySchemeManagerConfig, QueryStorageAdapter, QuerySchemeValidationResult, UseQuerySchemesReturn, LegacyQueryOrder } from './types';
5
- export { useQuerySchemes } from './hooks/useQuerySchemes';
6
- export { useQueryOrderManager } from './hooks/useQueryOrderManager';
7
- export { QuerySchemesManager } from './components/QuerySchemesManager';
8
- export type { QuerySchemesManagerProps } from './components/QuerySchemesManager';
9
- export { defaultQueryStorageAdapter } from './storage/localStorageAdapter';
10
- export { validateScheme, validateSchemeName, validateSchemeDescription, checkDuplicateName, generateUniqueName, calculateDefaultOrder, mergeOrder } from './utils/validator';
11
- export { QUERY_SCHEMES_STORAGE_KEY, MAX_QUERY_SCHEMES_PER_GRID, MAX_SCHEME_NAME_LENGTH, MAX_SCHEME_DESCRIPTION_LENGTH, DEFAULT_SCHEME_NAME, SYSTEM_SCHEME_PREFIX } from './constants';
@@ -1,20 +0,0 @@
1
- /**
2
- * 查询方案 (Query Schemes) 系统导出
3
- */
4
-
5
- // 类型定义
6
-
7
- // Hooks
8
- export { useQuerySchemes } from "./hooks/useQuerySchemes";
9
- export { useQueryOrderManager } from "./hooks/useQueryOrderManager";
10
-
11
- // 组件
12
- export { QuerySchemesManager } from "./components/QuerySchemesManager";
13
- // 存储适配器
14
- export { defaultQueryStorageAdapter } from "./storage/localStorageAdapter";
15
-
16
- // 工具函数
17
- export { validateScheme, validateSchemeName, validateSchemeDescription, checkDuplicateName, generateUniqueName, calculateDefaultOrder, mergeOrder } from "./utils/validator";
18
-
19
- // 常量
20
- export { QUERY_SCHEMES_STORAGE_KEY, MAX_QUERY_SCHEMES_PER_GRID, MAX_SCHEME_NAME_LENGTH, MAX_SCHEME_DESCRIPTION_LENGTH, DEFAULT_SCHEME_NAME, SYSTEM_SCHEME_PREFIX } from "./constants";