@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/flow/index.mjs CHANGED
@@ -1,248 +1,240 @@
1
- import r from "../flow-node/index.mjs";
2
- import { t as a, s as l } from "../chunks/util.DI42t5GU.mjs";
3
- import { n as c } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
4
- const u = {
5
- name: "Flow",
6
- props: {
7
- value: {
8
- type: String
9
- },
10
- option: {
11
- type: Object
12
- },
13
- width: {
14
- type: [Number, String],
15
- default: "100%"
16
- },
17
- height: {
18
- type: [Number, String],
19
- default: "100%"
20
- }
21
- },
22
- data() {
23
- return {
24
- jsPlumb: {},
25
- id: "",
26
- // 默认设置参数
27
- jsplumbSetting: {
28
- // 动态锚点、位置自适应
29
- Anchors: [
30
- "Top",
31
- "TopCenter",
32
- "TopRight",
33
- "TopLeft",
34
- "Right",
35
- "RightMiddle",
36
- "Bottom",
37
- "BottomCenter",
38
- "BottomRight",
39
- "BottomLeft",
40
- "Left",
41
- "LeftMiddle"
42
- ],
43
- Container: "",
44
- // 连线的样式 StateMachine、Flowchart
45
- Connector: "Flowchart",
46
- // 鼠标不能拖动删除线
47
- ConnectionsDetachable: !1,
48
- // 删除线的时候节点不删除
49
- DeleteEndpointsOnDetach: !1,
50
- // 连线的端点
51
- // Endpoint: ["Dot", {radius: 5}],
52
- Endpoint: ["Rectangle", { height: 10, width: 10 }],
53
- // 线端点的样式
54
- EndpointStyle: { fill: "rgba(255,255,255,0)", outlineWidth: 1 },
55
- LogEnabled: !0,
56
- // 是否打开jsPlumb的内部日志记录
57
- // 绘制线
58
- PaintStyle: { stroke: "black", strokeWidth: 3 },
59
- // 绘制箭头
60
- Overlays: [["Arrow", { width: 12, length: 12, location: 1 }]],
61
- RenderMode: "svg"
62
- },
63
- // jsplumb连接参数
64
- jsplumbConnectOptions: {
65
- isSource: !0,
66
- isTarget: !0,
67
- // 动态锚点、提供了4个方向 Continuous、AutoDefault
68
- anchor: "Continuous"
69
- },
70
- jsplumbSourceOptions: {
71
- filter: ".avue-flow__node-drag",
72
- filterExclude: !1,
73
- anchor: "Continuous",
74
- allowLoopback: !1
75
- },
76
- jsplumbTargetOptions: {
77
- filter: ".avue-flow__node-drag",
78
- filterExclude: !1,
79
- anchor: "Continuous",
80
- allowLoopback: !1
81
- },
82
- loadEasyFlowFinish: !1
83
- };
84
- },
85
- computed: {
86
- active: {
87
- get() {
88
- return this.value;
89
- },
90
- set(e) {
91
- this.$emit("input", e), this.$emit("change", e);
92
- }
93
- },
94
- styleName() {
95
- return {
96
- position: "relative",
97
- width: l(this.width),
98
- height: l(this.height)
99
- };
100
- }
101
- },
102
- created() {
103
- this.id = a(), this.jsplumbSetting.Container = this.id;
104
- },
105
- mounted() {
106
- this.init();
107
- },
108
- methods: {
109
- init() {
110
- this.jsPlumb = window.jsPlumb.getInstance(), this.$nextTick(() => {
111
- this.jsPlumbInit();
112
- });
113
- },
114
- handleClick(e) {
115
- this.$emit("click", e);
116
- },
117
- // 是否具有该线
118
- hasLine(e, t) {
119
- for (let i = 0; i < this.data.lineList.length; i++) {
120
- const n = this.data.lineList[i];
121
- if (n.from === e && n.to === t)
122
- return !0;
123
- }
124
- return !1;
125
- },
126
- // 是否含有相反的线
127
- hashOppositeLine(e, t) {
128
- return this.hasLine(t, e);
129
- },
130
- // 删除线
131
- deleteLine(e, t) {
132
- this.option.lineList = this.option.lineList.filter((i) => i.from !== e && i.to !== t);
133
- },
134
- // 改变连线
135
- changeLine(e, t) {
136
- this.deleteLine(e, t);
137
- },
138
- // 改变节点的位置
139
- changeNodeSite({ index: e, left: t, top: i }) {
140
- for (let n = 0; n < this.option.nodeList.length; n++)
141
- n === e && (this.$set(this.option.nodeList[n], "left", t), this.$set(this.option.nodeList[n], "top", i));
142
- },
143
- // 删除节点
144
- deleteNode(e) {
145
- return this.$confirm(`确定要删除节点${e}?`, "提示", {
146
- confirmButtonText: "确定",
147
- cancelButtonText: "取消",
148
- type: "warning",
149
- closeOnClickModal: !1
150
- }).then(() => {
151
- this.option.nodeList.forEach((t) => {
152
- t.id === e && (t.display = !0);
153
- }), this.$nextTick(function() {
154
- this.jsPlumb.removeAllEndpoints(e);
155
- });
156
- }).catch(() => {
157
- }), !0;
158
- },
159
- // 添加新的节点
160
- addNode(e) {
161
- const t = this.option.nodeList.length, i = `node${t}`;
162
- this.option.nodeList.push({
163
- id: `node${t}`,
164
- name: e,
165
- left: 0,
166
- top: 0
167
- }), this.$nextTick(function() {
168
- this.jsPlumb.makeSource(i, this.jsplumbSourceOptions), this.jsPlumb.makeTarget(i, this.jsplumbTargetOptions), this.jsPlumb.draggable(i, {
169
- containment: "parent"
170
- });
171
- });
172
- },
173
- loadEasyFlow() {
174
- for (let e = 0; e < this.option.nodeList.length; e++) {
175
- const t = this.option.nodeList[e];
176
- this.jsPlumb.makeSource(t.id, this.jsplumbSourceOptions), this.jsPlumb.makeTarget(t.id, this.jsplumbTargetOptions), this.jsPlumb.draggable(t.id);
177
- }
178
- for (let e = 0; e < this.option.lineList.length; e++) {
179
- const t = this.option.lineList[e];
180
- this.jsPlumb.connect(
181
- {
182
- source: t.from,
183
- target: t.to
184
- },
185
- this.jsplumbConnectOptions
186
- );
187
- }
188
- this.$nextTick(function() {
189
- this.loadEasyFlowFinish = !0;
190
- });
191
- },
192
- jsPlumbInit() {
193
- const e = this;
194
- this.jsPlumb.ready(() => {
195
- e.jsPlumb.importDefaults(e.jsplumbSetting), e.jsPlumb.setSuspendDrawing(!1, !0), e.loadEasyFlow(), e.jsPlumb.bind("click", (t) => {
196
- console.log("click", t), e.$confirm("确定删除所点击的线吗?", "提示", {
197
- confirmButtonText: "确定",
198
- cancelButtonText: "取消",
199
- type: "warning"
200
- }).then(() => {
201
- e.jsPlumb.deleteConnection(t);
202
- }).catch(() => {
203
- });
204
- }), e.jsPlumb.bind("connection", (t) => {
205
- console.log("connection", t);
206
- const i = t.source.id, n = t.target.id;
207
- e.loadEasyFlowFinish && e.option.lineList.push({
208
- from: i,
209
- to: n
210
- });
211
- }), e.jsPlumb.bind("connectionDetached", (t) => {
212
- console.log("connectionDetached", t), e.deleteLine(t.sourceId, t.targetId);
213
- }), e.jsPlumb.bind("connectionMoved", (t) => {
214
- console.log("connectionMoved", t), e.changeLine(t.originalSourceId, t.originalTargetId);
215
- }), e.jsPlumb.bind("contextmenu", (t) => {
216
- console.log("contextmenu", t);
217
- }), e.jsPlumb.bind("beforeDrop", (t) => {
218
- console.log("beforeDrop", t);
219
- const i = t.sourceId, n = t.targetId;
220
- return i === n ? (e.$message.error("不能连接自己"), !1) : e.hasLine(i, n) ? (e.$message.error("不能重复连线"), !1) : e.hashOppositeLine(i, n) ? (e.$message.error("不能回环哦"), !1) : !0;
221
- }), e.jsPlumb.bind("beforeDetach", (t) => {
222
- console.log("beforeDetach", t);
223
- });
224
- });
225
- }
226
- }
227
- };
228
- var h = function() {
229
- var t = this, i = t._self._c;
230
- return i("div", { staticClass: "avue-flow", style: t.styleName }, [i("div", { style: t.styleName, attrs: { id: t.id } }, [i("div", { staticClass: "avue-grid" }), t._l(t.option.nodeList, function(n, o) {
231
- return [n.display ? t._e() : i(r, { key: o, attrs: { id: n.id, node: n, index: o, active: t.active }, on: { changeNodeSite: t.changeNodeSite }, nativeOn: { click: function(s) {
232
- return t.handleClick(n);
233
- } }, scopedSlots: t._u([{ key: "header", fn: function({ node: s }) {
234
- return [t._t("header", null, { node: s })];
235
- } }], null, !0) }, [t._t("default", null, { node: n })], 2)];
236
- })], 2)]);
237
- }, d = [], m = /* @__PURE__ */ c(
238
- u,
239
- h,
240
- d,
241
- !1,
242
- null,
243
- null
244
- );
245
- const b = m.exports;
246
- export {
247
- b as default
248
- };
1
+ import { t as e } from "../chunks/_plugin-vue_export-helper.7vrlOII_.mjs";
2
+ import { x as t, y as n } from "../chunks/util.g-WQEec9.mjs";
3
+ import { Fragment as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, normalizeStyle as c, openBlock as l, renderList as u, renderSlot as d, resolveComponent as f, withCtx as p } from "vue";
4
+ //#region src/components/flow/Flow.vue
5
+ var m = {
6
+ name: "Flow",
7
+ props: {
8
+ value: { type: String },
9
+ option: { type: Object },
10
+ width: {
11
+ type: [Number, String],
12
+ default: "100%"
13
+ },
14
+ height: {
15
+ type: [Number, String],
16
+ default: "100%"
17
+ }
18
+ },
19
+ data() {
20
+ return {
21
+ jsPlumb: {},
22
+ id: "",
23
+ jsplumbSetting: {
24
+ Anchors: [
25
+ "Top",
26
+ "TopCenter",
27
+ "TopRight",
28
+ "TopLeft",
29
+ "Right",
30
+ "RightMiddle",
31
+ "Bottom",
32
+ "BottomCenter",
33
+ "BottomRight",
34
+ "BottomLeft",
35
+ "Left",
36
+ "LeftMiddle"
37
+ ],
38
+ Container: "",
39
+ Connector: "Flowchart",
40
+ ConnectionsDetachable: !1,
41
+ DeleteEndpointsOnDetach: !1,
42
+ Endpoint: ["Rectangle", {
43
+ height: 10,
44
+ width: 10
45
+ }],
46
+ EndpointStyle: {
47
+ fill: "rgba(255,255,255,0)",
48
+ outlineWidth: 1
49
+ },
50
+ LogEnabled: !0,
51
+ PaintStyle: {
52
+ stroke: "black",
53
+ strokeWidth: 3
54
+ },
55
+ Overlays: [["Arrow", {
56
+ width: 12,
57
+ length: 12,
58
+ location: 1
59
+ }]],
60
+ RenderMode: "svg"
61
+ },
62
+ jsplumbConnectOptions: {
63
+ isSource: !0,
64
+ isTarget: !0,
65
+ anchor: "Continuous"
66
+ },
67
+ jsplumbSourceOptions: {
68
+ filter: ".avue-flow__node-drag",
69
+ filterExclude: !1,
70
+ anchor: "Continuous",
71
+ allowLoopback: !1
72
+ },
73
+ jsplumbTargetOptions: {
74
+ filter: ".avue-flow__node-drag",
75
+ filterExclude: !1,
76
+ anchor: "Continuous",
77
+ allowLoopback: !1
78
+ },
79
+ loadEasyFlowFinish: !1
80
+ };
81
+ },
82
+ computed: {
83
+ active: {
84
+ get() {
85
+ return this.value;
86
+ },
87
+ set(e) {
88
+ this.$emit("input", e), this.$emit("change", e);
89
+ }
90
+ },
91
+ styleName() {
92
+ return {
93
+ position: "relative",
94
+ width: t(this.width),
95
+ height: t(this.height)
96
+ };
97
+ }
98
+ },
99
+ created() {
100
+ this.id = n(), this.jsplumbSetting.Container = this.id;
101
+ },
102
+ mounted() {
103
+ this.init();
104
+ },
105
+ methods: {
106
+ init() {
107
+ this.jsPlumb = window.jsPlumb.getInstance(), this.$nextTick(() => {
108
+ this.jsPlumbInit();
109
+ });
110
+ },
111
+ handleClick(e) {
112
+ this.$emit("click", e);
113
+ },
114
+ hasLine(e, t) {
115
+ for (let n = 0; n < this.data.lineList.length; n++) {
116
+ let r = this.data.lineList[n];
117
+ if (r.from === e && r.to === t) return !0;
118
+ }
119
+ return !1;
120
+ },
121
+ hashOppositeLine(e, t) {
122
+ return this.hasLine(t, e);
123
+ },
124
+ deleteLine(e, t) {
125
+ this.option.lineList = this.option.lineList.filter((n) => n.from !== e && n.to !== t);
126
+ },
127
+ changeLine(e, t) {
128
+ this.deleteLine(e, t);
129
+ },
130
+ changeNodeSite({ index: e, left: t, top: n }) {
131
+ for (let r = 0; r < this.option.nodeList.length; r++) r === e && (this.$set(this.option.nodeList[r], "left", t), this.$set(this.option.nodeList[r], "top", n));
132
+ },
133
+ deleteNode(e) {
134
+ return this.$confirm(`确定要删除节点${e}?`, "提示", {
135
+ confirmButtonText: "确定",
136
+ cancelButtonText: "取消",
137
+ type: "warning",
138
+ closeOnClickModal: !1
139
+ }).then(() => {
140
+ this.option.nodeList.forEach((t) => {
141
+ t.id === e && (t.display = !0);
142
+ }), this.$nextTick(function() {
143
+ this.jsPlumb.removeAllEndpoints(e);
144
+ });
145
+ }).catch(() => {}), !0;
146
+ },
147
+ addNode(e) {
148
+ let t = this.option.nodeList.length, n = `node${t}`;
149
+ this.option.nodeList.push({
150
+ id: `node${t}`,
151
+ name: e,
152
+ left: 0,
153
+ top: 0
154
+ }), this.$nextTick(function() {
155
+ this.jsPlumb.makeSource(n, this.jsplumbSourceOptions), this.jsPlumb.makeTarget(n, this.jsplumbTargetOptions), this.jsPlumb.draggable(n, { containment: "parent" });
156
+ });
157
+ },
158
+ loadEasyFlow() {
159
+ for (let e = 0; e < this.option.nodeList.length; e++) {
160
+ let t = this.option.nodeList[e];
161
+ this.jsPlumb.makeSource(t.id, this.jsplumbSourceOptions), this.jsPlumb.makeTarget(t.id, this.jsplumbTargetOptions), this.jsPlumb.draggable(t.id);
162
+ }
163
+ for (let e = 0; e < this.option.lineList.length; e++) {
164
+ let t = this.option.lineList[e];
165
+ this.jsPlumb.connect({
166
+ source: t.from,
167
+ target: t.to
168
+ }, this.jsplumbConnectOptions);
169
+ }
170
+ this.$nextTick(function() {
171
+ this.loadEasyFlowFinish = !0;
172
+ });
173
+ },
174
+ jsPlumbInit() {
175
+ let e = this;
176
+ this.jsPlumb.ready(() => {
177
+ e.jsPlumb.importDefaults(e.jsplumbSetting), e.jsPlumb.setSuspendDrawing(!1, !0), e.loadEasyFlow(), e.jsPlumb.bind("click", (t) => {
178
+ console.log("click", t), e.$confirm("确定删除所点击的线吗?", "提示", {
179
+ confirmButtonText: "确定",
180
+ cancelButtonText: "取消",
181
+ type: "warning"
182
+ }).then(() => {
183
+ e.jsPlumb.deleteConnection(t);
184
+ }).catch(() => {});
185
+ }), e.jsPlumb.bind("connection", (t) => {
186
+ console.log("connection", t);
187
+ let n = t.source.id, r = t.target.id;
188
+ e.loadEasyFlowFinish && e.option.lineList.push({
189
+ from: n,
190
+ to: r
191
+ });
192
+ }), e.jsPlumb.bind("connectionDetached", (t) => {
193
+ console.log("connectionDetached", t), e.deleteLine(t.sourceId, t.targetId);
194
+ }), e.jsPlumb.bind("connectionMoved", (t) => {
195
+ console.log("connectionMoved", t), e.changeLine(t.originalSourceId, t.originalTargetId);
196
+ }), e.jsPlumb.bind("contextmenu", (e) => {
197
+ console.log("contextmenu", e);
198
+ }), e.jsPlumb.bind("beforeDrop", (t) => {
199
+ console.log("beforeDrop", t);
200
+ let n = t.sourceId, r = t.targetId;
201
+ return n === r ? (e.$message.error("不能连接自己"), !1) : e.hasLine(n, r) ? (e.$message.error("不能重复连线"), !1) : e.hashOppositeLine(n, r) ? (e.$message.error("不能回环哦"), !1) : !0;
202
+ }), e.jsPlumb.bind("beforeDetach", (e) => {
203
+ console.log("beforeDetach", e);
204
+ });
205
+ });
206
+ }
207
+ }
208
+ }, h = ["id"];
209
+ function g(e, t, n, m, g, _) {
210
+ let v = f("FlowNode");
211
+ return l(), o("div", {
212
+ class: "avue-flow",
213
+ style: c(_.styleName)
214
+ }, [s("div", {
215
+ id: g.id,
216
+ style: c(_.styleName)
217
+ }, [t[0] || (t[0] = s("div", { class: "avue-grid" }, null, -1)), (l(!0), o(r, null, u(n.option.nodeList, (t, n) => (l(), o(r, null, [t.display ? a("v-if", !0) : (l(), i(v, {
218
+ id: t.id,
219
+ key: n,
220
+ node: t,
221
+ index: n,
222
+ active: _.active,
223
+ onClick: (e) => _.handleClick(t),
224
+ onChangeNodeSite: _.changeNodeSite
225
+ }, {
226
+ header: p(({ node: t }) => [d(e.$slots, "header", { node: t })]),
227
+ default: p(() => [d(e.$slots, "default", { node: t })]),
228
+ _: 2
229
+ }, 1032, [
230
+ "id",
231
+ "node",
232
+ "index",
233
+ "active",
234
+ "onClick",
235
+ "onChangeNodeSite"
236
+ ]))], 64))), 256))], 12, h)], 4);
237
+ }
238
+ var _ = /* @__PURE__ */ e(m, [["render", g]]);
239
+ //#endregion
240
+ export { _ as default };