@nokecy/qc-ui 1.0.93 → 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.
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +262 -177
- package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +79 -15
- package/dist/cjs/ag-grid-plus/context/gridContext.js +0 -4
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.d.ts +88 -0
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +173 -0
- package/dist/cjs/ag-grid-plus/context/useSchemeManager.d.ts +78 -0
- package/dist/cjs/ag-grid-plus/{querySchemes/hooks/useQuerySchemes.js → context/useSchemeManager.js} +421 -449
- package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/hooks/useAgGridData.d.ts +2 -2
- package/dist/cjs/ag-grid-plus/index.d.ts +7 -4
- package/dist/cjs/ag-grid-plus/index.js +11 -154
- package/dist/cjs/ag-grid-plus/interface.d.ts +0 -31
- package/dist/cjs/ag-grid-plus/interface.js +3 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +0 -3
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +430 -412
- package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/{querySchemes/components/QuerySchemesManager.js → setting/QuerySchemeManager.js} +304 -202
- package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -2
- package/dist/cjs/ag-grid-plus/setting/index.js +33 -48
- package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.d.ts +58 -0
- package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.js +446 -0
- package/dist/cjs/ag-grid-plus/shared/storage/localStorageAdapter.d.ts +57 -0
- package/dist/cjs/ag-grid-plus/{storage/MemoryStorageAdapter.js → shared/storage/localStorageAdapter.js} +264 -184
- package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
- package/dist/cjs/array-table/index.js +172 -48
- package/dist/cjs/draggableModal/index.d.ts +1 -1
- package/dist/cjs/draggableModal/index.js +23 -93
- package/dist/cjs/draggableModal/style.less +0 -73
- package/dist/cjs/index.d.ts +3 -4
- package/dist/cjs/index.js +16 -160
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +262 -177
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +79 -15
- package/dist/esm/ag-grid-plus/context/gridContext.js +0 -4
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.d.ts +88 -0
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +165 -0
- package/dist/esm/ag-grid-plus/context/useSchemeManager.d.ts +78 -0
- package/dist/esm/ag-grid-plus/{querySchemes/hooks/useQuerySchemes.js → context/useSchemeManager.js} +420 -449
- package/dist/esm/ag-grid-plus/errors/ErrorBoundary.d.ts +1 -1
- package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.d.ts +1 -1
- package/dist/esm/ag-grid-plus/hooks/useAgGridData.d.ts +2 -2
- package/dist/esm/ag-grid-plus/index.d.ts +7 -4
- package/dist/esm/ag-grid-plus/index.js +10 -4
- package/dist/esm/ag-grid-plus/interface.d.ts +0 -31
- package/dist/esm/ag-grid-plus/interface.js +2 -0
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +0 -3
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +434 -416
- package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.d.ts +11 -0
- package/dist/esm/ag-grid-plus/{querySchemes/components/QuerySchemesManager.js → setting/QuerySchemeManager.js} +304 -202
- package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -2
- package/dist/esm/ag-grid-plus/setting/index.js +33 -48
- package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.d.ts +58 -0
- package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +444 -0
- package/dist/esm/ag-grid-plus/shared/storage/localStorageAdapter.d.ts +57 -0
- package/dist/esm/ag-grid-plus/{storage/MemoryStorageAdapter.js → shared/storage/localStorageAdapter.js} +263 -184
- package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
- package/dist/esm/array-table/index.js +174 -48
- package/dist/esm/draggableModal/index.d.ts +1 -1
- package/dist/esm/draggableModal/index.js +24 -93
- package/dist/esm/draggableModal/style.less +0 -73
- package/dist/esm/index.d.ts +3 -4
- package/dist/esm/index.js +13 -10
- package/dist/umd/qc-ui.min.css +1 -1
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
- package/dist/cjs/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
- package/dist/cjs/ag-grid-plus/querySchemes/components/index.js +0 -12
- package/dist/cjs/ag-grid-plus/querySchemes/constants.d.ts +0 -17
- package/dist/cjs/ag-grid-plus/querySchemes/constants.js +0 -30
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -65
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
- package/dist/cjs/ag-grid-plus/querySchemes/index.d.ts +0 -11
- package/dist/cjs/ag-grid-plus/querySchemes/index.js +0 -113
- package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
- package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -261
- package/dist/cjs/ag-grid-plus/querySchemes/types.d.ts +0 -143
- package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
- package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.js +0 -155
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.js +0 -342
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +0 -289
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
- package/dist/cjs/ag-grid-plus/schemes/components/index.d.ts +0 -4
- package/dist/cjs/ag-grid-plus/schemes/components/index.js +0 -19
- package/dist/cjs/ag-grid-plus/schemes/constants.d.ts +0 -23
- package/dist/cjs/ag-grid-plus/schemes/constants.js +0 -39
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -617
- package/dist/cjs/ag-grid-plus/schemes/index.d.ts +0 -16
- package/dist/cjs/ag-grid-plus/schemes/index.js +0 -124
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -64
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +0 -354
- package/dist/cjs/ag-grid-plus/schemes/types.d.ts +0 -131
- package/dist/cjs/ag-grid-plus/schemes/types.js +0 -5
- package/dist/cjs/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
- package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +0 -109
- package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +0 -76
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +0 -141
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +0 -902
- package/dist/cjs/ag-grid-plus/storage/globalSyncManager.d.ts +0 -106
- package/dist/cjs/ag-grid-plus/storage/globalSyncManager.js +0 -364
- package/dist/cjs/ag-grid-plus/storage/index.d.ts +0 -8
- package/dist/cjs/ag-grid-plus/storage/index.js +0 -49
- package/dist/cjs/ag-grid-plus/storage/types.d.ts +0 -150
- package/dist/cjs/ag-grid-plus/storage/types.js +0 -5
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
- package/dist/esm/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
- package/dist/esm/ag-grid-plus/querySchemes/components/index.js +0 -5
- package/dist/esm/ag-grid-plus/querySchemes/constants.d.ts +0 -17
- package/dist/esm/ag-grid-plus/querySchemes/constants.js +0 -24
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -60
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
- package/dist/esm/ag-grid-plus/querySchemes/index.d.ts +0 -11
- package/dist/esm/ag-grid-plus/querySchemes/index.js +0 -20
- package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
- package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -256
- package/dist/esm/ag-grid-plus/querySchemes/types.d.ts +0 -143
- package/dist/esm/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
- package/dist/esm/ag-grid-plus/querySchemes/utils/validator.js +0 -144
- package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
- package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.js +0 -334
- package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +0 -281
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
- package/dist/esm/ag-grid-plus/schemes/components/index.d.ts +0 -4
- package/dist/esm/ag-grid-plus/schemes/components/index.js +0 -2
- package/dist/esm/ag-grid-plus/schemes/constants.d.ts +0 -23
- package/dist/esm/ag-grid-plus/schemes/constants.js +0 -33
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -612
- package/dist/esm/ag-grid-plus/schemes/index.d.ts +0 -16
- package/dist/esm/ag-grid-plus/schemes/index.js +0 -25
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -64
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +0 -349
- package/dist/esm/ag-grid-plus/schemes/types.d.ts +0 -131
- package/dist/esm/ag-grid-plus/schemes/types.js +0 -1
- package/dist/esm/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
- package/dist/esm/ag-grid-plus/schemes/utils/validator.js +0 -100
- package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +0 -76
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +0 -141
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +0 -896
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.d.ts +0 -106
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.js +0 -350
- package/dist/esm/ag-grid-plus/storage/index.d.ts +0 -8
- package/dist/esm/ag-grid-plus/storage/index.js +0 -9
- package/dist/esm/ag-grid-plus/storage/types.d.ts +0 -150
- package/dist/esm/ag-grid-plus/storage/types.js +0 -1
- /package/dist/cjs/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
- /package/dist/esm/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 方案存储 - 类型定义
|
|
3
|
-
* 用于内存管理模式的方案系统
|
|
4
|
-
*/
|
|
5
|
-
import { ColumnScheme } from '../schemes/types';
|
|
6
|
-
import { QueryScheme } from '../querySchemes/types';
|
|
7
|
-
/**
|
|
8
|
-
* 所有方案数据的完整结构
|
|
9
|
-
*/
|
|
10
|
-
export interface AllSchemesData {
|
|
11
|
-
/** 列方案数据,按 gridId 分组 */
|
|
12
|
-
columnSchemes: Record<string, ColumnScheme[]>;
|
|
13
|
-
/** 查询方案数据,按 gridId 分组 */
|
|
14
|
-
querySchemes: Record<string, QueryScheme[]>;
|
|
15
|
-
/** 当前激活的方案ID,按 gridId 分组 */
|
|
16
|
-
currentSchemes: Record<string, {
|
|
17
|
-
columnSchemeId?: string | null;
|
|
18
|
-
querySchemeId?: string | null;
|
|
19
|
-
}>;
|
|
20
|
-
/** 数据同步时间戳 */
|
|
21
|
-
syncTime: number;
|
|
22
|
-
/** 数据版本号 */
|
|
23
|
-
version: number;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* 同步请求数据
|
|
27
|
-
*/
|
|
28
|
-
export interface SyncRequestData {
|
|
29
|
-
/** 列方案数据更新 */
|
|
30
|
-
columnSchemes?: Record<string, ColumnScheme[]>;
|
|
31
|
-
/** 查询方案数据更新 */
|
|
32
|
-
querySchemes?: Record<string, QueryScheme[]>;
|
|
33
|
-
/** 当前方案ID更新 */
|
|
34
|
-
currentSchemes?: Record<string, {
|
|
35
|
-
columnSchemeId?: string | null;
|
|
36
|
-
querySchemeId?: string | null;
|
|
37
|
-
}>;
|
|
38
|
-
/** 已删除的方案 */
|
|
39
|
-
deletedSchemes?: {
|
|
40
|
-
columnSchemes?: string[];
|
|
41
|
-
querySchemes?: string[];
|
|
42
|
-
};
|
|
43
|
-
/** 客户端同步时间戳 */
|
|
44
|
-
clientSyncTime: number;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* 同步响应数据
|
|
48
|
-
*/
|
|
49
|
-
export interface SyncResponseData {
|
|
50
|
-
/** 是否成功 */
|
|
51
|
-
success: boolean;
|
|
52
|
-
/** 服务器最新同步时间 */
|
|
53
|
-
syncTime?: number;
|
|
54
|
-
/** 冲突数据(如果有) */
|
|
55
|
-
conflicts?: ConflictData[];
|
|
56
|
-
/** 错误消息 */
|
|
57
|
-
error?: string;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* 冲突数据
|
|
61
|
-
*/
|
|
62
|
-
export interface ConflictData {
|
|
63
|
-
/** 冲突的 gridId */
|
|
64
|
-
gridId: string;
|
|
65
|
-
/** 冲突类型 */
|
|
66
|
-
type: 'column' | 'query' | 'current';
|
|
67
|
-
/** 服务器版本 */
|
|
68
|
-
serverVersion: ColumnScheme | QueryScheme | any;
|
|
69
|
-
/** 客户端版本 */
|
|
70
|
-
clientVersion: ColumnScheme | QueryScheme | any;
|
|
71
|
-
/** 冲突原因 */
|
|
72
|
-
reason: string;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* 方案冲突(别名)
|
|
76
|
-
*/
|
|
77
|
-
export type SchemeConflict = ConflictData;
|
|
78
|
-
/**
|
|
79
|
-
* 同步状态信息
|
|
80
|
-
*/
|
|
81
|
-
export interface SyncStatus {
|
|
82
|
-
/** 是否已初始化 */
|
|
83
|
-
initialized: boolean;
|
|
84
|
-
/** 是否正在同步 */
|
|
85
|
-
syncing: boolean;
|
|
86
|
-
/** 最后同步时间 */
|
|
87
|
-
lastSyncTime: number;
|
|
88
|
-
/** 是否有未同步数据 */
|
|
89
|
-
hasDirtyData: boolean;
|
|
90
|
-
/** 有未同步数据的表格ID列表 */
|
|
91
|
-
dirtyGrids: string[];
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* 脏数据标记类型
|
|
95
|
-
*/
|
|
96
|
-
export type DirtyType = 'column' | 'query' | 'current';
|
|
97
|
-
/**
|
|
98
|
-
* 同步配置
|
|
99
|
-
*/
|
|
100
|
-
export interface SyncConfig {
|
|
101
|
-
/** API 基础路径 */
|
|
102
|
-
apiBaseUrl: string;
|
|
103
|
-
/**
|
|
104
|
-
* 认证令牌(可选)
|
|
105
|
-
* 如果在初始化时提供,将在所有请求中自动添加 Authorization header
|
|
106
|
-
* 也可以稍后通过 setToken() 方法设置
|
|
107
|
-
*/
|
|
108
|
-
token?: string;
|
|
109
|
-
/**
|
|
110
|
-
* 获取方案API路径(可选)
|
|
111
|
-
* 默认值: '/api/v1/ag-grid-plus/schemes'
|
|
112
|
-
* 用于GET请求,获取所有方案数据
|
|
113
|
-
*/
|
|
114
|
-
getApiPath?: string;
|
|
115
|
-
/**
|
|
116
|
-
* 同步方案API路径(可选)
|
|
117
|
-
* 默认值: '/api/v1/ag-grid-plus/schemes'
|
|
118
|
-
* 用于PUT请求,同步保存方案数据
|
|
119
|
-
*/
|
|
120
|
-
syncApiPath?: string;
|
|
121
|
-
/** 自动保存延迟(毫秒),默认 3000 */
|
|
122
|
-
autoSaveDelay?: number;
|
|
123
|
-
/** 后台同步间隔(毫秒),默认 300000 (5分钟) */
|
|
124
|
-
backgroundSyncInterval?: number;
|
|
125
|
-
/** 是否启用自动保存,默认 true */
|
|
126
|
-
enableAutoSave?: boolean;
|
|
127
|
-
/** 是否启用后台同步,默认 true */
|
|
128
|
-
enableBackgroundSync?: boolean;
|
|
129
|
-
/** 冲突解决策略 */
|
|
130
|
-
conflictResolution?: 'client' | 'server' | 'manual';
|
|
131
|
-
/** 请求超时时间(毫秒),默认 30000 */
|
|
132
|
-
requestTimeout?: number;
|
|
133
|
-
/** 最大重试次数,默认 3 */
|
|
134
|
-
maxRetries?: number;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* 同步管理器事件
|
|
138
|
-
*/
|
|
139
|
-
export interface SyncManagerEvents {
|
|
140
|
-
/** 同步开始 */
|
|
141
|
-
onSyncStart?: () => void;
|
|
142
|
-
/** 同步成功 */
|
|
143
|
-
onSyncSuccess?: (syncTime: number) => void;
|
|
144
|
-
/** 同步失败 */
|
|
145
|
-
onSyncError?: (error: Error) => void;
|
|
146
|
-
/** 冲突发生 */
|
|
147
|
-
onConflict?: (conflicts: ConflictData[]) => void;
|
|
148
|
-
/** 自动保存触发 */
|
|
149
|
-
onAutoSave?: () => void;
|
|
150
|
-
}
|
|
@@ -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,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,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";
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import type { QueryScheme, QueryStorageAdapter } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* LocalStorage 存储适配器
|
|
4
|
-
* 默认实现,基于浏览器 LocalStorage
|
|
5
|
-
*/
|
|
6
|
-
declare class LocalStorageAdapter implements QueryStorageAdapter {
|
|
7
|
-
/**
|
|
8
|
-
* 构造存储键
|
|
9
|
-
*/
|
|
10
|
-
private getStorageKey;
|
|
11
|
-
/**
|
|
12
|
-
* 获取指定表格的所有方案
|
|
13
|
-
*/
|
|
14
|
-
getSchemes(gridId: string): Promise<QueryScheme[]>;
|
|
15
|
-
/**
|
|
16
|
-
* 保存方案列表到存储
|
|
17
|
-
*/
|
|
18
|
-
saveSchemes(gridId: string, schemes: QueryScheme[]): Promise<void>;
|
|
19
|
-
/**
|
|
20
|
-
* 清除指定表格的所有方案
|
|
21
|
-
*/
|
|
22
|
-
clearSchemes(gridId: string): Promise<void>;
|
|
23
|
-
/**
|
|
24
|
-
* 获取所有表格的方案总大小(调试用)
|
|
25
|
-
*/
|
|
26
|
-
getStorageSize(): number;
|
|
27
|
-
/**
|
|
28
|
-
* 生成当前方案ID存储键名
|
|
29
|
-
*/
|
|
30
|
-
private getCurrentSchemeKey;
|
|
31
|
-
/**
|
|
32
|
-
* 获取当前激活的方案ID
|
|
33
|
-
*/
|
|
34
|
-
getCurrentSchemeId(gridId: string): Promise<string | null>;
|
|
35
|
-
/**
|
|
36
|
-
* 保存当前激活的方案ID
|
|
37
|
-
*/
|
|
38
|
-
saveCurrentSchemeId(gridId: string, schemeId: string | null): Promise<void>;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* 默认存储适配器实例
|
|
42
|
-
*/
|
|
43
|
-
export declare const defaultQueryStorageAdapter: LocalStorageAdapter;
|
|
44
|
-
export {};
|