@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.
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +252 -173
- package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +77 -19
- 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 -2
- package/dist/cjs/ag-grid-plus/index.js +11 -93
- 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 +279 -145
- 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} +193 -108
- 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/{schemes → shared}/storage/localStorageAdapter.js +253 -271
- package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
- package/dist/cjs/array-table/index.js +167 -45
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +14 -86
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +252 -173
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +77 -19
- 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/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 -2
- package/dist/esm/ag-grid-plus/index.js +9 -5
- 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 +281 -147
- 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} +192 -107
- 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/{schemes → shared}/storage/localStorageAdapter.js +252 -271
- package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
- package/dist/esm/array-table/index.js +168 -46
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +11 -11
- package/dist/esm/standardFormDialog/useStandardFormSchema.d.ts +1 -1
- 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 -145
- 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 -23
- package/dist/cjs/ag-grid-plus/schemes/index.js +0 -164
- package/dist/cjs/ag-grid-plus/schemes/storage/configMerger.d.ts +0 -10
- package/dist/cjs/ag-grid-plus/schemes/storage/configMerger.js +0 -34
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -79
- package/dist/cjs/ag-grid-plus/schemes/storage/priorityStorageAdapter.d.ts +0 -122
- package/dist/cjs/ag-grid-plus/schemes/storage/priorityStorageAdapter.js +0 -476
- package/dist/cjs/ag-grid-plus/schemes/storage/remoteStorageAdapter.d.ts +0 -139
- package/dist/cjs/ag-grid-plus/schemes/storage/remoteStorageAdapter.js +0 -746
- package/dist/cjs/ag-grid-plus/schemes/storage/useRemoteStorage.d.ts +0 -29
- package/dist/cjs/ag-grid-plus/schemes/storage/useRemoteStorage.js +0 -45
- 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/index.d.ts +0 -13
- package/dist/cjs/ag-grid-plus/storage/index.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 -145
- 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 -23
- package/dist/esm/ag-grid-plus/schemes/index.js +0 -30
- package/dist/esm/ag-grid-plus/schemes/storage/configMerger.d.ts +0 -10
- package/dist/esm/ag-grid-plus/schemes/storage/configMerger.js +0 -28
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -79
- package/dist/esm/ag-grid-plus/schemes/storage/priorityStorageAdapter.d.ts +0 -122
- package/dist/esm/ag-grid-plus/schemes/storage/priorityStorageAdapter.js +0 -471
- package/dist/esm/ag-grid-plus/schemes/storage/remoteStorageAdapter.d.ts +0 -139
- package/dist/esm/ag-grid-plus/schemes/storage/remoteStorageAdapter.js +0 -746
- package/dist/esm/ag-grid-plus/schemes/storage/useRemoteStorage.d.ts +0 -29
- package/dist/esm/ag-grid-plus/schemes/storage/useRemoteStorage.js +0 -40
- 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/index.d.ts +0 -13
- package/dist/esm/ag-grid-plus/storage/index.js +0 -17
- /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,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AG-Grid Plus 列配置方案管理模块
|
|
3
|
-
*
|
|
4
|
-
* 提供列配置方案的完整管理功能:
|
|
5
|
-
* - 方案的增删改查
|
|
6
|
-
* - 自动保存和切换
|
|
7
|
-
* - 旧数据迁移
|
|
8
|
-
* - 存储适配器扩展
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
// 类型定义
|
|
12
|
-
|
|
13
|
-
// Hooks
|
|
14
|
-
export { useColumnSchemes } from "./hooks/useColumnSchemes";
|
|
15
|
-
|
|
16
|
-
// UI 组件
|
|
17
|
-
export { SchemeSelector, SchemeManager } from "./components";
|
|
18
|
-
// 存储适配器
|
|
19
|
-
export { LocalStorageAdapter, defaultStorageAdapter } from "./storage/localStorageAdapter";
|
|
20
|
-
export { RemoteStorageAdapter, StorageError, StorageErrorType } from "./storage/remoteStorageAdapter";
|
|
21
|
-
export { PriorityStorageAdapter } from "./storage/priorityStorageAdapter";
|
|
22
|
-
// 存储配置相关
|
|
23
|
-
export { useRemoteStorage } from "./storage/useRemoteStorage";
|
|
24
|
-
export { mergeRemoteStorageConfig } from "./storage/configMerger";
|
|
25
|
-
|
|
26
|
-
// 工具函数
|
|
27
|
-
export { validateScheme, validateSchemeName, validateSchemeDescription, checkDuplicateName, generateUniqueName } from "./utils/validator";
|
|
28
|
-
|
|
29
|
-
// 常量
|
|
30
|
-
export { STORAGE_PREFIX, LEGACY_STORAGE_PREFIX, DEFAULT_SCHEME_NAME, SYSTEM_SCHEME_PREFIX, MIGRATED_DEFAULT_SCHEME_ID, STORAGE_MAX_SIZE, MAX_SCHEMES_PER_GRID, MAX_SCHEME_NAME_LENGTH, MAX_SCHEME_DESCRIPTION_LENGTH } from "./constants";
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { RemoteStorageConfig } from './remoteStorageAdapter';
|
|
2
|
-
/**
|
|
3
|
-
* 合并全局配置和局部配置
|
|
4
|
-
* 局部配置优先级高于全局配置
|
|
5
|
-
*
|
|
6
|
-
* @param globalConfig 全局配置(来自 Context)
|
|
7
|
-
* @param localConfig 局部配置(直接传入的配置)
|
|
8
|
-
* @returns 合并后的配置
|
|
9
|
-
*/
|
|
10
|
-
export declare function mergeRemoteStorageConfig(globalConfig: Partial<RemoteStorageConfig> | undefined, localConfig: RemoteStorageConfig): RemoteStorageConfig;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
-
/**
|
|
8
|
-
* 合并全局配置和局部配置
|
|
9
|
-
* 局部配置优先级高于全局配置
|
|
10
|
-
*
|
|
11
|
-
* @param globalConfig 全局配置(来自 Context)
|
|
12
|
-
* @param localConfig 局部配置(直接传入的配置)
|
|
13
|
-
* @returns 合并后的配置
|
|
14
|
-
*/
|
|
15
|
-
export function mergeRemoteStorageConfig(globalConfig, localConfig) {
|
|
16
|
-
var _localConfig$getToken, _localConfig$getUserI, _localConfig$onCacheI;
|
|
17
|
-
if (!globalConfig) {
|
|
18
|
-
return localConfig;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// 深度合并配置,局部配置覆盖全局配置
|
|
22
|
-
return _objectSpread(_objectSpread(_objectSpread({}, globalConfig), localConfig), {}, {
|
|
23
|
-
// 特殊处理函数类型,优先使用局部配置
|
|
24
|
-
getToken: (_localConfig$getToken = localConfig.getToken) !== null && _localConfig$getToken !== void 0 ? _localConfig$getToken : globalConfig.getToken,
|
|
25
|
-
getUserId: (_localConfig$getUserI = localConfig.getUserId) !== null && _localConfig$getUserI !== void 0 ? _localConfig$getUserI : globalConfig.getUserId,
|
|
26
|
-
onCacheInvalidate: (_localConfig$onCacheI = localConfig.onCacheInvalidate) !== null && _localConfig$onCacheI !== void 0 ? _localConfig$onCacheI : globalConfig.onCacheInvalidate
|
|
27
|
-
});
|
|
28
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { ColumnScheme, StorageAdapter } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* LocalStorage 配置
|
|
4
|
-
*/
|
|
5
|
-
export interface LocalStorageConfig {
|
|
6
|
-
/**
|
|
7
|
-
* 用户标识获取函数
|
|
8
|
-
* 用于支持多用户数据隔离
|
|
9
|
-
*/
|
|
10
|
-
getUserId?: () => string | null;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* LocalStorage 存储适配器实现
|
|
14
|
-
* 默认的方案存储方式,支持自动迁移旧数据和用户隔离
|
|
15
|
-
*/
|
|
16
|
-
export declare class LocalStorageAdapter implements StorageAdapter {
|
|
17
|
-
private config;
|
|
18
|
-
constructor(config?: LocalStorageConfig);
|
|
19
|
-
/**
|
|
20
|
-
* 生成存储键名
|
|
21
|
-
* 如果配置了 getUserId,则键名会包含用户标识
|
|
22
|
-
*/
|
|
23
|
-
private getStorageKey;
|
|
24
|
-
/**
|
|
25
|
-
* 生成旧版本存储键名
|
|
26
|
-
*/
|
|
27
|
-
private getLegacyStorageKey;
|
|
28
|
-
/**
|
|
29
|
-
* 检查是否需要迁移旧数据
|
|
30
|
-
*/
|
|
31
|
-
private needsMigration;
|
|
32
|
-
/**
|
|
33
|
-
* 迁移旧数据到新格式
|
|
34
|
-
*/
|
|
35
|
-
private migrateOldData;
|
|
36
|
-
/**
|
|
37
|
-
* 检查存储空间是否足够
|
|
38
|
-
*/
|
|
39
|
-
private checkStorageQuota;
|
|
40
|
-
/**
|
|
41
|
-
* 获取指定表格的所有方案
|
|
42
|
-
*/
|
|
43
|
-
getSchemes(gridId: string): Promise<ColumnScheme[]>;
|
|
44
|
-
/**
|
|
45
|
-
* 保存方案列表到 LocalStorage
|
|
46
|
-
*/
|
|
47
|
-
saveSchemes(gridId: string, schemes: ColumnScheme[]): Promise<void>;
|
|
48
|
-
/**
|
|
49
|
-
* 清除指定表格的所有方案
|
|
50
|
-
*/
|
|
51
|
-
clearSchemes(gridId: string): Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* 获取存储使用情况统计
|
|
54
|
-
*/
|
|
55
|
-
getStorageStats(): {
|
|
56
|
-
totalSize: number;
|
|
57
|
-
usedSize: number;
|
|
58
|
-
usagePercentage: number;
|
|
59
|
-
itemCount: number;
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* 生成当前方案ID存储键名
|
|
63
|
-
* 如果配置了 getUserId,则键名会包含用户标识
|
|
64
|
-
*/
|
|
65
|
-
private getCurrentSchemeKey;
|
|
66
|
-
/**
|
|
67
|
-
* 获取当前激活的方案ID
|
|
68
|
-
*/
|
|
69
|
-
getCurrentSchemeId(gridId: string): Promise<string | null>;
|
|
70
|
-
/**
|
|
71
|
-
* 保存当前激活的方案ID
|
|
72
|
-
*/
|
|
73
|
-
saveCurrentSchemeId(gridId: string, schemeId: string | null): Promise<void>;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* 导出默认实例(不带用户隔离)
|
|
77
|
-
* 如需用户隔离,请创建新实例并传入 getUserId 配置
|
|
78
|
-
*/
|
|
79
|
-
export declare const defaultStorageAdapter: LocalStorageAdapter;
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { ColumnScheme, StorageAdapter } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* 优先级存储适配器配置
|
|
4
|
-
*/
|
|
5
|
-
export interface PriorityStorageConfig {
|
|
6
|
-
/**
|
|
7
|
-
* 主存储适配器(优先使用)
|
|
8
|
-
* 通常是远端存储适配器
|
|
9
|
-
*/
|
|
10
|
-
primary: StorageAdapter;
|
|
11
|
-
/**
|
|
12
|
-
* 备用存储适配器(主存储失败时使用)
|
|
13
|
-
* 通常是本地存储适配器
|
|
14
|
-
* 可选,如果不提供则主存储失败时直接抛出错误
|
|
15
|
-
*/
|
|
16
|
-
fallback?: StorageAdapter;
|
|
17
|
-
/**
|
|
18
|
-
* 是否启用自动降级
|
|
19
|
-
* 当主存储连续失败达到阈值时,自动切换到备用存储
|
|
20
|
-
* 默认: false
|
|
21
|
-
*/
|
|
22
|
-
enableAutoDemotion?: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* 自动降级的失败阈值
|
|
25
|
-
* 默认: 3
|
|
26
|
-
*/
|
|
27
|
-
demotionThreshold?: number;
|
|
28
|
-
/**
|
|
29
|
-
* 降级恢复检测间隔(毫秒)
|
|
30
|
-
* 定期检测主存储是否恢复,如果恢复则切换回主存储
|
|
31
|
-
* 默认: 60000 (1分钟)
|
|
32
|
-
*/
|
|
33
|
-
recoveryCheckInterval?: number;
|
|
34
|
-
/**
|
|
35
|
-
* 是否在主存储可用时同步数据到备用存储
|
|
36
|
-
* 默认: false
|
|
37
|
-
*/
|
|
38
|
-
syncToFallback?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* 错误处理回调
|
|
41
|
-
*/
|
|
42
|
-
onError?: (error: Error, adapter: 'primary' | 'fallback') => void;
|
|
43
|
-
/**
|
|
44
|
-
* 降级事件回调
|
|
45
|
-
*/
|
|
46
|
-
onDemotion?: () => void;
|
|
47
|
-
/**
|
|
48
|
-
* 恢复事件回调
|
|
49
|
-
*/
|
|
50
|
-
onRecovery?: () => void;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* 优先级存储适配器
|
|
54
|
-
* 实现远端优先、本地备用的存储策略
|
|
55
|
-
*
|
|
56
|
-
* 核心特性:
|
|
57
|
-
* 1. 主存储优先:优先使用主存储(通常是远端)
|
|
58
|
-
* 2. 自动降级:主存储连续失败时,自动切换到备用存储
|
|
59
|
-
* 3. 自动恢复:定期检测主存储状态,恢复后自动切换回主存储
|
|
60
|
-
* 4. 数据同步:可选地将主存储数据同步到备用存储
|
|
61
|
-
* 5. 完全隔离:不会混用主存储和备用存储的数据
|
|
62
|
-
*/
|
|
63
|
-
export declare class PriorityStorageAdapter implements StorageAdapter {
|
|
64
|
-
private config;
|
|
65
|
-
private failureCount;
|
|
66
|
-
private isDemoted;
|
|
67
|
-
private recoveryCheckTimer?;
|
|
68
|
-
constructor(config: PriorityStorageConfig);
|
|
69
|
-
/**
|
|
70
|
-
* 开始恢复检测
|
|
71
|
-
*/
|
|
72
|
-
private startRecoveryCheck;
|
|
73
|
-
/**
|
|
74
|
-
* 停止恢复检测
|
|
75
|
-
*/
|
|
76
|
-
private stopRecoveryCheck;
|
|
77
|
-
/**
|
|
78
|
-
* 处理主存储错误
|
|
79
|
-
*/
|
|
80
|
-
private handlePrimaryError;
|
|
81
|
-
/**
|
|
82
|
-
* 执行带降级的操作
|
|
83
|
-
*/
|
|
84
|
-
private executeWithFallback;
|
|
85
|
-
/**
|
|
86
|
-
* 获取指定表格的所有方案
|
|
87
|
-
*/
|
|
88
|
-
getSchemes(gridId: string): Promise<ColumnScheme[]>;
|
|
89
|
-
/**
|
|
90
|
-
* 保存方案列表
|
|
91
|
-
* 只保存到主存储,确保数据一致性
|
|
92
|
-
*/
|
|
93
|
-
saveSchemes(gridId: string, schemes: ColumnScheme[]): Promise<void>;
|
|
94
|
-
/**
|
|
95
|
-
* 清除指定表格的所有方案
|
|
96
|
-
*/
|
|
97
|
-
clearSchemes(gridId: string): Promise<void>;
|
|
98
|
-
/**
|
|
99
|
-
* 获取当前激活的方案ID
|
|
100
|
-
*/
|
|
101
|
-
getCurrentSchemeId(gridId: string): Promise<string | null>;
|
|
102
|
-
/**
|
|
103
|
-
* 保存当前激活的方案ID
|
|
104
|
-
*/
|
|
105
|
-
saveCurrentSchemeId(gridId: string, schemeId: string | null): Promise<void>;
|
|
106
|
-
/**
|
|
107
|
-
* 获取当前存储状态
|
|
108
|
-
*/
|
|
109
|
-
getStatus(): {
|
|
110
|
-
isDemoted: boolean;
|
|
111
|
-
failureCount: number;
|
|
112
|
-
primaryAvailable: boolean;
|
|
113
|
-
};
|
|
114
|
-
/**
|
|
115
|
-
* 手动重置到主存储
|
|
116
|
-
*/
|
|
117
|
-
resetToPrimary(): void;
|
|
118
|
-
/**
|
|
119
|
-
* 清理资源
|
|
120
|
-
*/
|
|
121
|
-
dispose(): void;
|
|
122
|
-
}
|