@nokecy/qc-ui 1.0.59 → 1.0.61

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 +45 -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 +109 -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 +412 -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 +109 -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 +404 -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,412 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withStandardForm = exports.default = exports.createSelectField = exports.createCascaderField = exports.FieldCreators = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _react2 = require("@formily/react");
9
+ var _antdV = require("@formily/antd-v5");
10
+ var _StandardFormDialog = _interopRequireDefault(require("./StandardFormDialog"));
11
+ var _excluded = ["entityId", "title", "width", "onAfterSubmit", "children", "buttonProps"];
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ 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); }
14
+ 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; }
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 _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
18
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
19
+ 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; }
20
+ 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; }
21
+ 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; }
22
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
23
+ 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); }
24
+ /**
25
+ * 标准表单配置接口 - 向后兼容
26
+ * @deprecated 请使用 WithStandardFormConfig 类型
27
+ */
28
+
29
+ /**
30
+ * 重新导出类型以保持向后兼容性
31
+ */
32
+
33
+ /**
34
+ * 创建带有标准表单的高阶组件
35
+ *
36
+ * 这个工厂函数创建一个标准化的表单对话框组件,包含:
37
+ * - 支持外部Schema文件导入或自动Schema构建
38
+ * - 标准的 API 调用逻辑
39
+ * - 统一的错误处理
40
+ * - 可配置的业务字段
41
+ *
42
+ * @param config 标准表单配置
43
+ * @returns 标准表单对话框组件
44
+ *
45
+ * @example
46
+ * // 使用businessFields(内部构建schema)
47
+ * const FormDialog = withStandardForm({
48
+ * formId: 'Common.Materials',
49
+ * businessFields: {
50
+ * code: FieldCreators.input('物料编码', true),
51
+ * name: FieldCreators.input('物料名称', true)
52
+ * },
53
+ * apiConfig: { get: GetAsync, create: CreateAsync }
54
+ * });
55
+ *
56
+ * @example
57
+ * // 使用外部schema文件
58
+ * import { form, schema } from './schema';
59
+ * const FormDialog = withStandardForm({
60
+ * formId: 'Common.Materials',
61
+ * externalSchema: { form, schema },
62
+ * apiConfig: { get: GetAsync, create: CreateAsync }
63
+ * });
64
+ */
65
+ var withStandardForm = exports.withStandardForm = function withStandardForm(config) {
66
+ var formId = config.formId,
67
+ businessFields = config.businessFields,
68
+ externalSchema = config.externalSchema,
69
+ apiConfig = config.apiConfig,
70
+ _config$defaultDialog = config.defaultDialogConfig,
71
+ defaultDialogConfig = _config$defaultDialog === void 0 ? {} : _config$defaultDialog,
72
+ _config$customHandler = config.customHandlers,
73
+ customHandlers = _config$customHandler === void 0 ? {} : _config$customHandler,
74
+ _config$customCompone = config.customComponents,
75
+ customComponents = _config$customCompone === void 0 ? {} : _config$customCompone;
76
+
77
+ // 验证配置
78
+ if (!externalSchema && !businessFields) {
79
+ throw new Error("withStandardForm: formId \"".concat(formId, "\" \u5FC5\u987B\u63D0\u4F9B businessFields \u6216 externalSchema \u5176\u4E2D\u4E4B\u4E00"));
80
+ }
81
+
82
+ // 使用外部Schema或构建内部Schema
83
+ var finalFormConfig;
84
+ var finalFormSchema;
85
+ if (externalSchema) {
86
+ // 使用外部传入的schema配置
87
+ finalFormConfig = externalSchema.form;
88
+ finalFormSchema = externalSchema.schema;
89
+ console.log("\u2705 withStandardForm: ".concat(formId, " \u4F7F\u7528\u5916\u90E8Schema\u914D\u7F6E"));
90
+ } else {
91
+ // 构建表单 Schema(向后兼容)
92
+ finalFormSchema = {
93
+ type: 'object',
94
+ properties: _objectSpread(_objectSpread({
95
+ // 系统字段
96
+ id: {
97
+ type: 'string',
98
+ 'x-component': 'Input',
99
+ 'x-display': 'hidden'
100
+ }
101
+ }, businessFields), {}, {
102
+ // 审计字段(如果需要)
103
+ creationTime: {
104
+ type: 'string',
105
+ title: '创建时间',
106
+ 'x-component': 'DatePicker',
107
+ 'x-component-props': {
108
+ format: 'YYYY-MM-DD HH:mm:ss',
109
+ showTime: true,
110
+ disabled: true
111
+ },
112
+ 'x-display': 'hidden'
113
+ },
114
+ lastModificationTime: {
115
+ type: 'string',
116
+ title: '最后修改时间',
117
+ 'x-component': 'DatePicker',
118
+ 'x-component-props': {
119
+ format: 'YYYY-MM-DD HH:mm:ss',
120
+ showTime: true,
121
+ disabled: true
122
+ },
123
+ 'x-display': 'hidden'
124
+ }
125
+ })
126
+ };
127
+
128
+ // 表单布局配置(向后兼容)
129
+ finalFormConfig = {
130
+ labelCol: 6,
131
+ wrapperCol: 16,
132
+ colon: false,
133
+ layout: 'horizontal',
134
+ // FormGrid 配置
135
+ grid: {
136
+ strictAutoFit: true,
137
+ minColumns: 1,
138
+ maxColumns: 2
139
+ }
140
+ };
141
+ console.log("\u2705 withStandardForm: ".concat(formId, " \u4F7F\u7528\u5185\u90E8\u6784\u5EFASchema"));
142
+ }
143
+
144
+ // 创建自定义的 useSchemaField hook
145
+ var useCustomSchemaField = function useCustomSchemaField() {
146
+ return (0, _react.useMemo)(function () {
147
+ // 合并默认组件和自定义组件
148
+ var components = _objectSpread({
149
+ Input: _antdV.Input,
150
+ Select: _antdV.Select,
151
+ DatePicker: _antdV.DatePicker,
152
+ NumberPicker: _antdV.NumberPicker,
153
+ Switch: _antdV.Switch
154
+ }, customComponents);
155
+ return (0, _react2.createSchemaField)({
156
+ components: components
157
+ });
158
+ }, []);
159
+ };
160
+
161
+ // 创建标准表单组件
162
+ var StandardFormComponent = function StandardFormComponent(props) {
163
+ var entityId = props.entityId,
164
+ _props$title = props.title,
165
+ title = _props$title === void 0 ? defaultDialogConfig.title || '表单' : _props$title,
166
+ _props$width = props.width,
167
+ width = _props$width === void 0 ? defaultDialogConfig.width || 800 : _props$width,
168
+ onAfterSubmit = props.onAfterSubmit,
169
+ children = props.children,
170
+ buttonProps = props.buttonProps,
171
+ restProps = _objectWithoutProperties(props, _excluded);
172
+ return /*#__PURE__*/_react.default.createElement(_StandardFormDialog.default, _extends({
173
+ schemaConfig: {
174
+ formId: formId,
175
+ form: finalFormConfig,
176
+ schema: finalFormSchema
177
+ },
178
+ apiConfig: apiConfig,
179
+ entityId: entityId,
180
+ title: title,
181
+ width: width,
182
+ onAfterSubmit: onAfterSubmit,
183
+ buttonProps: buttonProps,
184
+ customInitializer: customHandlers.initializer,
185
+ customSubmitHandler: customHandlers.submitHandler,
186
+ useSchemaField: useCustomSchemaField
187
+ }, restProps), children);
188
+ };
189
+
190
+ // 设置组件显示名称
191
+ StandardFormComponent.displayName = "withStandardForm(".concat(formId, ")");
192
+ return StandardFormComponent;
193
+ };
194
+
195
+ /**
196
+ * 字段创建器工具函数集合
197
+ * 提供常用字段类型的快速创建方法
198
+ */
199
+ var FieldCreators = exports.FieldCreators = {
200
+ /**
201
+ * 输入框字段
202
+ */
203
+ input: function input(title) {
204
+ var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
205
+ var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
206
+ return {
207
+ type: 'string',
208
+ title: title,
209
+ required: required,
210
+ 'x-component': 'Input',
211
+ 'x-component-props': _objectSpread({
212
+ placeholder: "\u8BF7\u8F93\u5165".concat(title)
213
+ }, props)
214
+ };
215
+ },
216
+ /**
217
+ * 数字输入字段
218
+ */
219
+ number: function number(title) {
220
+ var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
221
+ var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
222
+ return {
223
+ type: 'number',
224
+ title: title,
225
+ required: required,
226
+ 'x-component': 'NumberPicker',
227
+ 'x-component-props': _objectSpread({
228
+ placeholder: "\u8BF7\u8F93\u5165".concat(title),
229
+ style: {
230
+ width: '100%'
231
+ }
232
+ }, props)
233
+ };
234
+ },
235
+ /**
236
+ * 文本域字段
237
+ */
238
+ textarea: function textarea(title) {
239
+ var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
240
+ var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
241
+ return {
242
+ type: 'string',
243
+ title: title,
244
+ required: required,
245
+ 'x-component': 'Input.TextArea',
246
+ 'x-component-props': _objectSpread({
247
+ placeholder: "\u8BF7\u8F93\u5165".concat(title),
248
+ rows: 4,
249
+ maxLength: 500,
250
+ showCount: true
251
+ }, props)
252
+ };
253
+ },
254
+ /**
255
+ * 日期字段
256
+ */
257
+ date: function date(title) {
258
+ var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
259
+ var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
260
+ return {
261
+ type: 'string',
262
+ title: title,
263
+ required: required,
264
+ 'x-component': 'DatePicker',
265
+ 'x-component-props': _objectSpread({
266
+ placeholder: "\u8BF7\u9009\u62E9".concat(title),
267
+ style: {
268
+ width: '100%'
269
+ },
270
+ format: 'YYYY-MM-DD'
271
+ }, props)
272
+ };
273
+ },
274
+ /**
275
+ * 日期时间字段
276
+ */
277
+ datetime: function datetime(title) {
278
+ var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
279
+ var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
280
+ return {
281
+ type: 'string',
282
+ title: title,
283
+ required: required,
284
+ 'x-component': 'DatePicker',
285
+ 'x-component-props': _objectSpread({
286
+ placeholder: "\u8BF7\u9009\u62E9".concat(title),
287
+ style: {
288
+ width: '100%'
289
+ },
290
+ format: 'YYYY-MM-DD HH:mm:ss',
291
+ showTime: true
292
+ }, props)
293
+ };
294
+ },
295
+ /**
296
+ * 开关字段
297
+ */
298
+ switch: function _switch(title) {
299
+ var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
300
+ var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
301
+ return {
302
+ type: 'boolean',
303
+ title: title,
304
+ default: defaultValue,
305
+ 'x-component': 'Switch',
306
+ 'x-component-props': props
307
+ };
308
+ },
309
+ /**
310
+ * 选择字段
311
+ */
312
+ select: function select(title) {
313
+ var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
314
+ var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
315
+ return {
316
+ type: 'string',
317
+ title: title,
318
+ required: required,
319
+ 'x-component': 'Select',
320
+ 'x-component-props': _objectSpread({
321
+ placeholder: "\u8BF7\u9009\u62E9".concat(title),
322
+ style: {
323
+ width: '100%'
324
+ },
325
+ allowClear: true
326
+ }, props)
327
+ };
328
+ },
329
+ /**
330
+ * 隐藏字段
331
+ */
332
+ hidden: function hidden() {
333
+ var defaultValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
334
+ return {
335
+ type: 'string',
336
+ default: defaultValue,
337
+ 'x-component': 'Input',
338
+ 'x-display': 'hidden'
339
+ };
340
+ }
341
+ };
342
+
343
+ /**
344
+ * 创建选择字段
345
+ */
346
+ var createSelectField = exports.createSelectField = function createSelectField(title, options) {
347
+ var _options$;
348
+ var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
349
+ var _config$required = config.required,
350
+ required = _config$required === void 0 ? false : _config$required,
351
+ _config$multiple = config.multiple,
352
+ multiple = _config$multiple === void 0 ? false : _config$multiple,
353
+ _config$allowClear = config.allowClear,
354
+ allowClear = _config$allowClear === void 0 ? true : _config$allowClear,
355
+ _config$showSearch = config.showSearch,
356
+ showSearch = _config$showSearch === void 0 ? false : _config$showSearch,
357
+ placeholder = config.placeholder;
358
+ return {
359
+ type: multiple ? 'array' : _typeof((_options$ = options[0]) === null || _options$ === void 0 ? void 0 : _options$.value),
360
+ title: title,
361
+ required: required,
362
+ enum: options.map(function (opt) {
363
+ return opt.value;
364
+ }),
365
+ 'x-component': 'Select',
366
+ 'x-component-props': {
367
+ placeholder: placeholder || "\u8BF7\u9009\u62E9".concat(title),
368
+ style: {
369
+ width: '100%'
370
+ },
371
+ allowClear: allowClear,
372
+ showSearch: showSearch,
373
+ mode: multiple ? 'multiple' : undefined,
374
+ options: options.map(function (opt) {
375
+ return {
376
+ label: opt.label,
377
+ value: opt.value
378
+ };
379
+ })
380
+ }
381
+ };
382
+ };
383
+
384
+ /**
385
+ * 创建级联选择字段
386
+ */
387
+ var createCascaderField = exports.createCascaderField = function createCascaderField(title, options) {
388
+ var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
389
+ var _config$required2 = config.required,
390
+ required = _config$required2 === void 0 ? false : _config$required2,
391
+ _config$changeOnSelec = config.changeOnSelect,
392
+ changeOnSelect = _config$changeOnSelec === void 0 ? false : _config$changeOnSelec,
393
+ _config$expandTrigger = config.expandTrigger,
394
+ expandTrigger = _config$expandTrigger === void 0 ? 'click' : _config$expandTrigger,
395
+ placeholder = config.placeholder;
396
+ return {
397
+ type: 'array',
398
+ title: title,
399
+ required: required,
400
+ 'x-component': 'Cascader',
401
+ 'x-component-props': {
402
+ placeholder: placeholder || "\u8BF7\u9009\u62E9".concat(title),
403
+ style: {
404
+ width: '100%'
405
+ },
406
+ options: options,
407
+ changeOnSelect: changeOnSelect,
408
+ expandTrigger: expandTrigger
409
+ }
410
+ };
411
+ };
412
+ var _default = exports.default = withStandardForm;
@@ -0,0 +1,31 @@
1
+ import React from "react";
2
+ export interface DeleteConfirmProps {
3
+ /** 确认框标题 */
4
+ title?: React.ReactNode;
5
+ /** 确认框内容,不提供时会使用默认内容 */
6
+ content?: React.ReactNode;
7
+ /** 确认回调函数 */
8
+ onConfirm: () => Promise<any>;
9
+ /** 子组件(触发按钮) */
10
+ children: React.ReactNode;
11
+ }
12
+ /**
13
+ * DeleteConfirm 删除确认组件
14
+ *
15
+ * 基于 Modal.confirm 的删除确认对话框组件,提供统一的危险操作确认体验
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <DeleteConfirm
20
+ * title="确认删除"
21
+ * content="删除后数据将无法恢复,确定要删除吗?"
22
+ * onConfirm={async () => {
23
+ * await deleteApi({ id: record.id });
24
+ * }}
25
+ * >
26
+ * <Button danger>删除</Button>
27
+ * </DeleteConfirm>
28
+ * ```
29
+ */
30
+ declare const DeleteConfirm: React.FC<DeleteConfirmProps>;
31
+ export default DeleteConfirm;
@@ -0,0 +1,57 @@
1
+ import React from "react";
2
+ import { Modal } from "antd";
3
+ import { ExclamationCircleFilled } from "@ant-design/icons";
4
+ var confirm = Modal.confirm;
5
+ /**
6
+ * DeleteConfirm 删除确认组件
7
+ *
8
+ * 基于 Modal.confirm 的删除确认对话框组件,提供统一的危险操作确认体验
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <DeleteConfirm
13
+ * title="确认删除"
14
+ * content="删除后数据将无法恢复,确定要删除吗?"
15
+ * onConfirm={async () => {
16
+ * await deleteApi({ id: record.id });
17
+ * }}
18
+ * >
19
+ * <Button danger>删除</Button>
20
+ * </DeleteConfirm>
21
+ * ```
22
+ */
23
+ var DeleteConfirm = function DeleteConfirm(props) {
24
+ var onConfirm = props.onConfirm,
25
+ title = props.title,
26
+ content = props.content,
27
+ children = props.children;
28
+ var showPromiseConfirm = function showPromiseConfirm() {
29
+ // 智能转换 title:支持字符串、ReactNode 或使用默认值
30
+ var titleText = title || '确认操作';
31
+
32
+ // 如果没有提供 content,生成默认内容
33
+ // 只有当 title 是字符串时才拼接,否则使用通用提示
34
+ var defaultContent = typeof title === 'string' ? "\u5371\u9669\u64CD\u4F5C,\u4E3A\u9632\u6B62\u8BEF\u89E6\u53D1,".concat(title) : '危险操作,为防止误触发,请确认操作';
35
+ var contentText = content || defaultContent;
36
+ confirm({
37
+ title: titleText,
38
+ icon: /*#__PURE__*/React.createElement(ExclamationCircleFilled, null),
39
+ content: contentText,
40
+ onOk: function onOk() {
41
+ return new Promise(function (resolve, reject) {
42
+ onConfirm().then(resolve).catch(function (error) {
43
+ console.error('Oops errors!', error);
44
+ reject();
45
+ });
46
+ }).catch(function () {
47
+ return console.log('Oops errors!');
48
+ });
49
+ },
50
+ onCancel: function onCancel() {}
51
+ });
52
+ };
53
+ return /*#__PURE__*/React.createElement("span", {
54
+ onClick: showPromiseConfirm
55
+ }, children);
56
+ };
57
+ export default DeleteConfirm;
@@ -1,9 +1,30 @@
1
1
  import React from 'react';
2
2
  import './index.less';
3
+ export interface FullScreenAlertProps {
4
+ /** 是否激活警告效果 */
5
+ active?: boolean;
6
+ /** 警告类型 */
7
+ type?: 'success' | 'error';
8
+ /** 状态变化回调 */
9
+ onChange?: (active: boolean) => void;
10
+ /** 自动关闭时间(毫秒),默认3000ms */
11
+ duration?: number;
12
+ /** 其他 HTML div 属性 */
13
+ [key: string]: any;
14
+ }
3
15
  /**
4
- * 全部闪烁警告
5
- * @param props
6
- * @returns
16
+ * FullScreenAlert 全屏闪烁警告组件
17
+ *
18
+ * 在屏幕边缘显示闪烁的彩色边框,用于视觉警告提醒
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * <FullScreenAlert
23
+ * active={showAlert}
24
+ * type="error"
25
+ * onChange={(active) => setShowAlert(active)}
26
+ * />
27
+ * ```
7
28
  */
8
- declare const FullScreenAlert: (props: any) => React.JSX.Element;
29
+ declare const FullScreenAlert: React.FC<FullScreenAlertProps>;
9
30
  export default FullScreenAlert;
@@ -1,3 +1,4 @@
1
+ var _excluded = ["active", "type", "onChange", "duration"];
1
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
4
  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."); }
@@ -5,37 +6,68 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
5
6
  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; }
6
7
  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; } }
7
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
8
11
  import React, { useState, useRef, useEffect } from 'react';
9
12
  import "./index.less";
10
-
11
13
  /**
12
- * 全部闪烁警告
13
- * @param props
14
- * @returns
14
+ * FullScreenAlert 全屏闪烁警告组件
15
+ *
16
+ * 在屏幕边缘显示闪烁的彩色边框,用于视觉警告提醒
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <FullScreenAlert
21
+ * active={showAlert}
22
+ * type="error"
23
+ * onChange={(active) => setShowAlert(active)}
24
+ * />
25
+ * ```
15
26
  */
16
27
  var FullScreenAlert = function FullScreenAlert(props) {
17
- var activeProps = props.active,
18
- type = props.type,
19
- onChange = props.onChange;
20
- var clearRef = useRef();
21
- var _useState = useState(activeProps ? activeProps : false),
28
+ var _props$active = props.active,
29
+ activeProps = _props$active === void 0 ? false : _props$active,
30
+ _props$type = props.type,
31
+ type = _props$type === void 0 ? 'success' : _props$type,
32
+ onChange = props.onChange,
33
+ _props$duration = props.duration,
34
+ duration = _props$duration === void 0 ? 3000 : _props$duration,
35
+ restProps = _objectWithoutProperties(props, _excluded);
36
+ var timerRef = useRef();
37
+ var _useState = useState(activeProps),
22
38
  _useState2 = _slicedToArray(_useState, 2),
23
39
  active = _useState2[0],
24
40
  setActive = _useState2[1];
25
41
  useEffect(function () {
26
- if (clearRef.current) {
27
- clearTimeout(clearRef.current);
42
+ // 清除之前的定时器
43
+ if (timerRef.current) {
44
+ clearTimeout(timerRef.current);
28
45
  }
29
46
  if (activeProps) {
30
- setActive(activeProps);
31
- clearRef.current = setTimeout(function () {
47
+ setActive(true);
48
+
49
+ // 设置自动关闭
50
+ timerRef.current = setTimeout(function () {
32
51
  setActive(false);
33
- onChange && onChange(false);
34
- }, 1000 * 3);
52
+ onChange === null || onChange === void 0 || onChange(false);
53
+ }, duration);
54
+ } else {
55
+ setActive(false);
35
56
  }
36
- });
57
+
58
+ // 组件卸载时清理定时器
59
+ return function () {
60
+ if (timerRef.current) {
61
+ clearTimeout(timerRef.current);
62
+ }
63
+ };
64
+ }, [activeProps, duration, onChange]);
65
+ if (!active) {
66
+ return null;
67
+ }
68
+ var className = ['alertOverlay', 'alert-active', type === 'error' ? 'errorOverlay' : 'successOverlay'].join(' ');
37
69
  return /*#__PURE__*/React.createElement("div", _extends({
38
- className: active ? "alertOverlay alert-active ".concat(type == 'error' ? 'errorOverlay' : '') : ''
39
- }, props));
70
+ className: className
71
+ }, restProps), /*#__PURE__*/React.createElement("div", null));
40
72
  };
41
73
  export default FullScreenAlert;
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { ToolbarActionConfig, FormDialogConfig, ApiConfig } from './types';
3
+ interface ConfigurableToolbarProps {
4
+ /** 工具栏配置 */
5
+ actions?: ToolbarActionConfig[];
6
+ /** 表单对话框配置 */
7
+ formDialog?: FormDialogConfig;
8
+ /** API配置 */
9
+ apiConfig: ApiConfig;
10
+ /** 刷新回调 */
11
+ onRefresh: () => void;
12
+ /** 导入配置 */
13
+ importConfig?: {
14
+ title?: string;
15
+ downUrl?: string;
16
+ uploadUrl?: string;
17
+ };
18
+ /** 导出文件名 */
19
+ exportFileName?: string;
20
+ /** 当前过滤条件 */
21
+ filter?: string;
22
+ /** 权限配置 */
23
+ permissions?: {
24
+ create?: string;
25
+ update?: string;
26
+ delete?: string;
27
+ import?: string;
28
+ export?: string;
29
+ };
30
+ }
31
+ /**
32
+ * 配置化工具栏组件
33
+ */
34
+ declare const ConfigurableToolbar: React.FC<ConfigurableToolbarProps>;
35
+ export default ConfigurableToolbar;