@web-utils/component 4.0.15 → 5.0.0-beta01

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 (307) hide show
  1. package/address-input/index.mjs +76 -76
  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 -71
  8. package/carousel/index.mjs +45 -34
  9. package/chat/index.mjs +440 -276
  10. package/chunk-file-uploader/index.mjs +2 -445
  11. package/chunk-file-uploader/style.css +1 -1
  12. package/chunks/ChunkFileUploader.C3EA0e5t.mjs +114 -0
  13. package/chunks/EditableTree.C_IJBL5b.mjs +648 -0
  14. package/chunks/ElementBaseInfo.DyuFR6fE.mjs +209 -0
  15. package/chunks/ElementDialog.C0IjriTW.mjs +681 -0
  16. package/chunks/ElementForm.ButuYDPA.mjs +627 -0
  17. package/chunks/ElementListeners.Dg3e_dmp.mjs +656 -0
  18. package/chunks/ElementMultiInstance.Dmi79FqA.mjs +290 -0
  19. package/chunks/ElementOtherConfig.C2AddGTp.mjs +51 -0
  20. package/chunks/ElementProperties.CfV8UF7L.mjs +196 -0
  21. package/chunks/ElementTaskConfig.Bn7ycGGn.mjs +446 -0
  22. package/chunks/FlowCondition.C6PdqOAW.mjs +194 -0
  23. package/chunks/FlowDesigner.uJYFfKpR.mjs +5101 -0
  24. package/chunks/FormBlock.BEENc22F.mjs +117 -0
  25. package/chunks/FormCascader.CaM-oEhv.mjs +1226 -0
  26. package/chunks/FormInputTime.Bg3UIP8H.mjs +1773 -0
  27. package/chunks/FormItem.H9OOvNzT.mjs +90 -0
  28. package/chunks/FormItemGroup.D9eRy-cZ.mjs +147 -0
  29. package/chunks/FormSelect.CanodoAI.mjs +1472 -0
  30. package/chunks/FormSwitch.DTqdaFjv.mjs +296 -0
  31. package/chunks/FormTemp.DiI5EfgK.mjs +139 -0
  32. package/chunks/FyCurd.DMj1dMK9.mjs +2622 -0
  33. package/chunks/FyForm.vgR8ujEF.mjs +904 -0
  34. package/chunks/FyFormDesign.DEWT6LsX.mjs +5600 -0
  35. package/chunks/FyUEditor.D_rEYfll.mjs +221 -0
  36. package/chunks/FyUpload.B2QKfTxF.mjs +504 -0
  37. package/chunks/Keyboard.ItiRy7Gb.mjs +379 -0
  38. package/chunks/MonacoEditor.Bd5Kui-Y.mjs +301 -0
  39. package/chunks/PageableTable.Bujb0NUx.mjs +658 -0
  40. package/chunks/RecordVideo.B35_dLty.mjs +116 -0
  41. package/chunks/SignalAndMessage.CYVzlFuL.mjs +198 -0
  42. package/chunks/SplitPane.Dw96M0Yf.mjs +219 -0
  43. package/chunks/TableColumn.DJYkznbJ.mjs +180 -0
  44. package/chunks/TableView.DyIdIxAg.mjs +484 -0
  45. package/chunks/Toolbar.DHuXJAoG.mjs +219 -0
  46. package/chunks/UserTaskListeners.Bp-2qkHs.mjs +599 -0
  47. package/chunks/VueCron.GfjodnyM.mjs +1766 -0
  48. package/chunks/VueTreeSelect.9Ywl-I8e.mjs +1872 -0
  49. package/chunks/_plugin-vue_export-helper.7vrlOII_.mjs +8 -0
  50. package/chunks/checkbox.emIuFmnt.mjs +437 -0
  51. package/chunks/confirmable-mixin.BBil7dto.mjs +1646 -0
  52. package/chunks/core.DJv6Qrae.mjs +51 -0
  53. package/chunks/dataformat.Bfr4nOcA.mjs +144 -0
  54. package/chunks/dic.DgDfnovD.mjs +116 -0
  55. package/chunks/dictionary.5eKjWeAp.mjs +19 -0
  56. package/chunks/dictionary.DxZxP0ej.mjs +87 -0
  57. package/chunks/event.B4iwtUNO.mjs +4 -0
  58. package/chunks/event.eJ-c1Z3a.mjs +224 -0
  59. package/chunks/focus-trap.DT4GnqQI.mjs +211 -0
  60. package/chunks/form-input.D25eDRMq.mjs +34 -0
  61. package/chunks/form-item.CgmUuw_n.mjs +714 -0
  62. package/chunks/form-pick.Axem0gOO.mjs +7 -0
  63. package/chunks/form-validate.B1KPCHqN.mjs +11 -0
  64. package/chunks/icon.CbS8-322.mjs +259 -0
  65. package/chunks/init.DwpukyOB.mjs +115 -0
  66. package/chunks/input.PejnqwSH.mjs +547 -0
  67. package/chunks/install.yLcn5MLL.mjs +84 -0
  68. package/chunks/message.BCmee5N0.mjs +400 -0
  69. package/chunks/overlay.DubSnqma.mjs +122 -0
  70. package/chunks/packages.BGjydzjm.mjs +56 -0
  71. package/chunks/permission.DgEVNWlh.mjs +16 -0
  72. package/chunks/photo-swipe.BB0SJZg9.mjs +55 -0
  73. package/chunks/radio.BotKXqJr.mjs +274 -0
  74. package/chunks/scroll.CzORc5Zk.mjs +28 -0
  75. package/chunks/scrollbar.CAmrlKi9.mjs +345 -0
  76. package/chunks/slot.C6Ozd2e7.mjs +25 -0
  77. package/chunks/style.BmlGmjpO.mjs +325 -0
  78. package/chunks/sub-table-plus-props.B_lLth3j.mjs +28 -0
  79. package/chunks/tab-mixin.u0EZpx3j.mjs +70 -0
  80. package/chunks/tag.DPi-PLbb.mjs +141 -0
  81. package/chunks/teleport._VGEzK4d.mjs +22 -0
  82. package/chunks/tooltip.D50x7Rva.mjs +1926 -0
  83. package/chunks/typescript.DiWBU4nj.mjs +4 -0
  84. package/chunks/use-aria.BW7nWOl1.mjs +17 -0
  85. package/chunks/use-composition.mUaomyno.mjs +47 -0
  86. package/chunks/use-deprecated.BfDSbZS9.mjs +12 -0
  87. package/chunks/use-empty-values.Dy_r78F6.mjs +263 -0
  88. package/chunks/use-form-item.wsRjehHp.mjs +47 -0
  89. package/chunks/use-global-config.C9hs-O_x.mjs +56 -0
  90. package/chunks/use-id.CFO5NeoV.mjs +15 -0
  91. package/chunks/use-size.DxrwTUwf.mjs +18 -0
  92. package/chunks/util.B3sjVZoZ.mjs +103 -0
  93. package/chunks/util.g-WQEec9.mjs +223 -0
  94. package/chunks/utilSelf.ZED4DmCU.mjs +46 -0
  95. package/chunks/utils.Cs2fYBrT.mjs +60 -0
  96. package/chunks/utils.DsGhtCIO.mjs +14 -0
  97. package/chunks/validator.C4-z_t9p.mjs +5 -0
  98. package/chunks/vnode.D_SioRnx.mjs +14 -0
  99. package/code-mirror-editor/index.mjs +89 -88
  100. package/comment/index.mjs +62 -57
  101. package/configComponents.mjs +40 -50
  102. package/confirm-button/index.mjs +34 -46
  103. package/confirmable/index.mjs +7 -17
  104. package/context-menu/index.mjs +195 -174
  105. package/count-up/index.mjs +97 -105
  106. package/custom-scrollbar/index.mjs +91 -98
  107. package/data-box/index.mjs +64 -47
  108. package/data-card/index.mjs +60 -49
  109. package/data-card-text/index.mjs +63 -51
  110. package/data-display/index.mjs +71 -53
  111. package/data-icons/index.mjs +70 -53
  112. package/data-imgtext/index.mjs +67 -46
  113. package/data-operatext/index.mjs +51 -42
  114. package/data-panel/index.mjs +57 -47
  115. package/data-pay/index.mjs +105 -52
  116. package/data-price/index.mjs +48 -42
  117. package/data-progress/index.mjs +67 -48
  118. package/data-rotate/index.mjs +61 -47
  119. package/data-table-picker/index.mjs +119 -74
  120. package/data-tabs/index.mjs +67 -47
  121. package/dialog-form/index.mjs +139 -89
  122. package/dynamic-table/index.mjs +166 -114
  123. package/e-charts/index.mjs +174 -200
  124. package/easy-popup/index.mjs +91 -102
  125. package/editable-progress/index.mjs +112 -85
  126. package/editable-tree/index.mjs +2 -485
  127. package/element-dialog/index.mjs +2 -307
  128. package/element-listeners/style.css +1 -0
  129. package/element-multi-instance/style.css +1 -0
  130. package/ellipsis/index.mjs +124 -148
  131. package/empty-view/index.mjs +48 -65
  132. package/error-view/index.mjs +39 -51
  133. package/flex-column/index.mjs +32 -51
  134. package/flex-item/index.mjs +54 -64
  135. package/flex-row/index.mjs +32 -39
  136. package/flex-scroller/index.mjs +29 -30
  137. package/flow/index.mjs +240 -248
  138. package/flow-designer/index.mjs +2 -5983
  139. package/flow-designer/style.css +1 -1
  140. package/flow-node/index.mjs +56 -64
  141. package/flow-viewer/index.mjs +159 -157
  142. package/form-block/index.mjs +2 -149
  143. package/form-button/index.mjs +35 -47
  144. package/form-card/index.mjs +14 -25
  145. package/form-cascader/index.mjs +2 -116
  146. package/form-checkbox/index.mjs +89 -71
  147. package/form-checkbox-group/index.mjs +161 -116
  148. package/form-date-picker/index.mjs +155 -144
  149. package/form-holder/index.mjs +137 -110
  150. package/form-input/index.mjs +113 -87
  151. package/form-input-cron-expression/index.mjs +97 -79
  152. package/form-input-email/index.mjs +64 -52
  153. package/form-input-id-card/index.mjs +72 -55
  154. package/form-input-phone-number/index.mjs +71 -57
  155. package/form-input-tag/index.mjs +88 -62
  156. package/form-input-time/index.mjs +2 -74
  157. package/form-item/index.mjs +2 -5
  158. package/form-item-config-provider/index.mjs +46 -60
  159. package/form-item-group/index.mjs +2 -160
  160. package/form-radio-group/index.mjs +161 -122
  161. package/form-select/index.mjs +2 -181
  162. package/form-switch/index.mjs +2 -55
  163. package/form-table/index.mjs +131 -85
  164. package/form-table-plus/index.mjs +164 -109
  165. package/form-textarea/index.mjs +90 -57
  166. package/form-tree-select/index.mjs +89 -72
  167. package/form-tree-select-multiple/index.mjs +92 -78
  168. package/form-view/index.mjs +275 -211
  169. package/fy-array/index.mjs +121 -74
  170. package/fy-article/index.mjs +73 -60
  171. package/fy-cascader/index.mjs +113 -91
  172. package/fy-checkbox/index.mjs +96 -66
  173. package/fy-code/index.mjs +48 -50
  174. package/fy-curd/index.mjs +2 -1903
  175. package/fy-date/index.mjs +76 -42
  176. package/fy-draggable/index.mjs +322 -318
  177. package/fy-dynamic/index.mjs +259 -227
  178. package/fy-empty/index.mjs +35 -36
  179. package/fy-form/index.mjs +2 -17
  180. package/fy-form-design/index.mjs +2 -2890
  181. package/fy-form-design/style.css +1 -1
  182. package/fy-from/crud/zh.d.ts +6 -6
  183. package/fy-input/index.mjs +117 -99
  184. package/fy-input-color/index.mjs +77 -56
  185. package/fy-input-icon/index.mjs +129 -85
  186. package/fy-input-map/index.mjs +242 -186
  187. package/fy-input-number/index.mjs +74 -50
  188. package/fy-input-table/index.mjs +160 -109
  189. package/fy-input-tree/index.mjs +259 -182
  190. package/fy-progress/index.mjs +36 -40
  191. package/fy-radio/index.mjs +53 -38
  192. package/fy-rate/index.mjs +86 -71
  193. package/fy-select/index.mjs +223 -140
  194. package/fy-slider/index.mjs +68 -44
  195. package/fy-switch/index.mjs +67 -42
  196. package/fy-tabs/index.mjs +46 -48
  197. package/fy-time/index.mjs +81 -53
  198. package/fy-title/index.mjs +18 -27
  199. package/fy-tree/index.mjs +382 -292
  200. package/fy-u-editor/index.mjs +2 -357
  201. package/fy-upload/index.mjs +2 -423
  202. package/guide-steps/index.mjs +72 -73
  203. package/helper-function.d.ts +2 -30
  204. package/helper-function.mjs +41 -67
  205. package/highlight-j-s/index.mjs +50 -59
  206. package/icon-card/index.mjs +34 -36
  207. package/icon-temp/index.mjs +27 -27
  208. package/iframe-window/index.mjs +39 -33
  209. package/image-cropper/index.mjs +171 -75
  210. package/image-preview/index.mjs +187 -118
  211. package/image-viewer/index.mjs +69 -66
  212. package/index.d.ts +3 -9
  213. package/index.mjs +173 -488
  214. package/input-number-range/index.mjs +78 -59
  215. package/j-s-x-component/index.mjs +13 -15
  216. package/keyboard/index.mjs +2 -369
  217. package/license/index.mjs +106 -115
  218. package/loading-view/index.mjs +39 -51
  219. package/login/index.mjs +252 -125
  220. package/monaco-editor/index.mjs +2 -7
  221. package/name-avatar/index.mjs +61 -53
  222. package/nav-bar/index.mjs +33 -31
  223. package/not-implement/index.mjs +10 -22
  224. package/notice/index.mjs +100 -94
  225. package/package.json +3 -3
  226. package/page/index.mjs +18 -25
  227. package/page-header/index.mjs +27 -33
  228. package/page-index/index.mjs +121 -100
  229. package/page-index-top/index.mjs +79 -79
  230. package/page-skeleton/index.mjs +48 -45
  231. package/page-skeleton-new/index.mjs +79 -50
  232. package/pageable-table/index.mjs +2 -522
  233. package/pageable-view/index.mjs +279 -275
  234. package/photo-swipe/index.d.ts +4 -0
  235. package/photo-swipe/index.mjs +33 -36
  236. package/picker-table-view/index.mjs +224 -126
  237. package/present-view/index.mjs +266 -200
  238. package/queue/index.mjs +45 -53
  239. package/record-video/index.mjs +2 -134
  240. package/resize-observer/index.mjs +43 -46
  241. package/search/index.mjs +116 -109
  242. package/sign/index.mjs +103 -110
  243. package/sign-panel/index.mjs +182 -141
  244. package/skeleton/index.mjs +51 -54
  245. package/skeleton-panel/index.mjs +33 -38
  246. package/split-pane/index.mjs +3 -197
  247. package/stateful/index.mjs +69 -73
  248. package/static-pageable-table/index.mjs +72 -66
  249. package/sub-table/index.mjs +508 -219
  250. package/sub-table-plus/index.mjs +592 -19
  251. package/swiper/index.mjs +128 -121
  252. package/tab/index.mjs +117 -119
  253. package/tab-item/index.mjs +48 -56
  254. package/table-column/index.mjs +2 -5
  255. package/table-view/index.mjs +3 -334
  256. package/tabs-view/index.mjs +109 -106
  257. package/tag-render/index.mjs +79 -69
  258. package/text-ellipsis/index.mjs +94 -78
  259. package/toolbar/index.mjs +2 -255
  260. package/toolbar-button/index.mjs +145 -121
  261. package/verify/index.mjs +58 -64
  262. package/vue-cron/index.mjs +2 -1188
  263. package/vue-qr-code/index.mjs +30 -54
  264. package/vue-quill-editor/index.mjs +123 -99
  265. package/vue-tags-input/index.mjs +348 -431
  266. package/vue-tree-select/index.mjs +2 -2627
  267. package/vue-video-player/index.mjs +135 -136
  268. package/watermark/index.mjs +46 -74
  269. package/web-types.json +197 -975
  270. package/x-input-tag/index.mjs +144 -109
  271. package/chunks/ElementTaskConfig.AvBOzAni.mjs +0 -325
  272. package/chunks/FormItem.Bhsy_O2B.mjs +0 -372
  273. package/chunks/FyForm.DriwCJ7b.mjs +0 -765
  274. package/chunks/MonacoEditor.D31t4FTy.mjs +0 -327
  275. package/chunks/SignalAndMessage.BpjOoKhK.mjs +0 -92
  276. package/chunks/SubTablePlus.BH0IIv3X.mjs +0 -270
  277. package/chunks/TableColumn.BzivvXMF.mjs +0 -337
  278. package/chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs +0 -10
  279. package/chunks/confirmable-mixin.BFZb6pcK.mjs +0 -86
  280. package/chunks/dataformat.DJoNBlmI.mjs +0 -154
  281. package/chunks/dic.BinnDitI.mjs +0 -128
  282. package/chunks/dictionary.DqiP9x2m.mjs +0 -25
  283. package/chunks/event.DSlcqYHL.mjs +0 -236
  284. package/chunks/form-input.BtS_J5a2.mjs +0 -31
  285. package/chunks/form-pick.BFTIVn_i.mjs +0 -11
  286. package/chunks/form-validate.CVarNHKX.mjs +0 -12
  287. package/chunks/helper.BiMLcEEk.mjs +0 -41
  288. package/chunks/index.BmYCjxZQ.mjs +0 -47
  289. package/chunks/index.CIfe3UB3.mjs +0 -16
  290. package/chunks/index.Cn7aq-Et.mjs +0 -184
  291. package/chunks/init.xOlFpTyZ.mjs +0 -122
  292. package/chunks/packages.ByyangTp.mjs +0 -58
  293. package/chunks/permission.CO31YIkD.mjs +0 -16
  294. package/chunks/slot.DXIbhGat.mjs +0 -27
  295. package/chunks/tab-mixin.BNK6dxLN.mjs +0 -81
  296. package/chunks/util.DI42t5GU.mjs +0 -241
  297. package/color-picker/index.mjs +0 -157
  298. package/egd-collapse/index.mjs +0 -62
  299. package/egd-collapse-item/index.mjs +0 -72
  300. package/form-input-number/index.mjs +0 -70
  301. package/form-input-number/style.css +0 -1
  302. package/input-number/index.mjs +0 -233
  303. package/input-number/style.css +0 -1
  304. package/keep-view-alive/index.mjs +0 -117
  305. package/search-popover/index.mjs +0 -118
  306. package/search-popover/style.css +0 -1
  307. /package/{base.css → utils/style.css} +0 -0
package/fy-tree/index.mjs CHANGED
@@ -1,292 +1,382 @@
1
- import { F as h } from "../chunks/FyForm.DriwCJ7b.mjs";
2
- import p from "../element-dialog/index.mjs";
3
- import u from "element-ui/lib/tree";
4
- import f from "element-ui/lib/scrollbar";
5
- import m from "element-ui/lib/button";
6
- import y from "element-ui/lib/input";
7
- import { o as l, k as r, s as d } from "../chunks/util.DI42t5GU.mjs";
8
- import { p as _ } from "../chunks/permission.CO31YIkD.mjs";
9
- import { isBlank as v } from "@web-utils/core";
10
- import { n as k } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
11
- const b = {
12
- name: "FyTree",
13
- directives: {
14
- permission: _
15
- },
16
- props: {
17
- indent: Number,
18
- filterNodeMethod: Function,
19
- checkOnClickNode: Boolean,
20
- beforeClose: Function,
21
- beforeOpen: Function,
22
- permission: {
23
- type: [Function, Object],
24
- default: () => ({})
25
- },
26
- iconClass: {
27
- type: String
28
- },
29
- loading: {
30
- type: Boolean,
31
- default: !1
32
- },
33
- expandOnClickNode: {
34
- type: Boolean,
35
- default: !1
36
- },
37
- option: {
38
- type: Object,
39
- default: () => ({})
40
- },
41
- data: {
42
- type: Array,
43
- default: () => []
44
- },
45
- value: {
46
- type: Object,
47
- default: () => ({})
48
- }
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: d(this.client.y - 10),
68
- left: d(this.client.x - 10)
69
- };
70
- },
71
- treeProps() {
72
- return Object.assign(this.props, {
73
- isLeaf: this.leafKey
74
- });
75
- },
76
- menu() {
77
- return l(this.option.menu, !0);
78
- },
79
- title() {
80
- return this.option.title || "添加";
81
- },
82
- treeLoad() {
83
- return this.option.treeLoad;
84
- },
85
- checkStrictly() {
86
- return this.option.checkStrictly;
87
- },
88
- accordion() {
89
- return this.option.accordion;
90
- },
91
- multiple() {
92
- return this.option.multiple;
93
- },
94
- lazy() {
95
- return this.option.lazy;
96
- },
97
- addText() {
98
- return this.addFlag ? this.menuIcon("addBtn") : this.menuIcon("updateBtn");
99
- },
100
- addFlag() {
101
- return ["add", "parentAdd"].includes(this.type);
102
- },
103
- size() {
104
- return this.option.size || "small";
105
- },
106
- props() {
107
- return this.option.props || {};
108
- },
109
- leafKey() {
110
- return this.props.leaf || r.leaf;
111
- },
112
- valueKey() {
113
- return this.props.value || r.value;
114
- },
115
- labelKey() {
116
- return this.props.label || r.label;
117
- },
118
- childrenKey() {
119
- return this.props.children || r.children;
120
- },
121
- nodeKey() {
122
- return this.option.nodeKey || r.nodeKey;
123
- },
124
- defaultExpandAll() {
125
- return this.option.defaultExpandAll;
126
- },
127
- defaultExpandedKeys() {
128
- return this.option.defaultExpandedKeys;
129
- },
130
- formOption() {
131
- return Object.assign(this.option.formOption || {}, {
132
- submitText: this.addText
133
- });
134
- }
135
- },
136
- watch: {
137
- filterValue(t) {
138
- this.$refs.tree.filter(t);
139
- },
140
- value(t) {
141
- this.form = t;
142
- },
143
- form(t) {
144
- this.$emit("input", t), this.$emit("change", t);
145
- }
146
- },
147
- mounted() {
148
- document.addEventListener("click", this.hideClient), this.$once("hook:beforeDestroy", () => {
149
- document.removeEventListener("click", this.hideClient);
150
- }), this.initFun();
151
- },
152
- methods: {
153
- optVal: l,
154
- hideClient(t) {
155
- this.$el.contains(t.target) || (this.client.show = !1);
156
- },
157
- menuIcon(t) {
158
- return l(this.option[`${t}Text`], t);
159
- },
160
- getPermission(t) {
161
- return typeof this.permission == "function" ? this.permission(t, this.node.data || {}) : v(this.permission[t]) ? !0 : this.permission[t];
162
- },
163
- initFun() {
164
- [
165
- "filter",
166
- "updateKeyChildren",
167
- "getCheckedNodes",
168
- "setCheckedNodes",
169
- "getCheckedKeys",
170
- "setCheckedKeys",
171
- "setChecked",
172
- "getHalfCheckedNodes",
173
- "getHalfCheckedKeys",
174
- "getCurrentKey",
175
- "getCurrentNode",
176
- "setCurrentKey",
177
- "setCurrentNode",
178
- "getNode",
179
- "remove",
180
- "append",
181
- "insertBefore",
182
- "insertAfter"
183
- ].forEach((t) => {
184
- this[t] = this.$refs.tree[t];
185
- });
186
- },
187
- nodeContextmenu(t, e, i) {
188
- this.node = i, this.client.x = t.clientX, this.client.y = t.clientY, this.client.show = !0;
189
- },
190
- handleCheckChange(t, e, i) {
191
- this.$emit("check-change", t, e, i);
192
- },
193
- handleSubmit(t, e) {
194
- this.addFlag ? this.save(t, e) : this.update(t, e);
195
- },
196
- nodeClick(t, e, i) {
197
- this.client.show = !1, this.$emit("node-click", t, e, i);
198
- },
199
- filterNode(t, e) {
200
- return typeof this.filterNodeMethod == "function" ? this.filterNodeMethod(t, e) : t ? e[this.labelKey].indexOf(t) !== -1 : !0;
201
- },
202
- hide(t) {
203
- const e = () => {
204
- t == null || t(), this.node = {}, this.form = {}, this.box = !1;
205
- };
206
- typeof this.beforeClose == "function" ? this.beforeClose(e, this.type) : e();
207
- },
208
- save(t, e) {
209
- const i = (n) => {
210
- 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();
211
- };
212
- this.$emit("save", this.node, t, i, e);
213
- },
214
- update(t, e) {
215
- const i = (n) => {
216
- n = n || this.form;
217
- const o = n[this.valueKey];
218
- this.node.data = this.form;
219
- const { parentList: s, index: a } = this.findData(o);
220
- if (s) {
221
- const c = s.splice(a, 1)[0];
222
- n[this.childrenKey] = c[this.childrenKey], s.splice(a, 0, n);
223
- }
224
- this.hide(), e();
225
- };
226
- this.$emit("update", this.node, t, i, e);
227
- },
228
- rowEdit() {
229
- this.type = "edit", this.form = this.node.data, this.show();
230
- },
231
- parentAdd() {
232
- this.type = "parentAdd", this.show();
233
- },
234
- rowAdd() {
235
- this.type = "add", this.show();
236
- },
237
- show() {
238
- const t = () => {
239
- this.client.show = !1, this.box = !0;
240
- };
241
- typeof this.beforeOpen == "function" ? this.beforeOpen(t, this.type) : t();
242
- },
243
- rowRemove() {
244
- this.client.show = !1;
245
- const t = () => {
246
- this.$refs.tree.remove(this.node.data[this.valueKey]);
247
- };
248
- this.$emit("del", this.node, t);
249
- },
250
- findData(t) {
251
- let e = {};
252
- const i = (n, o) => {
253
- n.forEach((s, a) => {
254
- s[this.valueKey] === t && (e = {
255
- item: s,
256
- index: a,
257
- parentList: n,
258
- parent: o
259
- }), s[this.childrenKey] && i(s[this.childrenKey], s);
260
- });
261
- };
262
- return i(this.data), e;
263
- }
264
- }
265
- };
266
- var C = function() {
267
- var e = this, i = e._self._c;
268
- return i("div", { staticClass: "avue-tree" }, [e.optVal(e.option.filter, !0) ? i("div", { staticClass: "avue-tree__filter" }, [i(y, { attrs: { placeholder: e.optVal(e.option.filterText, "输入关键字进行过滤"), size: e.size }, model: { value: e.filterValue, callback: function(n) {
269
- e.filterValue = n;
270
- }, expression: "filterValue" } }), e.optVal(e.option.addBtn, !0) ? i(m, { 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(f, { staticClass: "avue-tree__content" }, [i(u, { 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 }) {
271
- return [e._t("default", function() {
272
- return [i("span", { staticClass: "el-tree-node__label" }, [i("span", [e._v(e._s(n.label))])])];
273
- }, { node: n, data: o })];
274
- } }], 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) {
275
- e.client.show = !1;
276
- } } }, [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(p, { 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) {
277
- e.box = n;
278
- } } }, [i(h, { ref: "form", attrs: { option: e.formOption }, on: { submit: e.handleSubmit }, model: { value: e.form, callback: function(n) {
279
- e.form = n;
280
- }, expression: "form" } })], 1)], 1) : e._e()], 1);
281
- }, g = [], x = /* @__PURE__ */ k(
282
- b,
283
- C,
284
- g,
285
- !1,
286
- null,
287
- null
288
- );
289
- const E = x.exports;
290
- export {
291
- E as default
292
- };
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.DgEVNWlh.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 };