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