@vtx/components 4.0.0-beta.2 → 4.0.0-beta.21

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 (357) hide show
  1. package/es/index.js +3 -1
  2. package/es/utils/filterSpecialCharacters.js +47 -46
  3. package/es/utils/index.js +1 -2
  4. package/es/vtx-color-picker/index.js +50 -39
  5. package/es/vtx-combogrid/Combogrid.js +11 -6
  6. package/es/vtx-combogrid/index.js +1 -1
  7. package/es/vtx-combogrid/style/index.js +4 -4
  8. package/es/vtx-datagrid/Store/Provide.js +6 -5
  9. package/es/vtx-datagrid/ToolBar/components/ColumnSetting/index.js +8 -3
  10. package/es/vtx-datagrid/ToolBar/components/Density/index.js +3 -0
  11. package/es/vtx-datagrid/ToolBar/components/TableStyle/index.js +3 -0
  12. package/es/vtx-datagrid/ToolBar/index.js +2 -2
  13. package/es/vtx-datagrid/index.js +26 -14
  14. package/es/vtx-datagrid/style/index.js +22 -7
  15. package/es/vtx-descriptions/Descriptions.js +30 -0
  16. package/es/vtx-descriptions/index.js +3 -0
  17. package/es/vtx-descriptions/style/index.js +19 -0
  18. package/es/vtx-ellipsis-text/index.js +6 -1
  19. package/es/vtx-export/index.js +24 -25
  20. package/es/vtx-export-async/index.js +28 -8
  21. package/es/vtx-form-layout/Card.js +10 -10
  22. package/es/vtx-form-layout/Divider.js +1 -1
  23. package/es/vtx-form-layout/Pane.js +23 -12
  24. package/es/vtx-form-layout/style/index.js +0 -1
  25. package/es/vtx-icon/index.js +41 -4
  26. package/es/vtx-image/Preview.js +11 -6
  27. package/es/vtx-import/index.js +78 -37
  28. package/es/vtx-import/result.js +2 -1
  29. package/es/vtx-import/style/index.js +11 -1
  30. package/es/vtx-import2/index.js +4 -2
  31. package/es/vtx-import2/style/index.js +1 -1
  32. package/es/vtx-input/TextArea/index.js +11 -6
  33. package/es/vtx-modal/style/index.js +5 -3
  34. package/es/vtx-page-layout/Content.js +1 -1
  35. package/es/vtx-page-layout/TabLayout.js +1 -7
  36. package/es/vtx-page-layout/TableLayout.js +14 -4
  37. package/es/vtx-page-layout/TableWrap.js +3 -2
  38. package/es/vtx-page-layout/TreeLayout.js +2 -8
  39. package/es/vtx-page-layout/container.js +6 -5
  40. package/es/vtx-provider/index.js +11 -4
  41. package/es/vtx-provider/locale/en_US.js +10 -2
  42. package/es/vtx-provider/locale/zh_CN.js +20 -2
  43. package/es/vtx-scrollable-row/index.js +38 -28
  44. package/es/vtx-search/index.js +5 -4
  45. package/es/vtx-search/style/index.js +2 -1
  46. package/es/vtx-select/index.js +25 -11
  47. package/es/vtx-signature/index.js +5 -4
  48. package/es/vtx-signature/style/index.js +1 -1
  49. package/es/vtx-split-pane/SplitPane.js +34 -24
  50. package/es/vtx-split-pane/style/index.js +7 -112
  51. package/es/vtx-transfer/Transfer.js +16 -233
  52. package/es/vtx-transfer/style/index.js +5 -28
  53. package/es/vtx-transfer-select/TransferSelect.js +143 -0
  54. package/es/vtx-transfer-select/index.js +3 -0
  55. package/es/vtx-transfer-select/style/index.js +19 -0
  56. package/es/vtx-tree/index.js +104 -40
  57. package/es/vtx-tree-select/index.js +55 -92
  58. package/es/vtx-tree-select/style/index.js +4 -2
  59. package/es/vtx-upload/FilePreview.js +2 -1
  60. package/es/vtx-wang-editor/index.js +278 -108
  61. package/es/vtx-wang-editor/wangEditorUtil.js +59 -9
  62. package/lib/index.js +28 -4
  63. package/lib/utils/filterSpecialCharacters.js +48 -46
  64. package/lib/utils/index.js +0 -7
  65. package/lib/vtx-color-picker/index.js +50 -39
  66. package/lib/vtx-combogrid/Combogrid.js +11 -6
  67. package/lib/vtx-combogrid/index.js +1 -1
  68. package/lib/vtx-combogrid/style/index.js +4 -4
  69. package/lib/vtx-datagrid/Store/Provide.js +21 -19
  70. package/lib/vtx-datagrid/ToolBar/components/ColumnSetting/index.js +8 -4
  71. package/lib/vtx-datagrid/ToolBar/components/Density/index.js +3 -0
  72. package/lib/vtx-datagrid/ToolBar/components/TableStyle/index.js +3 -0
  73. package/lib/vtx-datagrid/ToolBar/index.js +2 -2
  74. package/lib/vtx-datagrid/index.js +27 -14
  75. package/lib/vtx-datagrid/style/index.js +22 -7
  76. package/lib/vtx-descriptions/Descriptions.js +39 -0
  77. package/lib/vtx-descriptions/index.js +15 -0
  78. package/lib/vtx-descriptions/style/index.js +25 -0
  79. package/lib/vtx-ellipsis-text/index.js +6 -1
  80. package/lib/vtx-export/index.js +25 -26
  81. package/lib/vtx-export-async/index.js +26 -6
  82. package/lib/vtx-form-layout/Card.js +9 -9
  83. package/lib/vtx-form-layout/Divider.js +1 -1
  84. package/lib/vtx-form-layout/Pane.js +22 -11
  85. package/lib/vtx-form-layout/style/index.js +0 -1
  86. package/lib/vtx-icon/index.js +59 -14
  87. package/lib/vtx-image/Preview.js +11 -6
  88. package/lib/vtx-import/index.js +77 -36
  89. package/lib/vtx-import/result.js +2 -1
  90. package/lib/vtx-import/style/index.js +11 -1
  91. package/lib/vtx-import2/index.js +4 -2
  92. package/lib/vtx-import2/style/index.js +1 -1
  93. package/lib/vtx-input/TextArea/index.js +11 -6
  94. package/lib/vtx-modal/style/index.js +5 -3
  95. package/lib/vtx-page-layout/Content.js +1 -1
  96. package/lib/vtx-page-layout/TabLayout.js +3 -9
  97. package/lib/vtx-page-layout/TableLayout.js +14 -4
  98. package/lib/vtx-page-layout/TableWrap.js +3 -2
  99. package/lib/vtx-page-layout/TreeLayout.js +4 -10
  100. package/lib/vtx-page-layout/container.js +6 -5
  101. package/lib/vtx-provider/index.js +11 -4
  102. package/lib/vtx-provider/locale/en_US.js +10 -2
  103. package/lib/vtx-provider/locale/zh_CN.js +20 -2
  104. package/lib/vtx-scrollable-row/index.js +38 -28
  105. package/lib/vtx-search/index.js +5 -4
  106. package/lib/vtx-search/style/index.js +2 -1
  107. package/lib/vtx-select/index.js +25 -11
  108. package/lib/vtx-signature/index.js +4 -3
  109. package/lib/vtx-signature/style/index.js +1 -1
  110. package/lib/vtx-split-pane/SplitPane.js +32 -22
  111. package/lib/vtx-split-pane/style/index.js +7 -112
  112. package/lib/vtx-transfer/Transfer.js +15 -231
  113. package/lib/vtx-transfer/style/index.js +5 -28
  114. package/lib/vtx-transfer-select/TransferSelect.js +151 -0
  115. package/lib/vtx-transfer-select/index.js +15 -0
  116. package/lib/vtx-transfer-select/style/index.js +25 -0
  117. package/lib/vtx-tree/index.js +102 -38
  118. package/lib/vtx-tree-select/index.js +55 -92
  119. package/lib/vtx-tree-select/style/index.js +4 -2
  120. package/lib/vtx-upload/FilePreview.js +2 -1
  121. package/lib/vtx-wang-editor/index.js +277 -109
  122. package/lib/vtx-wang-editor/wangEditorUtil.js +59 -10
  123. package/package.json +60 -33
  124. package/dist/1077.66b69576.async.js +0 -1
  125. package/dist/1572.2b90c634.async.js +0 -1
  126. package/dist/1632.03c8f7ad.async.js +0 -2
  127. package/dist/2267.aeefe75c.async.js +0 -137
  128. package/dist/2791.54c703a9.async.js +0 -5
  129. package/dist/2952.348f2c3f.async.js +0 -654
  130. package/dist/3421.4387ba14.async.js +0 -1264
  131. package/dist/3500.29895123.async.js +0 -1
  132. package/dist/404.html +0 -17
  133. package/dist/4195.93b9d34d.async.js +0 -1
  134. package/dist/4680.bca43384.async.js +0 -1
  135. package/dist/7965.a57e8f9a.async.js +0 -1
  136. package/dist/8300.66a39b1b.async.js +0 -1
  137. package/dist/8982.8e38e68e.async.js +0 -1
  138. package/dist/9877.87ec0c28.async.js +0 -11
  139. package/dist/VtxColorPicker__demos.60d61929.async.js +0 -1
  140. package/dist/VtxCombogrid__demos.8c798bc7.async.js +0 -1
  141. package/dist/VtxDatagrid__demos.e07857d0.async.js +0 -1
  142. package/dist/VtxEllipsisText__demos.2e269d20.async.js +0 -1
  143. package/dist/VtxExportAsync__demos.13e3bb1c.async.js +0 -1
  144. package/dist/VtxExport__demos.1cce5217.async.js +0 -1
  145. package/dist/VtxFormLayout__demos.b8bb038a.async.js +0 -1
  146. package/dist/VtxImage__demos.774c697e.async.js +0 -1
  147. package/dist/VtxImport2__demos.8182b8d2.async.js +0 -1
  148. package/dist/VtxImport__demos.3865c4e9.async.js +0 -1
  149. package/dist/VtxInput__demos.5fd77ccb.async.js +0 -1
  150. package/dist/VtxModal__demos.e0aae505.async.js +0 -1
  151. package/dist/VtxPageLayout__demos.b1cd7624.async.js +0 -1
  152. package/dist/VtxRpsFrame__demos.07c3fb5e.async.js +0 -1
  153. package/dist/VtxScrollableRow__demos.eeb18c3c.async.js +0 -1
  154. package/dist/VtxSearch__demos.f6b048ae.async.js +0 -1
  155. package/dist/VtxSelect__demos.0e8f1c52.async.js +0 -1
  156. package/dist/VtxSignature__demos.d0c4bcac.async.js +0 -1
  157. package/dist/VtxSplitPane__demos.6dda4f09.async.js +0 -1
  158. package/dist/VtxStatisticsColumn__demos.b2be3e4b.async.js +0 -1
  159. package/dist/VtxTimePicker__demos.ced305a6.async.js +0 -1
  160. package/dist/VtxTreeSelect__demos.daab9057.async.js +0 -1
  161. package/dist/VtxTree__demos.15550a80.async.js +0 -1
  162. package/dist/VtxUpload__demos.794c746a.async.js +0 -1
  163. package/dist/VtxWangEditor__demos.92b4daf1.async.js +0 -1
  164. package/dist/changelog/index.html +0 -17
  165. package/dist/components/index.html +0 -17
  166. package/dist/components/vtx-color-picker/index.html +0 -17
  167. package/dist/components/vtx-combogrid/index.html +0 -17
  168. package/dist/components/vtx-datagrid/index.html +0 -17
  169. package/dist/components/vtx-date-picker/index.html +0 -17
  170. package/dist/components/vtx-ellipsis-text/index.html +0 -17
  171. package/dist/components/vtx-export/index.html +0 -17
  172. package/dist/components/vtx-export-async/index.html +0 -17
  173. package/dist/components/vtx-form-layout/index.html +0 -17
  174. package/dist/components/vtx-image/index.html +0 -17
  175. package/dist/components/vtx-import/index.html +0 -17
  176. package/dist/components/vtx-import2/index.html +0 -17
  177. package/dist/components/vtx-input/index.html +0 -17
  178. package/dist/components/vtx-modal/index.html +0 -17
  179. package/dist/components/vtx-page-layout/index.html +0 -17
  180. package/dist/components/vtx-rps-frame/index.html +0 -17
  181. package/dist/components/vtx-scrollable-row/index.html +0 -17
  182. package/dist/components/vtx-search/index.html +0 -17
  183. package/dist/components/vtx-select/index.html +0 -17
  184. package/dist/components/vtx-signature/index.html +0 -17
  185. package/dist/components/vtx-split-pane/index.html +0 -17
  186. package/dist/components/vtx-statistics-column/index.html +0 -17
  187. package/dist/components/vtx-time-picker/index.html +0 -17
  188. package/dist/components/vtx-tree/index.html +0 -17
  189. package/dist/components/vtx-tree-select/index.html +0 -17
  190. package/dist/components/vtx-upload/index.html +0 -17
  191. package/dist/components/vtx-wang-editor/index.html +0 -17
  192. package/dist/demos.f6817f69.async.js +0 -1
  193. package/dist/docs/api-changes/index.html +0 -17
  194. package/dist/docs/index.html +0 -17
  195. package/dist/docs/migration-guide/index.html +0 -17
  196. package/dist/dumi__tmp-production__dumi__theme__ContextWrapper.aca58684.async.js +0 -1
  197. package/dist/favicon.ico +0 -0
  198. package/dist/icon.png +0 -0
  199. package/dist/index.html +0 -17
  200. package/dist/meta__site.2e323023.async.js +0 -5392
  201. package/dist/meta__site.51651769.chunk.css +0 -9
  202. package/dist/meta__vtx-search.5ddbd36b.async.js +0 -5
  203. package/dist/nm__dumi-theme-vortex-style__dist__layouts__DemoLayout__index.7cea644e.async.js +0 -1
  204. package/dist/nm__dumi-theme-vortex-style__dist__layouts__DocLayout__index.eec80432.chunk.css +0 -1
  205. package/dist/nm__dumi__dist__client__pages__404.0d35bb9e.async.js +0 -1
  206. package/dist/nm__dumi__dist__client__pages__404.8b85f2d9.chunk.css +0 -1
  207. package/dist/nm__dumi__dist__client__pages__Demo__index.578aa5c0.chunk.css +0 -1
  208. package/dist/nm__dumi__dist__client__pages__Demo__index.88d92ec7.async.js +0 -1
  209. package/dist/preload_helper.214f203a.js +0 -1
  210. package/dist/site__changelog.md.33be0665.chunk.css +0 -1
  211. package/dist/site__changelog.md.ca6f70d0.async.js +0 -1
  212. package/dist/site__components__index.md.1c0dd566.async.js +0 -1
  213. package/dist/site__components__index.md.33be0665.chunk.css +0 -1
  214. package/dist/site__components__vtx-color-picker__index.md.0b5f09f9.async.js +0 -1
  215. package/dist/site__components__vtx-color-picker__index.md.33be0665.chunk.css +0 -1
  216. package/dist/site__components__vtx-combogrid__index.md.33be0665.chunk.css +0 -1
  217. package/dist/site__components__vtx-combogrid__index.md.5c184a19.async.js +0 -19
  218. package/dist/site__components__vtx-datagrid__index.md.33be0665.chunk.css +0 -1
  219. package/dist/site__components__vtx-datagrid__index.md.3b6b11a0.async.js +0 -58
  220. package/dist/site__components__vtx-date-picker__index.md.33be0665.chunk.css +0 -1
  221. package/dist/site__components__vtx-date-picker__index.md.e498db68.async.js +0 -1
  222. package/dist/site__components__vtx-ellipsis-text__index.md.33be0665.chunk.css +0 -1
  223. package/dist/site__components__vtx-ellipsis-text__index.md.3df8b85b.async.js +0 -1
  224. package/dist/site__components__vtx-export-async__index.md.33be0665.chunk.css +0 -1
  225. package/dist/site__components__vtx-export-async__index.md.7ad10351.async.js +0 -50
  226. package/dist/site__components__vtx-export__index.md.33be0665.chunk.css +0 -1
  227. package/dist/site__components__vtx-export__index.md.ae512624.async.js +0 -6
  228. package/dist/site__components__vtx-form-layout__index.md.26ce0de4.async.js +0 -1
  229. package/dist/site__components__vtx-form-layout__index.md.33be0665.chunk.css +0 -1
  230. package/dist/site__components__vtx-image__index.md.33be0665.chunk.css +0 -1
  231. package/dist/site__components__vtx-image__index.md.51d7fede.async.js +0 -7
  232. package/dist/site__components__vtx-import2__index.md.33be0665.chunk.css +0 -1
  233. package/dist/site__components__vtx-import2__index.md.3d03da86.async.js +0 -22
  234. package/dist/site__components__vtx-import__index.md.2706afc2.async.js +0 -1
  235. package/dist/site__components__vtx-import__index.md.33be0665.chunk.css +0 -1
  236. package/dist/site__components__vtx-input__index.md.33be0665.chunk.css +0 -1
  237. package/dist/site__components__vtx-input__index.md.dbe2e571.async.js +0 -1
  238. package/dist/site__components__vtx-modal__index.md.33be0665.chunk.css +0 -1
  239. package/dist/site__components__vtx-modal__index.md.6a9b2eda.async.js +0 -9
  240. package/dist/site__components__vtx-page-layout__index.md.33be0665.chunk.css +0 -1
  241. package/dist/site__components__vtx-page-layout__index.md.46cefa9b.async.js +0 -1
  242. package/dist/site__components__vtx-rps-frame__index.md.0126d79c.async.js +0 -1
  243. package/dist/site__components__vtx-rps-frame__index.md.33be0665.chunk.css +0 -1
  244. package/dist/site__components__vtx-scrollable-row__index.md.33be0665.chunk.css +0 -1
  245. package/dist/site__components__vtx-scrollable-row__index.md.83c9c112.async.js +0 -1
  246. package/dist/site__components__vtx-search__index.md.33be0665.chunk.css +0 -1
  247. package/dist/site__components__vtx-search__index.md.a36329f4.async.js +0 -5
  248. package/dist/site__components__vtx-select__index.md.33be0665.chunk.css +0 -1
  249. package/dist/site__components__vtx-select__index.md.d4b9a187.async.js +0 -6
  250. package/dist/site__components__vtx-signature__index.md.33be0665.chunk.css +0 -1
  251. package/dist/site__components__vtx-signature__index.md.e502b176.async.js +0 -1
  252. package/dist/site__components__vtx-split-pane__index.md.33be0665.chunk.css +0 -1
  253. package/dist/site__components__vtx-split-pane__index.md.744d87da.async.js +0 -1
  254. package/dist/site__components__vtx-statistics-column__index.md.106749e3.async.js +0 -1
  255. package/dist/site__components__vtx-statistics-column__index.md.33be0665.chunk.css +0 -1
  256. package/dist/site__components__vtx-time-picker__index.md.33be0665.chunk.css +0 -1
  257. package/dist/site__components__vtx-time-picker__index.md.c9f4700c.async.js +0 -1
  258. package/dist/site__components__vtx-tree-select__index.md.33be0665.chunk.css +0 -1
  259. package/dist/site__components__vtx-tree-select__index.md.49b56c10.async.js +0 -1
  260. package/dist/site__components__vtx-tree__index.md.33be0665.chunk.css +0 -1
  261. package/dist/site__components__vtx-tree__index.md.4c124fad.async.js +0 -1
  262. package/dist/site__components__vtx-upload__index.md.33be0665.chunk.css +0 -1
  263. package/dist/site__components__vtx-upload__index.md.57969550.async.js +0 -6
  264. package/dist/site__components__vtx-wang-editor__index.md.33be0665.chunk.css +0 -1
  265. package/dist/site__components__vtx-wang-editor__index.md.b98b12a6.async.js +0 -7
  266. package/dist/site__docs__api-changes.md.33be0665.chunk.css +0 -1
  267. package/dist/site__docs__api-changes.md.aaa38736.async.js +0 -6
  268. package/dist/site__docs__index.md.33be0665.chunk.css +0 -1
  269. package/dist/site__docs__index.md.586150c4.async.js +0 -53
  270. package/dist/site__docs__migration-guide.md.02f5996d.async.js +0 -194
  271. package/dist/site__docs__migration-guide.md.33be0665.chunk.css +0 -1
  272. package/dist/site__index.md.33be0665.chunk.css +0 -1
  273. package/dist/site__index.md.634bf57a.async.js +0 -1
  274. package/dist/sitemap.xml +0 -1
  275. package/dist/umi.f49a7748.css +0 -1
  276. package/dist/umi.f610424c.js +0 -877
  277. package/dist/vtx-search__index.md.33be0665.chunk.css +0 -1
  278. package/dist/vtx-search__index.md.37a39d66.async.js +0 -5
  279. package/dist/~demos/:id/index.html +0 -17
  280. package/dist/~demos/site-components-vtx-date-picker-demo-demo1/index.html +0 -17
  281. package/dist/~demos/site-components-vtx-date-picker-demo-demo3/index.html +0 -17
  282. package/dist/~demos/vtxcolorpicker-demo-base/index.html +0 -17
  283. package/dist/~demos/vtxcolorpicker-demo-base-form/index.html +0 -17
  284. package/dist/~demos/vtxcombogrid-demo-demo1/index.html +0 -17
  285. package/dist/~demos/vtxcombogrid-demo-demo2/index.html +0 -17
  286. package/dist/~demos/vtxcombogrid-demo-demo3/index.html +0 -17
  287. package/dist/~demos/vtxcombogrid-demo-demo4/index.html +0 -17
  288. package/dist/~demos/vtxcombogrid-demo-demo5/index.html +0 -17
  289. package/dist/~demos/vtxdatagrid-demo-demo1/index.html +0 -17
  290. package/dist/~demos/vtxdatagrid-demo-demo10/index.html +0 -17
  291. package/dist/~demos/vtxdatagrid-demo-demo2/index.html +0 -17
  292. package/dist/~demos/vtxdatagrid-demo-demo3/index.html +0 -17
  293. package/dist/~demos/vtxdatagrid-demo-demo4/index.html +0 -17
  294. package/dist/~demos/vtxdatagrid-demo-demo5/index.html +0 -17
  295. package/dist/~demos/vtxdatagrid-demo-demo6/index.html +0 -17
  296. package/dist/~demos/vtxdatagrid-demo-demo7/index.html +0 -17
  297. package/dist/~demos/vtxdatagrid-demo-demo8/index.html +0 -17
  298. package/dist/~demos/vtxdatagrid-demo-demo9/index.html +0 -17
  299. package/dist/~demos/vtxellipsistext-demo-demo1/index.html +0 -17
  300. package/dist/~demos/vtxexport-demo-demo1/index.html +0 -17
  301. package/dist/~demos/vtxexportasync-demo-demo1/index.html +0 -17
  302. package/dist/~demos/vtxformlayout-demo-demo1/index.html +0 -17
  303. package/dist/~demos/vtxformlayout-demo-demo10/index.html +0 -17
  304. package/dist/~demos/vtxformlayout-demo-demo2/index.html +0 -17
  305. package/dist/~demos/vtxformlayout-demo-demo3/index.html +0 -17
  306. package/dist/~demos/vtxformlayout-demo-demo4/index.html +0 -17
  307. package/dist/~demos/vtxformlayout-demo-demo5/index.html +0 -17
  308. package/dist/~demos/vtxformlayout-demo-demo6/index.html +0 -17
  309. package/dist/~demos/vtxformlayout-demo-demo7/index.html +0 -17
  310. package/dist/~demos/vtxformlayout-demo-demo8/index.html +0 -17
  311. package/dist/~demos/vtxformlayout-demo-demo9/index.html +0 -17
  312. package/dist/~demos/vtximage-demo-demo1/index.html +0 -17
  313. package/dist/~demos/vtximage-demo-demo2/index.html +0 -17
  314. package/dist/~demos/vtximage-demo-demo3/index.html +0 -17
  315. package/dist/~demos/vtximage-demo-demo4/index.html +0 -17
  316. package/dist/~demos/vtximport-demo-base/index.html +0 -17
  317. package/dist/~demos/vtximport2-demo-base/index.html +0 -17
  318. package/dist/~demos/vtxinput-demo-demo1/index.html +0 -17
  319. package/dist/~demos/vtxinput-demo-demo2/index.html +0 -17
  320. package/dist/~demos/vtxinput-demo-demo3/index.html +0 -17
  321. package/dist/~demos/vtxmodal-demo-demo1/index.html +0 -17
  322. package/dist/~demos/vtxmodal-demo-demo2/index.html +0 -17
  323. package/dist/~demos/vtxmodal-demo-demo3/index.html +0 -17
  324. package/dist/~demos/vtxpagelayout-demo-demo1/index.html +0 -17
  325. package/dist/~demos/vtxpagelayout-demo-demo2/index.html +0 -17
  326. package/dist/~demos/vtxpagelayout-demo-demo3/index.html +0 -17
  327. package/dist/~demos/vtxpagelayout-demo-demo4/index.html +0 -17
  328. package/dist/~demos/vtxrpsframe-demo-base/index.html +0 -17
  329. package/dist/~demos/vtxscrollablerow-demo-demo/index.html +0 -17
  330. package/dist/~demos/vtxsearch-demo-demo1/index.html +0 -17
  331. package/dist/~demos/vtxsearch-demo-demo2/index.html +0 -17
  332. package/dist/~demos/vtxsearch-demo-demo3/index.html +0 -17
  333. package/dist/~demos/vtxsearch-demo-demo4/index.html +0 -17
  334. package/dist/~demos/vtxselect-demo-base/index.html +0 -17
  335. package/dist/~demos/vtxselect-demo-base-multiple/index.html +0 -17
  336. package/dist/~demos/vtxsignature-demo-demo/index.html +0 -17
  337. package/dist/~demos/vtxsignature-demo-demo1/index.html +0 -17
  338. package/dist/~demos/vtxsplitpane-demo-demo1/index.html +0 -17
  339. package/dist/~demos/vtxsplitpane-demo-demo2/index.html +0 -17
  340. package/dist/~demos/vtxsplitpane-demo-demo3/index.html +0 -17
  341. package/dist/~demos/vtxsplitpane-demo-demo4/index.html +0 -17
  342. package/dist/~demos/vtxstatisticscolumn-demo-demo1/index.html +0 -17
  343. package/dist/~demos/vtxstatisticscolumn-demo-demo2/index.html +0 -17
  344. package/dist/~demos/vtxstatisticscolumn-demo-demo3/index.html +0 -17
  345. package/dist/~demos/vtxtimepicker-demo-base/index.html +0 -17
  346. package/dist/~demos/vtxtree-demo-demo1/index.html +0 -17
  347. package/dist/~demos/vtxtree-demo-demo2/index.html +0 -17
  348. package/dist/~demos/vtxtree-demo-demo3/index.html +0 -17
  349. package/dist/~demos/vtxtreeselect-demo-demo1/index.html +0 -17
  350. package/dist/~demos/vtxtreeselect-demo-demo2/index.html +0 -17
  351. package/dist/~demos/vtxtreeselect-demo-demo3/index.html +0 -17
  352. package/dist/~demos/vtxupload-demo-demo1/index.html +0 -17
  353. package/dist/~demos/vtxupload-demo-demo2/index.html +0 -17
  354. package/dist/~demos/vtxupload-demo-demo3/index.html +0 -17
  355. package/dist/~demos/vtxwangeditor-demo-demo1/index.html +0 -17
  356. package/es/utils/hooks/useFetchData/index.js +0 -82
  357. package/lib/utils/hooks/useFetchData/index.js +0 -89
@@ -10,6 +10,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _editorForReact = require("@wangeditor/editor-for-react");
11
11
  var _pluginUploadAttachment = _interopRequireDefault(require("@wangeditor/plugin-upload-attachment"));
12
12
  var _editor = require("@wangeditor/editor");
13
+ var _getToken = _interopRequireDefault(require("../utils/getToken"));
13
14
  var _wangEditorUtil = require("./wangEditorUtil");
14
15
  var _antd = require("antd");
15
16
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -18,9 +19,7 @@ var _context2 = require("antd/es/form/context");
18
19
  var _statusUtils = require("antd/es/_util/statusUtils");
19
20
  var _vtxProvider = require("../vtx-provider");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
- var _excluded = ["value", "onChange", "downloadUrl", "uploadUrl", "placeholder", "maxFileSize", "maxNumberOfFiles", "height", "status"];
22
- /*eslint-disable*/
23
- // 注册插件 处理附件
22
+ var _excluded = ["value", "onChange", "downloadUrl", "uploadUrl", "placeholder", "maxFileSize", "defaultMaxFileSize", "maxNumberOfFiles", "height", "status", "enableSanitization", "toolConfig", "editConfig"];
24
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
26
25
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -32,14 +31,14 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
32
31
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
33
32
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
34
33
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
34
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
35
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
35
36
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
36
37
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37
38
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
38
39
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
39
40
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
40
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
42
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
41
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /*eslint-disable*/ // 注册插件 处理附件
43
42
  _editor.Boot.registerModule(_pluginUploadAttachment.default);
44
43
  // 注册插件 处理为空的时候
45
44
  _editor.Boot.registerPlugin(_wangEditorUtil.withEmptyHtml);
@@ -51,13 +50,30 @@ var VtxWangEditor = exports.VtxWangEditor = function VtxWangEditor(props) {
51
50
  var _useStyle = (0, _index.useStyle)(prefixCls),
52
51
  wrapSSR = _useStyle.wrapSSR,
53
52
  hashId = _useStyle.hashId;
53
+
54
+ // 添加加载状态管理
55
+ var _useState = (0, _react.useState)(false),
56
+ _useState2 = _slicedToArray(_useState, 2),
57
+ loading = _useState2[0],
58
+ setLoading = _useState2[1];
59
+ var _useState3 = (0, _react.useState)(null),
60
+ _useState4 = _slicedToArray(_useState3, 2),
61
+ error = _useState4[0],
62
+ setError = _useState4[1];
63
+
64
+ // 添加错误边界处理
65
+ var handleError = (0, _react.useCallback)(function (error) {
66
+ console.error('VtxWangEditor Error:', error);
67
+ setError(error.message);
68
+ // 可以在这里添加错误上报逻辑
69
+ }, []);
54
70
  var _React$useContext = _react.default.useContext(_context2.FormItemInputContext),
55
71
  contextStatus = _React$useContext.status,
56
72
  hasFeedback = _React$useContext.hasFeedback,
57
73
  isFormItemInput = _React$useContext.isFormItemInput,
58
74
  feedbackIcon = _React$useContext.feedbackIcon;
59
75
  var value = props.value,
60
- _onChange = props.onChange,
76
+ onChange = props.onChange,
61
77
  _props$downloadUrl = props.downloadUrl,
62
78
  downloadUrl = _props$downloadUrl === void 0 ? '/cloudFile/common/downloadFile?id=' : _props$downloadUrl,
63
79
  _props$uploadUrl = props.uploadUrl,
@@ -66,77 +82,273 @@ var VtxWangEditor = exports.VtxWangEditor = function VtxWangEditor(props) {
66
82
  placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,
67
83
  _props$maxFileSize = props.maxFileSize,
68
84
  maxFileSize = _props$maxFileSize === void 0 ? 5 * 1024 * 1024 : _props$maxFileSize,
85
+ _props$defaultMaxFile = props.defaultMaxFileSize,
86
+ defaultMaxFileSize = _props$defaultMaxFile === void 0 ? 1024 * 1024 * 1024 : _props$defaultMaxFile,
69
87
  _props$maxNumberOfFil = props.maxNumberOfFiles,
70
88
  maxNumberOfFiles = _props$maxNumberOfFil === void 0 ? 5 : _props$maxNumberOfFil,
71
89
  _props$height = props.height,
72
90
  height = _props$height === void 0 ? 350 : _props$height,
73
91
  customStatus = props.status,
92
+ _props$enableSanitiza = props.enableSanitization,
93
+ enableSanitization = _props$enableSanitiza === void 0 ? true : _props$enableSanitiza,
94
+ _props$toolConfig = props.toolConfig,
95
+ toolConfig = _props$toolConfig === void 0 ? {} : _props$toolConfig,
96
+ _props$editConfig = props.editConfig,
97
+ editConfig = _props$editConfig === void 0 ? {} : _props$editConfig,
74
98
  rest = _objectWithoutProperties(props, _excluded);
75
99
  var mergedStatus = (0, _statusUtils.getMergedStatus)(contextStatus, customStatus);
76
- var _useState = (0, _react.useState)(null),
77
- _useState2 = _slicedToArray(_useState, 2),
78
- editor = _useState2[0],
79
- setEditor = _useState2[1];
100
+ var _useState5 = (0, _react.useState)(null),
101
+ _useState6 = _slicedToArray(_useState5, 2),
102
+ editor = _useState6[0],
103
+ setEditor = _useState6[1];
80
104
 
81
105
  // 及时销毁 editor ,重要!
82
106
  (0, _react.useEffect)(function () {
83
107
  return function () {
108
+ window.REGISTRY_UPLOAD_FILE = false;
109
+ if (editor == null) return;
84
110
  if (editor) {
85
111
  editor.destroy();
86
112
  setEditor(null);
87
113
  }
88
114
  };
89
115
  }, []);
116
+
117
+ // 修改安全的粘贴处理函数
118
+ var handleSafePaste = (0, _react.useCallback)( /*#__PURE__*/function () {
119
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(editor, event) {
120
+ var html, rtf, plainText, imgSrcs, rtfImageData;
121
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
122
+ while (1) switch (_context.prev = _context.next) {
123
+ case 0:
124
+ event.preventDefault();
125
+ _context.prev = 1;
126
+ // 获取粘贴内容
127
+ html = event.clipboardData.getData('text/html');
128
+ rtf = event.clipboardData.getData('text/rtf');
129
+ plainText = event.clipboardData.getData('text/plain'); // 如果没有HTML内容,直接粘贴纯文本
130
+ if (html) {
131
+ _context.next = 8;
132
+ break;
133
+ }
134
+ if (plainText) {
135
+ setTimeout(function () {
136
+ editor.insertText(plainText);
137
+ }, 0);
138
+ }
139
+ return _context.abrupt("return", false);
140
+ case 8:
141
+ // 安全过滤原始HTML内容
142
+ if (enableSanitization) {
143
+ html = (0, _wangEditorUtil.sanitizeHtml)(html);
144
+ }
145
+
146
+ // 处理Word粘贴(包含RTF数据)
147
+ if (!rtf) {
148
+ _context.next = 32;
149
+ break;
150
+ }
151
+ _context.prev = 10;
152
+ // 列表缩进会超出边框,直接过滤掉
153
+ html = html.replace(/text\-indent:\-(.*?)pt/gi, '');
154
+
155
+ // 从html内容中查找粘贴内容中是否有图片元素
156
+ imgSrcs = (0, _wangEditorUtil.findAllImgSrcsFromHtml)(html);
157
+ html = (0, _wangEditorUtil.replaceAllSpanFontSize)(html);
158
+
159
+ // 处理图片(如果有的话)
160
+ if (!(imgSrcs && Array.isArray(imgSrcs) && imgSrcs.length)) {
161
+ _context.next = 27;
162
+ break;
163
+ }
164
+ rtfImageData = (0, _wangEditorUtil.extractImageDataFromRtf)(rtf);
165
+ if (!rtfImageData.length) {
166
+ _context.next = 27;
167
+ break;
168
+ }
169
+ _context.prev = 17;
170
+ _context.next = 20;
171
+ return (0, _wangEditorUtil.replaceImagesFileSourceWithInlineRepresentation)(html, imgSrcs, rtfImageData, true, uploadUrl, downloadUrl);
172
+ case 20:
173
+ html = _context.sent;
174
+ // 对处理后的HTML再次进行安全过滤
175
+ if (enableSanitization) {
176
+ html = (0, _wangEditorUtil.sanitizeHtml)(html);
177
+ }
178
+ _context.next = 27;
179
+ break;
180
+ case 24:
181
+ _context.prev = 24;
182
+ _context.t0 = _context["catch"](17);
183
+ console.warn('图片处理失败,将跳过图片处理:', _context.t0.message);
184
+ // 图片处理失败时,保留原始HTML(不含图片)
185
+ // 不抛出错误,继续处理文字内容
186
+ case 27:
187
+ _context.next = 32;
188
+ break;
189
+ case 29:
190
+ _context.prev = 29;
191
+ _context.t1 = _context["catch"](10);
192
+ console.warn('Word内容处理失败,将粘贴原始内容:', _context.t1.message);
193
+ // 处理失败时,回退到原始HTML
194
+ case 32:
195
+ // 安全插入HTML(无论是处理过的还是原始的)
196
+ setTimeout(function () {
197
+ try {
198
+ editor.dangerouslyInsertHtml(html);
199
+ } catch (insertError) {
200
+ // 如果HTML插入失败,尝试插入纯文本作为备选
201
+ if (plainText) {
202
+ editor.insertText(plainText);
203
+ }
204
+ handleError(new Error('内容插入失败: ' + insertError.message));
205
+ }
206
+ }, 0);
207
+ return _context.abrupt("return", false);
208
+ case 36:
209
+ _context.prev = 36;
210
+ _context.t2 = _context["catch"](1);
211
+ // 最后的兜底处理
212
+ console.error('粘贴处理严重错误:', _context.t2);
213
+ if (event.clipboardData.getData('text/plain')) {
214
+ // 至少确保文字能够粘贴
215
+ setTimeout(function () {
216
+ editor.insertText(event.clipboardData.getData('text/plain'));
217
+ }, 0);
218
+ }
219
+ handleError(new Error('粘贴处理失败: ' + _context.t2.message));
220
+ return _context.abrupt("return", false);
221
+ case 42:
222
+ case "end":
223
+ return _context.stop();
224
+ }
225
+ }, _callee, null, [[1, 36], [10, 29], [17, 24]]);
226
+ }));
227
+ return function (_x, _x2) {
228
+ return _ref.apply(this, arguments);
229
+ };
230
+ }(), [uploadUrl, downloadUrl, enableSanitization, handleError]);
231
+
232
+ // 添加安全的onChange处理
233
+ var handleEditorChange = (0, _react.useCallback)(function (editor) {
234
+ try {
235
+ var newValue = editor.getHtml() || undefined;
236
+ // 对输出内容也进行安全过滤
237
+ var processedValue = enableSanitization && newValue !== undefined ? (0, _wangEditorUtil.sanitizeHtml)(newValue) : newValue;
238
+ console.log('编辑器内容变化,处理前内容:', newValue);
239
+ console.log('编辑器内容变化,处理后内容:', processedValue);
240
+ if (processedValue !== value) {
241
+ onChange(processedValue);
242
+ }
243
+ } catch (error) {
244
+ handleError(new Error('编辑器内容处理失败: ' + error.message));
245
+ }
246
+ }, [value, onChange, enableSanitization, handleError]);
247
+
90
248
  // 编辑器配置
91
- var editorConfig = {
249
+ var editorConfig = _objectSpread(_objectSpread({}, editConfig), {}, {
92
250
  MENU_CONF: {
93
251
  // 插入图片
94
252
  uploadImage: {
95
253
  server: uploadUrl,
96
- maxFileSize: maxFileSize,
254
+ maxFileSize: defaultMaxFileSize,
97
255
  maxNumberOfFiles: maxNumberOfFiles,
256
+ headers: {
257
+ access_token: (0, _getToken.default)(),
258
+ Authorization: 'Bearer ' + (0, _getToken.default)()
259
+ },
98
260
  // onSuccess(file, res) {},
261
+ onBeforeUpload: function onBeforeUpload(file) {
262
+ for (var key in file) {
263
+ if (file[key].size > maxFileSize) {
264
+ message.warn("\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236\uFF0C\u6700\u5927\u6587\u4EF6\u5927\u5C0F\u4E3A".concat(maxFileSize / 1024 / 1024, "M"));
265
+ // return { [key]: false };
266
+ return {};
267
+ }
268
+ }
269
+ return file;
270
+ },
271
+ onError: function onError(file, err, res) {
272
+ handleError(new Error(intl.getMessage('wangEditor.imageUploadFailed', '图片上传失败')));
273
+ },
99
274
  customInsert: function customInsert(res, insertFn) {
100
- console.log(res, insertFn);
101
- // res 即服务端的返回结果
102
- // res 中找到 url alt href ,然后插入图片
103
- if (res.result == 0) {
104
- res.data.map(function (item) {
105
- insertFn("".concat(downloadUrl).concat(item.id), item.fileName);
106
- });
107
- } else {
108
- console.log(111);
109
- throw new Error(intl.getMessage('wangEditor.imageInsertionFailed', '插入图片失败'));
275
+ try {
276
+ console.log(res, insertFn);
277
+ // res 即服务端的返回结果
278
+ // res 中找到 url alt href ,然后插入图片
279
+ if (res.result == 0) {
280
+ res.data.map(function (item) {
281
+ insertFn("".concat(downloadUrl).concat(item.id), item.fileName);
282
+ });
283
+ } else {
284
+ throw new Error(intl.getMessage('wangEditor.imageInsertionFailed', '插入图片失败'));
285
+ }
286
+ } catch (error) {
287
+ handleError(error);
110
288
  }
111
289
  }
112
290
  },
113
291
  // 插入视频
114
292
  uploadVideo: {
115
293
  server: uploadUrl,
294
+ maxFileSize: defaultMaxFileSize,
295
+ headers: {
296
+ access_token: (0, _getToken.default)(),
297
+ Authorization: 'Bearer ' + (0, _getToken.default)()
298
+ },
299
+ onError: function onError(file, err, res) {
300
+ handleError(new Error(intl.getMessage('wangEditor.videoUploadFailed', '视频上传失败')));
301
+ },
302
+ onBeforeUpload: function onBeforeUpload(file) {
303
+ for (var key in file) {
304
+ if (file[key].size > maxFileSize) {
305
+ message.warn("\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236\uFF0C\u6700\u5927\u6587\u4EF6\u5927\u5C0F\u4E3A".concat(maxFileSize / 1024 / 1024, "M"));
306
+ // return { [key]: false };
307
+ return {};
308
+ }
309
+ }
310
+ return file;
311
+ },
116
312
  // onSuccess(file, res) {},
117
313
  // 上传成功后,用户自定义插入文件
118
314
  customInsert: function customInsert(res, insertFn) {
119
- if (res.result == 0) {
120
- res.data.map(function (item) {
121
- insertFn("".concat(downloadUrl).concat(item.id), item.fileName);
122
- });
123
- } else {
124
- throw new Error(intl.getMessage('wangEditor.videoInsertionFailed', '插入视频失败'));
315
+ try {
316
+ if (res.result == 0) {
317
+ res.data.map(function (item) {
318
+ insertFn("".concat(downloadUrl).concat(item.id), item.fileName);
319
+ });
320
+ } else {
321
+ throw new Error(intl.getMessage('wangEditor.videoInsertionFailed', '插入视频失败'));
322
+ }
323
+ } catch (error) {
324
+ handleError(error);
125
325
  }
126
326
  }
127
327
  },
128
328
  // 插入附件
129
329
  uploadAttachment: {
130
330
  server: uploadUrl,
331
+ headers: {
332
+ access_token: (0, _getToken.default)(),
333
+ Authorization: 'Bearer ' + (0, _getToken.default)()
334
+ },
335
+ onError: function onError(file, err, res) {
336
+ handleError(new Error(intl.getMessage('wangEditor.attachmentUploadFailed', '附件上传失败')));
337
+ },
131
338
  // onSuccess(file, res) {},
132
339
  // 上传成功后,用户自定义插入文件
133
340
  customInsert: function customInsert(res, file, insertFn) {
134
- if (res.result == 0) {
135
- res.data.map(function (item) {
136
- insertFn(item.fileName, "".concat(downloadUrl).concat(item.id));
137
- });
138
- } else {
139
- throw new Error(intl.getMessage('wangEditor.attachmentInsertionFailed', '插入附件失败'));
341
+ try {
342
+ if (res.result == 0) {
343
+ res.data.map(function (item) {
344
+ console.log('插入附件:', item, insertFn);
345
+ insertFn(item.fileName, "".concat(downloadUrl).concat(item.id));
346
+ });
347
+ } else {
348
+ throw new Error(intl.getMessage('wangEditor.attachmentInsertionFailed', '插入附件失败'));
349
+ }
350
+ } catch (error) {
351
+ handleError(error);
140
352
  }
141
353
  }
142
354
  }
@@ -148,74 +360,19 @@ var VtxWangEditor = exports.VtxWangEditor = function VtxWangEditor(props) {
148
360
  menuKeys: ['downloadAttachment'] // “下载附件”菜单
149
361
  }
150
362
  },
151
- customPaste: function () {
152
- var _customPaste = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(editor, event) {
153
- var html, rtf, imgSrcs, rtfImageData;
154
- return _regeneratorRuntime().wrap(function _callee$(_context) {
155
- while (1) switch (_context.prev = _context.next) {
156
- case 0:
157
- event.preventDefault();
158
- // 获取粘贴的html部分(??没错粘贴word时候,一部分内容就是html),该部分包含了图片img标签
159
- html = event.clipboardData.getData('text/html'); // 获取rtf数据(从word、wps复制粘贴时有),复制粘贴过程中图片的数据就保存在rtf中
160
- rtf = event.clipboardData.getData('text/rtf'); // 该条件分支即表示要自定义word粘贴
161
- if (!(html && rtf)) {
162
- _context.next = 17;
163
- break;
164
- }
165
- // 列表缩进会超出边框,直接过滤掉
166
- html = html.replace(/text\-indent:\-(.*?)pt/gi, '');
167
-
168
- // 从html内容中查找粘贴内容中是否有图片元素,并返回img标签的属性src值的集合
169
- imgSrcs = (0, _wangEditorUtil.findAllImgSrcsFromHtml)(html);
170
- html = (0, _wangEditorUtil.replaceAllSpanFontSize)(html);
171
-
172
- // 如果有图片
173
- if (!(imgSrcs && Array.isArray(imgSrcs) && imgSrcs.length)) {
174
- _context.next = 13;
175
- break;
176
- }
177
- // 从rtf内容中查找图片数据
178
- // 从rtf内容中查找图片数据
179
- rtfImageData = (0, _wangEditorUtil.extractImageDataFromRtf)(rtf);
180
- if (!rtfImageData.length) {
181
- _context.next = 13;
182
- break;
183
- }
184
- _context.next = 12;
185
- return (0, _wangEditorUtil.replaceImagesFileSourceWithInlineRepresentation)(html, imgSrcs, rtfImageData, true, uploadUrl, downloadUrl);
186
- case 12:
187
- html = _context.sent;
188
- case 13:
189
- editor.dangerouslyInsertHtml(html);
190
- return _context.abrupt("return", false);
191
- case 17:
192
- if (!html) {
193
- _context.next = 20;
194
- break;
195
- }
196
- editor.dangerouslyInsertHtml(html);
197
- return _context.abrupt("return", false);
198
- case 20:
199
- case "end":
200
- return _context.stop();
201
- }
202
- }, _callee);
203
- }));
204
- function customPaste(_x, _x2) {
205
- return _customPaste.apply(this, arguments);
206
- }
207
- return customPaste;
208
- }()
209
- };
363
+ // 使用安全的粘贴处理函数
364
+ customPaste: handleSafePaste
365
+ });
210
366
  // 工具栏配置
211
- var toolbarConfig = {
367
+ var toolbarConfig = _objectSpread(_objectSpread({}, toolConfig), {}, {
368
+ // 自定义工具栏
212
369
  insertKeys: {
213
370
  // 自定义插入的位置
214
371
  index: 24,
215
372
  // “上传附件”菜单
216
373
  keys: ['uploadAttachment']
217
374
  }
218
- };
375
+ });
219
376
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
220
377
  className: (0, _classnames.default)(prefixCls, (0, _statusUtils.getStatusClassNames)(prefixCls, mergedStatus, hasFeedback), props.prefixCls),
221
378
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_editorForReact.Toolbar, {
@@ -224,19 +381,14 @@ var VtxWangEditor = exports.VtxWangEditor = function VtxWangEditor(props) {
224
381
  mode: "default"
225
382
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editorForReact.Editor, _objectSpread({
226
383
  defaultConfig: editorConfig,
227
- value: value ? value : '',
228
- onCreated: function onCreated(editor) {
229
- setEditor(editor);
230
- },
231
- onChange: function onChange(editor) {
232
- var nextValue = value ? value : undefined;
233
- var prevValue = editor.getHtml() ? editor.getHtml() : undefined;
234
- if (nextValue !== prevValue) {
235
- _onChange(editor.getHtml());
236
- }
237
- },
384
+ value: value ? enableSanitization ? (0, _wangEditorUtil.sanitizeHtml)(value) : value : '',
385
+ onCreated: setEditor,
386
+ onChange: handleEditorChange,
238
387
  mode: "default",
239
- className: (0, _classnames.default)("".concat(prefixCls, "-content"), hashId)
388
+ className: (0, _classnames.default)("".concat(prefixCls, "-content"), hashId),
389
+ style: {
390
+ height: height
391
+ }
240
392
  }, rest))]
241
393
  });
242
394
  };
@@ -247,5 +399,21 @@ VtxWangEditor.propTypes = {
247
399
  placeholder: _propTypes.default.string,
248
400
  downloadUrl: _propTypes.default.string,
249
401
  uploadUrl: _propTypes.default.string,
250
- height: _propTypes.default.number
402
+ height: _propTypes.default.number,
403
+ maxFileSize: _propTypes.default.number,
404
+ maxNumberOfFiles: _propTypes.default.number,
405
+ status: _propTypes.default.string,
406
+ prefixCls: _propTypes.default.string,
407
+ enableSanitization: _propTypes.default.bool // 是否启用HTML过滤
408
+ };
409
+
410
+ // 添加默认属性
411
+ VtxWangEditor.defaultProps = {
412
+ enableSanitization: true,
413
+ maxFileSize: 5 * 1024 * 1024,
414
+ maxNumberOfFiles: 5,
415
+ height: 350,
416
+ placeholder: '',
417
+ downloadUrl: '/cloudFile/common/downloadFile?id=',
418
+ uploadUrl: '/cloudFile/common/uploadFile'
251
419
  };