@nokecy/qc-ui 1.0.69 → 1.0.71

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 (191) hide show
  1. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +394 -206
  2. package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +30 -5
  3. package/dist/cjs/ag-grid-plus/context/gridContext.js +6 -1
  4. package/dist/cjs/ag-grid-plus/errors/ErrorBoundary.d.ts +36 -0
  5. package/dist/cjs/ag-grid-plus/errors/ErrorBoundary.js +143 -0
  6. package/dist/cjs/ag-grid-plus/errors/index.d.ts +3 -0
  7. package/dist/cjs/ag-grid-plus/errors/index.js +31 -0
  8. package/dist/cjs/ag-grid-plus/errors/types.d.ts +71 -0
  9. package/dist/cjs/ag-grid-plus/errors/types.js +137 -0
  10. package/dist/cjs/ag-grid-plus/hooks/index.d.ts +7 -0
  11. package/dist/cjs/ag-grid-plus/hooks/index.js +51 -0
  12. package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.d.ts +88 -0
  13. package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.js +224 -0
  14. package/dist/cjs/ag-grid-plus/hooks/useAgGridData.d.ts +91 -0
  15. package/dist/cjs/ag-grid-plus/hooks/useAgGridData.js +230 -0
  16. package/dist/cjs/ag-grid-plus/hooks/useGridPlusColumnState.d.ts +1 -8
  17. package/dist/cjs/ag-grid-plus/hooks/useGridState.d.ts +153 -0
  18. package/dist/cjs/ag-grid-plus/hooks/useGridState.js +258 -0
  19. package/dist/cjs/ag-grid-plus/index.d.ts +3 -0
  20. package/dist/cjs/ag-grid-plus/index.js +85 -0
  21. package/dist/cjs/ag-grid-plus/interface.d.ts +27 -0
  22. package/dist/cjs/ag-grid-plus/queryForm/index.js +18 -7
  23. package/dist/cjs/ag-grid-plus/queryForm/index.less +24 -0
  24. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +21 -0
  25. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +580 -0
  26. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +86 -0
  27. package/dist/cjs/ag-grid-plus/querySchemes/components/index.d.ts +5 -0
  28. package/dist/cjs/ag-grid-plus/querySchemes/components/index.js +12 -0
  29. package/dist/cjs/ag-grid-plus/querySchemes/constants.d.ts +17 -0
  30. package/dist/cjs/ag-grid-plus/querySchemes/constants.js +30 -0
  31. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +10 -0
  32. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +65 -0
  33. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +6 -0
  34. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +542 -0
  35. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +7 -0
  36. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +32 -0
  37. package/dist/cjs/ag-grid-plus/querySchemes/index.d.ts +11 -0
  38. package/dist/cjs/ag-grid-plus/querySchemes/index.js +113 -0
  39. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +44 -0
  40. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +261 -0
  41. package/dist/cjs/ag-grid-plus/querySchemes/types.d.ts +143 -0
  42. package/dist/cjs/ag-grid-plus/querySchemes/types.js +5 -0
  43. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.d.ts +36 -0
  44. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.js +155 -0
  45. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.d.ts +16 -0
  46. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.js +342 -0
  47. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.less +35 -0
  48. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +20 -0
  49. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +289 -0
  50. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.less +39 -0
  51. package/dist/cjs/ag-grid-plus/schemes/components/index.d.ts +4 -0
  52. package/dist/cjs/ag-grid-plus/schemes/components/index.js +19 -0
  53. package/dist/cjs/ag-grid-plus/schemes/constants.d.ts +23 -0
  54. package/dist/cjs/ag-grid-plus/schemes/constants.js +39 -0
  55. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +6 -0
  56. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +542 -0
  57. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +7 -0
  58. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +32 -0
  59. package/dist/cjs/ag-grid-plus/schemes/index.d.ts +16 -0
  60. package/dist/cjs/ag-grid-plus/schemes/index.js +124 -0
  61. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +64 -0
  62. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +368 -0
  63. package/dist/cjs/ag-grid-plus/schemes/types.d.ts +126 -0
  64. package/dist/cjs/ag-grid-plus/schemes/types.js +5 -0
  65. package/dist/cjs/ag-grid-plus/schemes/utils/validator.d.ts +27 -0
  66. package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +113 -0
  67. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +17 -0
  68. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +955 -0
  69. package/dist/cjs/ag-grid-plus/setting/index.d.ts +1 -1
  70. package/dist/cjs/ag-grid-plus/setting/index.js +74 -111
  71. package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +66 -0
  72. package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.js +648 -0
  73. package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +76 -0
  74. package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.js +276 -0
  75. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +104 -0
  76. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +593 -0
  77. package/dist/cjs/ag-grid-plus/storage/globalSyncManager.d.ts +74 -0
  78. package/dist/cjs/ag-grid-plus/storage/globalSyncManager.js +287 -0
  79. package/dist/cjs/ag-grid-plus/storage/index.d.ts +8 -0
  80. package/dist/cjs/ag-grid-plus/storage/index.js +49 -0
  81. package/dist/cjs/ag-grid-plus/storage/types.d.ts +113 -0
  82. package/dist/cjs/ag-grid-plus/storage/types.js +5 -0
  83. package/dist/cjs/ag-grid-plus/types.d.ts +310 -0
  84. package/dist/cjs/ag-grid-plus/types.js +5 -0
  85. package/dist/cjs/ag-grid-plus/utils/columnProcessors.d.ts +95 -0
  86. package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +265 -0
  87. package/dist/cjs/ag-grid-plus/utils/constants.d.ts +41 -0
  88. package/dist/cjs/ag-grid-plus/utils/constants.js +56 -0
  89. package/dist/cjs/ag-grid-plus/utils/logger.d.ts +34 -0
  90. package/dist/cjs/ag-grid-plus/utils/logger.js +119 -0
  91. package/dist/cjs/ag-grid-plus/utils/sanitize.d.ts +15 -0
  92. package/dist/cjs/ag-grid-plus/utils/sanitize.js +39 -0
  93. package/dist/cjs/index.d.ts +3 -2
  94. package/dist/cjs/index.js +84 -0
  95. package/dist/esm/ag-grid-plus/ag-gridPlus.js +395 -206
  96. package/dist/esm/ag-grid-plus/context/gridContext.d.ts +30 -5
  97. package/dist/esm/ag-grid-plus/context/gridContext.js +6 -1
  98. package/dist/esm/ag-grid-plus/errors/ErrorBoundary.d.ts +36 -0
  99. package/dist/esm/ag-grid-plus/errors/ErrorBoundary.js +137 -0
  100. package/dist/esm/ag-grid-plus/errors/index.d.ts +3 -0
  101. package/dist/esm/ag-grid-plus/errors/index.js +2 -0
  102. package/dist/esm/ag-grid-plus/errors/types.d.ts +71 -0
  103. package/dist/esm/ag-grid-plus/errors/types.js +135 -0
  104. package/dist/esm/ag-grid-plus/hooks/index.d.ts +7 -0
  105. package/dist/esm/ag-grid-plus/hooks/index.js +10 -0
  106. package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.d.ts +88 -0
  107. package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.js +217 -0
  108. package/dist/esm/ag-grid-plus/hooks/useAgGridData.d.ts +91 -0
  109. package/dist/esm/ag-grid-plus/hooks/useAgGridData.js +225 -0
  110. package/dist/esm/ag-grid-plus/hooks/useGridPlusColumnState.d.ts +1 -8
  111. package/dist/esm/ag-grid-plus/hooks/useGridState.d.ts +153 -0
  112. package/dist/esm/ag-grid-plus/hooks/useGridState.js +258 -0
  113. package/dist/esm/ag-grid-plus/index.d.ts +3 -0
  114. package/dist/esm/ag-grid-plus/index.js +4 -1
  115. package/dist/esm/ag-grid-plus/interface.d.ts +27 -0
  116. package/dist/esm/ag-grid-plus/queryForm/index.less +7 -2
  117. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +21 -0
  118. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +572 -0
  119. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +86 -0
  120. package/dist/esm/ag-grid-plus/querySchemes/components/index.d.ts +5 -0
  121. package/dist/esm/ag-grid-plus/querySchemes/components/index.js +5 -0
  122. package/dist/esm/ag-grid-plus/querySchemes/constants.d.ts +17 -0
  123. package/dist/esm/ag-grid-plus/querySchemes/constants.js +24 -0
  124. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +10 -0
  125. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +60 -0
  126. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +6 -0
  127. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +537 -0
  128. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +7 -0
  129. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +27 -0
  130. package/dist/esm/ag-grid-plus/querySchemes/index.d.ts +11 -0
  131. package/dist/esm/ag-grid-plus/querySchemes/index.js +20 -0
  132. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +44 -0
  133. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +256 -0
  134. package/dist/esm/ag-grid-plus/querySchemes/types.d.ts +143 -0
  135. package/dist/esm/ag-grid-plus/querySchemes/types.js +1 -0
  136. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.d.ts +36 -0
  137. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.js +144 -0
  138. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.d.ts +16 -0
  139. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.js +334 -0
  140. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.less +35 -0
  141. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +20 -0
  142. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +281 -0
  143. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.less +39 -0
  144. package/dist/esm/ag-grid-plus/schemes/components/index.d.ts +4 -0
  145. package/dist/esm/ag-grid-plus/schemes/components/index.js +2 -0
  146. package/dist/esm/ag-grid-plus/schemes/constants.d.ts +23 -0
  147. package/dist/esm/ag-grid-plus/schemes/constants.js +33 -0
  148. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +6 -0
  149. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +537 -0
  150. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +7 -0
  151. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +27 -0
  152. package/dist/esm/ag-grid-plus/schemes/index.d.ts +16 -0
  153. package/dist/esm/ag-grid-plus/schemes/index.js +25 -0
  154. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +64 -0
  155. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +363 -0
  156. package/dist/esm/ag-grid-plus/schemes/types.d.ts +126 -0
  157. package/dist/esm/ag-grid-plus/schemes/types.js +1 -0
  158. package/dist/esm/ag-grid-plus/schemes/utils/validator.d.ts +27 -0
  159. package/dist/esm/ag-grid-plus/schemes/utils/validator.js +104 -0
  160. package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +17 -0
  161. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +946 -0
  162. package/dist/esm/ag-grid-plus/setting/index.d.ts +1 -1
  163. package/dist/esm/ag-grid-plus/setting/index.js +69 -107
  164. package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +66 -0
  165. package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.js +643 -0
  166. package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +76 -0
  167. package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.js +273 -0
  168. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +104 -0
  169. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +587 -0
  170. package/dist/esm/ag-grid-plus/storage/globalSyncManager.d.ts +74 -0
  171. package/dist/esm/ag-grid-plus/storage/globalSyncManager.js +275 -0
  172. package/dist/esm/ag-grid-plus/storage/index.d.ts +8 -0
  173. package/dist/esm/ag-grid-plus/storage/index.js +9 -0
  174. package/dist/esm/ag-grid-plus/storage/types.d.ts +113 -0
  175. package/dist/esm/ag-grid-plus/storage/types.js +1 -0
  176. package/dist/esm/ag-grid-plus/types.d.ts +310 -0
  177. package/dist/esm/ag-grid-plus/types.js +1 -0
  178. package/dist/esm/ag-grid-plus/utils/columnProcessors.d.ts +95 -0
  179. package/dist/esm/ag-grid-plus/utils/columnProcessors.js +251 -0
  180. package/dist/esm/ag-grid-plus/utils/constants.d.ts +41 -0
  181. package/dist/esm/ag-grid-plus/utils/constants.js +50 -0
  182. package/dist/esm/ag-grid-plus/utils/logger.d.ts +34 -0
  183. package/dist/esm/ag-grid-plus/utils/logger.js +114 -0
  184. package/dist/esm/ag-grid-plus/utils/sanitize.d.ts +15 -0
  185. package/dist/esm/ag-grid-plus/utils/sanitize.js +32 -0
  186. package/dist/esm/index.d.ts +3 -2
  187. package/dist/esm/index.js +8 -2
  188. package/dist/esm/standardFormDialog/withStandardForm.d.ts +2 -2
  189. package/dist/umd/qc-ui.min.css +1 -1
  190. package/dist/umd/qc-ui.min.js +1 -1
  191. package/package.json +3 -2
@@ -0,0 +1,587 @@
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 _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; }
3
+ 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); } }
4
+ 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); }); }; }
5
+ 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; }
6
+ 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; }
7
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
9
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
10
+ 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; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
+ 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); }
13
+ /**
14
+ * 方案同步管理器
15
+ * 负责所有与后端的数据同步操作
16
+ */
17
+
18
+ /**
19
+ * 默认配置
20
+ */
21
+ var DEFAULT_CONFIG = {
22
+ autoSaveDelay: 3000,
23
+ backgroundSyncInterval: 300000,
24
+ // 5分钟
25
+ enableAutoSave: true,
26
+ enableBackgroundSync: true,
27
+ conflictResolution: 'client',
28
+ requestTimeout: 30000,
29
+ maxRetries: 3
30
+ };
31
+
32
+ /**
33
+ * 方案同步管理器类
34
+ */
35
+ export var SchemeSyncManager = /*#__PURE__*/function () {
36
+ function SchemeSyncManager(config) {
37
+ var _this = this;
38
+ var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
39
+ _classCallCheck(this, SchemeSyncManager);
40
+ _defineProperty(this, "config", void 0);
41
+ _defineProperty(this, "events", void 0);
42
+ // 数据存储
43
+ _defineProperty(this, "allData", void 0);
44
+ // 同步状态
45
+ _defineProperty(this, "lastSyncTime", 0);
46
+ _defineProperty(this, "syncing", false);
47
+ _defineProperty(this, "initialized", false);
48
+ // 脏数据跟踪
49
+ _defineProperty(this, "dirtyGrids", new Map());
50
+ // 定时器
51
+ _defineProperty(this, "autoSaveTimer", void 0);
52
+ _defineProperty(this, "backgroundSyncTimer", void 0);
53
+ /**
54
+ * 页面卸载前同步
55
+ */
56
+ _defineProperty(this, "handleBeforeUnload", function () {
57
+ if (_this.hasDirtyData()) {
58
+ // 使用 Beacon API 发送数据(不阻塞页面卸载)
59
+ var requestData = {
60
+ clientSyncTime: _this.lastSyncTime,
61
+ columnSchemes: _this.allData.columnSchemes,
62
+ querySchemes: _this.allData.querySchemes,
63
+ currentSchemes: _this.allData.currentSchemes
64
+ };
65
+ var blob = new Blob([JSON.stringify(requestData)], {
66
+ type: 'application/json'
67
+ });
68
+ if (navigator.sendBeacon) {
69
+ navigator.sendBeacon("".concat(_this.config.apiBaseUrl, "/api/v1/ag-grid-plus/schemes"), blob);
70
+ }
71
+ }
72
+ });
73
+ this.config = _objectSpread(_objectSpread({}, DEFAULT_CONFIG), config);
74
+ this.events = events;
75
+
76
+ // 初始化空数据
77
+ this.allData = {
78
+ columnSchemes: {},
79
+ querySchemes: {},
80
+ currentSchemes: {},
81
+ syncTime: 0,
82
+ version: 1
83
+ };
84
+
85
+ // 页面卸载前同步
86
+ if (typeof window !== 'undefined') {
87
+ window.addEventListener('beforeunload', this.handleBeforeUnload);
88
+ }
89
+ }
90
+
91
+ /**
92
+ * 初始化:从服务器加载所有数据
93
+ */
94
+ _createClass(SchemeSyncManager, [{
95
+ key: "initialize",
96
+ value: (function () {
97
+ var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
98
+ var response, data;
99
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
100
+ while (1) switch (_context.prev = _context.next) {
101
+ case 0:
102
+ if (!this.initialized) {
103
+ _context.next = 3;
104
+ break;
105
+ }
106
+ console.warn('[SchemeSyncManager] 已经初始化,跳过重复初始化');
107
+ return _context.abrupt("return");
108
+ case 3:
109
+ _context.prev = 3;
110
+ _context.next = 6;
111
+ return this.fetchWithRetry("".concat(this.config.apiBaseUrl, "/api/v1/ag-grid-plus/schemes"), {
112
+ method: 'GET',
113
+ headers: {
114
+ 'Content-Type': 'application/json'
115
+ }
116
+ });
117
+ case 6:
118
+ response = _context.sent;
119
+ _context.next = 9;
120
+ return response.json();
121
+ case 9:
122
+ data = _context.sent;
123
+ if (data.success) {
124
+ _context.next = 12;
125
+ break;
126
+ }
127
+ throw new Error('初始化失败:服务器返回错误');
128
+ case 12:
129
+ this.allData = data.data;
130
+ this.lastSyncTime = data.data.syncTime;
131
+ this.initialized = true;
132
+
133
+ // 启动后台同步
134
+ if (this.config.enableBackgroundSync) {
135
+ this.startBackgroundSync();
136
+ }
137
+ console.log('[SchemeSyncManager] 初始化成功,加载数据:', {
138
+ columnSchemes: Object.keys(this.allData.columnSchemes).length,
139
+ querySchemes: Object.keys(this.allData.querySchemes).length,
140
+ syncTime: new Date(this.lastSyncTime).toISOString()
141
+ });
142
+ _context.next = 23;
143
+ break;
144
+ case 19:
145
+ _context.prev = 19;
146
+ _context.t0 = _context["catch"](3);
147
+ console.error('[SchemeSyncManager] 初始化失败:', _context.t0);
148
+ throw _context.t0;
149
+ case 23:
150
+ case "end":
151
+ return _context.stop();
152
+ }
153
+ }, _callee, this, [[3, 19]]);
154
+ }));
155
+ function initialize() {
156
+ return _initialize.apply(this, arguments);
157
+ }
158
+ return initialize;
159
+ }()
160
+ /**
161
+ * 销毁管理器
162
+ */
163
+ )
164
+ }, {
165
+ key: "destroy",
166
+ value: function destroy() {
167
+ // 停止所有定时器
168
+ if (this.autoSaveTimer) {
169
+ clearTimeout(this.autoSaveTimer);
170
+ }
171
+ if (this.backgroundSyncTimer) {
172
+ clearInterval(this.backgroundSyncTimer);
173
+ }
174
+
175
+ // 移除事件监听
176
+ if (typeof window !== 'undefined') {
177
+ window.removeEventListener('beforeunload', this.handleBeforeUnload);
178
+ }
179
+ this.initialized = false;
180
+ }
181
+
182
+ /**
183
+ * 获取列方案数据
184
+ */
185
+ }, {
186
+ key: "getColumnSchemes",
187
+ value: function getColumnSchemes(gridId) {
188
+ return this.allData.columnSchemes[gridId] || [];
189
+ }
190
+
191
+ /**
192
+ * 保存列方案数据
193
+ */
194
+ }, {
195
+ key: "saveColumnSchemes",
196
+ value: function saveColumnSchemes(gridId, schemes) {
197
+ this.allData.columnSchemes[gridId] = schemes;
198
+ this.markDirty(gridId, 'column');
199
+ }
200
+
201
+ /**
202
+ * 获取查询方案数据
203
+ */
204
+ }, {
205
+ key: "getQuerySchemes",
206
+ value: function getQuerySchemes(gridId) {
207
+ return this.allData.querySchemes[gridId] || [];
208
+ }
209
+
210
+ /**
211
+ * 保存查询方案数据
212
+ */
213
+ }, {
214
+ key: "saveQuerySchemes",
215
+ value: function saveQuerySchemes(gridId, schemes) {
216
+ this.allData.querySchemes[gridId] = schemes;
217
+ this.markDirty(gridId, 'query');
218
+ }
219
+
220
+ /**
221
+ * 获取当前方案ID
222
+ */
223
+ }, {
224
+ key: "getCurrentSchemeId",
225
+ value: function getCurrentSchemeId(gridId, type) {
226
+ var current = this.allData.currentSchemes[gridId];
227
+ if (!current) return null;
228
+ return type === 'column' ? current.columnSchemeId || null : current.querySchemeId || null;
229
+ }
230
+
231
+ /**
232
+ * 保存当前方案ID
233
+ */
234
+ }, {
235
+ key: "saveCurrentSchemeId",
236
+ value: function saveCurrentSchemeId(gridId, type, schemeId) {
237
+ if (!this.allData.currentSchemes[gridId]) {
238
+ this.allData.currentSchemes[gridId] = {};
239
+ }
240
+ if (type === 'column') {
241
+ this.allData.currentSchemes[gridId].columnSchemeId = schemeId;
242
+ } else {
243
+ this.allData.currentSchemes[gridId].querySchemeId = schemeId;
244
+ }
245
+ this.markDirty(gridId, 'current');
246
+ }
247
+
248
+ /**
249
+ * 标记数据为脏数据
250
+ */
251
+ }, {
252
+ key: "markDirty",
253
+ value: function markDirty(gridId, type) {
254
+ if (!this.dirtyGrids.has(gridId)) {
255
+ this.dirtyGrids.set(gridId, new Set());
256
+ }
257
+ this.dirtyGrids.get(gridId).add(type);
258
+
259
+ // 触发自动保存
260
+ if (this.config.enableAutoSave) {
261
+ this.scheduleAutoSave();
262
+ }
263
+ }
264
+
265
+ /**
266
+ * 检查是否有未同步的数据
267
+ */
268
+ }, {
269
+ key: "hasDirtyData",
270
+ value: function hasDirtyData() {
271
+ return this.dirtyGrids.size > 0;
272
+ }
273
+
274
+ /**
275
+ * 获取所有脏数据的 gridId 列表
276
+ */
277
+ }, {
278
+ key: "getDirtyGridIds",
279
+ value: function getDirtyGridIds() {
280
+ return Array.from(this.dirtyGrids.keys());
281
+ }
282
+
283
+ /**
284
+ * 调度自动保存
285
+ */
286
+ }, {
287
+ key: "scheduleAutoSave",
288
+ value: function scheduleAutoSave() {
289
+ var _this2 = this;
290
+ if (this.autoSaveTimer) {
291
+ clearTimeout(this.autoSaveTimer);
292
+ }
293
+ this.autoSaveTimer = setTimeout(function () {
294
+ var _this2$events$onAutoS, _this2$events;
295
+ (_this2$events$onAutoS = (_this2$events = _this2.events).onAutoSave) === null || _this2$events$onAutoS === void 0 || _this2$events$onAutoS.call(_this2$events);
296
+ _this2.syncNow().catch(function (error) {
297
+ console.error('[SchemeSyncManager] 自动保存失败:', error);
298
+ });
299
+ }, this.config.autoSaveDelay);
300
+ }
301
+
302
+ /**
303
+ * 启动后台同步
304
+ */
305
+ }, {
306
+ key: "startBackgroundSync",
307
+ value: function startBackgroundSync() {
308
+ var _this3 = this;
309
+ if (this.backgroundSyncTimer) {
310
+ clearInterval(this.backgroundSyncTimer);
311
+ }
312
+ this.backgroundSyncTimer = setInterval(function () {
313
+ if (_this3.hasDirtyData()) {
314
+ _this3.syncNow().catch(function (error) {
315
+ console.error('[SchemeSyncManager] 后台同步失败:', error);
316
+ });
317
+ }
318
+ }, this.config.backgroundSyncInterval);
319
+ }
320
+
321
+ /**
322
+ * 立即同步数据到服务器
323
+ */
324
+ }, {
325
+ key: "syncNow",
326
+ value: (function () {
327
+ var _syncNow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
328
+ var _this$events$onSyncSt,
329
+ _this$events,
330
+ _this4 = this;
331
+ var _this$events$onSyncSu, _this$events3, _result$conflicts, requestData, dirtyColumnGrids, dirtyQueryGrids, dirtyCurrentGrids, response, result, _this$events$onConfli, _this$events2, _this$events$onSyncEr, _this$events4;
332
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
333
+ while (1) switch (_context2.prev = _context2.next) {
334
+ case 0:
335
+ if (!this.syncing) {
336
+ _context2.next = 3;
337
+ break;
338
+ }
339
+ console.log('[SchemeSyncManager] 正在同步中,跳过重复请求');
340
+ return _context2.abrupt("return");
341
+ case 3:
342
+ if (this.hasDirtyData()) {
343
+ _context2.next = 6;
344
+ break;
345
+ }
346
+ console.log('[SchemeSyncManager] 没有需要同步的数据');
347
+ return _context2.abrupt("return");
348
+ case 6:
349
+ this.syncing = true;
350
+ (_this$events$onSyncSt = (_this$events = this.events).onSyncStart) === null || _this$events$onSyncSt === void 0 || _this$events$onSyncSt.call(_this$events);
351
+ _context2.prev = 8;
352
+ // 构建同步请求数据
353
+ requestData = {
354
+ clientSyncTime: this.lastSyncTime
355
+ };
356
+ dirtyColumnGrids = new Set();
357
+ dirtyQueryGrids = new Set();
358
+ dirtyCurrentGrids = new Set();
359
+ this.dirtyGrids.forEach(function (types, gridId) {
360
+ if (types.has('column')) dirtyColumnGrids.add(gridId);
361
+ if (types.has('query')) dirtyQueryGrids.add(gridId);
362
+ if (types.has('current')) dirtyCurrentGrids.add(gridId);
363
+ });
364
+
365
+ // 添加列方案数据
366
+ if (dirtyColumnGrids.size > 0) {
367
+ requestData.columnSchemes = {};
368
+ dirtyColumnGrids.forEach(function (gridId) {
369
+ requestData.columnSchemes[gridId] = _this4.allData.columnSchemes[gridId] || [];
370
+ });
371
+ }
372
+
373
+ // 添加查询方案数据
374
+ if (dirtyQueryGrids.size > 0) {
375
+ requestData.querySchemes = {};
376
+ dirtyQueryGrids.forEach(function (gridId) {
377
+ requestData.querySchemes[gridId] = _this4.allData.querySchemes[gridId] || [];
378
+ });
379
+ }
380
+
381
+ // 添加当前方案数据
382
+ if (dirtyCurrentGrids.size > 0) {
383
+ requestData.currentSchemes = {};
384
+ dirtyCurrentGrids.forEach(function (gridId) {
385
+ requestData.currentSchemes[gridId] = _this4.allData.currentSchemes[gridId] || {};
386
+ });
387
+ }
388
+
389
+ // 发送同步请求
390
+ _context2.next = 19;
391
+ return this.fetchWithRetry("".concat(this.config.apiBaseUrl, "/api/v1/ag-grid-plus/schemes"), {
392
+ method: 'PUT',
393
+ headers: {
394
+ 'Content-Type': 'application/json'
395
+ },
396
+ body: JSON.stringify(requestData)
397
+ });
398
+ case 19:
399
+ response = _context2.sent;
400
+ _context2.next = 22;
401
+ return response.json();
402
+ case 22:
403
+ result = _context2.sent;
404
+ if (result.success) {
405
+ _context2.next = 25;
406
+ break;
407
+ }
408
+ throw new Error(result.error || '同步失败');
409
+ case 25:
410
+ // 处理冲突
411
+ if (result.conflicts && result.conflicts.length > 0) {
412
+ this.handleConflicts(result.conflicts);
413
+ (_this$events$onConfli = (_this$events2 = this.events).onConflict) === null || _this$events$onConfli === void 0 || _this$events$onConfli.call(_this$events2, result.conflicts);
414
+ }
415
+
416
+ // 更新同步时间
417
+ if (result.syncTime) {
418
+ this.lastSyncTime = result.syncTime;
419
+ this.allData.syncTime = result.syncTime;
420
+ }
421
+
422
+ // 清除脏数据标记
423
+ this.dirtyGrids.clear();
424
+ (_this$events$onSyncSu = (_this$events3 = this.events).onSyncSuccess) === null || _this$events$onSyncSu === void 0 || _this$events$onSyncSu.call(_this$events3, this.lastSyncTime);
425
+ console.log('[SchemeSyncManager] 同步成功:', {
426
+ syncTime: new Date(this.lastSyncTime).toISOString(),
427
+ conflicts: ((_result$conflicts = result.conflicts) === null || _result$conflicts === void 0 ? void 0 : _result$conflicts.length) || 0
428
+ });
429
+ _context2.next = 37;
430
+ break;
431
+ case 32:
432
+ _context2.prev = 32;
433
+ _context2.t0 = _context2["catch"](8);
434
+ console.error('[SchemeSyncManager] 同步失败:', _context2.t0);
435
+ (_this$events$onSyncEr = (_this$events4 = this.events).onSyncError) === null || _this$events$onSyncEr === void 0 || _this$events$onSyncEr.call(_this$events4, _context2.t0);
436
+ throw _context2.t0;
437
+ case 37:
438
+ _context2.prev = 37;
439
+ this.syncing = false;
440
+ return _context2.finish(37);
441
+ case 40:
442
+ case "end":
443
+ return _context2.stop();
444
+ }
445
+ }, _callee2, this, [[8, 32, 37, 40]]);
446
+ }));
447
+ function syncNow() {
448
+ return _syncNow.apply(this, arguments);
449
+ }
450
+ return syncNow;
451
+ }()
452
+ /**
453
+ * 处理冲突
454
+ */
455
+ )
456
+ }, {
457
+ key: "handleConflicts",
458
+ value: function handleConflicts(conflicts) {
459
+ var _this5 = this;
460
+ conflicts.forEach(function (conflict) {
461
+ switch (_this5.config.conflictResolution) {
462
+ case 'server':
463
+ // 使用服务器版本
464
+ _this5.applyServerVersion(conflict);
465
+ break;
466
+ case 'client':
467
+ // 保持客户端版本(默认行为)
468
+ console.warn('[SchemeSyncManager] 冲突检测到,保持客户端版本:', conflict);
469
+ break;
470
+ case 'manual':
471
+ // 需要用户手动解决
472
+ console.warn('[SchemeSyncManager] 冲突需要手动解决:', conflict);
473
+ break;
474
+ }
475
+ });
476
+ }
477
+
478
+ /**
479
+ * 应用服务器版本
480
+ */
481
+ }, {
482
+ key: "applyServerVersion",
483
+ value: function applyServerVersion(conflict) {
484
+ var gridId = conflict.gridId,
485
+ type = conflict.type,
486
+ serverVersion = conflict.serverVersion;
487
+ switch (type) {
488
+ case 'column':
489
+ if (Array.isArray(serverVersion)) {
490
+ this.allData.columnSchemes[gridId] = serverVersion;
491
+ }
492
+ break;
493
+ case 'query':
494
+ if (Array.isArray(serverVersion)) {
495
+ this.allData.querySchemes[gridId] = serverVersion;
496
+ }
497
+ break;
498
+ case 'current':
499
+ this.allData.currentSchemes[gridId] = serverVersion;
500
+ break;
501
+ }
502
+ console.log('[SchemeSyncManager] 已应用服务器版本:', {
503
+ gridId: gridId,
504
+ type: type
505
+ });
506
+ }
507
+ }, {
508
+ key: "fetchWithRetry",
509
+ value: (
510
+ /**
511
+ * 带重试的 fetch 请求
512
+ */
513
+ function () {
514
+ var _fetchWithRetry = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(url, options) {
515
+ var retries,
516
+ controller,
517
+ timeoutId,
518
+ response,
519
+ _args3 = arguments;
520
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
521
+ while (1) switch (_context3.prev = _context3.next) {
522
+ case 0:
523
+ retries = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : this.config.maxRetries;
524
+ _context3.prev = 1;
525
+ controller = new AbortController();
526
+ timeoutId = setTimeout(function () {
527
+ return controller.abort();
528
+ }, this.config.requestTimeout);
529
+ _context3.next = 6;
530
+ return fetch(url, _objectSpread(_objectSpread({}, options), {}, {
531
+ signal: controller.signal
532
+ }));
533
+ case 6:
534
+ response = _context3.sent;
535
+ clearTimeout(timeoutId);
536
+ if (response.ok) {
537
+ _context3.next = 10;
538
+ break;
539
+ }
540
+ throw new Error("HTTP ".concat(response.status, ": ").concat(response.statusText));
541
+ case 10:
542
+ return _context3.abrupt("return", response);
543
+ case 13:
544
+ _context3.prev = 13;
545
+ _context3.t0 = _context3["catch"](1);
546
+ if (!(retries > 0)) {
547
+ _context3.next = 20;
548
+ break;
549
+ }
550
+ console.warn("[SchemeSyncManager] \u8BF7\u6C42\u5931\u8D25\uFF0C\u91CD\u8BD5\u4E2D... (\u5269\u4F59 ".concat(retries, " \u6B21)"), _context3.t0);
551
+ _context3.next = 19;
552
+ return new Promise(function (resolve) {
553
+ return setTimeout(resolve, 1000);
554
+ });
555
+ case 19:
556
+ return _context3.abrupt("return", this.fetchWithRetry(url, options, retries - 1));
557
+ case 20:
558
+ throw _context3.t0;
559
+ case 21:
560
+ case "end":
561
+ return _context3.stop();
562
+ }
563
+ }, _callee3, this, [[1, 13]]);
564
+ }));
565
+ function fetchWithRetry(_x, _x2) {
566
+ return _fetchWithRetry.apply(this, arguments);
567
+ }
568
+ return fetchWithRetry;
569
+ }()
570
+ /**
571
+ * 获取同步状态信息
572
+ */
573
+ )
574
+ }, {
575
+ key: "getSyncStatus",
576
+ value: function getSyncStatus() {
577
+ return {
578
+ initialized: this.initialized,
579
+ syncing: this.syncing,
580
+ lastSyncTime: this.lastSyncTime,
581
+ hasDirtyData: this.hasDirtyData(),
582
+ dirtyGrids: this.getDirtyGridIds()
583
+ };
584
+ }
585
+ }]);
586
+ return SchemeSyncManager;
587
+ }();
@@ -0,0 +1,74 @@
1
+ /**
2
+ * 全局方案同步管理器
3
+ * 应用级单例,所有 AgGrid 表格共享一个同步实例
4
+ */
5
+ import { SchemeSyncManager } from './SchemeSyncManager';
6
+ import { MemoryStorageAdapterFactory } from './MemoryStorageAdapter';
7
+ import { SyncConfig, SyncManagerEvents } from './types';
8
+ /**
9
+ * 初始化全局方案同步系统
10
+ * 应该在应用启动时调用一次
11
+ *
12
+ * @param config 同步配置
13
+ * @param events 同步事件回调
14
+ * @returns Promise<void>
15
+ */
16
+ export declare function initializeGlobalSchemeSync(config: SyncConfig, events?: SyncManagerEvents): Promise<void>;
17
+ /**
18
+ * 获取全局同步管理器
19
+ * 必须在 initializeGlobalSchemeSync() 之后调用
20
+ *
21
+ * @returns SchemeSyncManager 实例
22
+ * @throws 如果未初始化会抛出错误
23
+ */
24
+ export declare function getGlobalSyncManager(): SchemeSyncManager;
25
+ /**
26
+ * 获取全局适配器工厂
27
+ * 必须在 initializeGlobalSchemeSync() 之后调用
28
+ *
29
+ * @returns MemoryStorageAdapterFactory 实例
30
+ * @throws 如果未初始化会抛出错误
31
+ */
32
+ export declare function getGlobalAdapterFactory(): MemoryStorageAdapterFactory;
33
+ /**
34
+ * 检查是否已初始化
35
+ */
36
+ export declare function isGlobalSyncInitialized(): boolean;
37
+ /**
38
+ * 销毁全局同步系统
39
+ * 应该在应用卸载时调用
40
+ */
41
+ export declare function destroyGlobalSchemeSync(): void;
42
+ /**
43
+ * 手动触发全局同步
44
+ * 同步所有表格的方案数据
45
+ */
46
+ export declare function syncAllSchemes(): Promise<void>;
47
+ /**
48
+ * 获取全局同步状态
49
+ */
50
+ export declare function getGlobalSyncStatus(): {
51
+ initialized: boolean;
52
+ syncing: boolean;
53
+ lastSyncTime: number;
54
+ hasDirtyData: boolean;
55
+ dirtyGrids: string[];
56
+ };
57
+ /**
58
+ * 检查是否有未同步的数据
59
+ */
60
+ export declare function hasUnsyncedData(): boolean;
61
+ /**
62
+ * 获取有未同步数据的表格列表
63
+ */
64
+ export declare function getUnsyncedGrids(): string[];
65
+ /**
66
+ * React Hook: 使用全局列方案适配器
67
+ * 简化组件中的使用
68
+ */
69
+ export declare function useGlobalColumnAdapter(): import("./MemoryStorageAdapter").ColumnMemoryStorageAdapter;
70
+ /**
71
+ * React Hook: 使用全局查询方案适配器
72
+ * 简化组件中的使用
73
+ */
74
+ export declare function useGlobalQueryAdapter(): import("./MemoryStorageAdapter").QueryMemoryStorageAdapter;