@kp-ui/lowcode 1.0.25 → 1.0.26

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 (500) hide show
  1. package/_virtual/_plugin-vue_export-helper.js +7 -6
  2. package/_virtual/virtual_svg-icons-register.js +21 -6
  3. package/designer.js +220 -162
  4. package/index.js +60 -56
  5. package/package.json +1 -1
  6. package/render.js +607 -376
  7. package/src/api/useFilesystemApi/filesystem/index.js +31 -23
  8. package/src/components/CustomRender/components/AttachmentRender.vue.js +4 -4
  9. package/src/components/CustomRender/components/AttachmentRender.vue2.js +77 -54
  10. package/src/components/CustomRender/index.js +34 -28
  11. package/src/components/TpfCollapse/TpfCollapseTitle.vue.js +4 -4
  12. package/src/components/TpfCollapse/TpfCollapseTitle.vue2.js +9 -6
  13. package/src/components/code-editor/code-modal-editor.vue.js +43 -40
  14. package/src/components/code-editor/code-modal-editor.vue2.js +16 -13
  15. package/src/components/code-editor/index.vue.js +83 -44
  16. package/src/components/form-designer/designer.js +681 -393
  17. package/src/components/form-designer/form-widget/container-widget/container-wrapper.vue.js +77 -66
  18. package/src/components/form-designer/form-widget/container-widget/containerMixin.js +51 -26
  19. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +76 -67
  20. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +14 -14
  21. package/src/components/form-designer/form-widget/container-widget/grid-col-widget.vue.js +175 -117
  22. package/src/components/form-designer/form-widget/container-widget/grid-sub-form-widget.vue.js +56 -49
  23. package/src/components/form-designer/form-widget/container-widget/grid-widget.vue.js +41 -37
  24. package/src/components/form-designer/form-widget/container-widget/index.js +21 -20
  25. package/src/components/form-designer/form-widget/container-widget/sub-form-widget.vue.js +62 -54
  26. package/src/components/form-designer/form-widget/container-widget/tab-widget.vue.js +115 -92
  27. package/src/components/form-designer/form-widget/container-widget/table-cell-widget.vue.js +189 -143
  28. package/src/components/form-designer/form-widget/container-widget/table-widget.vue.js +54 -48
  29. package/src/components/form-designer/form-widget/container-widget/vf-box-item.vue.js +87 -72
  30. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js +100 -76
  31. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue.js +99 -91
  32. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js +29 -29
  33. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js +84 -62
  34. package/src/components/form-designer/form-widget/container-widget/vf-drawer-widget.vue.js +84 -62
  35. package/src/components/form-designer/form-widget/field-widget/attachment-render-widget.vue.js +48 -36
  36. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget.vue.js +57 -38
  37. package/src/components/form-designer/form-widget/field-widget/button-widget.vue.js +49 -45
  38. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js +69 -53
  39. package/src/components/form-designer/form-widget/field-widget/checkbox-widget.vue.js +59 -49
  40. package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js +42 -37
  41. package/src/components/form-designer/form-widget/field-widget/color-widget.vue.js +43 -37
  42. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js +65 -54
  43. package/src/components/form-designer/form-widget/field-widget/date-widget.vue.js +69 -55
  44. package/src/components/form-designer/form-widget/field-widget/divider-widget.vue.js +35 -32
  45. package/src/components/form-designer/form-widget/field-widget/dropdown-widget.vue.js +69 -58
  46. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js +521 -217
  47. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue.js +67 -57
  48. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue2.js +140 -97
  49. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js +192 -124
  50. package/src/components/form-designer/form-widget/field-widget/html-text-widget.vue.js +34 -31
  51. package/src/components/form-designer/form-widget/field-widget/index.js +36 -35
  52. package/src/components/form-designer/form-widget/field-widget/input-widget.vue.js +85 -66
  53. package/src/components/form-designer/form-widget/field-widget/number-widget.vue.js +64 -50
  54. package/src/components/form-designer/form-widget/field-widget/picture-upload-widget.vue.js +174 -107
  55. package/src/components/form-designer/form-widget/field-widget/radio-widget.vue.js +84 -64
  56. package/src/components/form-designer/form-widget/field-widget/rate-widget.vue.js +41 -36
  57. package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue.js +55 -46
  58. package/src/components/form-designer/form-widget/field-widget/select-widget.vue.js +83 -63
  59. package/src/components/form-designer/form-widget/field-widget/slider-widget.vue.js +50 -42
  60. package/src/components/form-designer/form-widget/field-widget/slot-widget.vue.js +47 -33
  61. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js +96 -68
  62. package/src/components/form-designer/form-widget/field-widget/static-text-widget.vue.js +30 -28
  63. package/src/components/form-designer/form-widget/field-widget/switch-widget.vue.js +45 -37
  64. package/src/components/form-designer/form-widget/field-widget/textarea-widget.vue.js +68 -54
  65. package/src/components/form-designer/form-widget/field-widget/time-range-widget.vue.js +68 -51
  66. package/src/components/form-designer/form-widget/field-widget/time-widget.vue.js +61 -48
  67. package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js +71 -56
  68. package/src/components/form-designer/form-widget/index.vue.js +101 -77
  69. package/src/components/form-designer/refMixinDesign.js +18 -8
  70. package/src/components/form-designer/setting-panel/form-crud-setting.vue.js +77 -62
  71. package/src/components/form-designer/setting-panel/form-setting.vue.js +306 -247
  72. package/src/components/form-designer/setting-panel/index.vue.js +289 -233
  73. package/src/components/form-designer/setting-panel/option-items-setting.vue.js +234 -186
  74. package/src/components/form-designer/setting-panel/property-editor/accept-editor.vue.js +16 -15
  75. package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue.js +24 -22
  76. package/src/components/form-designer/setting-panel/property-editor/addonAfter-editor.vue.js +16 -15
  77. package/src/components/form-designer/setting-panel/property-editor/addonBefore-editor.vue.js +16 -15
  78. package/src/components/form-designer/setting-panel/property-editor/allowClear-editor.vue.js +16 -15
  79. package/src/components/form-designer/setting-panel/property-editor/appendButton-editor.vue.js +23 -21
  80. package/src/components/form-designer/setting-panel/property-editor/appendButtonDisabled-editor.vue.js +16 -15
  81. package/src/components/form-designer/setting-panel/property-editor/autoFullWidth-editor.vue.js +16 -15
  82. package/src/components/form-designer/setting-panel/property-editor/border-editor.vue.js +16 -15
  83. package/src/components/form-designer/setting-panel/property-editor/buttonIcon-editor.vue.js +16 -15
  84. package/src/components/form-designer/setting-panel/property-editor/buttonStyle-editor.vue.js +16 -15
  85. package/src/components/form-designer/setting-panel/property-editor/code-editor/code-editor-mode.vue.js +16 -15
  86. package/src/components/form-designer/setting-panel/property-editor/columnWidth-editor.vue.js +18 -17
  87. package/src/components/form-designer/setting-panel/property-editor/container-data-table/customRowEvent/data-table-customRow-editor.vue.js +41 -40
  88. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-colorRow-editor.vue.js +15 -14
  89. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue.js +38 -28
  90. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue.js +46 -41
  91. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-pagination-editor.vue.js +103 -89
  92. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-rowKey-editor.vue.js +14 -13
  93. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-selections-editor.vue.js +73 -65
  94. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js +273 -248
  95. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showIndex-editor.vue.js +16 -15
  96. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-stripe-editor.vue.js +16 -15
  97. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +196 -171
  98. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableHeight-editor.vue.js +16 -15
  99. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableSize-editor.vue.js +17 -16
  100. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableWidth-editor.vue.js +16 -15
  101. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-treeDataEnabled-editor.vue.js +41 -33
  102. package/src/components/form-designer/setting-panel/property-editor/container-grid/colHeight-editor.vue.js +19 -18
  103. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js +72 -59
  104. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue.js +17 -16
  105. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue.js +17 -16
  106. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue.js +17 -16
  107. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-responsive-editor.vue.js +16 -15
  108. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue.js +43 -42
  109. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/showBlankRow-editor.vue.js +16 -15
  110. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/showRowNumber-editor.vue.js +16 -15
  111. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/sub-form-labelAlign-editor.vue.js +24 -22
  112. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js +73 -57
  113. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabBarGutter-editor.vue.js +15 -14
  114. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabPosition-editor.vue.js +16 -15
  115. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-type-editor.vue.js +16 -15
  116. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue.js +16 -15
  117. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue.js +16 -15
  118. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/bodyStyle-editor.vue.js +51 -45
  119. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/cancelButtonHidden-editor.vue.js +16 -15
  120. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/cancelButtonLabel-editor.vue.js +17 -16
  121. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/closeOnClickModal-editor.vue.js +16 -15
  122. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/closeOnPressEscape-editor.vue.js +16 -15
  123. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/collapseIcon-editor.vue.js +16 -15
  124. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/disabledMode-editor.vue.js +16 -15
  125. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/formCode-editor.vue.js +18 -17
  126. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/fullscreen-editor.vue.js +16 -15
  127. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue.js +16 -15
  128. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/isCollapse-editor.vue.js +15 -14
  129. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/okButtonHidden-editor.vue.js +16 -15
  130. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/okButtonLabel-editor.vue.js +17 -16
  131. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/readMode-editor.vue.js +16 -15
  132. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/showClose-editor.vue.js +16 -15
  133. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/title-editor.vue.js +17 -16
  134. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/unCollapseIcon-editor.vue.js +16 -15
  135. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue.js +17 -16
  136. package/src/components/form-designer/setting-panel/property-editor/container-vf-drawer/vf-drawer-direction-editor.vue.js +30 -28
  137. package/src/components/form-designer/setting-panel/property-editor/container-vf-drawer/vf-drawer-size-editor.vue.js +17 -16
  138. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue.js +21 -19
  139. package/src/components/form-designer/setting-panel/property-editor/defaultValue-editor.vue.js +19 -18
  140. package/src/components/form-designer/setting-panel/property-editor/disabled-editor.vue.js +26 -23
  141. package/src/components/form-designer/setting-panel/property-editor/displayStyle-editor.vue.js +24 -22
  142. package/src/components/form-designer/setting-panel/property-editor/editable-editor.vue.js +16 -15
  143. package/src/components/form-designer/setting-panel/property-editor/endPlaceholder-editor.vue.js +16 -15
  144. package/src/components/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +6 -6
  145. package/src/components/form-designer/setting-panel/property-editor/event-handler/onAppendButtonClick-editor.vue.js +19 -18
  146. package/src/components/form-designer/setting-panel/property-editor/event-handler/onBeforeUpload-editor.vue.js +19 -18
  147. package/src/components/form-designer/setting-panel/property-editor/event-handler/onBlur-editor.vue.js +19 -18
  148. package/src/components/form-designer/setting-panel/property-editor/event-handler/onCancelButtonClick-editor.vue.js +19 -18
  149. package/src/components/form-designer/setting-panel/property-editor/event-handler/onCellClick-editor.vue.js +19 -18
  150. package/src/components/form-designer/setting-panel/property-editor/event-handler/onCellDoubleClick-editor.vue.js +19 -18
  151. package/src/components/form-designer/setting-panel/property-editor/event-handler/onChange-editor.vue.js +19 -18
  152. package/src/components/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue.js +19 -18
  153. package/src/components/form-designer/setting-panel/property-editor/event-handler/onClickIcon-editor.vue.js +19 -18
  154. package/src/components/form-designer/setting-panel/property-editor/event-handler/onCreated-editor.vue.js +19 -18
  155. package/src/components/form-designer/setting-panel/property-editor/event-handler/onCurrentPageChange-editor.vue.js +19 -18
  156. package/src/components/form-designer/setting-panel/property-editor/event-handler/onDialogBeforeClose-editor.vue.js +19 -18
  157. package/src/components/form-designer/setting-panel/property-editor/event-handler/onDialogOpened-editor.vue.js +19 -18
  158. package/src/components/form-designer/setting-panel/property-editor/event-handler/onDisableOperationButton-editor.vue.js +19 -18
  159. package/src/components/form-designer/setting-panel/property-editor/event-handler/onDrawerBeforeClose-editor.vue.js +19 -18
  160. package/src/components/form-designer/setting-panel/property-editor/event-handler/onDrawerOpened-editor.vue.js +19 -18
  161. package/src/components/form-designer/setting-panel/property-editor/event-handler/onFileRemove.vue.js +19 -18
  162. package/src/components/form-designer/setting-panel/property-editor/event-handler/onFocus-editor.vue.js +19 -18
  163. package/src/components/form-designer/setting-panel/property-editor/event-handler/onGetOperationButtonLabel-editor.vue.js +19 -18
  164. package/src/components/form-designer/setting-panel/property-editor/event-handler/onGetRowClassName-editor.vue.js +19 -18
  165. package/src/components/form-designer/setting-panel/property-editor/event-handler/onGetSpanMethod-editor.vue.js +19 -18
  166. package/src/components/form-designer/setting-panel/property-editor/event-handler/onHeaderClick-editor.vue.js +19 -18
  167. package/src/components/form-designer/setting-panel/property-editor/event-handler/onHideOperationButton-editor.vue.js +19 -18
  168. package/src/components/form-designer/setting-panel/property-editor/event-handler/onInput-editor.vue.js +19 -18
  169. package/src/components/form-designer/setting-panel/property-editor/event-handler/onMenuClick-editor.vue.js +19 -18
  170. package/src/components/form-designer/setting-panel/property-editor/event-handler/onMounted-editor.vue.js +19 -18
  171. package/src/components/form-designer/setting-panel/property-editor/event-handler/onOkButtonClick-editor.vue.js +19 -18
  172. package/src/components/form-designer/setting-panel/property-editor/event-handler/onOperationButtonClick-editor.vue.js +19 -18
  173. package/src/components/form-designer/setting-panel/property-editor/event-handler/onPageSizeChange-editor.vue.js +19 -18
  174. package/src/components/form-designer/setting-panel/property-editor/event-handler/onRemoteQuery-editor.vue.js +19 -18
  175. package/src/components/form-designer/setting-panel/property-editor/event-handler/onRowClick-editor.vue.js +19 -18
  176. package/src/components/form-designer/setting-panel/property-editor/event-handler/onRowDoubleClick-editor.vue.js +19 -18
  177. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSelectionChange-editor.vue.js +19 -18
  178. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowAdd-editor.vue.js +19 -18
  179. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowChange-editor.vue.js +19 -18
  180. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowDelete-editor.vue.js +19 -18
  181. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowInsert-editor.vue.js +19 -18
  182. package/src/components/form-designer/setting-panel/property-editor/event-handler/onTabClick-editor.vue.js +19 -18
  183. package/src/components/form-designer/setting-panel/property-editor/event-handler/onTableChange-editor.vue.js +19 -18
  184. package/src/components/form-designer/setting-panel/property-editor/event-handler/onUploadError-editor.vue.js +19 -18
  185. package/src/components/form-designer/setting-panel/property-editor/event-handler/onUploadSuccess-editor.vue.js +19 -18
  186. package/src/components/form-designer/setting-panel/property-editor/event-handler/onValidate-editor.vue.js +19 -18
  187. package/src/components/form-designer/setting-panel/property-editor/event-handler/onVformAdd-editor.vue.js +19 -18
  188. package/src/components/form-designer/setting-panel/property-editor/field-button/circle-editor.vue.js +16 -15
  189. package/src/components/form-designer/setting-panel/property-editor/field-button/danger-editor.vue.js +15 -14
  190. package/src/components/form-designer/setting-panel/property-editor/field-button/ghost-editor.vue.js +15 -14
  191. package/src/components/form-designer/setting-panel/property-editor/field-button/icon-editor.vue.js +16 -15
  192. package/src/components/form-designer/setting-panel/property-editor/field-button/plain-editor.vue.js +16 -15
  193. package/src/components/form-designer/setting-panel/property-editor/field-button/round-editor.vue.js +16 -15
  194. package/src/components/form-designer/setting-panel/property-editor/field-button/shape-editor.vue.js +27 -25
  195. package/src/components/form-designer/setting-panel/property-editor/field-button/type-editor.vue.js +37 -35
  196. package/src/components/form-designer/setting-panel/property-editor/field-cascader/cascader-defaultValue-editor.vue.js +9 -8
  197. package/src/components/form-designer/setting-panel/property-editor/field-cascader/cascader-multiple-editor.vue.js +17 -16
  198. package/src/components/form-designer/setting-panel/property-editor/field-checkbox/checkbox-defaultValue-editor.vue.js +9 -8
  199. package/src/components/form-designer/setting-panel/property-editor/field-color/color-defaultValue-editor.vue.js +19 -18
  200. package/src/components/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue.js +22 -21
  201. package/src/components/form-designer/setting-panel/property-editor/field-date/date-format-editor.vue.js +30 -28
  202. package/src/components/form-designer/setting-panel/property-editor/field-date/date-type-editor.vue.js +33 -31
  203. package/src/components/form-designer/setting-panel/property-editor/field-date/date-valueFormat-editor.vue.js +30 -28
  204. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue.js +22 -21
  205. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-format-editor.vue.js +33 -31
  206. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-type-editor.vue.js +27 -25
  207. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-valueFormat-editor.vue.js +30 -28
  208. package/src/components/form-designer/setting-panel/property-editor/field-divider/contentPosition-editor.vue.js +27 -25
  209. package/src/components/form-designer/setting-panel/property-editor/field-divider/divider-direction-editor.vue.js +24 -22
  210. package/src/components/form-designer/setting-panel/property-editor/field-dropdown/dropdown-menuList-editor.vue.js +30 -27
  211. package/src/components/form-designer/setting-panel/property-editor/field-file-upload/file-upload-fileTypes-editor.vue.js +28 -25
  212. package/src/components/form-designer/setting-panel/property-editor/field-html-text/htmlContent-editor.vue.js +18 -17
  213. package/src/components/form-designer/setting-panel/property-editor/field-number/controlsPosition-editor.vue.js +24 -22
  214. package/src/components/form-designer/setting-panel/property-editor/field-number/number-defaultValue-editor.vue.js +20 -19
  215. package/src/components/form-designer/setting-panel/property-editor/field-picture-upload/picture-upload-fileTypes-editor.vue.js +28 -25
  216. package/src/components/form-designer/setting-panel/property-editor/field-radio/radio-defaultValue-editor.vue.js +9 -8
  217. package/src/components/form-designer/setting-panel/property-editor/field-rate/allowHalf-editor.vue.js +16 -15
  218. package/src/components/form-designer/setting-panel/property-editor/field-rate/highThreshold-editor.vue.js +19 -18
  219. package/src/components/form-designer/setting-panel/property-editor/field-rate/lowThreshold-editor.vue.js +18 -17
  220. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-count-editor.vue.js +17 -16
  221. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue.js +20 -19
  222. package/src/components/form-designer/setting-panel/property-editor/field-rate/showScore-editor.vue.js +16 -15
  223. package/src/components/form-designer/setting-panel/property-editor/field-rate/showText-editor.vue.js +16 -15
  224. package/src/components/form-designer/setting-panel/property-editor/field-rich-editor/rich-editor-contentHeight-editor.vue.js +17 -16
  225. package/src/components/form-designer/setting-panel/property-editor/field-select/mode-editor.vue.js +23 -18
  226. package/src/components/form-designer/setting-panel/property-editor/field-select/select-defaultValue-editor.vue.js +9 -8
  227. package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue.js +28 -20
  228. package/src/components/form-designer/setting-panel/property-editor/field-slider/vertical-editor.vue.js +16 -15
  229. package/src/components/form-designer/setting-panel/property-editor/field-static-text/textContent-editor.vue.js +16 -15
  230. package/src/components/form-designer/setting-panel/property-editor/field-switch/activeColor-editor.vue.js +18 -17
  231. package/src/components/form-designer/setting-panel/property-editor/field-switch/checkedValue-editor.vue.js +16 -15
  232. package/src/components/form-designer/setting-panel/property-editor/field-switch/inactiveColor-editor.vue.js +18 -17
  233. package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue.js +20 -19
  234. package/src/components/form-designer/setting-panel/property-editor/field-switch/switchWidth-editor.vue.js +17 -16
  235. package/src/components/form-designer/setting-panel/property-editor/field-switch/unCheckedValue-editor.vue.js +16 -15
  236. package/src/components/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue.js +20 -19
  237. package/src/components/form-designer/setting-panel/property-editor/field-time/time-format-editor.vue.js +24 -22
  238. package/src/components/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue.js +20 -19
  239. package/src/components/form-designer/setting-panel/property-editor/field-time-range/time-range-format-editor.vue.js +24 -22
  240. package/src/components/form-designer/setting-panel/property-editor/field-treeSelect/treeSelect-treeDefaultExpandAll-editor.vue.js +16 -15
  241. package/src/components/form-designer/setting-panel/property-editor/hidden-editor.vue.js +36 -33
  242. package/src/components/form-designer/setting-panel/property-editor/index.js +216 -214
  243. package/src/components/form-designer/setting-panel/property-editor/label-editor.vue.js +17 -16
  244. package/src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue.js +25 -23
  245. package/src/components/form-designer/setting-panel/property-editor/labelHidden-editor.vue.js +16 -15
  246. package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue.js +23 -21
  247. package/src/components/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue.js +30 -26
  248. package/src/components/form-designer/setting-panel/property-editor/labelTooltip-editor.vue.js +16 -15
  249. package/src/components/form-designer/setting-panel/property-editor/labelWidth-editor.vue.js +19 -18
  250. package/src/components/form-designer/setting-panel/property-editor/limit-editor.vue.js +17 -16
  251. package/src/components/form-designer/setting-panel/property-editor/loadingPage-editor.vue.js +15 -14
  252. package/src/components/form-designer/setting-panel/property-editor/max-editor.vue.js +24 -19
  253. package/src/components/form-designer/setting-panel/property-editor/maxLength-editor.vue.js +26 -21
  254. package/src/components/form-designer/setting-panel/property-editor/maxSize-editor.vue.js +16 -15
  255. package/src/components/form-designer/setting-panel/property-editor/min-editor.vue.js +24 -19
  256. package/src/components/form-designer/setting-panel/property-editor/minLength-editor.vue.js +26 -21
  257. package/src/components/form-designer/setting-panel/property-editor/multiple-editor.vue.js +27 -19
  258. package/src/components/form-designer/setting-panel/property-editor/multipleSelect-editor.vue.js +16 -15
  259. package/src/components/form-designer/setting-panel/property-editor/name-editor.vue.js +87 -64
  260. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue.js +87 -70
  261. package/src/components/form-designer/setting-panel/property-editor/placeholder-editor.vue.js +17 -16
  262. package/src/components/form-designer/setting-panel/property-editor/placement-editor.vue.js +16 -15
  263. package/src/components/form-designer/setting-panel/property-editor/precision-editor.vue.js +17 -16
  264. package/src/components/form-designer/setting-panel/property-editor/propertyMixin.js +36 -17
  265. package/src/components/form-designer/setting-panel/property-editor/readonly-editor.vue.js +16 -15
  266. package/src/components/form-designer/setting-panel/property-editor/required-editor.vue.js +16 -15
  267. package/src/components/form-designer/setting-panel/property-editor/requiredHint-editor.vue.js +17 -16
  268. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue.js +20 -18
  269. package/src/components/form-designer/setting-panel/property-editor/rows-editor.vue.js +17 -16
  270. package/src/components/form-designer/setting-panel/property-editor/showCount-editor.vue.js +16 -15
  271. package/src/components/form-designer/setting-panel/property-editor/showFileList-editor.vue.js +16 -15
  272. package/src/components/form-designer/setting-panel/property-editor/showPassword-editor.vue.js +17 -16
  273. package/src/components/form-designer/setting-panel/property-editor/showSearch-editor.vue.js +18 -17
  274. package/src/components/form-designer/setting-panel/property-editor/showTime-editor.vue.js +15 -14
  275. package/src/components/form-designer/setting-panel/property-editor/size-editor.vue.js +17 -16
  276. package/src/components/form-designer/setting-panel/property-editor/slot-compontent-editor.vue.js +33 -0
  277. package/src/components/form-designer/setting-panel/property-editor/startPlaceholder-editor.vue.js +16 -15
  278. package/src/components/form-designer/setting-panel/property-editor/step-editor.vue.js +17 -16
  279. package/src/components/form-designer/setting-panel/property-editor/type-editor.vue.js +25 -23
  280. package/src/components/form-designer/setting-panel/property-editor/uploadListType-editor.vue.js +17 -16
  281. package/src/components/form-designer/setting-panel/property-editor/uploadTip-editor.vue.js +16 -15
  282. package/src/components/form-designer/setting-panel/property-editor/uploadURL-editor.vue.js +23 -21
  283. package/src/components/form-designer/setting-panel/property-editor/useModel-editor.vue.js +15 -14
  284. package/src/components/form-designer/setting-panel/property-editor/validation-editor.vue.js +18 -17
  285. package/src/components/form-designer/setting-panel/property-editor/validationHint-editor.vue.js +16 -15
  286. package/src/components/form-designer/setting-panel/property-editor/withCredentials-editor.vue.js +16 -15
  287. package/src/components/form-designer/setting-panel/property-editor-factory.js +126 -108
  288. package/src/components/form-designer/setting-panel/propertyRegister.js +35 -29
  289. package/src/components/form-designer/toolbar-panel/index.vue.js +639 -555
  290. package/src/components/form-designer/widget-panel/advanced/attachment-render.js +27 -0
  291. package/src/components/form-designer/widget-panel/advanced/bpmn-editor.js +29 -0
  292. package/src/components/form-designer/widget-panel/advanced/cascader.js +67 -0
  293. package/src/components/form-designer/widget-panel/advanced/code-editor.js +43 -0
  294. package/src/components/form-designer/widget-panel/advanced/file-upload.js +40 -0
  295. package/src/components/form-designer/widget-panel/advanced/rich-editor.js +37 -0
  296. package/src/components/form-designer/widget-panel/advanced/slot.js +22 -0
  297. package/src/components/form-designer/widget-panel/advanced/tree-select.js +68 -0
  298. package/src/components/form-designer/widget-panel/advancedFieldsEnums.js +18 -314
  299. package/src/components/form-designer/widget-panel/basicFields/button.js +35 -0
  300. package/src/components/form-designer/widget-panel/basicFields/checkbox.js +63 -0
  301. package/src/components/form-designer/widget-panel/basicFields/color.js +42 -0
  302. package/src/components/form-designer/widget-panel/basicFields/date.js +54 -0
  303. package/src/components/form-designer/widget-panel/basicFields/dateRange.js +54 -0
  304. package/src/components/form-designer/widget-panel/basicFields/divider.js +29 -0
  305. package/src/components/form-designer/widget-panel/basicFields/dropdown.js +40 -0
  306. package/src/components/form-designer/widget-panel/basicFields/htmlText.js +27 -0
  307. package/src/components/form-designer/widget-panel/basicFields/input.js +53 -0
  308. package/src/components/form-designer/widget-panel/basicFields/number.js +49 -0
  309. package/src/components/form-designer/widget-panel/basicFields/radio.js +70 -0
  310. package/src/components/form-designer/widget-panel/basicFields/rate.js +44 -0
  311. package/src/components/form-designer/widget-panel/basicFields/select.js +76 -0
  312. package/src/components/form-designer/widget-panel/basicFields/slider.js +46 -0
  313. package/src/components/form-designer/widget-panel/basicFields/staticText.js +27 -0
  314. package/src/components/form-designer/widget-panel/basicFields/switch.js +40 -0
  315. package/src/components/form-designer/widget-panel/basicFields/textarea.js +52 -0
  316. package/src/components/form-designer/widget-panel/basicFields/time.js +50 -0
  317. package/src/components/form-designer/widget-panel/basicFields/timeRange.js +51 -0
  318. package/src/components/form-designer/widget-panel/basicFieldsEnums.js +40 -813
  319. package/src/components/form-designer/widget-panel/business/department-select.js +78 -0
  320. package/src/components/form-designer/widget-panel/business/index.js +16 -0
  321. package/src/components/form-designer/widget-panel/business/material-select.js +80 -0
  322. package/src/components/form-designer/widget-panel/business/operation-select.js +80 -0
  323. package/src/components/form-designer/widget-panel/business/post-select.js +77 -0
  324. package/src/components/form-designer/widget-panel/business/project-group-select.js +80 -0
  325. package/src/components/form-designer/widget-panel/business/project-select.js +76 -0
  326. package/src/components/form-designer/widget-panel/business/user-select.js +81 -0
  327. package/src/components/form-designer/widget-panel/containers/data-table.js +104 -0
  328. package/src/components/form-designer/widget-panel/containers/grid-col.js +28 -0
  329. package/src/components/form-designer/widget-panel/containers/grid-sub-form.js +43 -0
  330. package/src/components/form-designer/widget-panel/containers/grid.js +22 -0
  331. package/src/components/form-designer/widget-panel/containers/index.js +22 -0
  332. package/src/components/form-designer/widget-panel/containers/tab.js +26 -0
  333. package/src/components/form-designer/widget-panel/containers/vf-box.js +20 -0
  334. package/src/components/form-designer/widget-panel/containers/vf-collapse.js +28 -0
  335. package/src/components/form-designer/widget-panel/containers/vf-dialog.js +35 -0
  336. package/src/components/form-designer/widget-panel/index.vue.js +230 -182
  337. package/src/components/form-designer/widget-panel/templatesConfig.js +2 -2
  338. package/src/components/form-designer/widget-panel/widgetsConfig.js +26 -22
  339. package/src/components/form-render/container-item/container-item-wrapper.vue.js +11 -11
  340. package/src/components/form-render/container-item/containerItemMixin.js +184 -97
  341. package/src/components/form-render/container-item/data-table-item.vue.js +93 -76
  342. package/src/components/form-render/container-item/grid-col-item.vue.js +97 -71
  343. package/src/components/form-render/container-item/grid-item.vue.js +49 -43
  344. package/src/components/form-render/container-item/grid-sub-form-item.vue.js +255 -182
  345. package/src/components/form-render/container-item/index.js +19 -18
  346. package/src/components/form-render/container-item/sub-form-item.vue.js +370 -285
  347. package/src/components/form-render/container-item/tab-item.vue.js +120 -87
  348. package/src/components/form-render/container-item/table-cell-item.vue.js +63 -56
  349. package/src/components/form-render/container-item/table-item.vue2.js +56 -49
  350. package/src/components/form-render/container-item/vf-collapse-item.vue.js +153 -127
  351. package/src/components/form-render/container-item/vf-dialog-item.vue.js +7 -7
  352. package/src/components/form-render/container-item/vf-drawer-item.vue.js +7 -7
  353. package/src/components/form-render/dynamic-dialog.vue.js +129 -79
  354. package/src/components/form-render/dynamic-drawer.vue.js +102 -62
  355. package/src/components/form-render/refMixin.js +23 -9
  356. package/src/components/http-editor/index.vue.js +290 -273
  357. package/src/components/http-editor/index.vue2.js +71 -45
  358. package/src/components/svg-icon/FileIcon.js +18 -15
  359. package/src/components/svg-icon/index.vue.js +20 -14
  360. package/src/hooks/TpfConfirm.js +20 -19
  361. package/src/hooks/useFilePreview.js +56 -40
  362. package/src/lang/en-US.js +2 -2
  363. package/src/lang/en-US_extension.js +2 -2
  364. package/src/lang/en-US_render.js +2 -2
  365. package/src/lang/zh-CN.js +7 -3
  366. package/src/lang/zh-CN_extension.js +2 -2
  367. package/src/lang/zh-CN_render.js +2 -2
  368. package/src/lib/vuedraggable/src/core/componentBuilderHelper.js +27 -23
  369. package/src/lib/vuedraggable/src/core/componentStructure.js +46 -29
  370. package/src/lib/vuedraggable/src/core/renderHelper.js +36 -26
  371. package/src/lib/vuedraggable/src/core/sortableEvents.js +12 -8
  372. package/src/lib/vuedraggable/src/util/console.js +7 -4
  373. package/src/lib/vuedraggable/src/util/htmlHelper.js +9 -7
  374. package/src/lib/vuedraggable/src/util/string.js +8 -6
  375. package/src/lib/vuedraggable/src/util/tags.js +10 -10
  376. package/src/lib/vuedraggable/src/vuedraggable.js +165 -126
  377. package/src/mixins/useDataTableMixin.js +184 -94
  378. package/src/mixins/useSelectMixin.js +33 -19
  379. package/src/utils/code-generator.js +11 -7
  380. package/src/utils/config.js +4 -3
  381. package/src/utils/el-icons.js +21 -5
  382. package/src/utils/emitter.js +54 -31
  383. package/src/utils/event-bus.js +7 -6
  384. package/src/utils/format.js +46 -24
  385. package/src/utils/i18n.js +56 -39
  386. package/src/utils/request/fmtHttpParams.js +28 -16
  387. package/src/utils/request/handleAxiosError.js +20 -19
  388. package/src/utils/request/http.js +70 -27
  389. package/src/utils/request/useGetUseInfo.js +7 -3
  390. package/src/utils/sfc-generator.js +5 -4
  391. package/src/utils/smart-vue-i18n/index.js +15 -14
  392. package/src/utils/smart-vue-i18n/utils.js +11 -10
  393. package/src/utils/util.js +336 -175
  394. package/src/utils/validators.js +44 -38
  395. package/stats.html +1 -1
  396. package/styles/style.css +1 -1
  397. package/types/src/components/CustomRender/index.d.ts.map +1 -1
  398. package/types/src/components/form-designer/setting-panel/index.d.ts +1 -0
  399. package/types/src/components/form-designer/widget-panel/advanced/attachment-render.d.ts +21 -0
  400. package/types/src/components/form-designer/widget-panel/advanced/attachment-render.d.ts.map +1 -0
  401. package/types/src/components/form-designer/widget-panel/advanced/bpmn-editor.d.ts +23 -0
  402. package/types/src/components/form-designer/widget-panel/advanced/bpmn-editor.d.ts.map +1 -0
  403. package/types/src/components/form-designer/widget-panel/advanced/cascader.d.ts +62 -0
  404. package/types/src/components/form-designer/widget-panel/advanced/cascader.d.ts.map +1 -0
  405. package/types/src/components/form-designer/widget-panel/advanced/code-editor.d.ts +33 -0
  406. package/types/src/components/form-designer/widget-panel/advanced/code-editor.d.ts.map +1 -0
  407. package/types/src/components/form-designer/widget-panel/advanced/file-upload.d.ts +35 -0
  408. package/types/src/components/form-designer/widget-panel/advanced/file-upload.d.ts.map +1 -0
  409. package/types/src/components/form-designer/widget-panel/advanced/index.d.ts +8 -0
  410. package/types/src/components/form-designer/widget-panel/advanced/index.d.ts.map +1 -0
  411. package/types/src/components/form-designer/widget-panel/advanced/rich-editor.d.ts +32 -0
  412. package/types/src/components/form-designer/widget-panel/advanced/rich-editor.d.ts.map +1 -0
  413. package/types/src/components/form-designer/widget-panel/advanced/slot.d.ts +16 -0
  414. package/types/src/components/form-designer/widget-panel/advanced/slot.d.ts.map +1 -0
  415. package/types/src/components/form-designer/widget-panel/advanced/tree-select.d.ts +63 -0
  416. package/types/src/components/form-designer/widget-panel/advanced/tree-select.d.ts.map +1 -0
  417. package/types/src/components/form-designer/widget-panel/basicFields/button.d.ts +26 -0
  418. package/types/src/components/form-designer/widget-panel/basicFields/button.d.ts.map +1 -0
  419. package/types/src/components/form-designer/widget-panel/basicFields/checkbox.d.ts +47 -0
  420. package/types/src/components/form-designer/widget-panel/basicFields/checkbox.d.ts.map +1 -0
  421. package/types/src/components/form-designer/widget-panel/basicFields/color.d.ts +33 -0
  422. package/types/src/components/form-designer/widget-panel/basicFields/color.d.ts.map +1 -0
  423. package/types/src/components/form-designer/widget-panel/basicFields/date.d.ts +43 -0
  424. package/types/src/components/form-designer/widget-panel/basicFields/date.d.ts.map +1 -0
  425. package/types/src/components/form-designer/widget-panel/basicFields/dateRange.d.ts +43 -0
  426. package/types/src/components/form-designer/widget-panel/basicFields/dateRange.d.ts.map +1 -0
  427. package/types/src/components/form-designer/widget-panel/basicFields/divider.d.ts +20 -0
  428. package/types/src/components/form-designer/widget-panel/basicFields/divider.d.ts.map +1 -0
  429. package/types/src/components/form-designer/widget-panel/basicFields/dropdown.d.ts +31 -0
  430. package/types/src/components/form-designer/widget-panel/basicFields/dropdown.d.ts.map +1 -0
  431. package/types/src/components/form-designer/widget-panel/basicFields/htmlText.d.ts +18 -0
  432. package/types/src/components/form-designer/widget-panel/basicFields/htmlText.d.ts.map +1 -0
  433. package/types/src/components/form-designer/widget-panel/basicFields/input.d.ts +44 -0
  434. package/types/src/components/form-designer/widget-panel/basicFields/input.d.ts.map +1 -0
  435. package/types/src/components/form-designer/widget-panel/basicFields/number.d.ts +40 -0
  436. package/types/src/components/form-designer/widget-panel/basicFields/number.d.ts.map +1 -0
  437. package/types/src/components/form-designer/widget-panel/basicFields/radio.d.ts +51 -0
  438. package/types/src/components/form-designer/widget-panel/basicFields/radio.d.ts.map +1 -0
  439. package/types/src/components/form-designer/widget-panel/basicFields/rate.d.ts +35 -0
  440. package/types/src/components/form-designer/widget-panel/basicFields/rate.d.ts.map +1 -0
  441. package/types/src/components/form-designer/widget-panel/basicFields/select.d.ts +58 -0
  442. package/types/src/components/form-designer/widget-panel/basicFields/select.d.ts.map +1 -0
  443. package/types/src/components/form-designer/widget-panel/basicFields/slider.d.ts +37 -0
  444. package/types/src/components/form-designer/widget-panel/basicFields/slider.d.ts.map +1 -0
  445. package/types/src/components/form-designer/widget-panel/basicFields/staticText.d.ts +18 -0
  446. package/types/src/components/form-designer/widget-panel/basicFields/staticText.d.ts.map +1 -0
  447. package/types/src/components/form-designer/widget-panel/basicFields/switch.d.ts +31 -0
  448. package/types/src/components/form-designer/widget-panel/basicFields/switch.d.ts.map +1 -0
  449. package/types/src/components/form-designer/widget-panel/basicFields/textarea.d.ts +42 -0
  450. package/types/src/components/form-designer/widget-panel/basicFields/textarea.d.ts.map +1 -0
  451. package/types/src/components/form-designer/widget-panel/basicFields/time.d.ts +40 -0
  452. package/types/src/components/form-designer/widget-panel/basicFields/time.d.ts.map +1 -0
  453. package/types/src/components/form-designer/widget-panel/basicFields/timeRange.d.ts +41 -0
  454. package/types/src/components/form-designer/widget-panel/basicFields/timeRange.d.ts.map +1 -0
  455. package/types/src/components/form-designer/widget-panel/business/department-select.d.ts +59 -0
  456. package/types/src/components/form-designer/widget-panel/business/department-select.d.ts.map +1 -0
  457. package/types/src/components/form-designer/widget-panel/business/index.d.ts +8 -0
  458. package/types/src/components/form-designer/widget-panel/business/index.d.ts.map +1 -0
  459. package/types/src/components/form-designer/widget-panel/business/material-select.d.ts +59 -0
  460. package/types/src/components/form-designer/widget-panel/business/material-select.d.ts.map +1 -0
  461. package/types/src/components/form-designer/widget-panel/business/operation-select.d.ts +59 -0
  462. package/types/src/components/form-designer/widget-panel/business/operation-select.d.ts.map +1 -0
  463. package/types/src/components/form-designer/widget-panel/business/post-select.d.ts +61 -0
  464. package/types/src/components/form-designer/widget-panel/business/post-select.d.ts.map +1 -0
  465. package/types/src/components/form-designer/widget-panel/business/project-group-select.d.ts +59 -0
  466. package/types/src/components/form-designer/widget-panel/business/project-group-select.d.ts.map +1 -0
  467. package/types/src/components/form-designer/widget-panel/business/project-select.d.ts +59 -0
  468. package/types/src/components/form-designer/widget-panel/business/project-select.d.ts.map +1 -0
  469. package/types/src/components/form-designer/widget-panel/business/user-select.d.ts +62 -0
  470. package/types/src/components/form-designer/widget-panel/business/user-select.d.ts.map +1 -0
  471. package/types/src/components/form-designer/widget-panel/containers/data-table.d.ts +97 -0
  472. package/types/src/components/form-designer/widget-panel/containers/data-table.d.ts.map +1 -0
  473. package/types/src/components/form-designer/widget-panel/containers/grid-col.d.ts +22 -0
  474. package/types/src/components/form-designer/widget-panel/containers/grid-col.d.ts.map +1 -0
  475. package/types/src/components/form-designer/widget-panel/containers/grid-sub-form.d.ts +34 -0
  476. package/types/src/components/form-designer/widget-panel/containers/grid-sub-form.d.ts.map +1 -0
  477. package/types/src/components/form-designer/widget-panel/containers/grid.d.ts +16 -0
  478. package/types/src/components/form-designer/widget-panel/containers/grid.d.ts.map +1 -0
  479. package/types/src/components/form-designer/widget-panel/containers/index.d.ts +10 -0
  480. package/types/src/components/form-designer/widget-panel/containers/index.d.ts.map +1 -0
  481. package/types/src/components/form-designer/widget-panel/containers/tab-pane.d.ts +17 -0
  482. package/types/src/components/form-designer/widget-panel/containers/tab-pane.d.ts.map +1 -0
  483. package/types/src/components/form-designer/widget-panel/containers/tab.d.ts +36 -0
  484. package/types/src/components/form-designer/widget-panel/containers/tab.d.ts.map +1 -0
  485. package/types/src/components/form-designer/widget-panel/containers/vf-box.d.ts +14 -0
  486. package/types/src/components/form-designer/widget-panel/containers/vf-box.d.ts.map +1 -0
  487. package/types/src/components/form-designer/widget-panel/containers/vf-collapse.d.ts +22 -0
  488. package/types/src/components/form-designer/widget-panel/containers/vf-collapse.d.ts.map +1 -0
  489. package/types/src/components/form-designer/widget-panel/containers/vf-dialog.d.ts +29 -0
  490. package/types/src/components/form-designer/widget-panel/containers/vf-dialog.d.ts.map +1 -0
  491. package/_virtual/_commonjsHelpers.js +0 -6
  492. package/_virtual/collection.js +0 -4
  493. package/_virtual/ext-language_tools.js +0 -4
  494. package/_virtual/index.js +0 -4
  495. package/_virtual/mode-css.js +0 -4
  496. package/_virtual/mode-javascript.js +0 -4
  497. package/_virtual/mode-json.js +0 -4
  498. package/_virtual/theme-sqlserver.js +0 -4
  499. package/src/components/form-designer/widget-panel/businessFieldsEnums.js +0 -558
  500. package/src/components/form-designer/widget-panel/containersEnums.js +0 -315
@@ -1,9 +1,9 @@
1
- import { deepClone as r, getDefaultFormConfig as F, generateId as g, overwriteObj as u } from "../../utils/util.js";
2
- import { containers as w, basicFields as y, advancedFields as b, customFields as L } from "./widget-panel/widgetsConfig.js";
3
- import { VARIANT_FORM_VERSION as N } from "../../utils/config.js";
4
- import D from "../../utils/event-bus.js";
5
- function S(T) {
6
- const m = r(F());
1
+ import { deepClone, getDefaultFormConfig, generateId, overwriteObj } from "../../utils/util.js";
2
+ import { containers, basicFields, advancedFields, customFields } from "./widget-panel/widgetsConfig.js";
3
+ import { VARIANT_FORM_VERSION } from "../../utils/config.js";
4
+ import eventBus from "../../utils/event-bus.js";
5
+ function createDesigner(vueInstance) {
6
+ const defaultFormConfig = deepClone(getDefaultFormConfig());
7
7
  return {
8
8
  widgetList: [],
9
9
  formConfig: { cssCode: "" },
@@ -11,7 +11,7 @@ function S(T) {
11
11
  selectedWidget: null,
12
12
  selectedWidgetName: null,
13
13
  //选中组件名称(唯一)
14
- vueInstance: T,
14
+ vueInstance,
15
15
  formWidget: null,
16
16
  //表单设计容器
17
17
  cssClassList: [],
@@ -22,532 +22,819 @@ function S(T) {
22
22
  maxStep: 20,
23
23
  steps: []
24
24
  },
25
- initDesigner(e) {
26
- this.widgetList = [], this.formConfig = r(m), console.info(
27
- `%cVer${N} %chttps://www.yuque.com/visualdev/vform3`,
25
+ initDesigner(resetFormJson) {
26
+ this.widgetList = [];
27
+ this.formConfig = deepClone(defaultFormConfig);
28
+ console.info(
29
+ `%cVer${VARIANT_FORM_VERSION} %chttps://www.yuque.com/visualdev/vform3`,
28
30
  "color:#999;font-size: 12px",
29
31
  "color:#333"
30
- ), e || this.initHistoryData();
32
+ );
33
+ if (!resetFormJson) {
34
+ this.initHistoryData();
35
+ }
31
36
  },
32
- clearDesigner(e) {
33
- const t = this.widgetList.length === 0;
34
- this.widgetList = [], this.selectedId = null, this.selectedWidgetName = null, this.selectedWidget = {}, u(this.formConfig, m), e || (t ? this.saveCurrentHistoryStep() : this.emitHistoryChange());
37
+ clearDesigner(skipHistoryChange) {
38
+ const emptyWidgetListFlag = this.widgetList.length === 0;
39
+ this.widgetList = [];
40
+ this.selectedId = null;
41
+ this.selectedWidgetName = null;
42
+ this.selectedWidget = {};
43
+ overwriteObj(this.formConfig, defaultFormConfig);
44
+ if (!!skipHistoryChange) ;
45
+ else if (!emptyWidgetListFlag) {
46
+ this.emitHistoryChange();
47
+ } else {
48
+ this.saveCurrentHistoryStep();
49
+ }
35
50
  },
36
- loadPresetCssCode(e) {
37
- this.formConfig.cssCode === "" && e && (this.formConfig.cssCode = e);
51
+ loadPresetCssCode(preCssCode) {
52
+ if (this.formConfig.cssCode === "" && !!preCssCode) {
53
+ this.formConfig.cssCode = preCssCode;
54
+ }
38
55
  },
39
56
  getLayoutType() {
40
57
  return this.formConfig.layoutType || "PC";
41
58
  },
42
- changeLayoutType(e) {
43
- this.formConfig.layoutType = e;
59
+ changeLayoutType(newType) {
60
+ this.formConfig.layoutType = newType;
44
61
  },
45
62
  getImportTemplate() {
46
63
  return {
47
64
  widgetList: [],
48
65
  //formConfig: deepClone(this.formConfig)
49
- formConfig: r(m)
66
+ formConfig: deepClone(defaultFormConfig)
50
67
  };
51
68
  },
52
- loadFormJson(e) {
53
- let t = !1;
54
- return e && e.widgetList && (this.widgetList = e.widgetList, t = !0), e && e.formConfig && (u(
55
- this.formConfig,
56
- e.formConfig
57
- ), t = !0), t && this.emitEvent("form-json-imported", []), t;
69
+ loadFormJson(formJson) {
70
+ let modifiedFlag = false;
71
+ if (!!formJson && !!formJson.widgetList) {
72
+ this.widgetList = formJson.widgetList;
73
+ modifiedFlag = true;
74
+ }
75
+ if (!!formJson && !!formJson.formConfig) {
76
+ overwriteObj(
77
+ this.formConfig,
78
+ formJson.formConfig
79
+ );
80
+ modifiedFlag = true;
81
+ }
82
+ if (modifiedFlag) {
83
+ this.emitEvent("form-json-imported", []);
84
+ }
85
+ return modifiedFlag;
58
86
  },
59
- setSelected(e) {
60
- if (!e) {
87
+ setSelected(selected) {
88
+ if (!selected) {
61
89
  this.clearSelected();
62
90
  return;
63
91
  }
64
- this.selectedWidget = e, e.id && (this.selectedId = e.id, this.selectedWidgetName = e.options.name);
92
+ this.selectedWidget = selected;
93
+ if (!!selected.id) {
94
+ this.selectedId = selected.id;
95
+ this.selectedWidgetName = selected.options.name;
96
+ }
65
97
  },
66
- updateSelectedWidgetNameAndLabel(e, t, s) {
67
- this.selectedWidgetName = t, s && Object.keys(e.options).indexOf("label") > -1 && (e.options.label = s);
98
+ updateSelectedWidgetNameAndLabel(selectedWidget, newName, newLabel) {
99
+ this.selectedWidgetName = newName;
100
+ if (!!newLabel && Object.keys(selectedWidget.options).indexOf("label") > -1) {
101
+ selectedWidget.options.label = newLabel;
102
+ }
68
103
  },
69
104
  clearSelected() {
70
- this.selectedId = null, this.selectedWidgetName = null, this.selectedWidget = {};
71
- },
72
- checkWidgetMove(e) {
73
- if (e.draggedContext && e.draggedContext.element) {
74
- const t = e.draggedContext.element.category, s = e.draggedContext.element.type + "";
75
- if (e.to && (e.to.className === "sub-form-table" && t === "container" || e.to.className === "grid-sub-form" && s !== "grid" || e.to.className === "vf-dialog-drop-zone" && (s === "vf-dialog" || s === "vf-drawer") || e.to.className === "vf-drawer-drop-zone" && (s === "vf-dialog" || s === "vf-drawer") || e.to.className !== "form-widget-canvas" && (s === "vf-dialog" || s === "vf-drawer")))
76
- return !1;
105
+ this.selectedId = null;
106
+ this.selectedWidgetName = null;
107
+ this.selectedWidget = {};
108
+ },
109
+ checkWidgetMove(evt) {
110
+ if (!!evt.draggedContext && !!evt.draggedContext.element) {
111
+ const wgCategory = evt.draggedContext.element.category;
112
+ const wgType = evt.draggedContext.element.type + "";
113
+ if (!!evt.to) {
114
+ if (evt.to.className === "sub-form-table" && wgCategory === "container") {
115
+ return false;
116
+ }
117
+ if (evt.to.className === "grid-sub-form" && wgType !== "grid") {
118
+ return false;
119
+ }
120
+ if (evt.to.className === "vf-dialog-drop-zone" && (wgType === "vf-dialog" || wgType === "vf-drawer")) {
121
+ return false;
122
+ }
123
+ if (evt.to.className === "vf-drawer-drop-zone" && (wgType === "vf-dialog" || wgType === "vf-drawer")) {
124
+ return false;
125
+ }
126
+ if (evt.to.className !== "form-widget-canvas" && (wgType === "vf-dialog" || wgType === "vf-drawer")) {
127
+ return false;
128
+ }
129
+ }
77
130
  }
78
- return !0;
79
- },
80
- checkFieldMove(e) {
81
- if (e.draggedContext && e.draggedContext.element) {
82
- e.draggedContext.element.category;
83
- const t = e.draggedContext.element.type + "";
84
- if (e.to && ((e.to.className === "sub-form-table" || e.to.className === "grid-sub-form") && t === "slot" || e.to.className === "grid-sub-form" && t !== "grid"))
85
- return !1;
131
+ return true;
132
+ },
133
+ checkFieldMove(evt) {
134
+ if (!!evt.draggedContext && !!evt.draggedContext.element) {
135
+ evt.draggedContext.element.category;
136
+ const wgType = evt.draggedContext.element.type + "";
137
+ if (!!evt.to) {
138
+ if ((evt.to.className === "sub-form-table" || evt.to.className === "grid-sub-form") && wgType === "slot") {
139
+ return false;
140
+ }
141
+ if (evt.to.className === "grid-sub-form" && wgType !== "grid") {
142
+ return false;
143
+ }
144
+ }
86
145
  }
87
- return !0;
146
+ return true;
88
147
  },
89
148
  /**
90
149
  * 追加表格新行
91
150
  * @param widget
92
151
  */
93
- appendTableRow(e) {
94
- const t = e.rows.length, s = r(e.rows[e.rows.length - 1]);
95
- s.id = "table-row-" + g(), s.merged = !1, s.cols.forEach((i) => {
96
- i.id = "table-cell-" + g(), i.options.name = i.id, i.merged = !1, i.options.colspan = 1, i.options.rowspan = 1, i.widgetList.length = 0;
97
- }), e.rows.splice(t, 0, s), this.emitHistoryChange();
152
+ appendTableRow(widget) {
153
+ const rowIdx = widget.rows.length;
154
+ const newRow = deepClone(widget.rows[widget.rows.length - 1]);
155
+ newRow.id = "table-row-" + generateId();
156
+ newRow.merged = false;
157
+ newRow.cols.forEach((col) => {
158
+ col.id = "table-cell-" + generateId();
159
+ col.options.name = col.id;
160
+ col.merged = false;
161
+ col.options.colspan = 1;
162
+ col.options.rowspan = 1;
163
+ col.widgetList.length = 0;
164
+ });
165
+ widget.rows.splice(rowIdx, 0, newRow);
166
+ this.emitHistoryChange();
98
167
  },
99
168
  /**
100
169
  * 追加表格新列
101
170
  * @param widget
102
171
  */
103
- appendTableCol(e) {
104
- const t = e.rows[0].cols.length;
105
- e.rows.forEach((s) => {
106
- const i = r(this.getContainerByType("table-cell"));
107
- i.id = "table-cell-" + g(), i.options.name = i.id, i.merged = !1, i.options.colspan = 1, i.options.rowspan = 1, i.widgetList.length = 0, s.cols.splice(t, 0, i);
108
- }), this.emitHistoryChange();
109
- },
110
- insertTableRow(e, t, s, i, l) {
111
- let o = l ? t : t + 1;
112
- if (!l) {
113
- let p = o, h = !1;
114
- for (; p < e.rows.length; )
115
- if (e.rows[p].cols[i].merged)
116
- p++;
117
- else {
118
- o = p, h = !0;
172
+ appendTableCol(widget) {
173
+ const colIdx = widget.rows[0].cols.length;
174
+ widget.rows.forEach((row) => {
175
+ const newCol = deepClone(this.getContainerByType("table-cell"));
176
+ newCol.id = "table-cell-" + generateId();
177
+ newCol.options.name = newCol.id;
178
+ newCol.merged = false;
179
+ newCol.options.colspan = 1;
180
+ newCol.options.rowspan = 1;
181
+ newCol.widgetList.length = 0;
182
+ row.cols.splice(colIdx, 0, newCol);
183
+ });
184
+ this.emitHistoryChange();
185
+ },
186
+ insertTableRow(widget, insertPos, cloneRowIdx, curCol, aboveFlag) {
187
+ let newRowIdx = !!aboveFlag ? insertPos : insertPos + 1;
188
+ if (!aboveFlag) {
189
+ let tmpRowIdx = newRowIdx;
190
+ let rowFoundFlag = false;
191
+ while (tmpRowIdx < widget.rows.length) {
192
+ if (!widget.rows[tmpRowIdx].cols[curCol].merged) {
193
+ newRowIdx = tmpRowIdx;
194
+ rowFoundFlag = true;
119
195
  break;
196
+ } else {
197
+ tmpRowIdx++;
120
198
  }
121
- h || (o = e.rows.length);
122
- }
123
- const n = r(e.rows[s]);
124
- n.id = "table-row-" + g(), n.merged = !1, n.cols.forEach((p) => {
125
- p.id = "table-cell-" + g(), p.options.name = p.id, p.merged = !1, p.options.colspan = 1, p.options.rowspan = 1, p.widgetList.length = 0;
126
- }), e.rows.splice(o, 0, n);
127
- let a = 0;
128
- for (; o < e.rows.length - 1 && a < e.rows[0].cols.length; ) {
129
- const p = e.rows[o + 1].cols[a];
130
- if (p.merged) {
131
- const f = e.rows;
132
- let d = {}, C = null;
133
- for (let c = o; c >= 0; c--)
134
- if (!f[c].cols[a].merged && f[c].cols[a].options.rowspan > 1) {
135
- C = c, d = f[c].cols[a];
199
+ }
200
+ if (!rowFoundFlag) {
201
+ newRowIdx = widget.rows.length;
202
+ }
203
+ }
204
+ const newRow = deepClone(widget.rows[cloneRowIdx]);
205
+ newRow.id = "table-row-" + generateId();
206
+ newRow.merged = false;
207
+ newRow.cols.forEach((col) => {
208
+ col.id = "table-cell-" + generateId();
209
+ col.options.name = col.id;
210
+ col.merged = false;
211
+ col.options.colspan = 1;
212
+ col.options.rowspan = 1;
213
+ col.widgetList.length = 0;
214
+ });
215
+ widget.rows.splice(newRowIdx, 0, newRow);
216
+ let colNo = 0;
217
+ while (newRowIdx < widget.rows.length - 1 && colNo < widget.rows[0].cols.length) {
218
+ const cellOfNextRow = widget.rows[newRowIdx + 1].cols[colNo];
219
+ const rowMerged = cellOfNextRow.merged;
220
+ if (!!rowMerged) {
221
+ const rowArray = widget.rows;
222
+ let unMergedCell = {};
223
+ let startRowIndex = null;
224
+ for (let i = newRowIdx; i >= 0; i--) {
225
+ if (!rowArray[i].cols[colNo].merged && rowArray[i].cols[colNo].options.rowspan > 1) {
226
+ startRowIndex = i;
227
+ unMergedCell = rowArray[i].cols[colNo];
136
228
  break;
137
229
  }
138
- if (d.options) {
139
- const c = d.options.rowspan + 1;
230
+ }
231
+ if (!!unMergedCell.options) {
232
+ const newRowspan = unMergedCell.options.rowspan + 1;
140
233
  this.setPropsOfMergedRows(
141
- e.rows,
142
- C,
143
- a,
144
- d.options.colspan,
145
- c
146
- ), a += d.options.colspan;
147
- } else
148
- a += 1;
149
- } else
150
- a += p.options.colspan || 1;
234
+ widget.rows,
235
+ startRowIndex,
236
+ colNo,
237
+ unMergedCell.options.colspan,
238
+ newRowspan
239
+ );
240
+ colNo += unMergedCell.options.colspan;
241
+ } else {
242
+ colNo += 1;
243
+ }
244
+ } else {
245
+ colNo += cellOfNextRow.options.colspan || 1;
246
+ }
151
247
  }
152
248
  this.emitHistoryChange();
153
249
  },
154
- insertTableCol(e, t, s, i) {
155
- let l = i ? t : t + 1;
156
- if (!i) {
157
- let n = l, a = !1;
158
- for (; n < e.rows[s].cols.length; ) {
159
- if (e.rows[s].cols[n].merged)
160
- n++;
161
- else {
162
- l = n, a = !0;
250
+ insertTableCol(widget, insertPos, curRow, leftFlag) {
251
+ let newColIdx = !!leftFlag ? insertPos : insertPos + 1;
252
+ if (!leftFlag) {
253
+ let tmpColIdx = newColIdx;
254
+ let colFoundFlag = false;
255
+ while (tmpColIdx < widget.rows[curRow].cols.length) {
256
+ if (!widget.rows[curRow].cols[tmpColIdx].merged) {
257
+ newColIdx = tmpColIdx;
258
+ colFoundFlag = true;
163
259
  break;
260
+ } else {
261
+ tmpColIdx++;
262
+ }
263
+ if (!colFoundFlag) {
264
+ newColIdx = widget.rows[curRow].cols.length;
164
265
  }
165
- a || (l = e.rows[s].cols.length);
166
266
  }
167
267
  }
168
- e.rows.forEach((n) => {
169
- const a = r(this.getContainerByType("table-cell"));
170
- a.id = "table-cell-" + g(), a.options.name = a.id, a.merged = !1, a.options.colspan = 1, a.options.rowspan = 1, a.widgetList.length = 0, n.cols.splice(l, 0, a);
268
+ widget.rows.forEach((row) => {
269
+ const newCol = deepClone(this.getContainerByType("table-cell"));
270
+ newCol.id = "table-cell-" + generateId();
271
+ newCol.options.name = newCol.id;
272
+ newCol.merged = false;
273
+ newCol.options.colspan = 1;
274
+ newCol.options.rowspan = 1;
275
+ newCol.widgetList.length = 0;
276
+ row.cols.splice(newColIdx, 0, newCol);
171
277
  });
172
- let o = 0;
173
- for (; l < e.rows[0].cols.length - 1 && o < e.rows.length; ) {
174
- const n = e.rows[o].cols[l + 1];
175
- if (n.merged) {
176
- const p = e.rows[o].cols;
177
- let h = {}, f = null;
178
- for (let d = l; d >= 0; d--)
179
- if (!p[d].merged && p[d].options.colspan > 1) {
180
- f = d, h = p[d];
278
+ let rowNo = 0;
279
+ while (newColIdx < widget.rows[0].cols.length - 1 && rowNo < widget.rows.length) {
280
+ const cellOfNextCol = widget.rows[rowNo].cols[newColIdx + 1];
281
+ const colMerged = cellOfNextCol.merged;
282
+ if (!!colMerged) {
283
+ const colArray = widget.rows[rowNo].cols;
284
+ let unMergedCell = {};
285
+ let startColIndex = null;
286
+ for (let i = newColIdx; i >= 0; i--) {
287
+ if (!colArray[i].merged && colArray[i].options.colspan > 1) {
288
+ startColIndex = i;
289
+ unMergedCell = colArray[i];
181
290
  break;
182
291
  }
183
- if (h.options) {
184
- const d = h.options.colspan + 1;
292
+ }
293
+ if (!!unMergedCell.options) {
294
+ const newColspan = unMergedCell.options.colspan + 1;
185
295
  this.setPropsOfMergedCols(
186
- e.rows,
187
- o,
188
- f,
189
- d,
190
- h.options.rowspan
191
- ), o += h.options.rowspan;
192
- } else
193
- o += 1;
194
- } else
195
- o += n.options.rowspan || 1;
296
+ widget.rows,
297
+ rowNo,
298
+ startColIndex,
299
+ newColspan,
300
+ unMergedCell.options.rowspan
301
+ );
302
+ rowNo += unMergedCell.options.rowspan;
303
+ } else {
304
+ rowNo += 1;
305
+ }
306
+ } else {
307
+ rowNo += cellOfNextCol.options.rowspan || 1;
308
+ }
196
309
  }
197
310
  this.emitHistoryChange();
198
311
  },
199
- setPropsOfMergedCols(e, t, s, i, l) {
200
- for (let o = t; o < t + l; o++)
201
- for (let n = s; n < s + i; n++) {
202
- if (o === t && n === s) {
203
- e[o].cols[n].options.colspan = i;
312
+ setPropsOfMergedCols(rowArray, startRowIndex, startColIndex, newColspan, rowspan) {
313
+ for (let i = startRowIndex; i < startRowIndex + rowspan; i++) {
314
+ for (let j = startColIndex; j < startColIndex + newColspan; j++) {
315
+ if (i === startRowIndex && j === startColIndex) {
316
+ rowArray[i].cols[j].options.colspan = newColspan;
204
317
  continue;
205
318
  }
206
- e[o].cols[n].merged = !0, e[o].cols[n].options.colspan = i, e[o].cols[n].widgetList = [];
319
+ rowArray[i].cols[j].merged = true;
320
+ rowArray[i].cols[j].options.colspan = newColspan;
321
+ rowArray[i].cols[j].widgetList = [];
207
322
  }
323
+ }
208
324
  },
209
- setPropsOfMergedRows(e, t, s, i, l) {
210
- for (let o = t; o < t + l; o++)
211
- for (let n = s; n < s + i; n++) {
212
- if (o === t && n === s) {
213
- e[o].cols[n].options.rowspan = l;
325
+ setPropsOfMergedRows(rowArray, startRowIndex, startColIndex, colspan, newRowspan) {
326
+ for (let i = startRowIndex; i < startRowIndex + newRowspan; i++) {
327
+ for (let j = startColIndex; j < startColIndex + colspan; j++) {
328
+ if (i === startRowIndex && j === startColIndex) {
329
+ rowArray[i].cols[j].options.rowspan = newRowspan;
214
330
  continue;
215
331
  }
216
- e[o].cols[n].merged = !0, e[o].cols[n].options.rowspan = l, e[o].cols[n].widgetList = [];
332
+ rowArray[i].cols[j].merged = true;
333
+ rowArray[i].cols[j].options.rowspan = newRowspan;
334
+ rowArray[i].cols[j].widgetList = [];
217
335
  }
336
+ }
337
+ },
338
+ setPropsOfSplitCol(rowArray, startRowIndex, startColIndex, colspan, rowspan) {
339
+ for (let i = startRowIndex; i < startRowIndex + rowspan; i++) {
340
+ for (let j = startColIndex; j < startColIndex + colspan; j++) {
341
+ rowArray[i].cols[j].merged = false;
342
+ rowArray[i].cols[j].options.rowspan = 1;
343
+ rowArray[i].cols[j].options.colspan = 1;
344
+ }
345
+ }
346
+ },
347
+ setPropsOfSplitRow(rowArray, startRowIndex, startColIndex, colspan, rowspan) {
348
+ for (let i = startRowIndex; i < startRowIndex + rowspan; i++) {
349
+ for (let j = startColIndex; j < startColIndex + colspan; j++) {
350
+ rowArray[i].cols[j].merged = false;
351
+ rowArray[i].cols[j].options.rowspan = 1;
352
+ rowArray[i].cols[j].options.colspan = 1;
353
+ }
354
+ }
218
355
  },
219
- setPropsOfSplitCol(e, t, s, i, l) {
220
- for (let o = t; o < t + l; o++)
221
- for (let n = s; n < s + i; n++)
222
- e[o].cols[n].merged = !1, e[o].cols[n].options.rowspan = 1, e[o].cols[n].options.colspan = 1;
223
- },
224
- setPropsOfSplitRow(e, t, s, i, l) {
225
- for (let o = t; o < t + l; o++)
226
- for (let n = s; n < s + i; n++)
227
- e[o].cols[n].merged = !1, e[o].cols[n].options.rowspan = 1, e[o].cols[n].options.colspan = 1;
228
- },
229
- mergeTableCol(e, t, s, i, l, o) {
230
- const n = l ? i : i + t[i].options.colspan;
231
- let a = l ? i - 1 : i;
232
- if (l) {
233
- let h = a;
234
- for (; h >= 0; )
235
- if (e[s].cols[h].merged)
236
- h--;
237
- else {
238
- a = h;
356
+ mergeTableCol(rowArray, colArray, curRow, curCol, leftFlag, cellWidget) {
357
+ const mergedColIdx = !!leftFlag ? curCol : curCol + colArray[curCol].options.colspan;
358
+ let remainedColIdx = !!leftFlag ? curCol - 1 : curCol;
359
+ if (!!leftFlag) {
360
+ let tmpColIdx = remainedColIdx;
361
+ while (tmpColIdx >= 0) {
362
+ if (!rowArray[curRow].cols[tmpColIdx].merged) {
363
+ remainedColIdx = tmpColIdx;
239
364
  break;
365
+ } else {
366
+ tmpColIdx--;
240
367
  }
368
+ }
369
+ }
370
+ if (!!colArray[mergedColIdx].widgetList && colArray[mergedColIdx].widgetList.length > 0) {
371
+ if (!colArray[remainedColIdx].widgetList || colArray[remainedColIdx].widgetList.length === 0) {
372
+ colArray[remainedColIdx].widgetList = deepClone(colArray[mergedColIdx].widgetList);
373
+ }
241
374
  }
242
- t[n].widgetList && t[n].widgetList.length > 0 && (!t[a].widgetList || t[a].widgetList.length === 0) && (t[a].widgetList = r(t[n].widgetList));
243
- const p = t[n].options.colspan * 1 + t[a].options.colspan * 1;
375
+ const newColspan = colArray[mergedColIdx].options.colspan * 1 + colArray[remainedColIdx].options.colspan * 1;
244
376
  this.setPropsOfMergedCols(
245
- e,
246
- s,
247
- a,
248
- p,
249
- o.options.rowspan
250
- ), this.emitHistoryChange();
251
- },
252
- mergeTableWholeRow(e, t, s, i) {
253
- const l = e[s].cols[0].options.rowspan;
254
- let o = !1;
255
- for (let a = 1; a < e[s].cols.length; a++)
256
- if (e[s].cols[a].options.rowspan !== l) {
257
- o = !0;
377
+ rowArray,
378
+ curRow,
379
+ remainedColIdx,
380
+ newColspan,
381
+ cellWidget.options.rowspan
382
+ );
383
+ this.emitHistoryChange();
384
+ },
385
+ mergeTableWholeRow(rowArray, colArray, rowIndex, colIndex) {
386
+ const startRowspan = rowArray[rowIndex].cols[0].options.rowspan;
387
+ let unmatchedFlag = false;
388
+ for (let i = 1; i < rowArray[rowIndex].cols.length; i++) {
389
+ if (rowArray[rowIndex].cols[i].options.rowspan !== startRowspan) {
390
+ unmatchedFlag = true;
258
391
  break;
259
392
  }
260
- if (o) {
393
+ }
394
+ if (unmatchedFlag) {
261
395
  this.vueInstance.$message.info(
262
396
  this.vueInstance.i18nt("designer.hint.rowspanNotConsistentForMergeEntireRow")
263
397
  );
264
398
  return;
265
399
  }
266
- const n = t.filter((a) => !a.merged && !!a.widgetList && a.widgetList.length > 0);
267
- n && n.length > 0 && n[0].id !== t[0].id && (!t[0].widgetList || t[0].widgetList.length <= 0) && (t[0].widgetList = r(n[0].widgetList)), this.setPropsOfMergedCols(
268
- e,
269
- s,
400
+ const widgetListCols = colArray.filter((colItem) => {
401
+ return !colItem.merged && !!colItem.widgetList && colItem.widgetList.length > 0;
402
+ });
403
+ if (!!widgetListCols && widgetListCols.length > 0) {
404
+ if (widgetListCols[0].id !== colArray[0].id && (!colArray[0].widgetList || colArray[0].widgetList.length <= 0)) {
405
+ colArray[0].widgetList = deepClone(widgetListCols[0].widgetList);
406
+ }
407
+ }
408
+ this.setPropsOfMergedCols(
409
+ rowArray,
410
+ rowIndex,
270
411
  0,
271
- t.length,
272
- t[i].options.rowspan
273
- ), this.emitHistoryChange();
274
- },
275
- mergeTableRow(e, t, s, i, l) {
276
- const o = i ? t : t + l.options.rowspan;
277
- let n = i ? t - 1 : t;
278
- if (i) {
279
- let p = n;
280
- for (; p >= 0; )
281
- if (e[p].cols[s].merged)
282
- p--;
283
- else {
284
- n = p;
412
+ colArray.length,
413
+ colArray[colIndex].options.rowspan
414
+ );
415
+ this.emitHistoryChange();
416
+ },
417
+ mergeTableRow(rowArray, curRow, curCol, aboveFlag, cellWidget) {
418
+ const mergedRowIdx = !!aboveFlag ? curRow : curRow + cellWidget.options.rowspan;
419
+ let remainedRowIdx = !!aboveFlag ? curRow - 1 : curRow;
420
+ if (!!aboveFlag) {
421
+ let tmpRowIdx = remainedRowIdx;
422
+ while (tmpRowIdx >= 0) {
423
+ if (!rowArray[tmpRowIdx].cols[curCol].merged) {
424
+ remainedRowIdx = tmpRowIdx;
285
425
  break;
426
+ } else {
427
+ tmpRowIdx--;
286
428
  }
429
+ }
430
+ }
431
+ if (!!rowArray[mergedRowIdx].cols[curCol].widgetList && rowArray[mergedRowIdx].cols[curCol].widgetList.length > 0) {
432
+ if (!rowArray[remainedRowIdx].cols[curCol].widgetList || rowArray[remainedRowIdx].cols[curCol].widgetList.length === 0) {
433
+ rowArray[remainedRowIdx].cols[curCol].widgetList = deepClone(
434
+ rowArray[mergedRowIdx].cols[curCol].widgetList
435
+ );
436
+ }
287
437
  }
288
- e[o].cols[s].widgetList && e[o].cols[s].widgetList.length > 0 && (!e[n].cols[s].widgetList || e[n].cols[s].widgetList.length === 0) && (e[n].cols[s].widgetList = r(
289
- e[o].cols[s].widgetList
290
- ));
291
- const a = e[o].cols[s].options.rowspan * 1 + e[n].cols[s].options.rowspan * 1;
438
+ const newRowspan = rowArray[mergedRowIdx].cols[curCol].options.rowspan * 1 + rowArray[remainedRowIdx].cols[curCol].options.rowspan * 1;
292
439
  this.setPropsOfMergedRows(
293
- e,
294
- n,
295
- s,
296
- l.options.colspan,
297
- a
298
- ), this.emitHistoryChange();
299
- },
300
- mergeTableWholeCol(e, t, s, i) {
301
- const l = e[0].cols[i].options.colspan;
302
- let o = !1;
303
- for (let p = 1; p < e.length; p++)
304
- if (e[p].cols[i].options.colspan !== l) {
305
- o = !0;
440
+ rowArray,
441
+ remainedRowIdx,
442
+ curCol,
443
+ cellWidget.options.colspan,
444
+ newRowspan
445
+ );
446
+ this.emitHistoryChange();
447
+ },
448
+ mergeTableWholeCol(rowArray, colArray, rowIndex, colIndex) {
449
+ const startColspan = rowArray[0].cols[colIndex].options.colspan;
450
+ let unmatchedFlag = false;
451
+ for (let i = 1; i < rowArray.length; i++) {
452
+ if (rowArray[i].cols[colIndex].options.colspan !== startColspan) {
453
+ unmatchedFlag = true;
306
454
  break;
307
455
  }
308
- if (o) {
456
+ }
457
+ if (unmatchedFlag) {
309
458
  this.vueInstance.$message.info(
310
459
  this.vueInstance.i18nt("designer.hint.colspanNotConsistentForMergeEntireColumn")
311
460
  );
312
461
  return;
313
462
  }
314
- const n = [];
315
- e.forEach((p) => {
316
- const h = p.cols[i];
317
- !h.merged && h.widgetList && h.widgetList.length > 0 && n.push(h);
463
+ const widgetListCols = [];
464
+ rowArray.forEach((rowItem) => {
465
+ const tempCell = rowItem.cols[colIndex];
466
+ if (!tempCell.merged && !!tempCell.widgetList && tempCell.widgetList.length > 0) {
467
+ widgetListCols.push(tempCell);
468
+ }
318
469
  });
319
- const a = e[0].cols[i];
320
- n && n.length > 0 && n[0].id !== a.id && (!a.widgetList || a.widgetList.length <= 0) && (a.widgetList = r(n[0].widgetList)), this.setPropsOfMergedRows(
321
- e,
470
+ const firstCellOfCol = rowArray[0].cols[colIndex];
471
+ if (!!widgetListCols && widgetListCols.length > 0) {
472
+ if (widgetListCols[0].id !== firstCellOfCol.id && (!firstCellOfCol.widgetList || firstCellOfCol.widgetList.length <= 0)) {
473
+ firstCellOfCol.widgetList = deepClone(widgetListCols[0].widgetList);
474
+ }
475
+ }
476
+ this.setPropsOfMergedRows(
477
+ rowArray,
322
478
  0,
323
- i,
324
- a.options.colspan,
325
- e.length
326
- ), this.emitHistoryChange();
327
- },
328
- undoMergeTableCol(e, t, s, i, l) {
329
- this.setPropsOfSplitCol(e, t, s, i, l), this.emitHistoryChange();
330
- },
331
- undoMergeTableRow(e, t, s, i, l) {
332
- this.setPropsOfSplitRow(e, t, s, i, l), this.emitHistoryChange();
333
- },
334
- deleteTableWholeCol(e, t) {
335
- let s = !0;
336
- if (e.forEach((o) => {
337
- o.cols[0].options.colspan !== e[0].cols.length && (s = !1);
338
- }), s) {
479
+ colIndex,
480
+ firstCellOfCol.options.colspan,
481
+ rowArray.length
482
+ );
483
+ this.emitHistoryChange();
484
+ },
485
+ undoMergeTableCol(rowArray, rowIndex, colIndex, colspan, rowspan) {
486
+ this.setPropsOfSplitCol(rowArray, rowIndex, colIndex, colspan, rowspan);
487
+ this.emitHistoryChange();
488
+ },
489
+ undoMergeTableRow(rowArray, rowIndex, colIndex, colspan, rowspan) {
490
+ this.setPropsOfSplitRow(rowArray, rowIndex, colIndex, colspan, rowspan);
491
+ this.emitHistoryChange();
492
+ },
493
+ deleteTableWholeCol(rowArray, colIndex) {
494
+ let onlyOneColFlag = true;
495
+ rowArray.forEach((ri) => {
496
+ if (ri.cols[0].options.colspan !== rowArray[0].cols.length) {
497
+ onlyOneColFlag = false;
498
+ }
499
+ });
500
+ if (onlyOneColFlag) {
339
501
  this.vueInstance.$message.info(
340
502
  this.vueInstance.i18nt("designer.hint.lastColCannotBeDeleted")
341
503
  );
342
504
  return;
343
505
  }
344
- const i = e[0].cols[t].options.colspan;
345
- let l = !1;
346
- for (let o = 1; o < e.length; o++)
347
- if (e[o].cols[t].options.colspan !== i) {
348
- l = !0;
506
+ const startColspan = rowArray[0].cols[colIndex].options.colspan;
507
+ let unmatchedFlag = false;
508
+ for (let i = 1; i < rowArray.length; i++) {
509
+ if (rowArray[i].cols[colIndex].options.colspan !== startColspan) {
510
+ unmatchedFlag = true;
349
511
  break;
350
512
  }
351
- if (l) {
513
+ }
514
+ if (unmatchedFlag) {
352
515
  this.vueInstance.$message.info(
353
516
  this.vueInstance.i18nt("designer.hint.colspanNotConsistentForDeleteEntireColumn")
354
517
  );
355
518
  return;
356
519
  }
357
- e.forEach((o) => {
358
- o.cols.splice(t, i);
359
- }), this.emitHistoryChange();
520
+ rowArray.forEach((rItem) => {
521
+ rItem.cols.splice(colIndex, startColspan);
522
+ });
523
+ this.emitHistoryChange();
360
524
  },
361
- deleteTableWholeRow(e, t) {
362
- let s = !0;
363
- if (e[0].cols.forEach((o) => {
364
- o.options.rowspan !== e.length && (s = !1);
365
- }), s) {
525
+ deleteTableWholeRow(rowArray, rowIndex) {
526
+ let onlyOneRowFlag = true;
527
+ rowArray[0].cols.forEach((ci) => {
528
+ if (ci.options.rowspan !== rowArray.length) {
529
+ onlyOneRowFlag = false;
530
+ }
531
+ });
532
+ if (onlyOneRowFlag) {
366
533
  this.vueInstance.$message.info(
367
534
  this.vueInstance.i18nt("designer.hint.lastRowCannotBeDeleted")
368
535
  );
369
536
  return;
370
537
  }
371
- const i = e[t].cols[0].options.rowspan;
372
- let l = !1;
373
- for (let o = 1; o < e[t].cols.length; o++)
374
- if (e[t].cols[o].options.rowspan !== i) {
375
- l = !0;
538
+ const startRowspan = rowArray[rowIndex].cols[0].options.rowspan;
539
+ let unmatchedFlag = false;
540
+ for (let i = 1; i < rowArray[rowIndex].cols.length; i++) {
541
+ if (rowArray[rowIndex].cols[i].options.rowspan !== startRowspan) {
542
+ unmatchedFlag = true;
376
543
  break;
377
544
  }
378
- if (l) {
545
+ }
546
+ if (unmatchedFlag) {
379
547
  this.vueInstance.$message.info(
380
548
  this.vueInstance.i18nt("designer.hint.rowspanNotConsistentForDeleteEntireRow")
381
549
  );
382
550
  return;
383
551
  }
384
- e.splice(t, i), this.emitHistoryChange();
385
- },
386
- getContainerByType(e) {
387
- const t = [...w, ...y, ...b, ...L];
388
- let s = null;
389
- return t.forEach((i) => {
390
- i.category && i.type && i.type === e && (s = i);
391
- }), s;
392
- },
393
- getFieldWidgetByType(e) {
394
- const t = [...w, ...y, ...b, ...L];
395
- let s = null;
396
- return t.forEach((i) => {
397
- !i.category && i.type && i.type === e && (s = i);
398
- }), s;
399
- },
400
- hasConfig(e, t) {
401
- let s = null;
402
- return e.category ? s = this.getContainerByType(e.type) : s = this.getFieldWidgetByType(e.type), !s || !s.options ? !1 : Object.keys(s.options).indexOf(t) > -1;
403
- },
404
- upgradeWidgetConfig(e) {
405
- let t = null;
406
- e.category ? t = this.getContainerByType(e.type) : t = this.getFieldWidgetByType(e.type), !(!t || !t.options) && Object.keys(t.options).forEach((s) => {
407
- e.hasOwnProperty(s) || (e.options[s] = r(t.options[s]));
552
+ rowArray.splice(rowIndex, startRowspan);
553
+ this.emitHistoryChange();
554
+ },
555
+ getContainerByType(typeName) {
556
+ const allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields];
557
+ let foundCon = null;
558
+ allWidgets.forEach((con) => {
559
+ if (!!con.category && !!con.type && con.type === typeName) {
560
+ foundCon = con;
561
+ }
562
+ });
563
+ return foundCon;
564
+ },
565
+ getFieldWidgetByType(typeName) {
566
+ const allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields];
567
+ let foundWidget = null;
568
+ allWidgets.forEach((widget) => {
569
+ if (!!!widget.category && !!widget.type && widget.type === typeName) {
570
+ foundWidget = widget;
571
+ }
572
+ });
573
+ return foundWidget;
574
+ },
575
+ hasConfig(widget, configName) {
576
+ let originalWidget = null;
577
+ if (!!widget.category) {
578
+ originalWidget = this.getContainerByType(widget.type);
579
+ } else {
580
+ originalWidget = this.getFieldWidgetByType(widget.type);
581
+ }
582
+ if (!originalWidget || !originalWidget.options) {
583
+ return false;
584
+ }
585
+ return Object.keys(originalWidget.options).indexOf(configName) > -1;
586
+ },
587
+ upgradeWidgetConfig(oldWidget) {
588
+ let newWidget = null;
589
+ if (!!oldWidget.category) {
590
+ newWidget = this.getContainerByType(oldWidget.type);
591
+ } else {
592
+ newWidget = this.getFieldWidgetByType(oldWidget.type);
593
+ }
594
+ if (!newWidget || !newWidget.options) {
595
+ return;
596
+ }
597
+ Object.keys(newWidget.options).forEach((ck) => {
598
+ if (!oldWidget.hasOwnProperty(ck)) {
599
+ oldWidget.options[ck] = deepClone(newWidget.options[ck]);
600
+ }
408
601
  });
409
602
  },
410
- upgradeFormConfig(e) {
411
- Object.keys(this.formConfig).forEach((t) => {
412
- e.hasOwnProperty(t) || (e[t] = r(this.formConfig[t]));
603
+ upgradeFormConfig(oldFormConfig) {
604
+ Object.keys(this.formConfig).forEach((fc) => {
605
+ if (!oldFormConfig.hasOwnProperty(fc)) {
606
+ oldFormConfig[fc] = deepClone(this.formConfig[fc]);
607
+ }
413
608
  });
414
609
  },
415
- cloneGridCol(e, t) {
416
- const s = r(this.getContainerByType("grid-col"));
417
- s.options.span = e.options.span;
418
- const i = g();
419
- s.id = "grid-col-" + i, s.options.name = "gridCol" + i, t.cols.push(s);
420
- },
421
- cloneContainer(e) {
422
- if (e.type === "grid") {
423
- const t = r(this.getContainerByType("grid"));
424
- return t.id = t.type + g(), t.options.name = t.id, e.cols.forEach((s) => {
425
- const i = r(this.getContainerByType("grid-col")), l = g();
426
- i.id = "grid-col-" + l, i.options.name = "gridCol" + l, i.options.span = s.options.span, t.cols.push(i);
427
- }), t;
428
- } else if (e.type === "table") {
429
- const t = r(this.getContainerByType("table"));
430
- return t.id = t.type + g(), t.options.name = t.id, e.rows.forEach((s) => {
431
- const i = r(s);
432
- i.id = "table-row-" + g(), i.cols.forEach((l) => {
433
- l.id = "table-cell-" + g(), l.options.name = l.id, l.widgetList = [];
434
- }), t.rows.push(i);
435
- }), t;
436
- } else
610
+ cloneGridCol(widget, parentWidget) {
611
+ const newGridCol = deepClone(this.getContainerByType("grid-col"));
612
+ newGridCol.options.span = widget.options.span;
613
+ const tmpId = generateId();
614
+ newGridCol.id = "grid-col-" + tmpId;
615
+ newGridCol.options.name = "gridCol" + tmpId;
616
+ parentWidget.cols.push(newGridCol);
617
+ },
618
+ cloneContainer(containWidget) {
619
+ if (containWidget.type === "grid") {
620
+ const newGrid = deepClone(this.getContainerByType("grid"));
621
+ newGrid.id = newGrid.type + generateId();
622
+ newGrid.options.name = newGrid.id;
623
+ containWidget.cols.forEach((gridCol) => {
624
+ const newGridCol = deepClone(this.getContainerByType("grid-col"));
625
+ const tmpId = generateId();
626
+ newGridCol.id = "grid-col-" + tmpId;
627
+ newGridCol.options.name = "gridCol" + tmpId;
628
+ newGridCol.options.span = gridCol.options.span;
629
+ newGrid.cols.push(newGridCol);
630
+ });
631
+ return newGrid;
632
+ } else if (containWidget.type === "table") {
633
+ const newTable = deepClone(this.getContainerByType("table"));
634
+ newTable.id = newTable.type + generateId();
635
+ newTable.options.name = newTable.id;
636
+ containWidget.rows.forEach((tRow) => {
637
+ const newRow = deepClone(tRow);
638
+ newRow.id = "table-row-" + generateId();
639
+ newRow.cols.forEach((col) => {
640
+ col.id = "table-cell-" + generateId();
641
+ col.options.name = col.id;
642
+ col.widgetList = [];
643
+ });
644
+ newTable.rows.push(newRow);
645
+ });
646
+ return newTable;
647
+ } else {
437
648
  return null;
649
+ }
438
650
  },
439
- moveUpWidget(e, t) {
440
- if (e) {
441
- if (t === 0) {
651
+ moveUpWidget(parentList, indexOfParentList) {
652
+ if (!!parentList) {
653
+ if (indexOfParentList === 0) {
442
654
  this.vueInstance.$message(this.vueInstance.i18nt("designer.hint.moveUpFirstChildHint"));
443
655
  return;
444
656
  }
445
- const s = e[t];
446
- e.splice(t, 1), e.splice(t - 1, 0, s);
657
+ const tempWidget = parentList[indexOfParentList];
658
+ parentList.splice(indexOfParentList, 1);
659
+ parentList.splice(indexOfParentList - 1, 0, tempWidget);
447
660
  }
448
661
  },
449
- moveDownWidget(e, t) {
450
- if (e) {
451
- if (t === e.length - 1) {
662
+ moveDownWidget(parentList, indexOfParentList) {
663
+ if (!!parentList) {
664
+ if (indexOfParentList === parentList.length - 1) {
452
665
  this.vueInstance.$message(this.vueInstance.i18nt("designer.hint.moveDownLastChildHint"));
453
666
  return;
454
667
  }
455
- const s = e[t];
456
- e.splice(t, 1), e.splice(t + 1, 0, s);
457
- }
458
- },
459
- copyNewFieldWidget(e) {
460
- const t = r(e), s = g();
461
- return t.id = t.type.replace(/-/g, "") + s, t.options.name = t.id, t.options.label = t.options.label || t.type.toLowerCase(), delete t.displayName, t;
462
- },
463
- copyNewContainerWidget(e) {
464
- const t = r(e);
465
- if (t.id = t.type.replace(/-/g, "") + g(), t.options.name = t.id, t.type === "grid") {
466
- let s = r(this.getContainerByType("grid-col")), i = g();
467
- s.id = "grid-col-" + i, s.options.name = "gridCol" + i, t.cols.push(s), s = r(s), i = g(), s.id = "grid-col-" + i, s.options.name = "gridCol" + i, t.cols.push(s);
468
- } else if (t.type === "table") {
469
- const s = { cols: [] };
470
- s.id = "table-row-" + g(), s.merged = !1;
471
- const i = r(this.getContainerByType("table-cell"));
472
- i.id = "table-cell-" + g(), i.options.name = i.id, i.merged = !1, i.options.colspan = 1, i.options.rowspan = 1, s.cols.push(i), t.rows.push(s);
473
- } else if (t.type === "tab") {
474
- const s = r(this.getContainerByType("tab-pane"));
475
- s.id = "tab-pane-" + g(), s.options.name = "tab1", s.options.label = "tab 1", t.tabs.push(s);
476
- }
477
- return delete t.displayName, t;
478
- },
479
- addContainerByDbClick(e) {
480
- const t = this.copyNewContainerWidget(e);
481
- this.widgetList.push(t), this.setSelected(t);
482
- },
483
- addFieldByDbClick(e) {
484
- const t = this.copyNewFieldWidget(e);
485
- if (this.selectedWidget && this.selectedWidget.type === "tab") {
486
- let s = this.selectedWidget.tabs[0];
487
- this.selectedWidget.tabs.forEach((i) => {
488
- i.options.active && (s = i);
489
- }), s && s.widgetList.push(t);
490
- } else this.selectedWidget && this.selectedWidget.widgetList ? this.selectedWidget.widgetList.push(t) : this.widgetList.push(t);
491
- this.setSelected(t), this.emitHistoryChange();
492
- },
493
- deleteColOfGrid(e, t) {
494
- e && e.cols && e.cols.splice(t, 1);
495
- },
496
- addNewColOfGrid(e) {
497
- const t = e.cols, s = r(this.getContainerByType("grid-col")), i = g();
498
- if (s.id = "grid-col-" + i, s.options.name = "gridCol" + i, t && t.length > 0) {
499
- let l = 0;
500
- t.forEach((o) => {
501
- l += o.options.span;
502
- }), l >= 24 ? (console.log("列栅格之和超出24"), e.cols.push(s)) : (s.options.span = 24 - l > 12 ? 12 : 24 - l, e.cols.push(s));
503
- } else
504
- e.cols = [s];
505
- },
506
- addTabPaneOfTabs(e) {
507
- const t = e.tabs, s = r(this.getContainerByType("tab-pane"));
508
- s.id = "tab-pane-" + g(), s.options.name = s.id, s.options.label = "tab " + (t.length + 1), t.push(s);
509
- },
510
- deleteTabPaneOfTabs(e, t) {
511
- e.tabs.splice(t, 1);
512
- },
513
- emitEvent(e, t) {
514
- D.$emit(e, t);
515
- },
516
- handleEvent(e, t) {
517
- D.$on(e, (s) => t(s));
518
- },
519
- setCssClassList(e) {
520
- this.cssClassList = e;
668
+ const tempWidget = parentList[indexOfParentList];
669
+ parentList.splice(indexOfParentList, 1);
670
+ parentList.splice(indexOfParentList + 1, 0, tempWidget);
671
+ }
672
+ },
673
+ copyNewFieldWidget(origin) {
674
+ const newWidget = deepClone(origin);
675
+ const tempId = generateId();
676
+ newWidget.id = newWidget.type.replace(/-/g, "") + tempId;
677
+ newWidget.options.name = newWidget.id;
678
+ newWidget.options.label = newWidget.options.label || newWidget.type.toLowerCase();
679
+ delete newWidget.displayName;
680
+ return newWidget;
681
+ },
682
+ copyNewContainerWidget(origin) {
683
+ const newCon = deepClone(origin);
684
+ newCon.id = newCon.type.replace(/-/g, "") + generateId();
685
+ newCon.options.name = newCon.id;
686
+ if (newCon.type === "grid") {
687
+ let newCol = deepClone(this.getContainerByType("grid-col"));
688
+ let tmpId = generateId();
689
+ newCol.id = "grid-col-" + tmpId;
690
+ newCol.options.name = "gridCol" + tmpId;
691
+ newCon.cols.push(newCol);
692
+ newCol = deepClone(newCol);
693
+ tmpId = generateId();
694
+ newCol.id = "grid-col-" + tmpId;
695
+ newCol.options.name = "gridCol" + tmpId;
696
+ newCon.cols.push(newCol);
697
+ } else if (newCon.type === "table") {
698
+ const newRow = { cols: [] };
699
+ newRow.id = "table-row-" + generateId();
700
+ newRow.merged = false;
701
+ const newCell = deepClone(this.getContainerByType("table-cell"));
702
+ newCell.id = "table-cell-" + generateId();
703
+ newCell.options.name = newCell.id;
704
+ newCell.merged = false;
705
+ newCell.options.colspan = 1;
706
+ newCell.options.rowspan = 1;
707
+ newRow.cols.push(newCell);
708
+ newCon.rows.push(newRow);
709
+ } else if (newCon.type === "tab") {
710
+ const newTabPane = deepClone(this.getContainerByType("tab-pane"));
711
+ newTabPane.id = "tab-pane-" + generateId();
712
+ newTabPane.options.name = "tab1";
713
+ newTabPane.options.label = "tab 1";
714
+ newCon.tabs.push(newTabPane);
715
+ }
716
+ delete newCon.displayName;
717
+ return newCon;
718
+ },
719
+ addContainerByDbClick(container) {
720
+ const newCon = this.copyNewContainerWidget(container);
721
+ this.widgetList.push(newCon);
722
+ this.setSelected(newCon);
723
+ },
724
+ addFieldByDbClick(widget) {
725
+ const newWidget = this.copyNewFieldWidget(widget);
726
+ if (!!this.selectedWidget && this.selectedWidget.type === "tab") {
727
+ let activeTab = this.selectedWidget.tabs[0];
728
+ this.selectedWidget.tabs.forEach((tabPane) => {
729
+ if (!!tabPane.options.active) {
730
+ activeTab = tabPane;
731
+ }
732
+ });
733
+ !!activeTab && activeTab.widgetList.push(newWidget);
734
+ } else if (!!this.selectedWidget && !!this.selectedWidget.widgetList) {
735
+ this.selectedWidget.widgetList.push(newWidget);
736
+ } else {
737
+ this.widgetList.push(newWidget);
738
+ }
739
+ this.setSelected(newWidget);
740
+ this.emitHistoryChange();
741
+ },
742
+ deleteColOfGrid(gridWidget, colIdx) {
743
+ if (!!gridWidget && !!gridWidget.cols) {
744
+ gridWidget.cols.splice(colIdx, 1);
745
+ }
746
+ },
747
+ addNewColOfGrid(gridWidget) {
748
+ const cols = gridWidget.cols;
749
+ const newGridCol = deepClone(this.getContainerByType("grid-col"));
750
+ const tmpId = generateId();
751
+ newGridCol.id = "grid-col-" + tmpId;
752
+ newGridCol.options.name = "gridCol" + tmpId;
753
+ if (!!cols && cols.length > 0) {
754
+ let spanSum = 0;
755
+ cols.forEach((col) => {
756
+ spanSum += col.options.span;
757
+ });
758
+ if (spanSum >= 24) {
759
+ console.log("列栅格之和超出24");
760
+ gridWidget.cols.push(newGridCol);
761
+ } else {
762
+ newGridCol.options.span = 24 - spanSum > 12 ? 12 : 24 - spanSum;
763
+ gridWidget.cols.push(newGridCol);
764
+ }
765
+ } else {
766
+ gridWidget.cols = [newGridCol];
767
+ }
768
+ },
769
+ addTabPaneOfTabs(tabsWidget) {
770
+ const tabPanes = tabsWidget.tabs;
771
+ const newTabPane = deepClone(this.getContainerByType("tab-pane"));
772
+ newTabPane.id = "tab-pane-" + generateId();
773
+ newTabPane.options.name = newTabPane.id;
774
+ newTabPane.options.label = "tab " + (tabPanes.length + 1);
775
+ tabPanes.push(newTabPane);
776
+ },
777
+ deleteTabPaneOfTabs(tabsWidget, tpIdx) {
778
+ tabsWidget.tabs.splice(tpIdx, 1);
779
+ },
780
+ emitEvent(evtName, evtData) {
781
+ eventBus.$emit(evtName, evtData);
782
+ },
783
+ handleEvent(evtName, callback) {
784
+ eventBus.$on(evtName, (data) => callback(data));
785
+ },
786
+ setCssClassList(cssClassList) {
787
+ this.cssClassList = cssClassList;
521
788
  },
522
789
  getCssClassList() {
523
790
  return this.cssClassList;
524
791
  },
525
- registerFormWidget(e) {
526
- this.formWidget = e;
792
+ registerFormWidget(formWidget) {
793
+ this.formWidget = formWidget;
527
794
  },
528
795
  initHistoryData() {
529
- this.loadFormContentFromStorage(), this.historyData.index++, this.historyData.steps[this.historyData.index] = {
530
- widgetList: r(this.widgetList),
531
- formConfig: r(this.formConfig)
796
+ this.loadFormContentFromStorage();
797
+ this.historyData.index++;
798
+ this.historyData.steps[this.historyData.index] = {
799
+ widgetList: deepClone(this.widgetList),
800
+ formConfig: deepClone(this.formConfig)
532
801
  };
533
802
  },
534
803
  emitHistoryChange() {
535
- this.historyData.index === this.historyData.maxStep - 1 ? this.historyData.steps.shift() : this.historyData.index++, this.historyData.steps[this.historyData.index] = {
536
- widgetList: r(this.widgetList),
537
- formConfig: r(this.formConfig)
538
- }, this.saveFormContentToStorage(), this.historyData.index < this.historyData.steps.length - 1 && (this.historyData.steps = this.historyData.steps.slice(0, this.historyData.index + 1));
804
+ if (this.historyData.index === this.historyData.maxStep - 1) {
805
+ this.historyData.steps.shift();
806
+ } else {
807
+ this.historyData.index++;
808
+ }
809
+ this.historyData.steps[this.historyData.index] = {
810
+ widgetList: deepClone(this.widgetList),
811
+ formConfig: deepClone(this.formConfig)
812
+ };
813
+ this.saveFormContentToStorage();
814
+ if (this.historyData.index < this.historyData.steps.length - 1) {
815
+ this.historyData.steps = this.historyData.steps.slice(0, this.historyData.index + 1);
816
+ }
539
817
  },
540
818
  saveCurrentHistoryStep() {
541
- this.historyData.steps[this.historyData.index] = r({
819
+ this.historyData.steps[this.historyData.index] = deepClone({
542
820
  widgetList: this.widgetList,
543
821
  formConfig: this.formConfig
544
- }), this.saveFormContentToStorage();
822
+ });
823
+ this.saveFormContentToStorage();
545
824
  },
546
825
  undoHistoryStep() {
547
- this.historyData.index !== 0 && this.historyData.index--, this.widgetList = r(this.historyData.steps[this.historyData.index].widgetList), this.formConfig = r(this.historyData.steps[this.historyData.index].formConfig);
826
+ if (this.historyData.index !== 0) {
827
+ this.historyData.index--;
828
+ }
829
+ this.widgetList = deepClone(this.historyData.steps[this.historyData.index].widgetList);
830
+ this.formConfig = deepClone(this.historyData.steps[this.historyData.index].formConfig);
548
831
  },
549
832
  redoHistoryStep() {
550
- this.historyData.index !== this.historyData.steps.length - 1 && this.historyData.index++, this.widgetList = r(this.historyData.steps[this.historyData.index].widgetList), this.formConfig = r(this.historyData.steps[this.historyData.index].formConfig);
833
+ if (this.historyData.index !== this.historyData.steps.length - 1) {
834
+ this.historyData.index++;
835
+ }
836
+ this.widgetList = deepClone(this.historyData.steps[this.historyData.index].widgetList);
837
+ this.formConfig = deepClone(this.historyData.steps[this.historyData.index].formConfig);
551
838
  },
552
839
  undoEnabled() {
553
840
  return this.historyData.index > 0 && this.historyData.steps.length > 0;
@@ -556,12 +843,13 @@ function S(T) {
556
843
  return this.historyData.index < this.historyData.steps.length - 1;
557
844
  },
558
845
  saveFormContentToStorage() {
559
- window.localStorage.setItem("widget__list__backup", JSON.stringify(this.widgetList)), window.localStorage.setItem("form__config__backup", JSON.stringify(this.formConfig));
846
+ window.localStorage.setItem("widget__list__backup", JSON.stringify(this.widgetList));
847
+ window.localStorage.setItem("form__config__backup", JSON.stringify(this.formConfig));
560
848
  },
561
849
  loadFormContentFromStorage() {
562
850
  }
563
851
  };
564
852
  }
565
853
  export {
566
- S as createDesigner
854
+ createDesigner
567
855
  };