@web-utils/component 4.0.16 → 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 (314) hide show
  1. package/address-input/index.mjs +76 -74
  2. package/affix/index.mjs +71 -78
  3. package/aside-menu/index.mjs +20 -31
  4. package/avatar/index.mjs +94 -82
  5. package/awesome-button/index.mjs +54 -71
  6. package/capsule-tab/index.mjs +27 -32
  7. package/card/index.mjs +86 -69
  8. package/carousel/index.mjs +45 -32
  9. package/chat/index.mjs +441 -266
  10. package/chunk-file-uploader/index.mjs +2 -103
  11. package/chunks/ChunkFileUploader.C3EA0e5t.mjs +114 -0
  12. package/chunks/EditableTree.C_IJBL5b.mjs +648 -0
  13. package/chunks/ElementBaseInfo.DyuFR6fE.mjs +209 -0
  14. package/chunks/ElementDialog.C0IjriTW.mjs +681 -0
  15. package/chunks/ElementForm.ButuYDPA.mjs +627 -0
  16. package/chunks/ElementListeners.Dg3e_dmp.mjs +656 -0
  17. package/chunks/ElementMultiInstance.Dmi79FqA.mjs +290 -0
  18. package/chunks/ElementOtherConfig.C2AddGTp.mjs +51 -0
  19. package/chunks/ElementProperties.CfV8UF7L.mjs +196 -0
  20. package/chunks/ElementTaskConfig.Bn7ycGGn.mjs +446 -0
  21. package/chunks/FlowCondition.C6PdqOAW.mjs +194 -0
  22. package/chunks/FlowDesigner.uJYFfKpR.mjs +5101 -0
  23. package/chunks/FormBlock.BEENc22F.mjs +117 -0
  24. package/chunks/FormCascader.CaM-oEhv.mjs +1226 -0
  25. package/chunks/FormInputTime.Bg3UIP8H.mjs +1773 -0
  26. package/chunks/FormItem.H9OOvNzT.mjs +90 -0
  27. package/chunks/FormItemGroup.D9eRy-cZ.mjs +147 -0
  28. package/chunks/FormSelect.CanodoAI.mjs +1472 -0
  29. package/chunks/FormSwitch.DTqdaFjv.mjs +296 -0
  30. package/chunks/FormTemp.DiI5EfgK.mjs +139 -0
  31. package/chunks/FyCurd.DMj1dMK9.mjs +2622 -0
  32. package/chunks/FyForm.vgR8ujEF.mjs +904 -0
  33. package/chunks/FyFormDesign.DEWT6LsX.mjs +5600 -0
  34. package/chunks/FyUEditor.D_rEYfll.mjs +221 -0
  35. package/chunks/FyUpload.B2QKfTxF.mjs +504 -0
  36. package/chunks/Keyboard.ItiRy7Gb.mjs +379 -0
  37. package/chunks/MonacoEditor.Bd5Kui-Y.mjs +301 -0
  38. package/chunks/PageableTable.Bujb0NUx.mjs +658 -0
  39. package/chunks/RecordVideo.B35_dLty.mjs +116 -0
  40. package/chunks/SignalAndMessage.CYVzlFuL.mjs +198 -0
  41. package/chunks/SplitPane.Dw96M0Yf.mjs +219 -0
  42. package/chunks/TableColumn.DJYkznbJ.mjs +180 -0
  43. package/chunks/TableView.DyIdIxAg.mjs +484 -0
  44. package/chunks/Toolbar.DHuXJAoG.mjs +219 -0
  45. package/chunks/UserTaskListeners.Bp-2qkHs.mjs +599 -0
  46. package/chunks/VueCron.GfjodnyM.mjs +1766 -0
  47. package/chunks/VueTreeSelect.9Ywl-I8e.mjs +1872 -0
  48. package/chunks/_plugin-vue_export-helper.7vrlOII_.mjs +8 -0
  49. package/chunks/checkbox.emIuFmnt.mjs +437 -0
  50. package/chunks/confirmable-mixin.BBil7dto.mjs +1646 -0
  51. package/chunks/core.DJv6Qrae.mjs +51 -0
  52. package/chunks/dataformat.Bfr4nOcA.mjs +144 -0
  53. package/chunks/dic.DgDfnovD.mjs +116 -0
  54. package/chunks/dictionary.5eKjWeAp.mjs +19 -0
  55. package/chunks/dictionary.DxZxP0ej.mjs +87 -0
  56. package/chunks/event.B4iwtUNO.mjs +4 -0
  57. package/chunks/event.eJ-c1Z3a.mjs +224 -0
  58. package/chunks/focus-trap.DT4GnqQI.mjs +211 -0
  59. package/chunks/form-input.D25eDRMq.mjs +34 -0
  60. package/chunks/form-item.CgmUuw_n.mjs +714 -0
  61. package/chunks/form-pick.Axem0gOO.mjs +7 -0
  62. package/chunks/form-validate.B1KPCHqN.mjs +11 -0
  63. package/chunks/icon.CbS8-322.mjs +259 -0
  64. package/chunks/init.DwpukyOB.mjs +115 -0
  65. package/chunks/input.PejnqwSH.mjs +547 -0
  66. package/chunks/install.yLcn5MLL.mjs +84 -0
  67. package/chunks/message.BCmee5N0.mjs +400 -0
  68. package/chunks/overlay.DubSnqma.mjs +122 -0
  69. package/chunks/packages.BGjydzjm.mjs +56 -0
  70. package/chunks/permission.DgEVNWlh.mjs +16 -0
  71. package/chunks/photo-swipe.BB0SJZg9.mjs +55 -0
  72. package/chunks/radio.BotKXqJr.mjs +274 -0
  73. package/chunks/scroll.CzORc5Zk.mjs +28 -0
  74. package/chunks/scrollbar.CAmrlKi9.mjs +345 -0
  75. package/chunks/slot.C6Ozd2e7.mjs +25 -0
  76. package/chunks/style.BmlGmjpO.mjs +325 -0
  77. package/chunks/sub-table-plus-props.B_lLth3j.mjs +28 -0
  78. package/chunks/tab-mixin.u0EZpx3j.mjs +70 -0
  79. package/chunks/tag.DPi-PLbb.mjs +141 -0
  80. package/chunks/teleport._VGEzK4d.mjs +22 -0
  81. package/chunks/tooltip.D50x7Rva.mjs +1926 -0
  82. package/chunks/typescript.DiWBU4nj.mjs +4 -0
  83. package/chunks/use-aria.BW7nWOl1.mjs +17 -0
  84. package/chunks/use-composition.mUaomyno.mjs +47 -0
  85. package/chunks/use-deprecated.BfDSbZS9.mjs +12 -0
  86. package/chunks/use-empty-values.Dy_r78F6.mjs +263 -0
  87. package/chunks/use-form-item.wsRjehHp.mjs +47 -0
  88. package/chunks/use-global-config.C9hs-O_x.mjs +56 -0
  89. package/chunks/use-id.CFO5NeoV.mjs +15 -0
  90. package/chunks/use-size.DxrwTUwf.mjs +18 -0
  91. package/chunks/util.B3sjVZoZ.mjs +103 -0
  92. package/chunks/util.g-WQEec9.mjs +223 -0
  93. package/chunks/utilSelf.ZED4DmCU.mjs +46 -0
  94. package/chunks/utils.Cs2fYBrT.mjs +60 -0
  95. package/chunks/utils.DsGhtCIO.mjs +14 -0
  96. package/chunks/validator.C4-z_t9p.mjs +5 -0
  97. package/chunks/vnode.D_SioRnx.mjs +14 -0
  98. package/code-mirror-editor/index.mjs +89 -88
  99. package/comment/index.mjs +62 -57
  100. package/configComponents.mjs +40 -50
  101. package/confirm-button/index.mjs +34 -46
  102. package/confirmable/index.mjs +7 -17
  103. package/context-menu/index.mjs +195 -174
  104. package/count-up/index.mjs +97 -105
  105. package/custom-scrollbar/index.mjs +91 -98
  106. package/data-box/index.mjs +64 -44
  107. package/data-card/index.mjs +60 -47
  108. package/data-card-text/index.mjs +63 -49
  109. package/data-display/index.mjs +71 -51
  110. package/data-icons/index.mjs +70 -50
  111. package/data-imgtext/index.mjs +67 -43
  112. package/data-operatext/index.mjs +51 -40
  113. package/data-panel/index.mjs +57 -44
  114. package/data-pay/index.mjs +105 -48
  115. package/data-price/index.mjs +48 -40
  116. package/data-progress/index.mjs +67 -44
  117. package/data-rotate/index.mjs +61 -44
  118. package/data-table-picker/index.mjs +119 -71
  119. package/data-tabs/index.mjs +67 -44
  120. package/dialog-form/index.mjs +139 -87
  121. package/dynamic-table/index.mjs +166 -109
  122. package/e-charts/index.mjs +174 -200
  123. package/easy-popup/index.mjs +91 -102
  124. package/editable-progress/index.mjs +112 -83
  125. package/editable-tree/index.mjs +2 -481
  126. package/element-dialog/index.mjs +2 -306
  127. package/ellipsis/index.mjs +124 -148
  128. package/empty-view/index.mjs +48 -65
  129. package/error-view/index.mjs +39 -51
  130. package/flex-column/index.mjs +32 -51
  131. package/flex-item/index.mjs +54 -64
  132. package/flex-row/index.mjs +32 -39
  133. package/flex-scroller/index.mjs +29 -30
  134. package/flow/index.mjs +240 -247
  135. package/flow-designer/index.mjs +2 -4709
  136. package/flow-node/index.mjs +56 -64
  137. package/flow-viewer/index.mjs +159 -157
  138. package/form-block/index.mjs +2 -147
  139. package/form-button/index.mjs +35 -47
  140. package/form-card/index.mjs +14 -25
  141. package/form-cascader/index.mjs +2 -115
  142. package/form-checkbox/index.mjs +89 -70
  143. package/form-checkbox-group/index.mjs +161 -113
  144. package/form-date-picker/index.mjs +155 -142
  145. package/form-holder/index.mjs +137 -109
  146. package/form-input/index.mjs +113 -86
  147. package/form-input-cron-expression/index.mjs +97 -76
  148. package/form-input-email/index.mjs +64 -51
  149. package/form-input-id-card/index.mjs +72 -54
  150. package/form-input-phone-number/index.mjs +71 -56
  151. package/form-input-tag/index.mjs +88 -61
  152. package/form-input-time/index.mjs +2 -73
  153. package/form-item/index.mjs +2 -142
  154. package/form-item-config-provider/index.mjs +46 -60
  155. package/form-item-group/index.mjs +2 -157
  156. package/form-radio-group/index.mjs +161 -121
  157. package/form-select/index.mjs +2 -179
  158. package/form-switch/index.mjs +2 -54
  159. package/form-table/index.mjs +131 -84
  160. package/form-table-plus/index.mjs +164 -108
  161. package/form-textarea/index.mjs +90 -56
  162. package/form-tree-select/index.mjs +89 -71
  163. package/form-tree-select-multiple/index.mjs +92 -77
  164. package/form-view/index.mjs +275 -207
  165. package/fy-array/index.mjs +121 -70
  166. package/fy-article/index.mjs +73 -60
  167. package/fy-cascader/index.mjs +113 -90
  168. package/fy-checkbox/index.mjs +96 -64
  169. package/fy-code/index.mjs +48 -50
  170. package/fy-curd/index.mjs +2 -1879
  171. package/fy-date/index.mjs +76 -41
  172. package/fy-draggable/index.mjs +322 -317
  173. package/fy-dynamic/index.mjs +259 -224
  174. package/fy-empty/index.mjs +35 -36
  175. package/fy-form/index.mjs +2 -640
  176. package/fy-form-design/index.mjs +2 -2852
  177. package/fy-form-design/style.css +1 -1
  178. package/fy-from/crud/zh.d.ts +1 -1
  179. package/fy-input/index.mjs +117 -97
  180. package/fy-input-color/index.mjs +77 -54
  181. package/fy-input-icon/index.mjs +129 -82
  182. package/fy-input-map/index.mjs +242 -183
  183. package/fy-input-number/index.mjs +74 -49
  184. package/fy-input-table/index.mjs +160 -105
  185. package/fy-input-tree/index.mjs +259 -178
  186. package/fy-progress/index.mjs +36 -39
  187. package/fy-radio/index.mjs +53 -37
  188. package/fy-rate/index.mjs +86 -70
  189. package/fy-select/index.mjs +224 -137
  190. package/fy-slider/index.mjs +68 -43
  191. package/fy-switch/index.mjs +67 -41
  192. package/fy-tabs/index.mjs +46 -46
  193. package/fy-time/index.mjs +81 -53
  194. package/fy-title/index.mjs +18 -27
  195. package/fy-tree/index.mjs +382 -286
  196. package/fy-u-editor/index.mjs +2 -357
  197. package/fy-upload/index.mjs +2 -421
  198. package/guide-steps/index.mjs +72 -71
  199. package/helper-function.d.ts +2 -30
  200. package/helper-function.mjs +41 -67
  201. package/highlight-j-s/index.mjs +50 -59
  202. package/icon-card/index.mjs +34 -36
  203. package/icon-temp/index.mjs +27 -27
  204. package/iframe-window/index.mjs +39 -32
  205. package/image-cropper/index.mjs +171 -73
  206. package/image-preview/index.mjs +187 -116
  207. package/image-viewer/index.mjs +69 -66
  208. package/index.d.ts +3 -9
  209. package/index.mjs +174 -489
  210. package/input-number-range/index.mjs +78 -58
  211. package/j-s-x-component/index.mjs +13 -15
  212. package/keyboard/index.mjs +2 -369
  213. package/license/index.mjs +106 -115
  214. package/loading-view/index.mjs +39 -51
  215. package/login/index.mjs +252 -120
  216. package/monaco-editor/index.mjs +2 -7
  217. package/name-avatar/index.mjs +61 -53
  218. package/nav-bar/index.mjs +33 -30
  219. package/not-implement/index.mjs +10 -22
  220. package/notice/index.mjs +100 -93
  221. package/package.json +3 -3
  222. package/page/index.mjs +18 -25
  223. package/page-header/index.mjs +27 -33
  224. package/page-index/index.mjs +121 -99
  225. package/page-index-top/index.mjs +79 -74
  226. package/page-skeleton/index.mjs +47 -44
  227. package/page-skeleton-new/index.mjs +79 -49
  228. package/pageable-table/index.mjs +2 -512
  229. package/pageable-view/index.mjs +279 -274
  230. package/photo-swipe/index.d.ts +4 -0
  231. package/photo-swipe/index.mjs +33 -36
  232. package/picker-table-view/index.mjs +224 -117
  233. package/present-view/index.mjs +266 -196
  234. package/queue/index.mjs +45 -53
  235. package/record-video/index.mjs +2 -134
  236. package/resize-observer/index.mjs +43 -46
  237. package/search/index.mjs +116 -107
  238. package/sign/index.mjs +103 -110
  239. package/sign-panel/index.mjs +182 -141
  240. package/skeleton/index.mjs +51 -54
  241. package/skeleton-panel/index.mjs +33 -37
  242. package/split-pane/index.mjs +3 -196
  243. package/stateful/index.mjs +69 -73
  244. package/static-pageable-table/index.mjs +72 -64
  245. package/sub-table/index.mjs +508 -206
  246. package/sub-table-plus/index.mjs +592 -230
  247. package/swiper/index.mjs +128 -120
  248. package/tab/index.mjs +117 -119
  249. package/tab-item/index.mjs +48 -56
  250. package/table-column/index.mjs +2 -225
  251. package/table-view/index.mjs +3 -326
  252. package/tabs-view/index.mjs +109 -104
  253. package/tag-render/index.mjs +79 -67
  254. package/text-ellipsis/index.mjs +94 -77
  255. package/toolbar/index.mjs +2 -254
  256. package/toolbar-button/index.mjs +145 -120
  257. package/verify/index.mjs +58 -64
  258. package/vue-cron/index.mjs +2 -1180
  259. package/vue-qr-code/index.mjs +30 -54
  260. package/vue-quill-editor/index.mjs +123 -99
  261. package/vue-tags-input/index.mjs +348 -431
  262. package/vue-tree-select/index.mjs +2 -2627
  263. package/vue-video-player/index.mjs +135 -136
  264. package/watermark/index.mjs +46 -74
  265. package/web-types.json +197 -975
  266. package/x-input-tag/index.mjs +144 -106
  267. package/chunks/ElementBaseInfo.ZADwixb5.mjs +0 -125
  268. package/chunks/ElementForm.CQ3PN5qj.mjs +0 -223
  269. package/chunks/ElementListeners.De_PRuIm.mjs +0 -215
  270. package/chunks/ElementMultiInstance.DQo2wuAQ.mjs +0 -181
  271. package/chunks/ElementOtherConfig.B1NfMTYh.mjs +0 -60
  272. package/chunks/ElementProperties.CosfDrlW.mjs +0 -112
  273. package/chunks/ElementTaskConfig.Bko0kgTp.mjs +0 -317
  274. package/chunks/FlowCondition.Y6qEYi1T.mjs +0 -102
  275. package/chunks/FormTemp.BQxO5IQq.mjs +0 -123
  276. package/chunks/MonacoEditor.D31t4FTy.mjs +0 -327
  277. package/chunks/SignalAndMessage.Bb5PFX0N.mjs +0 -85
  278. package/chunks/UserTaskListeners.Bv3BDfEI.mjs +0 -169
  279. package/chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs +0 -10
  280. package/chunks/confirmable-mixin.B2TtLAdk.mjs +0 -86
  281. package/chunks/core.0Exl13Mz.mjs +0 -54
  282. package/chunks/dataformat.CpqOeGBl.mjs +0 -154
  283. package/chunks/dic.Dkl-leRW.mjs +0 -128
  284. package/chunks/dictionary.DGt59Ir7.mjs +0 -68
  285. package/chunks/dictionary.DqiP9x2m.mjs +0 -25
  286. package/chunks/event.9aDS6jcw.mjs +0 -236
  287. package/chunks/form-input.CvFdwlEV.mjs +0 -31
  288. package/chunks/form-item.LWjePsPa.mjs +0 -233
  289. package/chunks/form-pick.BFTIVn_i.mjs +0 -11
  290. package/chunks/form-validate.CVarNHKX.mjs +0 -12
  291. package/chunks/helper.BiMLcEEk.mjs +0 -41
  292. package/chunks/index.9OxHjTIE.mjs +0 -16
  293. package/chunks/index.B2TRddqf.mjs +0 -184
  294. package/chunks/index.BmYCjxZQ.mjs +0 -47
  295. package/chunks/init.DAsXSoLW.mjs +0 -122
  296. package/chunks/packages.ByyangTp.mjs +0 -58
  297. package/chunks/permission.CO31YIkD.mjs +0 -16
  298. package/chunks/slot.DXIbhGat.mjs +0 -27
  299. package/chunks/sub-table-plus-props.BVsD71hT.mjs +0 -30
  300. package/chunks/tab-mixin.BNK6dxLN.mjs +0 -81
  301. package/chunks/util.DqFv_pWg.mjs +0 -241
  302. package/chunks/utilSelf.Csq1766E.mjs +0 -48
  303. package/chunks/utils.DRcxC1Fb.mjs +0 -60
  304. package/color-picker/index.mjs +0 -78
  305. package/egd-collapse/index.mjs +0 -62
  306. package/egd-collapse-item/index.mjs +0 -72
  307. package/form-input-number/index.mjs +0 -69
  308. package/form-input-number/style.css +0 -1
  309. package/input-number/index.mjs +0 -232
  310. package/input-number/style.css +0 -1
  311. package/keep-view-alive/index.mjs +0 -117
  312. package/search-popover/index.mjs +0 -118
  313. package/search-popover/style.css +0 -1
  314. /package/{base.css → utils/style.css} +0 -0
@@ -1,207 +1,275 @@
1
- import { isInContainer as d, animate as m, hasOwn as a, toStringArray as h } from "@web-utils/core";
2
- import { merge as p } from "@web-utils/integrations/lodash";
3
- import b from "../resize-observer/index.mjs";
4
- import "../resize-observer/style.css";
5
- import { n as v } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
6
- const f = [
7
- "back",
8
- "create",
9
- "save",
10
- "withdraw",
11
- "edit",
12
- "submit",
13
- "publish",
14
- "agree",
15
- "disagree",
16
- "reject",
17
- "finish",
18
- "cancel",
19
- "enable",
20
- "exp",
21
- "imp",
22
- "del",
23
- "disabled",
24
- "reload",
25
- "slot"
26
- ], _ = f.map((o) => `${o}-down`), g = ["back", "withdraw", "edit"], c = ["save", "submit", "", "publish", "agree", "disagree", "reject", "finish", "cancel"], l = (o, t) => {
27
- if (o.classList.contains(t))
28
- return o;
29
- let e = o.parentNode;
30
- for (; e && !e.classList.contains(t); )
31
- e = e.parentNode;
32
- return e.classList.contains(t) ? e : null;
33
- }, w = {
34
- name: "FormView",
35
- components: {
36
- ResizeObserver: b
37
- },
38
- inject: {
39
- flowContext: {
40
- default: {}
41
- }
42
- },
43
- props: {
44
- notForm: Boolean,
45
- loading: Boolean,
46
- unLimit: Boolean,
47
- formWidth: {
48
- type: String,
49
- default: "75%"
50
- },
51
- toolbarAttrs: {
52
- type: Object,
53
- default: () => {
54
- }
55
- },
56
- toolbarListeners: {
57
- type: Object
58
- },
59
- contentClass: {
60
- type: String
61
- },
62
- className: {
63
- type: String
64
- },
65
- title: {
66
- type: String
67
- },
68
- showToolbar: {
69
- type: Boolean,
70
- default: !0
71
- },
72
- formNav: {
73
- type: Boolean,
74
- default: !0
75
- }
76
- },
77
- data() {
78
- return {
79
- groups: [],
80
- activeIndex: -1,
81
- tryByClick: !1,
82
- showNav: !1
83
- };
84
- },
85
- computed: {
86
- isFormLoading() {
87
- return this.loading || a(this.$parent, "isFormLoaded") ? !this.$parent.isFormLoaded : !1;
88
- },
89
- toolbarProps() {
90
- var r;
91
- const o = {}, t = ((r = this.toolbarAttrs) == null ? void 0 : r.buttons) || this.$parent.buttons, e = p({}, this.toolbarAttrs, o);
92
- return e.buttons = t || ["back"], e.buttons = h(e.buttons), e;
93
- },
94
- toolbarButtons() {
95
- return this.toolbarProps.buttons.filter((o) => !c.includes(o) && o.indexOf(":down") < 0).map((o) => o.replace(":up", ""));
96
- },
97
- footerBarButtons() {
98
- let o = this.toolbarProps.buttons.filter((t) => !g.includes(t) && (c.includes(t) || t.indexOf(":down") > -1)).map((t) => t.replace(":down", ""));
99
- return o = o || [], this.$parent.isEnabled && !o.includes("cancel") && o.push("cancel"), o;
100
- }
101
- },
102
- created() {
103
- this.$on("FormView.addGroup", (o) => {
104
- o && (this.activeIndex === -1 && (this.activeIndex = 0), this.groups.push(o), this.groups = this.groups.sort((t, e) => {
105
- const r = l(t.$el, "form-card"), s = l(e.$el, "form-card");
106
- if (r === s) {
107
- const i = [].indexOf.call(t.$el.parentNode.children, t.$el), n = [].indexOf.call(e.$el.parentNode.children, e.$el);
108
- return i - n;
109
- } else {
110
- const i = l(r, "form-scroller"), n = [].indexOf.call(i.children, r), u = [].indexOf.call(i.children, s);
111
- return n - u;
112
- }
113
- }), o.active && (this.activeIndex = this.groups.indexOf(o), this.navItemClick(o, this.activeIndex)));
114
- }), this.$on("FormView.removeGroup", (o) => {
115
- if (o) {
116
- const t = this.groups.indexOf(o);
117
- this.groups.splice(t, 1), this.activeIndex > this.groups.length - 1 && (this.activeIndex = 0);
118
- }
119
- }), this.onFormResize({ width: window.document.body.clientWidth });
120
- },
121
- async activated() {
122
- this.$refs.formScroller && (await this.$nextTick(), this.scrollTo(this.formScrollTop, this.formScrollLeft));
123
- },
124
- methods: {
125
- getToolbarSlotKeys() {
126
- return Object.keys(this.$scopedSlots).filter((o) => f.includes(o));
127
- },
128
- getFooterSlotKeys() {
129
- return Object.keys(this.$scopedSlots).filter((o) => _.includes(o));
130
- },
131
- getFooterSlotKey(o) {
132
- return o.replace("-down", "");
133
- },
134
- onFormResize({ width: o }) {
135
- this.showNav = o > 1500;
136
- },
137
- onEdit() {
138
- !this.toolbarListeners.edit && a(this.$parent, "disabled") && (this.$parent.disabled = !1);
139
- },
140
- async navItemClick(o, t) {
141
- this.showNav && (await this.$nextTick(), this.activeFormItemGroup(o, t), o.expand || o.open());
142
- },
143
- activeFormItemGroup(o, t) {
144
- this.$refs.formScroller.scrollTop = o.$el.offsetTop - 10, m(o.$el, "breathe-indicator-animation"), this.tryByClick = !0, this.activeIndex = t;
145
- },
146
- tryActive() {
147
- if (this.showNav) {
148
- for (let o = 0; o < this.groups.length; o++)
149
- if (d(this.groups[o].$el, this.$refs.formScroller, { bottomOffset: 10 })) {
150
- this.activeIndex = o;
151
- break;
152
- }
153
- }
154
- },
155
- onFormScroll() {
156
- this.formScrollTop = this.$refs.formScroller.scrollTop, this.formScrollLeft = this.$refs.formScroller.scrollLeft, !this.tryByClick && this.groups.length && window.requestAnimationFrame(this.tryActive), this.tryByClick = !1;
157
- },
158
- scrollTo(o, t) {
159
- o && (this.$refs.formScroller.scrollTop = o), t && (this.$refs.formScroller.scrollLeft = t);
160
- }
161
- }
162
- };
163
- var y = function() {
164
- var t = this, e = t._self._c;
165
- 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() {
166
- return [e("Toolbar", t._g(t._b({ on: { edit: t.onEdit }, scopedSlots: t._u([{ key: "default", fn: function({ buttons: r }) {
167
- return [t._t("toolbar-button", null, { buttons: r })];
168
- } }, t._l(t.getToolbarSlotKeys(), function(r) {
169
- return { key: r, fn: function() {
170
- return [t._t(r)];
171
- }, proxy: !0 };
172
- }), { key: "toolbar-right", fn: function() {
173
- return [t._t("toolbar-right")];
174
- }, proxy: !0 }], null, !0) }, "Toolbar", { ...t.toolbarProps, buttons: t.toolbarButtons }, !1), t.toolbarListeners))];
175
- })], 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() {
176
- return [e("EmptyView", { attrs: { "empty-tips": "请添加表单内容" } })];
177
- }), t.footerBarButtons.length ? e("Toolbar", t._g(t._b({ attrs: { footer: "" }, scopedSlots: t._u([{ key: "default", fn: function({ buttons: r, footer: s }) {
178
- return [t._t("footer-button", null, { buttons: r, footer: s })];
179
- } }, t._l(t.getFooterSlotKeys(), function(r) {
180
- return { key: t.getFooterSlotKey(r), fn: function() {
181
- return [t._t(r)];
182
- }, proxy: !0 };
183
- })], 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() {
184
- return [e("EmptyView", { attrs: { "empty-tips": "请添加表单内容" } })];
185
- }), t.footerBarButtons.length ? e("Toolbar", t._g(t._b({ attrs: { footer: "" }, scopedSlots: t._u([{ key: "default", fn: function({ buttons: r, footer: s }) {
186
- return [t._t("footer-button", null, { buttons: r, footer: s })];
187
- } }, t._l(t.getFooterSlotKeys(), function(r) {
188
- return { key: t.getFooterSlotKey(r), fn: function() {
189
- return [t._t(r)];
190
- }, proxy: !0 };
191
- })], 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("FormItemGroup", { 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("ResizeObserver", { 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) {
192
- return e("li", { key: r.blockTitle, class: ["form-nav-item", { active: t.activeIndex === s }], on: { click: function(i) {
193
- return t.navItemClick(r, s);
194
- } } }, [t._v(" " + t._s(r.blockTitle) + " ")]);
195
- }), 0)]) : t._e(), t.isFormLoading ? e("LoadingView", { attrs: { "icon-size": "34px", "font-size": "16px" } }) : t._e()], 1);
196
- }, x = [], $ = /* @__PURE__ */ v(
197
- w,
198
- y,
199
- x,
200
- !1,
201
- null,
202
- null
203
- );
204
- const L = $.exports;
205
- export {
206
- L as default
207
- };
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 };