@nokecy/qc-ui 1.0.59 → 1.0.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/dist/cjs/deleteConfirm/index.d.ts +31 -0
  2. package/dist/cjs/deleteConfirm/index.js +64 -0
  3. package/dist/cjs/fullScreenAlert/index.d.ts +25 -4
  4. package/dist/cjs/fullScreenAlert/index.js +50 -17
  5. package/dist/cjs/generatedListPage/ConfigurableToolbar.d.ts +35 -0
  6. package/dist/cjs/generatedListPage/ConfigurableToolbar.js +179 -0
  7. package/dist/cjs/generatedListPage/GeneratedListPage.d.ts +8 -0
  8. package/dist/cjs/generatedListPage/GeneratedListPage.js +545 -0
  9. package/dist/cjs/generatedListPage/OptionsColumn.d.ts +9 -0
  10. package/dist/cjs/generatedListPage/OptionsColumn.js +135 -0
  11. package/dist/cjs/generatedListPage/PerformanceMonitor.d.ts +55 -0
  12. package/dist/cjs/generatedListPage/PerformanceMonitor.js +277 -0
  13. package/dist/cjs/generatedListPage/RequestManager.d.ts +97 -0
  14. package/dist/cjs/generatedListPage/RequestManager.js +404 -0
  15. package/dist/cjs/generatedListPage/_utils/AccessWrapper.d.ts +16 -0
  16. package/dist/cjs/generatedListPage/_utils/AccessWrapper.js +26 -0
  17. package/dist/cjs/generatedListPage/_utils/defaultHandlers.d.ts +22 -0
  18. package/dist/cjs/generatedListPage/_utils/defaultHandlers.js +127 -0
  19. package/dist/cjs/generatedListPage/index.d.ts +20 -0
  20. package/dist/cjs/generatedListPage/index.js +92 -0
  21. package/dist/cjs/generatedListPage/types.d.ts +221 -0
  22. package/dist/cjs/generatedListPage/types.js +5 -0
  23. package/dist/cjs/generatedListPage/usePermissionCheck.d.ts +66 -0
  24. package/dist/cjs/generatedListPage/usePermissionCheck.js +150 -0
  25. package/dist/cjs/generatedListPage/useRequestManager.d.ts +35 -0
  26. package/dist/cjs/generatedListPage/useRequestManager.js +121 -0
  27. package/dist/cjs/importModal/index.d.ts +21 -3
  28. package/dist/cjs/importModal/index.js +30 -10
  29. package/dist/cjs/index.d.ts +9 -1
  30. package/dist/cjs/index.js +21 -0
  31. package/dist/cjs/standardFormDialog/FormValidation.d.ts +150 -0
  32. package/dist/cjs/standardFormDialog/FormValidation.js +229 -0
  33. package/dist/cjs/standardFormDialog/PortalManager.d.ts +94 -0
  34. package/dist/cjs/standardFormDialog/PortalManager.js +259 -0
  35. package/dist/cjs/standardFormDialog/StandardFormDialog.d.ts +10 -0
  36. package/dist/cjs/standardFormDialog/StandardFormDialog.js +516 -0
  37. package/dist/cjs/standardFormDialog/index.d.ts +7 -0
  38. package/dist/cjs/standardFormDialog/index.js +83 -0
  39. package/dist/cjs/standardFormDialog/types.d.ts +107 -0
  40. package/dist/cjs/standardFormDialog/types.js +5 -0
  41. package/dist/cjs/standardFormDialog/useStandardFormSchema.d.ts +68 -0
  42. package/dist/cjs/standardFormDialog/useStandardFormSchema.js +197 -0
  43. package/dist/cjs/standardFormDialog/withStandardForm.d.ts +193 -0
  44. package/dist/cjs/standardFormDialog/withStandardForm.js +388 -0
  45. package/dist/esm/deleteConfirm/index.d.ts +31 -0
  46. package/dist/esm/deleteConfirm/index.js +57 -0
  47. package/dist/esm/fullScreenAlert/index.d.ts +25 -4
  48. package/dist/esm/fullScreenAlert/index.js +50 -18
  49. package/dist/esm/generatedListPage/ConfigurableToolbar.d.ts +35 -0
  50. package/dist/esm/generatedListPage/ConfigurableToolbar.js +171 -0
  51. package/dist/esm/generatedListPage/GeneratedListPage.d.ts +8 -0
  52. package/dist/esm/generatedListPage/GeneratedListPage.js +535 -0
  53. package/dist/esm/generatedListPage/OptionsColumn.d.ts +9 -0
  54. package/dist/esm/generatedListPage/OptionsColumn.js +127 -0
  55. package/dist/esm/generatedListPage/PerformanceMonitor.d.ts +55 -0
  56. package/dist/esm/generatedListPage/PerformanceMonitor.js +272 -0
  57. package/dist/esm/generatedListPage/RequestManager.d.ts +97 -0
  58. package/dist/esm/generatedListPage/RequestManager.js +398 -0
  59. package/dist/esm/generatedListPage/_utils/AccessWrapper.d.ts +16 -0
  60. package/dist/esm/generatedListPage/_utils/AccessWrapper.js +20 -0
  61. package/dist/esm/generatedListPage/_utils/defaultHandlers.d.ts +22 -0
  62. package/dist/esm/generatedListPage/_utils/defaultHandlers.js +122 -0
  63. package/dist/esm/generatedListPage/index.d.ts +20 -0
  64. package/dist/esm/generatedListPage/index.js +26 -0
  65. package/dist/esm/generatedListPage/types.d.ts +221 -0
  66. package/dist/esm/generatedListPage/types.js +1 -0
  67. package/dist/esm/generatedListPage/usePermissionCheck.d.ts +66 -0
  68. package/dist/esm/generatedListPage/usePermissionCheck.js +145 -0
  69. package/dist/esm/generatedListPage/useRequestManager.d.ts +35 -0
  70. package/dist/esm/generatedListPage/useRequestManager.js +116 -0
  71. package/dist/esm/importModal/index.d.ts +21 -3
  72. package/dist/esm/importModal/index.js +29 -10
  73. package/dist/esm/index.d.ts +9 -1
  74. package/dist/esm/index.js +6 -1
  75. package/dist/esm/standardFormDialog/FormValidation.d.ts +150 -0
  76. package/dist/esm/standardFormDialog/FormValidation.js +223 -0
  77. package/dist/esm/standardFormDialog/PortalManager.d.ts +94 -0
  78. package/dist/esm/standardFormDialog/PortalManager.js +253 -0
  79. package/dist/esm/standardFormDialog/StandardFormDialog.d.ts +10 -0
  80. package/dist/esm/standardFormDialog/StandardFormDialog.js +508 -0
  81. package/dist/esm/standardFormDialog/index.d.ts +7 -0
  82. package/dist/esm/standardFormDialog/index.js +6 -0
  83. package/dist/esm/standardFormDialog/types.d.ts +107 -0
  84. package/dist/esm/standardFormDialog/types.js +1 -0
  85. package/dist/esm/standardFormDialog/useStandardFormSchema.d.ts +68 -0
  86. package/dist/esm/standardFormDialog/useStandardFormSchema.js +191 -0
  87. package/dist/esm/standardFormDialog/withStandardForm.d.ts +193 -0
  88. package/dist/esm/standardFormDialog/withStandardForm.js +382 -0
  89. package/dist/umd/qc-ui.min.js +1 -1
  90. package/package.json +1 -1
  91. package/dist/esm/ConfirmPro/index.d.ts.map +0 -1
  92. package/dist/esm/ag-grid-plus/_utils/boolSelect.d.ts.map +0 -1
  93. package/dist/esm/ag-grid-plus/_utils/customGroupCellRenderer.d.ts.map +0 -1
  94. package/dist/esm/ag-grid-plus/_utils/processColumnGroups.d.ts.map +0 -1
  95. package/dist/esm/ag-grid-plus/_utils/processFormColumnState.d.ts.map +0 -1
  96. package/dist/esm/ag-grid-plus/ag-gridPlus.d.ts.map +0 -1
  97. package/dist/esm/ag-grid-plus/context/gridContext.d.ts.map +0 -1
  98. package/dist/esm/ag-grid-plus/gridManager/index.d.ts.map +0 -1
  99. package/dist/esm/ag-grid-plus/index.d.ts.map +0 -1
  100. package/dist/esm/ag-grid-plus/interface.d.ts.map +0 -1
  101. package/dist/esm/ag-grid-plus/locale.d.ts.map +0 -1
  102. package/dist/esm/ag-grid-plus/queryForm/index.d.ts.map +0 -1
  103. package/dist/esm/ag-grid-plus/queryForm/queryForm.d.ts.map +0 -1
  104. package/dist/esm/ag-grid-plus/setting/diySetting/index.d.ts.map +0 -1
  105. package/dist/esm/ag-grid-plus/setting/index.d.ts.map +0 -1
  106. package/dist/esm/ag-grid-plus/settingItem/index.d.ts.map +0 -1
  107. package/dist/esm/ag-grid-plus/toolBar/index.d.ts.map +0 -1
  108. package/dist/esm/ag-grid-plus/toolBar/style.d.ts.map +0 -1
  109. package/dist/esm/ag-grid-plus/utils.d.ts.map +0 -1
  110. package/dist/esm/array-table/arrayAddBtn.d.ts.map +0 -1
  111. package/dist/esm/array-table/arrayBase.d.ts.map +0 -1
  112. package/dist/esm/array-table/index.d.ts.map +0 -1
  113. package/dist/esm/array-table/interface.d.ts.map +0 -1
  114. package/dist/esm/array-table/preview.d.ts.map +0 -1
  115. package/dist/esm/array-table/utils.d.ts.map +0 -1
  116. package/dist/esm/array-table-index/index.d.ts.map +0 -1
  117. package/dist/esm/card/index.d.ts.map +0 -1
  118. package/dist/esm/dashboard/dashboard/components/index.d.ts.map +0 -1
  119. package/dist/esm/dashboard/dashboard/components/modal/index.d.ts.map +0 -1
  120. package/dist/esm/dashboard/dashboard/components/toolbar/index.d.ts.map +0 -1
  121. package/dist/esm/dashboard/dashboard/components/toolbar/style/index.d.ts.map +0 -1
  122. package/dist/esm/dashboard/dashboard/index.d.ts.map +0 -1
  123. package/dist/esm/dashboard/dashboard/service.d.ts.map +0 -1
  124. package/dist/esm/dashboard/dashboard/utils.d.ts.map +0 -1
  125. package/dist/esm/dashboard/index.d.ts.map +0 -1
  126. package/dist/esm/dashboard/utils.d.ts.map +0 -1
  127. package/dist/esm/dashboard/widget/index.d.ts.map +0 -1
  128. package/dist/esm/dashboard/widget/selector/index.d.ts.map +0 -1
  129. package/dist/esm/dashboard/widget/utils.d.ts.map +0 -1
  130. package/dist/esm/dialogSelect/index.d.ts.map +0 -1
  131. package/dist/esm/draggableModal/index.d.ts.map +0 -1
  132. package/dist/esm/editable/index.d.ts.map +0 -1
  133. package/dist/esm/editable/style.d.ts.map +0 -1
  134. package/dist/esm/extensible-grid/index.d.ts.map +0 -1
  135. package/dist/esm/extensible-grid/interface.d.ts.map +0 -1
  136. package/dist/esm/formDesigner/FormDesigner.d.ts.map +0 -1
  137. package/dist/esm/formDesigner/ProCard/index.d.ts.map +0 -1
  138. package/dist/esm/formDesigner/arrayTable/arrayTableSchema.d.ts.map +0 -1
  139. package/dist/esm/formDesigner/arrayTable/index.d.ts.map +0 -1
  140. package/dist/esm/formDesigner/arrayTable/preview.d.ts.map +0 -1
  141. package/dist/esm/formDesigner/index.d.ts.map +0 -1
  142. package/dist/esm/formDesigner/preWidgets/arrayTableIndex/index.d.ts.map +0 -1
  143. package/dist/esm/formDesigner/preWidgets/arrayTableIndex/preview.d.ts.map +0 -1
  144. package/dist/esm/formDesigner/preWidgets/card/index.d.ts.map +0 -1
  145. package/dist/esm/formDesigner/preWidgets/card/preview.d.ts.map +0 -1
  146. package/dist/esm/formDesigner/preWidgets/index.d.ts.map +0 -1
  147. package/dist/esm/formDesigner/preWidgets/preDefineProperty1/index.d.ts.map +0 -1
  148. package/dist/esm/formDesigner/preWidgets/preDefineProperty1/preview.d.ts.map +0 -1
  149. package/dist/esm/formDesigner/preWidgets/preDefineProperty10/index.d.ts.map +0 -1
  150. package/dist/esm/formDesigner/preWidgets/preDefineProperty10/preview.d.ts.map +0 -1
  151. package/dist/esm/formDesigner/preWidgets/preDefineProperty2/index.d.ts.map +0 -1
  152. package/dist/esm/formDesigner/preWidgets/preDefineProperty2/preview.d.ts.map +0 -1
  153. package/dist/esm/formDesigner/preWidgets/preDefineProperty3/index.d.ts.map +0 -1
  154. package/dist/esm/formDesigner/preWidgets/preDefineProperty3/preview.d.ts.map +0 -1
  155. package/dist/esm/formDesigner/preWidgets/preDefineProperty4/index.d.ts.map +0 -1
  156. package/dist/esm/formDesigner/preWidgets/preDefineProperty4/preview.d.ts.map +0 -1
  157. package/dist/esm/formDesigner/preWidgets/preDefineProperty5/index.d.ts.map +0 -1
  158. package/dist/esm/formDesigner/preWidgets/preDefineProperty5/preview.d.ts.map +0 -1
  159. package/dist/esm/formDesigner/preWidgets/preDefineProperty6/index.d.ts.map +0 -1
  160. package/dist/esm/formDesigner/preWidgets/preDefineProperty6/preview.d.ts.map +0 -1
  161. package/dist/esm/formDesigner/preWidgets/preDefineProperty7/index.d.ts.map +0 -1
  162. package/dist/esm/formDesigner/preWidgets/preDefineProperty7/preview.d.ts.map +0 -1
  163. package/dist/esm/formDesigner/preWidgets/preDefineProperty8/index.d.ts.map +0 -1
  164. package/dist/esm/formDesigner/preWidgets/preDefineProperty8/preview.d.ts.map +0 -1
  165. package/dist/esm/formDesigner/preWidgets/preDefineProperty9/index.d.ts.map +0 -1
  166. package/dist/esm/formDesigner/preWidgets/preDefineProperty9/preview.d.ts.map +0 -1
  167. package/dist/esm/formDesigner/preWidgets/utils.d.ts.map +0 -1
  168. package/dist/esm/formDesigner/widgets/ActionsWidget.d.ts.map +0 -1
  169. package/dist/esm/formDesigner/widgets/LogoWidget.d.ts.map +0 -1
  170. package/dist/esm/formDesigner/widgets/PreviewWidget.d.ts.map +0 -1
  171. package/dist/esm/formDesigner/widgets/SchemaEditorWidget.d.ts.map +0 -1
  172. package/dist/esm/formDesigner/widgets/index.d.ts.map +0 -1
  173. package/dist/esm/formPro/context/formProContext.d.ts.map +0 -1
  174. package/dist/esm/formPro/formLayoutPro.d.ts.map +0 -1
  175. package/dist/esm/formPro/index.d.ts.map +0 -1
  176. package/dist/esm/fullScreenAlert/index.d.ts.map +0 -1
  177. package/dist/esm/importModal/index.d.ts.map +0 -1
  178. package/dist/esm/index.d.ts.map +0 -1
  179. package/dist/esm/queryBuilder/index.d.ts.map +0 -1
  180. package/dist/esm/toolBar/index.d.ts.map +0 -1
@@ -0,0 +1,545 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _agGridPlus = require("../ag-grid-plus");
9
+ var _antd = require("antd");
10
+ var _icons = require("@ant-design/icons");
11
+ var _PerformanceMonitor = require("./PerformanceMonitor");
12
+ var _useRequestManager2 = require("./useRequestManager");
13
+ var _OptionsColumn = _interopRequireDefault(require("./OptionsColumn"));
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ 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); }
16
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
18
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
19
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
20
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
21
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
22
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
23
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
24
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
25
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
26
+ 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; }
27
+ 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); } }
28
+ 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
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
30
+ 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; }
31
+ 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; }
32
+ 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; }
33
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
34
+ 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); }
35
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
36
+ 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."); }
37
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
38
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
39
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
40
+ 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."); }
41
+ 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); }
42
+ 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; }
43
+ 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; } }
44
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
46
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
47
+ // 懒加载组件以减少初始包大小
48
+ var ConfigurableToolbar = /*#__PURE__*/(0, _react.lazy)(function () {
49
+ return Promise.resolve().then(function () {
50
+ return _interopRequireWildcard(require("./ConfigurableToolbar"));
51
+ });
52
+ });
53
+ // 直接导入操作列组件,避免懒加载导致的渲染问题
54
+
55
+ /**
56
+ * 通用列表页面生成器组件
57
+ *
58
+ * 基于配置自动生成标准化的列表页面,包含:
59
+ * - AgGridPlus表格
60
+ * - 配置化工具栏
61
+ * - 标准化操作列
62
+ * - 树形数据支持
63
+ * - 统一的API调用和错误处理
64
+ *
65
+ * @param config 页面配置对象
66
+ */
67
+ var GeneratedListPage = function GeneratedListPage(config) {
68
+ var _treeConfig$groupDefa;
69
+ var title = config.title,
70
+ gridKey = config.gridKey,
71
+ apiConfig = config.apiConfig,
72
+ permissions = config.permissions,
73
+ columnDefs = config.columnDefs,
74
+ formDialog = config.formDialog,
75
+ toolbarActions = config.toolbarActions,
76
+ _config$enableImportE = config.enableImportExport,
77
+ enableImportExport = _config$enableImportE === void 0 ? true : _config$enableImportE,
78
+ importConfig = config.importConfig,
79
+ exportFileName = config.exportFileName,
80
+ treeConfig = config.treeConfig,
81
+ customOptionsComponent = config.customOptionsComponent,
82
+ _config$errorConfig = config.errorConfig,
83
+ errorConfig = _config$errorConfig === void 0 ? {
84
+ useErrorHandler: true
85
+ } : _config$errorConfig,
86
+ _config$paginationCon = config.paginationConfig,
87
+ paginationConfig = _config$paginationCon === void 0 ? {
88
+ enabled: true,
89
+ defaultPageSize: 20
90
+ } : _config$paginationCon,
91
+ externalGridRef = config.gridRef,
92
+ externalOnRefresh = config.onRefresh;
93
+
94
+ // 内部Grid引用
95
+ var internalGridRef = (0, _react.useRef)();
96
+ var gridRef = externalGridRef || internalGridRef;
97
+
98
+ // 组件状态
99
+ var _useState = (0, _react.useState)(null),
100
+ _useState2 = _slicedToArray(_useState, 2),
101
+ error = _useState2[0],
102
+ setError = _useState2[1];
103
+ var _useState3 = (0, _react.useState)(0),
104
+ _useState4 = _slicedToArray(_useState3, 2),
105
+ retryCount = _useState4[0],
106
+ setRetryCount = _useState4[1];
107
+
108
+ // 性能监控
109
+ var _usePerformanceMonito = (0, _PerformanceMonitor.usePerformanceMonitor)("GeneratedListPage-".concat(title)),
110
+ metrics = _usePerformanceMonito.metrics,
111
+ measureApiCall = _usePerformanceMonito.measureApiCall,
112
+ recordError = _usePerformanceMonito.recordError,
113
+ getPerformanceReport = _usePerformanceMonito.getPerformanceReport;
114
+
115
+ // 请求管理器
116
+ var _useRequestManager = (0, _useRequestManager2.useRequestManager)({
117
+ debounceDelay: 300,
118
+ enableCache: true,
119
+ cacheTTL: 60000,
120
+ // 1分钟缓存
121
+ enableDedup: true,
122
+ maxConcurrent: 3
123
+ }),
124
+ managedRequest = _useRequestManager.request,
125
+ clearCache = _useRequestManager.clearCache;
126
+
127
+ // 刷新函数
128
+ var onRefresh = (0, _react.useCallback)(externalOnRefresh || function () {
129
+ var _gridRef$current;
130
+ // 清除缓存以确保获取最新数据
131
+ clearCache();
132
+ (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 || _gridRef$current.onRefresh();
133
+ }, [externalOnRefresh, clearCache]);
134
+
135
+ // 操作列组件
136
+ var OptionsColumnComponent = customOptionsComponent || _OptionsColumn.default;
137
+
138
+ // 构建完整的列定义(包含操作列)
139
+ var finalColumnDefs = (0, _react.useMemo)(function () {
140
+ var hasFormDialog = !!(formDialog !== null && formDialog !== void 0 && formDialog.component);
141
+ var hasDeleteApi = !!apiConfig.delete;
142
+
143
+ // 如果没有编辑和删除功能,不添加操作列
144
+ if (!hasFormDialog && !hasDeleteApi) {
145
+ return columnDefs;
146
+ }
147
+ var operationColumn = {
148
+ headerName: "操作",
149
+ field: "action",
150
+ width: 120,
151
+ pinned: "right",
152
+ filter: false,
153
+ sortable: false,
154
+ cellRenderer: OptionsColumnComponent,
155
+ cellRendererParams: {
156
+ onRefresh: onRefresh,
157
+ permissions: permissions,
158
+ formDialog: formDialog,
159
+ deleteApi: apiConfig.delete,
160
+ useErrorHandler: errorConfig.useErrorHandler
161
+ }
162
+ };
163
+ return [].concat(_toConsumableArray(columnDefs), [operationColumn]);
164
+ }, [columnDefs, formDialog, apiConfig.delete, permissions, onRefresh, OptionsColumnComponent, errorConfig.useErrorHandler]);
165
+
166
+ /**
167
+ * 从扁平数据构建树形结构
168
+ * @param flatData 扁平数据数组
169
+ * @returns 树形数据数组
170
+ */
171
+ var buildTreeFromFlat = (0, _react.useCallback)(function (flatData) {
172
+ if (!treeConfig) return flatData;
173
+ var parentField = treeConfig.parentFieldName || 'parentId';
174
+ var keyField = treeConfig.keyFieldName || 'id';
175
+ var childrenField = treeConfig.childrenFieldName || 'items';
176
+ var pathFields = Array.isArray(treeConfig.pathDisplayField) ? treeConfig.pathDisplayField : [treeConfig.pathDisplayField || 'name', 'code', keyField];
177
+
178
+ // 创建数据映射
179
+ var dataMap = new Map();
180
+ var rootItems = [];
181
+
182
+ // 先创建所有节点的映射
183
+ flatData.forEach(function (item) {
184
+ dataMap.set(item[keyField], _objectSpread(_objectSpread({}, item), {}, _defineProperty(_defineProperty({}, childrenField, []), "orgHierarchy", [])));
185
+ });
186
+
187
+ // 构建每个节点的完整路径
188
+ var buildPath = function buildPath(item) {
189
+ var path = [];
190
+ var current = item;
191
+ while (current) {
192
+ // 按优先级尝试获取显示字段
193
+ var displayValue = String(current[keyField]);
194
+ var _iterator = _createForOfIteratorHelper(pathFields),
195
+ _step;
196
+ try {
197
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
198
+ var field = _step.value;
199
+ if (current[field]) {
200
+ displayValue = String(current[field]);
201
+ break;
202
+ }
203
+ }
204
+ } catch (err) {
205
+ _iterator.e(err);
206
+ } finally {
207
+ _iterator.f();
208
+ }
209
+ path.unshift(displayValue);
210
+
211
+ // 查找父节点
212
+ if (current[parentField]) {
213
+ current = dataMap.get(current[parentField]);
214
+ } else {
215
+ break;
216
+ }
217
+ }
218
+ return path;
219
+ };
220
+
221
+ // 为每个节点设置 orgHierarchy 并构建树形结构
222
+ flatData.forEach(function (item) {
223
+ var node = dataMap.get(item[keyField]);
224
+ if (node) {
225
+ // 设置树形路径
226
+ node.orgHierarchy = buildPath(item);
227
+
228
+ // 构建父子关系
229
+ if (item[parentField]) {
230
+ var parent = dataMap.get(item[parentField]);
231
+ if (parent) {
232
+ parent[childrenField].push(node);
233
+ } else {
234
+ // 父节点不存在,作为根节点
235
+ rootItems.push(node);
236
+ }
237
+ } else {
238
+ // 没有父ID,作为根节点
239
+ rootItems.push(node);
240
+ }
241
+ }
242
+ });
243
+ return rootItems;
244
+ }, [treeConfig]);
245
+
246
+ // 请求处理函数
247
+ var handleRequest = (0, _react.useCallback)( /*#__PURE__*/function () {
248
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
249
+ var errorMessage;
250
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
251
+ while (1) switch (_context2.prev = _context2.next) {
252
+ case 0:
253
+ setError(null);
254
+ _context2.prev = 1;
255
+ _context2.next = 4;
256
+ return managedRequest(params, /*#__PURE__*/function () {
257
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(requestParams, signal) {
258
+ var treeData, flatData, filteredData, filterText, apiParams, data, items, _treeData, _flatData, _filteredData, _filterText;
259
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
260
+ while (1) switch (_context.prev = _context.next) {
261
+ case 0:
262
+ if (!(treeConfig !== null && treeConfig !== void 0 && treeConfig.enabled && treeConfig.treeApi)) {
263
+ _context.next = 8;
264
+ break;
265
+ }
266
+ _context.next = 3;
267
+ return treeConfig.treeApi();
268
+ case 3:
269
+ treeData = _context.sent;
270
+ flatData = (0, _agGridPlus.flattenTreeDeep)(treeData || [], treeConfig.childrenFieldName || 'items'); // 客户端过滤
271
+ filteredData = flatData;
272
+ if (requestParams !== null && requestParams !== void 0 && requestParams.filter) {
273
+ filterText = requestParams.filter.toLowerCase();
274
+ filteredData = flatData.filter(function (item) {
275
+ return Object.values(item).some(function (value) {
276
+ return value && value.toString().toLowerCase().includes(filterText);
277
+ });
278
+ });
279
+ }
280
+ return _context.abrupt("return", {
281
+ success: true,
282
+ data: filteredData,
283
+ total: filteredData.length
284
+ });
285
+ case 8:
286
+ // 普通列表数据处理
287
+ apiParams = paginationConfig.enabled ? {
288
+ PageSize: (requestParams === null || requestParams === void 0 ? void 0 : requestParams.maxResultCount) || paginationConfig.defaultPageSize,
289
+ Filter: requestParams === null || requestParams === void 0 ? void 0 : requestParams.filter,
290
+ MaxResultCount: (requestParams === null || requestParams === void 0 ? void 0 : requestParams.maxResultCount) || paginationConfig.defaultPageSize,
291
+ SkipCount: (requestParams === null || requestParams === void 0 ? void 0 : requestParams.skipCount) || 0,
292
+ Sorting: requestParams === null || requestParams === void 0 ? void 0 : requestParams.sorter
293
+ } : {
294
+ Filter: requestParams === null || requestParams === void 0 ? void 0 : requestParams.filter,
295
+ Sorting: requestParams === null || requestParams === void 0 ? void 0 : requestParams.sorter
296
+ };
297
+ _context.next = 11;
298
+ return measureApiCall(function () {
299
+ return apiConfig.list(apiParams);
300
+ });
301
+ case 11:
302
+ data = _context.sent;
303
+ items = data.items || []; // 自动树形模式 - 从扁平数据构建树形结构
304
+ if (!(treeConfig !== null && treeConfig !== void 0 && treeConfig.enabled && treeConfig.autoMode)) {
305
+ _context.next = 19;
306
+ break;
307
+ }
308
+ _treeData = buildTreeFromFlat(items);
309
+ _flatData = (0, _agGridPlus.flattenTreeDeep)(_treeData, treeConfig.childrenFieldName || 'items'); // 客户端过滤
310
+ _filteredData = _flatData;
311
+ if (requestParams !== null && requestParams !== void 0 && requestParams.filter) {
312
+ _filterText = requestParams.filter.toLowerCase();
313
+ _filteredData = _flatData.filter(function (item) {
314
+ return Object.values(item).some(function (value) {
315
+ return value && value.toString().toLowerCase().includes(_filterText);
316
+ });
317
+ });
318
+ }
319
+ return _context.abrupt("return", {
320
+ success: true,
321
+ data: _filteredData,
322
+ total: _filteredData.length
323
+ });
324
+ case 19:
325
+ return _context.abrupt("return", {
326
+ success: true,
327
+ data: items,
328
+ total: data.totalCount || 0
329
+ });
330
+ case 20:
331
+ case "end":
332
+ return _context.stop();
333
+ }
334
+ }, _callee);
335
+ }));
336
+ return function (_x2, _x3) {
337
+ return _ref2.apply(this, arguments);
338
+ };
339
+ }());
340
+ case 4:
341
+ return _context2.abrupt("return", _context2.sent);
342
+ case 7:
343
+ _context2.prev = 7;
344
+ _context2.t0 = _context2["catch"](1);
345
+ if (!(retryCount < 3 && (_context2.t0.code === 'NETWORK_ERROR' || _context2.t0.code === 'TIMEOUT'))) {
346
+ _context2.next = 15;
347
+ break;
348
+ }
349
+ console.warn("\u8BF7\u6C42\u5931\u8D25\uFF0C\u6B63\u5728\u91CD\u8BD5 (".concat(retryCount + 1, "/3):"), _context2.t0);
350
+ setRetryCount(function (prev) {
351
+ return prev + 1;
352
+ });
353
+
354
+ // 指数退避策略重试
355
+ _context2.next = 14;
356
+ return new Promise(function (resolve) {
357
+ return setTimeout(resolve, Math.pow(2, retryCount) * 1000);
358
+ });
359
+ case 14:
360
+ return _context2.abrupt("return", handleRequest(params));
361
+ case 15:
362
+ errorMessage = "\u83B7\u53D6".concat(title, "\u6570\u636E\u5931\u8D25: ").concat(_context2.t0.message || '未知错误');
363
+ console.error(errorMessage, _context2.t0);
364
+ recordError();
365
+ setError(errorMessage);
366
+ return _context2.abrupt("return", {
367
+ success: false,
368
+ data: [],
369
+ total: 0
370
+ });
371
+ case 20:
372
+ _context2.prev = 20;
373
+ setRetryCount(0);
374
+ return _context2.finish(20);
375
+ case 23:
376
+ case "end":
377
+ return _context2.stop();
378
+ }
379
+ }, _callee2, null, [[1, 7, 20, 23]]);
380
+ }));
381
+ return function (_x) {
382
+ return _ref.apply(this, arguments);
383
+ };
384
+ }(), [title, treeConfig, paginationConfig, apiConfig.list, retryCount, managedRequest, measureApiCall, recordError, buildTreeFromFlat]);
385
+
386
+ // 工具栏渲染函数
387
+ var renderToolbar = (0, _react.useCallback)(function (gridApi, filter) {
388
+ // 如果没有导入导出,没有自定义工具栏,也没有表单对话框,则不显示工具栏
389
+ if (!enableImportExport && (!toolbarActions || toolbarActions.length === 0) && !(formDialog !== null && formDialog !== void 0 && formDialog.component)) {
390
+ return [];
391
+ }
392
+ return [/*#__PURE__*/_react.default.createElement(_react.Suspense, {
393
+ key: "toolbar",
394
+ fallback: /*#__PURE__*/_react.default.createElement("div", {
395
+ style: {
396
+ height: 32
397
+ }
398
+ })
399
+ }, /*#__PURE__*/_react.default.createElement(ConfigurableToolbar, {
400
+ actions: toolbarActions,
401
+ formDialog: formDialog,
402
+ apiConfig: apiConfig,
403
+ onRefresh: onRefresh,
404
+ importConfig: importConfig,
405
+ exportFileName: exportFileName,
406
+ filter: filter,
407
+ permissions: permissions
408
+ }))];
409
+ }, [enableImportExport, toolbarActions, formDialog, apiConfig, onRefresh, importConfig, exportFileName, permissions]);
410
+
411
+ // AgGridPlus属性配置
412
+ var agGridProps = _objectSpread({
413
+ gridRef: gridRef,
414
+ gridKey: gridKey,
415
+ headerTitle: title,
416
+ request: handleRequest,
417
+ toolBarRender: renderToolbar,
418
+ columnDefs: finalColumnDefs,
419
+ // 设置表格高度
420
+ style: {
421
+ height: '100%',
422
+ minHeight: '400px'
423
+ }
424
+ }, (treeConfig === null || treeConfig === void 0 ? void 0 : treeConfig.enabled) && {
425
+ treeData: true,
426
+ // 自动模式使用 orgHierarchy,否则使用自定义 getDataPath
427
+ getDataPath: treeConfig.autoMode ? function (data) {
428
+ return data.orgHierarchy;
429
+ } : treeConfig.getDataPath,
430
+ treeParentName: treeConfig.parentFieldName || 'parentId',
431
+ treeKeyName: treeConfig.keyFieldName || 'id',
432
+ autoGroupColumnDef: treeConfig.autoGroupColumnDef,
433
+ groupDefaultExpanded: (_treeConfig$groupDefa = treeConfig.groupDefaultExpanded) !== null && _treeConfig$groupDefa !== void 0 ? _treeConfig$groupDefa : -1
434
+ });
435
+
436
+ // 错误状态显示
437
+ if (error) {
438
+ return /*#__PURE__*/_react.default.createElement("div", {
439
+ style: {
440
+ padding: 24
441
+ }
442
+ }, /*#__PURE__*/_react.default.createElement(_antd.Alert, {
443
+ message: "\u6570\u636E\u52A0\u8F7D\u5931\u8D25",
444
+ description: /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", null, error), retryCount > 0 && /*#__PURE__*/_react.default.createElement("div", {
445
+ style: {
446
+ marginTop: 8,
447
+ fontSize: '12px',
448
+ color: '#666'
449
+ }
450
+ }, "\u5DF2\u91CD\u8BD5 ", retryCount, " \u6B21")),
451
+ type: "error",
452
+ showIcon: true,
453
+ action: /*#__PURE__*/_react.default.createElement(_antd.Button, {
454
+ size: "small",
455
+ type: "primary",
456
+ icon: /*#__PURE__*/_react.default.createElement(_icons.ReloadOutlined, null),
457
+ onClick: function onClick() {
458
+ setError(null);
459
+ setRetryCount(0);
460
+ onRefresh();
461
+ }
462
+ }, "\u91CD\u8BD5")
463
+ }));
464
+ }
465
+ return /*#__PURE__*/_react.default.createElement("div", {
466
+ style: {
467
+ position: 'relative',
468
+ height: '100%'
469
+ }
470
+ }, /*#__PURE__*/_react.default.createElement(_agGridPlus.AgGridPlus, agGridProps), /*#__PURE__*/_react.default.createElement(_PerformanceMonitor.PerformanceDevTools, {
471
+ componentName: "GeneratedListPage-".concat(title),
472
+ metrics: metrics,
473
+ onGetReport: getPerformanceReport
474
+ }));
475
+ };
476
+
477
+ /**
478
+ * 错误边界组件
479
+ */
480
+ var GeneratedListPageErrorBoundary = /*#__PURE__*/function (_React$Component) {
481
+ _inherits(GeneratedListPageErrorBoundary, _React$Component);
482
+ var _super = _createSuper(GeneratedListPageErrorBoundary);
483
+ function GeneratedListPageErrorBoundary(props) {
484
+ var _this;
485
+ _classCallCheck(this, GeneratedListPageErrorBoundary);
486
+ _this = _super.call(this, props);
487
+ _this.state = {
488
+ hasError: false
489
+ };
490
+ return _this;
491
+ }
492
+ _createClass(GeneratedListPageErrorBoundary, [{
493
+ key: "componentDidCatch",
494
+ value: function componentDidCatch(error, errorInfo) {
495
+ console.error('GeneratedListPage Error:', error, errorInfo);
496
+ }
497
+ }, {
498
+ key: "render",
499
+ value: function render() {
500
+ if (this.state.hasError) {
501
+ return /*#__PURE__*/_react.default.createElement("div", {
502
+ style: {
503
+ padding: 24
504
+ }
505
+ }, /*#__PURE__*/_react.default.createElement(_antd.Alert, {
506
+ message: "".concat(this.props.title || '页面', "\u52A0\u8F7D\u9519\u8BEF"),
507
+ description: "\u9875\u9762\u7EC4\u4EF6\u53D1\u751F\u4E86\u610F\u5916\u9519\u8BEF\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u91CD\u8BD5\u3002\u5982\u679C\u95EE\u9898\u6301\u7EED\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u6280\u672F\u652F\u6301\u3002",
508
+ type: "error",
509
+ showIcon: true,
510
+ action: /*#__PURE__*/_react.default.createElement("button", {
511
+ onClick: function onClick() {
512
+ return window.location.reload();
513
+ },
514
+ style: {
515
+ background: 'transparent',
516
+ border: 'none',
517
+ color: '#1890ff',
518
+ cursor: 'pointer'
519
+ }
520
+ }, "\u5237\u65B0\u9875\u9762")
521
+ }));
522
+ }
523
+ return this.props.children;
524
+ }
525
+ }], [{
526
+ key: "getDerivedStateFromError",
527
+ value: function getDerivedStateFromError(error) {
528
+ return {
529
+ hasError: true,
530
+ error: error
531
+ };
532
+ }
533
+ }]);
534
+ return GeneratedListPageErrorBoundary;
535
+ }(_react.default.Component);
536
+ /**
537
+ * 带错误边界的GeneratedListPage组件
538
+ * @template T 数据项类型
539
+ */
540
+ var GeneratedListPageWithErrorBoundary = function GeneratedListPageWithErrorBoundary(props) {
541
+ return /*#__PURE__*/_react.default.createElement(GeneratedListPageErrorBoundary, {
542
+ title: props.title
543
+ }, /*#__PURE__*/_react.default.createElement(GeneratedListPage, props));
544
+ };
545
+ var _default = exports.default = GeneratedListPageWithErrorBoundary;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { ICellRendererParams } from 'ag-grid-community';
3
+ import { OptionsComponentProps } from './types';
4
+ /**
5
+ * 通用操作列组件
6
+ * @template T 行数据类型
7
+ */
8
+ declare const OptionsColumn: <T = any>(props: ICellRendererParams<any, any, any> & OptionsComponentProps<T>) => React.JSX.Element | null;
9
+ export default OptionsColumn;