@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
@@ -1,211 +1,275 @@
1
- import p from "../loading-view/index.mjs";
2
- import d from "../resize-observer/index.mjs";
3
- import b from "../form-item-group/index.mjs";
4
- import l from "../toolbar/index.mjs";
5
- import c from "../empty-view/index.mjs";
6
- import { isInContainer as v, animate as _, hasOwn as f, toStringArray as g } from "@web-utils/core";
7
- import { merge as w } from "@web-utils/integrations/lodash";
8
- import "../resize-observer/style.css";
9
- import { n as y } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
10
- const m = [
11
- "back",
12
- "create",
13
- "save",
14
- "withdraw",
15
- "edit",
16
- "submit",
17
- "publish",
18
- "agree",
19
- "disagree",
20
- "reject",
21
- "finish",
22
- "cancel",
23
- "enable",
24
- "exp",
25
- "imp",
26
- "del",
27
- "disabled",
28
- "reload",
29
- "slot"
30
- ], x = m.map((o) => `${o}-down`), $ = ["back", "withdraw", "edit"], u = ["save", "submit", "", "publish", "agree", "disagree", "reject", "finish", "cancel"], a = (o, t) => {
31
- if (o.classList.contains(t))
32
- return o;
33
- let e = o.parentNode;
34
- for (; e && !e.classList.contains(t); )
35
- e = e.parentNode;
36
- return e.classList.contains(t) ? e : null;
37
- }, S = {
38
- name: "FormView",
39
- components: {
40
- ResizeObserver: d
41
- },
42
- inject: {
43
- flowContext: {
44
- default: {}
45
- }
46
- },
47
- props: {
48
- notForm: Boolean,
49
- loading: Boolean,
50
- unLimit: Boolean,
51
- formWidth: {
52
- type: String,
53
- default: "75%"
54
- },
55
- toolbarAttrs: {
56
- type: Object,
57
- default: () => {
58
- }
59
- },
60
- toolbarListeners: {
61
- type: Object
62
- },
63
- contentClass: {
64
- type: String
65
- },
66
- className: {
67
- type: String
68
- },
69
- title: {
70
- type: String
71
- },
72
- showToolbar: {
73
- type: Boolean,
74
- default: !0
75
- },
76
- formNav: {
77
- type: Boolean,
78
- default: !0
79
- }
80
- },
81
- data() {
82
- return {
83
- groups: [],
84
- activeIndex: -1,
85
- tryByClick: !1,
86
- showNav: !1
87
- };
88
- },
89
- computed: {
90
- isFormLoading() {
91
- return this.loading || f(this.$parent, "isFormLoaded") ? !this.$parent.isFormLoaded : !1;
92
- },
93
- toolbarProps() {
94
- var r;
95
- const o = {}, t = ((r = this.toolbarAttrs) == null ? void 0 : r.buttons) || this.$parent.buttons, e = w({}, this.toolbarAttrs, o);
96
- return e.buttons = t || ["back"], e.buttons = g(e.buttons), e;
97
- },
98
- toolbarButtons() {
99
- return this.toolbarProps.buttons.filter((o) => !u.includes(o) && o.indexOf(":down") < 0).map((o) => o.replace(":up", ""));
100
- },
101
- footerBarButtons() {
102
- let o = this.toolbarProps.buttons.filter((t) => !$.includes(t) && (u.includes(t) || t.indexOf(":down") > -1)).map((t) => t.replace(":down", ""));
103
- return o = o || [], this.$parent.isEnabled && !o.includes("cancel") && o.push("cancel"), o;
104
- }
105
- },
106
- created() {
107
- this.$on("FormView.addGroup", (o) => {
108
- o && (this.activeIndex === -1 && (this.activeIndex = 0), this.groups.push(o), this.groups = this.groups.sort((t, e) => {
109
- const r = a(t.$el, "form-card"), s = a(e.$el, "form-card");
110
- if (r === s) {
111
- const i = [].indexOf.call(t.$el.parentNode.children, t.$el), n = [].indexOf.call(e.$el.parentNode.children, e.$el);
112
- return i - n;
113
- } else {
114
- const i = a(r, "form-scroller"), n = [].indexOf.call(i.children, r), h = [].indexOf.call(i.children, s);
115
- return n - h;
116
- }
117
- }), o.active && (this.activeIndex = this.groups.indexOf(o), this.navItemClick(o, this.activeIndex)));
118
- }), this.$on("FormView.removeGroup", (o) => {
119
- if (o) {
120
- const t = this.groups.indexOf(o);
121
- this.groups.splice(t, 1), this.activeIndex > this.groups.length - 1 && (this.activeIndex = 0);
122
- }
123
- }), this.onFormResize({ width: window.document.body.clientWidth });
124
- },
125
- async activated() {
126
- this.$refs.formScroller && (await this.$nextTick(), this.scrollTo(this.formScrollTop, this.formScrollLeft));
127
- },
128
- methods: {
129
- getToolbarSlotKeys() {
130
- return Object.keys(this.$scopedSlots).filter((o) => m.includes(o));
131
- },
132
- getFooterSlotKeys() {
133
- return Object.keys(this.$scopedSlots).filter((o) => x.includes(o));
134
- },
135
- getFooterSlotKey(o) {
136
- return o.replace("-down", "");
137
- },
138
- onFormResize({ width: o }) {
139
- this.showNav = o > 1500;
140
- },
141
- onEdit() {
142
- !this.toolbarListeners.edit && f(this.$parent, "disabled") && (this.$parent.disabled = !1);
143
- },
144
- async navItemClick(o, t) {
145
- this.showNav && (await this.$nextTick(), this.activeFormItemGroup(o, t), o.expand || o.open());
146
- },
147
- activeFormItemGroup(o, t) {
148
- this.$refs.formScroller.scrollTop = o.$el.offsetTop - 10, _(o.$el, "breathe-indicator-animation"), this.tryByClick = !0, this.activeIndex = t;
149
- },
150
- tryActive() {
151
- if (this.showNav) {
152
- for (let o = 0; o < this.groups.length; o++)
153
- if (v(this.groups[o].$el, this.$refs.formScroller, { bottomOffset: 10 })) {
154
- this.activeIndex = o;
155
- break;
156
- }
157
- }
158
- },
159
- onFormScroll() {
160
- this.formScrollTop = this.$refs.formScroller.scrollTop, this.formScrollLeft = this.$refs.formScroller.scrollLeft, !this.tryByClick && this.groups.length && window.requestAnimationFrame(this.tryActive), this.tryByClick = !1;
161
- },
162
- scrollTo(o, t) {
163
- o && (this.$refs.formScroller.scrollTop = o), t && (this.$refs.formScroller.scrollLeft = t);
164
- }
165
- }
166
- };
167
- var F = function() {
168
- var t = this, e = t._self._c;
169
- return e("div", { class: ["form-view", t.className] }, [t.showToolbar ? e("div", { directives: [{ name: "show", rawName: "v-show", value: !t.isFormLoading, expression: "!isFormLoading" }], staticClass: "form-view-toolbar" }, [t._t("form-view-toolbar", function() {
170
- return [e(l, t._g(t._b({ on: { edit: t.onEdit }, scopedSlots: t._u([{ key: "default", fn: function({ buttons: r }) {
171
- return [t._t("toolbar-button", null, { buttons: r })];
172
- } }, t._l(t.getToolbarSlotKeys(), function(r) {
173
- return { key: r, fn: function() {
174
- return [t._t(r)];
175
- }, proxy: !0 };
176
- }), { key: "toolbar-right", fn: function() {
177
- return [t._t("toolbar-right")];
178
- }, proxy: !0 }], null, !0) }, "Toolbar", { ...t.toolbarProps, buttons: t.toolbarButtons }, !1), t.toolbarListeners))];
179
- })], 2) : t._e(), e("div", { directives: [{ name: "show", rawName: "v-show", value: !t.isFormLoading, expression: "!isFormLoading" }], staticClass: "form-scroller-wrapper" }, [e("div", { ref: "formScroller", class: ["form-scroller", t.contentClass], on: { scroll: t.onFormScroll } }, [t.notForm ? e("div", { staticClass: "not-form", style: { width: t.formWidth } }, [t.title ? e("div", { staticClass: "form-view-title" }, [t._v(" " + t._s(t.title) + " ")]) : t._e(), t._t("default", function() {
180
- return [e(c, { attrs: { "empty-tips": "请添加表单内容" } })];
181
- }), t.footerBarButtons.length ? e(l, t._g(t._b({ attrs: { footer: "" }, scopedSlots: t._u([{ key: "default", fn: function({ buttons: r, footer: s }) {
182
- return [t._t("footer-button", null, { buttons: r, footer: s })];
183
- } }, t._l(t.getFooterSlotKeys(), function(r) {
184
- return { key: t.getFooterSlotKey(r), fn: function() {
185
- return [t._t(r)];
186
- }, proxy: !0 };
187
- })], null, !0) }, "Toolbar", { ...t.toolbarProps, buttons: t.footerBarButtons }, !1), t.toolbarListeners)) : t._e(), t.$scopedSlots["form-bottom"] ? t._t("form-bottom") : t._e()], 2) : e("div", { class: ["form-card", { "un-limit": t.unLimit }], style: { width: `calc(${t.formWidth} + 40px)` } }, [e("div", { staticClass: "form-content" }, [t.title ? e("div", { staticClass: "form-view-title" }, [t._v(" " + t._s(t.title) + " ")]) : t._e(), t._t("default", function() {
188
- return [e(c, { attrs: { "empty-tips": "请添加表单内容" } })];
189
- }), t.footerBarButtons.length ? e(l, t._g(t._b({ attrs: { footer: "" }, scopedSlots: t._u([{ key: "default", fn: function({ buttons: r, footer: s }) {
190
- return [t._t("footer-button", null, { buttons: r, footer: s })];
191
- } }, t._l(t.getFooterSlotKeys(), function(r) {
192
- return { key: t.getFooterSlotKey(r), fn: function() {
193
- return [t._t(r)];
194
- }, proxy: !0 };
195
- })], null, !0) }, "Toolbar", { ...t.toolbarProps, buttons: t.footerBarButtons }, !1), t.toolbarListeners)) : t._e()], 2)]), t.$scopedSlots["form-bottom"] || t.$parent.$options.flowForm && t.flowContext.logs.length ? e("div", { class: ["form-card", { "un-limit": t.unLimit }], staticStyle: { "min-height": "0" }, style: { width: `calc(${t.formWidth} + 40px)` } }, [e("div", { staticClass: "form-content" }, [t.$parent.$options.flowForm && t.flowContext.logs.length ? e(b, { attrs: { "block-title": "流程日志" } }, [e("FlowLog", { staticClass: "flow-log", attrs: { fetch: !1, "show-title": !1, "business-key": t.$parent.bizKey } })], 1) : t._e(), t._t("form-bottom")], 2)]) : t._e()]), e(d, { on: { notify: t.onFormResize } })], 1), t.formNav && !t.isFormLoading && t.showNav && t.groups.length ? e("div", { staticClass: "form-nav" }, [e("div", { staticClass: "form-nav-header" }, [t._v("表单导航")]), e("ul", { staticClass: "form-nav-list" }, t._l(t.groups, function(r, s) {
196
- return e("li", { key: r.blockTitle, class: ["form-nav-item", { active: t.activeIndex === s }], on: { click: function(i) {
197
- return t.navItemClick(r, s);
198
- } } }, [t._v(" " + t._s(r.blockTitle) + " ")]);
199
- }), 0)]) : t._e(), t.isFormLoading ? e(p, { attrs: { "icon-size": "34px", "font-size": "16px" } }) : t._e()], 1);
200
- }, k = [], B = /* @__PURE__ */ y(
201
- S,
202
- F,
203
- k,
204
- !1,
205
- null,
206
- null
207
- );
208
- const P = B.exports;
209
- export {
210
- P as default
211
- };
1
+ import { t as e } from "../chunks/_plugin-vue_export-helper.7vrlOII_.mjs";
2
+ import t from "../resize-observer/index.mjs";
3
+ import { Fragment as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createSlots as s, createVNode as c, mergeProps as l, normalizeClass as u, normalizeStyle as d, openBlock as f, renderList as p, renderSlot as m, resolveComponent as h, toDisplayString as g, toHandlers as _, vShow as v, withCtx as y, withDirectives as b } from "vue";
4
+ import { animate as x, hasOwn as S, isInContainer as C, toStringArray as w } from "@web-utils/core";
5
+ import { merge as T } from "@web-utils/integrations/lodash";
6
+ //#region src/components/form/FormView.vue
7
+ var E = [
8
+ "back",
9
+ "create",
10
+ "save",
11
+ "withdraw",
12
+ "edit",
13
+ "submit",
14
+ "publish",
15
+ "agree",
16
+ "disagree",
17
+ "reject",
18
+ "finish",
19
+ "cancel",
20
+ "enable",
21
+ "exp",
22
+ "imp",
23
+ "del",
24
+ "disabled",
25
+ "reload",
26
+ "slot"
27
+ ], D = E.map((e) => `${e}-down`), O = [
28
+ "back",
29
+ "withdraw",
30
+ "edit"
31
+ ], k = [
32
+ "save",
33
+ "submit",
34
+ "",
35
+ "publish",
36
+ "agree",
37
+ "disagree",
38
+ "reject",
39
+ "finish",
40
+ "cancel"
41
+ ], A = (e, t) => {
42
+ if (e.classList.contains(t)) return e;
43
+ let n = e.parentNode;
44
+ for (; n && !n.classList.contains(t);) n = n.parentNode;
45
+ return n.classList.contains(t) ? n : null;
46
+ }, j = {
47
+ name: "FormView",
48
+ components: { ResizeObserver: t },
49
+ inject: { flowContext: { default: {} } },
50
+ props: {
51
+ notForm: Boolean,
52
+ loading: Boolean,
53
+ unLimit: Boolean,
54
+ formWidth: {
55
+ type: String,
56
+ default: "75%"
57
+ },
58
+ toolbarAttrs: {
59
+ type: Object,
60
+ default: () => {}
61
+ },
62
+ toolbarListeners: { type: Object },
63
+ contentClass: { type: String },
64
+ className: { type: String },
65
+ title: { type: String },
66
+ showToolbar: {
67
+ type: Boolean,
68
+ default: !0
69
+ },
70
+ formNav: {
71
+ type: Boolean,
72
+ default: !0
73
+ }
74
+ },
75
+ data() {
76
+ return {
77
+ groups: [],
78
+ activeIndex: -1,
79
+ tryByClick: !1,
80
+ showNav: !1
81
+ };
82
+ },
83
+ computed: {
84
+ isFormLoading() {
85
+ return this.loading || S(this.$parent, "isFormLoaded") ? !this.$parent.isFormLoaded : !1;
86
+ },
87
+ toolbarProps() {
88
+ var e;
89
+ let t = {}, n = ((e = this.toolbarAttrs) == null ? void 0 : e.buttons) || this.$parent.buttons, r = T({}, this.toolbarAttrs, t);
90
+ return r.buttons = n || ["back"], r.buttons = w(r.buttons), r;
91
+ },
92
+ toolbarButtons() {
93
+ return this.toolbarProps.buttons.filter((e) => !k.includes(e) && e.indexOf(":down") < 0).map((e) => e.replace(":up", ""));
94
+ },
95
+ footerBarButtons() {
96
+ let e = this.toolbarProps.buttons.filter((e) => !O.includes(e) && (k.includes(e) || e.indexOf(":down") > -1)).map((e) => e.replace(":down", ""));
97
+ return e = e || [], this.$parent.isEnabled && !e.includes("cancel") && e.push("cancel"), e;
98
+ }
99
+ },
100
+ created() {
101
+ this.$on("FormView.addGroup", (e) => {
102
+ e && (this.activeIndex === -1 && (this.activeIndex = 0), this.groups.push(e), this.groups = this.groups.sort((e, t) => {
103
+ let n = A(e.$el, "form-card"), r = A(t.$el, "form-card");
104
+ if (n === r) return [].indexOf.call(e.$el.parentNode.children, e.$el) - [].indexOf.call(t.$el.parentNode.children, t.$el);
105
+ {
106
+ let e = A(n, "form-scroller");
107
+ return [].indexOf.call(e.children, n) - [].indexOf.call(e.children, r);
108
+ }
109
+ }), e.active && (this.activeIndex = this.groups.indexOf(e), this.navItemClick(e, this.activeIndex)));
110
+ }), this.$on("FormView.removeGroup", (e) => {
111
+ if (e) {
112
+ let t = this.groups.indexOf(e);
113
+ this.groups.splice(t, 1), this.activeIndex > this.groups.length - 1 && (this.activeIndex = 0);
114
+ }
115
+ }), this.onFormResize({ width: window.document.body.clientWidth });
116
+ },
117
+ async activated() {
118
+ this.$refs.formScroller && (await this.$nextTick(), this.scrollTo(this.formScrollTop, this.formScrollLeft));
119
+ },
120
+ methods: {
121
+ getToolbarSlotKeys() {
122
+ return Object.keys(this.$slots).filter((e) => E.includes(e));
123
+ },
124
+ getFooterSlotKeys() {
125
+ return Object.keys(this.$slots).filter((e) => D.includes(e));
126
+ },
127
+ getFooterSlotKey(e) {
128
+ return e.replace("-down", "");
129
+ },
130
+ onFormResize({ width: e }) {
131
+ this.showNav = e > 1500;
132
+ },
133
+ onEdit() {
134
+ !this.toolbarListeners.edit && S(this.$parent, "disabled") && (this.$parent.disabled = !1);
135
+ },
136
+ async navItemClick(e, t) {
137
+ this.showNav && (await this.$nextTick(), this.activeFormItemGroup(e, t), e.expand || e.open());
138
+ },
139
+ activeFormItemGroup(e, t) {
140
+ this.$refs.formScroller.scrollTop = e.$el.offsetTop - 10, x(e.$el, "breathe-indicator-animation"), this.tryByClick = !0, this.activeIndex = t;
141
+ },
142
+ tryActive() {
143
+ if (this.showNav) {
144
+ for (let e = 0; e < this.groups.length; e++) if (C(this.groups[e].$el, this.$refs.formScroller, { bottomOffset: 10 })) {
145
+ this.activeIndex = e;
146
+ break;
147
+ }
148
+ }
149
+ },
150
+ onFormScroll() {
151
+ this.formScrollTop = this.$refs.formScroller.scrollTop, this.formScrollLeft = this.$refs.formScroller.scrollLeft, !this.tryByClick && this.groups.length && window.requestAnimationFrame(this.tryActive), this.tryByClick = !1;
152
+ },
153
+ scrollTo(e, t) {
154
+ e && (this.$refs.formScroller.scrollTop = e), t && (this.$refs.formScroller.scrollLeft = t);
155
+ }
156
+ }
157
+ }, M = {
158
+ key: 0,
159
+ class: "form-view-toolbar"
160
+ }, N = { class: "form-scroller-wrapper" }, P = {
161
+ key: 0,
162
+ class: "form-view-title"
163
+ }, F = { class: "form-content" }, I = {
164
+ key: 0,
165
+ class: "form-view-title"
166
+ }, L = { class: "form-content" }, R = {
167
+ key: 1,
168
+ class: "form-nav"
169
+ }, z = { class: "form-nav-list" }, B = ["onClick"];
170
+ function V(e, t, x, S, C, w) {
171
+ let T = h("Toolbar"), E = h("EmptyView"), D = h("FlowLog"), O = h("FormItemGroup"), k = h("ResizeObserver"), A = h("LoadingView");
172
+ return f(), a("div", { class: u(["form-view", x.className]) }, [
173
+ i(" 顶部工具栏 "),
174
+ x.showToolbar ? b((f(), a("div", M, [m(e.$slots, "form-view-toolbar", {}, () => [c(T, l({
175
+ ...w.toolbarProps,
176
+ buttons: w.toolbarButtons
177
+ }, { onEdit: w.onEdit }, _(x.toolbarListeners)), s({
178
+ default: y(({ buttons: t }) => [m(e.$slots, "toolbar-button", { buttons: t })]),
179
+ "toolbar-right": y(() => [m(e.$slots, "toolbar-right")]),
180
+ _: 2
181
+ }, [p(w.getToolbarSlotKeys(), (t) => ({
182
+ name: t,
183
+ fn: y(() => [m(e.$slots, t)])
184
+ }))]), 1040, ["onEdit"])])], 512)), [[v, !w.isFormLoading]]) : i("v-if", !0),
185
+ i(" 内容 "),
186
+ b(o("div", N, [o("div", {
187
+ ref: "formScroller",
188
+ class: u(["form-scroller", x.contentClass]),
189
+ onScroll: t[0] || (t[0] = (...e) => w.onFormScroll && w.onFormScroll(...e))
190
+ }, [
191
+ i(" 非表单 "),
192
+ x.notForm ? (f(), a("div", {
193
+ key: 0,
194
+ style: d({ width: x.formWidth }),
195
+ class: "not-form"
196
+ }, [
197
+ x.title ? (f(), a("div", P, g(x.title), 1)) : i("v-if", !0),
198
+ i(" 表单内容 "),
199
+ m(e.$slots, "default", {}, () => [c(E, { "empty-tips": "请添加表单内容" })]),
200
+ i(" 底部工具栏 "),
201
+ w.footerBarButtons.length ? (f(), r(T, l({ key: 1 }, {
202
+ ...w.toolbarProps,
203
+ buttons: w.footerBarButtons
204
+ }, { footer: "" }, _(x.toolbarListeners)), s({
205
+ default: y(({ buttons: t, footer: n }) => [m(e.$slots, "footer-button", {
206
+ buttons: t,
207
+ footer: n
208
+ })]),
209
+ _: 2
210
+ }, [p(w.getFooterSlotKeys(), (t) => ({
211
+ name: w.getFooterSlotKey(t),
212
+ fn: y(() => [m(e.$slots, t)])
213
+ }))]), 1040)) : i("v-if", !0),
214
+ i(" 表单底部 "),
215
+ e.$slots["form-bottom"] ? m(e.$slots, "form-bottom", { key: 2 }) : i("v-if", !0)
216
+ ], 4)) : (f(), a(n, { key: 1 }, [i(" 表单 "), o("div", {
217
+ class: u(["form-card", { "un-limit": x.unLimit }]),
218
+ style: d({ width: `calc(${x.formWidth} + 40px)` })
219
+ }, [o("div", F, [
220
+ i(" 表单内容 "),
221
+ x.title ? (f(), a("div", I, g(x.title), 1)) : i("v-if", !0),
222
+ m(e.$slots, "default", {}, () => [c(E, { "empty-tips": "请添加表单内容" })]),
223
+ i(" 底部工具栏 "),
224
+ w.footerBarButtons.length ? (f(), r(T, l({ key: 1 }, {
225
+ ...w.toolbarProps,
226
+ buttons: w.footerBarButtons
227
+ }, { footer: "" }, _(x.toolbarListeners)), s({
228
+ default: y(({ buttons: t, footer: n }) => [m(e.$slots, "footer-button", {
229
+ buttons: t,
230
+ footer: n
231
+ })]),
232
+ _: 2
233
+ }, [p(w.getFooterSlotKeys(), (t) => ({
234
+ name: w.getFooterSlotKey(t),
235
+ fn: y(() => [m(e.$slots, t)])
236
+ }))]), 1040)) : i("v-if", !0)
237
+ ])], 6)], 2112)),
238
+ e.$slots["form-bottom"] || e.$parent.$options.flowForm && w.flowContext.logs.length ? (f(), a("div", {
239
+ key: 2,
240
+ class: u(["form-card", { "un-limit": x.unLimit }]),
241
+ style: d([{ width: `calc(${x.formWidth} + 40px)` }, { "min-height": "0" }])
242
+ }, [o("div", L, [
243
+ e.$parent.$options.flowForm && w.flowContext.logs.length ? (f(), r(O, {
244
+ key: 0,
245
+ "block-title": "流程日志"
246
+ }, {
247
+ default: y(() => [c(D, {
248
+ class: "flow-log",
249
+ fetch: !1,
250
+ "show-title": !1,
251
+ "business-key": e.$parent.bizKey
252
+ }, null, 8, ["business-key"])]),
253
+ _: 1
254
+ })) : i("v-if", !0),
255
+ i(" 表单底部 "),
256
+ m(e.$slots, "form-bottom")
257
+ ])], 6)) : i("v-if", !0)
258
+ ], 34), c(k, { onNotify: w.onFormResize }, null, 8, ["onNotify"])], 512), [[v, !w.isFormLoading]]),
259
+ i(" 表单导航 "),
260
+ x.formNav && !w.isFormLoading && C.showNav && C.groups.length ? (f(), a("div", R, [t[1] || (t[1] = o("div", { class: "form-nav-header" }, "表单导航", -1)), o("ul", z, [(f(!0), a(n, null, p(C.groups, (e, t) => (f(), a("li", {
261
+ key: e.blockTitle,
262
+ class: u(["form-nav-item", { active: C.activeIndex === t }]),
263
+ onClick: (n) => w.navItemClick(e, t)
264
+ }, g(e.blockTitle), 11, B))), 128))])])) : i("v-if", !0),
265
+ i(" 加载提示 "),
266
+ w.isFormLoading ? (f(), r(A, {
267
+ key: 2,
268
+ "icon-size": "34px",
269
+ "font-size": "16px"
270
+ })) : i("v-if", !0)
271
+ ], 2);
272
+ }
273
+ var H = /* @__PURE__ */ e(j, [["render", V]]);
274
+ //#endregion
275
+ export { H as default };