@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
package/fy-tree/index.mjs CHANGED
@@ -1,286 +1,382 @@
1
- import { o as l, D as r, s as d } from "../chunks/util.DqFv_pWg.mjs";
2
- import { p as h } from "../chunks/permission.CO31YIkD.mjs";
3
- import { isBlank as u } from "@web-utils/core";
4
- import { n as p } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
5
- const f = {
6
- name: "FyTree",
7
- directives: {
8
- permission: h
9
- },
10
- props: {
11
- indent: Number,
12
- filterNodeMethod: Function,
13
- checkOnClickNode: Boolean,
14
- beforeClose: Function,
15
- beforeOpen: Function,
16
- permission: {
17
- type: [Function, Object],
18
- default: () => ({})
19
- },
20
- iconClass: {
21
- type: String
22
- },
23
- loading: {
24
- type: Boolean,
25
- default: !1
26
- },
27
- expandOnClickNode: {
28
- type: Boolean,
29
- default: !1
30
- },
31
- option: {
32
- type: Object,
33
- default: () => ({})
34
- },
35
- data: {
36
- type: Array,
37
- default: () => []
38
- },
39
- value: {
40
- type: Object,
41
- default: () => ({})
42
- }
43
- },
44
- data() {
45
- return {
46
- filterValue: "",
47
- client: {
48
- x: 0,
49
- y: 0,
50
- show: !1
51
- },
52
- box: !1,
53
- type: "",
54
- node: {},
55
- form: {}
56
- };
57
- },
58
- computed: {
59
- styleName() {
60
- return {
61
- top: d(this.client.y - 10),
62
- left: d(this.client.x - 10)
63
- };
64
- },
65
- treeProps() {
66
- return Object.assign(this.props, {
67
- isLeaf: this.leafKey
68
- });
69
- },
70
- menu() {
71
- return l(this.option.menu, !0);
72
- },
73
- title() {
74
- return this.option.title || "添加";
75
- },
76
- treeLoad() {
77
- return this.option.treeLoad;
78
- },
79
- checkStrictly() {
80
- return this.option.checkStrictly;
81
- },
82
- accordion() {
83
- return this.option.accordion;
84
- },
85
- multiple() {
86
- return this.option.multiple;
87
- },
88
- lazy() {
89
- return this.option.lazy;
90
- },
91
- addText() {
92
- return this.addFlag ? this.menuIcon("addBtn") : this.menuIcon("updateBtn");
93
- },
94
- addFlag() {
95
- return ["add", "parentAdd"].includes(this.type);
96
- },
97
- size() {
98
- return this.option.size || "small";
99
- },
100
- props() {
101
- return this.option.props || {};
102
- },
103
- leafKey() {
104
- return this.props.leaf || r.leaf;
105
- },
106
- valueKey() {
107
- return this.props.value || r.value;
108
- },
109
- labelKey() {
110
- return this.props.label || r.label;
111
- },
112
- childrenKey() {
113
- return this.props.children || r.children;
114
- },
115
- nodeKey() {
116
- return this.option.nodeKey || r.nodeKey;
117
- },
118
- defaultExpandAll() {
119
- return this.option.defaultExpandAll;
120
- },
121
- defaultExpandedKeys() {
122
- return this.option.defaultExpandedKeys;
123
- },
124
- formOption() {
125
- return Object.assign(this.option.formOption || {}, {
126
- submitText: this.addText
127
- });
128
- }
129
- },
130
- watch: {
131
- filterValue(t) {
132
- this.$refs.tree.filter(t);
133
- },
134
- value(t) {
135
- this.form = t;
136
- },
137
- form(t) {
138
- this.$emit("input", t), this.$emit("change", t);
139
- }
140
- },
141
- mounted() {
142
- document.addEventListener("click", this.hideClient), this.$once("hook:beforeDestroy", () => {
143
- document.removeEventListener("click", this.hideClient);
144
- }), this.initFun();
145
- },
146
- methods: {
147
- optVal: l,
148
- hideClient(t) {
149
- this.$el.contains(t.target) || (this.client.show = !1);
150
- },
151
- menuIcon(t) {
152
- return l(this.option[`${t}Text`], t);
153
- },
154
- getPermission(t) {
155
- return typeof this.permission == "function" ? this.permission(t, this.node.data || {}) : u(this.permission[t]) ? !0 : this.permission[t];
156
- },
157
- initFun() {
158
- [
159
- "filter",
160
- "updateKeyChildren",
161
- "getCheckedNodes",
162
- "setCheckedNodes",
163
- "getCheckedKeys",
164
- "setCheckedKeys",
165
- "setChecked",
166
- "getHalfCheckedNodes",
167
- "getHalfCheckedKeys",
168
- "getCurrentKey",
169
- "getCurrentNode",
170
- "setCurrentKey",
171
- "setCurrentNode",
172
- "getNode",
173
- "remove",
174
- "append",
175
- "insertBefore",
176
- "insertAfter"
177
- ].forEach((t) => {
178
- this[t] = this.$refs.tree[t];
179
- });
180
- },
181
- nodeContextmenu(t, e, i) {
182
- this.node = i, this.client.x = t.clientX, this.client.y = t.clientY, this.client.show = !0;
183
- },
184
- handleCheckChange(t, e, i) {
185
- this.$emit("check-change", t, e, i);
186
- },
187
- handleSubmit(t, e) {
188
- this.addFlag ? this.save(t, e) : this.update(t, e);
189
- },
190
- nodeClick(t, e, i) {
191
- this.client.show = !1, this.$emit("node-click", t, e, i);
192
- },
193
- filterNode(t, e) {
194
- return typeof this.filterNodeMethod == "function" ? this.filterNodeMethod(t, e) : t ? e[this.labelKey].indexOf(t) !== -1 : !0;
195
- },
196
- hide(t) {
197
- const e = () => {
198
- t == null || t(), this.node = {}, this.form = {}, this.box = !1;
199
- };
200
- typeof this.beforeClose == "function" ? this.beforeClose(e, this.type) : e();
201
- },
202
- save(t, e) {
203
- const i = (n) => {
204
- n = n || this.form, this.type === "add" ? this.$refs.tree.append(n, this.node.data[this.valueKey]) : this.type === "parentAdd" && this.$refs.tree.append(n), this.hide(), e();
205
- };
206
- this.$emit("save", this.node, t, i, e);
207
- },
208
- update(t, e) {
209
- const i = (n) => {
210
- n = n || this.form;
211
- const o = n[this.valueKey];
212
- this.node.data = this.form;
213
- const { parentList: s, index: a } = this.findData(o);
214
- if (s) {
215
- const c = s.splice(a, 1)[0];
216
- n[this.childrenKey] = c[this.childrenKey], s.splice(a, 0, n);
217
- }
218
- this.hide(), e();
219
- };
220
- this.$emit("update", this.node, t, i, e);
221
- },
222
- rowEdit() {
223
- this.type = "edit", this.form = this.node.data, this.show();
224
- },
225
- parentAdd() {
226
- this.type = "parentAdd", this.show();
227
- },
228
- rowAdd() {
229
- this.type = "add", this.show();
230
- },
231
- show() {
232
- const t = () => {
233
- this.client.show = !1, this.box = !0;
234
- };
235
- typeof this.beforeOpen == "function" ? this.beforeOpen(t, this.type) : t();
236
- },
237
- rowRemove() {
238
- this.client.show = !1;
239
- const t = () => {
240
- this.$refs.tree.remove(this.node.data[this.valueKey]);
241
- };
242
- this.$emit("del", this.node, t);
243
- },
244
- findData(t) {
245
- let e = {};
246
- const i = (n, o) => {
247
- n.forEach((s, a) => {
248
- s[this.valueKey] === t && (e = {
249
- item: s,
250
- index: a,
251
- parentList: n,
252
- parent: o
253
- }), s[this.childrenKey] && i(s[this.childrenKey], s);
254
- });
255
- };
256
- return i(this.data), e;
257
- }
258
- }
259
- };
260
- var m = function() {
261
- var e = this, i = e._self._c;
262
- return i("div", { staticClass: "avue-tree" }, [e.optVal(e.option.filter, !0) ? i("div", { staticClass: "avue-tree__filter" }, [i("ElInput", { attrs: { placeholder: e.optVal(e.option.filterText, "输入关键字进行过滤"), size: e.size }, model: { value: e.filterValue, callback: function(n) {
263
- e.filterValue = n;
264
- }, expression: "filterValue" } }), e.optVal(e.option.addBtn, !0) ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.getPermission("addBtn"), expression: "getPermission('addBtn')" }], attrs: { size: e.size, icon: "el-icon-plus" }, on: { click: e.parentAdd } }) : e._t("addBtn")], 2) : e._e(), i("ElScrollbar", { staticClass: "avue-tree__content" }, [i("ElTree", { directives: [{ name: "loading", rawName: "v-loading", value: e.loading, expression: "loading" }], ref: "tree", attrs: { data: e.data, lazy: e.lazy, load: e.treeLoad, props: e.treeProps, "icon-class": e.iconClass, indent: e.indent, "highlight-current": !e.multiple, "show-checkbox": e.multiple, accordion: e.accordion, "node-key": e.valueKey, "check-strictly": e.checkStrictly, "check-on-click-node": e.checkOnClickNode, "filter-node-method": e.filterNode, "expand-on-click-node": e.expandOnClickNode, "default-expand-all": e.defaultExpandAll, "default-expanded-keys": e.defaultExpandedKeys }, on: { "check-change": e.handleCheckChange, "node-click": e.nodeClick, "node-contextmenu": e.nodeContextmenu }, scopedSlots: e._u([{ key: "default", fn: function({ node: n, data: o }) {
265
- return [e._t("default", function() {
266
- return [i("span", { staticClass: "el-tree-node__label" }, [i("span", [e._v(e._s(n.label))])])];
267
- }, { node: n, data: o })];
268
- } }], null, !0) })], 1), e.client.show && e.menu ? i("div", { staticClass: "el-cascader-panel is-bordered avue-tree__menu", style: e.styleName, on: { click: function(n) {
269
- e.client.show = !1;
270
- } } }, [e.optVal(e.option.addBtn, !0) ? i("div", { directives: [{ name: "permission", rawName: "v-permission", value: e.getPermission("addBtn"), expression: "getPermission('addBtn')" }], staticClass: "avue-tree__item", on: { click: e.rowAdd } }, [e._v(" " + e._s(e.menuIcon("addBtn")) + " ")]) : e._e(), e.optVal(e.option.editBtn, !0) ? i("div", { directives: [{ name: "permission", rawName: "v-permission", value: e.getPermission("editBtn"), expression: "getPermission('editBtn')" }], staticClass: "avue-tree__item", on: { click: e.rowEdit } }, [e._v(" " + e._s(e.menuIcon("editBtn")) + " ")]) : e._e(), e.optVal(e.option.delBtn, !0) ? i("div", { directives: [{ name: "permission", rawName: "v-permission", value: e.getPermission("delBtn"), expression: "getPermission('delBtn')" }], staticClass: "avue-tree__item", on: { click: e.rowRemove } }, [e._v(" " + e._s(e.menuIcon("delBtn")) + " ")]) : e._e(), e._t("menu", null, { node: e.node })], 2) : e._e(), e.box ? i("div", [i("ElementDialog", { attrs: { title: e.node[e.labelKey] || e.title, visible: e.box, "before-close": e.hide, width: e.optVal(e.option.dialogWidth, "50%") }, on: { "update:visible": function(n) {
271
- e.box = n;
272
- } } }, [i("FyForm", { ref: "form", attrs: { option: e.formOption }, on: { submit: e.handleSubmit }, model: { value: e.form, callback: function(n) {
273
- e.form = n;
274
- }, expression: "form" } })], 1)], 1) : e._e()], 1);
275
- }, y = [], v = /* @__PURE__ */ p(
276
- f,
277
- m,
278
- y,
279
- !1,
280
- null,
281
- null
282
- );
283
- const x = v.exports;
284
- export {
285
- x as default
286
- };
1
+ import { t as e } from "../chunks/_plugin-vue_export-helper.7vrlOII_.mjs";
2
+ import { O as t, v as n, x as r } from "../chunks/util.g-WQEec9.mjs";
3
+ import { t as i } from "../chunks/permission.C-IUDxQQ.mjs";
4
+ import { createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, normalizeStyle as d, openBlock as f, renderSlot as p, resolveComponent as m, resolveDirective as h, toDisplayString as g, withCtx as _, withDirectives as v } from "vue";
5
+ import { isBlank as y } from "@web-utils/core";
6
+ //#region src/components/tree/FyTree.vue
7
+ var b = {
8
+ name: "FyTree",
9
+ directives: { permission: i },
10
+ props: {
11
+ indent: Number,
12
+ filterNodeMethod: Function,
13
+ checkOnClickNode: Boolean,
14
+ beforeClose: Function,
15
+ beforeOpen: Function,
16
+ permission: {
17
+ type: [Function, Object],
18
+ default: () => ({})
19
+ },
20
+ iconClass: { type: String },
21
+ loading: {
22
+ type: Boolean,
23
+ default: !1
24
+ },
25
+ expandOnClickNode: {
26
+ type: Boolean,
27
+ default: !1
28
+ },
29
+ option: {
30
+ type: Object,
31
+ default: () => ({})
32
+ },
33
+ data: {
34
+ type: Array,
35
+ default: () => []
36
+ },
37
+ modelValue: {
38
+ type: Object,
39
+ default: () => ({})
40
+ }
41
+ },
42
+ emits: [
43
+ "node-click",
44
+ "del",
45
+ "update",
46
+ "check-change",
47
+ "change",
48
+ "update:modelValue"
49
+ ],
50
+ data() {
51
+ return {
52
+ filterValue: "",
53
+ client: {
54
+ x: 0,
55
+ y: 0,
56
+ show: !1
57
+ },
58
+ box: !1,
59
+ type: "",
60
+ node: {},
61
+ form: {}
62
+ };
63
+ },
64
+ computed: {
65
+ styleName() {
66
+ return {
67
+ top: r(this.client.y - 10),
68
+ left: r(this.client.x - 10)
69
+ };
70
+ },
71
+ treeProps() {
72
+ return Object.assign(this.props, { isLeaf: this.leafKey });
73
+ },
74
+ menu() {
75
+ return n(this.option.menu, !0);
76
+ },
77
+ title() {
78
+ return this.option.title || "添加";
79
+ },
80
+ treeLoad() {
81
+ return this.option.treeLoad;
82
+ },
83
+ checkStrictly() {
84
+ return this.option.checkStrictly;
85
+ },
86
+ accordion() {
87
+ return this.option.accordion;
88
+ },
89
+ multiple() {
90
+ return this.option.multiple;
91
+ },
92
+ lazy() {
93
+ return this.option.lazy;
94
+ },
95
+ addText() {
96
+ return this.addFlag ? this.menuIcon("addBtn") : this.menuIcon("updateBtn");
97
+ },
98
+ addFlag() {
99
+ return ["add", "parentAdd"].includes(this.type);
100
+ },
101
+ size() {
102
+ return this.option.size || "small";
103
+ },
104
+ props() {
105
+ return this.option.props || {};
106
+ },
107
+ leafKey() {
108
+ return this.props.leaf || t.leaf;
109
+ },
110
+ valueKey() {
111
+ return this.props.value || t.value;
112
+ },
113
+ labelKey() {
114
+ return this.props.label || t.label;
115
+ },
116
+ childrenKey() {
117
+ return this.props.children || t.children;
118
+ },
119
+ nodeKey() {
120
+ return this.option.nodeKey || t.nodeKey;
121
+ },
122
+ defaultExpandAll() {
123
+ return this.option.defaultExpandAll;
124
+ },
125
+ defaultExpandedKeys() {
126
+ return this.option.defaultExpandedKeys;
127
+ },
128
+ formOption() {
129
+ return Object.assign(this.option.formOption || {}, { submitText: this.addText });
130
+ }
131
+ },
132
+ watch: {
133
+ filterValue(e) {
134
+ this.$refs.tree.filter(e);
135
+ },
136
+ modelValue(e) {
137
+ this.form = e;
138
+ },
139
+ form(e) {
140
+ this.$emit("update:modelValue", e), this.$emit("change", e);
141
+ }
142
+ },
143
+ mounted() {
144
+ document.addEventListener("click", this.hideClient), this.initFun();
145
+ },
146
+ beforeUnmount() {
147
+ document.removeEventListener("click", this.hideClient);
148
+ },
149
+ methods: {
150
+ optVal: n,
151
+ hideClient(e) {
152
+ this.$el.contains(e.target) || (this.client.show = !1);
153
+ },
154
+ menuIcon(e) {
155
+ return n(this.option[`${e}Text`], e);
156
+ },
157
+ getPermission(e) {
158
+ return typeof this.permission == "function" ? this.permission(e, this.node.data || {}) : y(this.permission[e]) ? !0 : this.permission[e];
159
+ },
160
+ initFun() {
161
+ [
162
+ "filter",
163
+ "updateKeyChildren",
164
+ "getCheckedNodes",
165
+ "setCheckedNodes",
166
+ "getCheckedKeys",
167
+ "setCheckedKeys",
168
+ "setChecked",
169
+ "getHalfCheckedNodes",
170
+ "getHalfCheckedKeys",
171
+ "getCurrentKey",
172
+ "getCurrentNode",
173
+ "setCurrentKey",
174
+ "setCurrentNode",
175
+ "getNode",
176
+ "remove",
177
+ "append",
178
+ "insertBefore",
179
+ "insertAfter"
180
+ ].forEach((e) => {
181
+ this[e] = this.$refs.tree[e];
182
+ });
183
+ },
184
+ nodeContextmenu(e, t, n) {
185
+ this.node = n, this.client.x = e.clientX, this.client.y = e.clientY, this.client.show = !0;
186
+ },
187
+ handleCheckChange(e, t, n) {
188
+ this.$emit("check-change", e, t, n);
189
+ },
190
+ handleSubmit(e, t) {
191
+ this.addFlag ? this.save(e, t) : this.update(e, t);
192
+ },
193
+ nodeClick(e, t, n) {
194
+ this.client.show = !1, this.$emit("node-click", e, t, n);
195
+ },
196
+ filterNode(e, t) {
197
+ return typeof this.filterNodeMethod == "function" ? this.filterNodeMethod(e, t) : e ? t[this.labelKey].indexOf(e) !== -1 : !0;
198
+ },
199
+ hide(e) {
200
+ let t = () => {
201
+ e == null || e(), this.node = {}, this.form = {}, this.box = !1;
202
+ };
203
+ typeof this.beforeClose == "function" ? this.beforeClose(t, this.type) : t();
204
+ },
205
+ save(e, t) {
206
+ this.$emit("save", this.node, e, (e) => {
207
+ e = e || this.form, this.type === "add" ? this.$refs.tree.append(e, this.node.data[this.valueKey]) : this.type === "parentAdd" && this.$refs.tree.append(e), this.hide(), t();
208
+ }, t);
209
+ },
210
+ update(e, t) {
211
+ this.$emit("update", this.node, e, (e) => {
212
+ e = e || this.form;
213
+ let n = e[this.valueKey];
214
+ this.node.data = this.form;
215
+ let { parentList: r, index: i } = this.findData(n);
216
+ if (r) {
217
+ let t = r.splice(i, 1)[0];
218
+ e[this.childrenKey] = t[this.childrenKey], r.splice(i, 0, e);
219
+ }
220
+ this.hide(), t();
221
+ }, t);
222
+ },
223
+ rowEdit() {
224
+ this.type = "edit", this.form = this.node.data, this.show();
225
+ },
226
+ parentAdd() {
227
+ this.type = "parentAdd", this.show();
228
+ },
229
+ rowAdd() {
230
+ this.type = "add", this.show();
231
+ },
232
+ show() {
233
+ let e = () => {
234
+ this.client.show = !1, this.box = !0;
235
+ };
236
+ typeof this.beforeOpen == "function" ? this.beforeOpen(e, this.type) : e();
237
+ },
238
+ rowRemove() {
239
+ this.client.show = !1, this.$emit("del", this.node, () => {
240
+ this.$refs.tree.remove(this.node.data[this.valueKey]);
241
+ });
242
+ },
243
+ findData(e) {
244
+ let t = {}, n = (r, i) => {
245
+ r.forEach((a, o) => {
246
+ a[this.valueKey] === e && (t = {
247
+ item: a,
248
+ index: o,
249
+ parentList: r,
250
+ parent: i
251
+ }), a[this.childrenKey] && n(a[this.childrenKey], a);
252
+ });
253
+ };
254
+ return n(this.data), t;
255
+ }
256
+ }
257
+ }, x = { class: "avue-tree" }, S = {
258
+ key: 0,
259
+ class: "avue-tree__filter"
260
+ }, C = { key: 1 }, w = { class: "el-tree-node__label" }, T = { key: 2 };
261
+ function E(e, t, n, r, i, y) {
262
+ let b = m("ElInput"), E = m("ElButton"), D = m("ElTree"), O = m("ElScrollbar"), k = m("FyForm"), A = m("ElementDialog"), j = h("permission"), M = h("loading");
263
+ return f(), s("div", x, [
264
+ y.optVal(n.option.filter, !0) ? (f(), s("div", S, [u(b, {
265
+ modelValue: i.filterValue,
266
+ "onUpdate:modelValue": t[0] || (t[0] = (e) => i.filterValue = e),
267
+ placeholder: y.optVal(n.option.filterText, "输入关键字进行过滤"),
268
+ size: y.size
269
+ }, null, 8, [
270
+ "modelValue",
271
+ "placeholder",
272
+ "size"
273
+ ]), y.optVal(n.option.addBtn, !0) ? v((f(), a(E, {
274
+ key: 0,
275
+ size: y.size,
276
+ icon: "el-icon-plus",
277
+ onClick: y.parentAdd
278
+ }, null, 8, ["size", "onClick"])), [[j, y.getPermission("addBtn")]]) : v((f(), s("div", C, [p(e.$slots, "addBtn")])), [[j, y.getPermission("addBtn")]])])) : o("v-if", !0),
279
+ u(O, { class: "avue-tree__content" }, {
280
+ default: _(() => [v((f(), a(D, {
281
+ ref: "tree",
282
+ data: n.data,
283
+ lazy: y.lazy,
284
+ load: y.treeLoad,
285
+ props: y.treeProps,
286
+ "icon-class": n.iconClass,
287
+ indent: n.indent,
288
+ "highlight-current": !y.multiple,
289
+ "show-checkbox": y.multiple,
290
+ accordion: y.accordion,
291
+ "node-key": y.valueKey,
292
+ "check-strictly": y.checkStrictly,
293
+ "check-on-click-node": n.checkOnClickNode,
294
+ "filter-node-method": y.filterNode,
295
+ "expand-on-click-node": n.expandOnClickNode,
296
+ "default-expand-all": y.defaultExpandAll,
297
+ "default-expanded-keys": y.defaultExpandedKeys,
298
+ onCheckChange: y.handleCheckChange,
299
+ onNodeClick: y.nodeClick,
300
+ onNodeContextmenu: y.nodeContextmenu
301
+ }, {
302
+ default: _(({ node: t, data: n }) => [p(e.$slots, "default", {
303
+ node: t,
304
+ data: n
305
+ }, () => [c("span", w, [c("span", null, g(t.label), 1)])])]),
306
+ _: 3
307
+ }, 8, [
308
+ "data",
309
+ "lazy",
310
+ "load",
311
+ "props",
312
+ "icon-class",
313
+ "indent",
314
+ "highlight-current",
315
+ "show-checkbox",
316
+ "accordion",
317
+ "node-key",
318
+ "check-strictly",
319
+ "check-on-click-node",
320
+ "filter-node-method",
321
+ "expand-on-click-node",
322
+ "default-expand-all",
323
+ "default-expanded-keys",
324
+ "onCheckChange",
325
+ "onNodeClick",
326
+ "onNodeContextmenu"
327
+ ])), [[M, n.loading]])]),
328
+ _: 3
329
+ }),
330
+ i.client.show && y.menu ? (f(), s("div", {
331
+ key: 1,
332
+ class: "el-cascader-panel is-bordered avue-tree__menu",
333
+ style: d(y.styleName),
334
+ onClick: t[4] || (t[4] = (e) => i.client.show = !1)
335
+ }, [
336
+ y.optVal(n.option.addBtn, !0) ? v((f(), s("div", {
337
+ key: 0,
338
+ class: "avue-tree__item",
339
+ onClick: t[1] || (t[1] = (...e) => y.rowAdd && y.rowAdd(...e))
340
+ }, [l(g(y.menuIcon("addBtn")), 1)])), [[j, y.getPermission("addBtn")]]) : o("v-if", !0),
341
+ y.optVal(n.option.editBtn, !0) ? v((f(), s("div", {
342
+ key: 1,
343
+ class: "avue-tree__item",
344
+ onClick: t[2] || (t[2] = (...e) => y.rowEdit && y.rowEdit(...e))
345
+ }, [l(g(y.menuIcon("editBtn")), 1)])), [[j, y.getPermission("editBtn")]]) : o("v-if", !0),
346
+ y.optVal(n.option.delBtn, !0) ? v((f(), s("div", {
347
+ key: 2,
348
+ class: "avue-tree__item",
349
+ onClick: t[3] || (t[3] = (...e) => y.rowRemove && y.rowRemove(...e))
350
+ }, [l(g(y.menuIcon("delBtn")), 1)])), [[j, y.getPermission("delBtn")]]) : o("v-if", !0),
351
+ p(e.$slots, "menu", { node: i.node })
352
+ ], 4)) : o("v-if", !0),
353
+ i.box ? (f(), s("div", T, [u(A, {
354
+ visible: i.box,
355
+ "onUpdate:visible": t[6] || (t[6] = (e) => i.box = e),
356
+ title: i.node[y.labelKey] || y.title,
357
+ "before-close": y.hide,
358
+ width: y.optVal(n.option.dialogWidth, "50%")
359
+ }, {
360
+ default: _(() => [u(k, {
361
+ ref: "form",
362
+ modelValue: i.form,
363
+ "onUpdate:modelValue": t[5] || (t[5] = (e) => i.form = e),
364
+ option: y.formOption,
365
+ onSubmit: y.handleSubmit
366
+ }, null, 8, [
367
+ "modelValue",
368
+ "option",
369
+ "onSubmit"
370
+ ])]),
371
+ _: 1
372
+ }, 8, [
373
+ "visible",
374
+ "title",
375
+ "before-close",
376
+ "width"
377
+ ])])) : o("v-if", !0)
378
+ ]);
379
+ }
380
+ var D = /* @__PURE__ */ e(b, [["render", E]]);
381
+ //#endregion
382
+ export { D as default };