@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
@@ -0,0 +1,648 @@
1
+ import { t as e } from "./_plugin-vue_export-helper.7vrlOII_.mjs";
2
+ import { o as t, s as n } from "./util.Ce4MHRmD.mjs";
3
+ import { Fragment as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, mergeProps as u, normalizeClass as d, normalizeStyle as f, openBlock as p, renderSlot as m, resolveComponent as h, toDisplayString as g, toHandlers as _, vShow as v, withCtx as y, withDirectives as b, withModifiers as x } from "vue";
4
+ import { computePosition as S, delay as C, fastClone as w, findTreeChildren as T, hasOwn as E, isFunction as D, isNotEmpty as O, isPlainObject as k, isUndefined as A, isVerticalScrollbarVisible as j, scrollbarWidth as M } from "@web-utils/core";
5
+ import { cloneDeep as N } from "@web-utils/integrations/lodash";
6
+ import { addResizeListener as P, removeResizeListener as F } from "@web-utils/integrations/resize";
7
+ //#region src/util/reactive.js
8
+ function I(e, t) {
9
+ for (let n in t) e[n] = t[n];
10
+ return e;
11
+ }
12
+ //#endregion
13
+ //#region src/components/EditableTree.vue
14
+ var L = {
15
+ name: "EditableTree",
16
+ props: {
17
+ label: {
18
+ type: String,
19
+ default: "书签"
20
+ },
21
+ addRootNodeLabel: { type: String },
22
+ defaultExpandedKeys: {
23
+ type: Array,
24
+ default: () => []
25
+ },
26
+ newNodeBuilder: {
27
+ type: Function,
28
+ default: (e, t) => ({
29
+ name: e,
30
+ parentId: t.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: { type: Function },
44
+ updateApi: { type: Function },
45
+ deleteApi: { type: Function },
46
+ fetchApi: { type: Function },
47
+ customRootNode: { type: {
48
+ type: Object,
49
+ default: void 0
50
+ } },
51
+ rootNode: { type: Object },
52
+ contextMenuIcon: Boolean,
53
+ contextMenuInline: Boolean,
54
+ treeProps: {
55
+ type: Object,
56
+ default: () => ({
57
+ children: "children",
58
+ label: "name",
59
+ isLeaf: (e) => E(e, "hasChildren") ? !e.hasChildren : E(e, "hasChild") ? !e.hasChild : E(e, "children") && e.children ? e.children.length === 0 : !0
60
+ })
61
+ },
62
+ menuLabel: {
63
+ type: Object,
64
+ default: () => ({
65
+ appendPeer: "添加同级节点",
66
+ appendChild: "添加",
67
+ removeNode: "删除",
68
+ editNode: "修改"
69
+ })
70
+ },
71
+ icon: {
72
+ type: [Function, Boolean],
73
+ default: () => "el-icon-collection-tag"
74
+ },
75
+ confirmButton: {
76
+ type: Boolean,
77
+ default: !0
78
+ },
79
+ addRootNodeButtonStyle: {
80
+ type: String,
81
+ default: "top"
82
+ },
83
+ reserveExpandKey: Boolean,
84
+ nodeKey: {
85
+ type: String,
86
+ default: "id"
87
+ }
88
+ },
89
+ emits: [
90
+ "add-root-node",
91
+ "root-node-loaded",
92
+ "node-loaded",
93
+ "remove-new-node",
94
+ "create-new-node",
95
+ "node-added",
96
+ "node-updated",
97
+ "on-node-click"
98
+ ],
99
+ data() {
100
+ return {
101
+ loading: !1,
102
+ showMenu: !1,
103
+ empty: !0,
104
+ expandedKeys: this.lazy ? [] : this.defaultExpandedKeys,
105
+ treeData: [],
106
+ curNode: {},
107
+ curData: {},
108
+ position: {},
109
+ text: "",
110
+ right: 4,
111
+ treeKey: Date.now()
112
+ };
113
+ },
114
+ computed: {
115
+ defaultOptions() {
116
+ return {
117
+ confirmButtonText: "确定",
118
+ cancelButtonText: "取消",
119
+ closeOnClickModal: !1,
120
+ modal: !0,
121
+ inputErrorMessage: `${this.label}名不能为空!`,
122
+ inputPlaceholder: `请输入${this.label}名...`,
123
+ inputValidator: (e) => e != null && e.trim().length > 0
124
+ };
125
+ },
126
+ innerTreeData() {
127
+ var e;
128
+ return (e = this.$attrs.data) != null && e.length ? this.$attrs.data : this.treeData;
129
+ }
130
+ },
131
+ watch: { defaultExpandedKeys: {
132
+ immediate: !0,
133
+ handler(e) {
134
+ this.expandedKeys = [...e];
135
+ }
136
+ } },
137
+ created() {
138
+ this.tryFetch();
139
+ },
140
+ mounted() {
141
+ P(this.$refs.tree.$el, this.resize), P(this.$refs.treeWrapper, this.resize);
142
+ },
143
+ beforeUnmount() {
144
+ F(this.$refs.tree.$el, this.resize), F(this.$refs.treeWrapper, this.resize);
145
+ },
146
+ methods: {
147
+ filterTreeProperties: n,
148
+ filterTreeEvents: t,
149
+ addExpandKey(e) {
150
+ this.reserveExpandKey && this.expandedKeys.push(e[this.nodeKey]);
151
+ },
152
+ removeExpandKey(e) {
153
+ this.reserveExpandKey && (this.expandedKeys = this.expandedKeys.filter((t) => t !== e[this.nodeKey]));
154
+ },
155
+ resize() {
156
+ j(this.$refs.treeWrapper) ? this.right = 4 + M : this.right = 4;
157
+ },
158
+ async showContextMenu(e, t, n) {
159
+ t.contextmenu === !1 || t.id === -1 || t.id === 0 || t.edit === !0 || this.contextMenu && (this.curNode = n, this.curData = t, this.showMenu = !0, this.$refs.tree.setCurrentKey(t.id), await this.$nextTick(), this.position = S(e, this.$refs.contextMenu), window.addEventListener("click", this.hideContextMenu));
160
+ },
161
+ hideContextMenu() {
162
+ this.showMenu = !1, window.removeEventListener("click", this.hideContextMenu);
163
+ },
164
+ async tryFetch() {
165
+ if (this.lazy === !1 && this.fetchApi) {
166
+ var e;
167
+ let t = await this.fetchApi(((e = this.rootNode) == null ? void 0 : e.id) ?? -1, {});
168
+ if (k(t.data) && (t.data = [t.data]), t.data = t.data || [], this.empty = t.data.length === 0, k(this.customRootNode)) {
169
+ let e = N(this.customRootNode);
170
+ e[this.treeProps.children || "children"] = t.data, this.treeData = [e];
171
+ } else if (D(this.customRootNode)) {
172
+ let e = this.customRootNode(t.data);
173
+ e[this.treeProps.children || "children"] = t.data, this.treeData = k(e) ? [e] : e;
174
+ } else this.treeData = t.data;
175
+ }
176
+ },
177
+ async loadNode(e, t) {
178
+ if (e.level === 0) {
179
+ var n;
180
+ let a = await this.fetchApi(((n = this.rootNode) == null ? void 0 : n.id) ?? -1, e);
181
+ if (this.empty = a.data.length === 0, k(this.customRootNode)) {
182
+ let e = N(this.customRootNode);
183
+ e[this.treeProps.children || "children"] = a.data, t([e]);
184
+ } else if (D(this.customRootNode)) {
185
+ let e = this.customRootNode(a.data);
186
+ e[this.treeProps.children || "children"] = a.data, this.treeData = k(e) ? [e] : e;
187
+ } else t(a.data);
188
+ if (await this.$nextTick(), this.$emit("root-node-loaded", a.data), this.defaultExpandedKeys) {
189
+ var r;
190
+ this.expandedKeys = [a == null || (r = a.data[0]) == null ? void 0 : r.id, ...this.defaultExpandedKeys];
191
+ } else if (this.expandFirstNode) {
192
+ var i;
193
+ this.expandedKeys = [a == null || (i = a.data[0]) == null ? void 0 : i.id];
194
+ }
195
+ } else {
196
+ if (e.leaf || e.data.isTempNode) return t([]);
197
+ let n = await this.fetchApi(e.data.id, e);
198
+ t(n.data), await this.$nextTick(), this.$emit("node-loaded", n.data);
199
+ }
200
+ },
201
+ clear() {
202
+ this.cancelEdit(), this.removeNewNode();
203
+ },
204
+ clearChecked() {
205
+ this.$refs.tree.setCheckedKeys([]);
206
+ },
207
+ removeNewNode() {
208
+ this.newChild && this.newChild.id === -1 && (console.log(this.newChild), this.$refs.tree.remove(this.newChild), this.$emit("remove-new-node"));
209
+ },
210
+ cancelEdit() {
211
+ this.editData && (A(this.editData.edit) ? this.$set(this.editData, "edit", !0) : this.editData.edit = !1);
212
+ },
213
+ async editNode(e, t) {
214
+ !this.contextMenu || this.contextMenuIcon || this.contextMenuInline ? (this.clear(), this.editData = t, this.text = t[this.treeProps.label], A(t.edit) ? this.$set(t, "edit", !0) : t.edit = !0, await this.$nextTick(), this.$refs.labelTxt.focus()) : await this.$prompt(`请输入新的${this.label}名:`, {
215
+ ...this.defaultOptions,
216
+ inputValue: t[this.treeProps.label],
217
+ beforeClose: async (e, t, n) => {
218
+ if (e === "confirm") {
219
+ try {
220
+ t.confirmButtonLoading = !0, t.confirmButtonText = "处理中...", this.text = t.inputValue, await this.onConfirm(this.curNode, this.curData), n();
221
+ } catch {
222
+ t.confirmButtonText = "确定";
223
+ }
224
+ t.confirmButtonLoading = !1;
225
+ } else n();
226
+ }
227
+ }).catch((e) => e);
228
+ },
229
+ async appendRootNode() {
230
+ 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}名:`, {
231
+ ...this.defaultOptions,
232
+ beforeClose: async (e, t, n) => {
233
+ if (e === "confirm") {
234
+ try {
235
+ this.createNewChild(-1), t.confirmButtonLoading = !0, t.confirmButtonText = "处理中...";
236
+ let e = await this.saveApi(this.newNodeBuilder(t.inputValue, { id: -1 }));
237
+ this.newChild[this.treeProps.label] = t.inputValue, this.newChild.edit = !1, I(this.newChild, e.data), this.$refs.tree.root.insertChild({ data: this.newChild }, void 0, !0), await this.locateView(), n();
238
+ } catch {
239
+ t.confirmButtonText = "确定";
240
+ }
241
+ t.confirmButtonLoading = !1;
242
+ } else n();
243
+ }
244
+ }).catch((e) => e);
245
+ },
246
+ appendChildNode(e) {
247
+ this.text = "";
248
+ let t = e.expanded;
249
+ e.expand(async () => {
250
+ !this.contextMenu || this.contextMenuIcon || this.contextMenuInline ? (this.clear(), this.createNewChild(e.data.id), this.$refs.tree.append(this.newChild, e), await this.scrollIntoView(t)) : await this.$prompt(`请输入${this.label}名:`, {
251
+ ...this.defaultOptions,
252
+ beforeClose: async (t, n, r) => {
253
+ if (t === "confirm") {
254
+ try {
255
+ this.createNewChild(e.data.id), n.confirmButtonLoading = !0, n.confirmButtonText = "处理中...";
256
+ let t = await this.saveApi(this.newNodeBuilder(n.inputValue, e.data));
257
+ this.newChild[this.treeProps.label] = n.inputValue, this.newChild.edit = !1, I(this.newChild, t.data), this.$refs.tree.append(this.newChild, e), await this.locateView(), r();
258
+ } catch {
259
+ n.confirmButtonText = "确定";
260
+ }
261
+ n.confirmButtonLoading = !1;
262
+ } else r();
263
+ }
264
+ }).catch((e) => e);
265
+ });
266
+ },
267
+ appendChildNodeWithData(e, t, n) {
268
+ this.text = "";
269
+ let r = e.expanded;
270
+ e.expand(async () => {
271
+ this.clear(), this.newChild = {
272
+ id: -1,
273
+ parentId: t,
274
+ [this.treeProps.label]: n,
275
+ edit: !1,
276
+ isTempNode: !0,
277
+ hasChildren: !1
278
+ }, this.$refs.tree.append(this.newChild, e), await this.scrollIntoView(r);
279
+ });
280
+ },
281
+ appendPeerNode(e) {
282
+ e.parent && e.parent.level !== 0 ? this.appendChildNode(e.parent) : this.appendRootNode();
283
+ },
284
+ async addRootNode(e) {
285
+ this.$refs.tree.remove(e), await this.$nextTick(), this.$refs.tree.root.insertChild({ data: e }, void 0, !0);
286
+ },
287
+ async addChildNode(e) {
288
+ this.curNode && this.curNode.level !== 0 ? this.curNode.expand(async () => {
289
+ this.$refs.tree.remove(e), await this.$nextTick(), this.$refs.tree.append(e, this.curNode);
290
+ }) : await this.addRootNode(e);
291
+ },
292
+ async addPeerNode(e) {
293
+ this.curNode && this.curNode.parent && this.curNode.parent.level !== 0 ? this.curNode.parent.expand(async () => {
294
+ this.$refs.tree.remove(e), await this.$nextTick(), this.$refs.tree.append(e, this.curNode.parent);
295
+ }) : await this.addRootNode(e);
296
+ },
297
+ updateNode(e) {
298
+ let t = this.$refs.tree.getNode(e);
299
+ t && (t.data = e);
300
+ },
301
+ setCurrentKey(e) {
302
+ var t;
303
+ (t = this.$refs.tree) == null || t.setCurrentKey(e);
304
+ },
305
+ createNewChild(e) {
306
+ this.newChild = {
307
+ id: -1,
308
+ parentId: e,
309
+ [this.treeProps.label]: "",
310
+ edit: !0,
311
+ isTempNode: !0,
312
+ hasChildren: !1
313
+ }, this.$emit("create-new-node", this.newChild);
314
+ },
315
+ async removeNodeModal(e) {
316
+ await this.$confirm(`你确定要删除${this.label}[<span class="break-word" style="color: orange">${e.data[this.treeProps.label]}</span>]吗?`, "系统提示", {
317
+ type: "warning",
318
+ modal: !0,
319
+ dangerouslyUseHTMLString: !0,
320
+ iconClass: "el-icon-question",
321
+ closeOnClickModal: !1,
322
+ confirmButtonClass: "el-button--danger",
323
+ cancelButtonClass: "el-button--primary is-plain",
324
+ beforeClose: async (t, n, r) => {
325
+ if (t === "confirm") {
326
+ try {
327
+ n.confirmButtonLoading = !0, n.confirmButtonText = "删除...";
328
+ let t = e.parent, i = await this.deleteApi(e.data.id);
329
+ i.code === 0 ? (this.$message.success("删除成功!"), this.$refs.tree.remove(e), this.$emit("node-deleted", t, e.data), r()) : this.$message.error(i.message);
330
+ } catch {}
331
+ n.confirmButtonText = "确定", n.confirmButtonLoading = !1;
332
+ } else r();
333
+ }
334
+ }).catch((e) => e);
335
+ },
336
+ async removeNode(e) {
337
+ try {
338
+ let t = e.parent;
339
+ if (this.deleteApi) {
340
+ let n = await this.deleteApi(e.data.id);
341
+ n.code === 0 ? (this.$message.success("删除成功!"), this.$refs.tree.remove(e), this.$emit("node-deleted", t, e.data)) : this.$message.error(n.message);
342
+ } else this.$refs.tree.remove(e);
343
+ } catch {}
344
+ },
345
+ async onConfirm(e, t) {
346
+ if (t[this.treeProps.label] === this.text || !O(this.text)) {
347
+ this.clear();
348
+ return;
349
+ }
350
+ A(t.loading) ? this.$set(t, "loading", !0) : t.loading = !0;
351
+ try {
352
+ if (this.loading = !0, t.id === -1) {
353
+ let n = await this.saveApi(this.newNodeBuilder(this.text, e.parent.data || { id: -1 })), r = w(t);
354
+ I(t, {
355
+ ...n.data,
356
+ isTempNode: !1
357
+ }), this.$emit("node-added", t, r, e), this.registerNode(e);
358
+ } else await this.updateApi({
359
+ ...t,
360
+ [this.treeProps.label]: this.text
361
+ });
362
+ t[this.treeProps.label] = this.text, t.edit = !1, this.$emit("node-updated", t, e), this.text = "";
363
+ } catch {}
364
+ t.loading = !1, this.loading = !1;
365
+ },
366
+ onCancel(e, t) {
367
+ t.id === -1 ? this.$refs.tree.remove(e) : t.edit = !1, this.text = "";
368
+ },
369
+ nodeClick(e, t, n) {
370
+ this.hideContextMenu(), (A(e.loading) || !e.loading) && (this.curNode = t, this.curData = e, this.$emit("on-node-click", e, t, n));
371
+ },
372
+ getCurrentNode() {
373
+ return this.$refs.tree.getCurrentNode();
374
+ },
375
+ async locateView() {
376
+ await this.$nextTick();
377
+ let e = this.$el.querySelector(`[data-id="${this.newChild.id}"]`);
378
+ e && e.scrollIntoView();
379
+ },
380
+ async scrollIntoView(e) {
381
+ var t;
382
+ await this.$nextTick(), e || await C(300), (t = this.$refs) == null || (t = t.labelTxt) == null || t.focus();
383
+ },
384
+ inputKeyup(e, t, n) {
385
+ e.keyCode === 13 && this.onConfirm(t, n), e.keyCode === 27 && this.clear();
386
+ },
387
+ inputBlur(e, t, n) {
388
+ this.confirmButton || this.onConfirm(t, n);
389
+ },
390
+ getCheckedKeys() {
391
+ return this.$refs.tree.getCheckedKeys();
392
+ },
393
+ setCheckedKeys(e) {
394
+ this.$refs.tree.setCheckedKeys(e);
395
+ },
396
+ getCheckedNodes() {
397
+ return this.$refs.tree.getCheckedNodes();
398
+ },
399
+ setCheckedNodes(e) {
400
+ this.$refs.tree.setCheckedNodes(e);
401
+ },
402
+ getNode(e) {
403
+ return this.$refs.tree.getNode(e);
404
+ },
405
+ getRootNode() {
406
+ return this.$refs.tree.root;
407
+ },
408
+ findTreeNode(e) {
409
+ return T(this.$refs.tree.root.childNodes, (t) => t.data === e || t.data.id === e, "childNodes");
410
+ },
411
+ registerNode(e) {
412
+ e.store.registerNode(e), delete e.store.nodesMap[-1];
413
+ },
414
+ async reloadTree() {
415
+ this.lazy ? this.treeKey = Date.now() : await this.tryFetch();
416
+ }
417
+ }
418
+ }, R = { class: "editable-tree" }, z = {
419
+ ref: "treeWrapper",
420
+ class: "et-tree-wrapper"
421
+ }, B = {
422
+ key: 0,
423
+ style: { "padding-left": "24px" }
424
+ }, V = ["data-id"], H = { class: "node-label flex-row flex-item oh ellipsis-1" }, U = {
425
+ class: "flex-item-relative",
426
+ style: { height: "21px" }
427
+ }, W = ["title"], G = {
428
+ key: 0,
429
+ class: "handle-actions"
430
+ }, K = {
431
+ key: 1,
432
+ class: "handle-actions",
433
+ style: { display: "inline-block" }
434
+ }, q = ["data-id"], J = { class: "menu-list" };
435
+ function Y(e, t, n, S, C, w) {
436
+ let T = h("ElButton"), E = h("ElPopconfirm"), D = h("ElInput"), O = h("ElTree");
437
+ return p(), o("div", R, [
438
+ a(" 添加根节点事件\r\n @event add-root-node "),
439
+ !n.readonly && n.addRootNodeButtonStyle === "top-right" ? (p(), i(T, {
440
+ key: 0,
441
+ type: "primary",
442
+ size: "default",
443
+ style: f([{
444
+ position: "absolute",
445
+ top: "4px",
446
+ "z-index": "1"
447
+ }, { right: `${C.right}px` }]),
448
+ icon: "el-icon-plus",
449
+ circle: "",
450
+ plain: "",
451
+ onClick: t[0] || (t[0] = x((t) => e.$emit("add-root-node"), ["stop"]))
452
+ }, null, 8, ["style"])) : a("v-if", !0),
453
+ s("div", z, [
454
+ !n.readonly && n.addRootNodeButtonStyle === "top" ? (p(), o("div", B, [l(T, {
455
+ disabled: C.loading,
456
+ size: "default",
457
+ type: "text",
458
+ onClick: w.appendRootNode
459
+ }, {
460
+ default: y(() => [t[8] || (t[8] = s("i", { class: "el-icon-lx-add" }, null, -1)), c(" " + g(n.addRootNodeLabel ? n.addRootNodeLabel : `添加${n.label}`), 1)]),
461
+ _: 1
462
+ }, 8, ["disabled", "onClick"])])) : a("v-if", !0),
463
+ (p(), i(O, u(w.filterTreeProperties(e.$attrs), {
464
+ key: C.treeKey,
465
+ ref: "tree",
466
+ class: "flex-item",
467
+ "default-expanded-keys": C.expandedKeys,
468
+ "expand-on-click-node": !1,
469
+ "highlight-current": "",
470
+ load: w.loadNode,
471
+ data: w.innerTreeData,
472
+ props: n.treeProps,
473
+ lazy: n.lazy,
474
+ "node-key": n.nodeKey
475
+ }, _(w.filterTreeEvents(e.$listeners)), {
476
+ onNodeClick: w.nodeClick,
477
+ onNodeContextmenu: w.showContextMenu,
478
+ onNodeExpand: w.addExpandKey,
479
+ onNodeCollapse: w.removeExpandKey
480
+ }), {
481
+ default: y(({ node: i, data: u }) => [m(e.$slots, "default", {
482
+ node: i,
483
+ data: u
484
+ }, () => [a("非编辑模式"), u.edit ? (p(), o(r, { key: 1 }, [a("编辑模式"), s("span", {
485
+ "data-id": u.id,
486
+ class: "custom-tree-node flex-row flex-item oh"
487
+ }, [
488
+ n.icon ? (p(), o("i", {
489
+ key: 0,
490
+ class: d([u.loading ? "el-icon-loading" : "el-icon-edit-outline", "node-icon shrink-0"])
491
+ }, null, 2)) : a("v-if", !0),
492
+ l(D, {
493
+ ref: "labelTxt",
494
+ modelValue: C.text,
495
+ "onUpdate:modelValue": t[2] || (t[2] = (e) => C.text = e),
496
+ class: "node-input flex-item",
497
+ size: "default",
498
+ placeholder: w.defaultOptions.inputPlaceholder,
499
+ onKeyup: (e) => w.inputKeyup(e, i, u),
500
+ onBlur: (e) => w.inputBlur(e, i, u),
501
+ onClick: t[3] || (t[3] = x(() => {}, ["stop"]))
502
+ }, null, 8, [
503
+ "modelValue",
504
+ "placeholder",
505
+ "onKeyup",
506
+ "onBlur"
507
+ ]),
508
+ n.confirmButton ? (p(), o(r, { key: 1 }, [b(l(T, {
509
+ class: "shrink-0",
510
+ size: "default",
511
+ type: "text",
512
+ onClick: x((e) => w.onConfirm(i, u), ["stop"])
513
+ }, {
514
+ default: y(() => [...t[13] || (t[13] = [c("确定", -1)])]),
515
+ _: 1
516
+ }, 8, ["onClick"]), [[v, !u.loading]]), b(l(T, {
517
+ class: "shrink-0",
518
+ size: "default",
519
+ type: "text",
520
+ onClick: x((e) => w.onCancel(i, u), ["stop"])
521
+ }, {
522
+ default: y(() => [...t[14] || (t[14] = [c("取消", -1)])]),
523
+ _: 1
524
+ }, 8, ["onClick"]), [[v, !u.loading]])], 64)) : a("v-if", !0)
525
+ ], 8, q)], 64)) : (p(), o("span", {
526
+ key: 0,
527
+ "data-id": u.id,
528
+ class: "custom-tree-node"
529
+ }, [
530
+ s("span", H, [
531
+ n.icon ? (p(), o("i", {
532
+ key: 0,
533
+ class: d([u.loading ? "el-icon-loading" : n.icon(u, i), "node-icon"])
534
+ }, null, 2)) : a("v-if", !0),
535
+ s("span", U, [s("span", {
536
+ class: "ellipsis-1 absolute-box et-tree-label",
537
+ title: i.label
538
+ }, [m(e.$slots, "label", {
539
+ data: u,
540
+ node: i
541
+ }, () => [c(g(i.label), 1)])], 8, W)]),
542
+ m(e.$slots, "label-suffix", {
543
+ node: i,
544
+ data: u
545
+ })
546
+ ]),
547
+ !n.contextMenu && !n.readonly ? b((p(), o("span", G, [
548
+ l(T, {
549
+ size: "default",
550
+ type: "text",
551
+ onClick: x((e) => w.appendChildNode(i, u), ["stop"])
552
+ }, {
553
+ default: y(() => [...t[9] || (t[9] = [c("添加", -1)])]),
554
+ _: 1
555
+ }, 8, ["onClick"]),
556
+ l(T, {
557
+ size: "default",
558
+ type: "text",
559
+ onClick: x((e) => w.editNode(i, u), ["stop"])
560
+ }, {
561
+ default: y(() => [...t[10] || (t[10] = [c("修改", -1)])]),
562
+ _: 1
563
+ }, 8, ["onClick"]),
564
+ l(E, {
565
+ class: "pop-confirm",
566
+ "icon-color": "red",
567
+ title: "你确定要删除吗?",
568
+ onConfirm: (e) => w.removeNode(i, u)
569
+ }, {
570
+ reference: y(() => [b(l(T, {
571
+ size: "default",
572
+ style: { "margin-left": "4px" },
573
+ type: "text",
574
+ onClick: t[1] || (t[1] = x(() => {}, ["stop"]))
575
+ }, {
576
+ default: y(() => [...t[11] || (t[11] = [c("删除", -1)])]),
577
+ _: 1
578
+ }, 512), [[v, i.isLeaf]])]),
579
+ _: 2
580
+ }, 1032, ["onConfirm"])
581
+ ], 512)), [[v, !u.loading && !C.loading]]) : a("v-if", !0),
582
+ n.contextMenuIcon && n.contextMenu && !n.readonly ? b((p(), o("span", K, [l(T, {
583
+ size: "default",
584
+ style: { padding: "6px 10px 0" },
585
+ type: "text",
586
+ onClick: x((e) => w.showContextMenu(e, u, i), ["stop"])
587
+ }, {
588
+ default: y(() => [...t[12] || (t[12] = [c(". . .", -1)])]),
589
+ _: 1
590
+ }, 8, ["onClick"])], 512)), [[v, !u.loading && !C.loading]]) : a("v-if", !0)
591
+ ], 8, V))])]),
592
+ _: 3
593
+ }, 16, [
594
+ "default-expanded-keys",
595
+ "load",
596
+ "data",
597
+ "props",
598
+ "lazy",
599
+ "node-key",
600
+ "onNodeClick",
601
+ "onNodeContextmenu",
602
+ "onNodeExpand",
603
+ "onNodeCollapse"
604
+ ])),
605
+ n.contextMenu && !n.readonly ? b((p(), o("div", {
606
+ key: 1,
607
+ ref: "contextMenu",
608
+ style: f(C.position),
609
+ class: "menu"
610
+ }, [s("ul", J, [m(e.$slots, "context-menu", {
611
+ curNode: C.curNode,
612
+ curData: C.curData
613
+ }, () => [
614
+ b(s("li", {
615
+ class: "menu-item",
616
+ onClick: t[4] || (t[4] = (e) => w.appendPeerNode(C.curNode, C.curData))
617
+ }, [t[15] || (t[15] = s("i", {
618
+ class: "menu-item-icon el-icon-lx-add",
619
+ style: { color: "#228b22" }
620
+ }, null, -1)), c(g(n.menuLabel.appendPeer), 1)], 512), [[v, C.curData.id > -1]]),
621
+ s("li", {
622
+ class: "menu-item",
623
+ onClick: t[5] || (t[5] = (e) => w.appendChildNode(C.curNode, C.curData))
624
+ }, [t[16] || (t[16] = s("i", {
625
+ class: "menu-item-icon el-icon-lx-add",
626
+ style: { color: "#228b22" }
627
+ }, null, -1)), c(g(n.menuLabel.appendChild), 1)]),
628
+ b(s("li", {
629
+ class: "menu-item",
630
+ onClick: t[6] || (t[6] = (e) => w.editNode(C.curNode, C.curData))
631
+ }, [t[17] || (t[17] = s("i", {
632
+ class: "menu-item-icon el-icon-edit-outline",
633
+ style: { color: "#ffa500" }
634
+ }, null, -1)), c(g(n.menuLabel.editNode), 1)], 512), [[v, C.curData.id > -1]]),
635
+ b(s("li", {
636
+ class: "menu-item",
637
+ onClick: t[7] || (t[7] = (e) => w.removeNodeModal(C.curNode, C.curData))
638
+ }, [t[18] || (t[18] = s("i", {
639
+ class: "menu-item-icon el-icon-delete",
640
+ style: { color: "#f00" }
641
+ }, null, -1)), c(g(n.menuLabel.removeNode), 1)], 512), [[v, C.curNode.isLeaf]])
642
+ ])])], 4)), [[v, C.showMenu]]) : a("v-if", !0)
643
+ ], 512)
644
+ ]);
645
+ }
646
+ var X = /* @__PURE__ */ e(L, [["render", Y]]);
647
+ //#endregion
648
+ export { X as t };