@kp-ui/lowcode-pc 1.0.0

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 +86 -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 +5405 -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 +720 -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/RenderDesignerWrapper.vue.d.ts +2 -0
  59. package/types/core/src/components/common/desginer/WidgetWrapper.vue.d.ts +30 -0
  60. package/types/core/src/components/common/render/ActionButtonListDialog.vue.d.ts +345 -0
  61. package/types/core/src/components/common/render/Debugger.vue.d.ts +10 -0
  62. package/types/core/src/components/common/render/LowcodeRenderProvider.vue.d.ts +26 -0
  63. package/types/core/src/components/common/render/index.d.ts +6 -0
  64. package/types/core/src/components/common/render/useFormContext.d.ts +148 -0
  65. package/types/core/src/components/common/render/useFormDataProcessor.d.ts +10 -0
  66. package/types/core/src/components/contextMenu/WidgetContextMenu.vue.d.ts +21 -0
  67. package/types/core/src/components/contextMenu/useWidgetContextMenu.d.ts +25 -0
  68. package/types/core/src/components/index.d.ts +16 -0
  69. package/types/core/src/components/layout/LowcodeLayout.vue.d.ts +24 -0
  70. package/types/core/src/components/property-editor/index.d.ts +3 -0
  71. package/types/core/src/components/property-editor/propertyRegister.d.ts +199 -0
  72. package/types/core/src/components/property-editor/useEditor.d.ts +19 -0
  73. package/types/core/src/components/setting-plane/WidgetSettingPlane.vue.d.ts +2 -0
  74. package/types/core/src/components/setting-plane/form-crud-setting.vue.d.ts +10 -0
  75. package/types/core/src/components/setting-plane/form-setting.vue.d.ts +332 -0
  76. package/types/core/src/components/setting-plane/index.d.ts +3 -0
  77. package/types/core/src/components/setting-plane/index.vue.d.ts +675 -0
  78. package/types/core/src/components/settings/PanelItemDrag.vue.d.ts +24 -0
  79. package/types/core/src/components/settings/WidgetPanel.vue.d.ts +20 -0
  80. package/types/core/src/components/toolbar-panel/index.vue.d.ts +689 -0
  81. package/types/core/src/constants/EditorTypeEnum.d.ts +151 -0
  82. package/types/core/src/constants/LayoutTypeEnum.d.ts +5 -0
  83. package/types/core/src/constants/WidgetTypeEnum.d.ts +65 -0
  84. package/types/core/src/constants/index.d.ts +12 -0
  85. package/types/core/src/hooks/index.d.ts +6 -0
  86. package/types/core/src/hooks/useAppRef.d.ts +9 -0
  87. package/types/core/src/hooks/useDataHttp.d.ts +207 -0
  88. package/types/core/src/hooks/useDesigner.d.ts +20 -0
  89. package/types/core/src/hooks/useField.d.ts +95 -0
  90. package/types/core/src/hooks/useFormValidation.d.ts +54 -0
  91. package/types/core/src/hooks/useInputEvent.d.ts +10 -0
  92. package/types/core/src/hooks/useLowcode.d.ts +22 -0
  93. package/types/core/src/hooks/useNativeDragAndDrop.d.ts +34 -0
  94. package/types/core/src/lang/en-US.d.ts +564 -0
  95. package/types/core/src/lang/en-US_extension.d.ts +23 -0
  96. package/types/core/src/lang/en-US_render.d.ts +38 -0
  97. package/types/core/src/lang/zh-CN.d.ts +584 -0
  98. package/types/core/src/lang/zh-CN_extension.d.ts +23 -0
  99. package/types/core/src/lang/zh-CN_render.d.ts +38 -0
  100. package/types/core/src/types/button.d.ts +17 -0
  101. package/types/core/src/types/designer.d.ts +74 -0
  102. package/types/core/src/types/fileObject.d.ts +7 -0
  103. package/types/core/src/types/global.d.ts +20 -0
  104. package/types/core/src/types/index.d.ts +8 -0
  105. package/types/core/src/types/rowSelectionType.d.ts +12 -0
  106. package/types/core/src/types/schema.d.ts +169 -0
  107. package/types/core/src/types/widgetProps.d.ts +8 -0
  108. package/types/core/src/utils/emitter.d.ts +17 -0
  109. package/types/core/src/utils/event-bus.d.ts +10 -0
  110. package/types/core/src/utils/file.d.ts +0 -0
  111. package/types/core/src/utils/format.d.ts +46 -0
  112. package/types/core/src/utils/getFileName.d.ts +1 -0
  113. package/types/core/src/utils/i18n.d.ts +27 -0
  114. package/types/core/src/utils/index.d.ts +8 -0
  115. package/types/core/src/utils/insertAssetsToBody.d.ts +3 -0
  116. package/types/core/src/utils/request/handleAxiosError.d.ts +11 -0
  117. package/types/core/src/utils/request/http.d.ts +4 -0
  118. package/types/core/src/utils/smart-vue-i18n/index.d.ts +11 -0
  119. package/types/core/src/utils/transformWidgetList.d.ts +2 -0
  120. package/types/core/src/utils/useEmitter.d.ts +31 -0
  121. package/types/core/src/utils/util.d.ts +81 -0
  122. package/types/core/src/utils/validators.d.ts +25 -0
  123. package/types/core/src/utils/widgetRegistry.d.ts +27 -0
  124. package/types/index.d.ts +1 -0
  125. package/types/pc/src/components/desginer/form-widget/RenderDesignerPC.vue.d.ts +2 -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,226 @@
1
+ import { ref, computed, unref } from "vue";
2
+ import { debounce, isArray } from "lodash-es";
3
+ import { useExecFunction } from "tmgc2-share";
4
+ import { t as translateOptionItems } from "./install.mjs";
5
+ function findInArray(arrayObject, element) {
6
+ if (!Array.isArray(arrayObject)) {
7
+ return -1;
8
+ }
9
+ let foundIdx = -1;
10
+ arrayObject.forEach((aItem, aIdx) => {
11
+ if (aItem === element) {
12
+ foundIdx = aIdx;
13
+ }
14
+ });
15
+ return foundIdx;
16
+ }
17
+ function useSelect({ field, designState, fieldModel }) {
18
+ const keyword = ref({
19
+ val: ""
20
+ });
21
+ const loading = ref(false);
22
+ const pager = ref({
23
+ page: 1,
24
+ pageSize: 20,
25
+ totalPage: 0,
26
+ total: 0
27
+ });
28
+ const { execHttpFunction } = useExecFunction();
29
+ const initOptionItems = async () => {
30
+ var _a;
31
+ if (loading.value) return;
32
+ loading.value = true;
33
+ if (!!field.options.dsEnabled && ((_a = field.options.http) == null ? void 0 : _a.url)) {
34
+ if (pager.value.page === 1) initPager();
35
+ try {
36
+ const { http, dataHandlerCode, dataReqHandlerCode } = field.options;
37
+ const data = field.options.loadingPage ? { page: pager.value.page, pageSize: pager.value.pageSize } : {};
38
+ const dsResult = await execHttpFunction(
39
+ {
40
+ http,
41
+ dataHandlerCode,
42
+ dataReqHandlerCode
43
+ },
44
+ { data }
45
+ );
46
+ if (!dsResult) {
47
+ loading.value = false;
48
+ return;
49
+ }
50
+ if (isArray(dsResult)) {
51
+ loadOptions(dsResult);
52
+ loading.value = false;
53
+ return;
54
+ }
55
+ if (isArray(dsResult.list)) {
56
+ if (field.options.loadingPage) {
57
+ pager.value.total = dsResult.total || 0;
58
+ pager.value.totalPage = dsResult.totalPage || 0;
59
+ loadOptions([...getOptionItems(), ...dsResult.list]);
60
+ } else {
61
+ loadOptions(dsResult.list);
62
+ }
63
+ }
64
+ } catch (err) {
65
+ console.error("err: ", err);
66
+ }
67
+ } else {
68
+ loadOptions([...getOptionItems()]);
69
+ }
70
+ loading.value = false;
71
+ };
72
+ const changePager = debounce(function() {
73
+ pager.value.page += 1;
74
+ initOptionItems();
75
+ }, 500);
76
+ const onPopupScroll = (e) => {
77
+ if (!field.options.loadingPage) return;
78
+ const { target } = e;
79
+ const { scrollTop, scrollHeight, clientHeight } = target;
80
+ if (scrollHeight - (scrollTop + clientHeight) <= 30) {
81
+ if (pager.value.totalPage > pager.value.page) {
82
+ if (pager.value.totalPage === pager.value.page) {
83
+ return;
84
+ }
85
+ changePager();
86
+ }
87
+ }
88
+ };
89
+ const labelKey = computed(() => {
90
+ return (field == null ? void 0 : field.options.labelKey) || "label";
91
+ });
92
+ const valueKey = computed(() => {
93
+ return (field == null ? void 0 : field.options.valueKey) || "value";
94
+ });
95
+ const childrenKey = computed(() => {
96
+ return (field == null ? void 0 : field.options.childrenKey) || "children";
97
+ });
98
+ const fieldNames = computed(() => {
99
+ return {
100
+ label: (field == null ? void 0 : field.options.labelKey) || "label",
101
+ value: (field == null ? void 0 : field.options.valueKey) || "value",
102
+ options: "options"
103
+ };
104
+ });
105
+ const filterOption = (inputValue, option) => {
106
+ return option[fieldNames.value.label].toLowerCase().indexOf(inputValue.toLowerCase()) >= 0;
107
+ };
108
+ const initPager = () => {
109
+ pager.value = { page: 1, pageSize: 20, total: 0, totalPage: 0 };
110
+ loadOptions([]);
111
+ };
112
+ const remoteQuery = (_keyword) => {
113
+ const useServer = field.options.showSearch;
114
+ if (!useServer) return;
115
+ if (designState) {
116
+ return;
117
+ }
118
+ initPager();
119
+ keyword.value.val = _keyword;
120
+ initOptionItems();
121
+ };
122
+ const selectOps = computed(() => {
123
+ var _a;
124
+ const showSearch = true;
125
+ const useServer = (_a = field == null ? void 0 : field.options) == null ? void 0 : _a.showSearch;
126
+ return {
127
+ loading: loading.value,
128
+ fieldNames: fieldNames.value,
129
+ showSearch,
130
+ onPopupScroll,
131
+ onSearch: remoteQuery,
132
+ filterOption: !useServer && filterOption,
133
+ listHeight: 240
134
+ };
135
+ });
136
+ const loadOptions = async (options) => {
137
+ field.options.optionItems = translateOptionItems(
138
+ options,
139
+ field.type,
140
+ field.options.labelKey || "label",
141
+ field.options.valueKey || "value"
142
+ );
143
+ if (designState) {
144
+ return;
145
+ }
146
+ };
147
+ const getOptionItems = () => {
148
+ return field.options.optionItems;
149
+ };
150
+ const getSelectedItem = () => {
151
+ const list = getOptionItems();
152
+ if (isArray(fieldModel.value)) {
153
+ return list.filter((item) => findInArray(fieldModel.value, item[valueKey.value]) !== -1);
154
+ }
155
+ return list.find((item) => item[valueKey.value] == fieldModel.value);
156
+ };
157
+ const optionLabel = computed(() => {
158
+ if (fieldModel.value === null) {
159
+ return "";
160
+ } else {
161
+ let resultContent = "";
162
+ const { valueKey: valueKey2, labelKey: labelKey2 } = field.options;
163
+ field.options.optionItems.forEach((oItem) => {
164
+ if (oItem[valueKey2] === fieldModel.value || findInArray(fieldModel.value, oItem[valueKey2]) !== -1) {
165
+ resultContent = resultContent === "" ? oItem[labelKey2] : resultContent + " " + oItem[labelKey2];
166
+ }
167
+ });
168
+ return resultContent;
169
+ }
170
+ });
171
+ const clearOptionItems = () => {
172
+ if (field.options.dsEnabled) {
173
+ field.options.optionItems.splice(0, field.options.optionItems.length);
174
+ }
175
+ };
176
+ const disableOption = (optionValue) => {
177
+ const optionList = field.options.optionItems;
178
+ if (optionList && optionList.length > 0) {
179
+ optionList.forEach((opt) => {
180
+ if (opt.value === optionValue) {
181
+ opt.disabled = true;
182
+ }
183
+ });
184
+ }
185
+ };
186
+ const enableOption = (optionValue) => {
187
+ const optionList = field.options.optionItems;
188
+ if (optionList && optionList.length > 0) {
189
+ optionList.forEach((opt) => {
190
+ if (opt.value === optionValue) {
191
+ opt.disabled = false;
192
+ }
193
+ });
194
+ }
195
+ };
196
+ return {
197
+ selectDefineExpose: {
198
+ loadOptions,
199
+ initOptionItems,
200
+ getSelectedItem,
201
+ disableOption,
202
+ clearOptionItems,
203
+ enableOption,
204
+ getOptionItems,
205
+ keyword: unref(keyword)
206
+ },
207
+ disableOption,
208
+ clearOptionItems,
209
+ childrenKey,
210
+ valueKey,
211
+ labelKey,
212
+ optionLabel,
213
+ loadOptions,
214
+ filterOption,
215
+ keyword,
216
+ pager,
217
+ loading,
218
+ fieldNames,
219
+ selectOps,
220
+ initOptionItems,
221
+ getOptionItems
222
+ };
223
+ }
224
+ export {
225
+ useSelect as u
226
+ };
@@ -0,0 +1,67 @@
1
+ import { defineComponent, computed, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle, createVNode } from "vue";
2
+ import { C as ComponentNameEnum, e as ContainerTypeEnum, h as useField, R as RenderWidgetList, _ as _export_sfc } from "./install.mjs";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ ...{
5
+ name: ContainerTypeEnum.VfBoxWidget,
6
+ componentName: ComponentNameEnum.VfBoxWidget
7
+ },
8
+ __name: "vf-box-widget",
9
+ props: {
10
+ widget: {},
11
+ field: {},
12
+ parentWidget: {},
13
+ indexOfParentList: {},
14
+ subFormRowIndex: {},
15
+ subFormRowId: {}
16
+ },
17
+ setup(__props, { expose: __expose }) {
18
+ const props = __props;
19
+ const { handleHidden, defineExposed } = useField(props);
20
+ const boxStyle = computed(() => {
21
+ const boxModel = props.widget.options.boxModel || {};
22
+ const style = {};
23
+ if (props.widget.options.width) {
24
+ style.width = "100%";
25
+ style.height = "100%";
26
+ }
27
+ if (boxModel.borderShow) {
28
+ style.borderRadius = `${boxModel.borderRadius}px`;
29
+ style.border = `${boxModel.borderStyle} ${boxModel.borderWidth}px ${boxModel.borderColor}`;
30
+ }
31
+ if (boxModel.paddingTop !== void 0 || boxModel.paddingRight !== void 0 || boxModel.paddingBottom !== void 0 || boxModel.paddingLeft !== void 0) {
32
+ style.padding = `${boxModel.paddingTop || 0}px ${boxModel.paddingRight || 0}px ${boxModel.paddingBottom || 0}px ${boxModel.paddingLeft || 0}px`;
33
+ }
34
+ if (boxModel.marginTop !== void 0 || boxModel.marginRight !== void 0 || boxModel.marginBottom !== void 0 || boxModel.marginLeft !== void 0) {
35
+ style.margin = `${boxModel.marginTop || 0}px ${boxModel.marginRight || 0}px ${boxModel.marginBottom || 0}px ${boxModel.marginLeft || 0}px`;
36
+ }
37
+ if (boxModel.backgroundColor) {
38
+ style.backgroundColor = boxModel.backgroundColor;
39
+ }
40
+ if (boxModel.shadowShow) {
41
+ style.boxShadow = `${boxModel.shadowOffsetX || 0}px ${boxModel.shadowOffsetY || 0}px ${boxModel.shadowBlur || 0}px ${boxModel.shadowSpread || 0}px ${boxModel.shadowColor || "rgba(0,0,0,0.2)"}`;
42
+ }
43
+ return style;
44
+ });
45
+ __expose({
46
+ ...defineExposed
47
+ });
48
+ return (_ctx, _cache) => {
49
+ return !unref(handleHidden) ? (openBlock(), createElementBlock("div", {
50
+ class: "box-container",
51
+ key: _ctx.widget.id,
52
+ style: normalizeStyle(boxStyle.value)
53
+ }, [
54
+ createVNode(unref(RenderWidgetList), {
55
+ list: _ctx.widget.widgetList,
56
+ "onUpdate:list": _cache[0] || (_cache[0] = ($event) => _ctx.widget.widgetList = $event),
57
+ parentWidget: _ctx.widget,
58
+ parentList: _ctx.widget.widgetList
59
+ }, null, 8, ["list", "parentWidget", "parentList"])
60
+ ], 4)) : createCommentVNode("", true);
61
+ };
62
+ }
63
+ });
64
+ const vfBoxWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e33faf2b"]]);
65
+ export {
66
+ vfBoxWidget as default
67
+ };
@@ -0,0 +1,70 @@
1
+ import { defineComponent, computed, createElementBlock, createCommentVNode, unref, openBlock, createVNode, withCtx, withDirectives, createElementVNode, normalizeStyle, vShow } from "vue";
2
+ import { TpfCollapse } from "tmgc2-share";
3
+ import { C as ComponentNameEnum, e as ContainerTypeEnum, h as useField, R as RenderWidgetList, _ as _export_sfc } from "./install.mjs";
4
+ const _hoisted_1 = {
5
+ key: 0,
6
+ class: "collapse-container"
7
+ };
8
+ const _hoisted_2 = { class: "collapse-right" };
9
+ const _sfc_main = /* @__PURE__ */ defineComponent({
10
+ ...{
11
+ name: ContainerTypeEnum.VfCollapseWidget,
12
+ componentName: ComponentNameEnum.ContainerWidget
13
+ },
14
+ __name: "vf-collapse-widget",
15
+ props: {
16
+ widget: {},
17
+ field: {},
18
+ parentWidget: {},
19
+ indexOfParentList: {},
20
+ subFormRowIndex: {},
21
+ subFormRowId: {}
22
+ },
23
+ setup(__props, { expose: __expose }) {
24
+ const props = __props;
25
+ computed(() => props.widget.defaultSlotsList || []);
26
+ computed(() => props.widget.headerRightSlotList || []);
27
+ const { handleHidden, defineExposed } = useField(props);
28
+ __expose({
29
+ ...defineExposed
30
+ });
31
+ return (_ctx, _cache) => {
32
+ return !unref(handleHidden) ? (openBlock(), createElementBlock("div", _hoisted_1, [
33
+ createVNode(unref(TpfCollapse), {
34
+ title: _ctx.widget.options.title
35
+ }, {
36
+ right: withCtx(() => [
37
+ createElementVNode("div", _hoisted_2, [
38
+ createVNode(unref(RenderWidgetList), {
39
+ list: _ctx.widget.headerRightSlotList,
40
+ "onUpdate:list": _cache[0] || (_cache[0] = ($event) => _ctx.widget.headerRightSlotList = $event),
41
+ parentWidget: _ctx.widget
42
+ }, null, 8, ["list", "parentWidget"])
43
+ ])
44
+ ]),
45
+ default: withCtx(() => [
46
+ withDirectives(createElementVNode("div", {
47
+ class: "tpf-collapse-content-wrapper",
48
+ style: normalizeStyle({
49
+ height: _ctx.widget.options.height || "unset"
50
+ })
51
+ }, [
52
+ createVNode(unref(RenderWidgetList), {
53
+ list: _ctx.widget.defaultSlotsList,
54
+ "onUpdate:list": _cache[1] || (_cache[1] = ($event) => _ctx.widget.defaultSlotsList = $event),
55
+ parentWidget: _ctx.widget
56
+ }, null, 8, ["list", "parentWidget"])
57
+ ], 4), [
58
+ [vShow, !_ctx.widget.options.isCollapse]
59
+ ])
60
+ ]),
61
+ _: 1
62
+ }, 8, ["title"])
63
+ ])) : createCommentVNode("", true);
64
+ };
65
+ }
66
+ });
67
+ const vfCollapseWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3032d8b6"]]);
68
+ export {
69
+ vfCollapseWidget as default
70
+ };
@@ -0,0 +1,61 @@
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode, toDisplayString, createVNode, unref } from "vue";
2
+ import { C as ComponentNameEnum, e as ContainerTypeEnum, a as useAppRef, 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 "tmgc2-share";
7
+ import "vue-router";
8
+ const _hoisted_1 = { class: "dialog-title" };
9
+ const _hoisted_2 = { class: "right-btns" };
10
+ const _sfc_main = /* @__PURE__ */ defineComponent({
11
+ ...{
12
+ name: ContainerTypeEnum.VfDialogWidget,
13
+ componentName: ComponentNameEnum.VfDialogWidget
14
+ },
15
+ __name: "vf-dialog-widget",
16
+ props: {
17
+ widget: {},
18
+ field: {},
19
+ parentWidget: {},
20
+ indexOfParentList: {},
21
+ subFormRowIndex: {},
22
+ subFormRowId: {}
23
+ },
24
+ setup(__props) {
25
+ const props = __props;
26
+ const { initRefList } = useAppRef();
27
+ const handleClickTitle = () => {
28
+ const url = new URL(window.location.href);
29
+ const { title, formCode, formId } = props.widget.options;
30
+ if (formId) {
31
+ url.searchParams.set("formCode", formCode);
32
+ url.searchParams.set("remark", title);
33
+ url.searchParams.set("id", formId);
34
+ window.open(url.href);
35
+ }
36
+ };
37
+ initRefList();
38
+ return (_ctx, _cache) => {
39
+ return openBlock(), createElementBlock("div", {
40
+ class: "dialog-container",
41
+ key: _ctx.widget.id
42
+ }, [
43
+ createElementVNode("div", _hoisted_1, [
44
+ createElementVNode("span", {
45
+ class: "tpf-link",
46
+ onClick: handleClickTitle
47
+ }, toDisplayString(_ctx.widget.options.title), 1)
48
+ ]),
49
+ createElementVNode("div", _hoisted_2, [
50
+ createVNode(unref(ActionButtonListRender), {
51
+ buttonList: _ctx.widget.options.buttonList || []
52
+ }, null, 8, ["buttonList"])
53
+ ])
54
+ ]);
55
+ };
56
+ }
57
+ });
58
+ const vfDialogWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-59c990aa"]]);
59
+ export {
60
+ vfDialogWidget as default
61
+ };
@@ -0,0 +1,93 @@
1
+ import { defineComponent, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, createElementVNode, resolveDynamicComponent, toRefs } from "vue";
2
+ import FormItemWrapper from "./form-item-wrapper.mjs";
3
+ import { u as useField } from "./useField.mjs";
4
+ import { C as ComponentNameEnum, W as WidgetTypeEnum } from "./install.mjs";
5
+ const _hoisted_1 = { class: "slot-wrapper-render" };
6
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ ...{
8
+ name: WidgetTypeEnum.vueRender,
9
+ componentName: ComponentNameEnum.FieldWidget
10
+ },
11
+ __name: "vue-render-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, field, fieldModel, handleHidden, defineExposed, executeFunction } = useField(props);
26
+ const renderCompont = () => {
27
+ if (field.options.template) {
28
+ const sfcString = field.options.template;
29
+ const templateMatch = sfcString.match(/<template>([\s\S]*)<\/template>/);
30
+ const scriptMatch = sfcString.match(/<script.*?>([\s\S]*)<\/script>/);
31
+ const styleMatch = sfcString.match(/<style.*?>([\s\S]*)<\/style>/);
32
+ const template = templateMatch ? templateMatch[1] : "";
33
+ let scriptContent = scriptMatch ? scriptMatch[1] : "export default {}";
34
+ const style = styleMatch ? styleMatch[1] : "";
35
+ if (style) {
36
+ const styleId = `vue-render-style-${field.options.name}`;
37
+ if (!document.getElementById(styleId)) {
38
+ const styleTag = document.createElement("style");
39
+ styleTag.id = styleId;
40
+ styleTag.textContent = style;
41
+ document.head.appendChild(styleTag);
42
+ }
43
+ }
44
+ scriptContent = scriptContent.replace("export default", "return");
45
+ try {
46
+ const getOptions = new Function(scriptContent);
47
+ const componentOptions = getOptions() || {};
48
+ return {
49
+ template,
50
+ ...componentOptions,
51
+ props: ["data"],
52
+ // Ensure data prop is available if not defined
53
+ setup(props2, ctx) {
54
+ const originalSetup = componentOptions.setup ? componentOptions.setup(props2, ctx) : {};
55
+ return {
56
+ ...toRefs(props2),
57
+ ...originalSetup
58
+ };
59
+ }
60
+ };
61
+ } catch (e) {
62
+ console.error("Failed to parse component script", e);
63
+ return { template: "<div>Error parsing component</div>" };
64
+ }
65
+ }
66
+ const component = executeFunction({
67
+ functionBody: field.options.customRender,
68
+ params: { data: fieldModel.value },
69
+ keys: ["data"]
70
+ });
71
+ return component ?? null;
72
+ };
73
+ __expose({
74
+ ...defineExposed
75
+ });
76
+ return (_ctx, _cache) => {
77
+ return !unref(handleHidden) ? (openBlock(), createBlock(FormItemWrapper, mergeProps({ key: 0 }, props, { rules: unref(rules) }), {
78
+ default: withCtx(() => [
79
+ createElementVNode("div", _hoisted_1, [
80
+ (openBlock(), createBlock(resolveDynamicComponent(renderCompont()), {
81
+ ref_key: "fieldEditor",
82
+ ref: fieldEditor
83
+ }, null, 512))
84
+ ])
85
+ ]),
86
+ _: 1
87
+ }, 16, ["rules"])) : createCommentVNode("", true);
88
+ };
89
+ }
90
+ });
91
+ export {
92
+ _sfc_main as default
93
+ };