@kp-ui/lowcode-pc 1.0.0 → 1.0.2

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 (557) hide show
  1. package/_virtual/_plugin-vue_export-helper.js +11 -0
  2. package/_virtual/_plugin-vue_export-helper.js.map +1 -0
  3. package/assets/styles/style.css +463 -388
  4. package/core/src/components/DragBtn.vue.js +8 -0
  5. package/core/src/components/DragBtn.vue.js.map +1 -0
  6. package/core/src/components/DragBtn.vue2.js +33 -0
  7. package/core/src/components/DragBtn.vue2.js.map +1 -0
  8. package/core/src/components/common/RenderWidgetList.vue.js +8 -0
  9. package/core/src/components/common/RenderWidgetList.vue.js.map +1 -0
  10. package/core/src/components/common/RenderWidgetList.vue2.js +99 -0
  11. package/core/src/components/common/RenderWidgetList.vue2.js.map +1 -0
  12. package/core/src/components/common/desginer/WidgetWrapper.vue.js +8 -0
  13. package/core/src/components/common/desginer/WidgetWrapper.vue.js.map +1 -0
  14. package/core/src/components/common/desginer/WidgetWrapper.vue2.js +67 -0
  15. package/core/src/components/common/desginer/WidgetWrapper.vue2.js.map +1 -0
  16. package/core/src/components/common/render/Debugger.vue.js +8 -0
  17. package/core/src/components/common/render/Debugger.vue.js.map +1 -0
  18. package/core/src/components/common/render/Debugger.vue2.js +73 -0
  19. package/core/src/components/common/render/Debugger.vue2.js.map +1 -0
  20. package/core/src/components/common/render/LowcodeRenderProvider.vue.js +61 -0
  21. package/core/src/components/common/render/LowcodeRenderProvider.vue.js.map +1 -0
  22. package/core/src/components/common/render/LowcodeRenderProvider.vue2.js +5 -0
  23. package/core/src/components/common/render/LowcodeRenderProvider.vue2.js.map +1 -0
  24. package/core/src/components/common/render/RenderForm.vue.js +69 -0
  25. package/core/src/components/common/render/RenderForm.vue.js.map +1 -0
  26. package/core/src/components/common/render/RenderForm.vue2.js +5 -0
  27. package/core/src/components/common/render/RenderForm.vue2.js.map +1 -0
  28. package/core/src/components/common/render/useFormContext.js +262 -0
  29. package/core/src/components/common/render/useFormContext.js.map +1 -0
  30. package/core/src/components/contextMenu/WidgetContextMenu.vue.js +8 -0
  31. package/core/src/components/contextMenu/WidgetContextMenu.vue.js.map +1 -0
  32. package/core/src/components/contextMenu/WidgetContextMenu.vue2.js +125 -0
  33. package/core/src/components/contextMenu/WidgetContextMenu.vue2.js.map +1 -0
  34. package/core/src/components/contextMenu/useWidgetContextMenu.js +165 -0
  35. package/core/src/components/contextMenu/useWidgetContextMenu.js.map +1 -0
  36. package/core/src/constants/LayoutTypeEnum.js +10 -0
  37. package/core/src/constants/LayoutTypeEnum.js.map +1 -0
  38. package/core/src/constants/WidgetTypeEnum.js +64 -0
  39. package/core/src/constants/WidgetTypeEnum.js.map +1 -0
  40. package/core/src/constants/index.js +9 -0
  41. package/core/src/constants/index.js.map +1 -0
  42. package/core/src/hooks/useAppRef.js +57 -0
  43. package/core/src/hooks/useAppRef.js.map +1 -0
  44. package/core/src/hooks/useDataHttp.js +65 -0
  45. package/core/src/hooks/useDataHttp.js.map +1 -0
  46. package/core/src/hooks/useDesigner.js +60 -0
  47. package/core/src/hooks/useDesigner.js.map +1 -0
  48. package/{assets/useField.mjs → core/src/hooks/useField.js} +25 -5
  49. package/core/src/hooks/useField.js.map +1 -0
  50. package/core/src/hooks/useFormValidation.js +112 -0
  51. package/core/src/hooks/useFormValidation.js.map +1 -0
  52. package/core/src/hooks/useLowcode.js +94 -0
  53. package/core/src/hooks/useLowcode.js.map +1 -0
  54. package/core/src/hooks/useWebMCP.js +82 -0
  55. package/core/src/hooks/useWebMCP.js.map +1 -0
  56. package/core/src/hooks/useWidget.js +15 -0
  57. package/core/src/hooks/useWidget.js.map +1 -0
  58. package/{assets/en-US.mjs → core/src/lang/en-US.js} +41 -0
  59. package/core/src/lang/en-US.js.map +1 -0
  60. package/{assets/en-US_extension.mjs → core/src/lang/en-US_extension.js} +1 -0
  61. package/core/src/lang/en-US_extension.js.map +1 -0
  62. package/{assets/en-US_render.mjs → core/src/lang/en-US_render.js} +1 -0
  63. package/core/src/lang/en-US_render.js.map +1 -0
  64. package/{assets/zh-CN.mjs → core/src/lang/zh-CN.js} +81 -6
  65. package/core/src/lang/zh-CN.js.map +1 -0
  66. package/{assets/zh-CN_extension.mjs → core/src/lang/zh-CN_extension.js} +1 -0
  67. package/core/src/lang/zh-CN_extension.js.map +1 -0
  68. package/{assets/zh-CN_render.mjs → core/src/lang/zh-CN_render.js} +1 -0
  69. package/core/src/lang/zh-CN_render.js.map +1 -0
  70. package/core/src/utils/format.js +46 -0
  71. package/core/src/utils/format.js.map +1 -0
  72. package/core/src/utils/getFileName.js +10 -0
  73. package/core/src/utils/getFileName.js.map +1 -0
  74. package/core/src/utils/i18n.js +33 -0
  75. package/core/src/utils/i18n.js.map +1 -0
  76. package/core/src/utils/smart-vue-i18n/index.js +84 -0
  77. package/core/src/utils/smart-vue-i18n/index.js.map +1 -0
  78. package/core/src/utils/useEmitter.js +95 -0
  79. package/core/src/utils/useEmitter.js.map +1 -0
  80. package/core/src/utils/util.js +155 -0
  81. package/core/src/utils/util.js.map +1 -0
  82. package/core/src/utils/validators.js +114 -0
  83. package/core/src/utils/validators.js.map +1 -0
  84. package/install.js +31 -0
  85. package/install.js.map +1 -0
  86. package/package.json +9 -4
  87. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js +8 -0
  88. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js.map +1 -0
  89. package/{assets/data-table-widget.mjs → src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js} +22 -6
  90. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -0
  91. package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.js +8 -0
  92. package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.js.map +1 -0
  93. package/{assets/grid-col-widget.mjs → src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js} +13 -8
  94. package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js.map +1 -0
  95. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.js +8 -0
  96. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.js.map +1 -0
  97. package/{assets/grid-sub-form-widget.mjs → src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js} +4 -3
  98. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js.map +1 -0
  99. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue3.js +2 -0
  100. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue3.js.map +1 -0
  101. package/src/components/desginer/form-widget/container-widget/grid-widget.vue.js +8 -0
  102. package/src/components/desginer/form-widget/container-widget/grid-widget.vue.js.map +1 -0
  103. package/{assets/grid-widget.mjs → src/components/desginer/form-widget/container-widget/grid-widget.vue2.js} +13 -9
  104. package/src/components/desginer/form-widget/container-widget/grid-widget.vue2.js.map +1 -0
  105. package/src/components/desginer/form-widget/container-widget/index.js +19 -0
  106. package/src/components/desginer/form-widget/container-widget/index.js.map +1 -0
  107. package/src/components/desginer/form-widget/container-widget/tab-widget.vue.js +8 -0
  108. package/src/components/desginer/form-widget/container-widget/tab-widget.vue.js.map +1 -0
  109. package/{assets/tab-widget.mjs → src/components/desginer/form-widget/container-widget/tab-widget.vue2.js} +5 -3
  110. package/src/components/desginer/form-widget/container-widget/tab-widget.vue2.js.map +1 -0
  111. package/src/components/desginer/form-widget/container-widget/useTableWidget.js +316 -0
  112. package/src/components/desginer/form-widget/container-widget/useTableWidget.js.map +1 -0
  113. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.js +8 -0
  114. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.js.map +1 -0
  115. package/{assets/vf-box-widget.mjs → src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js} +5 -3
  116. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -0
  117. package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.js +9 -0
  118. package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.js.map +1 -0
  119. package/{assets/vf-collapse-widget.mjs → src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js} +6 -6
  120. package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -0
  121. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.js +8 -0
  122. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.js.map +1 -0
  123. package/{assets/vf-dialog-widget.mjs → src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js} +12 -4
  124. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -0
  125. package/src/components/desginer/form-widget/index.vue.js +2 -0
  126. package/src/components/desginer/form-widget/index.vue.js.map +1 -0
  127. package/src/components/desginer/widget-panel/advanced/bpmn-editor.js +30 -0
  128. package/src/components/desginer/widget-panel/advanced/bpmn-editor.js.map +1 -0
  129. package/src/components/desginer/widget-panel/advanced/cascader.js +68 -0
  130. package/src/components/desginer/widget-panel/advanced/cascader.js.map +1 -0
  131. package/src/components/desginer/widget-panel/advanced/code-editor.js +44 -0
  132. package/src/components/desginer/widget-panel/advanced/code-editor.js.map +1 -0
  133. package/src/components/desginer/widget-panel/advanced/data-table.js +104 -0
  134. package/src/components/desginer/widget-panel/advanced/data-table.js.map +1 -0
  135. package/src/components/desginer/widget-panel/advanced/diy-compontent.js +30 -0
  136. package/src/components/desginer/widget-panel/advanced/diy-compontent.js.map +1 -0
  137. package/src/components/desginer/widget-panel/advanced/file-upload.js +43 -0
  138. package/src/components/desginer/widget-panel/advanced/file-upload.js.map +1 -0
  139. package/src/components/desginer/widget-panel/advanced/rich-editor.js +40 -0
  140. package/src/components/desginer/widget-panel/advanced/rich-editor.js.map +1 -0
  141. package/src/components/desginer/widget-panel/advanced/tree-select.js +69 -0
  142. package/src/components/desginer/widget-panel/advanced/tree-select.js.map +1 -0
  143. package/src/components/desginer/widget-panel/advanced/tree.js +47 -0
  144. package/src/components/desginer/widget-panel/advanced/tree.js.map +1 -0
  145. package/src/components/desginer/widget-panel/advancedFieldsEnums.js +24 -0
  146. package/src/components/desginer/widget-panel/advancedFieldsEnums.js.map +1 -0
  147. package/src/components/desginer/widget-panel/basicFields/button.js +37 -0
  148. package/src/components/desginer/widget-panel/basicFields/button.js.map +1 -0
  149. package/src/components/desginer/widget-panel/basicFields/buttonList.js +45 -0
  150. package/src/components/desginer/widget-panel/basicFields/buttonList.js.map +1 -0
  151. package/src/components/desginer/widget-panel/basicFields/checkbox.js +64 -0
  152. package/src/components/desginer/widget-panel/basicFields/checkbox.js.map +1 -0
  153. package/src/components/desginer/widget-panel/basicFields/color.js +38 -0
  154. package/src/components/desginer/widget-panel/basicFields/color.js.map +1 -0
  155. package/src/components/desginer/widget-panel/basicFields/date.js +55 -0
  156. package/src/components/desginer/widget-panel/basicFields/date.js.map +1 -0
  157. package/src/components/desginer/widget-panel/basicFields/dateRange.js +55 -0
  158. package/src/components/desginer/widget-panel/basicFields/dateRange.js.map +1 -0
  159. package/src/components/desginer/widget-panel/basicFields/divider.js +31 -0
  160. package/src/components/desginer/widget-panel/basicFields/divider.js.map +1 -0
  161. package/src/components/desginer/widget-panel/basicFields/dropdown.js +42 -0
  162. package/src/components/desginer/widget-panel/basicFields/dropdown.js.map +1 -0
  163. package/src/components/desginer/widget-panel/basicFields/htmlText.js +29 -0
  164. package/src/components/desginer/widget-panel/basicFields/htmlText.js.map +1 -0
  165. package/src/components/desginer/widget-panel/basicFields/input.js +56 -0
  166. package/src/components/desginer/widget-panel/basicFields/input.js.map +1 -0
  167. package/src/components/desginer/widget-panel/basicFields/number.js +50 -0
  168. package/src/components/desginer/widget-panel/basicFields/number.js.map +1 -0
  169. package/src/components/desginer/widget-panel/basicFields/radio.js +70 -0
  170. package/src/components/desginer/widget-panel/basicFields/radio.js.map +1 -0
  171. package/src/components/desginer/widget-panel/basicFields/rate.js +45 -0
  172. package/src/components/desginer/widget-panel/basicFields/rate.js.map +1 -0
  173. package/src/components/desginer/widget-panel/basicFields/select.js +77 -0
  174. package/src/components/desginer/widget-panel/basicFields/select.js.map +1 -0
  175. package/src/components/desginer/widget-panel/basicFields/slider.js +47 -0
  176. package/src/components/desginer/widget-panel/basicFields/slider.js.map +1 -0
  177. package/src/components/desginer/widget-panel/basicFields/staticText.js +29 -0
  178. package/src/components/desginer/widget-panel/basicFields/staticText.js.map +1 -0
  179. package/src/components/desginer/widget-panel/basicFields/switch.js +41 -0
  180. package/src/components/desginer/widget-panel/basicFields/switch.js.map +1 -0
  181. package/src/components/desginer/widget-panel/basicFields/textarea.js +53 -0
  182. package/src/components/desginer/widget-panel/basicFields/textarea.js.map +1 -0
  183. package/src/components/desginer/widget-panel/basicFields/time.js +51 -0
  184. package/src/components/desginer/widget-panel/basicFields/time.js.map +1 -0
  185. package/src/components/desginer/widget-panel/basicFields/timeRange.js +52 -0
  186. package/src/components/desginer/widget-panel/basicFields/timeRange.js.map +1 -0
  187. package/src/components/desginer/widget-panel/basicFieldsEnums.js +46 -0
  188. package/src/components/desginer/widget-panel/basicFieldsEnums.js.map +1 -0
  189. package/src/components/desginer/widget-panel/containers/grid-col.js +29 -0
  190. package/src/components/desginer/widget-panel/containers/grid-col.js.map +1 -0
  191. package/src/components/desginer/widget-panel/containers/grid-sub-form.js +27 -0
  192. package/src/components/desginer/widget-panel/containers/grid-sub-form.js.map +1 -0
  193. package/src/components/desginer/widget-panel/containers/grid.js +24 -0
  194. package/src/components/desginer/widget-panel/containers/grid.js.map +1 -0
  195. package/src/components/desginer/widget-panel/containers/index.js +19 -0
  196. package/src/components/desginer/widget-panel/containers/index.js.map +1 -0
  197. package/src/components/desginer/widget-panel/containers/tab-pane.js +23 -0
  198. package/src/components/desginer/widget-panel/containers/tab-pane.js.map +1 -0
  199. package/src/components/desginer/widget-panel/containers/tab.js +27 -0
  200. package/src/components/desginer/widget-panel/containers/tab.js.map +1 -0
  201. package/src/components/desginer/widget-panel/containers/vf-box.js +47 -0
  202. package/src/components/desginer/widget-panel/containers/vf-box.js.map +1 -0
  203. package/src/components/desginer/widget-panel/containers/vf-collapse.js +25 -0
  204. package/src/components/desginer/widget-panel/containers/vf-collapse.js.map +1 -0
  205. package/src/components/desginer/widget-panel/containers/vf-dialog.js +55 -0
  206. package/src/components/desginer/widget-panel/containers/vf-dialog.js.map +1 -0
  207. package/src/components/desginer/widget-panel/widgetsConfig.js +7 -0
  208. package/src/components/desginer/widget-panel/widgetsConfig.js.map +1 -0
  209. package/src/components/field-widget/bpmn-editor-widget.vue.js +8 -0
  210. package/src/components/field-widget/bpmn-editor-widget.vue.js.map +1 -0
  211. package/{assets/bpmn-editor-widget.mjs → src/components/field-widget/bpmn-editor-widget.vue2.js} +5 -5
  212. package/src/components/field-widget/bpmn-editor-widget.vue2.js.map +1 -0
  213. package/src/components/field-widget/button-list-widget.vue.js +8 -0
  214. package/src/components/field-widget/button-list-widget.vue.js.map +1 -0
  215. package/{assets/button-list-widget.mjs → src/components/field-widget/button-list-widget.vue2.js} +12 -5
  216. package/src/components/field-widget/button-list-widget.vue2.js.map +1 -0
  217. package/src/components/field-widget/button-widget.vue.js +8 -0
  218. package/src/components/field-widget/button-widget.vue.js.map +1 -0
  219. package/{assets/button-widget.mjs → src/components/field-widget/button-widget.vue2.js} +4 -4
  220. package/src/components/field-widget/button-widget.vue2.js.map +1 -0
  221. package/src/components/field-widget/cascader-widget.vue.js +5 -0
  222. package/src/components/field-widget/cascader-widget.vue.js.map +1 -0
  223. package/{assets/cascader-widget.mjs → src/components/field-widget/cascader-widget.vue2.js} +6 -4
  224. package/src/components/field-widget/cascader-widget.vue2.js.map +1 -0
  225. package/src/components/field-widget/checkbox-widget.vue.js +5 -0
  226. package/src/components/field-widget/checkbox-widget.vue.js.map +1 -0
  227. package/{assets/checkbox-widget.mjs → src/components/field-widget/checkbox-widget.vue2.js} +9 -10
  228. package/src/components/field-widget/checkbox-widget.vue2.js.map +1 -0
  229. package/src/components/field-widget/code-editor-widget.vue.js +8 -0
  230. package/src/components/field-widget/code-editor-widget.vue.js.map +1 -0
  231. package/{assets/code-editor-widget.mjs → src/components/field-widget/code-editor-widget.vue2.js} +10 -5
  232. package/src/components/field-widget/code-editor-widget.vue2.js.map +1 -0
  233. package/src/components/field-widget/color-widget.vue.js +8 -0
  234. package/src/components/field-widget/color-widget.vue.js.map +1 -0
  235. package/{assets/color-widget.mjs → src/components/field-widget/color-widget.vue2.js} +5 -5
  236. package/src/components/field-widget/color-widget.vue2.js.map +1 -0
  237. package/src/components/field-widget/date-range-widget.vue.js +8 -0
  238. package/src/components/field-widget/date-range-widget.vue.js.map +1 -0
  239. package/{assets/date-range-widget.mjs → src/components/field-widget/date-range-widget.vue2.js} +5 -5
  240. package/src/components/field-widget/date-range-widget.vue2.js.map +1 -0
  241. package/src/components/field-widget/date-widget.vue.js +8 -0
  242. package/src/components/field-widget/date-widget.vue.js.map +1 -0
  243. package/{assets/date-widget.mjs → src/components/field-widget/date-widget.vue2.js} +5 -5
  244. package/src/components/field-widget/date-widget.vue2.js.map +1 -0
  245. package/src/components/field-widget/divider-widget.vue.js +5 -0
  246. package/src/components/field-widget/divider-widget.vue.js.map +1 -0
  247. package/{assets/divider-widget.mjs → src/components/field-widget/divider-widget.vue2.js} +3 -2
  248. package/src/components/field-widget/divider-widget.vue2.js.map +1 -0
  249. package/src/components/field-widget/diy-compontent-widget.vue.js +5 -0
  250. package/src/components/field-widget/diy-compontent-widget.vue.js.map +1 -0
  251. package/{assets/diy-compontent-widget.mjs → src/components/field-widget/diy-compontent-widget.vue2.js} +11 -6
  252. package/src/components/field-widget/diy-compontent-widget.vue2.js.map +1 -0
  253. package/src/components/field-widget/dropdown-widget.vue.js +8 -0
  254. package/src/components/field-widget/dropdown-widget.vue.js.map +1 -0
  255. package/{assets/dropdown-widget.mjs → src/components/field-widget/dropdown-widget.vue2.js} +15 -23
  256. package/src/components/field-widget/dropdown-widget.vue2.js.map +1 -0
  257. package/src/components/field-widget/file-upload-widget.vue.js +8 -0
  258. package/src/components/field-widget/file-upload-widget.vue.js.map +1 -0
  259. package/{assets/file-upload-widget.mjs → src/components/field-widget/file-upload-widget.vue2.js} +15 -10
  260. package/src/components/field-widget/file-upload-widget.vue2.js.map +1 -0
  261. package/src/components/field-widget/form-item-wrapper.vue.js +8 -0
  262. package/src/components/field-widget/form-item-wrapper.vue.js.map +1 -0
  263. package/{assets/form-item-wrapper.mjs → src/components/field-widget/form-item-wrapper.vue2.js} +5 -7
  264. package/src/components/field-widget/form-item-wrapper.vue2.js.map +1 -0
  265. package/{assets/useSelect.mjs → src/components/field-widget/hooks/useSelect.js} +3 -2
  266. package/src/components/field-widget/hooks/useSelect.js.map +1 -0
  267. package/src/components/field-widget/html-text-widget.vue.js +8 -0
  268. package/src/components/field-widget/html-text-widget.vue.js.map +1 -0
  269. package/{assets/html-text-widget.mjs → src/components/field-widget/html-text-widget.vue2.js} +4 -4
  270. package/src/components/field-widget/html-text-widget.vue2.js.map +1 -0
  271. package/src/components/field-widget/html-text-widget.vue3.js +2 -0
  272. package/src/components/field-widget/html-text-widget.vue3.js.map +1 -0
  273. package/src/components/field-widget/index.js +12 -0
  274. package/src/components/field-widget/index.js.map +1 -0
  275. package/src/components/field-widget/input-widget.vue.js +8 -0
  276. package/src/components/field-widget/input-widget.vue.js.map +1 -0
  277. package/{assets/input-widget.mjs → src/components/field-widget/input-widget.vue2.js} +5 -5
  278. package/src/components/field-widget/input-widget.vue2.js.map +1 -0
  279. package/src/components/field-widget/number-widget.vue.js +5 -0
  280. package/src/components/field-widget/number-widget.vue.js.map +1 -0
  281. package/{assets/number-widget.mjs → src/components/field-widget/number-widget.vue2.js} +4 -3
  282. package/src/components/field-widget/number-widget.vue2.js.map +1 -0
  283. package/src/components/field-widget/radio-widget.vue.js +8 -0
  284. package/src/components/field-widget/radio-widget.vue.js.map +1 -0
  285. package/{assets/radio-widget.mjs → src/components/field-widget/radio-widget.vue2.js} +11 -12
  286. package/src/components/field-widget/radio-widget.vue2.js.map +1 -0
  287. package/src/components/field-widget/rate-widget.vue.js +8 -0
  288. package/src/components/field-widget/rate-widget.vue.js.map +1 -0
  289. package/{assets/rate-widget.mjs → src/components/field-widget/rate-widget.vue2.js} +5 -5
  290. package/src/components/field-widget/rate-widget.vue2.js.map +1 -0
  291. package/src/components/field-widget/rich-editor-widget.vue.js +8 -0
  292. package/src/components/field-widget/rich-editor-widget.vue.js.map +1 -0
  293. package/{assets/rich-editor-widget.mjs → src/components/field-widget/rich-editor-widget.vue2.js} +5 -5
  294. package/src/components/field-widget/rich-editor-widget.vue2.js.map +1 -0
  295. package/src/components/field-widget/select-widget.vue.js +8 -0
  296. package/src/components/field-widget/select-widget.vue.js.map +1 -0
  297. package/{assets/select-widget.mjs → src/components/field-widget/select-widget.vue2.js} +5 -6
  298. package/src/components/field-widget/select-widget.vue2.js.map +1 -0
  299. package/src/components/field-widget/slider-widget.vue.js +5 -0
  300. package/src/components/field-widget/slider-widget.vue.js.map +1 -0
  301. package/{assets/slider-widget.mjs → src/components/field-widget/slider-widget.vue2.js} +4 -3
  302. package/src/components/field-widget/slider-widget.vue2.js.map +1 -0
  303. package/src/components/field-widget/static-text-widget.vue.js +5 -0
  304. package/src/components/field-widget/static-text-widget.vue.js.map +1 -0
  305. package/{assets/static-text-widget.mjs → src/components/field-widget/static-text-widget.vue2.js} +3 -2
  306. package/src/components/field-widget/static-text-widget.vue2.js.map +1 -0
  307. package/src/components/field-widget/switch-widget.vue.js +8 -0
  308. package/src/components/field-widget/switch-widget.vue.js.map +1 -0
  309. package/{assets/switch-widget.mjs → src/components/field-widget/switch-widget.vue2.js} +5 -5
  310. package/src/components/field-widget/switch-widget.vue2.js.map +1 -0
  311. package/src/components/field-widget/textarea-widget.vue.js +8 -0
  312. package/src/components/field-widget/textarea-widget.vue.js.map +1 -0
  313. package/{assets/textarea-widget.mjs → src/components/field-widget/textarea-widget.vue2.js} +5 -5
  314. package/src/components/field-widget/textarea-widget.vue2.js.map +1 -0
  315. package/src/components/field-widget/time-range-widget.vue.js +8 -0
  316. package/src/components/field-widget/time-range-widget.vue.js.map +1 -0
  317. package/{assets/time-range-widget.mjs → src/components/field-widget/time-range-widget.vue2.js} +5 -5
  318. package/src/components/field-widget/time-range-widget.vue2.js.map +1 -0
  319. package/src/components/field-widget/time-widget.vue.js +8 -0
  320. package/src/components/field-widget/time-widget.vue.js.map +1 -0
  321. package/{assets/time-widget.mjs → src/components/field-widget/time-widget.vue2.js} +5 -5
  322. package/src/components/field-widget/time-widget.vue2.js.map +1 -0
  323. package/src/components/field-widget/tree-widget.vue.js +8 -0
  324. package/src/components/field-widget/tree-widget.vue.js.map +1 -0
  325. package/{assets/tree-widget.mjs → src/components/field-widget/tree-widget.vue2.js} +6 -6
  326. package/src/components/field-widget/tree-widget.vue2.js.map +1 -0
  327. package/src/components/field-widget/treeSelect-widget.vue.js +5 -0
  328. package/src/components/field-widget/treeSelect-widget.vue.js.map +1 -0
  329. package/{assets/treeSelect-widget.mjs → src/components/field-widget/treeSelect-widget.vue2.js} +13 -12
  330. package/src/components/field-widget/treeSelect-widget.vue2.js.map +1 -0
  331. package/src/components/field-widget/vue-render-widget.vue.js +5 -0
  332. package/src/components/field-widget/vue-render-widget.vue.js.map +1 -0
  333. package/{assets/vue-render-widget.mjs → src/components/field-widget/vue-render-widget.vue2.js} +6 -8
  334. package/src/components/field-widget/vue-render-widget.vue2.js.map +1 -0
  335. package/src/components/form-render/RenderWigetList.vue.js +5 -0
  336. package/src/components/form-render/RenderWigetList.vue.js.map +1 -0
  337. package/src/components/form-render/RenderWigetList.vue2.js +46 -0
  338. package/src/components/form-render/RenderWigetList.vue2.js.map +1 -0
  339. package/src/components/form-render/container-items/data-table-widget.vue.js +8 -0
  340. package/src/components/form-render/container-items/data-table-widget.vue.js.map +1 -0
  341. package/src/components/form-render/container-items/data-table-widget.vue2.js +198 -0
  342. package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -0
  343. package/src/components/form-render/container-items/grid-col-widget.vue.js +8 -0
  344. package/src/components/form-render/container-items/grid-col-widget.vue.js.map +1 -0
  345. package/src/components/form-render/container-items/grid-col-widget.vue2.js +56 -0
  346. package/src/components/form-render/container-items/grid-col-widget.vue2.js.map +1 -0
  347. package/src/components/form-render/container-items/grid-sub-form-widget.vue.js +8 -0
  348. package/src/components/form-render/container-items/grid-sub-form-widget.vue.js.map +1 -0
  349. package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js +282 -0
  350. package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js.map +1 -0
  351. package/src/components/form-render/container-items/grid-widget.vue.js +8 -0
  352. package/src/components/form-render/container-items/grid-widget.vue.js.map +1 -0
  353. package/src/components/form-render/container-items/grid-widget.vue2.js +61 -0
  354. package/src/components/form-render/container-items/grid-widget.vue2.js.map +1 -0
  355. package/src/components/form-render/container-items/grid-widget.vue3.js +2 -0
  356. package/src/components/form-render/container-items/grid-widget.vue3.js.map +1 -0
  357. package/src/components/form-render/container-items/index.js +21 -0
  358. package/src/components/form-render/container-items/index.js.map +1 -0
  359. package/src/components/form-render/container-items/tab-widget.vue.js +8 -0
  360. package/src/components/form-render/container-items/tab-widget.vue.js.map +1 -0
  361. package/src/components/form-render/container-items/tab-widget.vue2.js +66 -0
  362. package/src/components/form-render/container-items/tab-widget.vue2.js.map +1 -0
  363. package/src/components/form-render/container-items/vf-box-widget.vue.js +8 -0
  364. package/src/components/form-render/container-items/vf-box-widget.vue.js.map +1 -0
  365. package/src/components/form-render/container-items/vf-box-widget.vue2.js +59 -0
  366. package/src/components/form-render/container-items/vf-box-widget.vue2.js.map +1 -0
  367. package/src/components/form-render/container-items/vf-collapse-widget.vue.js +9 -0
  368. package/src/components/form-render/container-items/vf-collapse-widget.vue.js.map +1 -0
  369. package/src/components/form-render/container-items/vf-collapse-widget.vue2.js +70 -0
  370. package/src/components/form-render/container-items/vf-collapse-widget.vue2.js.map +1 -0
  371. package/src/components/public/ActionButtonListRender.vue.js +130 -0
  372. package/src/components/public/ActionButtonListRender.vue.js.map +1 -0
  373. package/src/components/public/ActionButtonListRender.vue3.js +53 -0
  374. package/src/components/public/ActionButtonListRender.vue3.js.map +1 -0
  375. package/src/components/public/ConfigView/CustomPageRender.vue.js +80 -0
  376. package/src/components/public/ConfigView/CustomPageRender.vue.js.map +1 -0
  377. package/src/components/public/ConfigView/CustomPageRender.vue2.js +5 -0
  378. package/src/components/public/ConfigView/CustomPageRender.vue2.js.map +1 -0
  379. package/src/components/public/CustomerModal/CustomerModal.vue.js +5 -0
  380. package/src/components/public/CustomerModal/CustomerModal.vue.js.map +1 -0
  381. package/{assets/CustomerModal.mjs → src/components/public/CustomerModal/CustomerModal.vue2.js} +7 -91
  382. package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -0
  383. package/{assets/useCustomerModal.mjs → src/components/public/CustomerModal/useCustomerModal.js} +2 -1
  384. package/src/components/public/CustomerModal/useCustomerModal.js.map +1 -0
  385. package/src/components/public/DataTableColumnDialog.vue.js +8 -0
  386. package/src/components/public/DataTableColumnDialog.vue.js.map +1 -0
  387. package/src/components/public/DataTableColumnDialog.vue2.js +333 -0
  388. package/src/components/public/DataTableColumnDialog.vue2.js.map +1 -0
  389. package/src/components/public/DynamicDialog.vue.js +226 -0
  390. package/src/components/public/DynamicDialog.vue.js.map +1 -0
  391. package/src/components/public/DynamicDialog.vue3.js +6 -0
  392. package/src/components/public/DynamicDialog.vue3.js.map +1 -0
  393. package/src/components/render/index.vue.js +8 -0
  394. package/src/components/render/index.vue.js.map +1 -0
  395. package/src/components/render/index.vue2.js +105 -0
  396. package/src/components/render/index.vue2.js.map +1 -0
  397. package/src/components/render/useRenderWidget.js +11 -0
  398. package/src/components/render/useRenderWidget.js.map +1 -0
  399. package/src/hooks/useLowcode.js +113 -0
  400. package/src/hooks/useLowcode.js.map +1 -0
  401. package/stats.html +4949 -0
  402. package/types/index.d.ts +1 -0
  403. package/types/pc/install.d.ts +9 -0
  404. package/assets/install.mjs +0 -5405
  405. package/index.js +0 -7
  406. package/types/core/src/components/DragBtn.vue.d.ts +0 -7
  407. package/types/core/src/components/HttpEditor.vue.d.ts +0 -46
  408. package/types/core/src/components/common/EventItemEditor.vue.d.ts +0 -12
  409. package/types/core/src/components/common/LowcodeI18nProvider.vue.d.ts +0 -17
  410. package/types/core/src/components/common/RenderWidgetList.vue.d.ts +0 -16
  411. package/types/core/src/components/common/desginer/RenderDesignerWrapper.vue.d.ts +0 -2
  412. package/types/core/src/components/common/desginer/WidgetWrapper.vue.d.ts +0 -30
  413. package/types/core/src/components/common/render/ActionButtonListDialog.vue.d.ts +0 -345
  414. package/types/core/src/components/common/render/Debugger.vue.d.ts +0 -10
  415. package/types/core/src/components/common/render/LowcodeRenderProvider.vue.d.ts +0 -26
  416. package/types/core/src/components/common/render/index.d.ts +0 -6
  417. package/types/core/src/components/common/render/useFormContext.d.ts +0 -148
  418. package/types/core/src/components/common/render/useFormDataProcessor.d.ts +0 -10
  419. package/types/core/src/components/contextMenu/WidgetContextMenu.vue.d.ts +0 -21
  420. package/types/core/src/components/contextMenu/useWidgetContextMenu.d.ts +0 -25
  421. package/types/core/src/components/index.d.ts +0 -16
  422. package/types/core/src/components/layout/LowcodeLayout.vue.d.ts +0 -24
  423. package/types/core/src/components/property-editor/index.d.ts +0 -3
  424. package/types/core/src/components/property-editor/propertyRegister.d.ts +0 -199
  425. package/types/core/src/components/property-editor/useEditor.d.ts +0 -19
  426. package/types/core/src/components/setting-plane/WidgetSettingPlane.vue.d.ts +0 -2
  427. package/types/core/src/components/setting-plane/form-crud-setting.vue.d.ts +0 -10
  428. package/types/core/src/components/setting-plane/form-setting.vue.d.ts +0 -332
  429. package/types/core/src/components/setting-plane/index.d.ts +0 -3
  430. package/types/core/src/components/setting-plane/index.vue.d.ts +0 -675
  431. package/types/core/src/components/settings/PanelItemDrag.vue.d.ts +0 -24
  432. package/types/core/src/components/settings/WidgetPanel.vue.d.ts +0 -20
  433. package/types/core/src/components/toolbar-panel/index.vue.d.ts +0 -689
  434. package/types/core/src/constants/EditorTypeEnum.d.ts +0 -151
  435. package/types/core/src/constants/LayoutTypeEnum.d.ts +0 -5
  436. package/types/core/src/constants/WidgetTypeEnum.d.ts +0 -65
  437. package/types/core/src/constants/index.d.ts +0 -12
  438. package/types/core/src/hooks/index.d.ts +0 -6
  439. package/types/core/src/hooks/useAppRef.d.ts +0 -9
  440. package/types/core/src/hooks/useDataHttp.d.ts +0 -207
  441. package/types/core/src/hooks/useDesigner.d.ts +0 -20
  442. package/types/core/src/hooks/useField.d.ts +0 -95
  443. package/types/core/src/hooks/useFormValidation.d.ts +0 -54
  444. package/types/core/src/hooks/useInputEvent.d.ts +0 -10
  445. package/types/core/src/hooks/useLowcode.d.ts +0 -22
  446. package/types/core/src/hooks/useNativeDragAndDrop.d.ts +0 -34
  447. package/types/core/src/lang/en-US.d.ts +0 -564
  448. package/types/core/src/lang/en-US_extension.d.ts +0 -23
  449. package/types/core/src/lang/en-US_render.d.ts +0 -38
  450. package/types/core/src/lang/zh-CN.d.ts +0 -584
  451. package/types/core/src/lang/zh-CN_extension.d.ts +0 -23
  452. package/types/core/src/lang/zh-CN_render.d.ts +0 -38
  453. package/types/core/src/types/button.d.ts +0 -17
  454. package/types/core/src/types/designer.d.ts +0 -74
  455. package/types/core/src/types/fileObject.d.ts +0 -7
  456. package/types/core/src/types/global.d.ts +0 -20
  457. package/types/core/src/types/index.d.ts +0 -8
  458. package/types/core/src/types/rowSelectionType.d.ts +0 -12
  459. package/types/core/src/types/schema.d.ts +0 -169
  460. package/types/core/src/types/widgetProps.d.ts +0 -8
  461. package/types/core/src/utils/emitter.d.ts +0 -17
  462. package/types/core/src/utils/event-bus.d.ts +0 -10
  463. package/types/core/src/utils/file.d.ts +0 -0
  464. package/types/core/src/utils/format.d.ts +0 -46
  465. package/types/core/src/utils/getFileName.d.ts +0 -1
  466. package/types/core/src/utils/i18n.d.ts +0 -27
  467. package/types/core/src/utils/index.d.ts +0 -8
  468. package/types/core/src/utils/insertAssetsToBody.d.ts +0 -3
  469. package/types/core/src/utils/request/handleAxiosError.d.ts +0 -11
  470. package/types/core/src/utils/request/http.d.ts +0 -4
  471. package/types/core/src/utils/smart-vue-i18n/index.d.ts +0 -11
  472. package/types/core/src/utils/transformWidgetList.d.ts +0 -2
  473. package/types/core/src/utils/useEmitter.d.ts +0 -31
  474. package/types/core/src/utils/util.d.ts +0 -81
  475. package/types/core/src/utils/validators.d.ts +0 -25
  476. package/types/core/src/utils/widgetRegistry.d.ts +0 -27
  477. package/types/pc/src/components/desginer/form-widget/RenderDesignerPC.vue.d.ts +0 -2
  478. package/types/pc/src/components/desginer/form-widget/container-widget/data-table-widget.vue.d.ts +0 -77
  479. package/types/pc/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.d.ts +0 -16
  480. package/types/pc/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.d.ts +0 -5
  481. package/types/pc/src/components/desginer/form-widget/container-widget/grid-widget.vue.d.ts +0 -5
  482. package/types/pc/src/components/desginer/form-widget/container-widget/index.d.ts +0 -153
  483. package/types/pc/src/components/desginer/form-widget/container-widget/tab-widget.vue.d.ts +0 -5
  484. package/types/pc/src/components/desginer/form-widget/container-widget/useTableWidget.d.ts +0 -274
  485. package/types/pc/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.d.ts +0 -32
  486. package/types/pc/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.d.ts +0 -33
  487. package/types/pc/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.d.ts +0 -4
  488. package/types/pc/src/components/desginer/form-widget/index.vue.d.ts +0 -171
  489. package/types/pc/src/components/desginer/index.vue.d.ts +0 -52
  490. package/types/pc/src/components/desginer/widget-panel/advanced/bpmn-editor.d.ts +0 -13
  491. package/types/pc/src/components/desginer/widget-panel/advanced/cascader.d.ts +0 -31
  492. package/types/pc/src/components/desginer/widget-panel/advanced/code-editor.d.ts +0 -18
  493. package/types/pc/src/components/desginer/widget-panel/advanced/data-table.d.ts +0 -52
  494. package/types/pc/src/components/desginer/widget-panel/advanced/diy-compontent.d.ts +0 -10
  495. package/types/pc/src/components/desginer/widget-panel/advanced/file-upload.d.ts +0 -24
  496. package/types/pc/src/components/desginer/widget-panel/advanced/index.d.ts +0 -8
  497. package/types/pc/src/components/desginer/widget-panel/advanced/rich-editor.d.ts +0 -22
  498. package/types/pc/src/components/desginer/widget-panel/advanced/tree-select.d.ts +0 -33
  499. package/types/pc/src/components/desginer/widget-panel/advanced/tree.d.ts +0 -27
  500. package/types/pc/src/components/desginer/widget-panel/advancedFieldsEnums.d.ts +0 -11
  501. package/types/pc/src/components/desginer/widget-panel/basicFields/button.d.ts +0 -17
  502. package/types/pc/src/components/desginer/widget-panel/basicFields/buttonList.d.ts +0 -22
  503. package/types/pc/src/components/desginer/widget-panel/basicFields/checkbox.d.ts +0 -27
  504. package/types/pc/src/components/desginer/widget-panel/basicFields/color.d.ts +0 -16
  505. package/types/pc/src/components/desginer/widget-panel/basicFields/date.d.ts +0 -29
  506. package/types/pc/src/components/desginer/widget-panel/basicFields/dateRange.d.ts +0 -29
  507. package/types/pc/src/components/desginer/widget-panel/basicFields/divider.d.ts +0 -12
  508. package/types/pc/src/components/desginer/widget-panel/basicFields/dropdown.d.ts +0 -18
  509. package/types/pc/src/components/desginer/widget-panel/basicFields/htmlText.d.ts +0 -11
  510. package/types/pc/src/components/desginer/widget-panel/basicFields/input.d.ts +0 -31
  511. package/types/pc/src/components/desginer/widget-panel/basicFields/number.d.ts +0 -26
  512. package/types/pc/src/components/desginer/widget-panel/basicFields/radio.d.ts +0 -38
  513. package/types/pc/src/components/desginer/widget-panel/basicFields/rate.d.ts +0 -23
  514. package/types/pc/src/components/desginer/widget-panel/basicFields/select.d.ts +0 -35
  515. package/types/pc/src/components/desginer/widget-panel/basicFields/slider.d.ts +0 -25
  516. package/types/pc/src/components/desginer/widget-panel/basicFields/staticText.d.ts +0 -11
  517. package/types/pc/src/components/desginer/widget-panel/basicFields/switch.d.ts +0 -19
  518. package/types/pc/src/components/desginer/widget-panel/basicFields/textarea.d.ts +0 -35
  519. package/types/pc/src/components/desginer/widget-panel/basicFields/time.d.ts +0 -26
  520. package/types/pc/src/components/desginer/widget-panel/basicFields/timeRange.d.ts +0 -27
  521. package/types/pc/src/components/desginer/widget-panel/basicFieldsEnums.d.ts +0 -38
  522. package/types/pc/src/components/desginer/widget-panel/containers/grid-col.d.ts +0 -17
  523. package/types/pc/src/components/desginer/widget-panel/containers/grid-sub-form.d.ts +0 -8
  524. package/types/pc/src/components/desginer/widget-panel/containers/grid.d.ts +0 -8
  525. package/types/pc/src/components/desginer/widget-panel/containers/index.d.ts +0 -8
  526. package/types/pc/src/components/desginer/widget-panel/containers/tab-pane.d.ts +0 -23
  527. package/types/pc/src/components/desginer/widget-panel/containers/tab.d.ts +0 -9
  528. package/types/pc/src/components/desginer/widget-panel/containers/vf-box.d.ts +0 -8
  529. package/types/pc/src/components/desginer/widget-panel/containers/vf-collapse.d.ts +0 -13
  530. package/types/pc/src/components/desginer/widget-panel/containers/vf-dialog.d.ts +0 -8
  531. package/types/pc/src/components/desginer/widget-panel/containersEnums.d.ts +0 -1
  532. package/types/pc/src/components/desginer/widget-panel/index.vue.d.ts +0 -8
  533. package/types/pc/src/components/desginer/widget-panel/widgetsConfig.d.ts +0 -28
  534. package/types/pc/src/components/field-widget/hooks/useSelect.d.ts +0 -72
  535. package/types/pc/src/components/field-widget/index.d.ts +0 -3
  536. package/types/pc/src/components/field-widget/useField.d.ts +0 -95
  537. package/types/pc/src/components/form-render/RenderWigetList.vue.d.ts +0 -27
  538. package/types/pc/src/components/form-render/container-items/data-table-widget.vue.d.ts +0 -95
  539. package/types/pc/src/components/form-render/container-items/grid-col-widget.vue.d.ts +0 -36
  540. package/types/pc/src/components/form-render/container-items/grid-sub-form-widget.vue.d.ts +0 -39
  541. package/types/pc/src/components/form-render/container-items/grid-widget.vue.d.ts +0 -35
  542. package/types/pc/src/components/form-render/container-items/index.d.ts +0 -255
  543. package/types/pc/src/components/form-render/container-items/tab-widget.vue.d.ts +0 -5
  544. package/types/pc/src/components/form-render/container-items/vf-box-widget.vue.d.ts +0 -32
  545. package/types/pc/src/components/form-render/container-items/vf-collapse-widget.vue.d.ts +0 -33
  546. package/types/pc/src/components/index.d.ts +0 -4
  547. package/types/pc/src/components/public/ActionButtonListRender.vue.d.ts +0 -121
  548. package/types/pc/src/components/public/ConfigView/CustomPageRender.vue.d.ts +0 -16
  549. package/types/pc/src/components/public/CustomerModal/CustomerModal.vue.d.ts +0 -14
  550. package/types/pc/src/components/public/CustomerModal/customerModal.d.ts +0 -6
  551. package/types/pc/src/components/public/CustomerModal/useCustomerModal.d.ts +0 -7
  552. package/types/pc/src/components/public/DynamicDialog.vue.d.ts +0 -97
  553. package/types/pc/src/components/render/index.vue.d.ts +0 -82
  554. package/types/pc/src/components/render/useRenderWidget.d.ts +0 -3
  555. package/types/pc/src/designer.d.ts +0 -233
  556. package/types/pc/src/hooks/useLowcode.d.ts +0 -21
  557. package/types/pc/src/hooks/useWidget.d.ts +0 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sources":["../../../../../core/src/utils/util.ts"],"sourcesContent":["import Clipboard from 'clipboard';\nimport { getLocat } from '@kp-ui/tool';\nimport { isArray, isEmpty, cloneDeep } from 'lodash-es';\n\nimport { FormConfig, Widget, FormJsonType } from '@kp-ui/lowcode-core';\n\nexport function isNull(value: unknown): value is null | undefined {\n return value === null || value === undefined;\n}\n\nexport function isNotNull(value: unknown): boolean {\n return value !== null && value !== undefined;\n}\n\nexport function isEmptyStr(str: unknown): boolean {\n //return (str === undefined) || (!str) || (!/[^\\s]/.test(str));\n return (\n str === undefined ||\n (!str && str !== 0 && str !== '0') ||\n (typeof str === 'string' && !/[^\\s]/.test(str))\n );\n}\n\nexport const generateId = function (): number {\n return Math.floor(Math.random() * 100000 + Math.random() * 20000 + Math.random() * 5000);\n};\n\nexport const deepClone = function <T>(origin: T): T {\n return cloneDeep(origin);\n};\n\nexport const overwriteObj = function <T extends Record<string, unknown>>(\n obj1: T,\n obj2: Partial<T>\n): void {\n /* 浅拷贝对象属性,obj2覆盖obj1 */\n Object.keys(obj2).forEach(prop => {\n (obj1 as Record<string, unknown>)[prop] = obj2[prop as keyof T];\n });\n};\n\nexport const insertCustomCssToHead = function (cssCode: string, formId = ''): void {\n const head = document.getElementsByTagName('head')[0];\n\n const newStyle = document.createElement('style');\n newStyle.type = 'text/css';\n newStyle.id = formId ? 'vform-custom-css' + '-' + formId : 'vform-custom-css';\n\n try {\n newStyle.appendChild(document.createTextNode(cssCode));\n } catch (ex) {\n (newStyle as HTMLStyleElement & { styleSheet?: { cssText: string } }).styleSheet!.cssText =\n cssCode;\n }\n\n head.appendChild(newStyle);\n};\n\nexport const insertGlobalFunctionsToHtml = function (functionsCode: string, formId = ''): void {\n const bodyEle = document.getElementsByTagName('body')[0];\n\n const newScriptEle = document.createElement('script');\n newScriptEle.id = formId ? 'v_form_global_functions' + '-' + formId : 'v_form_global_functions';\n newScriptEle.type = 'text/javascript';\n newScriptEle.innerHTML = functionsCode;\n bodyEle.appendChild(newScriptEle);\n};\n\nexport const optionExists = function (\n optionsObj: Record<string, unknown> | null | undefined,\n optionName: string\n): boolean {\n if (!optionsObj) {\n return false;\n }\n\n return Object.keys(optionsObj).indexOf(optionName) > -1;\n};\n\nexport const loadRemoteScript = function (srcPath: string, callback: () => void): void {\n /*加载远程js,加载成功后执行回调函数*/\n const sid = encodeURIComponent(srcPath);\n const oldScriptEle = document.getElementById(sid);\n\n if (!oldScriptEle) {\n let s: HTMLScriptElement | null = document.createElement('script');\n s.src = srcPath;\n s.id = sid;\n document.body.appendChild(s);\n\n s.onload = s.onreadystatechange = function (\n this: HTMLScriptElement,\n _?: Event | string,\n isAbort?: boolean\n ) {\n /* 借鉴自ace.js */\n const scriptEl = this as HTMLScriptElement & { readyState?: string };\n if (\n isAbort ||\n !scriptEl.readyState ||\n scriptEl.readyState === 'loaded' ||\n scriptEl.readyState === 'complete'\n ) {\n s = null;\n if (!isAbort) {\n callback();\n }\n }\n } as OnErrorEventHandler;\n }\n};\n\nexport type WidgetHandler = (widget: Widget, parent?: Widget | null) => void;\nexport type ContainerHandler = (container: Widget) => void;\n\nexport function traverseFieldWidgets(\n widgetList: Widget[] | undefined,\n handler: WidgetHandler,\n parent: Widget | null = null,\n staticWidgetsIncluded = false\n): void {\n if (!widgetList) {\n return;\n }\n\n widgetList.forEach(w => {\n if (w.formItemFlag || (w.formItemFlag === false && staticWidgetsIncluded)) {\n handler(w, parent);\n } else if (w.type === 'grid') {\n w.cols?.forEach(col => {\n traverseFieldWidgets(col.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'table') {\n w.rows?.forEach(row => {\n row.cols?.forEach(cell => {\n traverseFieldWidgets(cell.widgetList, handler, w, staticWidgetsIncluded);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs?.forEach(tab => {\n traverseFieldWidgets(tab.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n } else if (w.category === 'container') {\n //自定义容器\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n }\n });\n}\n\nexport function traverseContainerWidgets(\n widgetList: Widget[] | undefined,\n handler: ContainerHandler\n): void {\n if (!widgetList?.length) {\n return;\n }\n\n widgetList.forEach(w => {\n if (w.category === 'container') {\n handler(w);\n }\n\n if (w.type === 'grid') {\n w.cols?.forEach(col => {\n traverseContainerWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows?.forEach(row => {\n row.cols?.forEach(cell => {\n traverseContainerWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs?.forEach(tab => {\n traverseContainerWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseContainerWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseContainerWidgets(w.widgetList, handler);\n }\n });\n}\n\nexport function traverseAllWidgets(\n widgetList: Widget[] | undefined,\n handler: (widget: Widget) => void\n): void {\n if (!widgetList) {\n return;\n }\n\n widgetList.forEach(w => {\n handler(w);\n\n if (w.type === 'grid') {\n w.cols?.forEach(col => {\n handler(col as unknown as Widget);\n traverseAllWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows?.forEach(row => {\n row.cols?.forEach(cell => {\n handler(cell as unknown as Widget);\n traverseAllWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs?.forEach(tab => {\n traverseAllWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseAllWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseAllWidgets(w.widgetList, handler);\n }\n });\n}\n\nfunction handleWidgetForTraverse(widget: Widget, handler: WidgetHandler): void {\n if (widget.category && widget.category === 'container') {\n traverseFieldWidgetsOfContainer(widget, handler);\n } else if (widget.formItemFlag) {\n handler(widget);\n }\n}\n\n/**\n * 遍历容器内的字段组件\n * @param con\n * @param handler\n */\nexport function traverseFieldWidgetsOfContainer(con: Widget, handler: WidgetHandler): void {\n if (con.type === 'grid') {\n con.cols?.forEach(col => {\n col.widgetList?.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'table') {\n con.rows?.forEach(row => {\n row.cols?.forEach(cell => {\n cell.widgetList?.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs?.forEach(tab => {\n tab.widgetList?.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList?.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList?.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n }\n}\n\nfunction handleContainerTraverse(\n widget: Widget,\n fieldHandler: WidgetHandler,\n containerHandler: ContainerHandler\n): void {\n if (widget.category && widget.category === 'container') {\n traverseWidgetsOfContainer(widget, fieldHandler, containerHandler);\n } else if (widget.formItemFlag) {\n fieldHandler(widget);\n }\n}\n\n/**\n * 遍历容器内部的字段组件和容器组件\n * @param con\n * @param fieldHandler\n * @param containerHandler\n */\nexport function traverseWidgetsOfContainer(\n con: Widget,\n fieldHandler: WidgetHandler,\n containerHandler: ContainerHandler\n): void {\n if (con.type === 'grid') {\n con.cols?.forEach(col => {\n col.widgetList?.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'table') {\n con.rows?.forEach(row => {\n row.cols?.forEach(cell => {\n cell.widgetList?.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs?.forEach(tab => {\n tab.widgetList?.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList?.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList?.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n }\n}\n\nexport interface FieldWidgetInfo {\n type: string;\n name: string | undefined;\n field: Widget;\n}\n\n/**\n * 获取所有字段组件\n * @param widgetList\n * @param staticWidgetsIncluded 是否包含按钮等静态组件,默认不包含\n * @returns {[]}\n */\nexport function getAllFieldWidgets(\n widgetList: Widget[] | undefined,\n staticWidgetsIncluded = false\n): FieldWidgetInfo[] {\n if (!widgetList) {\n return [];\n }\n\n const result: FieldWidgetInfo[] = [];\n const handlerFn: WidgetHandler = w => {\n result.push({\n type: w.type,\n name: w.options?.name,\n field: w\n });\n };\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n\n return result;\n}\n\nexport interface ContainerWidgetInfo {\n type: string;\n name: string | undefined;\n container: Widget;\n}\n\n/**\n * 获取所有容器组件\n * @param widgetList\n * @returns {[]}\n */\nexport function getAllContainerWidgets(widgetList: Widget[] | undefined): ContainerWidgetInfo[] {\n if (!widgetList) {\n return [];\n }\n\n const result: ContainerWidgetInfo[] = [];\n const handlerFn: ContainerHandler = w => {\n result.push({\n type: w.type,\n name: w.options?.name,\n container: w\n });\n };\n traverseContainerWidgets(widgetList, handlerFn);\n\n return result;\n}\n\nexport function getFieldWidgetByName(\n widgetList: Widget[] | undefined,\n fieldName: string,\n staticWidgetsIncluded?: boolean\n): Widget | null {\n if (!widgetList) {\n return null;\n }\n\n let foundWidget: Widget | null = null;\n const handlerFn: WidgetHandler = widget => {\n if (widget.options?.name === fieldName) {\n foundWidget = widget;\n }\n };\n\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n return foundWidget;\n}\n\nexport function getContainerWidgetByName(\n widgetList: Widget[] | undefined,\n containerName: string\n): Widget | null {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer: Widget | null = null;\n const handlerFn: ContainerHandler = con => {\n if (con.options?.name === containerName) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\nexport function getContainerWidgetById(\n widgetList: Widget[] | undefined,\n containerId: string\n): Widget | null {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer: Widget | null = null;\n const handlerFn: ContainerHandler = con => {\n if (con.id === containerId) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\ninterface MessageApi {\n success: (msg: string) => void;\n error: (msg: string) => void;\n}\n\nexport function copyToClipboard(\n content: string,\n clickEvent: MouseEvent,\n $message: MessageApi,\n successMsg: string,\n errorMsg: string\n): void {\n const clipboard = new Clipboard(clickEvent.target as Element, {\n text: () => content\n });\n\n clipboard.on('success', () => {\n $message.success(successMsg);\n clipboard.destroy();\n });\n\n clipboard.on('error', () => {\n $message.error(errorMsg);\n clipboard.destroy();\n });\n\n clipboard.onClick(clickEvent);\n}\n\nexport function getQueryParam(variable: string): string | undefined {\n const query = window.location.search.substring(1);\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n if (pair[0] == variable) {\n return pair[1];\n }\n }\n\n return undefined;\n}\n\nexport function getDefaultFormConfig(): FormConfig {\n const { formCode = '' } = getLocat() as { formCode?: string };\n\n return {\n labelWidth: 80,\n labelPosition: 'horizontal', //'left',\n size: '',\n labelAlign: 'right',\n cssCode: '',\n customClass: [],\n\n isEnterSubmit: 0,\n\n buttonList: [],\n\n functions: '', //全局函数\n layoutType: 'PC',\n scaleMode: 'auto',\n onFormCreated: '',\n onFormMounted: `\n if(!this.vfCtx) return\n if(!this.vfCtx._id) return\n const type = this.vfCtx.type\n this.setReadMode(type==='view')\n this.onFormDetail().then(res=>{\n this.setFormData({...res})\n })\n `,\n\n onFormDataChange: '',\n\n serveList: {\n list: [],\n vformUpdate: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formSubmit`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: ''\n },\n vformDetail: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formLoad`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: 'return data.data.object||{}'\n }\n }\n };\n}\n\nexport function buildDefaultFormJson(): FormJsonType {\n return {\n widgetList: [],\n formConfig: deepClone(getDefaultFormConfig())\n };\n}\n\nexport function cloneFormConfigWithoutEventHandler(formConfig: FormConfig): FormConfig {\n const newFC = deepClone(formConfig);\n newFC.onFormCreated = '';\n newFC.onFormMounted = '';\n newFC.onFormDataChange = '';\n\n return newFC;\n}\n\n/**\n * 转译选择项数据\n * @param rawData\n * @param widgetType\n * @param labelKey\n * @param valueKey\n * @returns {[]}\n */\nexport function translateOptionItems<T extends Record<string, unknown>>(\n rawData: T[],\n widgetType: string,\n labelKey: string,\n valueKey: string\n): Array<{ label: unknown; value: unknown }> | T[] {\n if (['cascader', 'treeSelect', 'select'].includes(widgetType)) {\n // 级联选择不转译\n return deepClone(rawData);\n }\n\n const result: Array<{ label: unknown; value: unknown }> = [];\n if (rawData && rawData.length > 0) {\n rawData.forEach(ri => {\n result.push({\n label: ri[labelKey],\n value: ri[valueKey]\n });\n });\n }\n\n return rawData; //result;\n}\n\nexport function getDSByName(\n formConfig: FormConfig,\n dsName: string\n): { uniqueName: string; [key: string]: unknown } | null {\n let resultDS: { uniqueName: string; [key: string]: unknown } | null = null;\n if (dsName && formConfig.dataSources) {\n formConfig.dataSources.forEach(ds => {\n if (ds.uniqueName === dsName) {\n resultDS = ds;\n }\n });\n }\n\n return resultDS;\n}\n"],"names":["_a"],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import { isNull } from "./util.js";
2
+ const commonRegExp = {
3
+ number: /^[-]?\d+(\.\d+)?$/,
4
+ letter: /^[A-Za-z]+$/,
5
+ letterAndNumber: /^[A-Za-z0-9]+$/,
6
+ mobilePhone: /^[1][3-9][0-9]{9}$/,
7
+ letterStartNumberIncluded: /^[A-Za-z]+[A-Za-z\d]*$/,
8
+ noChinese: /^[^\u4e00-\u9fa5]+$/,
9
+ chinese: /^[\u4e00-\u9fa5]+$/,
10
+ email: /^([-_A-Za-z0-9.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/,
11
+ url: /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/
12
+ };
13
+ const getRegExp = function(validatorName) {
14
+ return commonRegExp[validatorName];
15
+ };
16
+ const parseRegExpString = (regExpStr) => {
17
+ try {
18
+ const match = regExpStr.match(/^\/(.+)\/([gimsuy]*)$/);
19
+ if (match) {
20
+ return new RegExp(match[1], match[2]);
21
+ }
22
+ return new RegExp(regExpStr);
23
+ } catch {
24
+ return null;
25
+ }
26
+ };
27
+ const validateFn = function(validatorName, rule, value, defaultErrorMsg) {
28
+ try {
29
+ if (isNull(value) || typeof value === "string" && value.length <= 0) {
30
+ return Promise.resolve();
31
+ }
32
+ const reg = getRegExp(validatorName);
33
+ if (!reg) {
34
+ return Promise.resolve();
35
+ }
36
+ if (!reg.test(String(value))) {
37
+ const errTxt = rule.errorMsg || defaultErrorMsg;
38
+ return Promise.reject(errTxt);
39
+ } else {
40
+ return Promise.resolve();
41
+ }
42
+ } catch (error) {
43
+ return Promise.resolve();
44
+ }
45
+ };
46
+ const FormValidators = {
47
+ /* 数字 */
48
+ number(rule, value) {
49
+ return validateFn("number", rule, value, "[" + rule.label + "]包含非数字字符");
50
+ },
51
+ /* 字母 */
52
+ letter(rule, value) {
53
+ return validateFn("letter", rule, value, "[" + rule.label + "]包含非字母字符");
54
+ },
55
+ /* 字母和数字 */
56
+ letterAndNumber(rule, value) {
57
+ return validateFn("letterAndNumber", rule, value, "[" + rule.label + "]只能输入字母或数字");
58
+ },
59
+ /* 手机号码 */
60
+ mobilePhone(rule, value) {
61
+ return validateFn("mobilePhone", rule, value, "[" + rule.label + "]手机号码格式有误");
62
+ },
63
+ /* 禁止空白字符开头 */
64
+ noBlankStart(_rule, _value) {
65
+ },
66
+ /* 禁止空白字符结尾 */
67
+ noBlankEnd(_rule, _value) {
68
+ },
69
+ /* 字母开头,仅可包含数字 */
70
+ letterStartNumberIncluded(rule, value) {
71
+ return validateFn(
72
+ "letterStartNumberIncluded",
73
+ rule,
74
+ value,
75
+ "[" + rule.label + "]必须以字母开头,可包含数字"
76
+ );
77
+ },
78
+ /* 禁止中文输入 */
79
+ noChinese(rule, value) {
80
+ return validateFn("noChinese", rule, value, "[" + rule.label + "]不可输入中文字符");
81
+ },
82
+ /* 必须中文输入 */
83
+ chinese(rule, value) {
84
+ return validateFn("chinese", rule, value, "[" + rule.label + "]只能输入中文字符");
85
+ },
86
+ /* 电子邮箱 */
87
+ email(rule, value) {
88
+ return validateFn("email", rule, value, "[" + rule.label + "]邮箱格式有误");
89
+ },
90
+ /* URL网址 */
91
+ url(rule, value) {
92
+ return validateFn("url", rule, value, "[" + rule.label + "]URL格式有误");
93
+ },
94
+ regExp(rule, value) {
95
+ if (isNull(value) || typeof value === "string" && value.length <= 0) {
96
+ return Promise.resolve();
97
+ }
98
+ const pattern = parseRegExpString(rule.regExp || "");
99
+ if (!pattern) {
100
+ return Promise.resolve();
101
+ }
102
+ if (!pattern.test(String(value))) {
103
+ const errTxt = rule.errorMsg || "[" + rule.label + "]invalid value";
104
+ return Promise.reject(errTxt);
105
+ } else {
106
+ return Promise.resolve();
107
+ }
108
+ }
109
+ };
110
+ export {
111
+ FormValidators as default,
112
+ getRegExp
113
+ };
114
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sources":["../../../../../core/src/utils/validators.ts"],"sourcesContent":["import { isNull } from './util';\n\ntype RegExpName =\n | 'number'\n | 'letter'\n | 'letterAndNumber'\n | 'mobilePhone'\n | 'letterStartNumberIncluded'\n | 'noChinese'\n | 'chinese'\n | 'email'\n | 'url';\n\ninterface ValidationRule {\n label?: string;\n errorMsg?: string;\n regExp?: string;\n [key: string]: unknown;\n}\n\n// 直接存储 RegExp 对象,避免使用 eval\nconst commonRegExp: Record<RegExpName, RegExp> = {\n number: /^[-]?\\d+(\\.\\d+)?$/,\n letter: /^[A-Za-z]+$/,\n letterAndNumber: /^[A-Za-z0-9]+$/,\n mobilePhone: /^[1][3-9][0-9]{9}$/,\n letterStartNumberIncluded: /^[A-Za-z]+[A-Za-z\\d]*$/,\n noChinese: /^[^\\u4e00-\\u9fa5]+$/,\n chinese: /^[\\u4e00-\\u9fa5]+$/,\n email: /^([-_A-Za-z0-9.]+)@([_A-Za-z0-9]+\\.)+[A-Za-z0-9]{2,3}$/,\n url: /^([hH][tT]{2}[pP]:\\/\\/|[hH][tT]{2}[pP][sS]:\\/\\/)(([A-Za-z0-9-~]+)\\.)+([A-Za-z0-9-~\\/])+$/\n};\n\nexport const getRegExp = function (validatorName: RegExpName): RegExp | undefined {\n return commonRegExp[validatorName];\n};\n\n/**\n * 将正则表达式字符串转换为 RegExp 对象\n * 支持格式: '/pattern/flags' 或 'pattern'\n */\nconst parseRegExpString = (regExpStr: string): RegExp | null => {\n try {\n // 处理 /pattern/flags 格式\n const match = regExpStr.match(/^\\/(.+)\\/([gimsuy]*)$/);\n if (match) {\n return new RegExp(match[1], match[2]);\n }\n // 普通字符串作为 pattern\n return new RegExp(regExpStr);\n } catch {\n return null;\n }\n};\n\nconst validateFn = function (\n validatorName: RegExpName,\n rule: ValidationRule,\n value: unknown,\n defaultErrorMsg: string\n): Promise<void> {\n try {\n // 空值不校验\n if (isNull(value) || (typeof value === 'string' && value.length <= 0)) {\n return Promise.resolve();\n }\n\n const reg = getRegExp(validatorName);\n if (!reg) {\n return Promise.resolve();\n }\n\n if (!reg.test(String(value))) {\n const errTxt = rule.errorMsg || defaultErrorMsg;\n return Promise.reject(errTxt);\n } else {\n return Promise.resolve();\n }\n } catch (error) {\n return Promise.resolve();\n }\n};\n\ntype ValidatorFn = (rule: ValidationRule, value: unknown) => Promise<void> | void;\n\ninterface FormValidatorsType {\n number: ValidatorFn;\n letter: ValidatorFn;\n letterAndNumber: ValidatorFn;\n mobilePhone: ValidatorFn;\n noBlankStart: ValidatorFn;\n noBlankEnd: ValidatorFn;\n letterStartNumberIncluded: ValidatorFn;\n noChinese: ValidatorFn;\n chinese: ValidatorFn;\n email: ValidatorFn;\n url: ValidatorFn;\n regExp: ValidatorFn;\n}\n\nconst FormValidators: FormValidatorsType = {\n /* 数字 */\n number(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('number', rule, value, '[' + rule.label + ']包含非数字字符');\n },\n\n /* 字母 */\n letter(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('letter', rule, value, '[' + rule.label + ']包含非字母字符');\n },\n\n /* 字母和数字 */\n letterAndNumber(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('letterAndNumber', rule, value, '[' + rule.label + ']只能输入字母或数字');\n },\n\n /* 手机号码 */\n mobilePhone(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('mobilePhone', rule, value, '[' + rule.label + ']手机号码格式有误');\n },\n\n /* 禁止空白字符开头 */\n noBlankStart(_rule: ValidationRule, _value: unknown): void {\n //暂未实现\n },\n\n /* 禁止空白字符结尾 */\n noBlankEnd(_rule: ValidationRule, _value: unknown): void {\n //暂未实现\n },\n\n /* 字母开头,仅可包含数字 */\n letterStartNumberIncluded(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn(\n 'letterStartNumberIncluded',\n rule,\n value,\n '[' + rule.label + ']必须以字母开头,可包含数字'\n );\n },\n\n /* 禁止中文输入 */\n noChinese(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('noChinese', rule, value, '[' + rule.label + ']不可输入中文字符');\n },\n\n /* 必须中文输入 */\n chinese(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('chinese', rule, value, '[' + rule.label + ']只能输入中文字符');\n },\n\n /* 电子邮箱 */\n email(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('email', rule, value, '[' + rule.label + ']邮箱格式有误');\n },\n\n /* URL网址 */\n url(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('url', rule, value, '[' + rule.label + ']URL格式有误');\n },\n\n regExp(rule: ValidationRule, value: unknown): Promise<void> {\n // 空值不校验\n if (isNull(value) || (typeof value === 'string' && value.length <= 0)) {\n return Promise.resolve();\n }\n\n const pattern = parseRegExpString(rule.regExp || '');\n if (!pattern) {\n return Promise.resolve();\n }\n\n if (!pattern.test(String(value))) {\n const errTxt = rule.errorMsg || '[' + rule.label + ']invalid value';\n return Promise.reject(errTxt);\n } else {\n return Promise.resolve();\n }\n }\n};\n\nexport default FormValidators;\n"],"names":[],"mappings":";AAqBA,MAAM,eAA2C;AAAA,EAC7C,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,2BAA2B;AAAA,EAC3B,WAAW;AAAA,EACX,SAAS;AAAA,EACT,OAAO;AAAA,EACP,KAAK;AACT;AAEO,MAAM,YAAY,SAAU,eAA+C;AAC9E,SAAO,aAAa,aAAa;AACrC;AAMA,MAAM,oBAAoB,CAAC,cAAqC;AAC5D,MAAI;AAEA,UAAM,QAAQ,UAAU,MAAM,uBAAuB;AACrD,QAAI,OAAO;AACP,aAAO,IAAI,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAAA,IACxC;AAEA,WAAO,IAAI,OAAO,SAAS;AAAA,EAC/B,QAAQ;AACJ,WAAO;AAAA,EACX;AACJ;AAEA,MAAM,aAAa,SACf,eACA,MACA,OACA,iBACa;AACb,MAAI;AAEA,QAAI,OAAO,KAAK,KAAM,OAAO,UAAU,YAAY,MAAM,UAAU,GAAI;AACnE,aAAO,QAAQ,QAAA;AAAA,IACnB;AAEA,UAAM,MAAM,UAAU,aAAa;AACnC,QAAI,CAAC,KAAK;AACN,aAAO,QAAQ,QAAA;AAAA,IACnB;AAEA,QAAI,CAAC,IAAI,KAAK,OAAO,KAAK,CAAC,GAAG;AAC1B,YAAM,SAAS,KAAK,YAAY;AAChC,aAAO,QAAQ,OAAO,MAAM;AAAA,IAChC,OAAO;AACH,aAAO,QAAQ,QAAA;AAAA,IACnB;AAAA,EACJ,SAAS,OAAO;AACZ,WAAO,QAAQ,QAAA;AAAA,EACnB;AACJ;AAmBA,MAAM,iBAAqC;AAAA;AAAA,EAEvC,OAAO,MAAsB,OAA+B;AACxD,WAAO,WAAW,UAAU,MAAM,OAAO,MAAM,KAAK,QAAQ,UAAU;AAAA,EAC1E;AAAA;AAAA,EAGA,OAAO,MAAsB,OAA+B;AACxD,WAAO,WAAW,UAAU,MAAM,OAAO,MAAM,KAAK,QAAQ,UAAU;AAAA,EAC1E;AAAA;AAAA,EAGA,gBAAgB,MAAsB,OAA+B;AACjE,WAAO,WAAW,mBAAmB,MAAM,OAAO,MAAM,KAAK,QAAQ,YAAY;AAAA,EACrF;AAAA;AAAA,EAGA,YAAY,MAAsB,OAA+B;AAC7D,WAAO,WAAW,eAAe,MAAM,OAAO,MAAM,KAAK,QAAQ,WAAW;AAAA,EAChF;AAAA;AAAA,EAGA,aAAa,OAAuB,QAAuB;AAAA,EAE3D;AAAA;AAAA,EAGA,WAAW,OAAuB,QAAuB;AAAA,EAEzD;AAAA;AAAA,EAGA,0BAA0B,MAAsB,OAA+B;AAC3E,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM,KAAK,QAAQ;AAAA,IAAA;AAAA,EAE3B;AAAA;AAAA,EAGA,UAAU,MAAsB,OAA+B;AAC3D,WAAO,WAAW,aAAa,MAAM,OAAO,MAAM,KAAK,QAAQ,WAAW;AAAA,EAC9E;AAAA;AAAA,EAGA,QAAQ,MAAsB,OAA+B;AACzD,WAAO,WAAW,WAAW,MAAM,OAAO,MAAM,KAAK,QAAQ,WAAW;AAAA,EAC5E;AAAA;AAAA,EAGA,MAAM,MAAsB,OAA+B;AACvD,WAAO,WAAW,SAAS,MAAM,OAAO,MAAM,KAAK,QAAQ,SAAS;AAAA,EACxE;AAAA;AAAA,EAGA,IAAI,MAAsB,OAA+B;AACrD,WAAO,WAAW,OAAO,MAAM,OAAO,MAAM,KAAK,QAAQ,UAAU;AAAA,EACvE;AAAA,EAEA,OAAO,MAAsB,OAA+B;AAExD,QAAI,OAAO,KAAK,KAAM,OAAO,UAAU,YAAY,MAAM,UAAU,GAAI;AACnE,aAAO,QAAQ,QAAA;AAAA,IACnB;AAEA,UAAM,UAAU,kBAAkB,KAAK,UAAU,EAAE;AACnD,QAAI,CAAC,SAAS;AACV,aAAO,QAAQ,QAAA;AAAA,IACnB;AAEA,QAAI,CAAC,QAAQ,KAAK,OAAO,KAAK,CAAC,GAAG;AAC9B,YAAM,SAAS,KAAK,YAAY,MAAM,KAAK,QAAQ;AACnD,aAAO,QAAQ,OAAO,MAAM;AAAA,IAChC,OAAO;AACH,aAAO,QAAQ,QAAA;AAAA,IACnB;AAAA,EACJ;AACJ;"}
package/install.js ADDED
@@ -0,0 +1,31 @@
1
+ /* empty css */
2
+ import { getLocat, getUserInfo } from "@kp-ui/tool";
3
+ import { VxeTooltip } from "vxe-pc-ui";
4
+ import dayjs from "dayjs";
5
+ import { http } from "tmgc2-share";
6
+ import { default as default2 } from "./src/components/render/index.vue.js";
7
+ import { useLowcode } from "./src/hooks/useLowcode.js";
8
+ import { default as default3 } from "./src/components/public/ConfigView/CustomPageRender.vue.js";
9
+ const registerLowcodeCore = (params) => {
10
+ const { app, factoryRender } = params;
11
+ app.config.globalProperties.$http = http;
12
+ app.config.globalProperties.$getLocat = getLocat;
13
+ app.config.globalProperties.$dayjs = dayjs;
14
+ app.config.globalProperties.$getUserInfo = getUserInfo;
15
+ app.config.globalProperties.$factoryRender = factoryRender;
16
+ app.config.globalProperties.$openCustomerModal = (ops) => {
17
+ import("./src/components/public/CustomerModal/useCustomerModal.js").then(
18
+ ({ openCustomerModal }) => {
19
+ openCustomerModal(ops, app);
20
+ }
21
+ );
22
+ };
23
+ app.component("VxeTooltip", VxeTooltip);
24
+ };
25
+ export {
26
+ default3 as CustomPageRender,
27
+ default2 as VFormRender,
28
+ registerLowcodeCore,
29
+ useLowcode
30
+ };
31
+ //# sourceMappingURL=install.js.map
package/install.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sources":["../install.ts"],"sourcesContent":["import '@kp-ui/lowcode-core/src/styles/global.less';\nimport { getLocat, getUserInfo } from '@kp-ui/tool';\nimport { VxeTooltip } from 'vxe-pc-ui';\nimport dayjs from 'dayjs';\nimport { App } from 'vue';\nimport { http } from 'tmgc2-share';\n\nexport { default as VFormRender } from './src/components/render/index.vue';\n\nexport * from './src/hooks/useLowcode';\n\nexport { default as CustomPageRender } from './src/components/public/ConfigView/CustomPageRender.vue';\ninterface RegisterLowcodeCoreParams {\n app: App;\n factoryRender: (name: any, props: any, ...args: any[]) => any;\n}\n\n// 注册 HTTP\nexport const registerLowcodeCore = (params: RegisterLowcodeCoreParams) => {\n const { app, factoryRender } = params;\n\n app.config.globalProperties.$http = http;\n app.config.globalProperties.$getLocat = getLocat;\n app.config.globalProperties.$dayjs = dayjs;\n app.config.globalProperties.$getUserInfo = getUserInfo;\n app.config.globalProperties.$factoryRender = factoryRender;\n app.config.globalProperties.$openCustomerModal = ops => {\n import('./src/components/public/CustomerModal/useCustomerModal').then(\n ({ openCustomerModal }) => {\n openCustomerModal(ops, app);\n }\n );\n };\n app.component('VxeTooltip', VxeTooltip);\n};\n"],"names":[],"mappings":";;;;;;;;AAkBO,MAAM,sBAAsB,CAAC,WAAsC;AACtE,QAAM,EAAE,KAAK,cAAA,IAAkB;AAE/B,MAAI,OAAO,iBAAiB,QAAQ;AACpC,MAAI,OAAO,iBAAiB,YAAY;AACxC,MAAI,OAAO,iBAAiB,SAAS;AACrC,MAAI,OAAO,iBAAiB,eAAe;AAC3C,MAAI,OAAO,iBAAiB,iBAAiB;AAC7C,MAAI,OAAO,iBAAiB,qBAAqB,CAAA,QAAO;AACpD,WAAO,2DAAwD,EAAE;AAAA,MAC7D,CAAC,EAAE,kBAAA,MAAwB;AACvB,0BAAkB,KAAK,GAAG;AAAA,MAC9B;AAAA,IAAA;AAAA,EAER;AACA,MAAI,UAAU,cAAc,UAAU;AAC1C;"}
package/package.json CHANGED
@@ -1,12 +1,17 @@
1
1
  {
2
2
  "name": "@kp-ui/lowcode-pc",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"
7
7
  },
8
8
  "module": "index.js",
9
9
  "dependencies": {
10
+ "vxe-pc-ui": "4.10.29",
11
+ "vxe-table": "4.17.18",
12
+ "vuedraggable": "^4.0.0",
13
+ "bpmn-js": "13.2.0",
14
+ "vue-json-viewer": "^3.0.1",
10
15
  "ant-design-vue": "4.2.6",
11
16
  "query-string": "^6.14.1",
12
17
  "dayjs": "^1.11.7",
@@ -18,15 +23,15 @@
18
23
  "echarts": "^5.6.0"
19
24
  },
20
25
  "main": "index.js",
21
- "types": "types/index.d.ts",
26
+ "types": "types/pc/install.d.ts",
22
27
  "sideEffects": [
23
28
  "./assets/styles/*",
24
29
  "./_virtual/*"
25
30
  ],
26
31
  "exports": {
27
32
  ".": {
28
- "import": "./index.js",
29
- "types": "./types/index.d.ts"
33
+ "import": "./install.js",
34
+ "types": "./types/pc/install.d.ts"
30
35
  },
31
36
  "./style": "./assets/styles/style.css",
32
37
  "./styles/*": "./assets/styles/*"
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./data-table-widget.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const dataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d47a2444"]]);
5
+ export {
6
+ dataTableWidget as default
7
+ };
8
+ //# sourceMappingURL=data-table-widget.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,6 +1,8 @@
1
- import { defineComponent, watchEffect, onMounted, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle, createVNode } from "vue";
2
- import { C as ComponentNameEnum, e as ContainerTypeEnum, h as useField, i as useTableWidget, _ as _export_sfc } from "./install.mjs";
1
+ import { defineComponent, ref, watchEffect, onMounted, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle, createVNode } from "vue";
2
+ import { useTableWidget } from "./useTableWidget.js";
3
3
  import { useVxeTable, Table } from "tmgc2-share";
4
+ import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
5
+ import { useField } from "../../../../../core/src/hooks/useField.js";
4
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
7
  ...{
6
8
  name: ContainerTypeEnum.DataTable,
@@ -17,7 +19,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
19
  },
18
20
  setup(__props, { expose: __expose }) {
19
21
  const props = __props;
20
- const { fieldModel, handleHidden, defineExposed } = useField(props);
22
+ const { fieldModel, handleHidden, defineExposed, designState } = useField(props);
23
+ ref(false);
24
+ const columnList = ref([]);
21
25
  const {
22
26
  isLoading,
23
27
  tableProps,
@@ -29,6 +33,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
29
33
  initTableSoureData,
30
34
  tableDefinExpoed
31
35
  } = useTableWidget({
36
+ designState,
32
37
  fieldModel,
33
38
  props
34
39
  });
@@ -37,7 +42,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
37
42
  total: props.field.options.showPagination ? 1 : 0
38
43
  });
39
44
  });
40
- const { tableRef, setTableProps, register } = useVxeTable({
45
+ const { tableRef, register } = useVxeTable({
41
46
  props: {
42
47
  rowKey: props.field.options.rowKey,
43
48
  clickRowCheck: props.field.options.colorRow
@@ -55,6 +60,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
55
60
  }
56
61
  }
57
62
  });
63
+ const initColumnList = () => {
64
+ const tableColumns = props.field.options.tableColumns || [];
65
+ if (tableColumns.length > 0) {
66
+ columnList.value = tableColumns.map((col) => ({
67
+ ...col,
68
+ visible: col.show !== false,
69
+ title: col.title || col.dataIndex
70
+ }));
71
+ }
72
+ };
58
73
  watchEffect(() => {
59
74
  if (tableRef.value) {
60
75
  setTableRef(tableRef.value);
@@ -62,6 +77,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
62
77
  });
63
78
  onMounted(() => {
64
79
  initTableSoureData();
80
+ initColumnList();
65
81
  });
66
82
  __expose({
67
83
  ...defineExposed,
@@ -86,7 +102,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
86
102
  };
87
103
  }
88
104
  });
89
- const dataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ad6fb3c4"]]);
90
105
  export {
91
- dataTableWidget as default
106
+ _sfc_main as default
92
107
  };
108
+ //# sourceMappingURL=data-table-widget.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/data-table-widget.vue"],"sourcesContent":["<template>\n <div class=\"talbe-wrapper\" v-if=\"!handleHidden\" :style=\"{ width: tableWidth }\">\n <Table\n :tableProps=\"tableProps\"\n @register=\"register\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n @change=\"handleTableChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, onMounted, watchEffect } from 'vue';\n import { ContainerTypeEnum, ComponentNameEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { useTableWidget } from './useTableWidget';\n import { useField } from '@kp-ui/lowcode-core';\n import { useVxeTable, Table, SvgIcon } from 'tmgc2-share';\n import { DataTableWidget } from '../../widget-panel/advanced';\n import DataTableColumnDialog from '../../../public/DataTableColumnDialog.vue';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { fieldModel, handleHidden, defineExposed, designState } = useField(props);\n\n // 列管理相关\n const columnDialogVisible = ref(false);\n const columnList = ref<any[]>([]);\n\n const {\n isLoading,\n tableProps,\n pagintion,\n tableWidth,\n setPagination,\n handleTableChange,\n setTableRef,\n initTableSoureData,\n tableDefinExpoed\n } = useTableWidget({\n designState,\n fieldModel,\n props\n });\n\n watchEffect(() => {\n setPagination({\n total: props.field.options.showPagination ? 1 : 0\n });\n });\n\n const { tableRef, register } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n columnResizableChange: data => {\n const { field, resizeWidth } = data.resizeColumn;\n if (field) {\n const column = props.field.options.tableColumns.find(\n item => item.dataIndex === field\n );\n column.isAutoWidth = false;\n column.width = resizeWidth;\n }\n }\n }\n });\n\n // 打开列管理弹窗\n const openColumnDialog = () => {\n columnDialogVisible.value = true;\n };\n\n // 处理列更新\n const handleUpdateColumns = (newColumns: any[]) => {\n // 更新原始配置,同步 show 属性\n if (props.field.options.tableColumns) {\n props.field.options.tableColumns = props.field.options.tableColumns.map(col => {\n const found = newColumns.find(item => item.dataIndex === col.dataIndex);\n if (found) {\n return { ...col, show: found.visible !== false };\n }\n return col;\n });\n }\n // 清除 vxe-table storage 中的列配置\n clearTableStorage();\n // 重新初始化列列表\n initColumnList();\n };\n\n // 初始化列列表\n const initColumnList = () => {\n const tableColumns = props.field.options.tableColumns || [];\n if (tableColumns.length > 0) {\n columnList.value = tableColumns.map(col => ({\n ...col,\n visible: col.show !== false,\n title: col.title || col.dataIndex\n }));\n }\n };\n\n // 清除 vxe-table storage 中的列配置\n const clearTableStorage = () => {\n // 清除当前表格的 storage key(包含表格 id)\n const tableId = props.field.id || props.field.options.name;\n const keysToRemove: string[] = [];\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n // 查找包含表格 id 的 storage key\n if (key && key.includes(tableId)) {\n keysToRemove.push(key);\n }\n }\n keysToRemove.forEach(key => localStorage.removeItem(key));\n };\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n initTableSoureData();\n initColumnList();\n });\n\n defineExpose({\n ...defineExposed,\n ...tableDefinExpoed,\n setPagination,\n fieldEditor: tableRef.value\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .top-action {\n display: flex;\n gap: 8px;\n padding: 4px 0 8px;\n }\n\n .talbe-wrapper {\n width: 100%;\n // display: flex;\n .vxe-grid {\n width: 100%;\n }\n &__pagination {\n margin-top: 10px;\n display: flex;\n justify-content: end;\n }\n }\n</style>\n"],"names":["_unref","_createElementBlock","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;AAqBI,UAAM,QAAQ;AAMd,UAAM,EAAE,YAAY,cAAc,eAAe,YAAA,IAAgB,SAAS,KAAK;AAGnD,QAAI,KAAK;AACrC,UAAM,aAAa,IAAW,EAAE;AAEhC,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACH;AAED,gBAAY,MAAM;AACd,oBAAc;AAAA,QACV,OAAO,MAAM,MAAM,QAAQ,iBAAiB,IAAI;AAAA,MAAA,CACnD;AAAA,IACL,CAAC;AAED,UAAM,EAAE,UAAU,SAAA,IAAa,YAAY;AAAA,MACvC,OAAO;AAAA,QACH,QAAQ,MAAM,MAAM,QAAQ;AAAA,QAC5B,eAAe,MAAM,MAAM,QAAQ;AAAA,MAAA;AAAA,MAEvC,QAAQ;AAAA,QACJ,uBAAuB,CAAA,SAAQ;AAC3B,gBAAM,EAAE,OAAO,YAAA,IAAgB,KAAK;AACpC,cAAI,OAAO;AACP,kBAAM,SAAS,MAAM,MAAM,QAAQ,aAAa;AAAA,cAC5C,CAAA,SAAQ,KAAK,cAAc;AAAA,YAAA;AAE/B,mBAAO,cAAc;AACrB,mBAAO,QAAQ;AAAA,UACnB;AAAA,QACJ;AAAA,MAAA;AAAA,IACJ,CACH;AA0BD,UAAM,iBAAiB,MAAM;AACzB,YAAM,eAAe,MAAM,MAAM,QAAQ,gBAAgB,CAAA;AACzD,UAAI,aAAa,SAAS,GAAG;AACzB,mBAAW,QAAQ,aAAa,IAAI,CAAA,SAAQ;AAAA,UACxC,GAAG;AAAA,UACH,SAAS,IAAI,SAAS;AAAA,UACtB,OAAO,IAAI,SAAS,IAAI;AAAA,QAAA,EAC1B;AAAA,MACN;AAAA,IACJ;AAiBA,gBAAY,MAAM;AACd,UAAI,SAAS,OAAO;AAChB,oBAAY,SAAS,KAAK;AAAA,MAC9B;AAAA,IACJ,CAAC;AAED,cAAU,MAAM;AACZ,yBAAA;AACA,qBAAA;AAAA,IACJ,CAAC;AAED,aAAa;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,aAAa,SAAS;AAAA,IAAA,CACzB;;cA3IiCA,MAAA,YAAA,kBAAlCC,mBAQM,OAAA;AAAA;QARD,OAAM;AAAA,QAAsC,+BAAgBD,MAAA,UAAA,GAAU;AAAA,MAAA;QACvEE,YAMEF,MAAA,KAAA,GAAA;AAAA,UALG,YAAYA,MAAA,UAAA;AAAA,UACZ,YAAUA,MAAA,QAAA;AAAA,UACV,SAASA,MAAA,SAAA;AAAA,UACT,YAAYA,MAAA,SAAA;AAAA,UACZ,UAAQA,MAAA,iBAAA;AAAA,QAAA;;;;;"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./grid-col-widget.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const GridColWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-aac76d55"]]);
5
+ export {
6
+ GridColWidget as default
7
+ };
8
+ //# sourceMappingURL=grid-col-widget.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-col-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,5 +1,9 @@
1
1
  import { defineComponent, mergeModels, useModel, computed, 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";
2
+ import { useDesigner } from "../../../../../core/src/hooks/useDesigner.js";
3
+ import { useWidget } from "../../../../../core/src/hooks/useWidget.js";
4
+ import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
5
+ import RenderWidgetList from "../../../../../core/src/components/common/RenderWidgetList.vue.js";
6
+ import WidgetContextMenu from "../../../../../core/src/components/contextMenu/WidgetContextMenu.vue.js";
3
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
8
  ...{
5
9
  name: ContainerTypeEnum.GridColWidget,
@@ -25,15 +29,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
29
  setup(__props) {
26
30
  const props = __props;
27
31
  const list = useModel(__props, "list");
32
+ const { customClass, options } = useWidget(props.widget);
28
33
  const { selected, selectWidget } = useDesigner();
29
34
  const colHeightStyle = computed(() => {
30
35
  return props.colHeight ? { height: props.colHeight } : {};
31
36
  });
32
37
  const layoutProps = computed(() => ({
33
- span: props.widget.options.span || 12,
34
- offset: props.widget.options.offset || 0,
35
- push: props.widget.options.push || 0,
36
- pull: props.widget.options.pull || 0
38
+ span: options.value.span || 12,
39
+ offset: options.value.offset || 0,
40
+ push: options.value.push || 0,
41
+ pull: options.value.pull || 0
37
42
  }));
38
43
  const contextMenuState = reactive({
39
44
  visible: false,
@@ -49,7 +54,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
49
54
  const _component_a_col = resolveComponent("a-col");
50
55
  return openBlock(), createElementBlock(Fragment, null, [
51
56
  (openBlock(), createBlock(_component_a_col, mergeProps({ class: "grid-cell" }, layoutProps.value, {
52
- class: [unref(selected)(_ctx.widget.id) ? "selected" : "", _ctx.customClass],
57
+ class: [unref(selected)(_ctx.widget.id) ? "selected" : "", unref(customClass)],
53
58
  style: colHeightStyle.value,
54
59
  key: _ctx.widget.id,
55
60
  onClick: _cache[1] || (_cache[1] = withModifiers(($event) => unref(selectWidget)(_ctx.widget), ["stop"])),
@@ -80,7 +85,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
80
85
  };
81
86
  }
82
87
  });
83
- const GridColWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-046dd94b"]]);
84
88
  export {
85
- GridColWidget as default
89
+ _sfc_main as default
86
90
  };
91
+ //# sourceMappingURL=grid-col-widget.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-col-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-col-widget.vue"],"sourcesContent":["<template>\n <a-col\n class=\"grid-cell\"\n v-bind=\"layoutProps\"\n :class=\"[selected(widget.id) ? 'selected' : '', customClass]\"\n :style=\"colHeightStyle\"\n :key=\"widget.id\"\n @click.stop=\"selectWidget(widget)\"\n @contextmenu.prevent.stop=\"onContextMenu\"\n >\n <RenderWidgetList v-model:list=\"widget.widgetList\" :parentWidget=\"widget\" />\n </a-col>\n <!-- 右键菜单 -->\n <WidgetContextMenu\n v-if=\"contextMenuState.visible\"\n v-model:visible=\"contextMenuState.visible\"\n v-model:list=\"list\"\n :x=\"contextMenuState.x\"\n :y=\"contextMenuState.y\"\n :widget=\"widget\"\n :index=\"indexOfParentList\"\n :parentWidget=\"parentWidget\"\n />\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, reactive, ref } from 'vue';\n import {\n RenderWidgetList,\n useDesigner,\n useWidget,\n Widget,\n WidgetProps\n } from '@kp-ui/lowcode-core';\n import { ComponentNameEnum, ContainerTypeEnum, WidgetContextMenu } from '@kp-ui/lowcode-core';\n\n defineOptions({\n name: ContainerTypeEnum.GridColWidget,\n componentName: ComponentNameEnum.ContainerWidget,\n inheritAttrs: false\n });\n\n const props = withDefaults(\n defineProps<\n WidgetProps & {\n colHeight?: number | string | null;\n }\n >(),\n {\n indexOfParentList: 0,\n colHeight: null\n }\n );\n const list = defineModel<Widget[]>('list', {\n default: () => []\n });\n\n const { customClass, options } = useWidget(props.widget);\n const { selected, selectWidget } = useDesigner();\n\n const colHeightStyle = computed(() => {\n return props.colHeight ? { height: props.colHeight } : {};\n });\n\n const layoutProps = computed(() => ({\n span: options.value.span || 12,\n offset: options.value.offset || 0,\n push: options.value.push || 0,\n pull: options.value.pull || 0\n }));\n\n const contextMenuState = reactive({\n visible: false,\n x: 0,\n y: 0\n });\n\n const onContextMenu = (event: MouseEvent) => {\n contextMenuState.x = event.clientX;\n contextMenuState.y = event.clientY;\n contextMenuState.visible = true;\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-cell {\n min-height: 38px !important;\n //margin: 6px 0; /* 设置了margin,栅格列的offset、push、pull会失效!! */\n padding: 3px;\n border: 1px dashed #336699;\n position: relative;\n &.selected {\n outline: 1px solid var(--ant-primary-color) !important;\n }\n :deep(.widget-wrapper.container-wrapper) {\n border-width: 1px !important;\n &.selected {\n outline: 1px solid var(--ant-primary-color) !important;\n }\n }\n .form-widget-list {\n min-height: 28px;\n }\n\n :deep(.designer-widget-list.empty-list) {\n min-height: 48px;\n .empty-drop-zone {\n height: 42px;\n }\n }\n .grid-col-action {\n position: absolute;\n bottom: 0;\n right: -2px;\n height: 28px;\n line-height: 28px;\n background: var(--ant-primary-4);\n z-index: 999;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 5px;\n cursor: pointer;\n }\n }\n\n .grid-col-handler {\n position: absolute;\n top: -2px;\n left: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n z-index: 9;\n\n i {\n font-size: 14px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: default;\n }\n }\n }\n\n .grid-col-action,\n .grid-col-handler {\n :deep(.svg-icon) {\n margin-left: 0.1em;\n margin-right: 0.1em;\n }\n }\n</style>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref","widget","_withModifiers","_createVNode","indexOfParentList","parentWidget"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CI,UAAM,QAAQ;AAWd,UAAM,OAAOA,SAAqB,SAAC,MAElC;AAED,UAAM,EAAE,aAAa,QAAA,IAAY,UAAU,MAAM,MAAM;AACvD,UAAM,EAAE,UAAU,aAAA,IAAiB,YAAA;AAEnC,UAAM,iBAAiB,SAAS,MAAM;AAClC,aAAO,MAAM,YAAY,EAAE,QAAQ,MAAM,UAAA,IAAc,CAAA;AAAA,IAC3D,CAAC;AAED,UAAM,cAAc,SAAS,OAAO;AAAA,MAChC,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,QAAQ,QAAQ,MAAM,UAAU;AAAA,MAChC,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,MAAM,QAAQ,MAAM,QAAQ;AAAA,IAAA,EAC9B;AAEF,UAAM,mBAAmB,SAAS;AAAA,MAC9B,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACN;AAED,UAAM,gBAAgB,CAAC,UAAsB;AACzC,uBAAiB,IAAI,MAAM;AAC3B,uBAAiB,IAAI,MAAM;AAC3B,uBAAiB,UAAU;AAAA,IAC/B;;;;SAhFAC,UAAA,GAAAC,YAUQ,kBAVRC,WAUQ,EATJ,OAAM,YAAA,GACE,YAAA,OAAW;AAAA,UAClB,QAAQC,MAAA,QAAA,EAASC,YAAO,EAAE,qBAAqBD,MAAA,WAAA,CAAW;AAAA,UAC1D,OAAO,eAAA;AAAA,UACP,KAAKC,KAAAA,OAAO;AAAA,UACZ,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAAC,cAAA,CAAA,WAAOF,MAAA,YAAA,EAAaC,KAAAA,MAAM,GAAA,CAAA,MAAA,CAAA;AAAA,UAC/B,6BAA0B,eAAa,CAAA,WAAA,MAAA,CAAA;AAAA,QAAA;2BAExC,MAA4E;AAAA,YAA5EE,YAA4EH,MAAA,gBAAA,GAAA;AAAA,cAAlD,MAAMC,KAAAA,OAAO;AAAA,cAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,cAAG,cAAcA,KAAAA;AAAAA,YAAAA;;;;QAI5D,iBAAiB,wBAD3BH,YASEE,MAAA,iBAAA,GAAA;AAAA;UAPU,SAAS,iBAAiB;AAAA,UAAjB,oBAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAA,iBAAiB,UAAO;AAAA,UACjC,MAAM,KAAA;AAAA,iEAAA,KAAI,QAAA;AAAA,UACjB,GAAG,iBAAiB;AAAA,UACpB,GAAG,iBAAiB;AAAA,UACpB,QAAQC,KAAAA;AAAAA,UACR,OAAOG,KAAAA;AAAAA,UACP,cAAcC,KAAAA;AAAAA,QAAAA;;;;;"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./grid-sub-form-widget.vue2.js";
2
+ import "./grid-sub-form-widget.vue3.js";
3
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const gridSubFormWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-84976375"]]);
5
+ export {
6
+ gridSubFormWidget as default
7
+ };
8
+ //# sourceMappingURL=grid-sub-form-widget.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-sub-form-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,5 +1,6 @@
1
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";
2
+ import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
3
+ import RenderWidgetList from "../../../../../core/src/components/common/RenderWidgetList.vue.js";
3
4
  const _hoisted_1 = { class: "sub-form-container" };
4
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
6
  ...{
@@ -27,7 +28,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
27
28
  };
28
29
  }
29
30
  });
30
- const gridSubFormWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-49c81f5e"]]);
31
31
  export {
32
- gridSubFormWidget as default
32
+ _sfc_main as default
33
33
  };
34
+ //# sourceMappingURL=grid-sub-form-widget.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-sub-form-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue"],"sourcesContent":["<template>\n <div class=\"sub-form-container\">\n <RenderWidgetList v-model:list=\"widget.widgetList\" :parentWidget=\"widget\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, ContainerTypeEnum, RenderWidgetList } from '@kp-ui/lowcode-core';\n import { GridSubFormWidget } from '../../widget-panel/containers';\n import { WidgetProps } from '@kp-ui/lowcode-core';\n const props = defineProps<WidgetProps<GridSubFormWidget>>();\n defineOptions({\n name: ContainerTypeEnum.GridSubFormWidget,\n componentName: ComponentNameEnum.ContainerWidget\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .sub-form-container {\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_unref","widget"],"mappings":";;;;;;;;;;;;;;;;;;;;AACI,aAAAA,UAAA,GAAAC,mBAEM,OAFN,YAEM;AAAA,QADFC,YAA4EC,MAAA,gBAAA,GAAA;AAAA,UAAlD,MAAMC,KAAAA,OAAO;AAAA,UAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,UAAG,cAAcA,KAAAA;AAAAA,QAAAA;;;;;"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=grid-sub-form-widget.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-sub-form-widget.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./grid-widget.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const gridWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d41dbfac"]]);
5
+ export {
6
+ gridWidget as default
7
+ };
8
+ //# sourceMappingURL=grid-widget.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,6 +1,7 @@
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";
1
+ import { defineComponent, resolveComponent, createElementBlock, openBlock, createBlock, unref, withCtx, Fragment, renderList } from "vue";
2
+ import GridColWidget from "./grid-col-widget.vue.js";
3
+ import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
4
+ import { useField } from "../../../../../core/src/hooks/useField.js";
4
5
  const _hoisted_1 = { class: "grid-container" };
5
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
7
  ...{
@@ -17,14 +18,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
18
  subFormRowId: {}
18
19
  },
19
20
  setup(__props) {
20
- const { initRefList } = useAppRef();
21
- initRefList();
21
+ const props = __props;
22
+ const { options } = useField(props, false);
22
23
  return (_ctx, _cache) => {
23
24
  const _component_a_row = resolveComponent("a-row");
24
25
  return openBlock(), createElementBlock("div", _hoisted_1, [
25
26
  (openBlock(), createBlock(_component_a_row, {
26
27
  key: _ctx.widget.id,
27
- gutter: _ctx.widget.options.gutter
28
+ gutter: _ctx.widget.options.gutter,
29
+ justify: unref(options).gridJustify ?? "start",
30
+ align: unref(options).gridAlign ?? "top",
31
+ wrap: unref(options).gridWrap ?? true
28
32
  }, {
29
33
  default: withCtx(() => [
30
34
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.widget.cols, (colWidget, colIdx) => {
@@ -41,12 +45,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
45
  }), 128))
42
46
  ]),
43
47
  _: 1
44
- }, 8, ["gutter"]))
48
+ }, 8, ["gutter", "justify", "align", "wrap"]))
45
49
  ]);
46
50
  };
47
51
  }
48
52
  });
49
- const gridWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-40047deb"]]);
50
53
  export {
51
- gridWidget as default
54
+ _sfc_main as default
52
55
  };
56
+ //# sourceMappingURL=grid-widget.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-widget.vue"],"sourcesContent":["<template>\n <div class=\"grid-container\">\n <a-row\n :key=\"widget.id\"\n :gutter=\"widget.options.gutter\"\n :justify=\"options.gridJustify ?? 'start'\"\n :align=\"options.gridAlign ?? 'top'\"\n :wrap=\"options.gridWrap ?? true\"\n >\n <grid-col-widget\n v-for=\"(colWidget, colIdx) in widget.cols\"\n :key=\"colWidget.id\"\n :field=\"colWidget\"\n :widget=\"colWidget\"\n v-model:list=\"widget.cols\"\n :index-of-parent-list=\"colIdx\"\n :parent-widget=\"widget\"\n :col-height=\"widget.options.colHeight\"\n />\n </a-row>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import GridColWidget from './grid-col-widget.vue';\n import {\n ContainerTypeEnum,\n ComponentNameEnum,\n WidgetProps,\n useField\n } from '@kp-ui/lowcode-core';\n import { GridWidget } from '../../widget-panel/containers';\n\n const props = defineProps<WidgetProps<GridWidget>>();\n defineOptions({\n name: ContainerTypeEnum.grid,\n componentName: ComponentNameEnum.ContainerWidget\n });\n\n const { options } = useField(props, false);\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-container {\n min-height: 50px;\n padding: 3px;\n\n .form-widget-list {\n min-height: 28px;\n }\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createBlock","widget","_unref","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;AAiCI,UAAM,QAAQ;AAMd,UAAM,EAAE,QAAA,IAAY,SAAS,OAAO,KAAK;;;AAtCzC,aAAAA,UAAA,GAAAC,mBAmBM,OAnBN,YAmBM;AAAA,sBAlBFC,YAiBQ,kBAAA;AAAA,UAhBH,KAAKC,KAAAA,OAAO;AAAA,UACZ,QAAQA,KAAAA,OAAO,QAAQ;AAAA,UACvB,SAASC,MAAA,OAAA,EAAQ,eAAW;AAAA,UAC5B,OAAOA,MAAA,OAAA,EAAQ,aAAS;AAAA,UACxB,MAAMA,MAAA,OAAA,EAAQ,YAAQ;AAAA,QAAA;2BAGnB,MAA0C;AAAA,aAD9CJ,UAAA,IAAA,GAAAC,mBASEI,2BARgCF,KAAAA,OAAO,MAAI,CAAjC,WAAW,WAAM;kCAD7BD,YASE,eAAA;AAAA,gBAPG,KAAK,UAAU;AAAA,gBACf,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACD,MAAMC,KAAAA,OAAO;AAAA,gBAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,OAAI;AAAA,gBACxB,wBAAsB;AAAA,gBACtB,iBAAeA,KAAAA;AAAAA,gBACf,cAAYA,KAAAA,OAAO,QAAQ;AAAA,cAAA;;;;;;;;;"}
@@ -0,0 +1,19 @@
1
+ import { defineAsyncComponent } from "vue";
2
+ import { ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
3
+ ({
4
+ [ContainerTypeEnum.GridColWidget]: defineAsyncComponent(() => import("./grid-col-widget.vue.js")),
5
+ [ContainerTypeEnum.grid]: defineAsyncComponent(() => import("./grid-widget.vue.js")),
6
+ [ContainerTypeEnum.DataTable]: defineAsyncComponent(() => import("./data-table-widget.vue.js")),
7
+ [ContainerTypeEnum.GridSubFormWidget]: defineAsyncComponent(
8
+ () => import("./grid-sub-form-widget.vue.js")
9
+ ),
10
+ [ContainerTypeEnum.Tab]: defineAsyncComponent(() => import("./tab-widget.vue.js")),
11
+ [ContainerTypeEnum.VfCollapseWidget]: defineAsyncComponent(
12
+ () => import("./vf-collapse-widget.vue.js")
13
+ ),
14
+ [ContainerTypeEnum.VfDialogWidget]: defineAsyncComponent(
15
+ () => import("./vf-dialog-widget.vue.js")
16
+ ),
17
+ [ContainerTypeEnum.VfBoxWidget]: defineAsyncComponent(() => import("./vf-box-widget.vue.js"))
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/index.ts"],"sourcesContent":["import { ContainerTypeEnum } from '@kp-ui/lowcode-core';\nimport { defineAsyncComponent } from 'vue';\n\nexport const RenderDesignerWidgetList = {\n [ContainerTypeEnum.GridColWidget]: defineAsyncComponent(() => import('./grid-col-widget.vue')),\n [ContainerTypeEnum.grid]: defineAsyncComponent(() => import('./grid-widget.vue')),\n [ContainerTypeEnum.DataTable]: defineAsyncComponent(() => import('./data-table-widget.vue')),\n [ContainerTypeEnum.GridSubFormWidget]: defineAsyncComponent(\n () => import('./grid-sub-form-widget.vue')\n ),\n [ContainerTypeEnum.Tab]: defineAsyncComponent(() => import('./tab-widget.vue')),\n [ContainerTypeEnum.VfCollapseWidget]: defineAsyncComponent(\n () => import('./vf-collapse-widget.vue')\n ),\n [ContainerTypeEnum.VfDialogWidget]: defineAsyncComponent(\n () => import('./vf-dialog-widget.vue')\n ),\n [ContainerTypeEnum.VfBoxWidget]: defineAsyncComponent(() => import('./vf-box-widget.vue'))\n};\n"],"names":[],"mappings":";;CAGwC;AAAA,EACpC,CAAC,kBAAkB,aAAa,GAAG,qBAAqB,MAAM,OAAO,0BAAuB,CAAC;AAAA,EAC7F,CAAC,kBAAkB,IAAI,GAAG,qBAAqB,MAAM,OAAO,sBAAmB,CAAC;AAAA,EAChF,CAAC,kBAAkB,SAAS,GAAG,qBAAqB,MAAM,OAAO,4BAAyB,CAAC;AAAA,EAC3F,CAAC,kBAAkB,iBAAiB,GAAG;AAAA,IACnC,MAAM,OAAO,+BAA4B;AAAA,EAAA;AAAA,EAE7C,CAAC,kBAAkB,GAAG,GAAG,qBAAqB,MAAM,OAAO,qBAAkB,CAAC;AAAA,EAC9E,CAAC,kBAAkB,gBAAgB,GAAG;AAAA,IAClC,MAAM,OAAO,6BAA0B;AAAA,EAAA;AAAA,EAE3C,CAAC,kBAAkB,cAAc,GAAG;AAAA,IAChC,MAAM,OAAO,2BAAwB;AAAA,EAAA;AAAA,EAEzC,CAAC,kBAAkB,WAAW,GAAG,qBAAqB,MAAM,OAAO,wBAAqB,CAAC;AAC7F;"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./tab-widget.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const tabWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3280ee5e"]]);
5
+ export {
6
+ tabWidget as default
7
+ };
8
+ //# sourceMappingURL=tab-widget.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}