@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,248 @@
1
+ import { defineComponent, computed, onMounted, resolveComponent, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, createVNode, createElementVNode, normalizeClass, isRef, createTextVNode, createElementBlock, Fragment, renderList, toDisplayString } from "vue";
2
+ import FormItemWrapper from "./form-item-wrapper.mjs";
3
+ import { u as useField } from "./useField.mjs";
4
+ import { useFilesystemApi, useFilePreview, SvgIcon, TpfModal, FileIcon } from "tmgc2-share";
5
+ import { message } from "ant-design-vue";
6
+ import { C as ComponentNameEnum, W as WidgetTypeEnum, _ as _export_sfc } from "./install.mjs";
7
+ const _hoisted_1 = ["loading", "disabled"];
8
+ const _hoisted_2 = {
9
+ gutter: 20,
10
+ class: "fileUploadTip"
11
+ };
12
+ const _hoisted_3 = {
13
+ key: 0
14
+ };
15
+ const _hoisted_4 = {
16
+ key: 1
17
+ };
18
+ const _hoisted_5 = ["src"];
19
+ const _sfc_main = /* @__PURE__ */ defineComponent({
20
+ ...{
21
+ name: WidgetTypeEnum.fileUpload,
22
+ componentName: ComponentNameEnum.FieldWidget
23
+ },
24
+ __name: "file-upload-widget",
25
+ props: {
26
+ widget: {},
27
+ field: {},
28
+ designer: {},
29
+ parentWidget: {},
30
+ parentList: {},
31
+ indexOfParentList: {},
32
+ subFormRowIndex: {},
33
+ subFormRowId: {},
34
+ subFormColIndex: {}
35
+ },
36
+ setup(__props, {
37
+ expose: __expose
38
+ }) {
39
+ const filesystemApi = useFilesystemApi();
40
+ const props = __props;
41
+ const {
42
+ loading,
43
+ rules,
44
+ i18nt,
45
+ fieldEditor,
46
+ field,
47
+ fieldModel,
48
+ isReadMode,
49
+ designState,
50
+ handleHidden,
51
+ handleDisabled,
52
+ defineExposed,
53
+ executeFunction
54
+ } = useField(props);
55
+ const handleOnBeforeUpload = (file) => {
56
+ if (field.options.onBeforeUpload) {
57
+ const result = executeFunction({
58
+ functionBody: field.options.onBeforeUpload,
59
+ params: {
60
+ file
61
+ },
62
+ keys: ["file"]
63
+ });
64
+ if (typeof result === "boolean") {
65
+ return result;
66
+ } else {
67
+ return true;
68
+ }
69
+ }
70
+ return true;
71
+ };
72
+ const isShowUploader = computed(() => {
73
+ var _a;
74
+ return (((_a = fieldModel.value) == null ? void 0 : _a.length) || 0) < (field.options.limit || 1);
75
+ });
76
+ const customRequest = async (upload) => {
77
+ const {
78
+ accept,
79
+ maxSize,
80
+ limit,
81
+ businessType,
82
+ multiple
83
+ } = field.options;
84
+ const fileName = upload.file.name;
85
+ const fieldTypesArr = accept.map((item) => item.toLowerCase());
86
+ const fieldTypes = fileName.slice(fileName.lastIndexOf("."));
87
+ if (!fieldTypesArr.includes(fieldTypes.toLowerCase())) {
88
+ return message.error(`目前仅支持${accept}格式的文件`);
89
+ }
90
+ if (maxSize && upload.file.size > maxSize * 1024 * 1024) {
91
+ message.error(`文件大小不能超过${maxSize}M`);
92
+ return;
93
+ }
94
+ const flag = handleOnBeforeUpload(upload);
95
+ if (!flag) return;
96
+ loading.value = true;
97
+ try {
98
+ const res = await filesystemApi.uploadFileObject({
99
+ businessType,
100
+ file: upload.file
101
+ });
102
+ const {
103
+ fileName: name
104
+ } = res.data.object;
105
+ if (limit > 1) {
106
+ const findIndex = fieldModel.value.findIndex((item) => item.name === name);
107
+ if (findIndex > -1) {
108
+ fieldModel.value.splice(findIndex, 1);
109
+ }
110
+ if (fieldModel.value.length < limit) {
111
+ fieldModel.value.push({
112
+ ...res.data.object,
113
+ name
114
+ });
115
+ }
116
+ } else {
117
+ fieldModel.value = [{
118
+ ...res.data.object,
119
+ name
120
+ }];
121
+ }
122
+ } finally {
123
+ loading.value = false;
124
+ }
125
+ };
126
+ const initFileListFieldModel = () => {
127
+ if (designState) {
128
+ return;
129
+ }
130
+ if (fieldModel.value) {
131
+ if (typeof fieldModel.value === "string") {
132
+ fieldModel.value = JSON.parse(fieldModel.value);
133
+ }
134
+ }
135
+ };
136
+ const acceptType = computed(() => {
137
+ const {
138
+ accept
139
+ } = field.options;
140
+ if (accept == null ? void 0 : accept.length) {
141
+ return accept.join(",");
142
+ } else {
143
+ return "*";
144
+ }
145
+ });
146
+ const {
147
+ handlePreview,
148
+ previewVisible,
149
+ previewImage,
150
+ previewTitle
151
+ } = useFilePreview();
152
+ const iconRender = ({
153
+ file
154
+ }) => {
155
+ const fileObj = {
156
+ fileName: file.name,
157
+ fileType: file.name.slice(file.name.lastIndexOf("."))
158
+ };
159
+ return createVNode(FileIcon, {
160
+ "file": fileObj
161
+ }, null);
162
+ };
163
+ const removeFile = (file) => {
164
+ const findInx = fieldModel.value.findIndex((item) => item.uid === file.uid);
165
+ fieldModel.value.splice(findInx, 1);
166
+ };
167
+ const descCol = computed(() => {
168
+ const {
169
+ accept,
170
+ maxSize
171
+ } = field.options;
172
+ const acceptList = (accept || []).join(",");
173
+ return [acceptList.length ? i18nt("支持扩展名") + `${acceptList}` : "", maxSize ? i18nt("支持文件大小") + `${maxSize}M` : ""].filter(Boolean);
174
+ });
175
+ onMounted(() => {
176
+ initFileListFieldModel();
177
+ });
178
+ __expose({
179
+ ...defineExposed
180
+ });
181
+ return (_ctx, _cache) => {
182
+ const _component_a_space = resolveComponent("a-space");
183
+ const _component_a_upload = resolveComponent("a-upload");
184
+ return !unref(handleHidden) ? (openBlock(), createBlock(FormItemWrapper, mergeProps({
185
+ key: 0
186
+ }, props, {
187
+ rules: unref(rules)
188
+ }), {
189
+ default: withCtx(() => [createVNode(_component_a_upload, {
190
+ ref_key: "fieldEditor",
191
+ ref: fieldEditor,
192
+ disabled: unref(handleDisabled) || unref(isReadMode),
193
+ class: normalizeClass(["dynamicPseudoAfter", ["tpf-upload", {
194
+ isReadonly: unref(isReadMode)
195
+ }]]),
196
+ multiple: unref(field).options.multiple,
197
+ accept: acceptType.value,
198
+ "file-list": unref(fieldModel),
199
+ "onUpdate:fileList": _cache[0] || (_cache[0] = ($event) => isRef(fieldModel) ? fieldModel.value = $event : null),
200
+ listType: unref(field).options.uploadListType,
201
+ customRequest,
202
+ iconRender,
203
+ onPreview: unref(handlePreview),
204
+ onRemove: removeFile
205
+ }, {
206
+ default: withCtx(() => [isShowUploader.value ? (openBlock(), createBlock(_component_a_space, {
207
+ key: 0,
208
+ size: 10,
209
+ align: "start"
210
+ }, {
211
+ default: withCtx(() => [createElementVNode("div", {
212
+ loading: unref(loading),
213
+ class: "tpf-button",
214
+ type: "primary",
215
+ disabled: unref(handleDisabled)
216
+ }, [createVNode(unref(SvgIcon), {
217
+ "icon-class": "daochu"
218
+ }), _cache[2] || (_cache[2] = createTextVNode(" 上传文件 "))], 8, _hoisted_1)]),
219
+ _: 1
220
+ })) : createCommentVNode("", true)]),
221
+ _: 1
222
+ }, 8, ["disabled", "class", "multiple", "accept", "file-list", "listType", "onPreview"]), createElementVNode("div", _hoisted_2, [(openBlock(true), createElementBlock(Fragment, null, renderList(descCol.value, (item, inx) => {
223
+ return openBlock(), createElementBlock("div", {
224
+ key: inx
225
+ }, [descCol.value.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(inx + 1) + "、" + toDisplayString(item), 1)) : (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(item), 1))]);
226
+ }), 128))]), createVNode(unref(TpfModal), {
227
+ visible: unref(previewVisible),
228
+ "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => isRef(previewVisible) ? previewVisible.value = $event : null),
229
+ title: unref(previewTitle),
230
+ footer: null
231
+ }, {
232
+ default: withCtx(() => [createElementVNode("img", {
233
+ style: {
234
+ "width": "100%"
235
+ },
236
+ src: unref(previewImage)
237
+ }, null, 8, _hoisted_5)]),
238
+ _: 1
239
+ }, 8, ["visible", "title"])]),
240
+ _: 1
241
+ }, 16, ["rules"])) : createCommentVNode("", true);
242
+ };
243
+ }
244
+ });
245
+ const fileUploadWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-fd798690"]]);
246
+ export {
247
+ fileUploadWidget as default
248
+ };
@@ -0,0 +1,140 @@
1
+ import { defineComponent, inject, computed, resolveComponent, createElementBlock, openBlock, createVNode, unref, normalizeClass, withCtx, renderSlot, createElementVNode, createCommentVNode, Fragment, toDisplayString } from "vue";
2
+ import { SvgIcon } from "tmgc2-share";
3
+ import { FormItem } from "ant-design-vue";
4
+ import { u as useDesigner, _ as _export_sfc } from "./install.mjs";
5
+ const _hoisted_1 = {
6
+ class: "field-wrapper"
7
+ };
8
+ const _hoisted_2 = {
9
+ class: "label-box"
10
+ };
11
+ const _hoisted_3 = {
12
+ key: 0,
13
+ class: "custom-label"
14
+ };
15
+ const _hoisted_4 = {
16
+ class: "label-text"
17
+ };
18
+ const _hoisted_5 = {
19
+ class: "label-text"
20
+ };
21
+ const _hoisted_6 = {
22
+ key: 1,
23
+ class: "label-text"
24
+ };
25
+ const _sfc_main = /* @__PURE__ */ defineComponent({
26
+ ...{
27
+ name: "form-item-wrapper"
28
+ },
29
+ __name: "form-item-wrapper",
30
+ props: {
31
+ rules: {},
32
+ widget: {},
33
+ field: {},
34
+ designer: {},
35
+ parentWidget: {
36
+ default: null
37
+ },
38
+ parentList: {},
39
+ indexOfParentList: {
40
+ default: 0
41
+ },
42
+ subFormRowIndex: {},
43
+ subFormRowId: {},
44
+ subFormColIndex: {}
45
+ },
46
+ setup(__props) {
47
+ const props = __props;
48
+ const getSubFormName = inject("getSubFormName", () => "");
49
+ const getSubFormFieldFlag = inject("getSubFormFieldFlag", () => false);
50
+ const {
51
+ formConfig,
52
+ designState
53
+ } = useDesigner();
54
+ const labelWidth = computed(() => {
55
+ var _a, _b, _c, _d, _e;
56
+ if ((_b = (_a = props.field) == null ? void 0 : _a.options) == null ? void 0 : _b.labelHidden) {
57
+ return 0;
58
+ }
59
+ if ((_d = (_c = props.field) == null ? void 0 : _c.options) == null ? void 0 : _d.labelWidth) {
60
+ return props.field.options.labelWidth;
61
+ }
62
+ return (_e = formConfig.value) == null ? void 0 : _e.labelWidth;
63
+ });
64
+ const label = computed(() => {
65
+ var _a, _b, _c, _d;
66
+ if ((_b = (_a = props.field) == null ? void 0 : _a.options) == null ? void 0 : _b.labelHidden) {
67
+ return "";
68
+ }
69
+ return (_d = (_c = props.field) == null ? void 0 : _c.options) == null ? void 0 : _d.label;
70
+ });
71
+ const labelAlign = computed(() => {
72
+ var _a, _b, _c;
73
+ if ((_b = (_a = props.field) == null ? void 0 : _a.options) == null ? void 0 : _b.labelAlign) {
74
+ return props.field.options.labelAlign;
75
+ }
76
+ return ((_c = formConfig.value) == null ? void 0 : _c.labelAlign) || "right";
77
+ });
78
+ const subFormName = computed(() => () => {
79
+ return getSubFormName ? getSubFormName() : "";
80
+ });
81
+ const size = computed(() => {
82
+ var _a, _b, _c;
83
+ if ((_b = (_a = props.field) == null ? void 0 : _a.options) == null ? void 0 : _b.size) {
84
+ return props.field.options.size;
85
+ }
86
+ return ((_c = formConfig.value) == null ? void 0 : _c.size) || "middle";
87
+ });
88
+ const subFormItemFlag = computed(() => {
89
+ return getSubFormFieldFlag ? getSubFormFieldFlag() : false;
90
+ });
91
+ const getPropName = computed(() => {
92
+ if (subFormItemFlag.value && !designState) {
93
+ return subFormName.value + "." + props.subFormRowIndex + "." + props.field.options.name;
94
+ } else return props.field.options.name;
95
+ });
96
+ const customClass = computed(() => props.field.options.customClass ? props.field.options.customClass.join(" ") : "");
97
+ return (_ctx, _cache) => {
98
+ const _component_a_tooltip = resolveComponent("a-tooltip");
99
+ return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(unref(FormItem), {
100
+ labelCol: {
101
+ style: {
102
+ width: labelWidth.value + "px"
103
+ }
104
+ },
105
+ title: label.value,
106
+ size: size.value,
107
+ rules: _ctx.rules,
108
+ name: getPropName.value,
109
+ labelAlign: labelAlign.value,
110
+ class: normalizeClass([customClass.value])
111
+ }, {
112
+ label: withCtx(() => [createElementVNode("div", _hoisted_2, [!!_ctx.field.options.labelIconClass ? (openBlock(), createElementBlock("span", _hoisted_3, [_ctx.field.options.labelIconPosition === "front" ? (openBlock(), createElementBlock(Fragment, {
113
+ key: 0
114
+ }, [createVNode(_component_a_tooltip, {
115
+ title: _ctx.field.options.labelIconTooltip
116
+ }, {
117
+ default: withCtx(() => [createVNode(unref(SvgIcon), {
118
+ "icon-class": _ctx.field.options.labelIconClass
119
+ }, null, 8, ["icon-class"])]),
120
+ _: 1
121
+ }, 8, ["title"]), createElementVNode("div", _hoisted_4, toDisplayString(label.value), 1)], 64)) : _ctx.field.options.labelIconPosition === "rear" ? (openBlock(), createElementBlock(Fragment, {
122
+ key: 1
123
+ }, [createElementVNode("div", _hoisted_5, toDisplayString(label.value), 1), createVNode(_component_a_tooltip, {
124
+ title: _ctx.field.options.labelIconTooltip
125
+ }, {
126
+ default: withCtx(() => [createVNode(unref(SvgIcon), {
127
+ "icon-class": _ctx.field.options.labelIconClass
128
+ }, null, 8, ["icon-class"])]),
129
+ _: 1
130
+ }, 8, ["title"])], 64)) : createCommentVNode("", true)])) : (openBlock(), createElementBlock("div", _hoisted_6, toDisplayString(label.value), 1))])]),
131
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
132
+ _: 3
133
+ }, 8, ["labelCol", "title", "size", "rules", "name", "labelAlign", "class"])]);
134
+ };
135
+ }
136
+ });
137
+ const FormItemWrapper = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4322845c"]]);
138
+ export {
139
+ FormItemWrapper as default
140
+ };
@@ -0,0 +1,97 @@
1
+ import { computed, defineComponent, mergeModels, useModel, reactive, resolveComponent, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, mergeProps, withModifiers, unref, withCtx, createVNode } from "vue";
2
+ import { C as ComponentNameEnum, e as ContainerTypeEnum, u as useDesigner, R as RenderWidgetList, g as WidgetContextMenu, _ as _export_sfc } from "./install.mjs";
3
+ function useWidget(widget) {
4
+ const options = computed(() => widget.options || {});
5
+ const customClass = computed(
6
+ () => widget.options.customClass ? widget.options.customClass.join(" ") : ""
7
+ );
8
+ return {
9
+ customClass,
10
+ options
11
+ };
12
+ }
13
+ const _sfc_main = /* @__PURE__ */ defineComponent({
14
+ ...{
15
+ name: ContainerTypeEnum.GridColWidget,
16
+ componentName: ComponentNameEnum.ContainerWidget,
17
+ inheritAttrs: false
18
+ },
19
+ __name: "grid-col-widget",
20
+ props: /* @__PURE__ */ mergeModels({
21
+ widget: {},
22
+ field: {},
23
+ parentWidget: {},
24
+ indexOfParentList: { default: 0 },
25
+ subFormRowIndex: {},
26
+ subFormRowId: {},
27
+ colHeight: { default: null }
28
+ }, {
29
+ "list": {
30
+ default: () => []
31
+ },
32
+ "listModifiers": {}
33
+ }),
34
+ emits: ["update:list"],
35
+ setup(__props) {
36
+ const props = __props;
37
+ const list = useModel(__props, "list");
38
+ const { customClass, options } = useWidget(props.widget);
39
+ const { selected, selectWidget } = useDesigner();
40
+ const colHeightStyle = computed(() => {
41
+ return props.colHeight ? { height: props.colHeight } : {};
42
+ });
43
+ const layoutProps = computed(() => ({
44
+ span: options.value.span || 12,
45
+ offset: options.value.offset || 0,
46
+ push: options.value.push || 0,
47
+ pull: options.value.pull || 0
48
+ }));
49
+ const contextMenuState = reactive({
50
+ visible: false,
51
+ x: 0,
52
+ y: 0
53
+ });
54
+ const onContextMenu = (event) => {
55
+ contextMenuState.x = event.clientX;
56
+ contextMenuState.y = event.clientY;
57
+ contextMenuState.visible = true;
58
+ };
59
+ return (_ctx, _cache) => {
60
+ const _component_a_col = resolveComponent("a-col");
61
+ return openBlock(), createElementBlock(Fragment, null, [
62
+ (openBlock(), createBlock(_component_a_col, mergeProps({ class: "grid-cell" }, layoutProps.value, {
63
+ class: [unref(selected)(_ctx.widget.id) ? "selected" : "", unref(customClass)],
64
+ style: colHeightStyle.value,
65
+ key: _ctx.widget.id,
66
+ onClick: _cache[1] || (_cache[1] = withModifiers(($event) => unref(selectWidget)(_ctx.widget), ["stop"])),
67
+ onContextmenu: withModifiers(onContextMenu, ["prevent", "stop"])
68
+ }), {
69
+ default: withCtx(() => [
70
+ createVNode(unref(RenderWidgetList), {
71
+ list: _ctx.widget.widgetList,
72
+ "onUpdate:list": _cache[0] || (_cache[0] = ($event) => _ctx.widget.widgetList = $event),
73
+ parentWidget: _ctx.widget
74
+ }, null, 8, ["list", "parentWidget"])
75
+ ]),
76
+ _: 1
77
+ }, 16, ["class", "style"])),
78
+ contextMenuState.visible ? (openBlock(), createBlock(unref(WidgetContextMenu), {
79
+ key: 0,
80
+ visible: contextMenuState.visible,
81
+ "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => contextMenuState.visible = $event),
82
+ list: list.value,
83
+ "onUpdate:list": _cache[3] || (_cache[3] = ($event) => list.value = $event),
84
+ x: contextMenuState.x,
85
+ y: contextMenuState.y,
86
+ widget: _ctx.widget,
87
+ index: _ctx.indexOfParentList,
88
+ parentWidget: _ctx.parentWidget
89
+ }, null, 8, ["visible", "list", "x", "y", "widget", "index", "parentWidget"])) : createCommentVNode("", true)
90
+ ], 64);
91
+ };
92
+ }
93
+ });
94
+ const GridColWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a00bba10"]]);
95
+ export {
96
+ GridColWidget as default
97
+ };
@@ -0,0 +1,33 @@
1
+ import { defineComponent, createElementBlock, openBlock, createVNode, unref } from "vue";
2
+ import { C as ComponentNameEnum, e as ContainerTypeEnum, R as RenderWidgetList, _ as _export_sfc } from "./install.mjs";
3
+ const _hoisted_1 = { class: "sub-form-container" };
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ ...{
6
+ name: ContainerTypeEnum.GridSubFormWidget,
7
+ componentName: ComponentNameEnum.ContainerWidget
8
+ },
9
+ __name: "grid-sub-form-widget",
10
+ props: {
11
+ widget: {},
12
+ field: {},
13
+ parentWidget: {},
14
+ indexOfParentList: {},
15
+ subFormRowIndex: {},
16
+ subFormRowId: {}
17
+ },
18
+ setup(__props) {
19
+ return (_ctx, _cache) => {
20
+ return openBlock(), createElementBlock("div", _hoisted_1, [
21
+ createVNode(unref(RenderWidgetList), {
22
+ list: _ctx.widget.widgetList,
23
+ "onUpdate:list": _cache[0] || (_cache[0] = ($event) => _ctx.widget.widgetList = $event),
24
+ parentWidget: _ctx.widget
25
+ }, null, 8, ["list", "parentWidget"])
26
+ ]);
27
+ };
28
+ }
29
+ });
30
+ const gridSubFormWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-49c81f5e"]]);
31
+ export {
32
+ gridSubFormWidget as default
33
+ };
@@ -0,0 +1,52 @@
1
+ import { defineComponent, resolveComponent, createElementBlock, openBlock, createBlock, withCtx, Fragment, renderList } from "vue";
2
+ import GridColWidget from "./grid-col-widget.mjs";
3
+ import { C as ComponentNameEnum, e as ContainerTypeEnum, a as useAppRef, _ as _export_sfc } from "./install.mjs";
4
+ const _hoisted_1 = { class: "grid-container" };
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ ...{
7
+ name: ContainerTypeEnum.grid,
8
+ componentName: ComponentNameEnum.ContainerWidget
9
+ },
10
+ __name: "grid-widget",
11
+ props: {
12
+ widget: {},
13
+ field: {},
14
+ parentWidget: {},
15
+ indexOfParentList: {},
16
+ subFormRowIndex: {},
17
+ subFormRowId: {}
18
+ },
19
+ setup(__props) {
20
+ const { initRefList } = useAppRef();
21
+ initRefList();
22
+ return (_ctx, _cache) => {
23
+ const _component_a_row = resolveComponent("a-row");
24
+ return openBlock(), createElementBlock("div", _hoisted_1, [
25
+ (openBlock(), createBlock(_component_a_row, {
26
+ key: _ctx.widget.id,
27
+ gutter: _ctx.widget.options.gutter
28
+ }, {
29
+ default: withCtx(() => [
30
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.widget.cols, (colWidget, colIdx) => {
31
+ return openBlock(), createBlock(GridColWidget, {
32
+ key: colWidget.id,
33
+ field: colWidget,
34
+ widget: colWidget,
35
+ list: _ctx.widget.cols,
36
+ "onUpdate:list": _cache[0] || (_cache[0] = ($event) => _ctx.widget.cols = $event),
37
+ "index-of-parent-list": colIdx,
38
+ "parent-widget": _ctx.widget,
39
+ "col-height": _ctx.widget.options.colHeight
40
+ }, null, 8, ["field", "widget", "list", "index-of-parent-list", "parent-widget", "col-height"]);
41
+ }), 128))
42
+ ]),
43
+ _: 1
44
+ }, 8, ["gutter"]))
45
+ ]);
46
+ };
47
+ }
48
+ });
49
+ const gridWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-40047deb"]]);
50
+ export {
51
+ gridWidget as default
52
+ };
@@ -0,0 +1,44 @@
1
+ import { defineComponent, computed, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle } from "vue";
2
+ import { u as useField } from "./useField.mjs";
3
+ import { C as ComponentNameEnum, W as WidgetTypeEnum, _ as _export_sfc } from "./install.mjs";
4
+ const _hoisted_1 = ["innerHTML"];
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ ...{
7
+ name: WidgetTypeEnum.htmlText,
8
+ componentName: ComponentNameEnum.FieldWidget
9
+ },
10
+ __name: "html-text-widget",
11
+ props: {
12
+ widget: {},
13
+ field: {},
14
+ designer: {},
15
+ parentWidget: {},
16
+ parentList: {},
17
+ indexOfParentList: {},
18
+ subFormRowIndex: {},
19
+ subFormRowId: {},
20
+ subFormColIndex: {}
21
+ },
22
+ setup(__props, { expose: __expose }) {
23
+ const props = __props;
24
+ const { fieldEditor, field, handleHidden, defineExposed } = useField(props);
25
+ const displayStyle = computed(() => field.options.bodyStyle || {});
26
+ __expose({
27
+ ...defineExposed
28
+ });
29
+ return (_ctx, _cache) => {
30
+ return !unref(handleHidden) ? (openBlock(), createElementBlock("div", {
31
+ key: 0,
32
+ ref_key: "fieldEditor",
33
+ ref: fieldEditor,
34
+ style: normalizeStyle(displayStyle.value),
35
+ class: "htmlContent",
36
+ innerHTML: unref(field).options.htmlContent
37
+ }, null, 12, _hoisted_1)) : createCommentVNode("", true);
38
+ };
39
+ }
40
+ });
41
+ const htmlTextWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6895d562"]]);
42
+ export {
43
+ htmlTextWidget as default
44
+ };