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