@kp-ui/lowcode 1.0.29 → 1.0.31

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 (170) hide show
  1. package/_virtual/virtual_svg-icons-register.js +2 -2
  2. package/index.js +0 -2
  3. package/package.json +26 -26
  4. package/render.js +79 -69
  5. package/src/components/CustomRender/components/index.js +10 -0
  6. package/src/components/CustomRender/useCustomRender.js +68 -0
  7. package/src/components/code-editor/index.vue.js +3 -167
  8. package/src/components/code-editor/index.vue2.js +166 -0
  9. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +233 -104
  10. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue3.js +106 -0
  11. package/src/components/form-designer/form-widget/container-widget/grid-col-widget.vue.js +3 -1
  12. package/src/components/form-designer/form-widget/container-widget/grid-sub-form-widget.vue.js +3 -1
  13. package/src/components/form-designer/form-widget/container-widget/{grid-widget.vue.js → grid-widget.vue2.js} +1 -1
  14. package/src/components/form-designer/form-widget/container-widget/index.js +4 -4
  15. package/src/components/form-designer/form-widget/container-widget/sub-form-widget.vue.js +3 -1
  16. package/src/components/form-designer/form-widget/container-widget/tab-widget.vue.js +3 -1
  17. package/src/components/form-designer/form-widget/container-widget/table-cell-widget.vue.js +3 -1
  18. package/src/components/form-designer/form-widget/container-widget/{table-widget.vue.js → table-widget.vue2.js} +1 -1
  19. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js +3 -1
  20. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue.js +124 -156
  21. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue4.js +158 -0
  22. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js +3 -1
  23. package/src/components/form-designer/form-widget/container-widget/vf-drawer-widget.vue.js +3 -1
  24. package/src/components/form-designer/form-widget/field-widget/attachment-render-widget.vue.js +1 -3
  25. package/src/components/form-designer/form-widget/field-widget/diy-compontent-widget.vue.js +101 -0
  26. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js +122 -87
  27. package/src/components/form-designer/form-widget/field-widget/index.js +3 -1
  28. package/src/components/form-designer/form-widget/field-widget/slot-widget.vue.js +6 -6
  29. package/src/components/form-designer/form-widget/index.vue.js +7 -5
  30. package/src/components/form-designer/setting-panel/option-items-setting.vue.js +5 -3
  31. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js +4 -3
  32. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js +3 -2
  33. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js +4 -3
  34. package/src/components/form-designer/setting-panel/property-editor/diy-compontent-editor.vue.js +33 -0
  35. package/src/components/form-designer/setting-panel/property-editor/index.js +2 -1
  36. package/src/components/form-designer/setting-panel/propertyRegister.js +1 -0
  37. package/src/components/form-designer/toolbar-panel/index.vue.js +4 -779
  38. package/src/components/form-designer/toolbar-panel/widgetList.js +780 -0
  39. package/src/components/form-designer/widget-panel/advanced/attachment-render.js +3 -3
  40. package/src/components/form-designer/widget-panel/advanced/diy-compontent.js +23 -0
  41. package/src/components/form-designer/widget-panel/advanced/slot.js +1 -1
  42. package/src/components/form-designer/widget-panel/advancedFieldsEnums.js +4 -2
  43. package/src/components/form-designer/widget-panel/containers/index.js +2 -3
  44. package/src/components/form-designer/widget-panel/containers/tab-pane.js +22 -0
  45. package/src/components/form-designer/widget-panel/index.vue.js +3 -2
  46. package/src/components/form-render/container-item/index.js +1 -1
  47. package/src/components/form-render/container-item/{table-item.vue2.js → table-item.vue.js} +1 -1
  48. package/src/components/form-render/container-item/vf-collapse-item.vue.js +1 -1
  49. package/src/components/form-render/dynamic-dialog.vue.js +241 -231
  50. package/src/components/form-render/dynamic-dialog.vue3.js +5 -0
  51. package/src/components/form-render/dynamic-drawer.vue.js +2 -203
  52. package/src/components/form-render/dynamic-drawer.vue2.js +247 -0
  53. package/src/lang/zh-CN.js +4 -5
  54. package/src/mixins/useDataTableMixin.js +1 -1
  55. package/src/utils/config.js +0 -2
  56. package/src/utils/i18n.js +14 -1
  57. package/styles/style.css +1 -1
  58. package/types/install.d.ts.map +1 -1
  59. package/types/src/components/CustomRender/components/AttachmentRender.d.ts +31 -0
  60. package/types/src/components/CustomRender/components/AttachmentRender.d.ts.map +1 -0
  61. package/types/src/components/CustomRender/components/index.d.ts +2 -0
  62. package/types/src/components/CustomRender/components/index.d.ts.map +1 -0
  63. package/types/src/components/CustomRender/{index.d.ts → useCustomRender.d.ts} +2 -2
  64. package/types/src/components/CustomRender/useCustomRender.d.ts.map +1 -0
  65. package/types/src/components/code-editor/code-modal-editor.d.ts +1 -1
  66. package/types/src/components/code-editor/index.d.ts +41 -55
  67. package/types/src/components/code-editor/index.d.ts.map +1 -1
  68. package/types/src/components/form-designer/setting-panel/index.d.ts +1 -0
  69. package/types/src/components/form-designer/toolbar-panel/index.d.ts +1 -1
  70. package/types/src/components/form-designer/toolbar-panel/widgetList.d.ts +556 -0
  71. package/types/src/components/form-designer/toolbar-panel/widgetList.d.ts.map +1 -0
  72. package/types/src/components/form-designer/widget-panel/advanced/attachment-render.d.ts +2 -14
  73. package/types/src/components/form-designer/widget-panel/advanced/attachment-render.d.ts.map +1 -1
  74. package/types/src/components/form-designer/widget-panel/advanced/bpmn-editor.d.ts +2 -15
  75. package/types/src/components/form-designer/widget-panel/advanced/bpmn-editor.d.ts.map +1 -1
  76. package/types/src/components/form-designer/widget-panel/advanced/cascader.d.ts +2 -55
  77. package/types/src/components/form-designer/widget-panel/advanced/cascader.d.ts.map +1 -1
  78. package/types/src/components/form-designer/widget-panel/advanced/code-editor.d.ts +2 -25
  79. package/types/src/components/form-designer/widget-panel/advanced/code-editor.d.ts.map +1 -1
  80. package/types/src/components/form-designer/widget-panel/advanced/diy-compontent.d.ts +9 -0
  81. package/types/src/components/form-designer/widget-panel/advanced/diy-compontent.d.ts.map +1 -0
  82. package/types/src/components/form-designer/widget-panel/advanced/file-upload.d.ts +2 -29
  83. package/types/src/components/form-designer/widget-panel/advanced/file-upload.d.ts.map +1 -1
  84. package/types/src/components/form-designer/widget-panel/advanced/rich-editor.d.ts +2 -26
  85. package/types/src/components/form-designer/widget-panel/advanced/rich-editor.d.ts.map +1 -1
  86. package/types/src/components/form-designer/widget-panel/advanced/slot.d.ts +2 -9
  87. package/types/src/components/form-designer/widget-panel/advanced/slot.d.ts.map +1 -1
  88. package/types/src/components/form-designer/widget-panel/advanced/tree-select.d.ts +2 -56
  89. package/types/src/components/form-designer/widget-panel/advanced/tree-select.d.ts.map +1 -1
  90. package/types/src/components/form-designer/widget-panel/advancedFieldsEnums.d.ts +75 -0
  91. package/types/src/components/form-designer/widget-panel/advancedFieldsEnums.d.ts.map +1 -0
  92. package/types/src/components/form-designer/widget-panel/basicFields/button.d.ts +2 -19
  93. package/types/src/components/form-designer/widget-panel/basicFields/button.d.ts.map +1 -1
  94. package/types/src/components/form-designer/widget-panel/basicFields/checkbox.d.ts +2 -40
  95. package/types/src/components/form-designer/widget-panel/basicFields/checkbox.d.ts.map +1 -1
  96. package/types/src/components/form-designer/widget-panel/basicFields/color.d.ts +2 -26
  97. package/types/src/components/form-designer/widget-panel/basicFields/color.d.ts.map +1 -1
  98. package/types/src/components/form-designer/widget-panel/basicFields/date.d.ts +2 -36
  99. package/types/src/components/form-designer/widget-panel/basicFields/date.d.ts.map +1 -1
  100. package/types/src/components/form-designer/widget-panel/basicFields/dateRange.d.ts +2 -36
  101. package/types/src/components/form-designer/widget-panel/basicFields/dateRange.d.ts.map +1 -1
  102. package/types/src/components/form-designer/widget-panel/basicFields/divider.d.ts +2 -13
  103. package/types/src/components/form-designer/widget-panel/basicFields/divider.d.ts.map +1 -1
  104. package/types/src/components/form-designer/widget-panel/basicFields/dropdown.d.ts +2 -24
  105. package/types/src/components/form-designer/widget-panel/basicFields/dropdown.d.ts.map +1 -1
  106. package/types/src/components/form-designer/widget-panel/basicFields/htmlText.d.ts +2 -11
  107. package/types/src/components/form-designer/widget-panel/basicFields/htmlText.d.ts.map +1 -1
  108. package/types/src/components/form-designer/widget-panel/basicFields/input.d.ts +2 -37
  109. package/types/src/components/form-designer/widget-panel/basicFields/input.d.ts.map +1 -1
  110. package/types/src/components/form-designer/widget-panel/basicFields/number.d.ts +2 -33
  111. package/types/src/components/form-designer/widget-panel/basicFields/number.d.ts.map +1 -1
  112. package/types/src/components/form-designer/widget-panel/basicFields/radio.d.ts +2 -44
  113. package/types/src/components/form-designer/widget-panel/basicFields/radio.d.ts.map +1 -1
  114. package/types/src/components/form-designer/widget-panel/basicFields/rate.d.ts +2 -28
  115. package/types/src/components/form-designer/widget-panel/basicFields/rate.d.ts.map +1 -1
  116. package/types/src/components/form-designer/widget-panel/basicFields/select.d.ts +2 -51
  117. package/types/src/components/form-designer/widget-panel/basicFields/select.d.ts.map +1 -1
  118. package/types/src/components/form-designer/widget-panel/basicFields/slider.d.ts +2 -30
  119. package/types/src/components/form-designer/widget-panel/basicFields/slider.d.ts.map +1 -1
  120. package/types/src/components/form-designer/widget-panel/basicFields/staticText.d.ts +2 -11
  121. package/types/src/components/form-designer/widget-panel/basicFields/staticText.d.ts.map +1 -1
  122. package/types/src/components/form-designer/widget-panel/basicFields/switch.d.ts +2 -24
  123. package/types/src/components/form-designer/widget-panel/basicFields/switch.d.ts.map +1 -1
  124. package/types/src/components/form-designer/widget-panel/basicFields/textarea.d.ts +2 -35
  125. package/types/src/components/form-designer/widget-panel/basicFields/textarea.d.ts.map +1 -1
  126. package/types/src/components/form-designer/widget-panel/basicFields/time.d.ts +2 -33
  127. package/types/src/components/form-designer/widget-panel/basicFields/time.d.ts.map +1 -1
  128. package/types/src/components/form-designer/widget-panel/basicFields/timeRange.d.ts +2 -34
  129. package/types/src/components/form-designer/widget-panel/basicFields/timeRange.d.ts.map +1 -1
  130. package/types/src/components/form-designer/widget-panel/business/department-select.d.ts +2 -51
  131. package/types/src/components/form-designer/widget-panel/business/department-select.d.ts.map +1 -1
  132. package/types/src/components/form-designer/widget-panel/business/material-select.d.ts +2 -51
  133. package/types/src/components/form-designer/widget-panel/business/material-select.d.ts.map +1 -1
  134. package/types/src/components/form-designer/widget-panel/business/operation-select.d.ts +2 -51
  135. package/types/src/components/form-designer/widget-panel/business/operation-select.d.ts.map +1 -1
  136. package/types/src/components/form-designer/widget-panel/business/post-select.d.ts +2 -53
  137. package/types/src/components/form-designer/widget-panel/business/post-select.d.ts.map +1 -1
  138. package/types/src/components/form-designer/widget-panel/business/project-group-select.d.ts +2 -51
  139. package/types/src/components/form-designer/widget-panel/business/project-group-select.d.ts.map +1 -1
  140. package/types/src/components/form-designer/widget-panel/business/project-select.d.ts +2 -51
  141. package/types/src/components/form-designer/widget-panel/business/project-select.d.ts.map +1 -1
  142. package/types/src/components/form-designer/widget-panel/business/user-select.d.ts +2 -54
  143. package/types/src/components/form-designer/widget-panel/business/user-select.d.ts.map +1 -1
  144. package/types/src/components/form-designer/widget-panel/containers/data-table.d.ts +2 -90
  145. package/types/src/components/form-designer/widget-panel/containers/data-table.d.ts.map +1 -1
  146. package/types/src/components/form-designer/widget-panel/containers/grid-col.d.ts +2 -14
  147. package/types/src/components/form-designer/widget-panel/containers/grid-col.d.ts.map +1 -1
  148. package/types/src/components/form-designer/widget-panel/containers/grid-sub-form.d.ts +2 -8
  149. package/types/src/components/form-designer/widget-panel/containers/grid-sub-form.d.ts.map +1 -1
  150. package/types/src/components/form-designer/widget-panel/containers/grid.d.ts +2 -8
  151. package/types/src/components/form-designer/widget-panel/containers/grid.d.ts.map +1 -1
  152. package/types/src/components/form-designer/widget-panel/containers/tab.d.ts +2 -28
  153. package/types/src/components/form-designer/widget-panel/containers/tab.d.ts.map +1 -1
  154. package/types/src/components/form-designer/widget-panel/containers/vf-box.d.ts +2 -6
  155. package/types/src/components/form-designer/widget-panel/containers/vf-box.d.ts.map +1 -1
  156. package/types/src/components/form-designer/widget-panel/containers/vf-collapse.d.ts +2 -12
  157. package/types/src/components/form-designer/widget-panel/containers/vf-collapse.d.ts.map +1 -1
  158. package/types/src/components/form-designer/widget-panel/containers/vf-dialog.d.ts +2 -22
  159. package/types/src/components/form-designer/widget-panel/containers/vf-dialog.d.ts.map +1 -1
  160. package/types/src/components/form-render/index.d.ts +4 -0
  161. package/types/src/components/form-render/index.d.ts.map +1 -1
  162. package/types/src/components/lowcodeCompontent/index.d.ts +6 -0
  163. package/types/src/components/lowcodeCompontent/index.d.ts.map +1 -0
  164. package/types/src/components/svg-icon/index.d.ts +47 -0
  165. package/types/src/components/svg-icon/index.d.ts.map +1 -0
  166. package/src/components/CustomRender/index.js +0 -53
  167. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +0 -235
  168. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js +0 -126
  169. package/stats.html +0 -4949
  170. package/types/src/components/CustomRender/index.d.ts.map +0 -1
@@ -1,13 +1,13 @@
1
1
  if (typeof window !== "undefined") {
2
2
  let loadSvg = function() {
3
3
  var body = document.body;
4
- var svgDom = document.getElementById("__svg__icons__dom__1745576657427__");
4
+ var svgDom = document.getElementById("__svg__icons__dom__1745894965292__");
5
5
  if (!svgDom) {
6
6
  svgDom = document.createElementNS("http://www.w3.org/2000/svg", "svg");
7
7
  svgDom.style.position = "absolute";
8
8
  svgDom.style.width = "0";
9
9
  svgDom.style.height = "0";
10
- svgDom.id = "__svg__icons__dom__1745576657427__";
10
+ svgDom.id = "__svg__icons__dom__1745894965292__";
11
11
  svgDom.setAttribute("xmlns", "http://www.w3.org/2000/svg");
12
12
  svgDom.setAttribute("xmlns:link", "http://www.w3.org/1999/xlink");
13
13
  }
package/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { default as default2 } from "./designer.js";
2
2
  import { default as default3 } from "./render.js";
3
- import draggableComponent from "./src/lib/vuedraggable/src/vuedraggable.js";
4
3
  import { registerIcon } from "./src/utils/el-icons.js";
5
4
  import "./_virtual/virtual_svg-icons-register.js";
6
5
  import { addAdvancedFieldSchema, addBasicFieldSchema, addContainerWidgetSchema, addCustomWidgetSchema } from "./src/components/form-designer/widget-panel/widgetsConfig.js";
@@ -24,7 +23,6 @@ import { default as default14 } from "./src/components/form-designer/form-widget
24
23
  import { default as default15 } from "./src/utils/emitter.js";
25
24
  const registerLowcodeCore = (app, http) => {
26
25
  app.config.globalProperties.$http = http;
27
- app.component("draggable", draggableComponent);
28
26
  app.use(ContainerWidgets);
29
27
  app.use(ContainerItems);
30
28
  registerIcon(app);
package/package.json CHANGED
@@ -1,28 +1,28 @@
1
1
  {
2
- "name": "@kp-ui/lowcode",
3
- "version": "1.0.29",
4
- "publishConfig": {
5
- "access": "public"
6
- },
7
- "main": "index.js",
8
- "module": "index.js",
9
- "types": "main.d.ts",
10
- "dependencies": {
11
- "@element-plus/icons-vue": "^0.2.4",
12
- "animate.css": "^4.1.1",
13
- "ant-design-vue": "3.2.20",
14
- "axios": "^1.3.5",
15
- "bpmn-js": "13.2.0",
16
- "clipboard": "^2.0.8",
17
- "core-js": "^3.6.5",
18
- "dayjs": "^1.11.10",
19
- "file-saver": "^2.0.5",
20
- "json-bigint": "^1.0.0",
21
- "lodash-es": "^4.17.21",
22
- "mitt": "^3.0.0",
23
- "query-string": "^9.1.1",
24
- "sortablejs": "1.14.0",
25
- "vue": "3.3.11",
26
- "vue3-quill": "^0.2.6"
27
- }
2
+ "name": "@kp-ui/lowcode",
3
+ "version": "1.0.31",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "main": "index.js",
8
+ "module": "index.js",
9
+ "types": "main.d.ts",
10
+ "dependencies": {
11
+ "@element-plus/icons-vue": "^0.2.4",
12
+ "animate.css": "^4.1.1",
13
+ "ant-design-vue": "3.2.20",
14
+ "axios": "^1.3.5",
15
+ "bpmn-js": "13.2.0",
16
+ "clipboard": "^2.0.8",
17
+ "core-js": "^3.6.5",
18
+ "dayjs": "^1.11.10",
19
+ "file-saver": "^2.0.5",
20
+ "json-bigint": "^1.0.0",
21
+ "lodash-es": "^4.17.21",
22
+ "mitt": "^3.0.0",
23
+ "query-string": "^9.1.1",
24
+ "sortablejs": "1.14.0",
25
+ "vue": "3.3.11",
26
+ "vue3-quill": "^0.2.6"
27
+ }
28
28
  }
package/render.js CHANGED
@@ -1,21 +1,14 @@
1
- import { createVNode, render, resolveComponent, createBlock, openBlock, withCtx, withModifiers, normalizeClass, createElementBlock, Fragment, renderList, resolveDynamicComponent, createSlots, renderSlot, normalizeProps, guardReactiveProps } from "vue";
1
+ import { createVNode, render, h, resolveComponent, createBlock, openBlock, withCtx, createElementVNode, withModifiers, normalizeClass, createElementBlock, Fragment, renderList, resolveDynamicComponent, createSlots, renderSlot, normalizeProps, guardReactiveProps } from "vue";
2
2
  import emitter from "./src/utils/emitter.js";
3
- import _export_sfc from "./_virtual/_plugin-vue_export-helper.js";
4
- /* empty css */
5
- import "./src/components/form-render/container-item/grid-col-item.vue.js";
6
- import i18n, { changeLocale } from "./src/utils/i18n.js";
7
- import { buildDefaultFormJson, getContainerWidgetByName, cloneFormConfigWithoutEventHandler, deepClone, getDSByName, overwriteObj, runDataSourceRequest, getAllContainerWidgets, getAllFieldWidgets, getDefaultFormConfig, traverseFieldWidgets, getFieldWidgetByName, traverseFieldWidgetsOfContainer, insertCustomCssToHead, insertGlobalFunctionsToHtml, generateId } from "./src/utils/util.js";
8
- import "./src/components/form-render/container-item/grid-sub-form-item.vue.js";
9
- import "./src/components/form-render/container-item/sub-form-item.vue.js";
10
- import "./src/components/form-render/container-item/tab-item.vue.js";
11
- import "./src/components/form-render/container-item/table-cell-item.vue.js";
12
- /* empty css */
13
- import "./src/components/form-render/container-item/vf-collapse-item.vue.js";
14
3
  import comps from "./src/components/form-designer/form-widget/field-widget/index.js";
15
- import DynamicDialog from "./src/components/form-render/dynamic-dialog.vue.js";
4
+ import { buildDefaultFormJson, getContainerWidgetByName, cloneFormConfigWithoutEventHandler, deepClone, getDSByName, overwriteObj, runDataSourceRequest, getAllContainerWidgets, getAllFieldWidgets, getDefaultFormConfig, traverseFieldWidgets, getFieldWidgetByName, traverseFieldWidgetsOfContainer, insertCustomCssToHead, insertGlobalFunctionsToHtml, generateId } from "./src/utils/util.js";
5
+ import i18n, { changeLocale } from "./src/utils/i18n.js";
6
+ import _sfc_main$1 from "./src/components/form-render/dynamic-dialog.vue.js";
7
+ /* empty css */
16
8
  import DynamicDrawer from "./src/components/form-render/dynamic-drawer.vue.js";
17
9
  import { fmtHttpParams } from "./src/utils/request/fmtHttpParams.js";
18
10
  /* empty css */
11
+ import _export_sfc from "./_virtual/_plugin-vue_export-helper.js";
19
12
  const _sfc_main = {
20
13
  name: "VFormRender",
21
14
  componentName: "VFormRender",
@@ -104,6 +97,8 @@ const _sfc_main = {
104
97
  formDataModel: {
105
98
  //
106
99
  },
100
+ isLoading: false,
101
+ //是否正在加载中
107
102
  widgetRefList: {},
108
103
  subFormRefList: {},
109
104
  formId: null,
@@ -153,6 +148,7 @@ const _sfc_main = {
153
148
  //
154
149
  },
155
150
  created() {
151
+ this.isLoading = false;
156
152
  this.buildFormModel(!this.formJsonObj ? null : this.formJsonObj.widgetList);
157
153
  this.initFormObject();
158
154
  },
@@ -161,11 +157,16 @@ const _sfc_main = {
161
157
  this.initDataSetRequest();
162
158
  },
163
159
  methods: {
160
+ setLoading(flag) {
161
+ this.isLoading = flag;
162
+ },
164
163
  async onFormDetail() {
165
164
  var _a;
166
165
  const serveList = this.formConfig.serveList;
167
166
  if ((_a = serveList.vformDetail.http) == null ? void 0 : _a.url) {
168
- const res = await fmtHttpParams.call(this, serveList.vformDetail, { vfCtx: this.vfCtx });
167
+ const res = await fmtHttpParams.call(this, serveList.vformDetail, {
168
+ vfCtx: this.vfCtx
169
+ });
169
170
  console.log("res: ", res);
170
171
  return res;
171
172
  }
@@ -844,7 +845,7 @@ const _sfc_main = {
844
845
  formConfig: cloneFormConfigWithoutEventHandler(topFormRef.formConfig)
845
846
  };
846
847
  const wrapperDivId = generateId() + "";
847
- const dialogInstance = createVNode(DynamicDialog, {
848
+ const dialogInstance2 = h(_sfc_main$1, {
848
849
  options: dialogCon.options,
849
850
  formJson: dFormJson,
850
851
  formData: { ...formData },
@@ -855,13 +856,13 @@ const _sfc_main = {
855
856
  wrapperId: wrapperDivId,
856
857
  vfCtx: { ...formData }
857
858
  });
858
- dialogInstance.appContext = this.$root.$.appContext;
859
+ dialogInstance2.appContext = this.$root.$.appContext;
859
860
  const wrapperDiv = document.createElement("div");
860
861
  wrapperDiv.id = "vf-dynamic-dialog-wrapper" + wrapperDivId;
861
862
  document.body.appendChild(wrapperDiv);
862
- render(dialogInstance, wrapperDiv);
863
- document.body.appendChild(dialogInstance.el);
864
- dialogInstance.component.ctx.show();
863
+ render(dialogInstance2, wrapperDiv);
864
+ document.body.appendChild(dialogInstance2.el);
865
+ dialogInstance2.component.exposed.show();
865
866
  },
866
867
  showDrawer(drawerName, formData = {}, extraData = {}) {
867
868
  const topFormRef = this.getTopFormRef();
@@ -891,7 +892,7 @@ const _sfc_main = {
891
892
  document.body.appendChild(wrapperDiv);
892
893
  render(drawerInstance, wrapperDiv);
893
894
  document.body.appendChild(drawerInstance.el);
894
- drawerInstance.component.ctx.show();
895
+ dialogInstance.component.exposed.show();
895
896
  },
896
897
  /**
897
898
  * 判断表单是否处于设计器预览状态
@@ -903,70 +904,79 @@ const _sfc_main = {
903
904
  //--------------------- 以上为组件支持外部调用的API方法 end ------------------//
904
905
  }
905
906
  };
907
+ const _hoisted_1 = { style: { "min-height": "200px" } };
906
908
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
907
909
  const _component_a_form = resolveComponent("a-form");
910
+ const _component_a_spin = resolveComponent("a-spin");
908
911
  const _component_a_config_provider = resolveComponent("a-config-provider");
909
912
  return openBlock(), createBlock(_component_a_config_provider, {
910
913
  "component-size": $options.size,
911
914
  input: { autocomplete: "off" }
912
915
  }, {
913
916
  default: withCtx(() => [
914
- createVNode(_component_a_form, {
915
- layout: $options.labelPosition,
916
- class: normalizeClass([[$options.customClass, $data.readModeFlag ? "readonly-mode-form" : ""], "render-form tpf-form"]),
917
- "label-width": $options.labelWidth,
918
- "validate-on-rule-change": false,
919
- model: $data.formDataModel,
920
- ref: "renderForm",
921
- onSubmit: _cache[0] || (_cache[0] = withModifiers(() => {
922
- }, ["prevent"]))
923
- }, {
917
+ createVNode(_component_a_spin, { spinning: $data.isLoading }, {
924
918
  default: withCtx(() => [
925
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.widgetList, (widget, index) => {
926
- return openBlock(), createElementBlock(Fragment, null, [
927
- "container" === widget.category ? (openBlock(), createBlock(resolveDynamicComponent($options.getContainerWidgetName(widget)), {
928
- widget,
929
- key: widget.id,
930
- "parent-list": $options.widgetList,
931
- "index-of-parent-list": index,
932
- "parent-widget": null
933
- }, createSlots({ _: 2 }, [
934
- renderList(Object.keys(_ctx.$slots), (slot) => {
935
- return {
936
- name: slot,
937
- fn: withCtx((scope) => [
938
- renderSlot(_ctx.$slots, slot, normalizeProps(guardReactiveProps(scope)), void 0, true)
939
- ])
940
- };
941
- })
942
- ]), 1032, ["widget", "parent-list", "index-of-parent-list"])) : (openBlock(), createBlock(resolveDynamicComponent($options.getWidgetName(widget)), {
943
- field: widget,
944
- "form-model": $data.formDataModel,
945
- designer: null,
946
- key: widget.id,
947
- "parent-list": $options.widgetList,
948
- "index-of-parent-list": index,
949
- "parent-widget": null
950
- }, createSlots({ _: 2 }, [
951
- renderList(Object.keys(_ctx.$slots), (slot) => {
952
- return {
953
- name: slot,
954
- fn: withCtx((scope) => [
955
- renderSlot(_ctx.$slots, slot, normalizeProps(guardReactiveProps(scope)), void 0, true)
956
- ])
957
- };
958
- })
959
- ]), 1032, ["field", "form-model", "parent-list", "index-of-parent-list"]))
960
- ], 64);
961
- }), 256))
919
+ createElementVNode("div", _hoisted_1, [
920
+ createVNode(_component_a_form, {
921
+ layout: $options.labelPosition,
922
+ class: normalizeClass([[$options.customClass, $data.readModeFlag ? "readonly-mode-form" : ""], "render-form tpf-form"]),
923
+ "label-width": $options.labelWidth,
924
+ "validate-on-rule-change": false,
925
+ model: $data.formDataModel,
926
+ ref: "renderForm",
927
+ onSubmit: _cache[0] || (_cache[0] = withModifiers(() => {
928
+ }, ["prevent"]))
929
+ }, {
930
+ default: withCtx(() => [
931
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.widgetList, (widget, index) => {
932
+ return openBlock(), createElementBlock(Fragment, null, [
933
+ "container" === widget.category ? (openBlock(), createBlock(resolveDynamicComponent($options.getContainerWidgetName(widget)), {
934
+ widget,
935
+ key: widget.id,
936
+ "parent-list": $options.widgetList,
937
+ "index-of-parent-list": index,
938
+ "parent-widget": null
939
+ }, createSlots({ _: 2 }, [
940
+ renderList(Object.keys(_ctx.$slots), (slot) => {
941
+ return {
942
+ name: slot,
943
+ fn: withCtx((scope) => [
944
+ renderSlot(_ctx.$slots, slot, normalizeProps(guardReactiveProps(scope)), void 0, true)
945
+ ])
946
+ };
947
+ })
948
+ ]), 1032, ["widget", "parent-list", "index-of-parent-list"])) : (openBlock(), createBlock(resolveDynamicComponent($options.getWidgetName(widget)), {
949
+ field: widget,
950
+ "form-model": $data.formDataModel,
951
+ designer: null,
952
+ key: widget.id,
953
+ "parent-list": $options.widgetList,
954
+ "index-of-parent-list": index,
955
+ "parent-widget": null
956
+ }, createSlots({ _: 2 }, [
957
+ renderList(Object.keys(_ctx.$slots), (slot) => {
958
+ return {
959
+ name: slot,
960
+ fn: withCtx((scope) => [
961
+ renderSlot(_ctx.$slots, slot, normalizeProps(guardReactiveProps(scope)), void 0, true)
962
+ ])
963
+ };
964
+ })
965
+ ]), 1032, ["field", "form-model", "parent-list", "index-of-parent-list"]))
966
+ ], 64);
967
+ }), 256))
968
+ ]),
969
+ _: 3
970
+ }, 8, ["layout", "class", "label-width", "model"])
971
+ ])
962
972
  ]),
963
973
  _: 3
964
- }, 8, ["layout", "class", "label-width", "model"])
974
+ }, 8, ["spinning"])
965
975
  ]),
966
976
  _: 3
967
977
  }, 8, ["component-size"]);
968
978
  }
969
- const VFormRender = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-ab2b030a"]]);
979
+ const VFormRender = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-f3d61a23"]]);
970
980
  export {
971
981
  VFormRender as default
972
982
  };
@@ -0,0 +1,10 @@
1
+ import { defineAsyncComponent } from "vue";
2
+ function getCompontents(module) {
3
+ const modules = {
4
+ AttachmentRender: defineAsyncComponent(() => import("./AttachmentRender.vue.js"))
5
+ };
6
+ return modules[module];
7
+ }
8
+ export {
9
+ getCompontents
10
+ };
@@ -0,0 +1,68 @@
1
+ import { h, getCurrentInstance } from "vue";
2
+ import { getCompontents } from "./components/index.js";
3
+ function useCustomRender() {
4
+ const componentCache = /* @__PURE__ */ new Map();
5
+ const loadComponent = (componentName = "") => {
6
+ if (componentName.trim().length === 0) {
7
+ return void 0;
8
+ }
9
+ let component = componentCache.get(componentName);
10
+ if (!component) {
11
+ component = getCompontents(componentName);
12
+ return component;
13
+ }
14
+ if (!component) {
15
+ const instance = getCurrentInstance();
16
+ if (instance && instance.appContext) {
17
+ const getComponentByName = instance.appContext.config.globalProperties.getComponentByName;
18
+ component = getComponentByName(componentName);
19
+ if (component) {
20
+ componentCache.set(componentName, component);
21
+ }
22
+ }
23
+ return component;
24
+ }
25
+ if (!component) {
26
+ const instance = getCurrentInstance();
27
+ if (instance && instance.appContext) {
28
+ const globalSysComponents = instance.appContext.components || {};
29
+ const components = globalSysComponents;
30
+ component = components[componentName];
31
+ if (component) {
32
+ componentCache.set(componentName, component);
33
+ }
34
+ }
35
+ return component;
36
+ }
37
+ };
38
+ const renderComponent = (componentName, props = {}) => {
39
+ try {
40
+ const component = loadComponent(componentName);
41
+ if (!component) {
42
+ return h("span", { class: "component-not-found" }, `组件 "${componentName}" 未找到`);
43
+ }
44
+ const vnode = h(component, props);
45
+ return vnode;
46
+ } catch (error) {
47
+ console.error(`Failed to render component ${componentName}:`, error);
48
+ return h("span", { class: "component-render-error" }, `渲染组件出错: ${componentName}`);
49
+ }
50
+ };
51
+ const customRender = (code, params, ctx) => {
52
+ try {
53
+ const { text, record, index, column } = params;
54
+ const cusFunc = new Function("text", "record", "index", "column", "compontent", code);
55
+ return cusFunc.call(ctx, text, record, index, column, renderComponent);
56
+ } catch (error) {
57
+ console.error("Custom render execution failed:", error);
58
+ return h("span", { class: "custom-render-error", style: { color: "red" } }, "自定义渲染失败");
59
+ }
60
+ };
61
+ return {
62
+ renderComponent,
63
+ customRender
64
+ };
65
+ }
66
+ export {
67
+ useCustomRender
68
+ };
@@ -1,171 +1,7 @@
1
- import ace from "ace-builds";
2
- import "ace-builds/src-min-noconflict/theme-sqlserver";
3
- import "ace-builds/src-min-noconflict/mode-javascript";
4
- import "ace-builds/src-min-noconflict/mode-json";
5
- import "ace-builds/src-min-noconflict/mode-css";
6
- import "ace-builds/src-min-noconflict/ext-language_tools";
7
- import { ACE_BASE_PATH } from "../../utils/config.js";
8
- import { createElementBlock, openBlock, createElementVNode } from "vue";
1
+ import _sfc_main from "./index.vue2.js";
2
+ /* empty css */
9
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
10
- const _sfc_main = {
11
- name: "CodeEditor",
12
- props: {
13
- modelValue: {
14
- type: String
15
- //required: true
16
- },
17
- readonly: {
18
- type: Boolean,
19
- default: false
20
- },
21
- mode: {
22
- type: String,
23
- default: "javascript"
24
- },
25
- userWorker: {
26
- //是否开启语法检查,默认开启
27
- type: Boolean,
28
- default: true
29
- }
30
- },
31
- emits: ["update:modelValue", "change", "blur"],
32
- mounted() {
33
- this.init();
34
- },
35
- data() {
36
- return {
37
- aceEditor: null,
38
- themePath: "ace/theme/sqlserver",
39
- // 不导入 webpack-resolver,该模块路径会报错
40
- modePath: "ace/mode/javascript",
41
- // 同上
42
- codeValue: this.modelValue
43
- };
44
- },
45
- watch: {
46
- //
47
- mode(val) {
48
- if (val) {
49
- this.init();
50
- }
51
- },
52
- readonly(val) {
53
- this.init();
54
- }
55
- },
56
- methods: {
57
- init(value) {
58
- if (this.aceEditor) {
59
- this.aceEditor.destroy();
60
- }
61
- value = value || this.codeValue;
62
- this.$emit("update:modelValue", value);
63
- ace.config.set("basePath", ACE_BASE_PATH);
64
- this.addAutoCompletion(ace);
65
- this.aceEditor = ace.edit(this.$refs.ace, {
66
- maxLines: 20,
67
- // 最大行数,超过会自动出现滚动条
68
- minLines: 5,
69
- // 最小行数,还未到最大行数时,编辑器会自动伸缩大小
70
- fontSize: 12,
71
- // 编辑器内字体大小
72
- theme: this.themePath,
73
- // 默认设置的主题
74
- mode: this.modePath,
75
- // 默认设置的语言模式
76
- tabSize: 2,
77
- // 制表符设置为2个空格大小
78
- readOnly: this.readonly,
79
- highlightActiveLine: true,
80
- value
81
- });
82
- this.aceEditor.setOptions({
83
- enableBasicAutocompletion: true,
84
- enableSnippets: true,
85
- // 设置代码片段提示
86
- enableLiveAutocompletion: true
87
- // 设置自动提示
88
- });
89
- if (this.mode === "json") {
90
- this.setJsonMode();
91
- } else if (this.mode === "css") {
92
- this.setCssMode();
93
- } else if (this.mode === "groovy") {
94
- this.setGroovyMode();
95
- }
96
- if (!this.userWorker) {
97
- this.aceEditor.getSession().setUseWorker(false);
98
- }
99
- this.aceEditor.getSession().on("change", (ev) => {
100
- this.$emit("update:modelValue", this.aceEditor.getValue());
101
- this.$emit("change", this.aceEditor.getValue());
102
- });
103
- this.aceEditor.getSession().on("blur", (ev) => {
104
- this.$emit("blur", this.aceEditor.getValue());
105
- });
106
- },
107
- addAutoCompletion(ace2) {
108
- const acData = [
109
- { meta: "VForm API", caption: "getWidgetRef", value: "getWidgetRef()", score: 1 },
110
- { meta: "VForm API", caption: "getFormRef", value: "getFormRef()", score: 1 },
111
- { meta: "VForm API", caption: "getParentFormRef", value: "getParentFormRef()", score: 1 }
112
- //TODO: 待补充!!
113
- ];
114
- const langTools = ace2.require("ace/ext/language_tools");
115
- langTools.addCompleter({
116
- getCompletions: function(editor, session, pos, prefix, callback) {
117
- if (prefix.length === 0) {
118
- return callback(null, []);
119
- } else {
120
- return callback(null, acData);
121
- }
122
- }
123
- });
124
- },
125
- setJsonMode() {
126
- this.aceEditor.getSession().setMode("ace/mode/json");
127
- },
128
- setCssMode() {
129
- this.aceEditor.getSession().setMode("ace/mode/css");
130
- },
131
- setGroovyMode() {
132
- this.aceEditor.getSession().setMode("ace/mode/groovy");
133
- },
134
- getEditorAnnotations() {
135
- return this.aceEditor.getSession().getAnnotations();
136
- },
137
- setValue(newValue) {
138
- this.init(newValue);
139
- },
140
- validateCode() {
141
- const codeHints = this.getEditorAnnotations();
142
- let syntaxErrorFlag = false;
143
- if (!!codeHints && codeHints.length > 0) {
144
- codeHints.forEach((chItem) => {
145
- if (chItem.type === "error") {
146
- syntaxErrorFlag = true;
147
- }
148
- });
149
- if (syntaxErrorFlag) {
150
- this.$message.error("语法存在错误,请检查");
151
- return false;
152
- }
153
- }
154
- return true;
155
- }
156
- }
157
- };
158
- const _hoisted_1 = { class: "ace-container" };
159
- const _hoisted_2 = {
160
- class: "ace-editor",
161
- ref: "ace"
162
- };
163
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
164
- return openBlock(), createElementBlock("div", _hoisted_1, [
165
- createElementVNode("div", _hoisted_2, null, 512)
166
- ]);
167
- }
168
- const CodeEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
4
+ const CodeEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d6ceeb37"]]);
169
5
  export {
170
6
  CodeEditor as default
171
7
  };