@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.
Files changed (156) hide show
  1. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +262 -177
  2. package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +79 -15
  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 -4
  11. package/dist/cjs/ag-grid-plus/index.js +11 -154
  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 +430 -412
  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} +304 -202
  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/{storage/MemoryStorageAdapter.js → shared/storage/localStorageAdapter.js} +264 -184
  24. package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
  25. package/dist/cjs/array-table/index.js +172 -48
  26. package/dist/cjs/draggableModal/index.d.ts +1 -1
  27. package/dist/cjs/draggableModal/index.js +23 -93
  28. package/dist/cjs/draggableModal/style.less +0 -73
  29. package/dist/cjs/index.d.ts +3 -4
  30. package/dist/cjs/index.js +16 -160
  31. package/dist/esm/ag-grid-plus/ag-gridPlus.js +262 -177
  32. package/dist/esm/ag-grid-plus/context/gridContext.d.ts +79 -15
  33. package/dist/esm/ag-grid-plus/context/gridContext.js +0 -4
  34. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.d.ts +88 -0
  35. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +165 -0
  36. package/dist/esm/ag-grid-plus/context/useSchemeManager.d.ts +78 -0
  37. package/dist/esm/ag-grid-plus/{querySchemes/hooks/useQuerySchemes.js → context/useSchemeManager.js} +420 -449
  38. package/dist/esm/ag-grid-plus/errors/ErrorBoundary.d.ts +1 -1
  39. package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.d.ts +1 -1
  40. package/dist/esm/ag-grid-plus/hooks/useAgGridData.d.ts +2 -2
  41. package/dist/esm/ag-grid-plus/index.d.ts +7 -4
  42. package/dist/esm/ag-grid-plus/index.js +10 -4
  43. package/dist/esm/ag-grid-plus/interface.d.ts +0 -31
  44. package/dist/esm/ag-grid-plus/interface.js +2 -0
  45. package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +0 -3
  46. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +434 -416
  47. package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.d.ts +11 -0
  48. package/dist/esm/ag-grid-plus/{querySchemes/components/QuerySchemesManager.js → setting/QuerySchemeManager.js} +304 -202
  49. package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -2
  50. package/dist/esm/ag-grid-plus/setting/index.js +33 -48
  51. package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.d.ts +58 -0
  52. package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +444 -0
  53. package/dist/esm/ag-grid-plus/shared/storage/localStorageAdapter.d.ts +57 -0
  54. package/dist/esm/ag-grid-plus/{storage/MemoryStorageAdapter.js → shared/storage/localStorageAdapter.js} +263 -184
  55. package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
  56. package/dist/esm/array-table/index.js +174 -48
  57. package/dist/esm/draggableModal/index.d.ts +1 -1
  58. package/dist/esm/draggableModal/index.js +24 -93
  59. package/dist/esm/draggableModal/style.less +0 -73
  60. package/dist/esm/index.d.ts +3 -4
  61. package/dist/esm/index.js +13 -10
  62. package/dist/umd/qc-ui.min.css +1 -1
  63. package/dist/umd/qc-ui.min.js +1 -1
  64. package/package.json +1 -1
  65. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
  66. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
  67. package/dist/cjs/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
  68. package/dist/cjs/ag-grid-plus/querySchemes/components/index.js +0 -12
  69. package/dist/cjs/ag-grid-plus/querySchemes/constants.d.ts +0 -17
  70. package/dist/cjs/ag-grid-plus/querySchemes/constants.js +0 -30
  71. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
  72. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -65
  73. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
  74. package/dist/cjs/ag-grid-plus/querySchemes/index.d.ts +0 -11
  75. package/dist/cjs/ag-grid-plus/querySchemes/index.js +0 -113
  76. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
  77. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -261
  78. package/dist/cjs/ag-grid-plus/querySchemes/types.d.ts +0 -143
  79. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
  80. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.js +0 -155
  81. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
  82. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.js +0 -342
  83. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
  84. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
  85. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +0 -289
  86. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
  87. package/dist/cjs/ag-grid-plus/schemes/components/index.d.ts +0 -4
  88. package/dist/cjs/ag-grid-plus/schemes/components/index.js +0 -19
  89. package/dist/cjs/ag-grid-plus/schemes/constants.d.ts +0 -23
  90. package/dist/cjs/ag-grid-plus/schemes/constants.js +0 -39
  91. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
  92. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -617
  93. package/dist/cjs/ag-grid-plus/schemes/index.d.ts +0 -16
  94. package/dist/cjs/ag-grid-plus/schemes/index.js +0 -124
  95. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -64
  96. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +0 -354
  97. package/dist/cjs/ag-grid-plus/schemes/types.d.ts +0 -131
  98. package/dist/cjs/ag-grid-plus/schemes/types.js +0 -5
  99. package/dist/cjs/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
  100. package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +0 -109
  101. package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +0 -76
  102. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +0 -141
  103. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +0 -902
  104. package/dist/cjs/ag-grid-plus/storage/globalSyncManager.d.ts +0 -106
  105. package/dist/cjs/ag-grid-plus/storage/globalSyncManager.js +0 -364
  106. package/dist/cjs/ag-grid-plus/storage/index.d.ts +0 -8
  107. package/dist/cjs/ag-grid-plus/storage/index.js +0 -49
  108. package/dist/cjs/ag-grid-plus/storage/types.d.ts +0 -150
  109. package/dist/cjs/ag-grid-plus/storage/types.js +0 -5
  110. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
  111. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
  112. package/dist/esm/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
  113. package/dist/esm/ag-grid-plus/querySchemes/components/index.js +0 -5
  114. package/dist/esm/ag-grid-plus/querySchemes/constants.d.ts +0 -17
  115. package/dist/esm/ag-grid-plus/querySchemes/constants.js +0 -24
  116. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
  117. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -60
  118. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
  119. package/dist/esm/ag-grid-plus/querySchemes/index.d.ts +0 -11
  120. package/dist/esm/ag-grid-plus/querySchemes/index.js +0 -20
  121. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
  122. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -256
  123. package/dist/esm/ag-grid-plus/querySchemes/types.d.ts +0 -143
  124. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
  125. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.js +0 -144
  126. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
  127. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.js +0 -334
  128. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
  129. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
  130. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +0 -281
  131. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
  132. package/dist/esm/ag-grid-plus/schemes/components/index.d.ts +0 -4
  133. package/dist/esm/ag-grid-plus/schemes/components/index.js +0 -2
  134. package/dist/esm/ag-grid-plus/schemes/constants.d.ts +0 -23
  135. package/dist/esm/ag-grid-plus/schemes/constants.js +0 -33
  136. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
  137. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -612
  138. package/dist/esm/ag-grid-plus/schemes/index.d.ts +0 -16
  139. package/dist/esm/ag-grid-plus/schemes/index.js +0 -25
  140. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -64
  141. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +0 -349
  142. package/dist/esm/ag-grid-plus/schemes/types.d.ts +0 -131
  143. package/dist/esm/ag-grid-plus/schemes/types.js +0 -1
  144. package/dist/esm/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
  145. package/dist/esm/ag-grid-plus/schemes/utils/validator.js +0 -100
  146. package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +0 -76
  147. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +0 -141
  148. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +0 -896
  149. package/dist/esm/ag-grid-plus/storage/globalSyncManager.d.ts +0 -106
  150. package/dist/esm/ag-grid-plus/storage/globalSyncManager.js +0 -350
  151. package/dist/esm/ag-grid-plus/storage/index.d.ts +0 -8
  152. package/dist/esm/ag-grid-plus/storage/index.js +0 -9
  153. package/dist/esm/ag-grid-plus/storage/types.d.ts +0 -150
  154. package/dist/esm/ag-grid-plus/storage/types.js +0 -1
  155. /package/dist/cjs/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
  156. /package/dist/esm/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
@@ -0,0 +1,57 @@
1
+ import type { SchemeStorageAdapter, SchemeSyncDataDto, SchemeStorageConfig, ColumnScheme, QueryScheme } from './schemeStorageAdapter';
2
+ /**
3
+ * LocalStorage 适配器配置
4
+ */
5
+ export interface LocalStorageAdapterConfig extends SchemeStorageConfig {
6
+ /** 存储键名前缀,默认 'ag-grid-plus-schemes' */
7
+ storageKey?: string;
8
+ }
9
+ /**
10
+ * LocalStorage 方案存储适配器
11
+ *
12
+ * 特点:
13
+ * - 所有数据存储在单个 localStorage key 中
14
+ * - 支持细粒度的 CRUD 操作
15
+ * - 操作立即生效
16
+ * - 适用于离线或无后端场景
17
+ *
18
+ * 数据格式:
19
+ * - 使用扩展的列配置格式 (columnConfig: FlatColumnItem[])
20
+ * - 包含列分组层级结构
21
+ * - 完整保存在 localStorage 中
22
+ */
23
+ export declare class LocalStorageSchemeAdapter implements SchemeStorageAdapter {
24
+ private readonly STORAGE_KEY;
25
+ private readonly enableDebugLog;
26
+ constructor(config?: LocalStorageAdapterConfig);
27
+ /**
28
+ * 日志输出
29
+ */
30
+ private log;
31
+ /**
32
+ * 从 localStorage 读取所有数据
33
+ */
34
+ private readData;
35
+ /**
36
+ * 写入数据到 localStorage
37
+ */
38
+ private writeData;
39
+ loadAllSchemes(): Promise<SchemeSyncDataDto>;
40
+ saveColumnScheme(gridId: string, scheme: ColumnScheme): Promise<ColumnScheme>;
41
+ deleteColumnScheme(gridId: string, schemeId: string): Promise<void>;
42
+ saveQueryScheme(gridId: string, scheme: QueryScheme): Promise<QueryScheme>;
43
+ deleteQueryScheme(gridId: string, schemeId: string): Promise<void>;
44
+ setCurrentScheme(gridId: string, columnSchemeId: string | null, querySchemeId: string | null): Promise<void>;
45
+ /**
46
+ * 清除所有数据
47
+ */
48
+ clearAll(): void;
49
+ /**
50
+ * 获取存储大小(字节)
51
+ */
52
+ getStorageSize(): number;
53
+ }
54
+ /**
55
+ * 默认的 LocalStorage 适配器实例
56
+ */
57
+ export declare const defaultLocalStorageAdapter: LocalStorageSchemeAdapter;
@@ -3,8 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.QueryMemoryStorageAdapter = exports.MemoryStorageAdapterFactory = exports.ColumnMemoryStorageAdapter = void 0;
6
+ exports.defaultLocalStorageAdapter = exports.LocalStorageSchemeAdapter = void 0;
7
7
  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); }
8
+ 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; }
9
+ 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; }
8
10
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
9
11
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
10
12
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -15,262 +17,340 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
15
17
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
18
  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); }
17
19
  /**
18
- * 内存存储适配器
19
- * 实现 StorageAdapter 接口,数据存储在内存中,通过 SchemeSyncManager 同步到服务器
20
+ * LocalStorage 适配器配置
20
21
  */
21
22
  /**
22
- * 列方案内存存储适配器
23
+ * LocalStorage 方案存储适配器
24
+ *
25
+ * 特点:
26
+ * - 所有数据存储在单个 localStorage key 中
27
+ * - 支持细粒度的 CRUD 操作
28
+ * - 操作立即生效
29
+ * - 适用于离线或无后端场景
30
+ *
31
+ * 数据格式:
32
+ * - 使用扩展的列配置格式 (columnConfig: FlatColumnItem[])
33
+ * - 包含列分组层级结构
34
+ * - 完整保存在 localStorage 中
23
35
  */
24
- var ColumnMemoryStorageAdapter = exports.ColumnMemoryStorageAdapter = /*#__PURE__*/function () {
25
- function ColumnMemoryStorageAdapter(syncManager) {
26
- _classCallCheck(this, ColumnMemoryStorageAdapter);
27
- _defineProperty(this, "syncManager", void 0);
28
- this.syncManager = syncManager;
36
+ var LocalStorageSchemeAdapter = exports.LocalStorageSchemeAdapter = /*#__PURE__*/function () {
37
+ function LocalStorageSchemeAdapter() {
38
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
39
+ _classCallCheck(this, LocalStorageSchemeAdapter);
40
+ _defineProperty(this, "STORAGE_KEY", void 0);
41
+ _defineProperty(this, "enableDebugLog", void 0);
42
+ this.STORAGE_KEY = config.storageKey || 'ag-grid-plus-schemes';
43
+ this.enableDebugLog = config.enableDebugLog || false;
29
44
  }
30
45
 
31
46
  /**
32
- * 获取方案列表
47
+ * 日志输出
33
48
  */
34
- _createClass(ColumnMemoryStorageAdapter, [{
35
- key: "getSchemes",
36
- value: (function () {
37
- var _getSchemes = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(gridId) {
49
+ _createClass(LocalStorageSchemeAdapter, [{
50
+ key: "log",
51
+ value: function log(message) {
52
+ if (this.enableDebugLog) {
53
+ var _console;
54
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
55
+ args[_key - 1] = arguments[_key];
56
+ }
57
+ (_console = console).log.apply(_console, ["[LocalStorageAdapter] ".concat(message)].concat(args));
58
+ }
59
+ }
60
+
61
+ /**
62
+ * 从 localStorage 读取所有数据
63
+ */
64
+ }, {
65
+ key: "readData",
66
+ value: function readData() {
67
+ var data = localStorage.getItem(this.STORAGE_KEY);
68
+ if (!data) {
69
+ return {
70
+ columnSchemes: {},
71
+ querySchemes: {},
72
+ currentSchemes: {},
73
+ syncTime: Date.now(),
74
+ version: 1
75
+ };
76
+ }
77
+ try {
78
+ return JSON.parse(data);
79
+ } catch (error) {
80
+ console.error('[LocalStorageAdapter] 解析数据失败:', error);
81
+ return {
82
+ columnSchemes: {},
83
+ querySchemes: {},
84
+ currentSchemes: {},
85
+ syncTime: Date.now(),
86
+ version: 1
87
+ };
88
+ }
89
+ }
90
+
91
+ /**
92
+ * 写入数据到 localStorage
93
+ */
94
+ }, {
95
+ key: "writeData",
96
+ value: function writeData(data) {
97
+ data.syncTime = Date.now();
98
+ data.version = (data.version || 0) + 1;
99
+ try {
100
+ localStorage.setItem(this.STORAGE_KEY, JSON.stringify(data));
101
+ this.log('数据已保存', {
102
+ version: data.version
103
+ });
104
+ } catch (error) {
105
+ console.error('[LocalStorageAdapter] 保存数据失败:', error);
106
+ throw new Error('LocalStorage 存储失败,可能超出配额限制');
107
+ }
108
+ }
109
+
110
+ // ========== 初始化加载 ==========
111
+ }, {
112
+ key: "loadAllSchemes",
113
+ value: function () {
114
+ var _loadAllSchemes = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
115
+ var data;
38
116
  return _regeneratorRuntime().wrap(function _callee$(_context) {
39
117
  while (1) switch (_context.prev = _context.next) {
40
118
  case 0:
41
- return _context.abrupt("return", this.syncManager.getColumnSchemes(gridId));
42
- case 1:
119
+ this.log('加载所有方案数据');
120
+ data = this.readData();
121
+ this.log('加载完成', {
122
+ columnSchemes: Object.keys(data.columnSchemes).length,
123
+ querySchemes: Object.keys(data.querySchemes).length
124
+ });
125
+ return _context.abrupt("return", data);
126
+ case 4:
43
127
  case "end":
44
128
  return _context.stop();
45
129
  }
46
130
  }, _callee, this);
47
131
  }));
48
- function getSchemes(_x) {
49
- return _getSchemes.apply(this, arguments);
132
+ function loadAllSchemes() {
133
+ return _loadAllSchemes.apply(this, arguments);
50
134
  }
51
- return getSchemes;
52
- }()
53
- /**
54
- * 保存方案列表
55
- */
56
- )
135
+ return loadAllSchemes;
136
+ }() // ========== 列方案操作 ==========
57
137
  }, {
58
- key: "saveSchemes",
59
- value: (function () {
60
- var _saveSchemes = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(gridId, schemes) {
138
+ key: "saveColumnScheme",
139
+ value: function () {
140
+ var _saveColumnScheme = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(gridId, scheme) {
141
+ var data, index, newScheme;
61
142
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
62
143
  while (1) switch (_context2.prev = _context2.next) {
63
144
  case 0:
64
- this.syncManager.saveColumnSchemes(gridId, schemes);
65
- case 1:
145
+ data = this.readData();
146
+ if (!data.columnSchemes[gridId]) {
147
+ data.columnSchemes[gridId] = [];
148
+ }
149
+ index = data.columnSchemes[gridId].findIndex(function (s) {
150
+ return s.id === scheme.id;
151
+ });
152
+ if (index >= 0) {
153
+ // 更新现有方案
154
+ data.columnSchemes[gridId][index] = _objectSpread(_objectSpread({}, scheme), {}, {
155
+ updatedAt: Date.now()
156
+ });
157
+ this.log("\u66F4\u65B0\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
158
+ } else {
159
+ // 新增方案
160
+ newScheme = _objectSpread(_objectSpread({}, scheme), {}, {
161
+ createdAt: scheme.createdAt || Date.now(),
162
+ updatedAt: Date.now()
163
+ });
164
+ data.columnSchemes[gridId].push(newScheme);
165
+ this.log("\u65B0\u589E\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
166
+ }
167
+ this.writeData(data);
168
+ return _context2.abrupt("return", data.columnSchemes[gridId][index >= 0 ? index : data.columnSchemes[gridId].length - 1]);
169
+ case 6:
66
170
  case "end":
67
171
  return _context2.stop();
68
172
  }
69
173
  }, _callee2, this);
70
174
  }));
71
- function saveSchemes(_x2, _x3) {
72
- return _saveSchemes.apply(this, arguments);
175
+ function saveColumnScheme(_x, _x2) {
176
+ return _saveColumnScheme.apply(this, arguments);
73
177
  }
74
- return saveSchemes;
178
+ return saveColumnScheme;
75
179
  }()
76
- /**
77
- * 获取当前方案ID
78
- */
79
- )
80
180
  }, {
81
- key: "getCurrentSchemeId",
82
- value: (function () {
83
- var _getCurrentSchemeId = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(gridId) {
181
+ key: "deleteColumnScheme",
182
+ value: function () {
183
+ var _deleteColumnScheme = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(gridId, schemeId) {
184
+ var data, beforeCount, afterCount, _data$currentSchemes$;
84
185
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
85
186
  while (1) switch (_context3.prev = _context3.next) {
86
187
  case 0:
87
- return _context3.abrupt("return", this.syncManager.getCurrentSchemeId(gridId, 'column'));
88
- case 1:
188
+ data = this.readData();
189
+ if (data.columnSchemes[gridId]) {
190
+ beforeCount = data.columnSchemes[gridId].length;
191
+ data.columnSchemes[gridId] = data.columnSchemes[gridId].filter(function (s) {
192
+ return s.id !== schemeId;
193
+ });
194
+ afterCount = data.columnSchemes[gridId].length;
195
+ if (beforeCount > afterCount) {
196
+ this.log("\u5220\u9664\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
197
+
198
+ // 如果删除的是当前方案,清除当前方案ID
199
+ if (((_data$currentSchemes$ = data.currentSchemes[gridId]) === null || _data$currentSchemes$ === void 0 ? void 0 : _data$currentSchemes$.columnSchemeId) === schemeId) {
200
+ data.currentSchemes[gridId].columnSchemeId = null;
201
+ this.log("\u6E05\u9664\u5F53\u524D\u5217\u65B9\u6848: ".concat(gridId));
202
+ }
203
+ this.writeData(data);
204
+ } else {
205
+ this.log("\u5217\u65B9\u6848\u4E0D\u5B58\u5728: ".concat(gridId, " - ").concat(schemeId));
206
+ }
207
+ }
208
+ case 2:
89
209
  case "end":
90
210
  return _context3.stop();
91
211
  }
92
212
  }, _callee3, this);
93
213
  }));
94
- function getCurrentSchemeId(_x4) {
95
- return _getCurrentSchemeId.apply(this, arguments);
214
+ function deleteColumnScheme(_x3, _x4) {
215
+ return _deleteColumnScheme.apply(this, arguments);
96
216
  }
97
- return getCurrentSchemeId;
98
- }()
99
- /**
100
- * 保存当前方案ID
101
- */
102
- )
217
+ return deleteColumnScheme;
218
+ }() // ========== 查询方案操作 ==========
103
219
  }, {
104
- key: "saveCurrentSchemeId",
105
- value: (function () {
106
- var _saveCurrentSchemeId = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(gridId, schemeId) {
220
+ key: "saveQueryScheme",
221
+ value: function () {
222
+ var _saveQueryScheme = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(gridId, scheme) {
223
+ var data, index, newScheme;
107
224
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
108
225
  while (1) switch (_context4.prev = _context4.next) {
109
226
  case 0:
110
- this.syncManager.saveCurrentSchemeId(gridId, 'column', schemeId);
111
- case 1:
227
+ data = this.readData();
228
+ if (!data.querySchemes[gridId]) {
229
+ data.querySchemes[gridId] = [];
230
+ }
231
+ index = data.querySchemes[gridId].findIndex(function (s) {
232
+ return s.id === scheme.id;
233
+ });
234
+ if (index >= 0) {
235
+ // 更新现有方案
236
+ data.querySchemes[gridId][index] = _objectSpread(_objectSpread({}, scheme), {}, {
237
+ updatedAt: Date.now()
238
+ });
239
+ this.log("\u66F4\u65B0\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
240
+ } else {
241
+ // 新增方案
242
+ newScheme = _objectSpread(_objectSpread({}, scheme), {}, {
243
+ createdAt: scheme.createdAt || Date.now(),
244
+ updatedAt: Date.now()
245
+ });
246
+ data.querySchemes[gridId].push(newScheme);
247
+ this.log("\u65B0\u589E\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
248
+ }
249
+ this.writeData(data);
250
+ return _context4.abrupt("return", data.querySchemes[gridId][index >= 0 ? index : data.querySchemes[gridId].length - 1]);
251
+ case 6:
112
252
  case "end":
113
253
  return _context4.stop();
114
254
  }
115
255
  }, _callee4, this);
116
256
  }));
117
- function saveCurrentSchemeId(_x5, _x6) {
118
- return _saveCurrentSchemeId.apply(this, arguments);
257
+ function saveQueryScheme(_x5, _x6) {
258
+ return _saveQueryScheme.apply(this, arguments);
119
259
  }
120
- return saveCurrentSchemeId;
121
- }())
122
- }]);
123
- return ColumnMemoryStorageAdapter;
124
- }();
125
- /**
126
- * 查询方案内存存储适配器
127
- */
128
- var QueryMemoryStorageAdapter = exports.QueryMemoryStorageAdapter = /*#__PURE__*/function () {
129
- function QueryMemoryStorageAdapter(syncManager) {
130
- _classCallCheck(this, QueryMemoryStorageAdapter);
131
- _defineProperty(this, "syncManager", void 0);
132
- this.syncManager = syncManager;
133
- }
134
-
135
- /**
136
- * 获取方案列表
137
- */
138
- _createClass(QueryMemoryStorageAdapter, [{
139
- key: "getSchemes",
140
- value: (function () {
141
- var _getSchemes2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(gridId) {
260
+ return saveQueryScheme;
261
+ }()
262
+ }, {
263
+ key: "deleteQueryScheme",
264
+ value: function () {
265
+ var _deleteQueryScheme = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(gridId, schemeId) {
266
+ var data, beforeCount, afterCount, _data$currentSchemes$2;
142
267
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
143
268
  while (1) switch (_context5.prev = _context5.next) {
144
269
  case 0:
145
- return _context5.abrupt("return", this.syncManager.getQuerySchemes(gridId));
146
- case 1:
270
+ data = this.readData();
271
+ if (data.querySchemes[gridId]) {
272
+ beforeCount = data.querySchemes[gridId].length;
273
+ data.querySchemes[gridId] = data.querySchemes[gridId].filter(function (s) {
274
+ return s.id !== schemeId;
275
+ });
276
+ afterCount = data.querySchemes[gridId].length;
277
+ if (beforeCount > afterCount) {
278
+ this.log("\u5220\u9664\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
279
+
280
+ // 如果删除的是当前方案,清除当前方案ID
281
+ if (((_data$currentSchemes$2 = data.currentSchemes[gridId]) === null || _data$currentSchemes$2 === void 0 ? void 0 : _data$currentSchemes$2.querySchemeId) === schemeId) {
282
+ data.currentSchemes[gridId].querySchemeId = null;
283
+ this.log("\u6E05\u9664\u5F53\u524D\u67E5\u8BE2\u65B9\u6848: ".concat(gridId));
284
+ }
285
+ this.writeData(data);
286
+ } else {
287
+ this.log("\u67E5\u8BE2\u65B9\u6848\u4E0D\u5B58\u5728: ".concat(gridId, " - ").concat(schemeId));
288
+ }
289
+ }
290
+ case 2:
147
291
  case "end":
148
292
  return _context5.stop();
149
293
  }
150
294
  }, _callee5, this);
151
295
  }));
152
- function getSchemes(_x7) {
153
- return _getSchemes2.apply(this, arguments);
296
+ function deleteQueryScheme(_x7, _x8) {
297
+ return _deleteQueryScheme.apply(this, arguments);
154
298
  }
155
- return getSchemes;
156
- }()
157
- /**
158
- * 保存方案列表
159
- */
160
- )
299
+ return deleteQueryScheme;
300
+ }() // ========== 当前方案操作 ==========
161
301
  }, {
162
- key: "saveSchemes",
163
- value: (function () {
164
- var _saveSchemes2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(gridId, schemes) {
302
+ key: "setCurrentScheme",
303
+ value: function () {
304
+ var _setCurrentScheme = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(gridId, columnSchemeId, querySchemeId) {
305
+ var data;
165
306
  return _regeneratorRuntime().wrap(function _callee6$(_context6) {
166
307
  while (1) switch (_context6.prev = _context6.next) {
167
308
  case 0:
168
- this.syncManager.saveQuerySchemes(gridId, schemes);
169
- case 1:
309
+ data = this.readData();
310
+ if (!data.currentSchemes[gridId]) {
311
+ data.currentSchemes[gridId] = {};
312
+ }
313
+ data.currentSchemes[gridId].columnSchemeId = columnSchemeId;
314
+ data.currentSchemes[gridId].querySchemeId = querySchemeId;
315
+ this.log("\u8BBE\u7F6E\u5F53\u524D\u65B9\u6848: ".concat(gridId), {
316
+ columnSchemeId: columnSchemeId,
317
+ querySchemeId: querySchemeId
318
+ });
319
+ this.writeData(data);
320
+ case 6:
170
321
  case "end":
171
322
  return _context6.stop();
172
323
  }
173
324
  }, _callee6, this);
174
325
  }));
175
- function saveSchemes(_x8, _x9) {
176
- return _saveSchemes2.apply(this, arguments);
177
- }
178
- return saveSchemes;
179
- }()
180
- /**
181
- * 获取当前方案ID
182
- */
183
- )
184
- }, {
185
- key: "getCurrentSchemeId",
186
- value: (function () {
187
- var _getCurrentSchemeId2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(gridId) {
188
- return _regeneratorRuntime().wrap(function _callee7$(_context7) {
189
- while (1) switch (_context7.prev = _context7.next) {
190
- case 0:
191
- return _context7.abrupt("return", this.syncManager.getCurrentSchemeId(gridId, 'query'));
192
- case 1:
193
- case "end":
194
- return _context7.stop();
195
- }
196
- }, _callee7, this);
197
- }));
198
- function getCurrentSchemeId(_x10) {
199
- return _getCurrentSchemeId2.apply(this, arguments);
200
- }
201
- return getCurrentSchemeId;
202
- }()
203
- /**
204
- * 保存当前方案ID
205
- */
206
- )
207
- }, {
208
- key: "saveCurrentSchemeId",
209
- value: (function () {
210
- var _saveCurrentSchemeId2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(gridId, schemeId) {
211
- return _regeneratorRuntime().wrap(function _callee8$(_context8) {
212
- while (1) switch (_context8.prev = _context8.next) {
213
- case 0:
214
- this.syncManager.saveCurrentSchemeId(gridId, 'query', schemeId);
215
- case 1:
216
- case "end":
217
- return _context8.stop();
218
- }
219
- }, _callee8, this);
220
- }));
221
- function saveCurrentSchemeId(_x11, _x12) {
222
- return _saveCurrentSchemeId2.apply(this, arguments);
223
- }
224
- return saveCurrentSchemeId;
225
- }())
226
- }]);
227
- return QueryMemoryStorageAdapter;
228
- }();
229
- /**
230
- * 通用内存存储适配器工厂
231
- * 根据方案类型创建对应的内存存储适配器
232
- */
233
- var MemoryStorageAdapterFactory = exports.MemoryStorageAdapterFactory = /*#__PURE__*/function () {
234
- function MemoryStorageAdapterFactory(syncManager) {
235
- _classCallCheck(this, MemoryStorageAdapterFactory);
236
- _defineProperty(this, "syncManager", void 0);
237
- _defineProperty(this, "columnAdapter", void 0);
238
- _defineProperty(this, "queryAdapter", void 0);
239
- this.syncManager = syncManager;
240
- }
241
-
242
- /**
243
- * 获取列方案存储适配器
244
- */
245
- _createClass(MemoryStorageAdapterFactory, [{
246
- key: "getColumnAdapter",
247
- value: function getColumnAdapter() {
248
- if (!this.columnAdapter) {
249
- this.columnAdapter = new ColumnMemoryStorageAdapter(this.syncManager);
326
+ function setCurrentScheme(_x9, _x10, _x11) {
327
+ return _setCurrentScheme.apply(this, arguments);
250
328
  }
251
- return this.columnAdapter;
252
- }
253
-
329
+ return setCurrentScheme;
330
+ }() // ========== 工具方法 ==========
254
331
  /**
255
- * 获取查询方案存储适配器
332
+ * 清除所有数据
256
333
  */
257
334
  }, {
258
- key: "getQueryAdapter",
259
- value: function getQueryAdapter() {
260
- if (!this.queryAdapter) {
261
- this.queryAdapter = new QueryMemoryStorageAdapter(this.syncManager);
262
- }
263
- return this.queryAdapter;
335
+ key: "clearAll",
336
+ value: function clearAll() {
337
+ localStorage.removeItem(this.STORAGE_KEY);
338
+ this.log('已清除所有数据');
264
339
  }
265
340
 
266
341
  /**
267
- * 获取同步管理器
342
+ * 获取存储大小(字节)
268
343
  */
269
344
  }, {
270
- key: "getSyncManager",
271
- value: function getSyncManager() {
272
- return this.syncManager;
345
+ key: "getStorageSize",
346
+ value: function getStorageSize() {
347
+ var data = localStorage.getItem(this.STORAGE_KEY);
348
+ return data ? new Blob([data]).size : 0;
273
349
  }
274
350
  }]);
275
- return MemoryStorageAdapterFactory;
276
- }();
351
+ return LocalStorageSchemeAdapter;
352
+ }();
353
+ /**
354
+ * 默认的 LocalStorage 适配器实例
355
+ */
356
+ var defaultLocalStorageAdapter = exports.defaultLocalStorageAdapter = new LocalStorageSchemeAdapter();