@nokecy/qc-ui 1.0.94 → 1.0.96

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 (152) hide show
  1. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +252 -173
  2. package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +108 -20
  3. package/dist/cjs/ag-grid-plus/context/gridContext.js +12 -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 +111 -0
  7. package/dist/cjs/ag-grid-plus/context/useSchemeManager.js +596 -0
  8. package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.d.ts +1 -1
  9. package/dist/cjs/ag-grid-plus/hooks/useAgGridData.d.ts +2 -2
  10. package/dist/cjs/ag-grid-plus/index.d.ts +7 -2
  11. package/dist/cjs/ag-grid-plus/index.js +11 -93
  12. package/dist/cjs/ag-grid-plus/interface.d.ts +0 -31
  13. package/dist/cjs/ag-grid-plus/interface.js +3 -0
  14. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +0 -3
  15. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +279 -145
  16. package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.d.ts +11 -0
  17. package/dist/cjs/ag-grid-plus/{querySchemes/components/QuerySchemesManager.js → setting/QuerySchemeManager.js} +193 -108
  18. package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -2
  19. package/dist/cjs/ag-grid-plus/setting/index.js +33 -48
  20. package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.d.ts +58 -0
  21. package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.js +446 -0
  22. package/dist/cjs/ag-grid-plus/shared/storage/localStorageAdapter.d.ts +57 -0
  23. package/dist/cjs/ag-grid-plus/{schemes → shared}/storage/localStorageAdapter.js +253 -271
  24. package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
  25. package/dist/cjs/array-table/index.js +167 -45
  26. package/dist/cjs/index.d.ts +3 -3
  27. package/dist/cjs/index.js +14 -86
  28. package/dist/esm/ag-grid-plus/ag-gridPlus.js +252 -173
  29. package/dist/esm/ag-grid-plus/context/gridContext.d.ts +108 -20
  30. package/dist/esm/ag-grid-plus/context/gridContext.js +13 -4
  31. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.d.ts +88 -0
  32. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +165 -0
  33. package/dist/esm/ag-grid-plus/context/useSchemeManager.d.ts +111 -0
  34. package/dist/esm/ag-grid-plus/context/useSchemeManager.js +590 -0
  35. package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.d.ts +1 -1
  36. package/dist/esm/ag-grid-plus/hooks/useAgGridData.d.ts +2 -2
  37. package/dist/esm/ag-grid-plus/index.d.ts +7 -2
  38. package/dist/esm/ag-grid-plus/index.js +9 -5
  39. package/dist/esm/ag-grid-plus/interface.d.ts +0 -31
  40. package/dist/esm/ag-grid-plus/interface.js +2 -0
  41. package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +0 -3
  42. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +281 -147
  43. package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.d.ts +11 -0
  44. package/dist/esm/ag-grid-plus/{querySchemes/components/QuerySchemesManager.js → setting/QuerySchemeManager.js} +192 -107
  45. package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -2
  46. package/dist/esm/ag-grid-plus/setting/index.js +33 -48
  47. package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.d.ts +58 -0
  48. package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +444 -0
  49. package/dist/esm/ag-grid-plus/shared/storage/localStorageAdapter.d.ts +57 -0
  50. package/dist/esm/ag-grid-plus/{schemes → shared}/storage/localStorageAdapter.js +252 -271
  51. package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
  52. package/dist/esm/array-table/index.js +168 -46
  53. package/dist/esm/index.d.ts +3 -3
  54. package/dist/esm/index.js +11 -11
  55. package/dist/esm/standardFormDialog/useStandardFormSchema.d.ts +1 -1
  56. package/dist/umd/qc-ui.min.css +1 -1
  57. package/dist/umd/qc-ui.min.js +1 -1
  58. package/package.json +1 -1
  59. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
  60. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
  61. package/dist/cjs/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
  62. package/dist/cjs/ag-grid-plus/querySchemes/components/index.js +0 -12
  63. package/dist/cjs/ag-grid-plus/querySchemes/constants.d.ts +0 -17
  64. package/dist/cjs/ag-grid-plus/querySchemes/constants.js +0 -30
  65. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
  66. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -65
  67. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
  68. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +0 -564
  69. package/dist/cjs/ag-grid-plus/querySchemes/index.d.ts +0 -11
  70. package/dist/cjs/ag-grid-plus/querySchemes/index.js +0 -113
  71. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
  72. package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -261
  73. package/dist/cjs/ag-grid-plus/querySchemes/types.d.ts +0 -145
  74. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
  75. package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.js +0 -155
  76. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
  77. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.js +0 -342
  78. package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
  79. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
  80. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +0 -289
  81. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
  82. package/dist/cjs/ag-grid-plus/schemes/components/index.d.ts +0 -4
  83. package/dist/cjs/ag-grid-plus/schemes/components/index.js +0 -19
  84. package/dist/cjs/ag-grid-plus/schemes/constants.d.ts +0 -23
  85. package/dist/cjs/ag-grid-plus/schemes/constants.js +0 -39
  86. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
  87. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -617
  88. package/dist/cjs/ag-grid-plus/schemes/index.d.ts +0 -23
  89. package/dist/cjs/ag-grid-plus/schemes/index.js +0 -164
  90. package/dist/cjs/ag-grid-plus/schemes/storage/configMerger.d.ts +0 -10
  91. package/dist/cjs/ag-grid-plus/schemes/storage/configMerger.js +0 -34
  92. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -79
  93. package/dist/cjs/ag-grid-plus/schemes/storage/priorityStorageAdapter.d.ts +0 -122
  94. package/dist/cjs/ag-grid-plus/schemes/storage/priorityStorageAdapter.js +0 -476
  95. package/dist/cjs/ag-grid-plus/schemes/storage/remoteStorageAdapter.d.ts +0 -139
  96. package/dist/cjs/ag-grid-plus/schemes/storage/remoteStorageAdapter.js +0 -746
  97. package/dist/cjs/ag-grid-plus/schemes/storage/useRemoteStorage.d.ts +0 -29
  98. package/dist/cjs/ag-grid-plus/schemes/storage/useRemoteStorage.js +0 -45
  99. package/dist/cjs/ag-grid-plus/schemes/types.d.ts +0 -131
  100. package/dist/cjs/ag-grid-plus/schemes/types.js +0 -5
  101. package/dist/cjs/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
  102. package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +0 -109
  103. package/dist/cjs/ag-grid-plus/storage/index.d.ts +0 -13
  104. package/dist/cjs/ag-grid-plus/storage/index.js +0 -5
  105. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
  106. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
  107. package/dist/esm/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
  108. package/dist/esm/ag-grid-plus/querySchemes/components/index.js +0 -5
  109. package/dist/esm/ag-grid-plus/querySchemes/constants.d.ts +0 -17
  110. package/dist/esm/ag-grid-plus/querySchemes/constants.js +0 -24
  111. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
  112. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -60
  113. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
  114. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +0 -559
  115. package/dist/esm/ag-grid-plus/querySchemes/index.d.ts +0 -11
  116. package/dist/esm/ag-grid-plus/querySchemes/index.js +0 -20
  117. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
  118. package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -256
  119. package/dist/esm/ag-grid-plus/querySchemes/types.d.ts +0 -145
  120. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
  121. package/dist/esm/ag-grid-plus/querySchemes/utils/validator.js +0 -144
  122. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
  123. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.js +0 -334
  124. package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
  125. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
  126. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +0 -281
  127. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
  128. package/dist/esm/ag-grid-plus/schemes/components/index.d.ts +0 -4
  129. package/dist/esm/ag-grid-plus/schemes/components/index.js +0 -2
  130. package/dist/esm/ag-grid-plus/schemes/constants.d.ts +0 -23
  131. package/dist/esm/ag-grid-plus/schemes/constants.js +0 -33
  132. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
  133. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -612
  134. package/dist/esm/ag-grid-plus/schemes/index.d.ts +0 -23
  135. package/dist/esm/ag-grid-plus/schemes/index.js +0 -30
  136. package/dist/esm/ag-grid-plus/schemes/storage/configMerger.d.ts +0 -10
  137. package/dist/esm/ag-grid-plus/schemes/storage/configMerger.js +0 -28
  138. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -79
  139. package/dist/esm/ag-grid-plus/schemes/storage/priorityStorageAdapter.d.ts +0 -122
  140. package/dist/esm/ag-grid-plus/schemes/storage/priorityStorageAdapter.js +0 -471
  141. package/dist/esm/ag-grid-plus/schemes/storage/remoteStorageAdapter.d.ts +0 -139
  142. package/dist/esm/ag-grid-plus/schemes/storage/remoteStorageAdapter.js +0 -746
  143. package/dist/esm/ag-grid-plus/schemes/storage/useRemoteStorage.d.ts +0 -29
  144. package/dist/esm/ag-grid-plus/schemes/storage/useRemoteStorage.js +0 -40
  145. package/dist/esm/ag-grid-plus/schemes/types.d.ts +0 -131
  146. package/dist/esm/ag-grid-plus/schemes/types.js +0 -1
  147. package/dist/esm/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
  148. package/dist/esm/ag-grid-plus/schemes/utils/validator.js +0 -100
  149. package/dist/esm/ag-grid-plus/storage/index.d.ts +0 -13
  150. package/dist/esm/ag-grid-plus/storage/index.js +0 -17
  151. /package/dist/cjs/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
  152. /package/dist/esm/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
@@ -0,0 +1,590 @@
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
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
10
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
11
+ 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; }
12
+ 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); } }
13
+ 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); }); }; }
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
18
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+ import { useContext, useEffect, useState, useCallback, useRef } from 'react';
21
+ import { GridPlusContext } from "./gridContext";
22
+ import { message } from 'antd';
23
+
24
+ /**
25
+ * useSchemeManager Hook 配置
26
+ */
27
+
28
+ /**
29
+ * 集中式方案管理 Hook
30
+ *
31
+ * 用于 GridPlusContext.Provider 中初始化方案管理功能
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * function AppProvider({ children }) {
36
+ * const adapter = new BackendApiSchemeAdapter({ ... });
37
+ * const schemeManager = useSchemeManager({ adapter });
38
+ *
39
+ * return (
40
+ * <GridPlusContext.Provider value={{
41
+ * ...otherValues,
42
+ * ...schemeManager
43
+ * }}>
44
+ * {children}
45
+ * </GridPlusContext.Provider>
46
+ * );
47
+ * }
48
+ * ```
49
+ */
50
+ export function useSchemeManager(config) {
51
+ var adapter = config.adapter,
52
+ _config$autoLoad = config.autoLoad,
53
+ autoLoad = _config$autoLoad === void 0 ? true : _config$autoLoad,
54
+ _config$showErrorMess = config.showErrorMessage,
55
+ showErrorMessage = _config$showErrorMess === void 0 ? true : _config$showErrorMess,
56
+ currentUserId = config.currentUserId;
57
+
58
+ // ========== 状态管理 ==========
59
+
60
+ var _useState = useState({}),
61
+ _useState2 = _slicedToArray(_useState, 2),
62
+ columnSchemes = _useState2[0],
63
+ setColumnSchemes = _useState2[1];
64
+ var _useState3 = useState({}),
65
+ _useState4 = _slicedToArray(_useState3, 2),
66
+ querySchemes = _useState4[0],
67
+ setQuerySchemes = _useState4[1];
68
+ var _useState5 = useState({}),
69
+ _useState6 = _slicedToArray(_useState5, 2),
70
+ currentSchemes = _useState6[0],
71
+ setCurrentSchemes = _useState6[1];
72
+ var _useState7 = useState(false),
73
+ _useState8 = _slicedToArray(_useState7, 2),
74
+ loading = _useState8[0],
75
+ setLoading = _useState8[1];
76
+ var _useState9 = useState(0),
77
+ _useState10 = _slicedToArray(_useState9, 2),
78
+ lastSyncTime = _useState10[0],
79
+ setLastSyncTime = _useState10[1];
80
+
81
+ // 防止重复加载
82
+ var loadingRef = useRef(false);
83
+ var loadedRef = useRef(false);
84
+
85
+ // ========== 初始化加载 ==========
86
+
87
+ var loadAllSchemes = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
88
+ var data;
89
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
90
+ while (1) switch (_context.prev = _context.next) {
91
+ case 0:
92
+ if (!loadingRef.current) {
93
+ _context.next = 2;
94
+ break;
95
+ }
96
+ return _context.abrupt("return");
97
+ case 2:
98
+ loadingRef.current = true;
99
+ setLoading(true);
100
+ _context.prev = 4;
101
+ console.log('[useSchemeManager] 开始加载所有方案数据');
102
+ _context.next = 8;
103
+ return adapter.loadAllSchemes();
104
+ case 8:
105
+ data = _context.sent;
106
+ setColumnSchemes(data.columnSchemes || {});
107
+ setQuerySchemes(data.querySchemes || {});
108
+ setCurrentSchemes(data.currentSchemes || {});
109
+ setLastSyncTime(data.syncTime);
110
+ loadedRef.current = true;
111
+ console.log('[useSchemeManager] 加载完成', {
112
+ columnSchemes: Object.keys(data.columnSchemes || {}).length,
113
+ querySchemes: Object.keys(data.querySchemes || {}).length
114
+ });
115
+ _context.next = 21;
116
+ break;
117
+ case 17:
118
+ _context.prev = 17;
119
+ _context.t0 = _context["catch"](4);
120
+ console.error('[useSchemeManager] 加载失败:', _context.t0);
121
+ if (showErrorMessage) {
122
+ message.error('加载方案失败');
123
+ }
124
+ case 21:
125
+ _context.prev = 21;
126
+ setLoading(false);
127
+ loadingRef.current = false;
128
+ return _context.finish(21);
129
+ case 25:
130
+ case "end":
131
+ return _context.stop();
132
+ }
133
+ }, _callee, null, [[4, 17, 21, 25]]);
134
+ })), [adapter, showErrorMessage]);
135
+
136
+ // 组件 mount 时自动加载
137
+ useEffect(function () {
138
+ if (autoLoad && !loadedRef.current) {
139
+ loadAllSchemes();
140
+ }
141
+ }, [autoLoad, loadAllSchemes]);
142
+
143
+ // 监听用户ID变化,自动重新加载方案(用于用户登录/切换场景)
144
+ var prevUserIdRef = useRef(currentUserId);
145
+ useEffect(function () {
146
+ // 只有在用户ID实际变化且已经加载过数据时才重新加载
147
+ if (currentUserId !== prevUserIdRef.current && loadedRef.current) {
148
+ console.log('[useSchemeManager] 用户切换,重新加载方案', {
149
+ from: prevUserIdRef.current,
150
+ to: currentUserId
151
+ });
152
+ prevUserIdRef.current = currentUserId;
153
+ loadedRef.current = false;
154
+ loadAllSchemes();
155
+ } else {
156
+ prevUserIdRef.current = currentUserId;
157
+ }
158
+ }, [currentUserId, loadAllSchemes]);
159
+
160
+ // ========== 列方案操作 ==========
161
+
162
+ var saveColumnScheme = useCallback( /*#__PURE__*/function () {
163
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(gridId, scheme) {
164
+ var savedScheme;
165
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
166
+ while (1) switch (_context2.prev = _context2.next) {
167
+ case 0:
168
+ _context2.prev = 0;
169
+ console.log("[useSchemeManager] \u4FDD\u5B58\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
170
+
171
+ // 调用适配器保存
172
+ _context2.next = 4;
173
+ return adapter.saveColumnScheme(gridId, scheme);
174
+ case 4:
175
+ savedScheme = _context2.sent;
176
+ // 更新本地状态
177
+ setColumnSchemes(function (prev) {
178
+ var schemes = _toConsumableArray(prev[gridId] || []);
179
+ var index = schemes.findIndex(function (s) {
180
+ return s.id === savedScheme.id;
181
+ });
182
+ if (index >= 0) {
183
+ schemes[index] = savedScheme;
184
+ } else {
185
+ schemes.push(savedScheme);
186
+ }
187
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
188
+ });
189
+ console.log('[useSchemeManager] 保存成功');
190
+ _context2.next = 13;
191
+ break;
192
+ case 9:
193
+ _context2.prev = 9;
194
+ _context2.t0 = _context2["catch"](0);
195
+ console.error('[useSchemeManager] 保存列方案失败:', _context2.t0);
196
+ throw _context2.t0;
197
+ case 13:
198
+ case "end":
199
+ return _context2.stop();
200
+ }
201
+ }, _callee2, null, [[0, 9]]);
202
+ }));
203
+ return function (_x, _x2) {
204
+ return _ref2.apply(this, arguments);
205
+ };
206
+ }(), [adapter]);
207
+ var deleteColumnScheme = useCallback( /*#__PURE__*/function () {
208
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(gridId, schemeId) {
209
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
210
+ while (1) switch (_context3.prev = _context3.next) {
211
+ case 0:
212
+ _context3.prev = 0;
213
+ console.log("[useSchemeManager] \u5220\u9664\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
214
+
215
+ // 调用适配器删除
216
+ _context3.next = 4;
217
+ return adapter.deleteColumnScheme(gridId, schemeId);
218
+ case 4:
219
+ // 更新本地状态
220
+ setColumnSchemes(function (prev) {
221
+ var schemes = (prev[gridId] || []).filter(function (s) {
222
+ return s.id !== schemeId;
223
+ });
224
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
225
+ });
226
+
227
+ // 如果删除的是当前方案,清除当前方案ID
228
+ setCurrentSchemes(function (prev) {
229
+ var _prev$gridId;
230
+ if (((_prev$gridId = prev[gridId]) === null || _prev$gridId === void 0 ? void 0 : _prev$gridId.columnSchemeId) === schemeId) {
231
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId]), {}, {
232
+ columnSchemeId: null
233
+ })));
234
+ }
235
+ return prev;
236
+ });
237
+ console.log('[useSchemeManager] 删除成功');
238
+ _context3.next = 13;
239
+ break;
240
+ case 9:
241
+ _context3.prev = 9;
242
+ _context3.t0 = _context3["catch"](0);
243
+ console.error('[useSchemeManager] 删除列方案失败:', _context3.t0);
244
+ throw _context3.t0;
245
+ case 13:
246
+ case "end":
247
+ return _context3.stop();
248
+ }
249
+ }, _callee3, null, [[0, 9]]);
250
+ }));
251
+ return function (_x3, _x4) {
252
+ return _ref3.apply(this, arguments);
253
+ };
254
+ }(), [adapter]);
255
+ var setCurrentColumnScheme = useCallback( /*#__PURE__*/function () {
256
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(gridId, schemeId) {
257
+ var _currentSchemes$gridI, querySchemeId;
258
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
259
+ while (1) switch (_context4.prev = _context4.next) {
260
+ case 0:
261
+ _context4.prev = 0;
262
+ console.log("[useSchemeManager] \u8BBE\u7F6E\u5F53\u524D\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
263
+
264
+ // 获取当前的查询方案ID
265
+ querySchemeId = ((_currentSchemes$gridI = currentSchemes[gridId]) === null || _currentSchemes$gridI === void 0 ? void 0 : _currentSchemes$gridI.querySchemeId) || null; // 调用适配器设置
266
+ _context4.next = 5;
267
+ return adapter.setCurrentScheme(gridId, schemeId, querySchemeId);
268
+ case 5:
269
+ // 更新本地状态
270
+ setCurrentSchemes(function (prev) {
271
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId] || {}), {}, {
272
+ columnSchemeId: schemeId
273
+ })));
274
+ });
275
+ console.log('[useSchemeManager] 设置成功');
276
+ _context4.next = 13;
277
+ break;
278
+ case 9:
279
+ _context4.prev = 9;
280
+ _context4.t0 = _context4["catch"](0);
281
+ console.error('[useSchemeManager] 设置当前列方案失败:', _context4.t0);
282
+ throw _context4.t0;
283
+ case 13:
284
+ case "end":
285
+ return _context4.stop();
286
+ }
287
+ }, _callee4, null, [[0, 9]]);
288
+ }));
289
+ return function (_x5, _x6) {
290
+ return _ref4.apply(this, arguments);
291
+ };
292
+ }(), [adapter, currentSchemes]);
293
+
294
+ // ========== 查询方案操作 ==========
295
+
296
+ var saveQueryScheme = useCallback( /*#__PURE__*/function () {
297
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(gridId, scheme) {
298
+ var savedScheme;
299
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
300
+ while (1) switch (_context5.prev = _context5.next) {
301
+ case 0:
302
+ _context5.prev = 0;
303
+ console.log("[useSchemeManager] \u4FDD\u5B58\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
304
+
305
+ // 调用适配器保存
306
+ _context5.next = 4;
307
+ return adapter.saveQueryScheme(gridId, scheme);
308
+ case 4:
309
+ savedScheme = _context5.sent;
310
+ // 更新本地状态
311
+ setQuerySchemes(function (prev) {
312
+ var schemes = _toConsumableArray(prev[gridId] || []);
313
+ var index = schemes.findIndex(function (s) {
314
+ return s.id === savedScheme.id;
315
+ });
316
+ if (index >= 0) {
317
+ schemes[index] = savedScheme;
318
+ } else {
319
+ schemes.push(savedScheme);
320
+ }
321
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
322
+ });
323
+ console.log('[useSchemeManager] 保存成功');
324
+ _context5.next = 13;
325
+ break;
326
+ case 9:
327
+ _context5.prev = 9;
328
+ _context5.t0 = _context5["catch"](0);
329
+ console.error('[useSchemeManager] 保存查询方案失败:', _context5.t0);
330
+ throw _context5.t0;
331
+ case 13:
332
+ case "end":
333
+ return _context5.stop();
334
+ }
335
+ }, _callee5, null, [[0, 9]]);
336
+ }));
337
+ return function (_x7, _x8) {
338
+ return _ref5.apply(this, arguments);
339
+ };
340
+ }(), [adapter]);
341
+ var deleteQueryScheme = useCallback( /*#__PURE__*/function () {
342
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(gridId, schemeId) {
343
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
344
+ while (1) switch (_context6.prev = _context6.next) {
345
+ case 0:
346
+ _context6.prev = 0;
347
+ console.log("[useSchemeManager] \u5220\u9664\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
348
+
349
+ // 调用适配器删除
350
+ _context6.next = 4;
351
+ return adapter.deleteQueryScheme(gridId, schemeId);
352
+ case 4:
353
+ // 更新本地状态
354
+ setQuerySchemes(function (prev) {
355
+ var schemes = (prev[gridId] || []).filter(function (s) {
356
+ return s.id !== schemeId;
357
+ });
358
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
359
+ });
360
+
361
+ // 如果删除的是当前方案,清除当前方案ID
362
+ setCurrentSchemes(function (prev) {
363
+ var _prev$gridId2;
364
+ if (((_prev$gridId2 = prev[gridId]) === null || _prev$gridId2 === void 0 ? void 0 : _prev$gridId2.querySchemeId) === schemeId) {
365
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId]), {}, {
366
+ querySchemeId: null
367
+ })));
368
+ }
369
+ return prev;
370
+ });
371
+ console.log('[useSchemeManager] 删除成功');
372
+ _context6.next = 13;
373
+ break;
374
+ case 9:
375
+ _context6.prev = 9;
376
+ _context6.t0 = _context6["catch"](0);
377
+ console.error('[useSchemeManager] 删除查询方案失败:', _context6.t0);
378
+ throw _context6.t0;
379
+ case 13:
380
+ case "end":
381
+ return _context6.stop();
382
+ }
383
+ }, _callee6, null, [[0, 9]]);
384
+ }));
385
+ return function (_x9, _x10) {
386
+ return _ref6.apply(this, arguments);
387
+ };
388
+ }(), [adapter]);
389
+ var setCurrentQueryScheme = useCallback( /*#__PURE__*/function () {
390
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(gridId, schemeId) {
391
+ var _currentSchemes$gridI2, columnSchemeId;
392
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
393
+ while (1) switch (_context7.prev = _context7.next) {
394
+ case 0:
395
+ _context7.prev = 0;
396
+ console.log("[useSchemeManager] \u8BBE\u7F6E\u5F53\u524D\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
397
+
398
+ // 获取当前的列方案ID
399
+ columnSchemeId = ((_currentSchemes$gridI2 = currentSchemes[gridId]) === null || _currentSchemes$gridI2 === void 0 ? void 0 : _currentSchemes$gridI2.columnSchemeId) || null; // 调用适配器设置
400
+ _context7.next = 5;
401
+ return adapter.setCurrentScheme(gridId, columnSchemeId, schemeId);
402
+ case 5:
403
+ // 更新本地状态
404
+ setCurrentSchemes(function (prev) {
405
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId] || {}), {}, {
406
+ querySchemeId: schemeId
407
+ })));
408
+ });
409
+ console.log('[useSchemeManager] 设置成功');
410
+ _context7.next = 13;
411
+ break;
412
+ case 9:
413
+ _context7.prev = 9;
414
+ _context7.t0 = _context7["catch"](0);
415
+ console.error('[useSchemeManager] 设置当前查询方案失败:', _context7.t0);
416
+ throw _context7.t0;
417
+ case 13:
418
+ case "end":
419
+ return _context7.stop();
420
+ }
421
+ }, _callee7, null, [[0, 9]]);
422
+ }));
423
+ return function (_x11, _x12) {
424
+ return _ref7.apply(this, arguments);
425
+ };
426
+ }(), [adapter, currentSchemes]);
427
+
428
+ // ========== 工具方法 ==========
429
+
430
+ var refreshSchemes = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
431
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
432
+ while (1) switch (_context8.prev = _context8.next) {
433
+ case 0:
434
+ loadedRef.current = false;
435
+ _context8.next = 3;
436
+ return loadAllSchemes();
437
+ case 3:
438
+ case "end":
439
+ return _context8.stop();
440
+ }
441
+ }, _callee8);
442
+ })), [loadAllSchemes]);
443
+ var getColumnSchemes = useCallback(function (gridId) {
444
+ return columnSchemes[gridId] || [];
445
+ }, [columnSchemes]);
446
+ var getQuerySchemes = useCallback(function (gridId) {
447
+ return querySchemes[gridId] || [];
448
+ }, [querySchemes]);
449
+ var getCurrentScheme = useCallback(function (gridId) {
450
+ return currentSchemes[gridId] || null;
451
+ }, [currentSchemes]);
452
+
453
+ // ========== 返回值 ==========
454
+
455
+ return {
456
+ // 状态数据
457
+ columnSchemes: columnSchemes,
458
+ querySchemes: querySchemes,
459
+ currentSchemes: currentSchemes,
460
+ schemesLoading: loading,
461
+ lastSyncTime: lastSyncTime,
462
+ // 列方案操作
463
+ saveColumnScheme: saveColumnScheme,
464
+ deleteColumnScheme: deleteColumnScheme,
465
+ setCurrentColumnScheme: setCurrentColumnScheme,
466
+ // 查询方案操作
467
+ saveQueryScheme: saveQueryScheme,
468
+ deleteQueryScheme: deleteQueryScheme,
469
+ setCurrentQueryScheme: setCurrentQueryScheme,
470
+ // 工具方法
471
+ refreshSchemes: refreshSchemes,
472
+ getColumnSchemes: getColumnSchemes,
473
+ getQuerySchemes: getQuerySchemes,
474
+ getCurrentScheme: getCurrentScheme
475
+ };
476
+ }
477
+
478
+ /**
479
+ * Fallback 模式:根据后端 API 配置自动选择适配器
480
+ */
481
+ function useFallbackSchemeManager(backendApiConfig, currentUserId) {
482
+ // 根据配置选择适配器
483
+ var adapter = useRef(function () {
484
+ if (backendApiConfig) {
485
+ // 如果提供了后端 API 配置,使用后端适配器
486
+ var _require = require("../shared/storage/backendApiAdapter"),
487
+ BackendApiSchemeAdapter = _require.BackendApiSchemeAdapter;
488
+ console.log('[useFallbackSchemeManager] 使用后端 API 适配器');
489
+ return new BackendApiSchemeAdapter(_objectSpread(_objectSpread({}, backendApiConfig), {}, {
490
+ enableDebugLog: false
491
+ }));
492
+ } else {
493
+ // 否则使用本地存储适配器
494
+ var _require2 = require("../shared/storage/localStorageAdapter"),
495
+ LocalStorageSchemeAdapter = _require2.LocalStorageSchemeAdapter;
496
+ console.log('[useFallbackSchemeManager] 使用本地存储适配器');
497
+ return new LocalStorageSchemeAdapter({
498
+ storageKey: 'ag-grid-plus-schemes',
499
+ enableDebugLog: false
500
+ });
501
+ }
502
+ }).current();
503
+
504
+ // 使用选定的适配器进行状态管理
505
+ var manager = useSchemeManager({
506
+ adapter: adapter,
507
+ autoLoad: true,
508
+ showErrorMessage: true,
509
+ currentUserId: currentUserId
510
+ });
511
+
512
+ // 返回与 Context 相同的接口
513
+ return _objectSpread({
514
+ // 保留必需的默认值
515
+ extensibleColumns: [],
516
+ columnState: undefined,
517
+ onSaveColumnState: function onSaveColumnState() {},
518
+ applyToGlobal: function applyToGlobal() {},
519
+ resetCurrent: function resetCurrent() {},
520
+ resetAll: function resetAll() {},
521
+ queryFormItems: []
522
+ }, manager);
523
+ }
524
+
525
+ /**
526
+ * 在组件中使用集中式方案管理
527
+ *
528
+ * 支持两种模式(根据 Context 配置自动选择):
529
+ * 1. Backend API 模式: Context 提供 backendApiConfig,使用后端适配器
530
+ * 2. LocalStorage 模式: 不提供配置,使用本地存储适配器
531
+ *
532
+ * @example
533
+ * ```tsx
534
+ * // 模式1:提供后端 API 配置
535
+ * <GridPlusContext.Provider value={{
536
+ * extensibleColumns: [],
537
+ * columnState: undefined,
538
+ * onSaveColumnState: () => {},
539
+ * applyToGlobal: () => {},
540
+ * resetCurrent: () => {},
541
+ * resetAll: () => {},
542
+ * queryFormItems: [],
543
+ * backendApiConfig: {
544
+ * apiBaseUrl: 'https://api.example.com',
545
+ * getToken: () => localStorage.getItem('token'),
546
+ * getUserId: () => localStorage.getItem('userId')
547
+ * }
548
+ * }}>
549
+ * <MyGrid />
550
+ * </GridPlusContext.Provider>
551
+ *
552
+ * // 模式2:无配置,自动使用 LocalStorage
553
+ * <GridPlusContext.Provider value={{
554
+ * extensibleColumns: [],
555
+ * columnState: undefined,
556
+ * onSaveColumnState: () => {},
557
+ * applyToGlobal: () => {},
558
+ * resetCurrent: () => {},
559
+ * resetAll: () => {},
560
+ * queryFormItems: []
561
+ * }}>
562
+ * <MyGrid />
563
+ * </GridPlusContext.Provider>
564
+ *
565
+ * function MyGrid() {
566
+ * const {
567
+ * columnSchemes,
568
+ * saveColumnScheme,
569
+ * setCurrentColumnScheme
570
+ * } = useGridSchemes();
571
+ *
572
+ * const gridId = 'my-grid';
573
+ * const schemes = columnSchemes?.[gridId] || [];
574
+ *
575
+ * const handleSave = async () => {
576
+ * await saveColumnScheme?.(gridId, newScheme);
577
+ * };
578
+ * }
579
+ * ```
580
+ */
581
+ export function useGridSchemes() {
582
+ var context = useContext(GridPlusContext);
583
+
584
+ // 根据后端 API 配置自动选择适配器
585
+ var adapterType = context !== null && context !== void 0 && context.backendApiConfig ? '后端 API' : 'LocalStorage';
586
+ console.log("[useGridSchemes] \u4F7F\u7528 ".concat(adapterType, " \u9002\u914D\u5668"));
587
+
588
+ // eslint-disable-next-line react-hooks/rules-of-hooks
589
+ return useFallbackSchemeManager(context === null || context === void 0 ? void 0 : context.backendApiConfig, context === null || context === void 0 ? void 0 : context.currentUserId);
590
+ }
@@ -23,7 +23,7 @@ export interface UseAgGridCalculationConfig {
23
23
  /** Grid API 引用 */
24
24
  gridApi?: GridApi;
25
25
  /** 所有列定义 */
26
- allColDefs?: any[];
26
+ allColDefs?: import('../types').ExtendedColDef[];
27
27
  /** 行数据 */
28
28
  rowData: any[];
29
29
  }
@@ -43,9 +43,9 @@ export interface UseAgGridDataConfig {
43
43
  /** 额外的请求参数 */
44
44
  gridParams?: any;
45
45
  /** 列过滤模型转换函数 */
46
- convertFilterModel?: (queryFilter: any, colDefs: any[]) => any;
46
+ convertFilterModel?: (queryFilter: any, colDefs: import('../types').ExtendedColDef[]) => any;
47
47
  /** 所有列定义 */
48
- allColDefs?: any[];
48
+ allColDefs?: import('../types').ExtendedColDef[];
49
49
  }
50
50
  /**
51
51
  * Hook 返回值接口
@@ -4,6 +4,11 @@ import { GridPlusContext } from "./context/gridContext";
4
4
  import { useGridPlusColumnState } from "./hooks/useGridPlusColumnState";
5
5
  export { AgGridPlus, AgGridColumn, GridPlusContext, useGridPlusColumnState };
6
6
  export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
7
- export { useColumnSchemes, LocalStorageAdapter, defaultStorageAdapter, RemoteStorageAdapter, PriorityStorageAdapter, useRemoteStorage, mergeRemoteStorageConfig, validateScheme, validateSchemeName, validateSchemeDescription, checkDuplicateName, generateUniqueName, STORAGE_PREFIX, DEFAULT_SCHEME_NAME, MAX_SCHEMES_PER_GRID, MAX_SCHEME_NAME_LENGTH, SchemeSelector, SchemeManager } from "./schemes";
8
- export type { ColumnScheme, SchemeManagerConfig, StorageAdapter, SchemeValidationResult, UseColumnSchemesReturn, SchemeSelectorProps, SchemeManagerProps, LocalStorageConfig, RemoteStorageConfig, PriorityStorageConfig } from "./schemes";
9
7
  export type { GridPlusContextValue } from "./context/gridContext";
8
+ export { useSchemeManager, useGridSchemes } from "./context/useSchemeManager";
9
+ export { LocalStorageSchemeAdapter } from "./shared/storage/localStorageAdapter";
10
+ export { BackendApiSchemeAdapter } from "./shared/storage/backendApiAdapter";
11
+ export type { SchemeStorageAdapter, SchemeSyncDataDto, CurrentSchemeDto, SchemeStorageConfig, ColumnScheme as CentralizedColumnScheme, QueryScheme } from "./shared/storage/schemeStorageAdapter";
12
+ export type { UseSchemeManagerConfig } from "./context/useSchemeManager";
13
+ export type { BackendApiAdapterConfig } from "./shared/storage/backendApiAdapter";
14
+ export type { LocalStorageAdapterConfig } from "./shared/storage/localStorageAdapter";
@@ -5,9 +5,13 @@ import { useGridPlusColumnState } from "./hooks/useGridPlusColumnState";
5
5
  export { AgGridPlus, AgGridColumn, GridPlusContext, useGridPlusColumnState };
6
6
  export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
7
7
 
8
- // 导出列配置方案管理功能
9
- export { useColumnSchemes, LocalStorageAdapter, defaultStorageAdapter, RemoteStorageAdapter, PriorityStorageAdapter, useRemoteStorage, mergeRemoteStorageConfig, validateScheme, validateSchemeName, validateSchemeDescription, checkDuplicateName, generateUniqueName, STORAGE_PREFIX, DEFAULT_SCHEME_NAME, MAX_SCHEMES_PER_GRID, MAX_SCHEME_NAME_LENGTH, SchemeSelector, SchemeManager } from "./schemes";
8
+ // 注意: 旧的列配置方案管理功能已废弃
9
+ // 相关导出已移除,请使用集中式方案管理 API (useSchemeManager/useGridSchemes)
10
10
 
11
- // 注意: 全局方案同步管理功能已废弃
12
- // 相关导出已移除,请使用 RemoteStorageAdapter 替代
13
- // 迁移指南: docs/ag-grid-plus/storage-migration-guide.md
11
+ // 导出集中式方案管理功能
12
+ export { useSchemeManager, useGridSchemes } from "./context/useSchemeManager";
13
+ export { LocalStorageSchemeAdapter } from "./shared/storage/localStorageAdapter";
14
+ export { BackendApiSchemeAdapter } from "./shared/storage/backendApiAdapter";
15
+
16
+ // 注意: 旧的查询方案管理功能已废弃
17
+ // 相关导出已移除,请使用集中式方案管理 API (useSchemeManager/useGridSchemes)