@kp-ui/lowcode-pc 1.0.0-alpha.1

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 (205) hide show
  1. package/assets/CustomerModal.mjs +210 -0
  2. package/assets/bpmn-editor-widget.mjs +71 -0
  3. package/assets/button-list-widget.mjs +53 -0
  4. package/assets/button-widget.mjs +80 -0
  5. package/assets/cascader-widget.mjs +95 -0
  6. package/assets/checkbox-widget.mjs +89 -0
  7. package/assets/code-editor-widget.mjs +58 -0
  8. package/assets/color-widget.mjs +62 -0
  9. package/assets/data-table-widget.mjs +92 -0
  10. package/assets/date-range-widget.mjs +87 -0
  11. package/assets/date-widget.mjs +81 -0
  12. package/assets/divider-widget.mjs +46 -0
  13. package/assets/diy-compontent-widget.mjs +54 -0
  14. package/assets/dropdown-widget.mjs +101 -0
  15. package/assets/en-US.mjs +571 -0
  16. package/assets/en-US_extension.mjs +25 -0
  17. package/assets/en-US_render.mjs +40 -0
  18. package/assets/file-upload-widget.mjs +248 -0
  19. package/assets/form-item-wrapper.mjs +140 -0
  20. package/assets/grid-col-widget.mjs +97 -0
  21. package/assets/grid-sub-form-widget.mjs +33 -0
  22. package/assets/grid-widget.mjs +52 -0
  23. package/assets/html-text-widget.mjs +44 -0
  24. package/assets/input-widget.mjs +98 -0
  25. package/assets/install.mjs +5408 -0
  26. package/assets/number-widget.mjs +74 -0
  27. package/assets/radio-widget.mjs +93 -0
  28. package/assets/rate-widget.mjs +51 -0
  29. package/assets/rich-editor-widget.mjs +78 -0
  30. package/assets/select-widget.mjs +105 -0
  31. package/assets/slider-widget.mjs +66 -0
  32. package/assets/static-text-widget.mjs +39 -0
  33. package/assets/styles/style.css +630 -0
  34. package/assets/switch-widget.mjs +60 -0
  35. package/assets/tab-widget.mjs +68 -0
  36. package/assets/textarea-widget.mjs +75 -0
  37. package/assets/time-range-widget.mjs +94 -0
  38. package/assets/time-widget.mjs +80 -0
  39. package/assets/tree-widget.mjs +94 -0
  40. package/assets/treeSelect-widget.mjs +98 -0
  41. package/assets/useCustomerModal.mjs +30 -0
  42. package/assets/useField.mjs +573 -0
  43. package/assets/useSelect.mjs +226 -0
  44. package/assets/vf-box-widget.mjs +67 -0
  45. package/assets/vf-collapse-widget.mjs +70 -0
  46. package/assets/vf-dialog-widget.mjs +61 -0
  47. package/assets/vue-render-widget.mjs +93 -0
  48. package/assets/zh-CN.mjs +591 -0
  49. package/assets/zh-CN_extension.mjs +25 -0
  50. package/assets/zh-CN_render.mjs +40 -0
  51. package/index.js +7 -0
  52. package/package.json +34 -0
  53. package/types/core/src/components/DragBtn.vue.d.ts +7 -0
  54. package/types/core/src/components/HttpEditor.vue.d.ts +46 -0
  55. package/types/core/src/components/common/EventItemEditor.vue.d.ts +12 -0
  56. package/types/core/src/components/common/LowcodeI18nProvider.vue.d.ts +17 -0
  57. package/types/core/src/components/common/RenderWidgetList.vue.d.ts +16 -0
  58. package/types/core/src/components/common/desginer/FormWidgetContainer.vue.d.ts +6 -0
  59. package/types/core/src/components/common/desginer/RenderDesignerWrapper.vue.d.ts +2 -0
  60. package/types/core/src/components/common/desginer/WidgetWrapper.vue.d.ts +30 -0
  61. package/types/core/src/components/common/render/ActionButtonListDialog.vue.d.ts +345 -0
  62. package/types/core/src/components/common/render/Debugger.vue.d.ts +10 -0
  63. package/types/core/src/components/common/render/LowcodeRenderProvider.vue.d.ts +26 -0
  64. package/types/core/src/components/common/render/index.d.ts +6 -0
  65. package/types/core/src/components/common/render/useFormContext.d.ts +148 -0
  66. package/types/core/src/components/common/render/useFormDataProcessor.d.ts +10 -0
  67. package/types/core/src/components/contextMenu/WidgetContextMenu.vue.d.ts +21 -0
  68. package/types/core/src/components/contextMenu/useWidgetContextMenu.d.ts +25 -0
  69. package/types/core/src/components/index.d.ts +17 -0
  70. package/types/core/src/components/layout/LowcodeLayout.vue.d.ts +24 -0
  71. package/types/core/src/components/property-editor/index.d.ts +3 -0
  72. package/types/core/src/components/property-editor/propertyRegister.d.ts +199 -0
  73. package/types/core/src/components/property-editor/useEditor.d.ts +19 -0
  74. package/types/core/src/components/setting-plane/WidgetSettingPlane.vue.d.ts +2 -0
  75. package/types/core/src/components/setting-plane/form-crud-setting.vue.d.ts +10 -0
  76. package/types/core/src/components/setting-plane/form-setting.vue.d.ts +332 -0
  77. package/types/core/src/components/setting-plane/index.d.ts +3 -0
  78. package/types/core/src/components/setting-plane/index.vue.d.ts +675 -0
  79. package/types/core/src/components/settings/PanelItemDrag.vue.d.ts +24 -0
  80. package/types/core/src/components/settings/WidgetPanel.vue.d.ts +20 -0
  81. package/types/core/src/components/toolbar-panel/index.vue.d.ts +689 -0
  82. package/types/core/src/constants/EditorTypeEnum.d.ts +151 -0
  83. package/types/core/src/constants/LayoutTypeEnum.d.ts +5 -0
  84. package/types/core/src/constants/WidgetTypeEnum.d.ts +65 -0
  85. package/types/core/src/constants/index.d.ts +12 -0
  86. package/types/core/src/hooks/index.d.ts +7 -0
  87. package/types/core/src/hooks/useAppRef.d.ts +9 -0
  88. package/types/core/src/hooks/useDataHttp.d.ts +207 -0
  89. package/types/core/src/hooks/useDesigner.d.ts +22 -0
  90. package/types/core/src/hooks/useField.d.ts +95 -0
  91. package/types/core/src/hooks/useFormValidation.d.ts +54 -0
  92. package/types/core/src/hooks/useInputEvent.d.ts +10 -0
  93. package/types/core/src/hooks/useLowcode.d.ts +22 -0
  94. package/types/core/src/hooks/useNativeDragAndDrop.d.ts +34 -0
  95. package/types/core/src/hooks/useWidget.d.ts +5 -0
  96. package/types/core/src/lang/en-US.d.ts +564 -0
  97. package/types/core/src/lang/en-US_extension.d.ts +23 -0
  98. package/types/core/src/lang/en-US_render.d.ts +38 -0
  99. package/types/core/src/lang/zh-CN.d.ts +584 -0
  100. package/types/core/src/lang/zh-CN_extension.d.ts +23 -0
  101. package/types/core/src/lang/zh-CN_render.d.ts +38 -0
  102. package/types/core/src/types/button.d.ts +17 -0
  103. package/types/core/src/types/designer.d.ts +74 -0
  104. package/types/core/src/types/fileObject.d.ts +7 -0
  105. package/types/core/src/types/global.d.ts +20 -0
  106. package/types/core/src/types/index.d.ts +8 -0
  107. package/types/core/src/types/rowSelectionType.d.ts +12 -0
  108. package/types/core/src/types/schema.d.ts +169 -0
  109. package/types/core/src/types/widgetProps.d.ts +8 -0
  110. package/types/core/src/utils/emitter.d.ts +17 -0
  111. package/types/core/src/utils/event-bus.d.ts +10 -0
  112. package/types/core/src/utils/file.d.ts +0 -0
  113. package/types/core/src/utils/format.d.ts +46 -0
  114. package/types/core/src/utils/getFileName.d.ts +1 -0
  115. package/types/core/src/utils/i18n.d.ts +27 -0
  116. package/types/core/src/utils/index.d.ts +7 -0
  117. package/types/core/src/utils/insertAssetsToBody.d.ts +3 -0
  118. package/types/core/src/utils/request/handleAxiosError.d.ts +11 -0
  119. package/types/core/src/utils/request/http.d.ts +4 -0
  120. package/types/core/src/utils/smart-vue-i18n/index.d.ts +11 -0
  121. package/types/core/src/utils/transformWidgetList.d.ts +2 -0
  122. package/types/core/src/utils/useEmitter.d.ts +31 -0
  123. package/types/core/src/utils/util.d.ts +81 -0
  124. package/types/core/src/utils/validators.d.ts +25 -0
  125. package/types/index.d.ts +1 -0
  126. package/types/pc/src/components/desginer/form-widget/container-widget/data-table-widget.vue.d.ts +77 -0
  127. package/types/pc/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.d.ts +16 -0
  128. package/types/pc/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.d.ts +5 -0
  129. package/types/pc/src/components/desginer/form-widget/container-widget/grid-widget.vue.d.ts +5 -0
  130. package/types/pc/src/components/desginer/form-widget/container-widget/index.d.ts +153 -0
  131. package/types/pc/src/components/desginer/form-widget/container-widget/tab-widget.vue.d.ts +5 -0
  132. package/types/pc/src/components/desginer/form-widget/container-widget/useTableWidget.d.ts +274 -0
  133. package/types/pc/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.d.ts +32 -0
  134. package/types/pc/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.d.ts +33 -0
  135. package/types/pc/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.d.ts +4 -0
  136. package/types/pc/src/components/desginer/form-widget/index.vue.d.ts +171 -0
  137. package/types/pc/src/components/desginer/index.vue.d.ts +52 -0
  138. package/types/pc/src/components/desginer/widget-panel/advanced/bpmn-editor.d.ts +13 -0
  139. package/types/pc/src/components/desginer/widget-panel/advanced/cascader.d.ts +31 -0
  140. package/types/pc/src/components/desginer/widget-panel/advanced/code-editor.d.ts +18 -0
  141. package/types/pc/src/components/desginer/widget-panel/advanced/data-table.d.ts +52 -0
  142. package/types/pc/src/components/desginer/widget-panel/advanced/diy-compontent.d.ts +10 -0
  143. package/types/pc/src/components/desginer/widget-panel/advanced/file-upload.d.ts +24 -0
  144. package/types/pc/src/components/desginer/widget-panel/advanced/index.d.ts +8 -0
  145. package/types/pc/src/components/desginer/widget-panel/advanced/rich-editor.d.ts +22 -0
  146. package/types/pc/src/components/desginer/widget-panel/advanced/tree-select.d.ts +33 -0
  147. package/types/pc/src/components/desginer/widget-panel/advanced/tree.d.ts +27 -0
  148. package/types/pc/src/components/desginer/widget-panel/advancedFieldsEnums.d.ts +11 -0
  149. package/types/pc/src/components/desginer/widget-panel/basicFields/button.d.ts +17 -0
  150. package/types/pc/src/components/desginer/widget-panel/basicFields/buttonList.d.ts +22 -0
  151. package/types/pc/src/components/desginer/widget-panel/basicFields/checkbox.d.ts +27 -0
  152. package/types/pc/src/components/desginer/widget-panel/basicFields/color.d.ts +16 -0
  153. package/types/pc/src/components/desginer/widget-panel/basicFields/date.d.ts +29 -0
  154. package/types/pc/src/components/desginer/widget-panel/basicFields/dateRange.d.ts +29 -0
  155. package/types/pc/src/components/desginer/widget-panel/basicFields/divider.d.ts +12 -0
  156. package/types/pc/src/components/desginer/widget-panel/basicFields/dropdown.d.ts +18 -0
  157. package/types/pc/src/components/desginer/widget-panel/basicFields/htmlText.d.ts +11 -0
  158. package/types/pc/src/components/desginer/widget-panel/basicFields/input.d.ts +31 -0
  159. package/types/pc/src/components/desginer/widget-panel/basicFields/number.d.ts +26 -0
  160. package/types/pc/src/components/desginer/widget-panel/basicFields/radio.d.ts +38 -0
  161. package/types/pc/src/components/desginer/widget-panel/basicFields/rate.d.ts +23 -0
  162. package/types/pc/src/components/desginer/widget-panel/basicFields/select.d.ts +35 -0
  163. package/types/pc/src/components/desginer/widget-panel/basicFields/slider.d.ts +25 -0
  164. package/types/pc/src/components/desginer/widget-panel/basicFields/staticText.d.ts +11 -0
  165. package/types/pc/src/components/desginer/widget-panel/basicFields/switch.d.ts +19 -0
  166. package/types/pc/src/components/desginer/widget-panel/basicFields/textarea.d.ts +35 -0
  167. package/types/pc/src/components/desginer/widget-panel/basicFields/time.d.ts +26 -0
  168. package/types/pc/src/components/desginer/widget-panel/basicFields/timeRange.d.ts +27 -0
  169. package/types/pc/src/components/desginer/widget-panel/basicFieldsEnums.d.ts +38 -0
  170. package/types/pc/src/components/desginer/widget-panel/containers/grid-col.d.ts +17 -0
  171. package/types/pc/src/components/desginer/widget-panel/containers/grid-sub-form.d.ts +8 -0
  172. package/types/pc/src/components/desginer/widget-panel/containers/grid.d.ts +8 -0
  173. package/types/pc/src/components/desginer/widget-panel/containers/index.d.ts +8 -0
  174. package/types/pc/src/components/desginer/widget-panel/containers/tab-pane.d.ts +23 -0
  175. package/types/pc/src/components/desginer/widget-panel/containers/tab.d.ts +9 -0
  176. package/types/pc/src/components/desginer/widget-panel/containers/vf-box.d.ts +8 -0
  177. package/types/pc/src/components/desginer/widget-panel/containers/vf-collapse.d.ts +13 -0
  178. package/types/pc/src/components/desginer/widget-panel/containers/vf-dialog.d.ts +8 -0
  179. package/types/pc/src/components/desginer/widget-panel/containersEnums.d.ts +1 -0
  180. package/types/pc/src/components/desginer/widget-panel/index.vue.d.ts +8 -0
  181. package/types/pc/src/components/desginer/widget-panel/widgetsConfig.d.ts +28 -0
  182. package/types/pc/src/components/field-widget/hooks/useSelect.d.ts +72 -0
  183. package/types/pc/src/components/field-widget/index.d.ts +3 -0
  184. package/types/pc/src/components/field-widget/useField.d.ts +95 -0
  185. package/types/pc/src/components/form-render/RenderWigetList.vue.d.ts +27 -0
  186. package/types/pc/src/components/form-render/container-items/data-table-widget.vue.d.ts +95 -0
  187. package/types/pc/src/components/form-render/container-items/grid-col-widget.vue.d.ts +36 -0
  188. package/types/pc/src/components/form-render/container-items/grid-sub-form-widget.vue.d.ts +39 -0
  189. package/types/pc/src/components/form-render/container-items/grid-widget.vue.d.ts +35 -0
  190. package/types/pc/src/components/form-render/container-items/index.d.ts +255 -0
  191. package/types/pc/src/components/form-render/container-items/tab-widget.vue.d.ts +5 -0
  192. package/types/pc/src/components/form-render/container-items/vf-box-widget.vue.d.ts +32 -0
  193. package/types/pc/src/components/form-render/container-items/vf-collapse-widget.vue.d.ts +33 -0
  194. package/types/pc/src/components/index.d.ts +4 -0
  195. package/types/pc/src/components/public/ActionButtonListRender.vue.d.ts +121 -0
  196. package/types/pc/src/components/public/ConfigView/CustomPageRender.vue.d.ts +16 -0
  197. package/types/pc/src/components/public/CustomerModal/CustomerModal.vue.d.ts +14 -0
  198. package/types/pc/src/components/public/CustomerModal/customerModal.d.ts +6 -0
  199. package/types/pc/src/components/public/CustomerModal/useCustomerModal.d.ts +7 -0
  200. package/types/pc/src/components/public/DynamicDialog.vue.d.ts +97 -0
  201. package/types/pc/src/components/render/index.vue.d.ts +82 -0
  202. package/types/pc/src/components/render/useRenderWidget.d.ts +3 -0
  203. package/types/pc/src/designer.d.ts +233 -0
  204. package/types/pc/src/hooks/useLowcode.d.ts +21 -0
  205. package/types/pc/src/hooks/useWidget.d.ts +7 -0
@@ -0,0 +1,74 @@
1
+ import { Widget, FormConfig } from './schema';
2
+ export interface HistoryStep {
3
+ widgetList: Widget[];
4
+ formConfig: FormConfig;
5
+ }
6
+
7
+ export interface HistoryData {
8
+ index: number;
9
+ maxStep: number;
10
+ steps: HistoryStep[];
11
+ }
12
+
13
+ export type LayoutType = 'PC' | 'BI' | 'H5';
14
+
15
+ export interface FormDesigner {
16
+ widgetList: Widget[];
17
+ formConfig: FormConfig;
18
+ selectedId: string | null;
19
+ selectedWidget: Widget | null;
20
+ selectedWidgetName: string | null;
21
+ draggingWidget: Widget | null;
22
+ draggingWidget: Widget | null;
23
+ dropPreview: {
24
+ containerList: Widget[] | null;
25
+ index: number;
26
+ rect: { left: number; top: number; width: number; height: number } | null;
27
+ } | null;
28
+ vueInstance: any;
29
+ cssClassList: any[];
30
+ historyData: HistoryData;
31
+ clearDesigner(skipHistoryChange?: boolean): void;
32
+ loadPresetCssCode(preCssCode: string): void;
33
+ getLayoutType(): LayoutType;
34
+ changeLayoutType(newType: LayoutType): void;
35
+ getImportTemplate(): { widgetList: Widget[]; formConfig: FormConfig };
36
+ loadFormJson(formJson: any): boolean;
37
+ setSelected(selected: Widget | null): void;
38
+ updateSelectedWidgetNameAndLabel(
39
+ selectedWidget: Widget,
40
+ newName: string,
41
+ newLabel: string
42
+ ): void;
43
+ clearSelected(): void;
44
+ checkWidgetMove(evt: any): boolean;
45
+ getContainerByType(typeName: string): Widget | null;
46
+ getFieldWidgetByType(typeName: string): Widget | null;
47
+ upgradeFormConfig(oldFormConfig: FormConfig): void;
48
+ cloneGridCol(widget: Widget, parentWidget: Widget): void;
49
+ cloneContainer(containWidget: Widget): Widget | null;
50
+ moveUpWidget(parentList: Widget[], indexOfParentList: number): void;
51
+ moveDownWidget(parentList: Widget[], indexOfParentList: number): void;
52
+ removeWidget(parentList: Widget[], indexOfParentList: number, parentWidget?: Widget): void;
53
+ copyWidget(origin: Widget): Widget;
54
+ addWidget(widget: Widget, parentList?: Widget[], insertIndex?: number): void;
55
+ addContainerByDbClick(container: Widget): void;
56
+ addFieldByDbClick(widget: Widget): void;
57
+ deleteColOfGrid(gridWidget: Widget, colIdx: number): void;
58
+ addNewColOfGrid(gridWidget: Widget): void;
59
+ addTabPaneOfTabs(tabsWidget: Widget): void;
60
+ deleteTabPaneOfTabs(tabsWidget: Widget, tpIdx: number): void;
61
+ emitEvent(evtName: string, evtData: any): void;
62
+ handleEvent(evtName: string, callback: (data: any) => void): void;
63
+ setCssClassList(cssClassList: any[]): void;
64
+ getCssClassList(): any[];
65
+ initHistoryData(): void;
66
+ emitHistoryChange(): void;
67
+ saveCurrentHistoryStep(): void;
68
+ undoHistoryStep(): void;
69
+ redoHistoryStep(): void;
70
+ undoEnabled(): boolean;
71
+ redoEnabled(): boolean;
72
+ saveFormContentToStorage(): void;
73
+ loadFormContentFromStorage(): void;
74
+ }
@@ -0,0 +1,7 @@
1
+ export interface IFileObjectType {
2
+ fileName: string;
3
+ previewUrl?: string;
4
+ fileType?: string;
5
+ fileSize?: number;
6
+ fileCode?: string;
7
+ }
@@ -0,0 +1,20 @@
1
+ declare global {
2
+ interface ImportMetaEnv {
3
+ [key: string]: any;
4
+
5
+ // 打包目录
6
+ VITE_APP_BUILD_DIR: string;
7
+ // token名称
8
+ VITE_APP_TOKEN_NAME: string;
9
+ // api地址
10
+ VITE_APP_API_ROOT: string;
11
+ // 是否开启mock
12
+ VITE_APP_USE_MOCK: 0 | 1;
13
+ // 登录地址
14
+ VITE_APP_LOGIN_URL: string;
15
+ // 登录回跳地址
16
+ VITE_APP_LOGIN_RETURN_URL: string;
17
+ // 用户中心地址
18
+ VITE_APP_UCENTER_URL: string;
19
+ }
20
+ }
@@ -0,0 +1,8 @@
1
+ export type LayoutType = 'PC' | 'BI' | 'H5';
2
+ export * from './button';
3
+ export * from './designer';
4
+ export * from './global';
5
+ export * from './fileObject';
6
+ export * from './rowSelectionType';
7
+ export * from './schema';
8
+ export * from './widgetProps';
@@ -0,0 +1,12 @@
1
+ export type rowSelectionType = {
2
+ hasRowSelection: boolean;
3
+ preserveSelectedRowKeys: boolean;
4
+ fixed: boolean;
5
+ onChange: string;
6
+ columnWidth: number;
7
+ checkMethod?: string;
8
+ getCheckboxProps?: (record: any) => {
9
+ disabled: boolean;
10
+ name: string;
11
+ };
12
+ };
@@ -0,0 +1,169 @@
1
+ import { WidgetTypeEnum } from '../constants/WidgetTypeEnum';
2
+ import { SizeType } from 'ant-design-vue';
3
+ import { HttpEditorOption } from '../../../tmgc2-share/index.ts';
4
+ /**
5
+ * Widget 类型定义
6
+ */
7
+ export interface WidgetOptions {
8
+ name: string;
9
+ label?: string;
10
+ labelAlign?: string;
11
+ hidden?: boolean;
12
+ customClass?: string[];
13
+ locked?: boolean;
14
+ zIndex?: number;
15
+ [key: string]: any;
16
+ }
17
+
18
+ /**
19
+ * 表单项组件选项
20
+ */
21
+ interface FormItemWidgetOptions extends WidgetOptions {
22
+ labelWidth?: number | null;
23
+ labelHidden?: boolean;
24
+ placeholder?: string;
25
+ defaultValue?: any;
26
+ readonly?: boolean;
27
+ disabled?: boolean;
28
+ required?: boolean;
29
+ requiredHint?: string;
30
+ validation?: string;
31
+ validationHint?: string;
32
+ labelIconClass?: string | null;
33
+ labelIconPosition?: string;
34
+ onCreated?: string;
35
+ onMounted?: string;
36
+ onInput?: string;
37
+ onChange?: string;
38
+ onFocus?: string;
39
+ onBlur?: string;
40
+ onValidate?: string;
41
+ }
42
+
43
+ export interface BiWidgetOptions extends WidgetOptions {
44
+ rotate?: number;
45
+ left?: number;
46
+ top?: number;
47
+ zIndex?: number;
48
+ }
49
+
50
+ export type WidgetCategory = 'container' | 'field' | 'bi';
51
+
52
+ export interface Widget<T extends WidgetOptions = any> {
53
+ internal?: boolean;
54
+ showName?: string;
55
+ key?: string;
56
+ type: WidgetTypeEnum | ContainerTypeEnum;
57
+ icon: string;
58
+ category: WidgetCategory;
59
+ alias?: string;
60
+ id: string;
61
+ options: T;
62
+ widgetList?: Widget[];
63
+ cols?: GridColWidget[];
64
+ tabs?: GridColWidget[];
65
+ defaultSlotsList?: Widget[];
66
+ rows?: any[];
67
+ formItemFlag?: boolean;
68
+ }
69
+
70
+ /**
71
+ * 表单配置
72
+ */
73
+ export interface FormConfig {
74
+ /**
75
+ * 标签宽度
76
+ */
77
+ labelWidth: number;
78
+
79
+ /**
80
+ * 标签位置:horizontal-水平,vertical-垂直,inline-行内
81
+ */
82
+ labelPosition: 'horizontal' | 'vertical' | 'inline';
83
+
84
+ /**
85
+ * 组件尺寸
86
+ */
87
+ size: SizeType;
88
+
89
+ /**
90
+ * 标签对齐方式
91
+ */
92
+ labelAlign: 'left' | 'right' | 'center';
93
+
94
+ /**
95
+ * 自定义CSS代码
96
+ */
97
+ cssCode: string;
98
+
99
+ /**
100
+ * 自定义样式类
101
+ */
102
+ customClass: string[];
103
+
104
+ /**
105
+ * 是否回车提交:0-否,1-是
106
+ */
107
+ isEnterSubmit: number;
108
+
109
+ /**
110
+ * 全局函数代码
111
+ */
112
+ functions: string;
113
+
114
+ /**
115
+ * 布局类型:PC-电脑端,Pad-平板,H5-手机
116
+ */
117
+ layoutType: LayoutType;
118
+
119
+ /**
120
+ * 表单创建时钩子函数
121
+ */
122
+ onFormCreated: string;
123
+
124
+ /**
125
+ * 表单挂载时钩子函数
126
+ */
127
+ onFormMounted: string;
128
+
129
+ /**
130
+ * 表单数据变化时钩子函数
131
+ */
132
+ onFormDataChange: string;
133
+
134
+ /**
135
+ * 服务接口配置
136
+ */
137
+ serveList: {
138
+ vformDetail: HttpEditorOption;
139
+ vformUpdate: HttpEditorOption;
140
+ list: HttpEditorOption[];
141
+ };
142
+
143
+ /**
144
+ * 其他自定义属性
145
+ */
146
+ [key: string]: any;
147
+ }
148
+
149
+ /**
150
+ * 组件树根节点
151
+ */
152
+ export interface FormJsonType {
153
+ widgetList: Widget[];
154
+ formConfig: FormConfig;
155
+ }
156
+
157
+ export interface OptionItem {
158
+ label: string;
159
+ value: string | number;
160
+ children?: OptionItem[];
161
+ }
162
+
163
+ export interface HttpType {
164
+ url: string;
165
+ method: string;
166
+ data: Record<string, any>;
167
+ params: Record<string, any>;
168
+ [key: string]: any;
169
+ }
@@ -0,0 +1,8 @@
1
+ export interface WidgetProps<T = Widget> {
2
+ widget: T;
3
+ field: T;
4
+ parentWidget?: T | null;
5
+ indexOfParentList?: number;
6
+ subFormRowIndex?: number;
7
+ subFormRowId?: string;
8
+ }
@@ -0,0 +1,17 @@
1
+ interface VfEvents {
2
+ [eventName: string]: Array<(data: unknown) => void>;
3
+ }
4
+ interface EmitterMixin {
5
+ data(): {
6
+ vfEvents: VfEvents;
7
+ };
8
+ methods: {
9
+ emit$(eventName: string, data?: unknown): void;
10
+ on$(eventName: string, fn: (data: unknown) => void): void;
11
+ off$(eventName: string, fn?: ((data: unknown) => void) | null): void;
12
+ dispatch(componentName: string, eventName: string, params: unknown[]): void;
13
+ broadcast(componentName: string, eventName: string, params: unknown[]): void;
14
+ };
15
+ }
16
+ declare const emitter: EmitterMixin;
17
+ export default emitter;
@@ -0,0 +1,10 @@
1
+ import { Emitter, EventType } from 'mitt';
2
+ type Events = Record<EventType, unknown>;
3
+ declare const instance: Emitter<Events>;
4
+ interface EventBus {
5
+ $on: typeof instance.on;
6
+ $off: typeof instance.off;
7
+ $emit: typeof instance.emit;
8
+ }
9
+ declare const eventBus: EventBus;
10
+ export default eventBus;
File without changes
@@ -0,0 +1,46 @@
1
+ export declare function formatDate1(date: string | number | Date): string;
2
+ export declare function formatDate2(date: string | number | Date): string;
3
+ export declare function formatDate3(date: string | number | Date): string;
4
+ export declare function formatDate4(date: string | number | Date): string;
5
+ export declare function formatDate5(date: string | number | Date): string;
6
+ export declare function formatNumber1(v: number): string | number;
7
+ export declare function formatNumber2(v: number): string | number;
8
+ export declare function formatNumber3(v: number): string | number;
9
+ export declare function formatNumber4(v: number): string | number;
10
+ export declare function formatNumber5(v: number): string | number;
11
+ export declare function formatNumber6(v: number): string | number;
12
+ export declare function formatNumber7(v: number): string | number;
13
+ interface FieldNames {
14
+ label: string;
15
+ value: string;
16
+ children: string;
17
+ }
18
+ interface TreeItem {
19
+ [key: string]: unknown;
20
+ }
21
+ /**
22
+ * 将Cascader转义为汉字
23
+ * @param arr 数据数组
24
+ * @param codeList 代码列表
25
+ * @param fieldNames 字段名称映射
26
+ * @param emblem 拼接符号
27
+ * @returns
28
+ */
29
+ export declare const formateCascaderCode: (arr: TreeItem[] | undefined, codeList: string[] | string[][] | undefined, fieldNames?: FieldNames, emblem?: string) => string | undefined;
30
+ /**
31
+ * 将tree转义为汉字
32
+ * @param arr 值数组
33
+ * @param codeList 代码列表
34
+ * @param fieldNames 字段名称映射
35
+ * @param emblem 拼接符号
36
+ * @returns
37
+ */
38
+ export declare const formateTreeToName: (arr: string[] | undefined, codeList: TreeItem[] | undefined, fieldNames?: FieldNames, emblem?: string) => string | undefined;
39
+ /**
40
+ * 格式化尺寸,支持数字、px、%
41
+ * @param value 尺寸值
42
+ * @param defaultSize 默认尺寸
43
+ * @returns 格式化后的尺寸字符串
44
+ */
45
+ export declare function formatSize(value: string | number | undefined | null, defaultSize?: string): string;
46
+ export {};
@@ -0,0 +1 @@
1
+ export declare function getFileName(path: string): string;
@@ -0,0 +1,27 @@
1
+ declare const i18n: {
2
+ readonly messages: {};
3
+ $st(path: string, args: any): any;
4
+ $st2(path: any, path2: any): any;
5
+ setLang(lang: any): Promise<void>;
6
+ setLangMessages(lang: any, messages: any): void;
7
+ };
8
+ export declare const translate: (key: string) => string;
9
+ export declare const setLangMessages: (langName: string, messages: any) => void;
10
+ declare const _default: {
11
+ computed: {
12
+ getLocale: () => any;
13
+ };
14
+ methods: {
15
+ changeLocale(langName: string): Promise<void>;
16
+ i18nt(key: string): string;
17
+ i18n2t(key1: string, key2: string): string;
18
+ setLocale: any;
19
+ };
20
+ };
21
+ export default _default;
22
+ export declare function useI18n(): {
23
+ i18nt: (key: string, obj?: Record<string, any>) => string;
24
+ i18n2t: (key1: string, key2: string) => string;
25
+ initLocale: (locale: string) => void;
26
+ };
27
+ export { i18n };
@@ -0,0 +1,7 @@
1
+ export * from './useEmitter';
2
+ export * from './i18n';
3
+ export * from './format';
4
+ export * from './insertAssetsToBody';
5
+ export * from './getFileName';
6
+ export * from './util';
7
+ export { default as FormValidators } from './validators';
@@ -0,0 +1,3 @@
1
+ export declare const insertCssToHead: () => void;
2
+ export declare const insertJsToHead: () => void;
3
+ export declare const insertAssetsToBody: () => void;
@@ -0,0 +1,11 @@
1
+ import { AxiosResponse } from 'axios';
2
+ export declare const handleErrorStatus: {
3
+ 401: (data: AxiosResponse) => void;
4
+ 403: (data: AxiosResponse) => void;
5
+ 404: (data: AxiosResponse) => void;
6
+ 418: (data: AxiosResponse) => void;
7
+ 429: (data: AxiosResponse) => void;
8
+ 500: (data: AxiosResponse) => void;
9
+ 510: (data: AxiosResponse) => void;
10
+ 599: (data: AxiosResponse) => void;
11
+ };
@@ -0,0 +1,4 @@
1
+ import { AxiosInstance } from 'axios';
2
+ declare const http: AxiosInstance;
3
+ export declare const getHttp: () => AxiosInstance;
4
+ export default http;
@@ -0,0 +1,11 @@
1
+ type i18nOptionsType = {
2
+ locale: string;
3
+ };
4
+ export declare function createI18n(options: i18nOptionsType): {
5
+ readonly messages: {};
6
+ $st(path: string, args: any): any;
7
+ $st2(path: any, path2: any): any;
8
+ setLang(lang: any): Promise<void>;
9
+ setLangMessages(lang: any, messages: any): void;
10
+ };
11
+ export {};
@@ -0,0 +1,2 @@
1
+ import { Widget } from '../types/schema';
2
+ export declare function transformWidgetList(widgetList: Widget[]): Widget[];
@@ -0,0 +1,31 @@
1
+ import { Ref } from 'vue';
2
+ /**
3
+ * 事件处理函数类型
4
+ */
5
+ export type EventHandler<T = any> = (data: T) => void;
6
+ /**
7
+ * 事件存储对象类型
8
+ */
9
+ export interface EventsMap {
10
+ [eventName: string]: EventHandler[];
11
+ }
12
+ export type EditEventHandlerParams = {
13
+ title?: string;
14
+ attr: string;
15
+ eventParams?: string[];
16
+ mode?: string;
17
+ };
18
+ /**
19
+ * 组合式API版本的事件总线
20
+ * 用于组件间通信
21
+ */
22
+ export declare function useEmitter(): {
23
+ vfEvents: Ref<EventsMap, EventsMap>;
24
+ editEventHandler: (eventName: string, eventParams: any[], mode: string) => void;
25
+ onChangeEditEventHandler: (params: EditEventHandlerParams) => void;
26
+ emit$: <T = any>(eventName: string, data: T) => void;
27
+ on$: <T = any>(eventName: string, fn: EventHandler<T>) => void;
28
+ off$: <T = any>(eventName: string, fn?: EventHandler<T>) => void;
29
+ dispatch: (componentName: string, eventName: string, params: any) => void;
30
+ broadcast: (componentName: string, eventName: string, params: any) => void;
31
+ };
@@ -0,0 +1,81 @@
1
+ import { FormConfig, Widget, FormJsonType } from '../..';
2
+ export declare function isNull(value: unknown): value is null | undefined;
3
+ export declare function isNotNull(value: unknown): boolean;
4
+ export declare function isEmptyStr(str: unknown): boolean;
5
+ export declare const generateId: () => number;
6
+ export declare const deepClone: <T>(origin: T) => T;
7
+ export declare const overwriteObj: <T extends Record<string, unknown>>(obj1: T, obj2: Partial<T>) => void;
8
+ export declare const insertCustomCssToHead: (cssCode: string, formId?: string) => void;
9
+ export declare const insertGlobalFunctionsToHtml: (functionsCode: string, formId?: string) => void;
10
+ export declare const optionExists: (optionsObj: Record<string, unknown> | null | undefined, optionName: string) => boolean;
11
+ export declare const loadRemoteScript: (srcPath: string, callback: () => void) => void;
12
+ export type WidgetHandler = (widget: Widget, parent?: Widget | null) => void;
13
+ export type ContainerHandler = (container: Widget) => void;
14
+ export declare function traverseFieldWidgets(widgetList: Widget[] | undefined, handler: WidgetHandler, parent?: Widget | null, staticWidgetsIncluded?: boolean): void;
15
+ export declare function traverseContainerWidgets(widgetList: Widget[] | undefined, handler: ContainerHandler): void;
16
+ export declare function traverseAllWidgets(widgetList: Widget[] | undefined, handler: (widget: Widget) => void): void;
17
+ /**
18
+ * 遍历容器内的字段组件
19
+ * @param con
20
+ * @param handler
21
+ */
22
+ export declare function traverseFieldWidgetsOfContainer(con: Widget, handler: WidgetHandler): void;
23
+ /**
24
+ * 遍历容器内部的字段组件和容器组件
25
+ * @param con
26
+ * @param fieldHandler
27
+ * @param containerHandler
28
+ */
29
+ export declare function traverseWidgetsOfContainer(con: Widget, fieldHandler: WidgetHandler, containerHandler: ContainerHandler): void;
30
+ export interface FieldWidgetInfo {
31
+ type: string;
32
+ name: string | undefined;
33
+ field: Widget;
34
+ }
35
+ /**
36
+ * 获取所有字段组件
37
+ * @param widgetList
38
+ * @param staticWidgetsIncluded 是否包含按钮等静态组件,默认不包含
39
+ * @returns {[]}
40
+ */
41
+ export declare function getAllFieldWidgets(widgetList: Widget[] | undefined, staticWidgetsIncluded?: boolean): FieldWidgetInfo[];
42
+ export interface ContainerWidgetInfo {
43
+ type: string;
44
+ name: string | undefined;
45
+ container: Widget;
46
+ }
47
+ /**
48
+ * 获取所有容器组件
49
+ * @param widgetList
50
+ * @returns {[]}
51
+ */
52
+ export declare function getAllContainerWidgets(widgetList: Widget[] | undefined): ContainerWidgetInfo[];
53
+ export declare function getFieldWidgetByName(widgetList: Widget[] | undefined, fieldName: string, staticWidgetsIncluded?: boolean): Widget | null;
54
+ export declare function getContainerWidgetByName(widgetList: Widget[] | undefined, containerName: string): Widget | null;
55
+ export declare function getContainerWidgetById(widgetList: Widget[] | undefined, containerId: string): Widget | null;
56
+ interface MessageApi {
57
+ success: (msg: string) => void;
58
+ error: (msg: string) => void;
59
+ }
60
+ export declare function copyToClipboard(content: string, clickEvent: MouseEvent, $message: MessageApi, successMsg: string, errorMsg: string): void;
61
+ export declare function getQueryParam(variable: string): string | undefined;
62
+ export declare function getDefaultFormConfig(): FormConfig;
63
+ export declare function buildDefaultFormJson(): FormJsonType;
64
+ export declare function cloneFormConfigWithoutEventHandler(formConfig: FormConfig): FormConfig;
65
+ /**
66
+ * 转译选择项数据
67
+ * @param rawData
68
+ * @param widgetType
69
+ * @param labelKey
70
+ * @param valueKey
71
+ * @returns {[]}
72
+ */
73
+ export declare function translateOptionItems<T extends Record<string, unknown>>(rawData: T[], widgetType: string, labelKey: string, valueKey: string): Array<{
74
+ label: unknown;
75
+ value: unknown;
76
+ }> | T[];
77
+ export declare function getDSByName(formConfig: FormConfig, dsName: string): {
78
+ uniqueName: string;
79
+ [key: string]: unknown;
80
+ } | null;
81
+ export {};
@@ -0,0 +1,25 @@
1
+ type RegExpName = 'number' | 'letter' | 'letterAndNumber' | 'mobilePhone' | 'letterStartNumberIncluded' | 'noChinese' | 'chinese' | 'email' | 'url';
2
+ interface ValidationRule {
3
+ label?: string;
4
+ errorMsg?: string;
5
+ regExp?: string;
6
+ [key: string]: unknown;
7
+ }
8
+ export declare const getRegExp: (validatorName: RegExpName) => RegExp | undefined;
9
+ type ValidatorFn = (rule: ValidationRule, value: unknown) => Promise<void> | void;
10
+ interface FormValidatorsType {
11
+ number: ValidatorFn;
12
+ letter: ValidatorFn;
13
+ letterAndNumber: ValidatorFn;
14
+ mobilePhone: ValidatorFn;
15
+ noBlankStart: ValidatorFn;
16
+ noBlankEnd: ValidatorFn;
17
+ letterStartNumberIncluded: ValidatorFn;
18
+ noChinese: ValidatorFn;
19
+ chinese: ValidatorFn;
20
+ email: ValidatorFn;
21
+ url: ValidatorFn;
22
+ regExp: ValidatorFn;
23
+ }
24
+ declare const FormValidators: FormValidatorsType;
25
+ export default FormValidators;
@@ -0,0 +1 @@
1
+ export {}