@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,107 @@
1
+ /// <reference types="react" />
2
+ import { ISchema } from '@formily/react';
3
+ import { ButtonProps } from 'antd';
4
+ /**
5
+ * API配置接口
6
+ */
7
+ export interface FormApiConfig {
8
+ /** 获取单条记录的API */
9
+ get?: (params: {
10
+ id: string | number;
11
+ }) => Promise<any>;
12
+ /** 创建记录的API */
13
+ create: (values: any) => Promise<any>;
14
+ /** 更新记录的API */
15
+ update: (params: {
16
+ id: string | number;
17
+ }, values: any) => Promise<any>;
18
+ }
19
+ /**
20
+ * 外部Schema配置接口
21
+ */
22
+ export interface ExternalSchemaConfig {
23
+ /** 表单布局配置 */
24
+ form: Record<string, any>;
25
+ /** Schema定义 */
26
+ schema: ISchema;
27
+ }
28
+ /**
29
+ * Schema配置接口
30
+ */
31
+ export interface FormSchemaConfig {
32
+ /** 表单ID */
33
+ formId: string;
34
+ /** 表单配置 */
35
+ form: Record<string, any>;
36
+ /** Schema定义 */
37
+ schema: ISchema;
38
+ }
39
+ /**
40
+ * 标准化FormDialog配置接口
41
+ */
42
+ export interface StandardFormDialogConfig {
43
+ /** Schema配置 */
44
+ schemaConfig: FormSchemaConfig;
45
+ /** API配置 */
46
+ apiConfig: FormApiConfig;
47
+ /** 对话框宽度 */
48
+ width?: number;
49
+ /** 实体ID(编辑时) */
50
+ entityId?: string | number;
51
+ /** 标题 */
52
+ title?: string;
53
+ /** 按钮属性 */
54
+ buttonProps?: ButtonProps;
55
+ /** 提交成功后的回调 */
56
+ onAfterSubmit?: () => void;
57
+ /** 子元素 */
58
+ children?: React.ReactNode;
59
+ /** 门户ID前缀 */
60
+ portalIdPrefix?: string;
61
+ /** 自定义初始化逻辑 */
62
+ customInitializer?: (form: any, entityId?: string | number) => Promise<void>;
63
+ /** 自定义提交逻辑 */
64
+ customSubmitHandler?: (values: any, isEdit: boolean) => Promise<void>;
65
+ /** 是否启用统一错误处理 */
66
+ useUnifiedErrorHandling?: boolean;
67
+ }
68
+ /**
69
+ * withStandardForm配置接口
70
+ */
71
+ export interface WithStandardFormConfig {
72
+ /** 表单ID */
73
+ formId: string;
74
+ /** 业务字段配置 - 当未提供externalSchema时必需 */
75
+ businessFields?: Record<string, any>;
76
+ /** 外部Schema配置 - 支持schema.ts文件导入 */
77
+ externalSchema?: ExternalSchemaConfig;
78
+ /** API配置 */
79
+ apiConfig: {
80
+ get?: (params: any) => Promise<any>;
81
+ create: (data: any) => Promise<any>;
82
+ update: (params: any, data: any) => Promise<any>;
83
+ };
84
+ /** 默认对话框配置 */
85
+ defaultDialogConfig?: {
86
+ width?: number;
87
+ title?: string;
88
+ };
89
+ /** 自定义表单处理器 */
90
+ customHandlers?: {
91
+ initializer?: (form: any, entityId?: string | number) => Promise<void>;
92
+ submitHandler?: (values: any, isEdit: boolean) => Promise<void>;
93
+ };
94
+ }
95
+ /**
96
+ * StandardFormDialog组件属性接口
97
+ */
98
+ export interface StandardFormDialogProps extends Omit<StandardFormDialogConfig, 'schemaConfig'> {
99
+ /** Schema配置 */
100
+ schemaConfig?: FormSchemaConfig;
101
+ /** 或者直接传入formId和schema */
102
+ formId?: string;
103
+ formSchema?: {
104
+ form: Record<string, any>;
105
+ schema: ISchema;
106
+ };
107
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,68 @@
1
+ import { FormSchemaConfig } from './types';
2
+ /**
3
+ * 标准表单Schema Hook
4
+ *
5
+ * 提供便捷的Schema创建和管理功能
6
+ */
7
+ export declare const useStandardFormSchema: (formId: string, businessSchema: Record<string, any>, formConfig?: Record<string, any>) => FormSchemaConfig;
8
+ /**
9
+ * 创建标准Grid Schema的工具函数
10
+ */
11
+ export declare const createGridSchema: (properties: Record<string, any>, maxColumns?: number, strictAutoFit?: boolean) => Record<string, any>;
12
+ /**
13
+ * 创建表单字段的工具函数
14
+ */
15
+ export declare const createFormField: (title: string, component?: string, options?: {
16
+ type?: string | undefined;
17
+ required?: boolean | undefined;
18
+ placeholder?: string | undefined;
19
+ maxLength?: number | undefined;
20
+ rows?: number | undefined;
21
+ gridSpan?: number | undefined;
22
+ componentProps?: Record<string, any> | undefined;
23
+ decoratorProps?: Record<string, any> | undefined;
24
+ } | undefined) => any;
25
+ /**
26
+ * 创建选择字段的工具函数
27
+ */
28
+ export declare const createSelectField: (title: string, options: Array<{
29
+ label: string;
30
+ value: any;
31
+ }>, fieldOptions?: {
32
+ required?: boolean | undefined;
33
+ placeholder?: string | undefined;
34
+ gridSpan?: number | undefined;
35
+ mode?: "multiple" | "tags" | undefined;
36
+ } | undefined) => any;
37
+ /**
38
+ * 快速创建常用字段的工具函数集合
39
+ */
40
+ export declare const FieldCreators: {
41
+ /**
42
+ * 创建输入框字段
43
+ */
44
+ input: (title: string, required?: boolean, gridSpan?: number) => any;
45
+ /**
46
+ * 创建文本域字段
47
+ */
48
+ textarea: (title: string, rows?: number, gridSpan?: number) => any;
49
+ /**
50
+ * 创建数字输入框字段
51
+ */
52
+ number: (title: string, required?: boolean, gridSpan?: number) => any;
53
+ /**
54
+ * 创建选择框字段
55
+ */
56
+ select: (title: string, options: Array<{
57
+ label: string;
58
+ value: any;
59
+ }>, required?: boolean) => any;
60
+ /**
61
+ * 创建日期字段
62
+ */
63
+ date: (title: string, required?: boolean, gridSpan?: number) => any;
64
+ /**
65
+ * 创建日期时间字段
66
+ */
67
+ datetime: (title: string, required?: boolean, gridSpan?: number) => any;
68
+ };
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useStandardFormSchema = exports.createSelectField = exports.createGridSchema = exports.createFormField = exports.FieldCreators = void 0;
7
+ var _react = require("react");
8
+ 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); }
9
+ 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; }
10
+ 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; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
13
+ 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); }
14
+ /**
15
+ * 标准表单Schema Hook
16
+ *
17
+ * 提供便捷的Schema创建和管理功能
18
+ */
19
+ var useStandardFormSchema = exports.useStandardFormSchema = function useStandardFormSchema(formId, businessSchema, formConfig) {
20
+ return (0, _react.useMemo)(function () {
21
+ var defaultFormConfig = {
22
+ labelCol: 6,
23
+ wrapperCol: 18,
24
+ labelWidth: "120px",
25
+ feedbackLayout: "none"
26
+ };
27
+ var finalFormConfig = _objectSpread(_objectSpread({}, defaultFormConfig), formConfig);
28
+ var schema = {
29
+ type: "object",
30
+ properties: businessSchema
31
+ };
32
+ return {
33
+ formId: formId,
34
+ form: finalFormConfig,
35
+ schema: schema
36
+ };
37
+ }, [formId, businessSchema, formConfig]);
38
+ };
39
+
40
+ /**
41
+ * 创建标准Grid Schema的工具函数
42
+ */
43
+ var createGridSchema = exports.createGridSchema = function createGridSchema(properties) {
44
+ var maxColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
45
+ var strictAutoFit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
46
+ return {
47
+ grid: {
48
+ type: "void",
49
+ "x-component": "FormGrid",
50
+ "x-component-props": {
51
+ maxColumns: maxColumns,
52
+ strictAutoFit: strictAutoFit
53
+ },
54
+ properties: properties
55
+ }
56
+ };
57
+ };
58
+
59
+ /**
60
+ * 创建表单字段的工具函数
61
+ */
62
+ var createFormField = exports.createFormField = function createFormField(title) {
63
+ var component = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'Input';
64
+ var options = arguments.length > 2 ? arguments[2] : undefined;
65
+ var _ref = options || {},
66
+ _ref$type = _ref.type,
67
+ type = _ref$type === void 0 ? 'string' : _ref$type,
68
+ _ref$required = _ref.required,
69
+ required = _ref$required === void 0 ? false : _ref$required,
70
+ placeholder = _ref.placeholder,
71
+ maxLength = _ref.maxLength,
72
+ rows = _ref.rows,
73
+ _ref$gridSpan = _ref.gridSpan,
74
+ gridSpan = _ref$gridSpan === void 0 ? 1 : _ref$gridSpan,
75
+ _ref$componentProps = _ref.componentProps,
76
+ componentProps = _ref$componentProps === void 0 ? {} : _ref$componentProps,
77
+ _ref$decoratorProps = _ref.decoratorProps,
78
+ decoratorProps = _ref$decoratorProps === void 0 ? {} : _ref$decoratorProps;
79
+ var field = {
80
+ type: type,
81
+ title: title,
82
+ "x-decorator": "FormItem",
83
+ "x-component": component,
84
+ "x-component-props": _objectSpread({
85
+ placeholder: placeholder || "\u8BF7\u8F93\u5165".concat(title)
86
+ }, componentProps),
87
+ "x-decorator-props": _objectSpread({
88
+ gridSpan: gridSpan
89
+ }, decoratorProps)
90
+ };
91
+ if (required) {
92
+ field.required = true;
93
+ }
94
+ if (maxLength) {
95
+ field["x-component-props"].maxLength = maxLength;
96
+ }
97
+ if (rows && (component === 'Input.TextArea' || component === 'TextArea')) {
98
+ field["x-component-props"].rows = rows;
99
+ }
100
+ return field;
101
+ };
102
+
103
+ /**
104
+ * 创建选择字段的工具函数
105
+ */
106
+ var createSelectField = exports.createSelectField = function createSelectField(title, options, fieldOptions) {
107
+ var _ref2 = fieldOptions || {},
108
+ _ref2$required = _ref2.required,
109
+ required = _ref2$required === void 0 ? false : _ref2$required,
110
+ placeholder = _ref2.placeholder,
111
+ _ref2$gridSpan = _ref2.gridSpan,
112
+ gridSpan = _ref2$gridSpan === void 0 ? 1 : _ref2$gridSpan,
113
+ mode = _ref2.mode;
114
+ return createFormField(title, 'Select', {
115
+ required: required,
116
+ placeholder: placeholder || "\u8BF7\u9009\u62E9".concat(title),
117
+ gridSpan: gridSpan,
118
+ componentProps: {
119
+ options: options,
120
+ mode: mode
121
+ }
122
+ });
123
+ };
124
+
125
+ /**
126
+ * 快速创建常用字段的工具函数集合
127
+ */
128
+ var FieldCreators = exports.FieldCreators = {
129
+ /**
130
+ * 创建输入框字段
131
+ */
132
+ input: function input(title) {
133
+ var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
134
+ var gridSpan = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
135
+ return createFormField(title, 'Input', {
136
+ required: required,
137
+ gridSpan: gridSpan
138
+ });
139
+ },
140
+ /**
141
+ * 创建文本域字段
142
+ */
143
+ textarea: function textarea(title) {
144
+ var rows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
145
+ var gridSpan = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
146
+ return createFormField(title, 'Input.TextArea', {
147
+ rows: rows,
148
+ gridSpan: gridSpan
149
+ });
150
+ },
151
+ /**
152
+ * 创建数字输入框字段
153
+ */
154
+ number: function number(title) {
155
+ var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
156
+ var gridSpan = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
157
+ return createFormField(title, 'NumberPicker', {
158
+ type: 'number',
159
+ required: required,
160
+ gridSpan: gridSpan
161
+ });
162
+ },
163
+ /**
164
+ * 创建选择框字段
165
+ */
166
+ select: function select(title, options) {
167
+ var required = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
168
+ return createSelectField(title, options, {
169
+ required: required
170
+ });
171
+ },
172
+ /**
173
+ * 创建日期字段
174
+ */
175
+ date: function date(title) {
176
+ var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
177
+ var gridSpan = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
178
+ return createFormField(title, 'DatePicker', {
179
+ required: required,
180
+ gridSpan: gridSpan
181
+ });
182
+ },
183
+ /**
184
+ * 创建日期时间字段
185
+ */
186
+ datetime: function datetime(title) {
187
+ var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
188
+ var gridSpan = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
189
+ return createFormField(title, 'DatePicker', {
190
+ required: required,
191
+ gridSpan: gridSpan,
192
+ componentProps: {
193
+ showTime: true
194
+ }
195
+ });
196
+ }
197
+ };
@@ -0,0 +1,193 @@
1
+ import React from 'react';
2
+ import { StandardFormDialogProps, WithStandardFormConfig, ExternalSchemaConfig } from './types';
3
+ /**
4
+ * 标准表单配置接口 - 向后兼容
5
+ * @deprecated 请使用 WithStandardFormConfig 类型
6
+ */
7
+ export interface StandardFormConfig extends WithStandardFormConfig {
8
+ }
9
+ /**
10
+ * 重新导出类型以保持向后兼容性
11
+ */
12
+ export type { ExternalSchemaConfig, WithStandardFormConfig };
13
+ /**
14
+ * 创建带有标准表单的高阶组件
15
+ *
16
+ * 这个工厂函数创建一个标准化的表单对话框组件,包含:
17
+ * - 支持外部Schema文件导入或自动Schema构建
18
+ * - 标准的 API 调用逻辑
19
+ * - 统一的错误处理
20
+ * - 可配置的业务字段
21
+ *
22
+ * @param config 标准表单配置
23
+ * @returns 标准表单对话框组件
24
+ *
25
+ * @example
26
+ * // 使用businessFields(内部构建schema)
27
+ * const FormDialog = withStandardForm({
28
+ * formId: 'Common.Materials',
29
+ * businessFields: {
30
+ * code: FieldCreators.input('物料编码', true),
31
+ * name: FieldCreators.input('物料名称', true)
32
+ * },
33
+ * apiConfig: { get: GetAsync, create: CreateAsync }
34
+ * });
35
+ *
36
+ * @example
37
+ * // 使用外部schema文件
38
+ * import { form, schema } from './schema';
39
+ * const FormDialog = withStandardForm({
40
+ * formId: 'Common.Materials',
41
+ * externalSchema: { form, schema },
42
+ * apiConfig: { get: GetAsync, create: CreateAsync }
43
+ * });
44
+ */
45
+ export declare const withStandardForm: (config: WithStandardFormConfig) => React.FC<Partial<StandardFormDialogProps> & {
46
+ entityId?: string | undefined;
47
+ title?: string | undefined;
48
+ onAfterSubmit?: (() => void) | undefined;
49
+ children?: React.ReactNode;
50
+ buttonProps?: any;
51
+ }>;
52
+ /**
53
+ * 字段创建器工具函数集合
54
+ * 提供常用字段类型的快速创建方法
55
+ */
56
+ export declare const FieldCreators: {
57
+ /**
58
+ * 输入框字段
59
+ */
60
+ input: (title: string, required?: boolean, props?: any) => {
61
+ type: string;
62
+ title: string;
63
+ required: boolean;
64
+ 'x-component': string;
65
+ 'x-component-props': any;
66
+ };
67
+ /**
68
+ * 数字输入字段
69
+ */
70
+ number: (title: string, required?: boolean, props?: any) => {
71
+ type: string;
72
+ title: string;
73
+ required: boolean;
74
+ 'x-component': string;
75
+ 'x-component-props': any;
76
+ };
77
+ /**
78
+ * 文本域字段
79
+ */
80
+ textarea: (title: string, required?: boolean, props?: any) => {
81
+ type: string;
82
+ title: string;
83
+ required: boolean;
84
+ 'x-component': string;
85
+ 'x-component-props': any;
86
+ };
87
+ /**
88
+ * 日期字段
89
+ */
90
+ date: (title: string, required?: boolean, props?: any) => {
91
+ type: string;
92
+ title: string;
93
+ required: boolean;
94
+ 'x-component': string;
95
+ 'x-component-props': any;
96
+ };
97
+ /**
98
+ * 日期时间字段
99
+ */
100
+ datetime: (title: string, required?: boolean, props?: any) => {
101
+ type: string;
102
+ title: string;
103
+ required: boolean;
104
+ 'x-component': string;
105
+ 'x-component-props': any;
106
+ };
107
+ /**
108
+ * 开关字段
109
+ */
110
+ switch: (title: string, defaultValue?: boolean, props?: any) => {
111
+ type: string;
112
+ title: string;
113
+ default: boolean;
114
+ 'x-component': string;
115
+ 'x-component-props': any;
116
+ };
117
+ /**
118
+ * 选择字段
119
+ */
120
+ select: (title: string, required?: boolean, props?: any) => {
121
+ type: string;
122
+ title: string;
123
+ required: boolean;
124
+ 'x-component': string;
125
+ 'x-component-props': any;
126
+ };
127
+ /**
128
+ * 隐藏字段
129
+ */
130
+ hidden: (defaultValue?: any) => {
131
+ type: string;
132
+ default: any;
133
+ 'x-component': string;
134
+ 'x-display': string;
135
+ };
136
+ };
137
+ /**
138
+ * 创建选择字段
139
+ */
140
+ export declare const createSelectField: (title: string, options: {
141
+ [key: string]: any;
142
+ label: string;
143
+ value: any;
144
+ }[], config?: {
145
+ required?: boolean | undefined;
146
+ multiple?: boolean | undefined;
147
+ allowClear?: boolean | undefined;
148
+ showSearch?: boolean | undefined;
149
+ placeholder?: string | undefined;
150
+ }) => {
151
+ type: string;
152
+ title: string;
153
+ required: boolean;
154
+ enum: any[];
155
+ 'x-component': string;
156
+ 'x-component-props': {
157
+ placeholder: string;
158
+ style: {
159
+ width: string;
160
+ };
161
+ allowClear: boolean;
162
+ showSearch: boolean;
163
+ mode: string | undefined;
164
+ options: {
165
+ label: string;
166
+ value: any;
167
+ }[];
168
+ };
169
+ };
170
+ /**
171
+ * 创建级联选择字段
172
+ */
173
+ export declare const createCascaderField: (title: string, options: any[], config?: {
174
+ required?: boolean | undefined;
175
+ changeOnSelect?: boolean | undefined;
176
+ expandTrigger?: "hover" | "click" | undefined;
177
+ placeholder?: string | undefined;
178
+ }) => {
179
+ type: string;
180
+ title: string;
181
+ required: boolean;
182
+ 'x-component': string;
183
+ 'x-component-props': {
184
+ placeholder: string;
185
+ style: {
186
+ width: string;
187
+ };
188
+ options: any[];
189
+ changeOnSelect: boolean;
190
+ expandTrigger: "hover" | "click";
191
+ };
192
+ };
193
+ export default withStandardForm;