@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,210 @@
1
+ import { ref, defineComponent, getCurrentInstance, useAttrs, computed, onMounted, createBlock, openBlock, unref, withCtx, createVNode, mergeProps, nextTick } from "vue";
2
+ import { c as useI18n, V as VFormRender, A as ActionButtonListRender } from "./install.mjs";
3
+ import { useDataQueryApi, useRouteBackTab, routerReloadStatus, TpfConfigProvider, TpfModal } from "tmgc2-share";
4
+ import { Skeleton } from "ant-design-vue";
5
+ const useLowcode = (params) => {
6
+ let { formCode, entityCode, type = "add", basicFieldsEnums } = params;
7
+ const isLoading = ref(false);
8
+ const useDataQuery = useDataQueryApi();
9
+ const vfdRef = ref();
10
+ const formConfig = ref();
11
+ const { routeBackTab } = useRouteBackTab();
12
+ const insertBtn = (list = []) => {
13
+ return list;
14
+ };
15
+ const getInitRenderJSON = (list = []) => {
16
+ if (!basicFieldsEnums) {
17
+ return [];
18
+ }
19
+ const res = list.reduce((t, v) => {
20
+ const fn = basicFieldsEnums[v.componentType];
21
+ if (fn) {
22
+ const json = fn({
23
+ name: v.entityPropertyCode,
24
+ label: v.entityPropertyName,
25
+ ...v.options
26
+ });
27
+ t = [...t, json];
28
+ }
29
+ return t;
30
+ }, []);
31
+ return res.length ? insertBtn(res) : res;
32
+ };
33
+ const getComponentJson = async (list = [], _formCode) => {
34
+ var _a, _b;
35
+ let json = { widgetList: [], formConfig: {} };
36
+ formCode = _formCode || formCode;
37
+ if (formCode && type) {
38
+ (_a = vfdRef.value) == null ? void 0 : _a.setLoading(true);
39
+ try {
40
+ const res = await useDataQuery.dataQueryDetail({ code: formCode }, "FormDefinitionManagement").then((res2) => res2.data.object || {});
41
+ json = JSON.parse(res.frontendDefinition || "{}");
42
+ } finally {
43
+ (_b = vfdRef.value) == null ? void 0 : _b.setLoading(false);
44
+ }
45
+ } else {
46
+ json.widgetList = getInitRenderJSON(list);
47
+ }
48
+ isLoading.value = false;
49
+ console.log("json: ", json);
50
+ formConfig.value = json.formConfig;
51
+ vfdRef.value.setFormJson(json);
52
+ return json;
53
+ };
54
+ const getFieldList = async () => {
55
+ isLoading.value = true;
56
+ if (!entityCode) {
57
+ getComponentJson([]);
58
+ return [];
59
+ }
60
+ const p = {
61
+ pageCode: "EntityPropertyFormItem",
62
+ conditions: [{ fieldCode: "entityCode", type: "EQ", value: entityCode }],
63
+ requiredFields: ["entityPropertyCode", "entityPropertyName", "valueType"],
64
+ page: 1,
65
+ pageSize: null,
66
+ sorts: []
67
+ };
68
+ const list = await useDataQuery.execute(p).then((res) => res.data.object.list);
69
+ getComponentJson(list);
70
+ return list;
71
+ };
72
+ const fieldListApi = async () => {
73
+ const list = await getFieldList();
74
+ return list.map((item) => ({
75
+ showName: item.entityPropertyName,
76
+ fieldCode: item.entityPropertyCode
77
+ }));
78
+ };
79
+ const goBack = (reloadStatus = routerReloadStatus.view, cb) => {
80
+ routeBackTab(reloadStatus, cb);
81
+ };
82
+ return {
83
+ isLoading,
84
+ goBack,
85
+ formConfig,
86
+ getInitRenderJSON,
87
+ vfdRef,
88
+ getComponentJson,
89
+ getFieldList,
90
+ fieldListApi
91
+ };
92
+ };
93
+ const _sfc_main = /* @__PURE__ */ defineComponent({
94
+ __name: "CustomerModal",
95
+ props: {
96
+ title: {},
97
+ type: {},
98
+ formCode: {}
99
+ },
100
+ setup(__props, {
101
+ expose: __expose
102
+ }) {
103
+ const {
104
+ i18nt
105
+ } = useI18n();
106
+ const instance = getCurrentInstance();
107
+ const attrs = useAttrs() || {};
108
+ const visible = ref(false);
109
+ const props = __props;
110
+ const vfCtx = computed(() => {
111
+ var _a, _b;
112
+ return {
113
+ $router: instance.proxy.$router,
114
+ _id: ((_b = (_a = attrs == null ? void 0 : attrs.row) == null ? void 0 : _a.record) == null ? void 0 : _b._id) || null,
115
+ type: props.type,
116
+ instance,
117
+ ...attrs
118
+ };
119
+ });
120
+ const isDisabled = ref(false);
121
+ const {
122
+ vfdRef,
123
+ formConfig,
124
+ getComponentJson,
125
+ isLoading
126
+ } = useLowcode({
127
+ formCode: props.formCode,
128
+ type: props.type
129
+ });
130
+ const leftNum = ref(null);
131
+ const title = computed(() => {
132
+ if (props.title) return props.title;
133
+ if (props.type === "add") return "新增";
134
+ if (props.type === "edit") return "编辑";
135
+ if (props.type === "view") return "查看";
136
+ return "新增";
137
+ });
138
+ const show = async () => {
139
+ visible.value = true;
140
+ await nextTick();
141
+ await getComponentJson([]);
142
+ console.log("attrs", attrs);
143
+ };
144
+ const setleftText = (number) => {
145
+ leftNum.value = number;
146
+ };
147
+ const setDisabled = (status) => {
148
+ isDisabled.value = status;
149
+ };
150
+ onMounted(() => {
151
+ show();
152
+ });
153
+ const handleCloseDialog = () => {
154
+ visible.value = false;
155
+ };
156
+ const handleButtonClick = async ({
157
+ item,
158
+ result
159
+ }) => {
160
+ if (item.name === "cancelButton") {
161
+ return handleCloseDialog();
162
+ }
163
+ if (result !== false) {
164
+ handleCloseDialog();
165
+ }
166
+ };
167
+ __expose({
168
+ handleCloseDialog,
169
+ i18nt,
170
+ setDisabled,
171
+ setleftText
172
+ });
173
+ return (_ctx, _cache) => {
174
+ return openBlock(), createBlock(unref(TpfConfigProvider), null, {
175
+ default: withCtx(() => [createVNode(unref(TpfModal), mergeProps({
176
+ visible: visible.value,
177
+ "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => visible.value = $event)
178
+ }, _ctx.$attrs, {
179
+ title: title.value,
180
+ leftNum: leftNum.value
181
+ }), {
182
+ footerRight: withCtx(() => {
183
+ var _a, _b;
184
+ return [createVNode(ActionButtonListRender, {
185
+ buttonList: ((_a = unref(formConfig)) == null ? void 0 : _a.buttonList) || [],
186
+ ctx: (_b = unref(vfdRef)) == null ? void 0 : _b.context,
187
+ onOnClick: handleButtonClick
188
+ }, null, 8, ["buttonList", "ctx"])];
189
+ }),
190
+ default: withCtx(() => [createVNode(unref(Skeleton), {
191
+ active: "",
192
+ loading: unref(isLoading)
193
+ }, {
194
+ default: withCtx(() => [createVNode(VFormRender, {
195
+ vfCtx: vfCtx.value,
196
+ ref_key: "vfdRef",
197
+ ref: vfdRef
198
+ }, null, 8, ["vfCtx"])]),
199
+ _: 1
200
+ }, 8, ["loading"])]),
201
+ _: 1
202
+ }, 16, ["visible", "title", "leftNum"])]),
203
+ _: 1
204
+ });
205
+ };
206
+ }
207
+ });
208
+ export {
209
+ _sfc_main as default
210
+ };
@@ -0,0 +1,71 @@
1
+ import { defineComponent, ref, watchEffect, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, createElementVNode } from "vue";
2
+ import FormItemWrapper from "./form-item-wrapper.mjs";
3
+ import { u as useField } from "./useField.mjs";
4
+ import BpmnViewer from "bpmn-js/lib/Viewer";
5
+ import { C as ComponentNameEnum, W as WidgetTypeEnum, _ as _export_sfc } from "./install.mjs";
6
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ ...{
8
+ name: WidgetTypeEnum.bpmnEditor,
9
+ componentName: ComponentNameEnum.FieldWidget
10
+ },
11
+ __name: "bpmn-editor-widget",
12
+ props: {
13
+ widget: {},
14
+ field: {},
15
+ designer: {},
16
+ parentWidget: {},
17
+ parentList: {},
18
+ indexOfParentList: {},
19
+ subFormRowIndex: {},
20
+ subFormRowId: {},
21
+ subFormColIndex: {}
22
+ },
23
+ setup(__props, { expose: __expose }) {
24
+ const props = __props;
25
+ const { rules, fieldEditor, fieldModel, handleHidden, defineExposed } = useField(props);
26
+ const bpmnModeler = ref();
27
+ const preview = (xml) => {
28
+ if (bpmnModeler.value && bpmnModeler.value.destroy) {
29
+ bpmnModeler.value.destroy();
30
+ }
31
+ bpmnModeler.value = new BpmnViewer({ container: fieldEditor.value });
32
+ const viewer = bpmnModeler.value;
33
+ bpmnModeler.value.importXML(xml, (err) => {
34
+ if (err) {
35
+ console.error(err);
36
+ } else {
37
+ const canvas = viewer.get("canvas");
38
+ canvas.zoom("fit-viewport");
39
+ }
40
+ });
41
+ };
42
+ watchEffect(() => {
43
+ if (fieldModel.value) {
44
+ preview(fieldModel.value);
45
+ } else {
46
+ if (bpmnModeler.value && bpmnModeler.value.destroy) {
47
+ bpmnModeler.value.destroy();
48
+ }
49
+ }
50
+ });
51
+ __expose({
52
+ ...defineExposed
53
+ });
54
+ return (_ctx, _cache) => {
55
+ return !unref(handleHidden) ? (openBlock(), createBlock(FormItemWrapper, mergeProps({ key: 0 }, props, { rules: unref(rules) }), {
56
+ default: withCtx(() => [
57
+ createElementVNode("div", {
58
+ ref_key: "fieldEditor",
59
+ ref: fieldEditor,
60
+ class: "t-w-full t-h-[30vh]"
61
+ }, null, 512)
62
+ ]),
63
+ _: 1
64
+ }, 16, ["rules"])) : createCommentVNode("", true);
65
+ };
66
+ }
67
+ });
68
+ const bpmnEditorWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-038cba28"]]);
69
+ export {
70
+ bpmnEditorWidget as default
71
+ };
@@ -0,0 +1,53 @@
1
+ import { defineComponent, computed, createBlock, createCommentVNode, unref, openBlock } from "vue";
2
+ import { C as ComponentNameEnum, W as WidgetTypeEnum, A as ActionButtonListRender, _ as _export_sfc } from "./install.mjs";
3
+ import "ant-design-vue";
4
+ import "@kp-ui/tool";
5
+ import "lodash-es";
6
+ import { useExecFunction } from "tmgc2-share";
7
+ import "vue-router";
8
+ import { u as useField } from "./useField.mjs";
9
+ const _sfc_main = /* @__PURE__ */ defineComponent({
10
+ ...{
11
+ name: WidgetTypeEnum.buttonList,
12
+ componentName: ComponentNameEnum.FieldWidget
13
+ },
14
+ __name: "button-list-widget",
15
+ props: {
16
+ widget: {},
17
+ field: {},
18
+ designer: {},
19
+ parentWidget: {},
20
+ parentList: {},
21
+ indexOfParentList: {},
22
+ subFormRowIndex: {},
23
+ subFormRowId: {},
24
+ subFormColIndex: {}
25
+ },
26
+ setup(__props, { expose: __expose }) {
27
+ const props = __props;
28
+ const buttonList = computed(() => field.options.buttonList || []);
29
+ const { fieldEditor, field, designState, handleHidden, defineExposed } = useField(props);
30
+ const { context } = useExecFunction();
31
+ __expose({
32
+ buttonList,
33
+ ...defineExposed
34
+ });
35
+ return (_ctx, _cache) => {
36
+ return !unref(handleHidden) ? (openBlock(), createBlock(unref(ActionButtonListRender), {
37
+ key: 0,
38
+ ref_key: "fieldEditor",
39
+ ref: fieldEditor,
40
+ options: unref(field).options,
41
+ designState: unref(designState),
42
+ buttonList: unref(field).options.buttonList || [],
43
+ customClass: unref(field).options.customClass || [],
44
+ flex: unref(field).options.flex,
45
+ ctx: unref(context)
46
+ }, null, 8, ["options", "designState", "buttonList", "customClass", "flex", "ctx"])) : createCommentVNode("", true);
47
+ };
48
+ }
49
+ });
50
+ const buttonListWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b51e000d"]]);
51
+ export {
52
+ buttonListWidget as default
53
+ };
@@ -0,0 +1,80 @@
1
+ import { defineComponent, resolveComponent, createBlock, createCommentVNode, unref, openBlock, normalizeClass, withCtx, createTextVNode, toDisplayString } from "vue";
2
+ import { SvgIcon } from "tmgc2-share";
3
+ import { u as useField } from "./useField.mjs";
4
+ import { C as ComponentNameEnum, W as WidgetTypeEnum, _ as _export_sfc } from "./install.mjs";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ ...{
7
+ name: WidgetTypeEnum.button,
8
+ componentName: ComponentNameEnum.FieldWidget
9
+ },
10
+ __name: "button-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 {
25
+ loading,
26
+ asyncExecuteFunction,
27
+ fieldEditor,
28
+ field,
29
+ size,
30
+ designState,
31
+ handleHidden,
32
+ handleDisabled,
33
+ defineExposed
34
+ } = useField(props);
35
+ const handleButtonWidgetClick = async () => {
36
+ if (designState) {
37
+ return;
38
+ }
39
+ if (field.options.onClick) {
40
+ await asyncExecuteFunction({
41
+ functionBody: field.options.onClick || ""
42
+ });
43
+ }
44
+ };
45
+ __expose({
46
+ ...defineExposed,
47
+ handleButtonWidgetClick
48
+ });
49
+ return (_ctx, _cache) => {
50
+ const _component_a_button = resolveComponent("a-button");
51
+ return !unref(handleHidden) ? (openBlock(), createBlock(_component_a_button, {
52
+ key: 0,
53
+ ref_key: "fieldEditor",
54
+ ref: fieldEditor,
55
+ type: unref(field).options.type,
56
+ size: unref(size),
57
+ class: normalizeClass([unref(field).options.label === "" ? "hide-text-span" : "", "tpf-button"]),
58
+ shape: unref(field).options.shape,
59
+ danger: unref(field).options.danger,
60
+ ghost: unref(field).options.ghost,
61
+ disabled: unref(handleDisabled),
62
+ loading: unref(loading),
63
+ onClick: handleButtonWidgetClick
64
+ }, {
65
+ default: withCtx(() => [
66
+ unref(field).options.icon ? (openBlock(), createBlock(unref(SvgIcon), {
67
+ key: 0,
68
+ "icon-class": unref(field).options.icon
69
+ }, null, 8, ["icon-class"])) : createCommentVNode("", true),
70
+ createTextVNode(" " + toDisplayString(unref(field).options.label), 1)
71
+ ]),
72
+ _: 1
73
+ }, 8, ["type", "size", "class", "shape", "danger", "ghost", "disabled", "loading"])) : createCommentVNode("", true);
74
+ };
75
+ }
76
+ });
77
+ const buttonWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7e3e590f"]]);
78
+ export {
79
+ buttonWidget as default
80
+ };
@@ -0,0 +1,95 @@
1
+ import { defineComponent, onMounted, computed, resolveComponent, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, createElementVNode, createElementBlock, isRef, toDisplayString } from "vue";
2
+ import FormItemWrapper from "./form-item-wrapper.mjs";
3
+ import { u as useField } from "./useField.mjs";
4
+ import { u as useSelect } from "./useSelect.mjs";
5
+ import { C as ComponentNameEnum, W as WidgetTypeEnum, f as formateCascaderCode } from "./install.mjs";
6
+ const _hoisted_1 = { class: "full-width-input" };
7
+ const _hoisted_2 = {
8
+ key: 1,
9
+ class: "readonly-mode-field"
10
+ };
11
+ const _sfc_main = /* @__PURE__ */ defineComponent({
12
+ ...{
13
+ name: WidgetTypeEnum.cascader,
14
+ componentName: ComponentNameEnum.FieldWidget
15
+ },
16
+ __name: "cascader-widget",
17
+ props: {
18
+ widget: {},
19
+ field: {},
20
+ designer: {},
21
+ parentWidget: {},
22
+ parentList: {},
23
+ indexOfParentList: {},
24
+ subFormRowIndex: {},
25
+ subFormRowId: {},
26
+ subFormColIndex: {}
27
+ },
28
+ setup(__props, { expose: __expose }) {
29
+ const props = __props;
30
+ const {
31
+ rules,
32
+ i18nt,
33
+ fieldEditor,
34
+ field,
35
+ fieldModel,
36
+ isReadMode,
37
+ size,
38
+ designState,
39
+ handleHidden,
40
+ handleDisabled,
41
+ handleFocusCustomEvent,
42
+ handleBlurCustomEvent,
43
+ defineExposed
44
+ } = useField(props);
45
+ const { labelKey, valueKey, childrenKey, initOptionItems } = useSelect({
46
+ field,
47
+ fieldModel,
48
+ designState
49
+ });
50
+ onMounted(() => {
51
+ initOptionItems();
52
+ });
53
+ const contentForReadMode = computed(() => {
54
+ if (!fieldModel.value) return "";
55
+ return formateCascaderCode(field.options.optionItems, fieldModel.value, {
56
+ label: labelKey.value,
57
+ value: valueKey.value,
58
+ children: childrenKey.value
59
+ });
60
+ });
61
+ __expose({
62
+ ...defineExposed
63
+ });
64
+ return (_ctx, _cache) => {
65
+ const _component_a_cascader = resolveComponent("a-cascader");
66
+ return !unref(handleHidden) ? (openBlock(), createBlock(FormItemWrapper, mergeProps({ key: 0 }, props, { rules: unref(rules) }), {
67
+ default: withCtx(() => [
68
+ createElementVNode("div", _hoisted_1, [
69
+ !unref(isReadMode) ? (openBlock(), createBlock(_component_a_cascader, {
70
+ key: 0,
71
+ ref_key: "fieldEditor",
72
+ ref: fieldEditor,
73
+ size: unref(size),
74
+ options: unref(field).options.optionItems,
75
+ value: unref(fieldModel),
76
+ "onUpdate:value": _cache[0] || (_cache[0] = ($event) => isRef(fieldModel) ? fieldModel.value = $event : null),
77
+ disabled: unref(handleDisabled),
78
+ allowClear: unref(field).options.allowClear,
79
+ placeholder: unref(field).options.placeholder || unref(i18nt)("render.hint.selectPlaceholder"),
80
+ fieldNames: { value: unref(valueKey), label: unref(labelKey), children: unref(childrenKey) },
81
+ expandTrigger: "hover",
82
+ multiple: unref(field).options.multiple,
83
+ onFocus: unref(handleFocusCustomEvent),
84
+ onBlur: unref(handleBlurCustomEvent)
85
+ }, null, 8, ["size", "options", "value", "disabled", "allowClear", "placeholder", "fieldNames", "multiple", "onFocus", "onBlur"])) : (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(contentForReadMode.value), 1))
86
+ ])
87
+ ]),
88
+ _: 1
89
+ }, 16, ["rules"])) : createCommentVNode("", true);
90
+ };
91
+ }
92
+ });
93
+ export {
94
+ _sfc_main as default
95
+ };
@@ -0,0 +1,89 @@
1
+ import { defineComponent, resolveComponent, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, createElementBlock, isRef, Fragment, renderList, createTextVNode, toDisplayString } from "vue";
2
+ import FormItemWrapper from "./form-item-wrapper.mjs";
3
+ import { u as useSelect } from "./useSelect.mjs";
4
+ import { u as useField } from "./useField.mjs";
5
+ import { C as ComponentNameEnum, W as WidgetTypeEnum } from "./install.mjs";
6
+ const _hoisted_1 = {
7
+ key: 1,
8
+ class: "readonly-mode-field"
9
+ };
10
+ const _sfc_main = /* @__PURE__ */ defineComponent({
11
+ ...{
12
+ name: WidgetTypeEnum.checkbox,
13
+ componentName: ComponentNameEnum.FieldWidget
14
+ },
15
+ __name: "checkbox-widget",
16
+ props: {
17
+ widget: {},
18
+ field: {},
19
+ designer: {},
20
+ parentWidget: {},
21
+ parentList: {},
22
+ indexOfParentList: {},
23
+ subFormRowIndex: {},
24
+ subFormRowId: {},
25
+ subFormColIndex: {}
26
+ },
27
+ setup(__props, { expose: __expose }) {
28
+ const props = __props;
29
+ const {
30
+ rules,
31
+ field,
32
+ designState,
33
+ fieldModel,
34
+ isReadMode,
35
+ fieldEditor,
36
+ handleHidden,
37
+ handleDisabled,
38
+ defineExposed,
39
+ handleChangeEvent
40
+ } = useField(props);
41
+ const { optionLabel } = useSelect({
42
+ fieldModel,
43
+ field: props.field,
44
+ designState
45
+ });
46
+ __expose({
47
+ ...defineExposed
48
+ });
49
+ return (_ctx, _cache) => {
50
+ const _component_a_checkbox = resolveComponent("a-checkbox");
51
+ const _component_a_checkbox_group = resolveComponent("a-checkbox-group");
52
+ return !unref(handleHidden) ? (openBlock(), createBlock(FormItemWrapper, mergeProps({ key: 0 }, props, { rules: unref(rules) }), {
53
+ default: withCtx(() => [
54
+ !unref(isReadMode) ? (openBlock(), createBlock(_component_a_checkbox_group, {
55
+ key: 0,
56
+ ref_key: "fieldEditor",
57
+ ref: fieldEditor,
58
+ value: unref(fieldModel),
59
+ "onUpdate:value": _cache[0] || (_cache[0] = ($event) => isRef(fieldModel) ? fieldModel.value = $event : null),
60
+ disabled: unref(handleDisabled),
61
+ onChange: unref(handleChangeEvent)
62
+ }, {
63
+ default: withCtx(() => [
64
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(field).options.optionItems, (item, index) => {
65
+ return openBlock(), createBlock(_component_a_checkbox, {
66
+ key: index,
67
+ value: item[unref(field).options.valueKey],
68
+ disabled: item.disabled,
69
+ border: unref(field).options.border,
70
+ style: {}
71
+ }, {
72
+ default: withCtx(() => [
73
+ createTextVNode(toDisplayString(item[unref(field).options.labelKey]), 1)
74
+ ]),
75
+ _: 2
76
+ }, 1032, ["value", "disabled", "border"]);
77
+ }), 128))
78
+ ]),
79
+ _: 1
80
+ }, 8, ["value", "disabled", "onChange"])) : (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(unref(optionLabel)), 1))
81
+ ]),
82
+ _: 1
83
+ }, 16, ["rules"])) : createCommentVNode("", true);
84
+ };
85
+ }
86
+ });
87
+ export {
88
+ _sfc_main as default
89
+ };
@@ -0,0 +1,58 @@
1
+ import { defineComponent, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, createVNode, isRef } from "vue";
2
+ import FormItemWrapper from "./form-item-wrapper.mjs";
3
+ import { u as useField } from "./useField.mjs";
4
+ import { CodeEditor } from "tmgc2-share";
5
+ import { C as ComponentNameEnum, W as WidgetTypeEnum } from "./install.mjs";
6
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ ...{
8
+ name: WidgetTypeEnum.codeEditor,
9
+ componentName: ComponentNameEnum.FieldWidget
10
+ },
11
+ __name: "code-editor-widget",
12
+ props: {
13
+ widget: {},
14
+ field: {},
15
+ designer: {},
16
+ parentWidget: {},
17
+ parentList: {},
18
+ indexOfParentList: {},
19
+ subFormRowIndex: {},
20
+ subFormRowId: {},
21
+ subFormColIndex: {}
22
+ },
23
+ setup(__props, { expose: __expose }) {
24
+ const props = __props;
25
+ const {
26
+ rules,
27
+ fieldEditor,
28
+ field,
29
+ fieldModel,
30
+ isReadMode,
31
+ handleHidden,
32
+ handleBlurCustomEvent,
33
+ defineExposed
34
+ } = useField(props);
35
+ __expose({
36
+ ...defineExposed
37
+ });
38
+ return (_ctx, _cache) => {
39
+ return !unref(handleHidden) ? (openBlock(), createBlock(FormItemWrapper, mergeProps({ key: 0 }, props, { rules: unref(rules) }), {
40
+ default: withCtx(() => [
41
+ createVNode(unref(CodeEditor), {
42
+ mode: unref(field).options.mode,
43
+ readonly: unref(field).options.readonly || unref(isReadMode),
44
+ value: unref(fieldModel),
45
+ "onUpdate:value": _cache[0] || (_cache[0] = ($event) => isRef(fieldModel) ? fieldModel.value = $event : null),
46
+ ref_key: "fieldEditor",
47
+ ref: fieldEditor,
48
+ onBlur: unref(handleBlurCustomEvent)
49
+ }, null, 8, ["mode", "readonly", "value", "onBlur"])
50
+ ]),
51
+ _: 1
52
+ }, 16, ["rules"])) : createCommentVNode("", true);
53
+ };
54
+ }
55
+ });
56
+ export {
57
+ _sfc_main as default
58
+ };