@nokecy/qc-ui 1.0.93 → 1.0.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +262 -177
- package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +79 -15
- package/dist/cjs/ag-grid-plus/context/gridContext.js +0 -4
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.d.ts +88 -0
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +173 -0
- package/dist/cjs/ag-grid-plus/context/useSchemeManager.d.ts +78 -0
- package/dist/cjs/ag-grid-plus/{querySchemes/hooks/useQuerySchemes.js → context/useSchemeManager.js} +421 -449
- package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/hooks/useAgGridData.d.ts +2 -2
- package/dist/cjs/ag-grid-plus/index.d.ts +7 -4
- package/dist/cjs/ag-grid-plus/index.js +11 -154
- package/dist/cjs/ag-grid-plus/interface.d.ts +0 -31
- package/dist/cjs/ag-grid-plus/interface.js +3 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +0 -3
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +430 -412
- package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/{querySchemes/components/QuerySchemesManager.js → setting/QuerySchemeManager.js} +304 -202
- package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -2
- package/dist/cjs/ag-grid-plus/setting/index.js +33 -48
- package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.d.ts +58 -0
- package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.js +446 -0
- package/dist/cjs/ag-grid-plus/shared/storage/localStorageAdapter.d.ts +57 -0
- package/dist/cjs/ag-grid-plus/{storage/MemoryStorageAdapter.js → shared/storage/localStorageAdapter.js} +264 -184
- package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
- package/dist/cjs/array-table/index.js +172 -48
- package/dist/cjs/draggableModal/index.d.ts +1 -1
- package/dist/cjs/draggableModal/index.js +23 -93
- package/dist/cjs/draggableModal/style.less +0 -73
- package/dist/cjs/index.d.ts +3 -4
- package/dist/cjs/index.js +16 -160
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +262 -177
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +79 -15
- package/dist/esm/ag-grid-plus/context/gridContext.js +0 -4
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.d.ts +88 -0
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +165 -0
- package/dist/esm/ag-grid-plus/context/useSchemeManager.d.ts +78 -0
- package/dist/esm/ag-grid-plus/{querySchemes/hooks/useQuerySchemes.js → context/useSchemeManager.js} +420 -449
- package/dist/esm/ag-grid-plus/errors/ErrorBoundary.d.ts +1 -1
- package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.d.ts +1 -1
- package/dist/esm/ag-grid-plus/hooks/useAgGridData.d.ts +2 -2
- package/dist/esm/ag-grid-plus/index.d.ts +7 -4
- package/dist/esm/ag-grid-plus/index.js +10 -4
- package/dist/esm/ag-grid-plus/interface.d.ts +0 -31
- package/dist/esm/ag-grid-plus/interface.js +2 -0
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +0 -3
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +434 -416
- package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.d.ts +11 -0
- package/dist/esm/ag-grid-plus/{querySchemes/components/QuerySchemesManager.js → setting/QuerySchemeManager.js} +304 -202
- package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -2
- package/dist/esm/ag-grid-plus/setting/index.js +33 -48
- package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.d.ts +58 -0
- package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +444 -0
- package/dist/esm/ag-grid-plus/shared/storage/localStorageAdapter.d.ts +57 -0
- package/dist/esm/ag-grid-plus/{storage/MemoryStorageAdapter.js → shared/storage/localStorageAdapter.js} +263 -184
- package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +132 -0
- package/dist/esm/array-table/index.js +174 -48
- package/dist/esm/draggableModal/index.d.ts +1 -1
- package/dist/esm/draggableModal/index.js +24 -93
- package/dist/esm/draggableModal/style.less +0 -73
- package/dist/esm/index.d.ts +3 -4
- package/dist/esm/index.js +13 -10
- package/dist/umd/qc-ui.min.css +1 -1
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
- package/dist/cjs/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
- package/dist/cjs/ag-grid-plus/querySchemes/components/index.js +0 -12
- package/dist/cjs/ag-grid-plus/querySchemes/constants.d.ts +0 -17
- package/dist/cjs/ag-grid-plus/querySchemes/constants.js +0 -30
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -65
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
- package/dist/cjs/ag-grid-plus/querySchemes/index.d.ts +0 -11
- package/dist/cjs/ag-grid-plus/querySchemes/index.js +0 -113
- package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
- package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -261
- package/dist/cjs/ag-grid-plus/querySchemes/types.d.ts +0 -143
- package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
- package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.js +0 -155
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.js +0 -342
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +0 -289
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
- package/dist/cjs/ag-grid-plus/schemes/components/index.d.ts +0 -4
- package/dist/cjs/ag-grid-plus/schemes/components/index.js +0 -19
- package/dist/cjs/ag-grid-plus/schemes/constants.d.ts +0 -23
- package/dist/cjs/ag-grid-plus/schemes/constants.js +0 -39
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -617
- package/dist/cjs/ag-grid-plus/schemes/index.d.ts +0 -16
- package/dist/cjs/ag-grid-plus/schemes/index.js +0 -124
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -64
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +0 -354
- package/dist/cjs/ag-grid-plus/schemes/types.d.ts +0 -131
- package/dist/cjs/ag-grid-plus/schemes/types.js +0 -5
- package/dist/cjs/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
- package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +0 -109
- package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +0 -76
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +0 -141
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +0 -902
- package/dist/cjs/ag-grid-plus/storage/globalSyncManager.d.ts +0 -106
- package/dist/cjs/ag-grid-plus/storage/globalSyncManager.js +0 -364
- package/dist/cjs/ag-grid-plus/storage/index.d.ts +0 -8
- package/dist/cjs/ag-grid-plus/storage/index.js +0 -49
- package/dist/cjs/ag-grid-plus/storage/types.d.ts +0 -150
- package/dist/cjs/ag-grid-plus/storage/types.js +0 -5
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +0 -21
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +0 -86
- package/dist/esm/ag-grid-plus/querySchemes/components/index.d.ts +0 -5
- package/dist/esm/ag-grid-plus/querySchemes/components/index.js +0 -5
- package/dist/esm/ag-grid-plus/querySchemes/constants.d.ts +0 -17
- package/dist/esm/ag-grid-plus/querySchemes/constants.js +0 -24
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +0 -10
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +0 -60
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +0 -6
- package/dist/esm/ag-grid-plus/querySchemes/index.d.ts +0 -11
- package/dist/esm/ag-grid-plus/querySchemes/index.js +0 -20
- package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +0 -44
- package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +0 -256
- package/dist/esm/ag-grid-plus/querySchemes/types.d.ts +0 -143
- package/dist/esm/ag-grid-plus/querySchemes/utils/validator.d.ts +0 -36
- package/dist/esm/ag-grid-plus/querySchemes/utils/validator.js +0 -144
- package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.d.ts +0 -16
- package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.js +0 -334
- package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.less +0 -35
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +0 -20
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +0 -281
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.less +0 -39
- package/dist/esm/ag-grid-plus/schemes/components/index.d.ts +0 -4
- package/dist/esm/ag-grid-plus/schemes/components/index.js +0 -2
- package/dist/esm/ag-grid-plus/schemes/constants.d.ts +0 -23
- package/dist/esm/ag-grid-plus/schemes/constants.js +0 -33
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +0 -6
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +0 -612
- package/dist/esm/ag-grid-plus/schemes/index.d.ts +0 -16
- package/dist/esm/ag-grid-plus/schemes/index.js +0 -25
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +0 -64
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +0 -349
- package/dist/esm/ag-grid-plus/schemes/types.d.ts +0 -131
- package/dist/esm/ag-grid-plus/schemes/types.js +0 -1
- package/dist/esm/ag-grid-plus/schemes/utils/validator.d.ts +0 -27
- package/dist/esm/ag-grid-plus/schemes/utils/validator.js +0 -100
- package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +0 -76
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +0 -141
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +0 -896
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.d.ts +0 -106
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.js +0 -350
- package/dist/esm/ag-grid-plus/storage/index.d.ts +0 -8
- package/dist/esm/ag-grid-plus/storage/index.js +0 -9
- package/dist/esm/ag-grid-plus/storage/types.d.ts +0 -150
- package/dist/esm/ag-grid-plus/storage/types.js +0 -1
- /package/dist/cjs/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
- /package/dist/esm/ag-grid-plus/{querySchemes/types.js → shared/storage/schemeStorageAdapter.js} +0 -0
package/dist/esm/ag-grid-plus/{querySchemes/hooks/useQuerySchemes.js → context/useSchemeManager.js}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3
|
-
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."); }
|
|
4
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
5
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
6
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; }
|
|
7
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; }
|
|
8
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; }
|
|
9
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
10
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
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
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
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); }); }; }
|
|
@@ -17,543 +17,514 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
17
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
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
19
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
|
|
24
|
-
|
|
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
|
+
*/
|
|
25
27
|
|
|
26
28
|
/**
|
|
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
|
+
* ```
|
|
29
49
|
*/
|
|
30
|
-
export function
|
|
31
|
-
var
|
|
32
|
-
_config$
|
|
33
|
-
|
|
34
|
-
_config$
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// 状态管理
|
|
41
|
-
var _useState = useState([]),
|
|
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
|
+
|
|
57
|
+
// ========== 状态管理 ==========
|
|
58
|
+
|
|
59
|
+
var _useState = useState({}),
|
|
42
60
|
_useState2 = _slicedToArray(_useState, 2),
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
var _useState3 = useState(
|
|
61
|
+
columnSchemes = _useState2[0],
|
|
62
|
+
setColumnSchemes = _useState2[1];
|
|
63
|
+
var _useState3 = useState({}),
|
|
46
64
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var _useState5 = useState(
|
|
65
|
+
querySchemes = _useState4[0],
|
|
66
|
+
setQuerySchemes = _useState4[1];
|
|
67
|
+
var _useState5 = useState({}),
|
|
50
68
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
var _useState7 = useState(
|
|
69
|
+
currentSchemes = _useState6[0],
|
|
70
|
+
setCurrentSchemes = _useState6[1];
|
|
71
|
+
var _useState7 = useState(false),
|
|
54
72
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
55
73
|
loading = _useState8[0],
|
|
56
74
|
setLoading = _useState8[1];
|
|
75
|
+
var _useState9 = useState(0),
|
|
76
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
77
|
+
lastSyncTime = _useState10[0],
|
|
78
|
+
setLastSyncTime = _useState10[1];
|
|
57
79
|
|
|
58
|
-
//
|
|
59
|
-
var
|
|
60
|
-
var
|
|
80
|
+
// 防止重复加载
|
|
81
|
+
var loadingRef = useRef(false);
|
|
82
|
+
var loadedRef = useRef(false);
|
|
61
83
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
loadSchemesList();
|
|
67
|
-
}, [gridId]);
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* 加载方案列表
|
|
71
|
-
*/
|
|
72
|
-
var loadSchemesList = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
73
|
-
var loadedSchemes, schemeToLoad, lastSchemeId;
|
|
84
|
+
// ========== 初始化加载 ==========
|
|
85
|
+
|
|
86
|
+
var loadAllSchemes = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
87
|
+
var data;
|
|
74
88
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
75
89
|
while (1) switch (_context.prev = _context.next) {
|
|
76
90
|
case 0:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
_context.next = 4;
|
|
80
|
-
return storageAdapter.getSchemes(gridId);
|
|
81
|
-
case 4:
|
|
82
|
-
loadedSchemes = _context.sent;
|
|
83
|
-
setSchemes(loadedSchemes);
|
|
84
|
-
|
|
85
|
-
// 优先加载上次使用的方案,如果没有则加载默认方案
|
|
86
|
-
if (!(!currentScheme && loadedSchemes.length > 0)) {
|
|
87
|
-
_context.next = 15;
|
|
91
|
+
if (!loadingRef.current) {
|
|
92
|
+
_context.next = 2;
|
|
88
93
|
break;
|
|
89
94
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// 3. 应用方案
|
|
113
|
-
if (schemeToLoad) {
|
|
114
|
-
setCurrentScheme(schemeToLoad);
|
|
115
|
-
onSchemeChange === null || onSchemeChange === void 0 || onSchemeChange(schemeToLoad);
|
|
116
|
-
}
|
|
117
|
-
case 15:
|
|
118
|
-
_context.next = 20;
|
|
95
|
+
return _context.abrupt("return");
|
|
96
|
+
case 2:
|
|
97
|
+
loadingRef.current = true;
|
|
98
|
+
setLoading(true);
|
|
99
|
+
_context.prev = 4;
|
|
100
|
+
console.log('[useSchemeManager] 开始加载所有方案数据');
|
|
101
|
+
_context.next = 8;
|
|
102
|
+
return adapter.loadAllSchemes();
|
|
103
|
+
case 8:
|
|
104
|
+
data = _context.sent;
|
|
105
|
+
setColumnSchemes(data.columnSchemes || {});
|
|
106
|
+
setQuerySchemes(data.querySchemes || {});
|
|
107
|
+
setCurrentSchemes(data.currentSchemes || {});
|
|
108
|
+
setLastSyncTime(data.syncTime);
|
|
109
|
+
loadedRef.current = true;
|
|
110
|
+
console.log('[useSchemeManager] 加载完成', {
|
|
111
|
+
columnSchemes: Object.keys(data.columnSchemes || {}).length,
|
|
112
|
+
querySchemes: Object.keys(data.querySchemes || {}).length
|
|
113
|
+
});
|
|
114
|
+
_context.next = 21;
|
|
119
115
|
break;
|
|
120
116
|
case 17:
|
|
121
117
|
_context.prev = 17;
|
|
122
|
-
_context.t0 = _context["catch"](
|
|
123
|
-
console.error('[
|
|
124
|
-
|
|
125
|
-
|
|
118
|
+
_context.t0 = _context["catch"](4);
|
|
119
|
+
console.error('[useSchemeManager] 加载失败:', _context.t0);
|
|
120
|
+
if (showErrorMessage) {
|
|
121
|
+
message.error('加载方案失败');
|
|
122
|
+
}
|
|
123
|
+
case 21:
|
|
124
|
+
_context.prev = 21;
|
|
126
125
|
setLoading(false);
|
|
127
|
-
|
|
128
|
-
|
|
126
|
+
loadingRef.current = false;
|
|
127
|
+
return _context.finish(21);
|
|
128
|
+
case 25:
|
|
129
129
|
case "end":
|
|
130
130
|
return _context.stop();
|
|
131
131
|
}
|
|
132
|
-
}, _callee, null, [[
|
|
133
|
-
})), [
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
132
|
+
}, _callee, null, [[4, 17, 21, 25]]);
|
|
133
|
+
})), [adapter, showErrorMessage]);
|
|
134
|
+
|
|
135
|
+
// 组件 mount 时自动加载
|
|
136
|
+
useEffect(function () {
|
|
137
|
+
if (autoLoad && !loadedRef.current) {
|
|
138
|
+
loadAllSchemes();
|
|
139
|
+
}
|
|
140
|
+
}, [autoLoad, loadAllSchemes]);
|
|
141
|
+
|
|
142
|
+
// ========== 列方案操作 ==========
|
|
143
|
+
|
|
144
|
+
var saveColumnScheme = useCallback( /*#__PURE__*/function () {
|
|
145
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(gridId, scheme) {
|
|
146
|
+
var savedScheme;
|
|
140
147
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
141
148
|
while (1) switch (_context2.prev = _context2.next) {
|
|
142
149
|
case 0:
|
|
143
150
|
_context2.prev = 0;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
151
|
+
console.log("[useSchemeManager] \u4FDD\u5B58\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
|
|
152
|
+
|
|
153
|
+
// 调用适配器保存
|
|
154
|
+
_context2.next = 4;
|
|
155
|
+
return adapter.saveColumnScheme(gridId, scheme);
|
|
156
|
+
case 4:
|
|
157
|
+
savedScheme = _context2.sent;
|
|
158
|
+
// 更新本地状态
|
|
159
|
+
setColumnSchemes(function (prev) {
|
|
160
|
+
var schemes = _toConsumableArray(prev[gridId] || []);
|
|
161
|
+
var index = schemes.findIndex(function (s) {
|
|
162
|
+
return s.id === savedScheme.id;
|
|
163
|
+
});
|
|
164
|
+
if (index >= 0) {
|
|
165
|
+
schemes[index] = savedScheme;
|
|
166
|
+
} else {
|
|
167
|
+
schemes.push(savedScheme);
|
|
168
|
+
}
|
|
169
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
|
|
170
|
+
});
|
|
171
|
+
console.log('[useSchemeManager] 保存成功');
|
|
172
|
+
_context2.next = 13;
|
|
149
173
|
break;
|
|
150
|
-
case
|
|
151
|
-
_context2.prev =
|
|
174
|
+
case 9:
|
|
175
|
+
_context2.prev = 9;
|
|
152
176
|
_context2.t0 = _context2["catch"](0);
|
|
153
|
-
console.error('[
|
|
177
|
+
console.error('[useSchemeManager] 保存列方案失败:', _context2.t0);
|
|
154
178
|
throw _context2.t0;
|
|
155
|
-
case
|
|
179
|
+
case 13:
|
|
156
180
|
case "end":
|
|
157
181
|
return _context2.stop();
|
|
158
182
|
}
|
|
159
|
-
}, _callee2, null, [[0,
|
|
183
|
+
}, _callee2, null, [[0, 9]]);
|
|
160
184
|
}));
|
|
161
|
-
return function (_x) {
|
|
185
|
+
return function (_x, _x2) {
|
|
162
186
|
return _ref2.apply(this, arguments);
|
|
163
187
|
};
|
|
164
|
-
}(), [
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
* 加载指定方案
|
|
168
|
-
*/
|
|
169
|
-
var loadScheme = useCallback( /*#__PURE__*/function () {
|
|
170
|
-
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(schemeId) {
|
|
171
|
-
var scheme;
|
|
188
|
+
}(), [adapter]);
|
|
189
|
+
var deleteColumnScheme = useCallback( /*#__PURE__*/function () {
|
|
190
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(gridId, schemeId) {
|
|
172
191
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
173
192
|
while (1) switch (_context3.prev = _context3.next) {
|
|
174
193
|
case 0:
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}
|
|
182
|
-
console.error("[useQuerySchemes] \u65B9\u6848\u4E0D\u5B58\u5728: ".concat(schemeId));
|
|
183
|
-
return _context3.abrupt("return");
|
|
194
|
+
_context3.prev = 0;
|
|
195
|
+
console.log("[useSchemeManager] \u5220\u9664\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
|
|
196
|
+
|
|
197
|
+
// 调用适配器删除
|
|
198
|
+
_context3.next = 4;
|
|
199
|
+
return adapter.deleteColumnScheme(gridId, schemeId);
|
|
184
200
|
case 4:
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
201
|
+
// 更新本地状态
|
|
202
|
+
setColumnSchemes(function (prev) {
|
|
203
|
+
var schemes = (prev[gridId] || []).filter(function (s) {
|
|
204
|
+
return s.id !== schemeId;
|
|
205
|
+
});
|
|
206
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
// 如果删除的是当前方案,清除当前方案ID
|
|
210
|
+
setCurrentSchemes(function (prev) {
|
|
211
|
+
var _prev$gridId;
|
|
212
|
+
if (((_prev$gridId = prev[gridId]) === null || _prev$gridId === void 0 ? void 0 : _prev$gridId.columnSchemeId) === schemeId) {
|
|
213
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId]), {}, {
|
|
214
|
+
columnSchemeId: null
|
|
215
|
+
})));
|
|
216
|
+
}
|
|
217
|
+
return prev;
|
|
218
|
+
});
|
|
219
|
+
console.log('[useSchemeManager] 删除成功');
|
|
220
|
+
_context3.next = 13;
|
|
198
221
|
break;
|
|
199
|
-
case
|
|
200
|
-
_context3.prev =
|
|
201
|
-
_context3.t0 = _context3["catch"](
|
|
202
|
-
console.error('[
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
case 16:
|
|
222
|
+
case 9:
|
|
223
|
+
_context3.prev = 9;
|
|
224
|
+
_context3.t0 = _context3["catch"](0);
|
|
225
|
+
console.error('[useSchemeManager] 删除列方案失败:', _context3.t0);
|
|
226
|
+
throw _context3.t0;
|
|
227
|
+
case 13:
|
|
206
228
|
case "end":
|
|
207
229
|
return _context3.stop();
|
|
208
230
|
}
|
|
209
|
-
}, _callee3, null, [[
|
|
231
|
+
}, _callee3, null, [[0, 9]]);
|
|
210
232
|
}));
|
|
211
|
-
return function (
|
|
233
|
+
return function (_x3, _x4) {
|
|
212
234
|
return _ref3.apply(this, arguments);
|
|
213
235
|
};
|
|
214
|
-
}(), [
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
*/
|
|
219
|
-
var saveScheme = useCallback( /*#__PURE__*/function () {
|
|
220
|
-
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(updates) {
|
|
221
|
-
var nameValidation, descValidation, updatedScheme, updatedSchemes;
|
|
236
|
+
}(), [adapter]);
|
|
237
|
+
var setCurrentColumnScheme = useCallback( /*#__PURE__*/function () {
|
|
238
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(gridId, schemeId) {
|
|
239
|
+
var _currentSchemes$gridI, querySchemeId;
|
|
222
240
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
223
241
|
while (1) switch (_context4.prev = _context4.next) {
|
|
224
242
|
case 0:
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
case 7:
|
|
243
|
-
if (!checkDuplicateName(updates.name, schemes, currentScheme.id)) {
|
|
244
|
-
_context4.next = 9;
|
|
245
|
-
break;
|
|
246
|
-
}
|
|
247
|
-
throw new Error('方案名称已存在');
|
|
243
|
+
_context4.prev = 0;
|
|
244
|
+
console.log("[useSchemeManager] \u8BBE\u7F6E\u5F53\u524D\u5217\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
|
|
245
|
+
|
|
246
|
+
// 获取当前的查询方案ID
|
|
247
|
+
querySchemeId = ((_currentSchemes$gridI = currentSchemes[gridId]) === null || _currentSchemes$gridI === void 0 ? void 0 : _currentSchemes$gridI.querySchemeId) || null; // 调用适配器设置
|
|
248
|
+
_context4.next = 5;
|
|
249
|
+
return adapter.setCurrentScheme(gridId, schemeId, querySchemeId);
|
|
250
|
+
case 5:
|
|
251
|
+
// 更新本地状态
|
|
252
|
+
setCurrentSchemes(function (prev) {
|
|
253
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId] || {}), {}, {
|
|
254
|
+
columnSchemeId: schemeId
|
|
255
|
+
})));
|
|
256
|
+
});
|
|
257
|
+
console.log('[useSchemeManager] 设置成功');
|
|
258
|
+
_context4.next = 13;
|
|
259
|
+
break;
|
|
248
260
|
case 9:
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
descValidation = validateSchemeDescription(updates.description);
|
|
254
|
-
if (descValidation.valid) {
|
|
255
|
-
_context4.next = 13;
|
|
256
|
-
break;
|
|
257
|
-
}
|
|
258
|
-
throw new Error(descValidation.error);
|
|
261
|
+
_context4.prev = 9;
|
|
262
|
+
_context4.t0 = _context4["catch"](0);
|
|
263
|
+
console.error('[useSchemeManager] 设置当前列方案失败:', _context4.t0);
|
|
264
|
+
throw _context4.t0;
|
|
259
265
|
case 13:
|
|
260
|
-
updatedScheme = _objectSpread(_objectSpread(_objectSpread({}, currentScheme), updates), {}, {
|
|
261
|
-
updatedAt: Date.now()
|
|
262
|
-
});
|
|
263
|
-
updatedSchemes = schemes.map(function (s) {
|
|
264
|
-
return s.id === currentScheme.id ? updatedScheme : s;
|
|
265
|
-
});
|
|
266
|
-
_context4.next = 17;
|
|
267
|
-
return saveSchemesToStorage(updatedSchemes);
|
|
268
|
-
case 17:
|
|
269
|
-
setCurrentScheme(updatedScheme);
|
|
270
|
-
setIsDirty(false);
|
|
271
|
-
onSchemeSave === null || onSchemeSave === void 0 || onSchemeSave(updatedScheme);
|
|
272
|
-
case 20:
|
|
273
266
|
case "end":
|
|
274
267
|
return _context4.stop();
|
|
275
268
|
}
|
|
276
|
-
}, _callee4);
|
|
269
|
+
}, _callee4, null, [[0, 9]]);
|
|
277
270
|
}));
|
|
278
|
-
return function (
|
|
271
|
+
return function (_x5, _x6) {
|
|
279
272
|
return _ref4.apply(this, arguments);
|
|
280
273
|
};
|
|
281
|
-
}(), [
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
var nameValidation, uniqueName, newScheme, updatedSchemes;
|
|
274
|
+
}(), [adapter, currentSchemes]);
|
|
275
|
+
|
|
276
|
+
// ========== 查询方案操作 ==========
|
|
277
|
+
|
|
278
|
+
var saveQueryScheme = useCallback( /*#__PURE__*/function () {
|
|
279
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(gridId, scheme) {
|
|
280
|
+
var savedScheme;
|
|
289
281
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
290
282
|
while (1) switch (_context5.prev = _context5.next) {
|
|
291
283
|
case 0:
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
case 5:
|
|
306
|
-
// 处理重名情况
|
|
307
|
-
uniqueName = checkDuplicateName(name, schemes) ? generateUniqueName(name, schemes) : name;
|
|
308
|
-
newScheme = _objectSpread({
|
|
309
|
-
id: uuidv4(),
|
|
310
|
-
name: uniqueName,
|
|
311
|
-
createdAt: Date.now(),
|
|
312
|
-
updatedAt: Date.now(),
|
|
313
|
-
itemsOrder: itemsOrder
|
|
314
|
-
}, options); // 如果设置为默认方案,取消其他方案的默认标记
|
|
315
|
-
updatedSchemes = schemes;
|
|
316
|
-
if (newScheme.isDefault) {
|
|
317
|
-
updatedSchemes = schemes.map(function (s) {
|
|
318
|
-
return _objectSpread(_objectSpread({}, s), {}, {
|
|
319
|
-
isDefault: false
|
|
320
|
-
});
|
|
284
|
+
_context5.prev = 0;
|
|
285
|
+
console.log("[useSchemeManager] \u4FDD\u5B58\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(scheme.name));
|
|
286
|
+
|
|
287
|
+
// 调用适配器保存
|
|
288
|
+
_context5.next = 4;
|
|
289
|
+
return adapter.saveQueryScheme(gridId, scheme);
|
|
290
|
+
case 4:
|
|
291
|
+
savedScheme = _context5.sent;
|
|
292
|
+
// 更新本地状态
|
|
293
|
+
setQuerySchemes(function (prev) {
|
|
294
|
+
var schemes = _toConsumableArray(prev[gridId] || []);
|
|
295
|
+
var index = schemes.findIndex(function (s) {
|
|
296
|
+
return s.id === savedScheme.id;
|
|
321
297
|
});
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
// 保存当前方案ID,用于刷新后恢复
|
|
332
|
-
if (!storageAdapter.saveCurrentSchemeId) {
|
|
333
|
-
_context5.next = 23;
|
|
334
|
-
break;
|
|
335
|
-
}
|
|
336
|
-
_context5.prev = 15;
|
|
337
|
-
_context5.next = 18;
|
|
338
|
-
return storageAdapter.saveCurrentSchemeId(gridId, newScheme.id);
|
|
339
|
-
case 18:
|
|
340
|
-
_context5.next = 23;
|
|
298
|
+
if (index >= 0) {
|
|
299
|
+
schemes[index] = savedScheme;
|
|
300
|
+
} else {
|
|
301
|
+
schemes.push(savedScheme);
|
|
302
|
+
}
|
|
303
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
|
|
304
|
+
});
|
|
305
|
+
console.log('[useSchemeManager] 保存成功');
|
|
306
|
+
_context5.next = 13;
|
|
341
307
|
break;
|
|
342
|
-
case
|
|
343
|
-
_context5.prev =
|
|
344
|
-
_context5.t0 = _context5["catch"](
|
|
345
|
-
console.error('[
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
onSchemeChange === null || onSchemeChange === void 0 || onSchemeChange(newScheme);
|
|
349
|
-
onSchemeSave === null || onSchemeSave === void 0 || onSchemeSave(newScheme);
|
|
350
|
-
return _context5.abrupt("return", newScheme);
|
|
351
|
-
case 26:
|
|
308
|
+
case 9:
|
|
309
|
+
_context5.prev = 9;
|
|
310
|
+
_context5.t0 = _context5["catch"](0);
|
|
311
|
+
console.error('[useSchemeManager] 保存查询方案失败:', _context5.t0);
|
|
312
|
+
throw _context5.t0;
|
|
313
|
+
case 13:
|
|
352
314
|
case "end":
|
|
353
315
|
return _context5.stop();
|
|
354
316
|
}
|
|
355
|
-
}, _callee5, null, [[
|
|
317
|
+
}, _callee5, null, [[0, 9]]);
|
|
356
318
|
}));
|
|
357
|
-
return function (
|
|
319
|
+
return function (_x7, _x8) {
|
|
358
320
|
return _ref5.apply(this, arguments);
|
|
359
321
|
};
|
|
360
|
-
}(), [
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
* 更新方案信息(不影响 itemsOrder)
|
|
364
|
-
*/
|
|
365
|
-
var updateScheme = useCallback( /*#__PURE__*/function () {
|
|
366
|
-
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(schemeId, updates) {
|
|
367
|
-
var scheme, nameValidation, updatedScheme, updatedSchemes;
|
|
322
|
+
}(), [adapter]);
|
|
323
|
+
var deleteQueryScheme = useCallback( /*#__PURE__*/function () {
|
|
324
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(gridId, schemeId) {
|
|
368
325
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
369
326
|
while (1) switch (_context6.prev = _context6.next) {
|
|
370
327
|
case 0:
|
|
371
|
-
|
|
372
|
-
|
|
328
|
+
_context6.prev = 0;
|
|
329
|
+
console.log("[useSchemeManager] \u5220\u9664\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
|
|
330
|
+
|
|
331
|
+
// 调用适配器删除
|
|
332
|
+
_context6.next = 4;
|
|
333
|
+
return adapter.deleteQueryScheme(gridId, schemeId);
|
|
334
|
+
case 4:
|
|
335
|
+
// 更新本地状态
|
|
336
|
+
setQuerySchemes(function (prev) {
|
|
337
|
+
var schemes = (prev[gridId] || []).filter(function (s) {
|
|
338
|
+
return s.id !== schemeId;
|
|
339
|
+
});
|
|
340
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, schemes));
|
|
373
341
|
});
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
throw new Error('系统预设方案不允许修改');
|
|
385
|
-
case 5:
|
|
386
|
-
if (!updates.name) {
|
|
387
|
-
_context6.next = 11;
|
|
388
|
-
break;
|
|
389
|
-
}
|
|
390
|
-
nameValidation = validateSchemeName(updates.name);
|
|
391
|
-
if (nameValidation.valid) {
|
|
392
|
-
_context6.next = 9;
|
|
393
|
-
break;
|
|
394
|
-
}
|
|
395
|
-
throw new Error(nameValidation.error);
|
|
396
|
-
case 9:
|
|
397
|
-
if (!checkDuplicateName(updates.name, schemes, schemeId)) {
|
|
398
|
-
_context6.next = 11;
|
|
399
|
-
break;
|
|
400
|
-
}
|
|
401
|
-
throw new Error('方案名称已存在');
|
|
402
|
-
case 11:
|
|
403
|
-
updatedScheme = _objectSpread(_objectSpread(_objectSpread({}, scheme), updates), {}, {
|
|
404
|
-
updatedAt: Date.now()
|
|
342
|
+
|
|
343
|
+
// 如果删除的是当前方案,清除当前方案ID
|
|
344
|
+
setCurrentSchemes(function (prev) {
|
|
345
|
+
var _prev$gridId2;
|
|
346
|
+
if (((_prev$gridId2 = prev[gridId]) === null || _prev$gridId2 === void 0 ? void 0 : _prev$gridId2.querySchemeId) === schemeId) {
|
|
347
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId]), {}, {
|
|
348
|
+
querySchemeId: null
|
|
349
|
+
})));
|
|
350
|
+
}
|
|
351
|
+
return prev;
|
|
405
352
|
});
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
}
|
|
416
|
-
_context6.next = 16;
|
|
417
|
-
return saveSchemesToStorage(updatedSchemes);
|
|
418
|
-
case 16:
|
|
419
|
-
// 如果更新的是当前方案,同步更新
|
|
420
|
-
if ((currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id) === schemeId) {
|
|
421
|
-
setCurrentScheme(updatedScheme);
|
|
422
|
-
}
|
|
423
|
-
case 17:
|
|
353
|
+
console.log('[useSchemeManager] 删除成功');
|
|
354
|
+
_context6.next = 13;
|
|
355
|
+
break;
|
|
356
|
+
case 9:
|
|
357
|
+
_context6.prev = 9;
|
|
358
|
+
_context6.t0 = _context6["catch"](0);
|
|
359
|
+
console.error('[useSchemeManager] 删除查询方案失败:', _context6.t0);
|
|
360
|
+
throw _context6.t0;
|
|
361
|
+
case 13:
|
|
424
362
|
case "end":
|
|
425
363
|
return _context6.stop();
|
|
426
364
|
}
|
|
427
|
-
}, _callee6);
|
|
365
|
+
}, _callee6, null, [[0, 9]]);
|
|
428
366
|
}));
|
|
429
|
-
return function (
|
|
367
|
+
return function (_x9, _x10) {
|
|
430
368
|
return _ref6.apply(this, arguments);
|
|
431
369
|
};
|
|
432
|
-
}(), [
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
*/
|
|
437
|
-
var deleteScheme = useCallback( /*#__PURE__*/function () {
|
|
438
|
-
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(schemeId) {
|
|
439
|
-
var scheme, updatedSchemes;
|
|
370
|
+
}(), [adapter]);
|
|
371
|
+
var setCurrentQueryScheme = useCallback( /*#__PURE__*/function () {
|
|
372
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(gridId, schemeId) {
|
|
373
|
+
var _currentSchemes$gridI2, columnSchemeId;
|
|
440
374
|
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
441
375
|
while (1) switch (_context7.prev = _context7.next) {
|
|
442
376
|
case 0:
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
throw new Error('方案不存在');
|
|
451
|
-
case 3:
|
|
452
|
-
if (!scheme.isSystem) {
|
|
453
|
-
_context7.next = 5;
|
|
454
|
-
break;
|
|
455
|
-
}
|
|
456
|
-
throw new Error('系统预设方案不允许删除');
|
|
377
|
+
_context7.prev = 0;
|
|
378
|
+
console.log("[useSchemeManager] \u8BBE\u7F6E\u5F53\u524D\u67E5\u8BE2\u65B9\u6848: ".concat(gridId, " - ").concat(schemeId));
|
|
379
|
+
|
|
380
|
+
// 获取当前的列方案ID
|
|
381
|
+
columnSchemeId = ((_currentSchemes$gridI2 = currentSchemes[gridId]) === null || _currentSchemes$gridI2 === void 0 ? void 0 : _currentSchemes$gridI2.columnSchemeId) || null; // 调用适配器设置
|
|
382
|
+
_context7.next = 5;
|
|
383
|
+
return adapter.setCurrentScheme(gridId, columnSchemeId, schemeId);
|
|
457
384
|
case 5:
|
|
458
|
-
|
|
459
|
-
|
|
385
|
+
// 更新本地状态
|
|
386
|
+
setCurrentSchemes(function (prev) {
|
|
387
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, gridId, _objectSpread(_objectSpread({}, prev[gridId] || {}), {}, {
|
|
388
|
+
querySchemeId: schemeId
|
|
389
|
+
})));
|
|
460
390
|
});
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
case 8:
|
|
464
|
-
if (!((currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id) === schemeId)) {
|
|
465
|
-
_context7.next = 21;
|
|
466
|
-
break;
|
|
467
|
-
}
|
|
468
|
-
setCurrentScheme(null);
|
|
469
|
-
setIsDirty(false);
|
|
470
|
-
|
|
471
|
-
// 清除保存的当前方案ID
|
|
472
|
-
if (!storageAdapter.saveCurrentSchemeId) {
|
|
473
|
-
_context7.next = 20;
|
|
474
|
-
break;
|
|
475
|
-
}
|
|
476
|
-
_context7.prev = 12;
|
|
477
|
-
_context7.next = 15;
|
|
478
|
-
return storageAdapter.saveCurrentSchemeId(gridId, null);
|
|
479
|
-
case 15:
|
|
480
|
-
_context7.next = 20;
|
|
391
|
+
console.log('[useSchemeManager] 设置成功');
|
|
392
|
+
_context7.next = 13;
|
|
481
393
|
break;
|
|
482
|
-
case
|
|
483
|
-
_context7.prev =
|
|
484
|
-
_context7.t0 = _context7["catch"](
|
|
485
|
-
console.error('[
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
case 21:
|
|
489
|
-
onSchemeDelete === null || onSchemeDelete === void 0 || onSchemeDelete(schemeId);
|
|
490
|
-
case 22:
|
|
394
|
+
case 9:
|
|
395
|
+
_context7.prev = 9;
|
|
396
|
+
_context7.t0 = _context7["catch"](0);
|
|
397
|
+
console.error('[useSchemeManager] 设置当前查询方案失败:', _context7.t0);
|
|
398
|
+
throw _context7.t0;
|
|
399
|
+
case 13:
|
|
491
400
|
case "end":
|
|
492
401
|
return _context7.stop();
|
|
493
402
|
}
|
|
494
|
-
}, _callee7, null, [[
|
|
403
|
+
}, _callee7, null, [[0, 9]]);
|
|
495
404
|
}));
|
|
496
|
-
return function (
|
|
405
|
+
return function (_x11, _x12) {
|
|
497
406
|
return _ref7.apply(this, arguments);
|
|
498
407
|
};
|
|
499
|
-
}(), [
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
case 3:
|
|
529
|
-
case "end":
|
|
530
|
-
return _context8.stop();
|
|
531
|
-
}
|
|
532
|
-
}, _callee8);
|
|
533
|
-
}));
|
|
534
|
-
return function (_x10) {
|
|
535
|
-
return _ref8.apply(this, arguments);
|
|
536
|
-
};
|
|
537
|
-
}(), [schemes, saveSchemesToStorage]);
|
|
538
|
-
|
|
539
|
-
/**
|
|
540
|
-
* 验证方案有效性
|
|
541
|
-
*/
|
|
542
|
-
var validateSchemeCallback = useCallback(function (scheme, currentFormItems) {
|
|
543
|
-
return validateScheme(scheme, currentFormItems);
|
|
544
|
-
}, []);
|
|
408
|
+
}(), [adapter, currentSchemes]);
|
|
409
|
+
|
|
410
|
+
// ========== 工具方法 ==========
|
|
411
|
+
|
|
412
|
+
var refreshSchemes = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
413
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
414
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
415
|
+
case 0:
|
|
416
|
+
loadedRef.current = false;
|
|
417
|
+
_context8.next = 3;
|
|
418
|
+
return loadAllSchemes();
|
|
419
|
+
case 3:
|
|
420
|
+
case "end":
|
|
421
|
+
return _context8.stop();
|
|
422
|
+
}
|
|
423
|
+
}, _callee8);
|
|
424
|
+
})), [loadAllSchemes]);
|
|
425
|
+
var getColumnSchemes = useCallback(function (gridId) {
|
|
426
|
+
return columnSchemes[gridId] || [];
|
|
427
|
+
}, [columnSchemes]);
|
|
428
|
+
var getQuerySchemes = useCallback(function (gridId) {
|
|
429
|
+
return querySchemes[gridId] || [];
|
|
430
|
+
}, [querySchemes]);
|
|
431
|
+
var getCurrentScheme = useCallback(function (gridId) {
|
|
432
|
+
return currentSchemes[gridId] || null;
|
|
433
|
+
}, [currentSchemes]);
|
|
434
|
+
|
|
435
|
+
// ========== 返回值 ==========
|
|
436
|
+
|
|
545
437
|
return {
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
438
|
+
// 状态数据
|
|
439
|
+
columnSchemes: columnSchemes,
|
|
440
|
+
querySchemes: querySchemes,
|
|
441
|
+
currentSchemes: currentSchemes,
|
|
442
|
+
schemesLoading: loading,
|
|
443
|
+
lastSyncTime: lastSyncTime,
|
|
444
|
+
// 列方案操作
|
|
445
|
+
saveColumnScheme: saveColumnScheme,
|
|
446
|
+
deleteColumnScheme: deleteColumnScheme,
|
|
447
|
+
setCurrentColumnScheme: setCurrentColumnScheme,
|
|
448
|
+
// 查询方案操作
|
|
449
|
+
saveQueryScheme: saveQueryScheme,
|
|
450
|
+
deleteQueryScheme: deleteQueryScheme,
|
|
451
|
+
setCurrentQueryScheme: setCurrentQueryScheme,
|
|
452
|
+
// 工具方法
|
|
453
|
+
refreshSchemes: refreshSchemes,
|
|
454
|
+
getColumnSchemes: getColumnSchemes,
|
|
455
|
+
getQuerySchemes: getQuerySchemes,
|
|
456
|
+
getCurrentScheme: getCurrentScheme
|
|
558
457
|
};
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* Fallback 模式:当无 Provider 时使用本地状态管理
|
|
462
|
+
*/
|
|
463
|
+
function useFallbackSchemeManager() {
|
|
464
|
+
var adapter = useRef(new (require("../shared/storage/localStorageAdapter").LocalStorageSchemeAdapter)({
|
|
465
|
+
storageKey: 'ag-grid-plus-schemes',
|
|
466
|
+
enableDebugLog: false
|
|
467
|
+
})).current;
|
|
468
|
+
|
|
469
|
+
// 使用本地 Hook 实例进行状态管理
|
|
470
|
+
var manager = useSchemeManager({
|
|
471
|
+
adapter: adapter,
|
|
472
|
+
autoLoad: true,
|
|
473
|
+
showErrorMessage: true
|
|
474
|
+
});
|
|
475
|
+
|
|
476
|
+
// 返回与 Context 相同的接口
|
|
477
|
+
return _objectSpread({
|
|
478
|
+
// 保留必需的默认值
|
|
479
|
+
extensibleColumns: [],
|
|
480
|
+
columnState: undefined,
|
|
481
|
+
onSaveColumnState: function onSaveColumnState() {},
|
|
482
|
+
applyToGlobal: function applyToGlobal() {},
|
|
483
|
+
resetCurrent: function resetCurrent() {},
|
|
484
|
+
resetAll: function resetAll() {},
|
|
485
|
+
queryFormItems: []
|
|
486
|
+
}, manager);
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* 在组件中使用集中式方案管理
|
|
491
|
+
*
|
|
492
|
+
* 支持两种模式:
|
|
493
|
+
* 1. Context 模式: 从 GridPlusContext.Provider 获取全局状态
|
|
494
|
+
* 2. Fallback 模式: 使用本地 Hook 实例 + LocalStorage
|
|
495
|
+
*
|
|
496
|
+
* @example
|
|
497
|
+
* ```tsx
|
|
498
|
+
* function MyGrid() {
|
|
499
|
+
* const {
|
|
500
|
+
* columnSchemes,
|
|
501
|
+
* saveColumnScheme,
|
|
502
|
+
* setCurrentColumnScheme
|
|
503
|
+
* } = useGridSchemes();
|
|
504
|
+
*
|
|
505
|
+
* const gridId = 'my-grid';
|
|
506
|
+
* const schemes = columnSchemes?.[gridId] || [];
|
|
507
|
+
*
|
|
508
|
+
* const handleSave = async () => {
|
|
509
|
+
* await saveColumnScheme?.(gridId, newScheme);
|
|
510
|
+
* };
|
|
511
|
+
* }
|
|
512
|
+
* ```
|
|
513
|
+
*/
|
|
514
|
+
export function useGridSchemes() {
|
|
515
|
+
var context = useContext(GridPlusContext);
|
|
516
|
+
|
|
517
|
+
// 检查是否有完整的方案管理 API
|
|
518
|
+
var hasSchemeApi = !!(context.saveColumnScheme && context.deleteColumnScheme && context.setCurrentColumnScheme && context.saveQueryScheme && context.deleteQueryScheme && context.setCurrentQueryScheme);
|
|
519
|
+
|
|
520
|
+
// 如果 Context 提供了完整 API,直接使用
|
|
521
|
+
if (hasSchemeApi) {
|
|
522
|
+
return context;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
// 否则使用 fallback 模式
|
|
526
|
+
console.warn('[useGridSchemes] Context 未提供方案管理 API,使用 Fallback 模式(LocalStorage + 本地状态)');
|
|
527
|
+
|
|
528
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
529
|
+
return useFallbackSchemeManager();
|
|
559
530
|
}
|