@kp-ui/lowcode 2.15.0-beta.7 → 2.16.0-alpha.10

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 (216) hide show
  1. package/install.js +17 -15
  2. package/install.js.map +1 -1
  3. package/package.json +4 -7
  4. package/src/components/FormRender/FormContainer.vue.js +55 -0
  5. package/src/components/FormRender/FormContainer.vue.js.map +1 -0
  6. package/src/components/FormRender/FormContainer.vue2.js +5 -0
  7. package/src/components/FormRender/FormContainer.vue2.js.map +1 -0
  8. package/src/components/FormRender/index.vue.js +2 -2
  9. package/src/components/FormRender/index.vue2.js +28 -30
  10. package/src/components/FormRender/index.vue2.js.map +1 -1
  11. package/src/components/FormRender/useFormContext.js +116 -109
  12. package/src/components/FormRender/useFormContext.js.map +1 -1
  13. package/src/components/{designer.js → form-designer/designer.js} +76 -71
  14. package/src/components/form-designer/designer.js.map +1 -0
  15. package/src/components/form-designer/form-widget/RenderDesignerWigetList.vue.js +1 -1
  16. package/src/components/form-designer/form-widget/RenderDesignerWigetList.vue.js.map +1 -1
  17. package/src/components/form-designer/form-widget/container-widget/useTableWidget.js +143 -138
  18. package/src/components/form-designer/form-widget/container-widget/useTableWidget.js.map +1 -1
  19. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js +2 -2
  20. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue2.js +18 -19
  21. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -1
  22. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js +2 -2
  23. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue2.js +22 -16
  24. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -1
  25. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue.js +8 -0
  26. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue.js.map +1 -0
  27. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue2.js +58 -0
  28. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue2.js.map +1 -0
  29. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js +1 -1
  30. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js +66 -54
  31. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js.map +1 -1
  32. package/src/components/form-designer/form-widget/field-widget/index.js +1 -1
  33. package/src/components/form-designer/form-widget/field-widget/index.js.map +1 -1
  34. package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue2.js.map +1 -1
  35. package/src/components/form-designer/form-widget/field-widget/useField.js +140 -140
  36. package/src/components/form-designer/form-widget/field-widget/useField.js.map +1 -1
  37. package/src/components/form-designer/form-widget/index.vue.js +2 -2
  38. package/src/components/form-designer/form-widget/index.vue2.js +56 -47
  39. package/src/components/form-designer/form-widget/index.vue2.js.map +1 -1
  40. package/src/components/form-designer/form-widget/useFormDesigner.js +34 -0
  41. package/src/components/form-designer/form-widget/useFormDesigner.js.map +1 -0
  42. package/src/components/form-designer/index.vue.js +77 -74
  43. package/src/components/form-designer/index.vue.js.map +1 -1
  44. package/src/components/form-designer/setting-panel/form-setting.vue.js +2 -2
  45. package/src/components/form-designer/setting-panel/form-setting.vue2.js +100 -126
  46. package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
  47. package/src/components/form-designer/setting-panel/index.vue.js +1 -1
  48. package/src/components/form-designer/setting-panel/index.vue2.js +1 -1
  49. package/src/components/form-designer/setting-panel/index.vue2.js.map +1 -1
  50. package/src/components/form-designer/setting-panel/option-items-setting.vue.js +2 -2
  51. package/src/components/form-designer/setting-panel/option-items-setting.vue2.js +1 -1
  52. package/src/components/form-designer/setting-panel/option-items-setting.vue2.js.map +1 -1
  53. package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue.js +1 -1
  54. package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue2.js +255 -201
  55. package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue2.js.map +1 -1
  56. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js +45 -39
  57. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
  58. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue2.js +1 -1
  59. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue2.js.map +1 -1
  60. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue2.js +1 -1
  61. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue2.js.map +1 -1
  62. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js +2 -2
  63. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue2.js.map +1 -1
  64. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +1 -1
  65. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js +1 -1
  66. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js.map +1 -1
  67. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js +2 -2
  68. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue2.js +1 -1
  69. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue2.js.map +1 -1
  70. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue2.js +1 -1
  71. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue2.js.map +1 -1
  72. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js +1 -1
  73. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue2.js +1 -1
  74. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue2.js.map +1 -1
  75. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue.js +32 -0
  76. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue.js.map +1 -0
  77. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue.js +32 -0
  78. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue.js.map +1 -0
  79. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/cancelButtonLabel-editor.vue2.js.map +1 -1
  80. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue2.js.map +1 -1
  81. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue.js +5 -0
  82. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue.js.map +1 -0
  83. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue2.js +38 -0
  84. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue2.js.map +1 -0
  85. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue.js +5 -0
  86. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue.js.map +1 -0
  87. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue2.js +38 -0
  88. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue2.js.map +1 -0
  89. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue2.js +10 -10
  90. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue2.js.map +1 -1
  91. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue2.js +1 -1
  92. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue2.js.map +1 -1
  93. package/src/components/form-designer/setting-panel/property-editor/event-handler/onTableChange-editor.vue2.js +4 -4
  94. package/src/components/form-designer/setting-panel/property-editor/event-handler/onTableChange-editor.vue2.js.map +1 -1
  95. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue2.js +1 -1
  96. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue2.js.map +1 -1
  97. package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue2.js +1 -1
  98. package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue2.js.map +1 -1
  99. package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue2.js +1 -1
  100. package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue2.js.map +1 -1
  101. package/src/components/form-designer/setting-panel/property-editor/index.js +178 -176
  102. package/src/components/form-designer/setting-panel/property-editor/index.js.map +1 -1
  103. package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue2.js +29 -18
  104. package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue2.js.map +1 -1
  105. package/src/components/form-designer/setting-panel/property-editor/multiple-editor.vue2.js.map +1 -1
  106. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue2.js +1 -1
  107. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue2.js.map +1 -1
  108. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue2.js +1 -1
  109. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue2.js.map +1 -1
  110. package/src/components/form-designer/setting-panel/property-editor/type-editor.vue2.js.map +1 -1
  111. package/src/components/form-designer/setting-panel/property-editor/useEditor.js +1 -1
  112. package/src/components/form-designer/setting-panel/property-editor/useEditor.js.map +1 -1
  113. package/src/components/form-designer/setting-panel/propertyRegister.js +12 -12
  114. package/src/components/form-designer/setting-panel/propertyRegister.js.map +1 -1
  115. package/src/components/form-designer/toolbar-panel/PreviewDialog.vue.js +1 -1
  116. package/src/components/form-designer/toolbar-panel/PreviewDialog.vue.js.map +1 -1
  117. package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
  118. package/src/components/form-designer/toolbar-panel/index.vue2.js +177 -137
  119. package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
  120. package/src/components/form-designer/widget-panel/PanelItemDrag.vue.js +50 -0
  121. package/src/components/form-designer/widget-panel/PanelItemDrag.vue.js.map +1 -0
  122. package/src/components/form-designer/widget-panel/basicFields/input.js +4 -2
  123. package/src/components/form-designer/widget-panel/basicFields/input.js.map +1 -1
  124. package/src/components/form-designer/widget-panel/containers/vf-box.js +1 -4
  125. package/src/components/form-designer/widget-panel/containers/vf-box.js.map +1 -1
  126. package/src/components/form-designer/widget-panel/containers/vf-dialog.js +34 -10
  127. package/src/components/form-designer/widget-panel/containers/vf-dialog.js.map +1 -1
  128. package/src/components/form-designer/widget-panel/index.vue.js +2 -2
  129. package/src/components/form-designer/widget-panel/index.vue2.js +34 -74
  130. package/src/components/form-designer/widget-panel/index.vue2.js.map +1 -1
  131. package/src/components/form-render/container-items/data-table-widget.vue.js +3 -3
  132. package/src/components/form-render/container-items/data-table-widget.vue2.js +65 -64
  133. package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
  134. package/src/components/form-render/dynamic-dialog.vue.js +79 -83
  135. package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
  136. package/src/components/public/ActionButtonListDialog.vue.js +2 -2
  137. package/src/components/public/ActionButtonListDialog.vue2.js +117 -96
  138. package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
  139. package/src/components/public/ActionButtonListRender.vue.js +17 -15
  140. package/src/components/public/ActionButtonListRender.vue.js.map +1 -1
  141. package/src/components/public/ActionButtonListRender.vue2.js +48 -38
  142. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
  143. package/src/components/public/ConfigView/CustomPageRender.vue.js +58 -0
  144. package/src/components/public/ConfigView/CustomPageRender.vue.js.map +1 -0
  145. package/src/components/public/ConfigView/CustomPageRender.vue2.js +5 -0
  146. package/src/components/public/ConfigView/CustomPageRender.vue2.js.map +1 -0
  147. package/src/components/public/CustomerModal/CustomerModal.vue2.js +63 -56
  148. package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -1
  149. package/src/constants/EditorTypeEnum.js +1 -1
  150. package/src/constants/EditorTypeEnum.js.map +1 -1
  151. package/src/constants/WidgetTypeEnum.js +3 -4
  152. package/src/constants/WidgetTypeEnum.js.map +1 -1
  153. package/src/hooks/useDataHttp.js +8 -7
  154. package/src/hooks/useDataHttp.js.map +1 -1
  155. package/src/hooks/useLowcode.js.map +1 -1
  156. package/src/lang/en-US.js +3 -1
  157. package/src/lang/en-US.js.map +1 -1
  158. package/src/lang/zh-CN.js +5 -5
  159. package/src/lang/zh-CN.js.map +1 -1
  160. package/src/utils/util.js +26 -35
  161. package/src/utils/util.js.map +1 -1
  162. package/stats.html +1 -1
  163. package/styles/style.css +1 -1
  164. package/src/components/FormRender/FormContainer.js +0 -52
  165. package/src/components/FormRender/FormContainer.js.map +0 -1
  166. package/src/components/bi-widget/echartBar/echart-bar-widget.vue.js +0 -8
  167. package/src/components/bi-widget/echartBar/echart-bar-widget.vue.js.map +0 -1
  168. package/src/components/bi-widget/echartBar/echart-bar-widget.vue2.js +0 -43
  169. package/src/components/bi-widget/echartBar/echart-bar-widget.vue2.js.map +0 -1
  170. package/src/components/bi-widget/echartBar/echart-bar.js +0 -35
  171. package/src/components/bi-widget/echartBar/echart-bar.js.map +0 -1
  172. package/src/components/bi-widget/index.js +0 -13
  173. package/src/components/bi-widget/index.js.map +0 -1
  174. package/src/components/designer.js.map +0 -1
  175. package/src/components/form-designer/form-widget/RenderDesignerPC.vue.js +0 -26
  176. package/src/components/form-designer/form-widget/RenderDesignerPC.vue.js.map +0 -1
  177. package/src/components/form-designer/form-widget/RenderDesignerPC.vue2.js +0 -5
  178. package/src/components/form-designer/form-widget/RenderDesignerPC.vue2.js.map +0 -1
  179. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue.js +0 -8
  180. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue.js.map +0 -1
  181. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue2.js +0 -68
  182. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue2.js.map +0 -1
  183. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue.js +0 -8
  184. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue.js.map +0 -1
  185. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue2.js +0 -136
  186. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue2.js.map +0 -1
  187. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue.js +0 -8
  188. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue.js.map +0 -1
  189. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue2.js +0 -153
  190. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue2.js.map +0 -1
  191. package/src/components/form-designer/form-widget/bi/useRuler.js +0 -66
  192. package/src/components/form-designer/form-widget/bi/useRuler.js.map +0 -1
  193. package/src/components/form-designer/setting-panel/panel/PanelItemDrag.vue.js +0 -51
  194. package/src/components/form-designer/setting-panel/panel/PanelItemDrag.vue.js.map +0 -1
  195. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue.js +0 -51
  196. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue.js.map +0 -1
  197. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue2.js +0 -5
  198. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue2.js.map +0 -1
  199. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue.js +0 -5
  200. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue.js.map +0 -1
  201. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue2.js +0 -71
  202. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue2.js.map +0 -1
  203. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue.js +0 -5
  204. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue.js.map +0 -1
  205. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue2.js +0 -81
  206. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue2.js.map +0 -1
  207. package/src/components/form-render/SubmitButtonRender.vue.js +0 -92
  208. package/src/components/form-render/SubmitButtonRender.vue.js.map +0 -1
  209. package/src/components/form-render/SubmitButtonRender.vue2.js +0 -5
  210. package/src/components/form-render/SubmitButtonRender.vue2.js.map +0 -1
  211. package/src/constants/LayoutTypeEnum.js +0 -5
  212. package/src/constants/LayoutTypeEnum.js.map +0 -1
  213. package/src/hooks/useDesigner.js +0 -51
  214. package/src/hooks/useDesigner.js.map +0 -1
  215. /package/src/components/form-designer/{setting-panel/panel → widget-panel}/PanelItemDrag.vue2.js +0 -0
  216. /package/src/components/form-designer/{setting-panel/panel → widget-panel}/PanelItemDrag.vue2.js.map +0 -0
@@ -1,20 +1,18 @@
1
- import { defineComponent as z, provide as i, ref as s, computed as W, watch as G, onMounted as K, resolveComponent as l, createBlock as Q, openBlock as X, withCtx as r, createVNode as n, createSlots as Y, renderList as Z, renderSlot as j, createElementVNode as O } from "vue";
2
- import ee from "./widget-panel/index.vue.js";
3
- import te from "./toolbar-panel/index.vue.js";
4
- import oe from "./setting-panel/index.vue.js";
5
- import ne from "./form-widget/index.vue.js";
6
- import { createDesigner as re } from "../designer.js";
7
- import { useLocaleStore as ie } from "@kp-ui/i18n";
8
- import { deepClone as w, getAllFieldWidgets as L, getAllContainerWidgets as J } from "../../utils/util.js";
9
- import { isEmpty as A, set as ae } from "lodash-es";
1
+ import { defineComponent as z, ref as l, provide as s, computed as G, watch as K, onMounted as Q, resolveComponent as a, createBlock as X, openBlock as Y, withCtx as r, createVNode as n, createSlots as Z, renderList as j, renderSlot as O, createElementVNode as ee } from "vue";
2
+ import te from "./widget-panel/index.vue.js";
3
+ import oe from "./toolbar-panel/index.vue.js";
4
+ import ne from "./setting-panel/index.vue.js";
5
+ import re from "./form-widget/index.vue.js";
6
+ import { createDesigner as ie } from "./designer.js";
7
+ import { useLocaleStore as le } from "@kp-ui/i18n";
8
+ import { deepClone as F, getAllFieldWidgets as w, getAllContainerWidgets as L } from "../../utils/util.js";
9
+ import { isEmpty as b, set as se } from "lodash-es";
10
10
  import { useI18n as D } from "../../utils/i18n.js";
11
- import { message as E } from "ant-design-vue";
12
- import { storeToRefs as se } from "pinia";
13
- import { useExecFunction as le, useRef as de } from "tmgc2-share";
14
- import { useEmitter as ue } from "../../utils/useEmitter.js";
15
- import { LayoutTypeEnum as fe } from "../../constants/LayoutTypeEnum.js";
16
- import { getLocat as me } from "@kp-ui/tool";
17
- const ce = { class: "container-scroll-bar" }, be = /* @__PURE__ */ z({
11
+ import { message as J } from "ant-design-vue";
12
+ import { storeToRefs as ae } from "pinia";
13
+ import { useExecFunction as de, useRef as fe } from "tmgc2-share";
14
+ import { useEmitter as ge } from "../../utils/useEmitter.js";
15
+ const ue = { class: "container-scroll-bar" }, Je = /* @__PURE__ */ z({
18
16
  name: "VFormDesigner",
19
17
  componentName: "VFormDesigner",
20
18
  __name: "index",
@@ -37,105 +35,108 @@ const ce = { class: "container-scroll-bar" }, be = /* @__PURE__ */ z({
37
35
  }) },
38
36
  globalDsv: { default: () => ({}) }
39
37
  },
40
- setup(S, { expose: b }) {
41
- const { i18nt: c } = D(), B = ie(), { locale: g } = se(B), d = S, u = ue(), { context: T } = le();
42
- i("serverFieldList", () => p.value), i("designState", !0);
43
- const f = s(270), m = s(300), p = s([]), { initLocale: x } = D(), o = s(re(T)), V = W(() => o.value.formConfig), v = s({}), h = W(() => {
44
- const { type: e = fe.PC } = me();
45
- return e;
46
- });
47
- i("formData", v), i("formConfig", V), i("designer", o), i("getDesignerConfig", () => d.designerConfig), i("layoutType", h), o.value.changeLayoutType(h.value);
48
- const P = (e) => {
49
- if (!A(e))
38
+ setup(A, { expose: R }) {
39
+ const m = l(), { i18nt: c } = D(), S = le(), { locale: p } = ae(S), d = A, f = ge(), { context: E } = de();
40
+ s("serverFieldList", () => v.value), s("designState", !0);
41
+ const g = l(270), u = l(300), v = l([]), { initLocale: B } = D(), o = l(ie(E)), V = G(() => o.value.formConfig), h = l({});
42
+ s("formData", h), s("formConfig", V), s("designer", o), s("getDesignerConfig", () => d.designerConfig);
43
+ const $ = (e) => {
44
+ if (!b(e))
50
45
  try {
51
46
  if (!e || !e.formConfig)
52
47
  throw new Error(c("designer.hint.invalidJsonFormat"));
53
48
  o.value.loadFormJson(e), o.value.emitHistoryChange(), o.value.emitEvent("form-json-imported", []);
54
49
  } catch (t) {
55
- E.error(t + "");
50
+ J.error(t + "");
56
51
  }
57
- }, R = async () => {
58
- d.fieldListApi && (p.value = await d.fieldListApi());
59
- }, $ = (e) => {
60
- if (!A(e))
52
+ }, k = async () => {
53
+ d.fieldListApi && (v.value = await d.fieldListApi());
54
+ }, x = (e) => {
55
+ if (!b(e))
61
56
  try {
62
57
  let t = !1;
63
58
  typeof e == "string" ? t = o.value.loadFormJson(JSON.parse(e)) : e.constructor === Object && (t = o.value.loadFormJson(e)), t && o.value.emitHistoryChange();
64
59
  } catch (t) {
65
- E.error(t + "");
60
+ J.error(t + "");
66
61
  }
67
62
  }, H = () => ({
68
- widgetList: w(o.value.widgetList),
69
- formConfig: w(o.value.formConfig)
70
- }), U = (e = []) => e.length ? L(e) : L(o.value.widgetList), k = (e = []) => e.length ? J(e) : J(o.value.widgetList);
71
- G(
72
- g,
63
+ widgetList: F(o.value.widgetList),
64
+ formConfig: F(o.value.formConfig)
65
+ }), P = (e = []) => e.length ? w(e) : w(o.value.widgetList), U = (e = []) => e.length ? L(e) : L(o.value.widgetList), I = (e, t = !1) => m.value.getWidgetRef(e, t);
66
+ K(
67
+ p,
73
68
  () => {
74
- x(g.value);
69
+ B(p.value);
75
70
  },
76
71
  {
77
72
  immediate: !0
78
73
  }
79
74
  );
80
- const [I, M] = de(!1), N = () => {
81
- u.off$("fieldChange"), u.on$("fieldChange", ({ fieldName: e, value: t }) => {
82
- console.log("fieldChange", e, t), typeof e < "u" && typeof t < "u" && ae(v.value, e, t);
75
+ const [M, N] = fe(!1), T = () => {
76
+ f.off$("fieldChange"), f.on$("fieldChange", ({ fieldName: e, value: t }) => {
77
+ console.log("fieldChange", e, t), typeof e < "u" && typeof t < "u" && se(h.value, e, t);
83
78
  });
84
79
  };
85
- return K(() => {
86
- N(), R();
87
- }), b({
88
- ...u,
80
+ return Q(() => {
81
+ o.value.initDesigner(), T(), k();
82
+ }), R({
83
+ ...f,
89
84
  i18nt: c,
90
- isLoading: I,
91
- setLoading: M,
92
- getContainerWidgets: k,
93
- getFieldWidgets: U,
85
+ isLoading: M,
86
+ setLoading: N,
87
+ getWidgetRef: I,
88
+ getContainerWidgets: U,
89
+ getFieldWidgets: P,
94
90
  getFormJson: H,
95
- setFormJson: $,
96
- setJsonImport: P
91
+ setFormJson: x,
92
+ setJsonImport: $
97
93
  }), (e, t) => {
98
- const y = l("a-layout-sider"), q = l("a-layout-header"), C = l("a-layout-content"), _ = l("a-layout");
99
- return X(), Q(_, { class: "main-container full-height" }, {
94
+ const C = a("a-layout-sider"), q = a("a-layout-header"), y = a("a-layout-content"), _ = a("a-layout");
95
+ return Y(), X(_, { class: "main-container full-height" }, {
100
96
  default: r(() => [
101
97
  n(_, null, {
102
98
  default: r(() => [
103
- n(y, {
104
- width: f.value,
99
+ n(C, {
100
+ width: g.value,
105
101
  class: "side-panel"
106
102
  }, {
107
103
  default: r(() => [
108
- n(ee)
104
+ n(te)
109
105
  ]),
110
106
  _: 1
111
107
  }, 8, ["width"]),
112
- n(C, { class: "center-layout-container" }, {
108
+ n(y, { class: "center-layout-container" }, {
113
109
  default: r(() => [
114
110
  n(q, { class: "toolbar-header" }, {
115
111
  default: r(() => [
116
- n(te, {
112
+ n(oe, {
117
113
  saveJsonApi: e.saveJsonApi,
118
114
  "global-dsv": e.globalDsv,
119
- leftWidth: f.value,
120
- "onUpdate:leftWidth": t[0] || (t[0] = (a) => f.value = a),
121
- rightWidth: m.value,
122
- "onUpdate:rightWidth": t[1] || (t[1] = (a) => m.value = a),
115
+ leftWidth: g.value,
116
+ "onUpdate:leftWidth": t[0] || (t[0] = (i) => g.value = i),
117
+ rightWidth: u.value,
118
+ "onUpdate:rightWidth": t[1] || (t[1] = (i) => u.value = i),
123
119
  ref: "toolbarRef"
124
- }, Y({ _: 2 }, [
125
- Z(e.$slots, (a, F) => ({
126
- name: F,
120
+ }, Z({ _: 2 }, [
121
+ j(e.$slots, (i, W) => ({
122
+ name: W,
127
123
  fn: r(() => [
128
- j(e.$slots, F)
124
+ O(e.$slots, W)
129
125
  ])
130
126
  }))
131
127
  ]), 1032, ["saveJsonApi", "global-dsv", "leftWidth", "rightWidth"])
132
128
  ]),
133
129
  _: 3
134
130
  }),
135
- n(C, { class: "form-widget-main" }, {
131
+ n(y, { class: "form-widget-main" }, {
136
132
  default: r(() => [
137
- O("div", ce, [
138
- n(ne)
133
+ ee("div", ue, [
134
+ n(re, {
135
+ "global-dsv": e.globalDsv,
136
+ "form-config": o.value.formConfig,
137
+ ref_key: "formRef",
138
+ ref: m
139
+ }, null, 8, ["global-dsv", "form-config"])
139
140
  ])
140
141
  ]),
141
142
  _: 1
@@ -143,12 +144,14 @@ const ce = { class: "container-scroll-bar" }, be = /* @__PURE__ */ z({
143
144
  ]),
144
145
  _: 3
145
146
  }),
146
- n(y, { width: m.value }, {
147
+ n(C, { width: u.value }, {
147
148
  default: r(() => [
148
- n(oe, {
149
+ n(ne, {
149
150
  "selected-widget": o.value.selectedWidget,
150
- "onUpdate:selectedWidget": t[2] || (t[2] = (a) => o.value.selectedWidget = a)
151
- }, null, 8, ["selected-widget"])
151
+ "onUpdate:selectedWidget": t[2] || (t[2] = (i) => o.value.selectedWidget = i),
152
+ "global-dsv": e.globalDsv,
153
+ "form-config": o.value.formConfig
154
+ }, null, 8, ["selected-widget", "global-dsv", "form-config"])
152
155
  ]),
153
156
  _: 1
154
157
  }, 8, ["width"])
@@ -162,6 +165,6 @@ const ce = { class: "container-scroll-bar" }, be = /* @__PURE__ */ z({
162
165
  }
163
166
  });
164
167
  export {
165
- be as default
168
+ Je as default
166
169
  };
167
170
  //# sourceMappingURL=index.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../../src/components/form-designer/index.vue"],"sourcesContent":["<template>\n <a-layout class=\"main-container full-height\">\n <a-layout>\n <a-layout-sider :width=\"leftWidth\" class=\"side-panel\">\n <WidgetPanel />\n </a-layout-sider>\n\n <a-layout-content class=\"center-layout-container\">\n <a-layout-header class=\"toolbar-header\">\n <toolbar-panel\n :saveJsonApi=\"saveJsonApi\"\n :global-dsv=\"globalDsv\"\n v-model:leftWidth=\"leftWidth\"\n v-model:rightWidth=\"rightWidth\"\n ref=\"toolbarRef\"\n >\n <template v-for=\"(idx, slotName) in $slots\" #[slotName]>\n <slot :name=\"slotName\"></slot>\n </template>\n </toolbar-panel>\n </a-layout-header>\n <a-layout-content class=\"form-widget-main\">\n <div class=\"container-scroll-bar\">\n <VFormWidget />\n </div>\n </a-layout-content>\n </a-layout-content>\n <a-layout-sider :width=\"rightWidth\">\n <setting-panel v-model:selected-widget=\"designer.selectedWidget\" />\n </a-layout-sider>\n </a-layout>\n </a-layout>\n</template>\n\n<script lang=\"ts\" setup>\n import WidgetPanel from './widget-panel/index.vue';\n import ToolbarPanel from './toolbar-panel/index.vue';\n import SettingPanel from './setting-panel/index.vue';\n import VFormWidget from './form-widget/index.vue';\n import { createDesigner } from '../designer';\n import { useLocaleStore } from '@kp-ui/i18n';\n import { deepClone, getAllContainerWidgets, getAllFieldWidgets } from '@/utils/util';\n import { isEmpty, set } from 'lodash-es';\n import { ref, provide, watch, onMounted, computed } from 'vue';\n import { WidgetTree } from '@/types/schema';\n import { useI18n } from '@/utils/i18n';\n import { message } from 'ant-design-vue';\n import { storeToRefs } from 'pinia';\n import { useExecFunction, useRef } from 'tmgc2-share';\n import { useEmitter } from '@/utils/useEmitter';\n import { LayoutTypeEnum } from '@/constants/LayoutTypeEnum';\n import { getLocat } from '@kp-ui/tool';\n defineOptions({\n name: 'VFormDesigner',\n componentName: 'VFormDesigner'\n });\n\n const { i18nt } = useI18n();\n const localeStore = useLocaleStore();\n const { locale } = storeToRefs(localeStore);\n\n const props = withDefaults(\n defineProps<{\n saveJsonApi: (json: any) => Promise<void>;\n fieldListApi: () => Promise<any[]>;\n designerConfig?: {\n eventCollapse?: boolean;\n widgetNameReadonly?: boolean;\n clearDesignerButton?: boolean;\n previewFormButton?: boolean;\n importJsonButton?: boolean;\n exportJsonButton?: boolean;\n };\n globalDsv?: Record<string, any>;\n }>(),\n {\n designerConfig: () => ({\n eventCollapse: true, //是否显示组件事件属性折叠面板\n widgetNameReadonly: false, //禁止修改组件名称\n clearDesignerButton: true, //是否显示清空设计器按钮\n previewFormButton: true, //是否显示预览表单按钮\n importJsonButton: true, //是否显示导入JSON按钮\n exportJsonButton: true //是否显示导出JSON器按钮\n }),\n globalDsv: () => ({})\n }\n );\n const emitter = useEmitter();\n const { context } = useExecFunction();\n\n provide('serverFieldList', () => fieldList.value);\n provide('designState', true); // 设计态标识\n const leftWidth = ref(270);\n const rightWidth = ref(300);\n const fieldList = ref<any[]>([]);\n const { initLocale } = useI18n();\n const designer = ref(createDesigner(context));\n const formConfig = computed(() => designer.value.formConfig);\n // 状态变量\n const formDataModel = ref<Record<string, any>>({});\n\n const layoutType = computed(() => {\n const { type = LayoutTypeEnum.PC } = getLocat();\n return type;\n });\n\n provide('formData', formDataModel);\n provide('formConfig', formConfig);\n provide('designer', designer);\n provide('getDesignerConfig', () => props.designerConfig);\n provide('layoutType', layoutType);\n\n designer.value.changeLayoutType(layoutType.value);\n\n const setJsonImport = (importObj: WidgetTree) => {\n if (isEmpty(importObj)) return;\n try {\n if (!importObj || !importObj.formConfig) {\n throw new Error(i18nt('designer.hint.invalidJsonFormat'));\n }\n designer.value.loadFormJson(importObj);\n designer.value.emitHistoryChange();\n designer.value.emitEvent('form-json-imported', []);\n } catch (error) {\n message.error(error + '');\n }\n };\n\n const loadFieldListFromServer = async () => {\n if (!props.fieldListApi) {\n return;\n }\n fieldList.value = await props.fieldListApi();\n };\n\n const setFormJson = (formJson: WidgetTree) => {\n if (isEmpty(formJson)) return;\n try {\n let modifiedFlag = false;\n if (typeof formJson === 'string') {\n modifiedFlag = designer.value.loadFormJson(JSON.parse(formJson));\n } else if (formJson.constructor === Object) {\n modifiedFlag = designer.value.loadFormJson(formJson);\n }\n if (modifiedFlag) {\n designer.value.emitHistoryChange();\n }\n } catch (error) {\n message.error(error + '');\n }\n };\n\n const getFormJson = (): WidgetTree => {\n return {\n widgetList: deepClone(designer.value.widgetList),\n formConfig: deepClone(designer.value.formConfig)\n };\n };\n\n const getFieldWidgets = (widgetList = []) => {\n return widgetList.length\n ? getAllFieldWidgets(widgetList)\n : getAllFieldWidgets(designer.value.widgetList);\n };\n\n /**\n * 获取所有容器组件\n * @returns {*[]}\n */\n const getContainerWidgets = (widgetList = []) => {\n return widgetList.length\n ? getAllContainerWidgets(widgetList)\n : getAllContainerWidgets(designer.value.widgetList);\n };\n\n watch(\n locale,\n () => {\n initLocale(locale.value);\n },\n {\n immediate: true\n }\n );\n const [isLoading, setLoading] = useRef(false);\n\n /**\n * 字段值变化事件处理器\n */\n const fieldChangeEventHandler = () => {\n emitter.off$('fieldChange');\n emitter.on$('fieldChange', ({ fieldName, value }) => {\n console.log('fieldChange', fieldName, value);\n\n // 过滤掉错误值\n if (typeof fieldName !== 'undefined' && typeof value !== 'undefined') {\n set(formDataModel.value, fieldName, value);\n }\n });\n };\n\n onMounted(() => {\n fieldChangeEventHandler();\n loadFieldListFromServer();\n });\n\n defineExpose({\n ...emitter,\n i18nt,\n isLoading,\n setLoading,\n getContainerWidgets,\n getFieldWidgets,\n getFormJson,\n setFormJson,\n setJsonImport\n });\n</script>\n\n<style lang=\"less\">\n .main-container {\n background: #fff;\n .ant-layout-sider {\n background: #fff;\n }\n :deep(aside) {\n /* 防止aside样式被外部样式覆盖!! */\n margin: 0;\n padding: 0;\n background: inherit;\n }\n .form-widget-main {\n padding: 0;\n position: relative;\n overflow-x: hidden;\n flex: 1 0 0;\n }\n .full-height {\n height: 100%;\n overflow-y: hidden;\n }\n .center-layout-container {\n min-width: 680px;\n border-left: 2px solid #ebeef5;\n border-right: 2px dotted #ebeef5;\n display: flex;\n flex-direction: column;\n }\n .form-widget-footer {\n flex: 0 0 50px;\n align-items: center;\n background: #fff;\n display: flex;\n justify-content: space-between;\n padding: 0 15px;\n }\n\n .main-header {\n border-bottom: 2px solid #ebeef5;\n background: #fff;\n padding: 0;\n\n height: 48px !important;\n line-height: 48px !important;\n min-width: 800px;\n }\n\n .container-scroll-bar {\n height: 100%;\n & > .form-widget-container {\n height: 100%;\n }\n }\n\n .toolbar-header {\n font-size: 14px;\n border-bottom: 1px solid rgba(5, 5, 5, 0.06);\n height: 42px !important;\n background: #fff;\n padding: 0;\n }\n\n .side-panel {\n width: 260px !important;\n overflow-y: hidden;\n }\n }\n\n div.main-title {\n font-size: 18px;\n color: #242424;\n display: flex;\n align-items: center;\n justify-items: center;\n\n img {\n cursor: pointer;\n width: 36px;\n height: 36px;\n }\n\n span.bold {\n font-size: 20px;\n font-weight: bold;\n margin: 0 6px 0 6px;\n }\n\n span.version-span {\n font-size: 14px;\n color: #101f1c;\n margin-left: 6px;\n }\n }\n\n .float-left {\n float: left;\n }\n\n .float-right {\n float: right;\n }\n</style>\n"],"names":["i18nt","useI18n","localeStore","useLocaleStore","locale","storeToRefs","props","__props","emitter","useEmitter","context","useExecFunction","provide","fieldList","leftWidth","ref","rightWidth","initLocale","designer","createDesigner","formConfig","computed","formDataModel","layoutType","type","LayoutTypeEnum","getLocat","setJsonImport","importObj","isEmpty","error","message","loadFieldListFromServer","setFormJson","formJson","modifiedFlag","getFormJson","deepClone","getFieldWidgets","widgetList","getAllFieldWidgets","getContainerWidgets","getAllContainerWidgets","watch","isLoading","setLoading","useRef","fieldChangeEventHandler","fieldName","value","set","onMounted","__expose","_createBlock","_component_a_layout","_createVNode","_component_a_layout_sider","WidgetPanel","_component_a_layout_content","_component_a_layout_header","ToolbarPanel","saveJsonApi","globalDsv","$event","$slots","idx","slotName","_renderSlot","_ctx","_createElementVNode","_hoisted_1","VFormWidget","SettingPanel","_cache"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../src/components/form-designer/index.vue"],"sourcesContent":["<template>\n <a-layout class=\"main-container full-height\">\n <a-layout>\n <a-layout-sider :width=\"leftWidth\" class=\"side-panel\">\n <WidgetPanel />\n </a-layout-sider>\n\n <a-layout-content class=\"center-layout-container\">\n <a-layout-header class=\"toolbar-header\">\n <toolbar-panel\n :saveJsonApi=\"saveJsonApi\"\n :global-dsv=\"globalDsv\"\n v-model:leftWidth=\"leftWidth\"\n v-model:rightWidth=\"rightWidth\"\n ref=\"toolbarRef\"\n >\n <template v-for=\"(idx, slotName) in $slots\" #[slotName]>\n <slot :name=\"slotName\"></slot>\n </template>\n </toolbar-panel>\n </a-layout-header>\n <a-layout-content class=\"form-widget-main\">\n <div class=\"container-scroll-bar\">\n <VFormWidget\n :global-dsv=\"globalDsv\"\n :form-config=\"designer.formConfig\"\n ref=\"formRef\"\n />\n </div>\n </a-layout-content>\n </a-layout-content>\n <a-layout-sider :width=\"rightWidth\">\n <setting-panel\n v-model:selected-widget=\"designer.selectedWidget\"\n :global-dsv=\"globalDsv\"\n :form-config=\"designer.formConfig\"\n />\n </a-layout-sider>\n </a-layout>\n </a-layout>\n</template>\n\n<script lang=\"ts\" setup>\n import WidgetPanel from './widget-panel/index.vue';\n import ToolbarPanel from './toolbar-panel/index.vue';\n import SettingPanel from './setting-panel/index.vue';\n import VFormWidget from './form-widget/index.vue';\n import { createDesigner } from '@/components/form-designer/designer';\n import { useLocaleStore } from '@kp-ui/i18n';\n import {\n deepClone,\n getAllContainerWidgets,\n getAllFieldWidgets,\n traverseAllWidgets\n } from '@/utils/util';\n import { isEmpty, set } from 'lodash-es';\n import { ref, provide, watch, onMounted, computed } from 'vue';\n import { WidgetTree } from '@/types/schema';\n import { useI18n } from '@/utils/i18n';\n import { message } from 'ant-design-vue';\n import { storeToRefs } from 'pinia';\n import { useExecFunction, useRef } from 'tmgc2-share';\n import { useEmitter } from '@/utils/useEmitter';\n\n defineOptions({\n name: 'VFormDesigner',\n componentName: 'VFormDesigner'\n });\n\n const formRef = ref();\n const { i18nt } = useI18n();\n const localeStore = useLocaleStore();\n const { locale } = storeToRefs(localeStore);\n\n const props = withDefaults(\n defineProps<{\n saveJsonApi: (json: any) => Promise<void>;\n fieldListApi: () => Promise<any[]>;\n designerConfig?: {\n eventCollapse?: boolean;\n widgetNameReadonly?: boolean;\n clearDesignerButton?: boolean;\n previewFormButton?: boolean;\n importJsonButton?: boolean;\n exportJsonButton?: boolean;\n };\n globalDsv?: Record<string, any>;\n }>(),\n {\n designerConfig: () => ({\n eventCollapse: true, //是否显示组件事件属性折叠面板\n widgetNameReadonly: false, //禁止修改组件名称\n clearDesignerButton: true, //是否显示清空设计器按钮\n previewFormButton: true, //是否显示预览表单按钮\n importJsonButton: true, //是否显示导入JSON按钮\n exportJsonButton: true //是否显示导出JSON器按钮\n }),\n globalDsv: () => ({})\n }\n );\n const emitter = useEmitter();\n const { context } = useExecFunction();\n provide('serverFieldList', () => fieldList.value);\n provide('designState', true); // 设计态标识\n const leftWidth = ref(270);\n const rightWidth = ref(300);\n const fieldList = ref<any[]>([]);\n const { initLocale } = useI18n();\n const designer = ref(createDesigner(context));\n const formConfig = computed(() => designer.value.formConfig);\n // 状态变量\n const formDataModel = ref<Record<string, any>>({});\n\n provide('formData', formDataModel);\n provide('formConfig', formConfig);\n provide('designer', designer);\n provide('getDesignerConfig', () => props.designerConfig);\n\n const setJsonImport = (importObj: WidgetTree) => {\n if (isEmpty(importObj)) return;\n try {\n if (!importObj || !importObj.formConfig) {\n throw new Error(i18nt('designer.hint.invalidJsonFormat'));\n }\n designer.value.loadFormJson(importObj);\n designer.value.emitHistoryChange();\n designer.value.emitEvent('form-json-imported', []);\n } catch (error) {\n message.error(error + '');\n }\n };\n\n const loadFieldListFromServer = async () => {\n if (!props.fieldListApi) {\n return;\n }\n fieldList.value = await props.fieldListApi();\n };\n\n const setFormJson = (formJson: WidgetTree) => {\n if (isEmpty(formJson)) return;\n try {\n let modifiedFlag = false;\n if (typeof formJson === 'string') {\n modifiedFlag = designer.value.loadFormJson(JSON.parse(formJson));\n } else if (formJson.constructor === Object) {\n modifiedFlag = designer.value.loadFormJson(formJson);\n }\n if (modifiedFlag) {\n designer.value.emitHistoryChange();\n }\n } catch (error) {\n message.error(error + '');\n }\n };\n\n const getFormJson = (): WidgetTree => {\n return {\n widgetList: deepClone(designer.value.widgetList),\n formConfig: deepClone(designer.value.formConfig)\n };\n };\n\n const getFieldWidgets = (widgetList = []) => {\n return widgetList.length\n ? getAllFieldWidgets(widgetList)\n : getAllFieldWidgets(designer.value.widgetList);\n };\n\n /**\n * 获取所有容器组件\n * @returns {*[]}\n */\n const getContainerWidgets = (widgetList = []) => {\n return widgetList.length\n ? getAllContainerWidgets(widgetList)\n : getAllContainerWidgets(designer.value.widgetList);\n };\n\n const getWidgetRef = (widgetName, showError = false) => {\n return formRef.value.getWidgetRef(widgetName, showError);\n };\n\n watch(\n locale,\n () => {\n initLocale(locale.value);\n },\n {\n immediate: true\n }\n );\n const [isLoading, setLoading] = useRef(false);\n\n /**\n * 字段值变化事件处理器\n */\n const fieldChangeEventHandler = () => {\n emitter.off$('fieldChange');\n emitter.on$('fieldChange', ({ fieldName, value }) => {\n console.log('fieldChange', fieldName, value);\n\n // 过滤掉错误值\n if (typeof fieldName !== 'undefined' && typeof value !== 'undefined') {\n set(formDataModel.value, fieldName, value);\n }\n });\n };\n\n onMounted(() => {\n designer.value.initDesigner();\n fieldChangeEventHandler();\n loadFieldListFromServer();\n });\n\n defineExpose({\n ...emitter,\n i18nt,\n isLoading,\n setLoading,\n getWidgetRef,\n getContainerWidgets,\n getFieldWidgets,\n getFormJson,\n setFormJson,\n setJsonImport\n });\n</script>\n\n<style lang=\"less\">\n .main-container {\n background: #fff;\n .ant-layout-sider {\n background: #fff;\n }\n :deep(aside) {\n /* 防止aside样式被外部样式覆盖!! */\n margin: 0;\n padding: 0;\n background: inherit;\n }\n .form-widget-main {\n padding: 0;\n position: relative;\n overflow-x: hidden;\n flex: 1 0 0;\n }\n .full-height {\n height: 100%;\n overflow-y: hidden;\n }\n .center-layout-container {\n min-width: 680px;\n border-left: 2px solid #ebeef5;\n border-right: 2px dotted #ebeef5;\n display: flex;\n flex-direction: column;\n }\n .form-widget-footer {\n flex: 0 0 50px;\n align-items: center;\n background: #fff;\n display: flex;\n justify-content: space-between;\n padding: 0 15px;\n }\n\n .main-header {\n border-bottom: 2px solid #ebeef5;\n background: #fff;\n padding: 0;\n\n height: 48px !important;\n line-height: 48px !important;\n min-width: 800px;\n }\n\n .container-scroll-bar {\n height: 100%;\n & > .form-widget-container {\n height: 100%;\n }\n }\n\n .toolbar-header {\n font-size: 14px;\n border-bottom: 1px dotted #cccccc;\n height: 42px !important;\n background: #fff;\n padding: 0;\n }\n\n .side-panel {\n width: 260px !important;\n overflow-y: hidden;\n }\n }\n\n div.main-title {\n font-size: 18px;\n color: #242424;\n display: flex;\n align-items: center;\n justify-items: center;\n\n img {\n cursor: pointer;\n width: 36px;\n height: 36px;\n }\n\n span.bold {\n font-size: 20px;\n font-weight: bold;\n margin: 0 6px 0 6px;\n }\n\n span.version-span {\n font-size: 14px;\n color: #101f1c;\n margin-left: 6px;\n }\n }\n\n .float-left {\n float: left;\n }\n\n .float-right {\n float: right;\n }\n\n div.external-link {\n display: flex;\n align-items: center;\n\n a {\n font-size: 13px;\n text-decoration: none;\n margin-right: 10px;\n color: #606266;\n }\n }\n</style>\n"],"names":["formRef","ref","i18nt","useI18n","localeStore","useLocaleStore","locale","storeToRefs","props","__props","emitter","useEmitter","context","useExecFunction","provide","fieldList","leftWidth","rightWidth","initLocale","designer","createDesigner","formConfig","computed","formDataModel","setJsonImport","importObj","isEmpty","error","message","loadFieldListFromServer","setFormJson","formJson","modifiedFlag","getFormJson","deepClone","getFieldWidgets","widgetList","getAllFieldWidgets","getContainerWidgets","getAllContainerWidgets","getWidgetRef","widgetName","showError","watch","isLoading","setLoading","useRef","fieldChangeEventHandler","fieldName","value","set","onMounted","__expose","_createBlock","_component_a_layout","_createVNode","_component_a_layout_sider","WidgetPanel","_component_a_layout_content","_component_a_layout_header","ToolbarPanel","saveJsonApi","globalDsv","$event","$slots","idx","slotName","_renderSlot","_ctx","_createElementVNode","_hoisted_1","VFormWidget","SettingPanel","_cache"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import o from "./form-setting.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../../_virtual/_plugin-vue_export-helper.js";
4
- const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-c232c01e"]]);
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-9f0f9220"]]);
5
5
  export {
6
- e as default
6
+ p as default
7
7
  };
8
8
  //# sourceMappingURL=form-setting.vue.js.map