@web-utils/component 4.0.16 → 5.0.0-beta02

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 (325) hide show
  1. package/address-input/index.mjs +76 -74
  2. package/affix/index.mjs +71 -78
  3. package/aside-menu/index.mjs +20 -31
  4. package/avatar/index.mjs +94 -82
  5. package/awesome-button/index.mjs +54 -71
  6. package/capsule-tab/index.mjs +27 -32
  7. package/card/index.mjs +86 -69
  8. package/carousel/index.mjs +45 -32
  9. package/chat/index.mjs +441 -266
  10. package/chunk-file-uploader/index.mjs +2 -103
  11. package/chunks/ChunkFileUploader.C3EA0e5t.mjs +114 -0
  12. package/chunks/EditableTree.D0ByhRTi.mjs +648 -0
  13. package/chunks/ElementBaseInfo.B3pY8TkD.mjs +209 -0
  14. package/chunks/ElementDialog.DNsDHdQS.mjs +251 -0
  15. package/chunks/ElementForm.D_lXbe--.mjs +627 -0
  16. package/chunks/ElementListeners.Cufwd4bp.mjs +656 -0
  17. package/chunks/ElementMultiInstance.BhY8NY2z.mjs +290 -0
  18. package/chunks/ElementOtherConfig.DX1ZJ9w2.mjs +51 -0
  19. package/chunks/ElementProperties.BRafADXp.mjs +196 -0
  20. package/chunks/ElementTaskConfig.B6pqRir_.mjs +446 -0
  21. package/chunks/FlowCondition.Dvwji23j.mjs +194 -0
  22. package/chunks/FlowDesigner.LL-vXDIE.mjs +5100 -0
  23. package/chunks/FormBlock.Co7l6USP.mjs +117 -0
  24. package/chunks/FormCascader.DMY3uNc8.mjs +1227 -0
  25. package/chunks/FormInputTime.BC4FfWwY.mjs +1774 -0
  26. package/chunks/FormItem.BSXI2cZU.mjs +89 -0
  27. package/chunks/FormItemGroup.D2Htta7J.mjs +149 -0
  28. package/chunks/FormSelect.CY0K-izg.mjs +1473 -0
  29. package/chunks/FormSwitch.DLqFXaFF.mjs +297 -0
  30. package/chunks/FormTemp.PJFfNRls.mjs +139 -0
  31. package/chunks/FyCurd.me083T8V.mjs +2622 -0
  32. package/chunks/FyForm.vVp8aVtj.mjs +906 -0
  33. package/chunks/FyFormDesign.BCxVyiWY.mjs +5600 -0
  34. package/chunks/FyUEditor.BymtA5SJ.mjs +221 -0
  35. package/chunks/FyUpload.CA7Gfa6Q.mjs +504 -0
  36. package/chunks/ImagePreview.ByEWJYdu.mjs +639 -0
  37. package/chunks/Keyboard.4hi7CjGc.mjs +379 -0
  38. package/chunks/MonacoEditor.B7BUQwb7.mjs +302 -0
  39. package/chunks/PageableTable.Ba3XSbZ5.mjs +660 -0
  40. package/chunks/RecordVideo.VRFTaHSp.mjs +116 -0
  41. package/chunks/SignalAndMessage.DYhKWs3X.mjs +198 -0
  42. package/chunks/SplitPane.Bwe5Rc0J.mjs +219 -0
  43. package/chunks/TableColumn.72HOXQkb.mjs +186 -0
  44. package/chunks/TableView.BxfsOAxU.mjs +484 -0
  45. package/chunks/Toolbar.BVziVmyT.mjs +219 -0
  46. package/chunks/UserTaskListeners.CkeyTpnn.mjs +599 -0
  47. package/chunks/VueCron.DEvY5-i7.mjs +1823 -0
  48. package/chunks/VueTreeSelect.C6Ycu28Z.mjs +1873 -0
  49. package/chunks/_plugin-vue_export-helper.7vrlOII_.mjs +8 -0
  50. package/chunks/checkbox.C_9WZ8gc.mjs +437 -0
  51. package/chunks/confirmable-mixin.zegaXQTl.mjs +1762 -0
  52. package/chunks/core.DXaMPWGV.mjs +51 -0
  53. package/chunks/dataformat.CteBVoOe.mjs +144 -0
  54. package/chunks/dic.C0abEij9.mjs +116 -0
  55. package/chunks/dictionary.BRhZD-WH.mjs +19 -0
  56. package/chunks/dictionary.CNNpjPL2.mjs +87 -0
  57. package/chunks/event.B4iwtUNO.mjs +4 -0
  58. package/chunks/event.Dv4XTu8B.mjs +224 -0
  59. package/chunks/focus-trap.FbvlqAGe.mjs +211 -0
  60. package/chunks/form-input.BUGZmAI1.mjs +34 -0
  61. package/chunks/form-item.Ca8U2bIR.mjs +712 -0
  62. package/chunks/form-pick.DT5kumy4.mjs +7 -0
  63. package/chunks/form-validate.CUvMwtPN.mjs +11 -0
  64. package/chunks/icon.CxCY22-F.mjs +26 -0
  65. package/chunks/icon.ym7735_x.mjs +251 -0
  66. package/chunks/init.6jGmuY99.mjs +115 -0
  67. package/chunks/input.C2GWsuXE.mjs +547 -0
  68. package/chunks/install.yLcn5MLL.mjs +84 -0
  69. package/chunks/message.C4NdvfbE.mjs +400 -0
  70. package/chunks/packages.BLDb9e6G.mjs +56 -0
  71. package/chunks/permission.C-IUDxQQ.mjs +16 -0
  72. package/chunks/photo-swipe.BxnG4lip.mjs +55 -0
  73. package/chunks/radio.CeLeSOEo.mjs +273 -0
  74. package/chunks/scroll.DWjS-gnW.mjs +28 -0
  75. package/chunks/scrollbar.CAmrlKi9.mjs +345 -0
  76. package/chunks/slot.DT5QwXL-.mjs +25 -0
  77. package/chunks/style.BmlGmjpO.mjs +325 -0
  78. package/chunks/sub-table-plus-props.CRX7ERxJ.mjs +28 -0
  79. package/chunks/tab-mixin.7zuMMM1E.mjs +70 -0
  80. package/chunks/tag.ZhEIVRpP.mjs +141 -0
  81. package/chunks/tooltip.DNiltmX1.mjs +1939 -0
  82. package/chunks/typescript.CLl-2siQ.mjs +18 -0
  83. package/chunks/use-aria.BW7nWOl1.mjs +17 -0
  84. package/chunks/use-composition.mUaomyno.mjs +47 -0
  85. package/chunks/use-deprecated.BfDSbZS9.mjs +12 -0
  86. package/chunks/use-empty-values.D8KYIiKR.mjs +81 -0
  87. package/chunks/use-form-item.BlWa7ZKe.mjs +56 -0
  88. package/chunks/use-global-config.DRovgom9.mjs +57 -0
  89. package/chunks/use-locale.Be9HCpTQ.mjs +188 -0
  90. package/chunks/util.Ce4MHRmD.mjs +103 -0
  91. package/chunks/util.g-WQEec9.mjs +223 -0
  92. package/chunks/utilSelf.BttmSVX6.mjs +46 -0
  93. package/chunks/utils.BGJfM4oG.mjs +60 -0
  94. package/chunks/utils.CSPl1l4f.mjs +14 -0
  95. package/chunks/validator.DuBSEj8O.mjs +5 -0
  96. package/chunks/vnode.C3PXzhmg.mjs +14 -0
  97. package/code-mirror-editor/index.mjs +89 -88
  98. package/comment/index.mjs +62 -57
  99. package/configComponents.mjs +40 -50
  100. package/confirm-button/index.mjs +34 -46
  101. package/confirmable/index.mjs +7 -17
  102. package/context-menu/index.mjs +195 -174
  103. package/count-up/index.mjs +97 -105
  104. package/custom-scrollbar/index.mjs +91 -98
  105. package/data-box/index.mjs +64 -44
  106. package/data-box/style.css +1 -1
  107. package/data-card/index.mjs +60 -47
  108. package/data-card/style.css +1 -1
  109. package/data-card-text/index.mjs +63 -49
  110. package/data-display/index.mjs +71 -51
  111. package/data-display/style.css +1 -1
  112. package/data-icons/index.mjs +70 -50
  113. package/data-icons/style.css +1 -1
  114. package/data-imgtext/index.mjs +67 -43
  115. package/data-imgtext/style.css +1 -1
  116. package/data-operatext/index.mjs +51 -40
  117. package/data-operatext/style.css +1 -1
  118. package/data-panel/index.mjs +57 -44
  119. package/data-panel/style.css +1 -1
  120. package/data-pay/index.mjs +105 -48
  121. package/data-pay/style.css +1 -1
  122. package/data-price/index.mjs +48 -40
  123. package/data-price/style.css +1 -1
  124. package/data-progress/index.mjs +67 -44
  125. package/data-progress/style.css +1 -1
  126. package/data-rotate/index.mjs +61 -44
  127. package/data-rotate/style.css +1 -1
  128. package/data-table-picker/index.mjs +119 -71
  129. package/data-tabs/index.mjs +67 -44
  130. package/data-tabs/style.css +1 -1
  131. package/dialog-form/index.mjs +143 -87
  132. package/dynamic-table/index.mjs +166 -109
  133. package/e-charts/index.mjs +174 -200
  134. package/easy-popup/index.mjs +91 -102
  135. package/editable-progress/index.mjs +112 -83
  136. package/editable-tree/index.mjs +2 -481
  137. package/element-dialog/index.mjs +2 -306
  138. package/ellipsis/index.mjs +124 -148
  139. package/empty-view/index.mjs +48 -65
  140. package/error-view/index.mjs +39 -51
  141. package/flex-column/index.mjs +34 -51
  142. package/flex-item/index.mjs +60 -64
  143. package/flex-row/index.mjs +33 -39
  144. package/flex-scroller/index.mjs +29 -30
  145. package/flow/index.mjs +240 -247
  146. package/flow-designer/index.mjs +2 -4709
  147. package/flow-node/index.mjs +56 -64
  148. package/flow-viewer/index.mjs +159 -157
  149. package/form-block/index.mjs +2 -147
  150. package/form-button/index.mjs +35 -47
  151. package/form-card/index.mjs +14 -25
  152. package/form-cascader/index.mjs +2 -115
  153. package/form-checkbox/index.mjs +89 -70
  154. package/form-checkbox-group/index.mjs +161 -113
  155. package/form-date-picker/index.mjs +155 -142
  156. package/form-holder/index.mjs +134 -109
  157. package/form-input/index.mjs +113 -86
  158. package/form-input-cron-expression/index.mjs +97 -76
  159. package/form-input-email/index.mjs +65 -51
  160. package/form-input-id-card/index.mjs +73 -54
  161. package/form-input-phone-number/index.mjs +72 -56
  162. package/form-input-tag/index.mjs +88 -61
  163. package/form-input-time/index.mjs +2 -73
  164. package/form-item/index.mjs +2 -142
  165. package/form-item-config-provider/index.mjs +46 -60
  166. package/form-item-group/index.mjs +2 -157
  167. package/form-radio-group/index.mjs +161 -121
  168. package/form-select/index.mjs +2 -179
  169. package/form-switch/index.mjs +2 -54
  170. package/form-table/index.mjs +131 -84
  171. package/form-table-plus/index.mjs +164 -108
  172. package/form-textarea/index.mjs +90 -56
  173. package/form-tree-select/index.mjs +89 -71
  174. package/form-tree-select-multiple/index.mjs +92 -77
  175. package/form-view/index.mjs +280 -207
  176. package/fy-array/index.mjs +121 -70
  177. package/fy-article/index.mjs +73 -60
  178. package/fy-cascader/index.mjs +113 -90
  179. package/fy-checkbox/index.mjs +96 -64
  180. package/fy-code/index.mjs +48 -50
  181. package/fy-curd/index.mjs +2 -1879
  182. package/fy-date/index.mjs +76 -41
  183. package/fy-draggable/index.mjs +322 -317
  184. package/fy-dynamic/index.mjs +259 -224
  185. package/fy-empty/index.mjs +35 -36
  186. package/fy-form/index.mjs +2 -640
  187. package/fy-form-design/index.mjs +2 -2852
  188. package/fy-form-design/style.css +1 -1
  189. package/fy-from/crud/zh.d.ts +1 -1
  190. package/fy-input/index.mjs +117 -97
  191. package/fy-input-color/index.mjs +77 -54
  192. package/fy-input-icon/index.mjs +129 -82
  193. package/fy-input-map/index.mjs +242 -183
  194. package/fy-input-number/index.mjs +74 -49
  195. package/fy-input-table/index.mjs +160 -105
  196. package/fy-input-tree/index.mjs +259 -178
  197. package/fy-progress/index.mjs +36 -39
  198. package/fy-radio/index.mjs +53 -37
  199. package/fy-rate/index.mjs +86 -70
  200. package/fy-select/index.mjs +224 -137
  201. package/fy-slider/index.mjs +68 -43
  202. package/fy-switch/index.mjs +67 -41
  203. package/fy-tabs/index.mjs +46 -46
  204. package/fy-time/index.mjs +81 -53
  205. package/fy-title/index.mjs +18 -27
  206. package/fy-tree/index.mjs +382 -286
  207. package/fy-u-editor/index.mjs +2 -357
  208. package/fy-upload/index.mjs +2 -421
  209. package/guide-steps/index.mjs +72 -71
  210. package/helper-function.d.ts +3 -30
  211. package/helper-function.mjs +48 -67
  212. package/highlight-j-s/index.mjs +50 -59
  213. package/icon-card/index.mjs +34 -36
  214. package/icon-temp/index.mjs +27 -27
  215. package/iframe-window/index.mjs +39 -32
  216. package/image-cropper/index.mjs +171 -73
  217. package/image-preview/index.mjs +2 -116
  218. package/image-viewer/index.mjs +69 -66
  219. package/index.d.ts +3 -9
  220. package/index.mjs +173 -488
  221. package/input-number-range/index.mjs +78 -58
  222. package/j-s-x-component/index.mjs +13 -15
  223. package/keyboard/index.mjs +2 -369
  224. package/license/index.mjs +106 -115
  225. package/loading-view/index.mjs +39 -51
  226. package/login/index.mjs +252 -120
  227. package/monaco-editor/index.mjs +2 -7
  228. package/name-avatar/index.mjs +61 -53
  229. package/nav-bar/index.mjs +33 -30
  230. package/not-implement/index.mjs +10 -22
  231. package/notice/index.mjs +100 -93
  232. package/package.json +7 -7
  233. package/page/index.mjs +18 -25
  234. package/page-header/index.mjs +27 -33
  235. package/page-index/index.mjs +121 -99
  236. package/page-index-top/index.mjs +79 -74
  237. package/page-skeleton/index.mjs +47 -44
  238. package/page-skeleton-new/index.mjs +79 -49
  239. package/pageable-table/index.mjs +2 -512
  240. package/pageable-view/index.mjs +279 -274
  241. package/photo-swipe/index.d.ts +4 -0
  242. package/photo-swipe/index.mjs +33 -36
  243. package/picker-table-view/index.mjs +224 -117
  244. package/present-view/index.mjs +271 -196
  245. package/queue/index.mjs +45 -53
  246. package/record-video/index.mjs +2 -134
  247. package/resize-observer/index.mjs +43 -46
  248. package/search/index.mjs +116 -107
  249. package/sign/index.mjs +103 -110
  250. package/sign-panel/index.mjs +182 -141
  251. package/skeleton/index.mjs +51 -54
  252. package/skeleton-panel/index.mjs +33 -37
  253. package/split-pane/index.mjs +3 -196
  254. package/stateful/index.mjs +70 -73
  255. package/static-pageable-table/index.mjs +72 -64
  256. package/sub-table/index.mjs +508 -206
  257. package/sub-table-plus/index.mjs +592 -230
  258. package/swiper/index.mjs +128 -120
  259. package/tab/index.mjs +117 -119
  260. package/tab-item/index.mjs +48 -56
  261. package/table-column/index.mjs +2 -225
  262. package/table-view/index.mjs +3 -326
  263. package/tabs-view/index.mjs +109 -104
  264. package/tag-render/index.mjs +79 -67
  265. package/text-ellipsis/index.mjs +94 -77
  266. package/toolbar/index.mjs +2 -254
  267. package/toolbar-button/index.mjs +142 -120
  268. package/verify/index.mjs +58 -64
  269. package/vue-cron/index.mjs +2 -1180
  270. package/vue-qr-code/index.mjs +31 -54
  271. package/vue-quill-editor/index.mjs +123 -99
  272. package/vue-tags-input/index.mjs +348 -431
  273. package/vue-tree-select/index.mjs +2 -2627
  274. package/vue-video-player/index.mjs +135 -136
  275. package/watermark/index.mjs +46 -74
  276. package/web-types.json +225 -969
  277. package/x-input-tag/index.mjs +144 -106
  278. package/chunks/ElementBaseInfo.ZADwixb5.mjs +0 -125
  279. package/chunks/ElementForm.CQ3PN5qj.mjs +0 -223
  280. package/chunks/ElementListeners.De_PRuIm.mjs +0 -215
  281. package/chunks/ElementMultiInstance.DQo2wuAQ.mjs +0 -181
  282. package/chunks/ElementOtherConfig.B1NfMTYh.mjs +0 -60
  283. package/chunks/ElementProperties.CosfDrlW.mjs +0 -112
  284. package/chunks/ElementTaskConfig.Bko0kgTp.mjs +0 -317
  285. package/chunks/FlowCondition.Y6qEYi1T.mjs +0 -102
  286. package/chunks/FormTemp.BQxO5IQq.mjs +0 -123
  287. package/chunks/MonacoEditor.D31t4FTy.mjs +0 -327
  288. package/chunks/SignalAndMessage.Bb5PFX0N.mjs +0 -85
  289. package/chunks/UserTaskListeners.Bv3BDfEI.mjs +0 -169
  290. package/chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs +0 -10
  291. package/chunks/confirmable-mixin.B2TtLAdk.mjs +0 -86
  292. package/chunks/core.0Exl13Mz.mjs +0 -54
  293. package/chunks/dataformat.CpqOeGBl.mjs +0 -154
  294. package/chunks/dic.Dkl-leRW.mjs +0 -128
  295. package/chunks/dictionary.DGt59Ir7.mjs +0 -68
  296. package/chunks/dictionary.DqiP9x2m.mjs +0 -25
  297. package/chunks/event.9aDS6jcw.mjs +0 -236
  298. package/chunks/form-input.CvFdwlEV.mjs +0 -31
  299. package/chunks/form-item.LWjePsPa.mjs +0 -233
  300. package/chunks/form-pick.BFTIVn_i.mjs +0 -11
  301. package/chunks/form-validate.CVarNHKX.mjs +0 -12
  302. package/chunks/helper.BiMLcEEk.mjs +0 -41
  303. package/chunks/index.9OxHjTIE.mjs +0 -16
  304. package/chunks/index.B2TRddqf.mjs +0 -184
  305. package/chunks/index.BmYCjxZQ.mjs +0 -47
  306. package/chunks/init.DAsXSoLW.mjs +0 -122
  307. package/chunks/packages.ByyangTp.mjs +0 -58
  308. package/chunks/permission.CO31YIkD.mjs +0 -16
  309. package/chunks/slot.DXIbhGat.mjs +0 -27
  310. package/chunks/sub-table-plus-props.BVsD71hT.mjs +0 -30
  311. package/chunks/tab-mixin.BNK6dxLN.mjs +0 -81
  312. package/chunks/util.DqFv_pWg.mjs +0 -241
  313. package/chunks/utilSelf.Csq1766E.mjs +0 -48
  314. package/chunks/utils.DRcxC1Fb.mjs +0 -60
  315. package/color-picker/index.mjs +0 -78
  316. package/egd-collapse/index.mjs +0 -62
  317. package/egd-collapse-item/index.mjs +0 -72
  318. package/form-input-number/index.mjs +0 -69
  319. package/form-input-number/style.css +0 -1
  320. package/input-number/index.mjs +0 -232
  321. package/input-number/style.css +0 -1
  322. package/keep-view-alive/index.mjs +0 -117
  323. package/search-popover/index.mjs +0 -118
  324. package/search-popover/style.css +0 -1
  325. /package/{base.css → utils/style.css} +0 -0
@@ -1,481 +1,2 @@
1
- import { findTreeChildren as m, delay as y, isUndefined as l, isNotEmpty as x, fastClone as w, isPlainObject as r, isFunction as h, computePosition as N, isVerticalScrollbarVisible as C, scrollbarWidth as g, hasOwn as d } from "@web-utils/core";
2
- import { removeResizeListener as u, addResizeListener as p } from "@web-utils/integrations/resize";
3
- import { cloneDeep as f } from "@web-utils/integrations/lodash";
4
- import { a as v, b as $ } from "../chunks/index.B2TRddqf.mjs";
5
- import b from "vue";
6
- import { n as k } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
7
- function c(t, e) {
8
- for (const i in e)
9
- b.set(t, i, e[i]);
10
- return t;
11
- }
12
- const B = {
13
- name: "EditableTree",
14
- props: {
15
- label: {
16
- type: String,
17
- default: "书签"
18
- },
19
- addRootNodeLabel: {
20
- type: String
21
- },
22
- defaultExpandedKeys: {
23
- type: Array,
24
- default: () => []
25
- },
26
- newNodeBuilder: {
27
- type: Function,
28
- default: (t, e) => ({
29
- name: t,
30
- parentId: e.id
31
- })
32
- },
33
- contextMenu: Boolean,
34
- lazy: {
35
- type: Boolean,
36
- default: !0
37
- },
38
- expandFirstNode: {
39
- type: Boolean,
40
- default: !0
41
- },
42
- readonly: Boolean,
43
- saveApi: {
44
- type: Function
45
- },
46
- updateApi: {
47
- type: Function
48
- },
49
- deleteApi: {
50
- type: Function
51
- },
52
- fetchApi: {
53
- type: Function
54
- },
55
- customRootNode: {
56
- type: {
57
- type: Object,
58
- default: void 0
59
- }
60
- },
61
- rootNode: {
62
- type: Object
63
- },
64
- contextMenuIcon: Boolean,
65
- contextMenuInline: Boolean,
66
- treeProps: {
67
- type: Object,
68
- default: () => ({
69
- children: "children",
70
- label: "name",
71
- isLeaf: (t) => d(t, "hasChildren") ? !t.hasChildren : d(t, "hasChild") ? !t.hasChild : d(t, "children") && t.children ? t.children.length === 0 : !0
72
- })
73
- },
74
- menuLabel: {
75
- type: Object,
76
- default: () => ({
77
- appendPeer: "添加同级节点",
78
- appendChild: "添加",
79
- removeNode: "删除",
80
- editNode: "修改"
81
- })
82
- },
83
- icon: {
84
- type: [Function, Boolean],
85
- default: () => "el-icon-collection-tag"
86
- },
87
- confirmButton: {
88
- type: Boolean,
89
- default: !0
90
- },
91
- addRootNodeButtonStyle: {
92
- type: String,
93
- default: "top"
94
- },
95
- reserveExpandKey: Boolean,
96
- nodeKey: {
97
- type: String,
98
- default: "id"
99
- }
100
- },
101
- data() {
102
- return {
103
- loading: !1,
104
- showMenu: !1,
105
- empty: !0,
106
- expandedKeys: this.lazy ? [] : this.defaultExpandedKeys,
107
- treeData: [],
108
- curNode: {},
109
- curData: {},
110
- position: {},
111
- text: "",
112
- right: 4,
113
- treeKey: Date.now()
114
- };
115
- },
116
- computed: {
117
- defaultOptions() {
118
- return {
119
- confirmButtonText: "确定",
120
- cancelButtonText: "取消",
121
- closeOnClickModal: !1,
122
- modal: !0,
123
- inputErrorMessage: `${this.label}名不能为空!`,
124
- inputPlaceholder: `请输入${this.label}名...`,
125
- inputValidator: (t) => t != null && t.trim().length > 0
126
- };
127
- },
128
- innerTreeData() {
129
- var t;
130
- return (t = this.$attrs.data) != null && t.length ? this.$attrs.data : this.treeData;
131
- }
132
- },
133
- watch: {
134
- defaultExpandedKeys: {
135
- immediate: !0,
136
- handler(t) {
137
- this.expandedKeys = [...t];
138
- }
139
- }
140
- },
141
- created() {
142
- this.tryFetch();
143
- },
144
- mounted() {
145
- p(this.$refs.tree.$el, this.resize), p(this.$refs.treeWrapper, this.resize);
146
- },
147
- beforeDestroy() {
148
- u(this.$refs.tree.$el, this.resize), u(this.$refs.treeWrapper, this.resize);
149
- },
150
- methods: {
151
- filterTreeProperties: $,
152
- filterTreeEvents: v,
153
- addExpandKey(t) {
154
- this.reserveExpandKey && this.expandedKeys.push(t[this.nodeKey]);
155
- },
156
- removeExpandKey(t) {
157
- this.reserveExpandKey && (this.expandedKeys = this.expandedKeys.filter((e) => e !== t[this.nodeKey]));
158
- },
159
- resize() {
160
- C(this.$refs.treeWrapper) ? this.right = 4 + g : this.right = 4;
161
- },
162
- async showContextMenu(t, e, i) {
163
- e.contextmenu === !1 || e.id === -1 || e.id === 0 || e.edit === !0 || this.contextMenu && (this.curNode = i, this.curData = e, this.showMenu = !0, this.$refs.tree.setCurrentKey(e.id), await this.$nextTick(), this.position = N(t, this.$refs.contextMenu), window.addEventListener("click", this.hideContextMenu));
164
- },
165
- hideContextMenu() {
166
- this.showMenu = !1, window.removeEventListener("click", this.hideContextMenu);
167
- },
168
- async tryFetch() {
169
- var t;
170
- if (this.lazy === !1 && this.fetchApi) {
171
- const e = await this.fetchApi(((t = this.rootNode) == null ? void 0 : t.id) ?? -1, {});
172
- if (r(e.data) && (e.data = [e.data]), e.data = e.data || [], this.empty = e.data.length === 0, r(this.customRootNode)) {
173
- const i = f(this.customRootNode);
174
- i[this.treeProps.children || "children"] = e.data, this.treeData = [i];
175
- } else if (h(this.customRootNode)) {
176
- const i = this.customRootNode(e.data);
177
- i[this.treeProps.children || "children"] = e.data, this.treeData = r(i) ? [i] : i;
178
- } else
179
- this.treeData = e.data;
180
- }
181
- },
182
- async loadNode(t, e) {
183
- var i, s, n;
184
- if (t.level === 0) {
185
- const o = await this.fetchApi(((i = this.rootNode) == null ? void 0 : i.id) ?? -1, t);
186
- if (this.empty = o.data.length === 0, r(this.customRootNode)) {
187
- const a = f(this.customRootNode);
188
- a[this.treeProps.children || "children"] = o.data, e([a]);
189
- } else if (h(this.customRootNode)) {
190
- const a = this.customRootNode(o.data);
191
- a[this.treeProps.children || "children"] = o.data, this.treeData = r(a) ? [a] : a;
192
- } else
193
- e(o.data);
194
- await this.$nextTick(), this.$emit("root-node-loaded", o.data), this.defaultExpandedKeys ? this.expandedKeys = [(s = o == null ? void 0 : o.data[0]) == null ? void 0 : s.id, ...this.defaultExpandedKeys] : this.expandFirstNode && (this.expandedKeys = [(n = o == null ? void 0 : o.data[0]) == null ? void 0 : n.id]);
195
- } else {
196
- if (t.leaf || t.data.isTempNode)
197
- return e([]);
198
- const o = await this.fetchApi(t.data.id, t);
199
- e(o.data), await this.$nextTick(), this.$emit("node-loaded", o.data);
200
- }
201
- },
202
- clear() {
203
- this.cancelEdit(), this.removeNewNode();
204
- },
205
- clearChecked() {
206
- this.$refs.tree.setCheckedKeys([]);
207
- },
208
- removeNewNode() {
209
- this.newChild && this.newChild.id === -1 && (console.log(this.newChild), this.$refs.tree.remove(this.newChild), this.$emit("remove-new-node"));
210
- },
211
- cancelEdit() {
212
- this.editData && (l(this.editData.edit) ? this.$set(this.editData, "edit", !0) : this.editData.edit = !1);
213
- },
214
- async editNode(t, e) {
215
- !this.contextMenu || this.contextMenuIcon || this.contextMenuInline ? (this.clear(), this.editData = e, this.text = e[this.treeProps.label], l(e.edit) ? this.$set(e, "edit", !0) : e.edit = !0, await this.$nextTick(), this.$refs.labelTxt.focus()) : await this.$prompt(`请输入新的${this.label}名:`, {
216
- ...this.defaultOptions,
217
- inputValue: e[this.treeProps.label],
218
- beforeClose: async (i, s, n) => {
219
- if (i === "confirm") {
220
- try {
221
- s.confirmButtonLoading = !0, s.confirmButtonText = "处理中...", this.text = s.inputValue, await this.onConfirm(this.curNode, this.curData), n();
222
- } catch {
223
- s.confirmButtonText = "确定";
224
- }
225
- s.confirmButtonLoading = !1;
226
- } else
227
- n();
228
- }
229
- }).catch((i) => i);
230
- },
231
- async appendRootNode() {
232
- this.text = "", !this.contextMenu || this.contextMenuIcon || this.contextMenuInline ? (this.clear(), this.createNewChild(void 0), this.$refs.tree.root.insertChild({ data: this.newChild }, void 0, !0), await this.scrollIntoView(!0)) : await this.$prompt(`请输入${this.label}名:`, {
233
- ...this.defaultOptions,
234
- beforeClose: async (t, e, i) => {
235
- if (t === "confirm") {
236
- try {
237
- this.createNewChild(-1), e.confirmButtonLoading = !0, e.confirmButtonText = "处理中...";
238
- const s = await this.saveApi(this.newNodeBuilder(e.inputValue, { id: -1 }));
239
- this.newChild[this.treeProps.label] = e.inputValue, this.newChild.edit = !1, c(this.newChild, s.data), this.$refs.tree.root.insertChild({ data: this.newChild }, void 0, !0), await this.locateView(), i();
240
- } catch {
241
- e.confirmButtonText = "确定";
242
- }
243
- e.confirmButtonLoading = !1;
244
- } else
245
- i();
246
- }
247
- }).catch((t) => t);
248
- },
249
- appendChildNode(t) {
250
- this.text = "";
251
- const e = t.expanded;
252
- t.expand(async () => {
253
- !this.contextMenu || this.contextMenuIcon || this.contextMenuInline ? (this.clear(), this.createNewChild(t.data.id), this.$refs.tree.append(this.newChild, t), await this.scrollIntoView(e)) : await this.$prompt(`请输入${this.label}名:`, {
254
- ...this.defaultOptions,
255
- beforeClose: async (i, s, n) => {
256
- if (i === "confirm") {
257
- try {
258
- this.createNewChild(t.data.id), s.confirmButtonLoading = !0, s.confirmButtonText = "处理中...";
259
- const o = await this.saveApi(this.newNodeBuilder(s.inputValue, t.data));
260
- this.newChild[this.treeProps.label] = s.inputValue, this.newChild.edit = !1, c(this.newChild, o.data), this.$refs.tree.append(this.newChild, t), await this.locateView(), n();
261
- } catch {
262
- s.confirmButtonText = "确定";
263
- }
264
- s.confirmButtonLoading = !1;
265
- } else
266
- n();
267
- }
268
- }).catch((i) => i);
269
- });
270
- },
271
- appendChildNodeWithData(t, e, i) {
272
- this.text = "";
273
- const s = t.expanded;
274
- t.expand(async () => {
275
- this.clear(), this.newChild = {
276
- id: -1,
277
- parentId: e,
278
- [this.treeProps.label]: i,
279
- edit: !1,
280
- isTempNode: !0,
281
- hasChildren: !1
282
- }, this.$refs.tree.append(this.newChild, t), await this.scrollIntoView(s);
283
- });
284
- },
285
- appendPeerNode(t) {
286
- t.parent && t.parent.level !== 0 ? this.appendChildNode(t.parent) : this.appendRootNode();
287
- },
288
- async addRootNode(t) {
289
- this.$refs.tree.remove(t), await this.$nextTick(), this.$refs.tree.root.insertChild({ data: t }, void 0, !0);
290
- },
291
- async addChildNode(t) {
292
- this.curNode && this.curNode.level !== 0 ? this.curNode.expand(async () => {
293
- this.$refs.tree.remove(t), await this.$nextTick(), this.$refs.tree.append(t, this.curNode);
294
- }) : await this.addRootNode(t);
295
- },
296
- async addPeerNode(t) {
297
- this.curNode && this.curNode.parent && this.curNode.parent.level !== 0 ? this.curNode.parent.expand(async () => {
298
- this.$refs.tree.remove(t), await this.$nextTick(), this.$refs.tree.append(t, this.curNode.parent);
299
- }) : await this.addRootNode(t);
300
- },
301
- updateNode(t) {
302
- const e = this.$refs.tree.getNode(t);
303
- e && (e.data = t);
304
- },
305
- setCurrentKey(t) {
306
- var e;
307
- (e = this.$refs.tree) == null || e.setCurrentKey(t);
308
- },
309
- createNewChild(t) {
310
- this.newChild = {
311
- id: -1,
312
- parentId: t,
313
- [this.treeProps.label]: "",
314
- edit: !0,
315
- isTempNode: !0,
316
- hasChildren: !1
317
- }, this.$emit("create-new-node", this.newChild);
318
- },
319
- async removeNodeModal(t) {
320
- await this.$confirm(
321
- `你确定要删除${this.label}[<span class="break-word" style="color: orange">${t.data[this.treeProps.label]}</span>]吗?`,
322
- "系统提示",
323
- {
324
- type: "warning",
325
- modal: !0,
326
- dangerouslyUseHTMLString: !0,
327
- iconClass: "el-icon-question",
328
- closeOnClickModal: !1,
329
- confirmButtonClass: "el-button--danger",
330
- cancelButtonClass: "el-button--primary is-plain",
331
- beforeClose: async (e, i, s) => {
332
- if (e === "confirm") {
333
- try {
334
- i.confirmButtonLoading = !0, i.confirmButtonText = "删除...";
335
- const n = t.parent, o = await this.deleteApi(t.data.id);
336
- o.code === 0 ? (this.$message.success("删除成功!"), this.$refs.tree.remove(t), this.$emit("node-deleted", n, t.data), s()) : this.$message.error(o.message);
337
- } catch {
338
- }
339
- i.confirmButtonText = "确定", i.confirmButtonLoading = !1;
340
- } else
341
- s();
342
- }
343
- }
344
- ).catch((e) => e);
345
- },
346
- async removeNode(t) {
347
- try {
348
- const e = t.parent;
349
- if (this.deleteApi) {
350
- const i = await this.deleteApi(t.data.id);
351
- i.code === 0 ? (this.$message.success("删除成功!"), this.$refs.tree.remove(t), this.$emit("node-deleted", e, t.data)) : this.$message.error(i.message);
352
- } else
353
- this.$refs.tree.remove(t);
354
- } catch {
355
- }
356
- },
357
- async onConfirm(t, e) {
358
- if (e[this.treeProps.label] === this.text || !x(this.text)) {
359
- this.clear();
360
- return;
361
- }
362
- l(e.loading) ? this.$set(e, "loading", !0) : e.loading = !0;
363
- try {
364
- if (this.loading = !0, e.id === -1) {
365
- const i = await this.saveApi(this.newNodeBuilder(this.text, t.parent.data || { id: -1 })), s = w(e);
366
- c(e, { ...i.data, isTempNode: !1 }), this.$emit("node-added", e, s, t), this.registerNode(t);
367
- } else
368
- await this.updateApi({ ...e, [this.treeProps.label]: this.text });
369
- e[this.treeProps.label] = this.text, e.edit = !1, this.$emit("node-updated", e, t), this.text = "";
370
- } catch {
371
- }
372
- e.loading = !1, this.loading = !1;
373
- },
374
- onCancel(t, e) {
375
- e.id === -1 ? this.$refs.tree.remove(t) : e.edit = !1, this.text = "";
376
- },
377
- nodeClick(t, e, i) {
378
- this.hideContextMenu(), (l(t.loading) || !t.loading) && (this.curNode = e, this.curData = t, this.$emit("on-node-click", t, e, i));
379
- },
380
- getCurrentNode() {
381
- return this.$refs.tree.getCurrentNode();
382
- },
383
- async locateView() {
384
- await this.$nextTick();
385
- const t = this.$el.querySelector(`[data-id="${this.newChild.id}"]`);
386
- t && t.scrollIntoView();
387
- },
388
- async scrollIntoView(t) {
389
- var e, i;
390
- await this.$nextTick(), t || await y(300), (i = (e = this.$refs) == null ? void 0 : e.labelTxt) == null || i.focus();
391
- },
392
- inputKeyup(t, e, i) {
393
- t.keyCode === 13 && this.onConfirm(e, i), t.keyCode === 27 && this.clear();
394
- },
395
- inputBlur(t, e, i) {
396
- this.confirmButton || this.onConfirm(e, i);
397
- },
398
- getCheckedKeys() {
399
- return this.$refs.tree.getCheckedKeys();
400
- },
401
- setCheckedKeys(t) {
402
- this.$refs.tree.setCheckedKeys(t);
403
- },
404
- getCheckedNodes() {
405
- return this.$refs.tree.getCheckedNodes();
406
- },
407
- setCheckedNodes(t) {
408
- this.$refs.tree.setCheckedNodes(t);
409
- },
410
- getNode(t) {
411
- return this.$refs.tree.getNode(t);
412
- },
413
- getRootNode() {
414
- return this.$refs.tree.root;
415
- },
416
- findTreeNode(t) {
417
- return m(this.$refs.tree.root.childNodes, (e) => e.data === t || e.data.id === t, "childNodes");
418
- },
419
- registerNode(t) {
420
- t.store.registerNode(t), delete t.store.nodesMap[-1];
421
- },
422
- async reloadTree() {
423
- this.lazy ? this.treeKey = Date.now() : await this.tryFetch();
424
- }
425
- }
426
- };
427
- var _ = function() {
428
- var e = this, i = e._self._c;
429
- return i("div", { staticClass: "editable-tree" }, [!e.readonly && e.addRootNodeButtonStyle === "top-right" ? i("ElButton", { staticStyle: { position: "absolute", top: "4px", "z-index": "1" }, style: { right: `${e.right}px` }, attrs: { type: "primary", size: "mini", icon: "el-icon-plus", circle: "", plain: "" }, on: { click: function(s) {
430
- return s.stopPropagation(), e.$emit("add-root-node");
431
- } } }) : e._e(), i("div", { ref: "treeWrapper", staticClass: "et-tree-wrapper" }, [!e.readonly && e.addRootNodeButtonStyle === "top" ? i("div", { staticStyle: { "padding-left": "24px" } }, [i("ElButton", { attrs: { disabled: e.loading, size: "mini", type: "text" }, on: { click: e.appendRootNode } }, [i("i", { staticClass: "el-icon-lx-add" }), e._v(" " + e._s(e.addRootNodeLabel ? e.addRootNodeLabel : `添加${e.label}`) + " ")])], 1) : e._e(), i("ElTree", e._g(e._b({ key: e.treeKey, ref: "tree", staticClass: "flex-item", attrs: { "default-expanded-keys": e.expandedKeys, "expand-on-click-node": !1, "highlight-current": "", load: e.loadNode, data: e.innerTreeData, props: e.treeProps, lazy: e.lazy, "node-key": e.nodeKey }, on: { "node-click": e.nodeClick, "node-contextmenu": e.showContextMenu, "node-expand": e.addExpandKey, "node-collapse": e.removeExpandKey }, scopedSlots: e._u([{ key: "default", fn: function({ node: s, data: n }) {
432
- return [e._t("default", function() {
433
- return [n.edit ? [i("span", { staticClass: "custom-tree-node flex-row flex-item oh", attrs: { "data-id": n.id } }, [e.icon ? i("i", { staticClass: "node-icon shrink-0", class: n.loading ? "el-icon-loading" : "el-icon-edit-outline" }) : e._e(), i("ElInput", { ref: "labelTxt", staticClass: "node-input flex-item", attrs: { size: "mini", placeholder: e.defaultOptions.inputPlaceholder }, on: { blur: (o) => e.inputBlur(o, s, n) }, nativeOn: { keyup: function(o) {
434
- return ((a) => e.inputKeyup(a, s, n)).apply(null, arguments);
435
- }, click: function(o) {
436
- o.stopPropagation();
437
- } }, model: { value: e.text, callback: function(o) {
438
- e.text = o;
439
- }, expression: "text" } }), e.confirmButton ? [i("ElButton", { directives: [{ name: "show", rawName: "v-show", value: !n.loading, expression: "!data.loading" }], staticClass: "shrink-0", attrs: { size: "mini", type: "text" }, on: { click: function(o) {
440
- return o.stopPropagation(), e.onConfirm(s, n);
441
- } } }, [e._v("确定")]), i("ElButton", { directives: [{ name: "show", rawName: "v-show", value: !n.loading, expression: "!data.loading" }], staticClass: "shrink-0", attrs: { size: "mini", type: "text" }, on: { click: function(o) {
442
- return o.stopPropagation(), e.onCancel(s, n);
443
- } } }, [e._v("取消")])] : e._e()], 2)] : [i("span", { staticClass: "custom-tree-node", attrs: { "data-id": n.id } }, [i("span", { staticClass: "node-label flex-row flex-item oh ellipsis-1" }, [e.icon ? i("i", { staticClass: "node-icon", class: n.loading ? "el-icon-loading" : e.icon(n, s) }) : e._e(), i("span", { staticClass: "flex-item-relative", staticStyle: { height: "21px" } }, [i("span", { staticClass: "ellipsis-1 absolute-box et-tree-label", attrs: { title: s.label } }, [e._t("label", function() {
444
- return [e._v(e._s(s.label))];
445
- }, { data: n, node: s })], 2)]), e._t("label-suffix", null, { node: s, data: n })], 2), !e.contextMenu && !e.readonly ? i("span", { directives: [{ name: "show", rawName: "v-show", value: !n.loading && !e.loading, expression: "!data.loading && !loading" }], staticClass: "handle-actions" }, [i("ElButton", { attrs: { size: "mini", type: "text" }, on: { click: function(o) {
446
- return o.stopPropagation(), e.appendChildNode(s, n);
447
- } } }, [e._v("添加")]), i("ElButton", { attrs: { size: "mini", type: "text" }, on: { click: function(o) {
448
- return o.stopPropagation(), e.editNode(s, n);
449
- } } }, [e._v("修改")]), i("ElPopconfirm", { staticClass: "pop-confirm", attrs: { "icon-color": "red", title: "你确定要删除吗?" }, on: { confirm: function(o) {
450
- return e.removeNode(s, n);
451
- } }, scopedSlots: e._u([{ key: "reference", fn: function() {
452
- return [i("ElButton", { directives: [{ name: "show", rawName: "v-show", value: s.isLeaf, expression: "node.isLeaf" }], staticStyle: { "margin-left": "4px" }, attrs: { size: "mini", type: "text" }, on: { click: function(o) {
453
- o.stopPropagation();
454
- } } }, [e._v("删除")])];
455
- }, proxy: !0 }], null, !0) })], 1) : e._e(), e.contextMenuIcon && e.contextMenu && !e.readonly ? i("span", { directives: [{ name: "show", rawName: "v-show", value: !n.loading && !e.loading, expression: "!data.loading && !loading" }], staticClass: "handle-actions", staticStyle: { display: "inline-block" } }, [i("ElButton", { staticStyle: { padding: "6px 10px 0" }, attrs: { size: "mini", type: "text" }, on: { click: function(o) {
456
- return o.stopPropagation(), e.showContextMenu(o, n, s);
457
- } } }, [e._v(". . .")])], 1) : e._e()])]];
458
- }, { node: s, data: n })];
459
- } }], null, !0) }, "ElTree", e.filterTreeProperties(e.$attrs), !1), e.filterTreeEvents(e.$listeners))), e.contextMenu && !e.readonly ? i("div", { directives: [{ name: "show", rawName: "v-show", value: e.showMenu, expression: "showMenu" }], ref: "contextMenu", staticClass: "menu", style: e.position }, [i("ul", { staticClass: "menu-list" }, [e._t("context-menu", function() {
460
- return [i("li", { directives: [{ name: "show", rawName: "v-show", value: e.curData.id > -1, expression: "curData.id > -1" }], staticClass: "menu-item", on: { click: function(s) {
461
- return e.appendPeerNode(e.curNode, e.curData);
462
- } } }, [i("i", { staticClass: "menu-item-icon el-icon-lx-add", staticStyle: { color: "#228b22" } }), e._v(e._s(e.menuLabel.appendPeer) + " ")]), i("li", { staticClass: "menu-item", on: { click: function(s) {
463
- return e.appendChildNode(e.curNode, e.curData);
464
- } } }, [i("i", { staticClass: "menu-item-icon el-icon-lx-add", staticStyle: { color: "#228b22" } }), e._v(e._s(e.menuLabel.appendChild) + " ")]), i("li", { directives: [{ name: "show", rawName: "v-show", value: e.curData.id > -1, expression: "curData.id > -1" }], staticClass: "menu-item", on: { click: function(s) {
465
- return e.editNode(e.curNode, e.curData);
466
- } } }, [i("i", { staticClass: "menu-item-icon el-icon-edit-outline", staticStyle: { color: "#ffa500" } }), e._v(e._s(e.menuLabel.editNode) + " ")]), i("li", { directives: [{ name: "show", rawName: "v-show", value: e.curNode.isLeaf, expression: "curNode.isLeaf" }], staticClass: "menu-item", on: { click: function(s) {
467
- return e.removeNodeModal(e.curNode, e.curData);
468
- } } }, [i("i", { staticClass: "menu-item-icon el-icon-delete", staticStyle: { color: "#f00" } }), e._v(e._s(e.menuLabel.removeNode) + " ")])];
469
- }, { curNode: e.curNode, curData: e.curData })], 2)]) : e._e()], 1)], 1);
470
- }, T = [], K = /* @__PURE__ */ k(
471
- B,
472
- _,
473
- T,
474
- !1,
475
- null,
476
- null
477
- );
478
- const z = K.exports;
479
- export {
480
- z as default
481
- };
1
+ import { t as e } from "../chunks/EditableTree.D0ByhRTi.mjs";
2
+ export { e as default };