custom-variant-form 2.2.9

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 (310) hide show
  1. package/README.md +202 -0
  2. package/babel.config.js +5 -0
  3. package/index_template/index_dev.html +19 -0
  4. package/index_template/index_prod.html +28 -0
  5. package/install-render.js +29 -0
  6. package/install.js +41 -0
  7. package/jsconfig.json +10 -0
  8. package/license.txt +8 -0
  9. package/package.json +56 -0
  10. package/public/favicon.ico +0 -0
  11. package/public/index.html +19 -0
  12. package/src/App.vue +45 -0
  13. package/src/assets/ft-images/t1.png +0 -0
  14. package/src/assets/ft-images/t2.png +0 -0
  15. package/src/assets/ft-images/t3.png +0 -0
  16. package/src/assets/ft-images/t4.png +0 -0
  17. package/src/assets/ft-images/t5.png +0 -0
  18. package/src/assets/ft-images/t6.png +0 -0
  19. package/src/assets/ft-images/t7.png +0 -0
  20. package/src/assets/ft-images/t8.png +0 -0
  21. package/src/assets/vform-logo.png +0 -0
  22. package/src/components/code-editor/index.vue +134 -0
  23. package/src/components/form-designer/designer.js +962 -0
  24. package/src/components/form-designer/form-widget/container-widget/container-wrapper.vue +107 -0
  25. package/src/components/form-designer/form-widget/container-widget/containerMixin.js +93 -0
  26. package/src/components/form-designer/form-widget/container-widget/grid-col-widget.vue +314 -0
  27. package/src/components/form-designer/form-widget/container-widget/grid-widget.vue +93 -0
  28. package/src/components/form-designer/form-widget/container-widget/index.js +24 -0
  29. package/src/components/form-designer/form-widget/container-widget/tab-widget.vue +123 -0
  30. package/src/components/form-designer/form-widget/container-widget/table-cell-widget.vue +347 -0
  31. package/src/components/form-designer/form-widget/container-widget/table-widget.vue +116 -0
  32. package/src/components/form-designer/form-widget/field-widget/button-widget.vue +87 -0
  33. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue +120 -0
  34. package/src/components/form-designer/form-widget/field-widget/checkbox-widget.vue +105 -0
  35. package/src/components/form-designer/form-widget/field-widget/color-widget.vue +99 -0
  36. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue +104 -0
  37. package/src/components/form-designer/form-widget/field-widget/date-widget.vue +103 -0
  38. package/src/components/form-designer/form-widget/field-widget/divider-widget.vue +83 -0
  39. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js +613 -0
  40. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue +313 -0
  41. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue +331 -0
  42. package/src/components/form-designer/form-widget/field-widget/html-text-widget.vue +82 -0
  43. package/src/components/form-designer/form-widget/field-widget/index.js +10 -0
  44. package/src/components/form-designer/form-widget/field-widget/input-widget.vue +112 -0
  45. package/src/components/form-designer/form-widget/field-widget/number-widget.vue +103 -0
  46. package/src/components/form-designer/form-widget/field-widget/picture-upload-widget.vue +280 -0
  47. package/src/components/form-designer/form-widget/field-widget/radio-widget.vue +105 -0
  48. package/src/components/form-designer/form-widget/field-widget/rate-widget.vue +102 -0
  49. package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue +123 -0
  50. package/src/components/form-designer/form-widget/field-widget/select-widget.vue +123 -0
  51. package/src/components/form-designer/form-widget/field-widget/slider-widget.vue +100 -0
  52. package/src/components/form-designer/form-widget/field-widget/slot-widget.vue +102 -0
  53. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue +196 -0
  54. package/src/components/form-designer/form-widget/field-widget/static-text-widget.vue +83 -0
  55. package/src/components/form-designer/form-widget/field-widget/switch-widget.vue +101 -0
  56. package/src/components/form-designer/form-widget/field-widget/textarea-widget.vue +99 -0
  57. package/src/components/form-designer/form-widget/field-widget/time-range-widget.vue +104 -0
  58. package/src/components/form-designer/form-widget/field-widget/time-widget.vue +103 -0
  59. package/src/components/form-designer/form-widget/index.vue +272 -0
  60. package/src/components/form-designer/index.vue +500 -0
  61. package/src/components/form-designer/refMixinDesign.js +28 -0
  62. package/src/components/form-designer/setting-panel/form-setting.vue +354 -0
  63. package/src/components/form-designer/setting-panel/index.vue +367 -0
  64. package/src/components/form-designer/setting-panel/option-items-setting.vue +234 -0
  65. package/src/components/form-designer/setting-panel/property-editor/allowCreate-editor.vue +24 -0
  66. package/src/components/form-designer/setting-panel/property-editor/appendButton-editor.vue +28 -0
  67. package/src/components/form-designer/setting-panel/property-editor/appendButtonDisabled-editor.vue +23 -0
  68. package/src/components/form-designer/setting-panel/property-editor/automaticDropdown-editor.vue +23 -0
  69. package/src/components/form-designer/setting-panel/property-editor/border-editor.vue +23 -0
  70. package/src/components/form-designer/setting-panel/property-editor/buttonIcon-editor.vue +23 -0
  71. package/src/components/form-designer/setting-panel/property-editor/buttonStyle-editor.vue +23 -0
  72. package/src/components/form-designer/setting-panel/property-editor/clearable-editor.vue +23 -0
  73. package/src/components/form-designer/setting-panel/property-editor/columnWidth-editor.vue +26 -0
  74. package/src/components/form-designer/setting-panel/property-editor/container-grid/colHeight-editor.vue +28 -0
  75. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +81 -0
  76. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +24 -0
  77. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +24 -0
  78. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +24 -0
  79. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-responsive-editor.vue +23 -0
  80. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue +48 -0
  81. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/showBlankRow-editor.vue +23 -0
  82. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/showRowNumber-editor.vue +23 -0
  83. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/sub-form-labelAlign-editor.vue +36 -0
  84. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue +119 -0
  85. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue +23 -0
  86. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue +23 -0
  87. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/wordBreak-editor.vue +23 -0
  88. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue +40 -0
  89. package/src/components/form-designer/setting-panel/property-editor/defaultValue-editor.vue +25 -0
  90. package/src/components/form-designer/setting-panel/property-editor/disabled-editor.vue +23 -0
  91. package/src/components/form-designer/setting-panel/property-editor/displayStyle-editor.vue +26 -0
  92. package/src/components/form-designer/setting-panel/property-editor/editable-editor.vue +24 -0
  93. package/src/components/form-designer/setting-panel/property-editor/endPlaceholder-editor.vue +23 -0
  94. package/src/components/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +12 -0
  95. package/src/components/form-designer/setting-panel/property-editor/event-handler/onAppendButtonClick-editor.vue +30 -0
  96. package/src/components/form-designer/setting-panel/property-editor/event-handler/onBeforeUpload-editor.vue +30 -0
  97. package/src/components/form-designer/setting-panel/property-editor/event-handler/onBlur-editor.vue +30 -0
  98. package/src/components/form-designer/setting-panel/property-editor/event-handler/onChange-editor.vue +30 -0
  99. package/src/components/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +30 -0
  100. package/src/components/form-designer/setting-panel/property-editor/event-handler/onCreated-editor.vue +31 -0
  101. package/src/components/form-designer/setting-panel/property-editor/event-handler/onFileRemove.vue +30 -0
  102. package/src/components/form-designer/setting-panel/property-editor/event-handler/onFocus-editor.vue +30 -0
  103. package/src/components/form-designer/setting-panel/property-editor/event-handler/onInput-editor.vue +30 -0
  104. package/src/components/form-designer/setting-panel/property-editor/event-handler/onMounted-editor.vue +30 -0
  105. package/src/components/form-designer/setting-panel/property-editor/event-handler/onRemoteQuery-editor.vue +30 -0
  106. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowAdd-editor.vue +30 -0
  107. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowChange-editor.vue +30 -0
  108. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowDelete-editor.vue +30 -0
  109. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowInsert-editor.vue +30 -0
  110. package/src/components/form-designer/setting-panel/property-editor/event-handler/onUploadError-editor.vue +30 -0
  111. package/src/components/form-designer/setting-panel/property-editor/event-handler/onUploadSuccess-editor.vue +30 -0
  112. package/src/components/form-designer/setting-panel/property-editor/event-handler/onValidate-editor.vue +30 -0
  113. package/src/components/form-designer/setting-panel/property-editor/field-button/button-type-editor.vue +32 -0
  114. package/src/components/form-designer/setting-panel/property-editor/field-button/circle-editor.vue +23 -0
  115. package/src/components/form-designer/setting-panel/property-editor/field-button/icon-editor.vue +23 -0
  116. package/src/components/form-designer/setting-panel/property-editor/field-button/plain-editor.vue +24 -0
  117. package/src/components/form-designer/setting-panel/property-editor/field-button/round-editor.vue +23 -0
  118. package/src/components/form-designer/setting-panel/property-editor/field-cascader/cascader-defaultValue-editor.vue +18 -0
  119. package/src/components/form-designer/setting-panel/property-editor/field-cascader/cascader-multiple-editor.vue +24 -0
  120. package/src/components/form-designer/setting-panel/property-editor/field-cascader/checkStrictly-editor.vue +23 -0
  121. package/src/components/form-designer/setting-panel/property-editor/field-cascader/showAllLevels-editor.vue +23 -0
  122. package/src/components/form-designer/setting-panel/property-editor/field-checkbox/checkbox-defaultValue-editor.vue +18 -0
  123. package/src/components/form-designer/setting-panel/property-editor/field-color/color-defaultValue-editor.vue +25 -0
  124. package/src/components/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +26 -0
  125. package/src/components/form-designer/setting-panel/property-editor/field-date/date-format-editor.vue +30 -0
  126. package/src/components/form-designer/setting-panel/property-editor/field-date/date-type-editor.vue +30 -0
  127. package/src/components/form-designer/setting-panel/property-editor/field-date/date-valueFormat-editor.vue +26 -0
  128. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +26 -0
  129. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-format-editor.vue +30 -0
  130. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-type-editor.vue +27 -0
  131. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-valueFormat-editor.vue +26 -0
  132. package/src/components/form-designer/setting-panel/property-editor/field-divider/contentPosition-editor.vue +27 -0
  133. package/src/components/form-designer/setting-panel/property-editor/field-file-upload/file-upload-fileTypes-editor.vue +44 -0
  134. package/src/components/form-designer/setting-panel/property-editor/field-html-text/htmlContent-editor.vue +29 -0
  135. package/src/components/form-designer/setting-panel/property-editor/field-number/controlsPosition-editor.vue +27 -0
  136. package/src/components/form-designer/setting-panel/property-editor/field-picture-upload/picture-upload-fileTypes-editor.vue +44 -0
  137. package/src/components/form-designer/setting-panel/property-editor/field-radio/radio-defaultValue-editor.vue +18 -0
  138. package/src/components/form-designer/setting-panel/property-editor/field-rate/allowHalf-editor.vue +23 -0
  139. package/src/components/form-designer/setting-panel/property-editor/field-rate/highThreshold-editor.vue +24 -0
  140. package/src/components/form-designer/setting-panel/property-editor/field-rate/lowThreshold-editor.vue +24 -0
  141. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +26 -0
  142. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-max-editor.vue +25 -0
  143. package/src/components/form-designer/setting-panel/property-editor/field-rate/showScore-editor.vue +23 -0
  144. package/src/components/form-designer/setting-panel/property-editor/field-rate/showText-editor.vue +23 -0
  145. package/src/components/form-designer/setting-panel/property-editor/field-select/select-defaultValue-editor.vue +18 -0
  146. package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue +23 -0
  147. package/src/components/form-designer/setting-panel/property-editor/field-slider/showStops-editor.vue +23 -0
  148. package/src/components/form-designer/setting-panel/property-editor/field-slider/vertical-editor.vue +23 -0
  149. package/src/components/form-designer/setting-panel/property-editor/field-static-text/fontSize-editor.vue +23 -0
  150. package/src/components/form-designer/setting-panel/property-editor/field-static-text/preWrap-editor.vue +23 -0
  151. package/src/components/form-designer/setting-panel/property-editor/field-static-text/textContent-editor.vue +23 -0
  152. package/src/components/form-designer/setting-panel/property-editor/field-switch/activeColor-editor.vue +23 -0
  153. package/src/components/form-designer/setting-panel/property-editor/field-switch/activeText-editor.vue +23 -0
  154. package/src/components/form-designer/setting-panel/property-editor/field-switch/inactiveColor-editor.vue +23 -0
  155. package/src/components/form-designer/setting-panel/property-editor/field-switch/inactiveText-editor.vue +23 -0
  156. package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue +25 -0
  157. package/src/components/form-designer/setting-panel/property-editor/field-switch/switchWidth-editor.vue +23 -0
  158. package/src/components/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +26 -0
  159. package/src/components/form-designer/setting-panel/property-editor/field-time/time-format-editor.vue +27 -0
  160. package/src/components/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +26 -0
  161. package/src/components/form-designer/setting-panel/property-editor/field-time-range/time-range-format-editor.vue +27 -0
  162. package/src/components/form-designer/setting-panel/property-editor/fileMaxSize-editor.vue +23 -0
  163. package/src/components/form-designer/setting-panel/property-editor/filterable-editor.vue +23 -0
  164. package/src/components/form-designer/setting-panel/property-editor/hidden-editor.vue +23 -0
  165. package/src/components/form-designer/setting-panel/property-editor/index.js +10 -0
  166. package/src/components/form-designer/setting-panel/property-editor/label-editor.vue +30 -0
  167. package/src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue +42 -0
  168. package/src/components/form-designer/setting-panel/property-editor/labelHidden-editor.vue +23 -0
  169. package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue +28 -0
  170. package/src/components/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue +37 -0
  171. package/src/components/form-designer/setting-panel/property-editor/labelTooltip-editor.vue +23 -0
  172. package/src/components/form-designer/setting-panel/property-editor/labelWidth-editor.vue +25 -0
  173. package/src/components/form-designer/setting-panel/property-editor/limit-editor.vue +24 -0
  174. package/src/components/form-designer/setting-panel/property-editor/max-editor.vue +39 -0
  175. package/src/components/form-designer/setting-panel/property-editor/maxLength-editor.vue +40 -0
  176. package/src/components/form-designer/setting-panel/property-editor/min-editor.vue +40 -0
  177. package/src/components/form-designer/setting-panel/property-editor/minLength-editor.vue +41 -0
  178. package/src/components/form-designer/setting-panel/property-editor/multiple-editor.vue +24 -0
  179. package/src/components/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +24 -0
  180. package/src/components/form-designer/setting-panel/property-editor/multipleSelect-editor.vue +24 -0
  181. package/src/components/form-designer/setting-panel/property-editor/name-editor.vue +89 -0
  182. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue +28 -0
  183. package/src/components/form-designer/setting-panel/property-editor/placeholder-editor.vue +24 -0
  184. package/src/components/form-designer/setting-panel/property-editor/precision-editor.vue +23 -0
  185. package/src/components/form-designer/setting-panel/property-editor/prefixIcon-editor.vue +23 -0
  186. package/src/components/form-designer/setting-panel/property-editor/propertyMixin.js +55 -0
  187. package/src/components/form-designer/setting-panel/property-editor/readonly-editor.vue +23 -0
  188. package/src/components/form-designer/setting-panel/property-editor/remote-editor.vue +25 -0
  189. package/src/components/form-designer/setting-panel/property-editor/required-editor.vue +23 -0
  190. package/src/components/form-designer/setting-panel/property-editor/requiredHint-editor.vue +24 -0
  191. package/src/components/form-designer/setting-panel/property-editor/rows-editor.vue +24 -0
  192. package/src/components/form-designer/setting-panel/property-editor/showFileList-editor.vue +23 -0
  193. package/src/components/form-designer/setting-panel/property-editor/showPassword-editor.vue +24 -0
  194. package/src/components/form-designer/setting-panel/property-editor/showWordLimit-editor.vue +23 -0
  195. package/src/components/form-designer/setting-panel/property-editor/size-editor.vue +38 -0
  196. package/src/components/form-designer/setting-panel/property-editor/startPlaceholder-editor.vue +23 -0
  197. package/src/components/form-designer/setting-panel/property-editor/step-editor.vue +23 -0
  198. package/src/components/form-designer/setting-panel/property-editor/suffixIcon-editor.vue +23 -0
  199. package/src/components/form-designer/setting-panel/property-editor/textAlign-editor.vue +35 -0
  200. package/src/components/form-designer/setting-panel/property-editor/type-editor.vue +33 -0
  201. package/src/components/form-designer/setting-panel/property-editor/uploadTip-editor.vue +24 -0
  202. package/src/components/form-designer/setting-panel/property-editor/uploadURL-editor.vue +28 -0
  203. package/src/components/form-designer/setting-panel/property-editor/validation-editor.vue +48 -0
  204. package/src/components/form-designer/setting-panel/property-editor/validationHint-editor.vue +23 -0
  205. package/src/components/form-designer/setting-panel/property-editor/withCredentials-editor.vue +23 -0
  206. package/src/components/form-designer/setting-panel/property-editor-factory.js +173 -0
  207. package/src/components/form-designer/setting-panel/propertyRegister.js +215 -0
  208. package/src/components/form-designer/toolbar-panel/index.vue +886 -0
  209. package/src/components/form-designer/widget-panel/index.vue +394 -0
  210. package/src/components/form-designer/widget-panel/templatesConfig.js +58 -0
  211. package/src/components/form-designer/widget-panel/widgetsConfig.js +934 -0
  212. package/src/components/form-render/container-item/container-item-wrapper.vue +37 -0
  213. package/src/components/form-render/container-item/containerItemMixin.js +221 -0
  214. package/src/components/form-render/container-item/grid-col-item.vue +126 -0
  215. package/src/components/form-render/container-item/grid-item.vue +59 -0
  216. package/src/components/form-render/container-item/index.js +24 -0
  217. package/src/components/form-render/container-item/sub-form-item.vue +417 -0
  218. package/src/components/form-render/container-item/tab-item.vue +99 -0
  219. package/src/components/form-render/container-item/table-cell-item.vue +72 -0
  220. package/src/components/form-render/container-item/table-item.vue +70 -0
  221. package/src/components/form-render/index.vue +721 -0
  222. package/src/components/form-render/refMixin.js +30 -0
  223. package/src/components/svg-icon/index.vue +49 -0
  224. package/src/components/v-table/index.vue +106 -0
  225. package/src/extension/components/tag/index.js +9 -0
  226. package/src/extension/components/tag/tag-item.vue +49 -0
  227. package/src/extension/components/tag/tag-schema.js +33 -0
  228. package/src/extension/components/tag/tag-widget.vue +53 -0
  229. package/src/extension/extension-helper.js +23 -0
  230. package/src/extension/extension-loader.js +174 -0
  231. package/src/extension/samples/alert/alert-widget.vue +72 -0
  232. package/src/extension/samples/card/card-item.vue +100 -0
  233. package/src/extension/samples/card/card-widget.vue +132 -0
  234. package/src/extension/samples/extension-schema.js +36 -0
  235. package/src/extension/samples/extension-sfc-generator.js +50 -0
  236. package/src/iconfont/iconfont.css +29 -0
  237. package/src/iconfont/iconfont.eot +0 -0
  238. package/src/iconfont/iconfont.js +1 -0
  239. package/src/iconfont/iconfont.json +37 -0
  240. package/src/iconfont/iconfont.svg +35 -0
  241. package/src/iconfont/iconfont.ttf +0 -0
  242. package/src/iconfont/iconfont.woff +0 -0
  243. package/src/iconfont/iconfont.woff2 +0 -0
  244. package/src/icons/index.js +3 -0
  245. package/src/icons/svg/alert.svg +1 -0
  246. package/src/icons/svg/button.svg +1 -0
  247. package/src/icons/svg/card.svg +1 -0
  248. package/src/icons/svg/cascader-field.svg +1 -0
  249. package/src/icons/svg/checkbox-field.svg +1 -0
  250. package/src/icons/svg/color-field.svg +1 -0
  251. package/src/icons/svg/custom-component.svg +1 -0
  252. package/src/icons/svg/data-table.svg +1 -0
  253. package/src/icons/svg/date-field.svg +1 -0
  254. package/src/icons/svg/date-range-field.svg +1 -0
  255. package/src/icons/svg/divider.svg +1 -0
  256. package/src/icons/svg/document.svg +1 -0
  257. package/src/icons/svg/drag.svg +1 -0
  258. package/src/icons/svg/file-upload-field.svg +1 -0
  259. package/src/icons/svg/github.svg +1 -0
  260. package/src/icons/svg/grid.svg +1 -0
  261. package/src/icons/svg/html-text.svg +1 -0
  262. package/src/icons/svg/node-tree.svg +1 -0
  263. package/src/icons/svg/number-field.svg +1 -0
  264. package/src/icons/svg/picture-upload-field.svg +1 -0
  265. package/src/icons/svg/radio-field.svg +1 -0
  266. package/src/icons/svg/rate-field.svg +1 -0
  267. package/src/icons/svg/redo.svg +1 -0
  268. package/src/icons/svg/rich-editor-field.svg +1 -0
  269. package/src/icons/svg/section.svg +1 -0
  270. package/src/icons/svg/select-field.svg +1 -0
  271. package/src/icons/svg/slider-field.svg +1 -0
  272. package/src/icons/svg/slot-component.svg +1 -0
  273. package/src/icons/svg/slot-field.svg +1 -0
  274. package/src/icons/svg/static-text.svg +1 -0
  275. package/src/icons/svg/sub-form.svg +1 -0
  276. package/src/icons/svg/switch-field.svg +1 -0
  277. package/src/icons/svg/tab.svg +1 -0
  278. package/src/icons/svg/table.svg +1 -0
  279. package/src/icons/svg/tag-field.svg +4 -0
  280. package/src/icons/svg/text-field.svg +1 -0
  281. package/src/icons/svg/textarea-field.svg +1 -0
  282. package/src/icons/svg/time-field.svg +1 -0
  283. package/src/icons/svg/time-range-field.svg +1 -0
  284. package/src/icons/svg/undo.svg +1 -0
  285. package/src/icons/svg/vue-sfc.svg +1 -0
  286. package/src/lang/en-US.js +354 -0
  287. package/src/lang/en-US_extension.js +35 -0
  288. package/src/lang/en-US_render.js +38 -0
  289. package/src/lang/zh-CN.js +354 -0
  290. package/src/lang/zh-CN_extension.js +35 -0
  291. package/src/lang/zh-CN_render.js +38 -0
  292. package/src/main.js +29 -0
  293. package/src/styles/global.scss +108 -0
  294. package/src/styles/index.scss +15 -0
  295. package/src/utils/beautifierLoader.js +77 -0
  296. package/src/utils/code-generator.js +91 -0
  297. package/src/utils/config.js +9 -0
  298. package/src/utils/debug-console.js +7 -0
  299. package/src/utils/directive.js +74 -0
  300. package/src/utils/emitter.js +34 -0
  301. package/src/utils/format.js +214 -0
  302. package/src/utils/i18n.js +95 -0
  303. package/src/utils/sfc-generator.js +583 -0
  304. package/src/utils/smart-vue-i18n/index.js +56 -0
  305. package/src/utils/smart-vue-i18n/utils.js +47 -0
  306. package/src/utils/util.js +376 -0
  307. package/src/utils/validators.js +127 -0
  308. package/src/utils/vue2js-generator.js +144 -0
  309. package/src/utils/vue3js-generator.js +70 -0
  310. package/vue.config.js +93 -0
@@ -0,0 +1,30 @@
1
+ export default {
2
+ methods: {
3
+ initRefList() {
4
+ if ((this.refList !== null) && !!this.widget.options.name) {
5
+ this.refList[this.widget.options.name] = this
6
+ }
7
+ },
8
+
9
+ getWidgetRef(widgetName, showError = false) {
10
+ let foundRef = this.refList[widgetName]
11
+ if (!foundRef && !!showError) {
12
+ this.$message.error(this.i18nt('render.hint.refNotFound') + widgetName)
13
+ }
14
+ return foundRef
15
+ },
16
+
17
+ getFormRef() { /* 获取VFrom引用,必须在VForm组件created之后方可调用 */
18
+ return this.refList['v_form_ref']
19
+ },
20
+
21
+ getComponentByContainer(con) {
22
+ if (con.type === 'grid') { //grid-item跟VueGridLayout全局注册组件重名,故特殊处理!!
23
+ return 'vf-grid-item'
24
+ }
25
+
26
+ return con.type + '-item'
27
+ },
28
+
29
+ }
30
+ }
@@ -0,0 +1,49 @@
1
+ <template>
2
+ <svg :class="svgClass" aria-hidden="true">
3
+ <use :xlink:href="iconName"></use>
4
+ <title v-if="!!title">{{title}}</title>
5
+ </svg>
6
+ </template>
7
+
8
+ <script>
9
+ export default {
10
+ name: 'SvgIcon',
11
+ props: {
12
+ iconClass: {
13
+ type: String,
14
+ required: true
15
+ },
16
+ className: {
17
+ type: String
18
+ },
19
+ title: {
20
+ type: String,
21
+ default: ''
22
+ }
23
+ },
24
+ computed: {
25
+ iconName() {
26
+ return `#icon-${this.iconClass}`
27
+ },
28
+ svgClass() {
29
+ if (this.className) {
30
+ return 'svg-icon ' + this.className
31
+ } else {
32
+ return 'svg-icon'
33
+ }
34
+ }
35
+ }
36
+ }
37
+ </script>
38
+
39
+ <style lang="scss" scoped>
40
+ .svg-icon {
41
+ width: 1.1em;
42
+ height: 1.1em;
43
+ margin-left: 0.35em;
44
+ margin-right: 0.35em;
45
+ vertical-align: -0.15em;
46
+ fill: currentColor;
47
+ overflow: hidden;
48
+ }
49
+ </style>
@@ -0,0 +1,106 @@
1
+ <template>
2
+ <el-container id="commonTable">
3
+ <el-main>
4
+ <el-table :data="data" :height="height" :max-height="maxHeight" border stripe tooltip-effect="light"
5
+ @selection-change="handleSelectionChange" :size="tableSize" :style="{width: tableWidth}">
6
+ <el-table-column v-if="showCheckBox" type="selection" width="45"></el-table-column>
7
+ <template v-for="(item, index) in columns">
8
+ <el-table-column
9
+ v-if="item.show !== false"
10
+ :key="index"
11
+ :fixed="item.fixed"
12
+ :prop="item.prop"
13
+ :label="item.label"
14
+ :align="item.align ? item.align:'center'"
15
+ :width="item.width"
16
+ :show-overflow-tooltip="true"
17
+ :formatter="item.formatter ? item.formatter : formatterValue">
18
+ </el-table-column>
19
+ </template>
20
+ <slot name="table_operation"/>
21
+ </el-table>
22
+ </el-main>
23
+
24
+ <el-footer id="simpleTableFooter" v-if="showPager" style="height: 42px;padding-top: 6px; background: white">
25
+ <el-pagination
26
+ @size-change="handleSizeChange"
27
+ @current-change="handleCurrentChange"
28
+ style="text-align: right;margin:0;"
29
+ :current-page="pagination.pageNo"
30
+ :page-size="pagination.limit"
31
+ :page-sizes="pagination.sizes"
32
+ :total="pagination.total"
33
+ layout="total, sizes, prev, pager, next, jumper">
34
+ </el-pagination>
35
+ </el-footer>
36
+ </el-container>
37
+ </template>
38
+
39
+ <script>
40
+ export default {
41
+ name: 'VTable',
42
+ props: {
43
+ tableWidth: [String, Number],
44
+ columns: Array,
45
+ data: Array,
46
+ showPager: {
47
+ type: Boolean,
48
+ default: true
49
+ },
50
+ showCheckBox: {
51
+ type: Boolean,
52
+ default: false
53
+ },
54
+ pagination: Object,
55
+ height: {
56
+ type: String,
57
+ default: "100%"
58
+ },
59
+ maxHeight: {
60
+ type: Number,
61
+ default: 2000
62
+ },
63
+ tableSize: {
64
+ type: String,
65
+ default: 'medium'
66
+ },
67
+ },
68
+ methods: {
69
+ handleSelectionChange(val) {
70
+ this.$emit('handleSelectionChange', val);
71
+ },
72
+ handleSizeChange(val) {
73
+ this.$emit('handleSizeChange', val);
74
+ },
75
+ handleCurrentChange(val) {
76
+ this.$emit('handleCurrentChange', val);
77
+ },
78
+ formatterValue(row, column, cellValue) {
79
+ return cellValue;
80
+ }
81
+ }
82
+ }
83
+ </script>
84
+
85
+ <style lang="scss" scoped>
86
+
87
+ .el-table {
88
+ // 解决table组件内容滚动时页面滚动条同步滚动
89
+ overflow: auto;
90
+ // 必须设置
91
+ position: relative;
92
+
93
+ ::v-deep .el-table__fixed-header-wrapper thead th > .cell {
94
+ white-space: nowrap !important; /* 禁止表头换行 */
95
+ }
96
+
97
+ ::v-deep .el-table__header-wrapper thead th > .cell {
98
+ white-space: nowrap !important; /* 禁止表头换行 */
99
+ }
100
+
101
+ ::v-deep .el-table__body-wrapper {
102
+ //height: 100% !important;
103
+ }
104
+ }
105
+
106
+ </style>
@@ -0,0 +1,9 @@
1
+ import { tagSchema } from './tag-schema'
2
+ import TagWidget from './tag-widget.vue'
3
+ import TagItem from './tag-item.vue'
4
+
5
+ export {
6
+ tagSchema,
7
+ TagWidget,
8
+ TagItem
9
+ }
@@ -0,0 +1,49 @@
1
+ <template>
2
+ <div class="tag-item">
3
+ <el-tag
4
+ :type="field.options.type"
5
+ :size="field.options.size"
6
+ :closable="field.options.closable"
7
+ :disable-transitions="field.options.disableTransitions"
8
+ :hit="field.options.hit"
9
+ :effect="field.options.effect"
10
+ @close="handleClose"
11
+ >
12
+ {{ field.options.content || 'Tag' }}
13
+ </el-tag>
14
+ </div>
15
+ </template>
16
+
17
+ <script>
18
+ import i18n from "@/utils/i18n"
19
+
20
+ export default {
21
+ name: "tag-item",
22
+ mixins: [i18n],
23
+ props: {
24
+ field: Object,
25
+ formData: Object,
26
+ value: [String, Number, Boolean, Array, Object],
27
+ disabled: Boolean,
28
+ rules: Array
29
+ },
30
+ methods: {
31
+ handleClose() {
32
+ if (this.field.options.onClose) {
33
+ try {
34
+ let func = new Function('$event', '$field', '$value', this.field.options.onClose)
35
+ func.call(this, 'close', this.field, this.value)
36
+ } catch (e) {
37
+ console.error('Error executing onClose event:', e)
38
+ }
39
+ }
40
+ }
41
+ }
42
+ }
43
+ </script>
44
+
45
+ <style lang="scss" scoped>
46
+ .tag-item {
47
+ display: inline-block;
48
+ }
49
+ </style>
@@ -0,0 +1,33 @@
1
+ export const tagSchema = {
2
+ type: 'tag',
3
+ icon: 'tag-field',
4
+ formItemFlag: true,
5
+ options: {
6
+ name: '',
7
+ label: 'Tag',
8
+ labelAlign: '',
9
+ content: 'Tag',
10
+ type: '',
11
+ size: '',
12
+ closable: false,
13
+ disableTransitions: false,
14
+ hit: false,
15
+ effect: 'plain',
16
+ columnWidth: '200px',
17
+ size: '',
18
+ labelWidth: null,
19
+ labelHidden: false,
20
+ disabled: false,
21
+ hidden: false,
22
+ //-------------------
23
+ customClass: '', //自定义css类名
24
+ labelIconClass: null,
25
+ labelIconPosition: 'rear',
26
+ labelTooltip: null,
27
+ //-------------------
28
+ onCreated: '',
29
+ onMounted: '',
30
+ onClick: '',
31
+ onClose: ''
32
+ }
33
+ }
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <form-item-wrapper :designer="designer" :field="field" :parent-widget="parentWidget" :parent-list="parentList" :index-of-parent-list="indexOfParentList">
3
+ <el-tag
4
+ :key="field.id"
5
+ :type="field.options.type"
6
+ :size="field.options.size"
7
+ :closable="field.options.closable"
8
+ :disable-transitions="field.options.disableTransitions"
9
+ :hit="field.options.hit"
10
+ :effect="field.options.effect"
11
+ @click="selectWidget(field)"
12
+ >
13
+ {{ field.options.content || 'Tag' }}
14
+ </el-tag>
15
+ </form-item-wrapper>
16
+ </template>
17
+
18
+ <script>
19
+ import i18n from "@/utils/i18n"
20
+ import fieldMixin from "@/components/form-designer/form-widget/field-widget/fieldMixin"
21
+ import FormItemWrapper from "@/components/form-designer/form-widget/field-widget/form-item-wrapper"
22
+ import refMixinDesign from "@/components/form-designer/refMixinDesign"
23
+
24
+ export default {
25
+ name: "tag-widget",
26
+ componentName: 'FieldWidget',
27
+ mixins: [i18n, fieldMixin, refMixinDesign],
28
+ components: {
29
+ FormItemWrapper
30
+ },
31
+ props: {
32
+ field: Object,
33
+ parentWidget: Object,
34
+ parentList: Array,
35
+ indexOfParentList: Number,
36
+ designer: Object,
37
+ },
38
+ computed: {
39
+ selected() {
40
+ return this.field.id === this.designer.selectedId
41
+ }
42
+ },
43
+ created() {
44
+ this.initRefList()
45
+ }
46
+ }
47
+ </script>
48
+
49
+ <style lang="scss" scoped>
50
+ .selected {
51
+ outline: 2px solid $--color-primary !important;
52
+ }
53
+ </style>
@@ -0,0 +1,23 @@
1
+ import {
2
+ addContainerWidgetSchema,
3
+ addBasicFieldSchema,
4
+ addAdvancedFieldSchema,
5
+ addCustomWidgetSchema
6
+ } from '@/components/form-designer/widget-panel/widgetsConfig'
7
+ import {
8
+ registerCommonProperty,
9
+ registerAdvancedProperty,
10
+ registerEventProperty
11
+ } from '@/components/form-designer/setting-panel/propertyRegister'
12
+
13
+
14
+ export default {
15
+ addContainerWidgetSchema,
16
+ addBasicFieldSchema,
17
+ addAdvancedFieldSchema,
18
+ addCustomWidgetSchema,
19
+
20
+ registerCommonProperty,
21
+ registerAdvancedProperty,
22
+ registerEventProperty,
23
+ }
@@ -0,0 +1,174 @@
1
+ import Vue from 'vue'
2
+
3
+ import {
4
+ addContainerWidgetSchema,
5
+ addCustomWidgetSchema
6
+ } from '@/components/form-designer/widget-panel/widgetsConfig'
7
+ import * as PERegister from '@/components/form-designer/setting-panel/propertyRegister'
8
+ import * as PEFactory from '@/components/form-designer/setting-panel/property-editor-factory'
9
+
10
+ import {cardSchema} from "@/extension/samples/extension-schema"
11
+ import CardWidget from '@/extension/samples/card/card-widget'
12
+ import CardItem from '@/extension/samples/card/card-item'
13
+ import {registerCWGenerator} from '@/utils/sfc-generator'
14
+ import {cardTemplateGenerator} from '@/extension/samples/extension-sfc-generator'
15
+
16
+ import {alertSchema} from "@/extension/samples/extension-schema"
17
+ import AlertWidget from '@/extension/samples/alert/alert-widget'
18
+ import {registerFWGenerator} from '@/utils/sfc-generator'
19
+ import {alertTemplateGenerator} from '@/extension/samples/extension-sfc-generator'
20
+
21
+ import {tagSchema} from "@/extension/components/tag/tag-schema"
22
+ import TagWidget from '@/extension/components/tag/tag-widget'
23
+ import TagItem from '@/extension/components/tag/tag-item'
24
+
25
+ export const loadExtension = function () {
26
+
27
+ /**
28
+ * 加载容器组件步骤:
29
+ * 1. 加载组件Json Schema;
30
+ * 2. 全局注册容器组件,容器组件有两种状态——设计期和运行期,故需要注册两个组件;
31
+ * 3. 全局注册属性编辑器组件(基本属性、高级属性、事件属性);
32
+ * 4. 注册容器组件的代码生成器;
33
+ * 5. 加载完毕。
34
+ */
35
+ addContainerWidgetSchema(cardSchema) //加载组件Json Schema
36
+ /* -------------------------------------------------- */
37
+ Vue.component(CardWidget.name, CardWidget) //注册设计期的容器组件
38
+ Vue.component(CardItem.name, CardItem) //注册运行期的容器组件
39
+ /* -------------------------------------------------- */
40
+ PERegister.registerCPEditor('card-folded', 'card-folded-editor',
41
+ PEFactory.createBooleanEditor('folded', 'extension.setting.cardFolded'))
42
+
43
+ PERegister.registerCPEditor('card-showFold', 'card-showFold-editor',
44
+ PEFactory.createBooleanEditor('showFold', 'extension.setting.cardShowFold'))
45
+
46
+ PERegister.registerCPEditor('card-cardWidth', 'card-cardWidth-editor',
47
+ PEFactory.createInputTextEditor('cardWidth', 'extension.setting.cardWidth'))
48
+
49
+ let shadowOptions = [
50
+ {label: 'never', value: 'never'},
51
+ {label: 'hover', value: 'hover'},
52
+ {label: 'always', value: 'always'},
53
+ ]
54
+ PERegister.registerCPEditor('card-shadow', 'card-shadow-editor',
55
+ PEFactory.createSelectEditor('shadow', 'extension.setting.cardShadow',
56
+ {optionItems: shadowOptions}))
57
+ /* -------------------------------------------------- */
58
+ registerCWGenerator('card', cardTemplateGenerator) //注册容器组件的代码生成器
59
+ /* -------------------------------------------------- */
60
+ /* 容器组件加载完毕 end */
61
+
62
+ /**
63
+ * 加载字段组件步骤:
64
+ * 1. 加载组件Json Schema;
65
+ * 2. 全局注册字段组件,字段组件设计期和运行期共用,故需要仅需注册一个组件;
66
+ * 3. 全局注册属性编辑器组件(基本属性、高级属性、事件属性);
67
+ * 4. 注册字段组件的代码生成器;
68
+ * 5. 加载完毕。
69
+ */
70
+ addCustomWidgetSchema(alertSchema) //加载组件Json Schema
71
+ /* -------------------------------------------------- */
72
+ Vue.component(AlertWidget.name, AlertWidget) //注册组件
73
+ /* -------------------------------------------------- */
74
+ PERegister.registerCPEditor('alert-title', 'alert-title-editor',
75
+ PEFactory.createInputTextEditor('title', 'extension.setting.alertTitle'))
76
+
77
+ let typeOptions = [
78
+ {label: 'success', value: 'success'},
79
+ {label: 'warning', value: 'warning'},
80
+ {label: 'info', value: 'info'},
81
+ {label: 'error', value: 'error'},
82
+ ]
83
+ // PERegister.registerCPEditor('alert-type', 'alert-type-editor',
84
+ // PEFactory.createSelectEditor('type', 'extension.setting.alertType',
85
+ // {optionItems: typeOptions}))
86
+ /* type属性映射已存在,无须再注册,故只需注册属性编辑器即可!! */
87
+ Vue.component('alert-type-editor',
88
+ PEFactory.createSelectEditor('type', 'extension.setting.alertType',
89
+ {optionItems: typeOptions}))
90
+
91
+ PERegister.registerCPEditor('alert-description', 'alert-description-editor',
92
+ PEFactory.createInputTextEditor('description', 'extension.setting.description'))
93
+
94
+ PERegister.registerCPEditor('alert-closable', 'alert-closable-editor',
95
+ PEFactory.createBooleanEditor('closable', 'extension.setting.closable'))
96
+
97
+ PERegister.registerCPEditor('alert-closeText', 'alert-closeText-editor',
98
+ PEFactory.createInputTextEditor('closeText', 'extension.setting.closeText'))
99
+
100
+ PERegister.registerCPEditor('alert-center', 'alert-center-editor',
101
+ PEFactory.createBooleanEditor('center', 'extension.setting.center'))
102
+
103
+ PERegister.registerCPEditor('alert-showIcon', 'alert-showIcon-editor',
104
+ PEFactory.createBooleanEditor('showIcon', 'extension.setting.showIcon'))
105
+
106
+ let effectOptions = [
107
+ {label: 'light', value: 'light'},
108
+ {label: 'dark', value: 'dark'},
109
+ ]
110
+ PERegister.registerCPEditor('alert-effect', 'alert-effect-editor',
111
+ PEFactory.createRadioButtonGroupEditor('effect', 'extension.setting.effect',
112
+ {optionItems: effectOptions}))
113
+
114
+ PERegister.registerEPEditor('alert-onClose', 'alert-onClose-editor',
115
+ PEFactory.createEventHandlerEditor('onClose', []))
116
+ /* -------------------------------------------------- */
117
+ registerFWGenerator('alert', alertTemplateGenerator) //注册字段组件的代码生成器
118
+ /* -------------------------------------------------- */
119
+ /* 字段组件加载完毕 end */
120
+
121
+ /**
122
+ * 加载Tag字段组件
123
+ */
124
+ addCustomWidgetSchema(tagSchema) //加载组件Json Schema
125
+ /* -------------------------------------------------- */
126
+ Vue.component(TagWidget.name, TagWidget) //注册设计期的字段组件
127
+ Vue.component(TagItem.name, TagItem) //注册运行期的字段组件
128
+ /* -------------------------------------------------- */
129
+ PERegister.registerCPEditor('tag-content', 'tag-content-editor',
130
+ PEFactory.createInputTextEditor('content', 'extension.setting.tagContent'))
131
+
132
+ let tagTypeOptions = [
133
+ {label: '', value: ''},
134
+ {label: 'success', value: 'success'},
135
+ {label: 'warning', value: 'warning'},
136
+ {label: 'info', value: 'info'},
137
+ {label: 'error', value: 'error'},
138
+ ]
139
+ Vue.component('tag-type-editor',
140
+ PEFactory.createSelectEditor('type', 'extension.setting.tagType',
141
+ {optionItems: tagTypeOptions}))
142
+
143
+ let tagSizeOptions = [
144
+ {label: '', value: ''},
145
+ {label: 'medium', value: 'medium'},
146
+ {label: 'small', value: 'small'},
147
+ {label: 'mini', value: 'mini'},
148
+ ]
149
+ Vue.component('tag-size-editor',
150
+ PEFactory.createSelectEditor('size', 'extension.setting.tagSize',
151
+ {optionItems: tagSizeOptions}))
152
+
153
+ PERegister.registerCPEditor('tag-closable', 'tag-closable-editor',
154
+ PEFactory.createBooleanEditor('closable', 'extension.setting.tagClosable'))
155
+
156
+ PERegister.registerCPEditor('tag-disableTransitions', 'tag-disableTransitions-editor',
157
+ PEFactory.createBooleanEditor('disableTransitions', 'extension.setting.tagDisableTransitions'))
158
+
159
+ PERegister.registerCPEditor('tag-hit', 'tag-hit-editor',
160
+ PEFactory.createBooleanEditor('hit', 'extension.setting.tagHit'))
161
+
162
+ let tagEffectOptions = [
163
+ {label: 'plain', value: 'plain'},
164
+ {label: 'dark', value: 'dark'},
165
+ ]
166
+ Vue.component('tag-effect-editor',
167
+ PEFactory.createRadioButtonGroupEditor('effect', 'extension.setting.tagEffect',
168
+ {optionItems: tagEffectOptions}))
169
+
170
+ PERegister.registerEPEditor('tag-onClose', 'tag-onClose-editor',
171
+ PEFactory.createEventHandlerEditor('onClose', []))
172
+ /* -------------------------------------------------- */
173
+ /* Tag字段组件加载完毕 end */
174
+ }
@@ -0,0 +1,72 @@
1
+ <template>
2
+ <static-content-wrapper :designer="designer" :field="field" :design-state="designState"
3
+ :parent-widget="parentWidget" :parent-list="parentList" :index-of-parent-list="indexOfParentList"
4
+ :sub-form-row-index="subFormRowIndex" :sub-form-col-index="subFormColIndex" :sub-form-row-id="subFormRowId">
5
+ <el-alert ref="fieldEditor" :title="field.options.title" :type="field.options.type"
6
+ :description="field.options.description" :closable="field.options.closable"
7
+ :center="field.options.center" :close-text="field.options.closeText"
8
+ :show-icon="field.options.showIcon" :effect="field.options.effect" @close="handleCloseCustomEvent"></el-alert>
9
+ </static-content-wrapper>
10
+ </template>
11
+
12
+ <script>
13
+ import StaticContentWrapper from '@/components/form-designer/form-widget/field-widget/static-content-wrapper'
14
+ import emitter from '@/utils/emitter'
15
+ import i18n from "@/utils/i18n"
16
+ import fieldMixin from "@/components/form-designer/form-widget/field-widget/fieldMixin"
17
+
18
+ export default {
19
+ name: "alert-widget",
20
+ componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
21
+ mixins: [emitter, fieldMixin, i18n],
22
+ props: {
23
+ field: Object,
24
+ parentWidget: Object,
25
+ parentList: Array,
26
+ indexOfParentList: Number,
27
+ designer: Object,
28
+
29
+ designState: {
30
+ type: Boolean,
31
+ default: false
32
+ },
33
+
34
+ subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
35
+ type: Number,
36
+ default: -1
37
+ },
38
+ subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
39
+ type: Number,
40
+ default: -1
41
+ },
42
+ subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
43
+ type: String,
44
+ default: ''
45
+ },
46
+
47
+ },
48
+ components: {
49
+ StaticContentWrapper,
50
+ },
51
+ created() {
52
+ this.registerToRefList()
53
+ this.initEventHandler()
54
+ },
55
+ beforeDestroy() {
56
+ this.unregisterFromRefList()
57
+ },
58
+ methods: {
59
+ handleCloseCustomEvent() {
60
+ if (!!this.field.options.onClose) {
61
+ let changeFn = new Function(this.field.options.onClose)
62
+ changeFn.call(this)
63
+ }
64
+ }
65
+
66
+ }
67
+ }
68
+ </script>
69
+
70
+ <style lang="scss" scoped>
71
+
72
+ </style>