vxe-pc-ui 4.1.19 → 4.1.21

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 (259) hide show
  1. package/README.md +83 -2
  2. package/es/anchor/src/anchor-link.js +1 -1
  3. package/es/anchor/src/anchor.js +1 -1
  4. package/es/breadcrumb/src/breadcrumb.js +1 -1
  5. package/es/button/src/button-group.js +4 -1
  6. package/es/button/src/button.js +2 -1
  7. package/es/calendar/src/calendar.js +64 -32
  8. package/es/card/src/card.js +4 -3
  9. package/es/carousel/src/carousel-item.js +13 -3
  10. package/es/carousel/src/carousel.js +16 -8
  11. package/es/checkbox/src/checkbox.js +30 -14
  12. package/es/checkbox/src/group.js +17 -8
  13. package/es/collapse-pane/index.js +1 -1
  14. package/es/countdown/src/countdown.js +17 -8
  15. package/es/date-picker/src/date-picker.js +148 -69
  16. package/es/drawer/src/drawer.js +86 -46
  17. package/es/form/render/index.js +1 -2
  18. package/es/form/src/form-config-item.js +4 -3
  19. package/es/form/src/form-gather.js +5 -3
  20. package/es/form/src/form-item.js +15 -10
  21. package/es/form/src/form.js +11 -8
  22. package/es/form/src/render.js +2 -1
  23. package/es/form/src/util.js +2 -1
  24. package/es/icon/src/icon.js +3 -0
  25. package/es/icon/style.css +1 -1
  26. package/es/icon-picker/src/icon-picker.js +24 -11
  27. package/es/image/src/group.js +4 -1
  28. package/es/image/src/preview.js +1 -1
  29. package/es/input/src/input.js +131 -66
  30. package/es/layout-aside/src/layout-aside.js +1 -1
  31. package/es/list/src/list.js +7 -5
  32. package/es/list-design/src/list-design.js +1 -1
  33. package/es/list-design/src/list-view.js +1 -1
  34. package/es/loading/src/loading.js +4 -1
  35. package/es/menu/src/menu.js +4 -3
  36. package/es/number-input/src/number-input.js +100 -77
  37. package/es/pager/src/pager.js +85 -45
  38. package/es/password-input/src/password-input.js +2 -2
  39. package/es/print/src/page-break.js +11 -2
  40. package/es/print/src/print.js +6 -4
  41. package/es/pulldown/src/pulldown.js +19 -13
  42. package/es/radio/src/button.js +2 -2
  43. package/es/radio/src/group.js +8 -4
  44. package/es/row/src/row.js +1 -1
  45. package/es/select/src/optgroup.js +19 -10
  46. package/es/select/src/option.js +17 -9
  47. package/es/select/src/select.js +64 -41
  48. package/es/select/src/util.js +2 -2
  49. package/es/style.css +1 -1
  50. package/es/style.min.css +1 -1
  51. package/es/tabs/src/tab-pane.js +13 -3
  52. package/es/tabs/src/tabs.js +57 -47
  53. package/es/textarea/src/textarea.js +28 -10
  54. package/es/tooltip/src/tooltip.js +107 -78
  55. package/es/tree/src/tree.js +6 -3
  56. package/es/tree-select/src/tree-select.js +18 -10
  57. package/es/ui/index.js +1 -7
  58. package/es/ui/src/log.js +1 -1
  59. package/es/upload/src/upload.js +5 -5
  60. package/lib/anchor/src/anchor-link.js +1 -1
  61. package/lib/anchor/src/anchor-link.min.js +1 -1
  62. package/lib/anchor/src/anchor.js +1 -1
  63. package/lib/anchor/src/anchor.min.js +1 -1
  64. package/lib/breadcrumb/src/breadcrumb.js +1 -1
  65. package/lib/breadcrumb/src/breadcrumb.min.js +1 -1
  66. package/lib/button/src/button-group.js +4 -1
  67. package/lib/button/src/button-group.min.js +1 -1
  68. package/lib/button/src/button.js +2 -1
  69. package/lib/button/src/button.min.js +1 -1
  70. package/lib/calendar/src/calendar.js +42 -24
  71. package/lib/calendar/src/calendar.min.js +1 -1
  72. package/lib/card/src/card.js +6 -5
  73. package/lib/card/src/card.min.js +1 -1
  74. package/lib/carousel/src/carousel-item.js +16 -3
  75. package/lib/carousel/src/carousel-item.min.js +1 -1
  76. package/lib/carousel/src/carousel.js +18 -8
  77. package/lib/carousel/src/carousel.min.js +1 -1
  78. package/lib/checkbox/src/checkbox.js +16 -12
  79. package/lib/checkbox/src/checkbox.min.js +1 -1
  80. package/lib/checkbox/src/group.js +10 -7
  81. package/lib/checkbox/src/group.min.js +1 -1
  82. package/lib/collapse-pane/index.js +1 -1
  83. package/lib/collapse-pane/index.min.js +1 -1
  84. package/lib/countdown/src/countdown.js +15 -7
  85. package/lib/countdown/src/countdown.min.js +1 -1
  86. package/lib/date-picker/src/date-picker.js +124 -62
  87. package/lib/date-picker/src/date-picker.min.js +1 -1
  88. package/lib/drawer/src/drawer.js +15 -30
  89. package/lib/drawer/src/drawer.min.js +1 -1
  90. package/lib/form/render/index.js +1 -4
  91. package/lib/form/render/index.min.js +1 -1
  92. package/lib/form/src/form-config-item.js +4 -5
  93. package/lib/form/src/form-config-item.min.js +1 -1
  94. package/lib/form/src/form-gather.js +11 -9
  95. package/lib/form/src/form-gather.min.js +1 -1
  96. package/lib/form/src/form-item.js +11 -12
  97. package/lib/form/src/form-item.min.js +1 -1
  98. package/lib/form/src/form.js +7 -7
  99. package/lib/form/src/form.min.js +1 -1
  100. package/lib/form/src/render.js +2 -1
  101. package/lib/form/src/util.js +2 -1
  102. package/lib/icon/src/icon.js +3 -0
  103. package/lib/icon/src/icon.min.js +1 -1
  104. package/lib/icon/style/style.css +1 -1
  105. package/lib/icon/style/style.min.css +1 -1
  106. package/lib/icon-picker/src/icon-picker.js +22 -12
  107. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  108. package/lib/image/src/group.js +4 -1
  109. package/lib/image/src/group.min.js +1 -1
  110. package/lib/image/src/preview.js +1 -1
  111. package/lib/image/src/preview.min.js +1 -1
  112. package/lib/index.umd.js +884 -649
  113. package/lib/index.umd.min.js +1 -1
  114. package/lib/input/src/input.js +79 -51
  115. package/lib/input/src/input.min.js +1 -1
  116. package/lib/layout-aside/src/layout-aside.js +1 -1
  117. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  118. package/lib/list/src/list.js +9 -5
  119. package/lib/list/src/list.min.js +1 -1
  120. package/lib/list-design/src/list-design.js +1 -1
  121. package/lib/list-design/src/list-design.min.js +1 -1
  122. package/lib/list-design/src/list-view.js +1 -1
  123. package/lib/list-design/src/list-view.min.js +1 -1
  124. package/lib/loading/src/loading.js +4 -1
  125. package/lib/loading/src/loading.min.js +1 -1
  126. package/lib/menu/src/menu.js +4 -3
  127. package/lib/menu/src/menu.min.js +1 -1
  128. package/lib/number-input/src/number-input.js +67 -69
  129. package/lib/number-input/src/number-input.min.js +1 -1
  130. package/lib/pager/src/pager.js +40 -39
  131. package/lib/pager/src/pager.min.js +1 -1
  132. package/lib/password-input/src/password-input.js +2 -2
  133. package/lib/print/src/page-break.js +14 -2
  134. package/lib/print/src/page-break.min.js +1 -1
  135. package/lib/print/src/print.js +8 -6
  136. package/lib/print/src/print.min.js +1 -1
  137. package/lib/pulldown/src/pulldown.js +19 -13
  138. package/lib/pulldown/src/pulldown.min.js +1 -1
  139. package/lib/radio/src/button.js +2 -2
  140. package/lib/radio/src/group.js +8 -4
  141. package/lib/radio/src/group.min.js +1 -1
  142. package/lib/row/src/row.js +1 -1
  143. package/lib/row/src/row.min.js +1 -1
  144. package/lib/select/src/optgroup.js +12 -9
  145. package/lib/select/src/optgroup.min.js +1 -1
  146. package/lib/select/src/option.js +9 -7
  147. package/lib/select/src/option.min.js +1 -1
  148. package/lib/select/src/select.js +52 -41
  149. package/lib/select/src/select.min.js +1 -1
  150. package/lib/select/src/util.js +2 -2
  151. package/lib/select/src/util.min.js +1 -1
  152. package/lib/style.css +1 -1
  153. package/lib/style.min.css +1 -1
  154. package/lib/tabs/src/tab-pane.js +16 -3
  155. package/lib/tabs/src/tab-pane.min.js +1 -1
  156. package/lib/tabs/src/tabs.js +62 -50
  157. package/lib/tabs/src/tabs.min.js +1 -1
  158. package/lib/textarea/src/textarea.js +4 -4
  159. package/lib/tooltip/src/tooltip.js +96 -88
  160. package/lib/tooltip/src/tooltip.min.js +1 -1
  161. package/lib/tree/src/tree.js +2 -2
  162. package/lib/tree/src/tree.min.js +1 -1
  163. package/lib/tree-select/src/tree-select.js +13 -8
  164. package/lib/tree-select/src/tree-select.min.js +1 -1
  165. package/lib/ui/index.js +3 -10
  166. package/lib/ui/index.min.js +1 -1
  167. package/lib/ui/src/log.js +1 -1
  168. package/lib/ui/src/log.min.js +1 -1
  169. package/lib/upload/src/upload.js +5 -5
  170. package/lib/upload/src/upload.min.js +1 -1
  171. package/package.json +2 -2
  172. package/packages/anchor/src/anchor-link.ts +2 -2
  173. package/packages/anchor/src/anchor.ts +2 -2
  174. package/packages/breadcrumb/src/breadcrumb.ts +2 -2
  175. package/packages/button/src/button-group.ts +4 -1
  176. package/packages/button/src/button.ts +6 -5
  177. package/packages/calendar/src/calendar.ts +67 -35
  178. package/packages/card/src/card.ts +6 -4
  179. package/packages/carousel/src/carousel-item.ts +19 -4
  180. package/packages/carousel/src/carousel.ts +19 -11
  181. package/packages/checkbox/src/checkbox.ts +34 -15
  182. package/packages/checkbox/src/group.ts +22 -10
  183. package/packages/collapse-pane/index.ts +1 -1
  184. package/packages/countdown/src/countdown.ts +20 -11
  185. package/packages/date-picker/src/date-picker.ts +160 -80
  186. package/packages/drawer/src/drawer.ts +91 -50
  187. package/packages/form/render/index.ts +1 -3
  188. package/packages/form/src/form-config-item.ts +4 -3
  189. package/packages/form/src/form-gather.ts +5 -3
  190. package/packages/form/src/form-item.ts +15 -10
  191. package/packages/form/src/form.ts +12 -10
  192. package/packages/form/src/render.ts +2 -1
  193. package/packages/form/src/util.ts +2 -1
  194. package/packages/icon/src/icon.ts +3 -0
  195. package/packages/icon-picker/src/icon-picker.ts +31 -17
  196. package/packages/image/src/group.ts +4 -1
  197. package/packages/image/src/preview.ts +2 -2
  198. package/packages/input/src/input.ts +138 -75
  199. package/packages/layout-aside/src/layout-aside.ts +2 -2
  200. package/packages/list/src/list.ts +12 -11
  201. package/packages/list-design/src/list-design.ts +2 -2
  202. package/packages/list-design/src/list-view.ts +2 -2
  203. package/packages/loading/src/loading.ts +5 -2
  204. package/packages/menu/src/menu.ts +5 -4
  205. package/packages/number-input/src/number-input.ts +102 -79
  206. package/packages/pager/src/pager.ts +91 -50
  207. package/packages/password-input/src/password-input.ts +2 -2
  208. package/packages/print/src/page-break.ts +18 -4
  209. package/packages/print/src/print.ts +10 -5
  210. package/packages/pulldown/src/pulldown.ts +28 -22
  211. package/packages/radio/src/button.ts +2 -2
  212. package/packages/radio/src/group.ts +9 -5
  213. package/packages/row/src/row.ts +2 -2
  214. package/packages/select/src/optgroup.ts +22 -13
  215. package/packages/select/src/option.ts +18 -10
  216. package/packages/select/src/select.ts +79 -52
  217. package/packages/select/src/util.ts +3 -3
  218. package/packages/tabs/src/tab-pane.ts +20 -5
  219. package/packages/tabs/src/tabs.ts +59 -49
  220. package/packages/textarea/src/textarea.ts +28 -10
  221. package/packages/tooltip/src/tooltip.ts +118 -84
  222. package/packages/tree/src/tree.ts +7 -4
  223. package/packages/tree-select/src/tree-select.ts +25 -16
  224. package/packages/ui/index.ts +0 -7
  225. package/packages/upload/src/upload.ts +6 -6
  226. package/types/components/calendar.d.ts +6 -0
  227. package/types/components/carousel.d.ts +5 -0
  228. package/types/components/countdown.d.ts +4 -0
  229. package/types/components/date-picker.d.ts +23 -5
  230. package/types/components/drawer.d.ts +0 -1
  231. package/types/components/form.d.ts +4 -2
  232. package/types/components/icon-picker.d.ts +4 -0
  233. package/types/components/input.d.ts +9 -1
  234. package/types/components/list.d.ts +1 -0
  235. package/types/components/number-input.d.ts +6 -2
  236. package/types/components/optgroup.d.ts +10 -4
  237. package/types/components/pulldown.d.ts +5 -1
  238. package/types/components/select.d.ts +4 -0
  239. package/types/components/tabs.d.ts +4 -0
  240. package/types/components/toolbar.d.ts +5 -0
  241. package/types/components/tooltip.d.ts +4 -0
  242. package/types/components/tree-select.d.ts +4 -0
  243. package/types/ui/index.d.ts +0 -22
  244. /package/es/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
  245. /package/es/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  246. /package/es/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  247. /package/es/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  248. /package/es/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  249. /package/es/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  250. /package/es/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  251. /package/lib/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
  252. /package/lib/{collapse-pane → collapse}/src/collapse-pane.min.js +0 -0
  253. /package/lib/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  254. /package/lib/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  255. /package/lib/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  256. /package/lib/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  257. /package/lib/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  258. /package/lib/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  259. /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
@@ -122,8 +122,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
122
122
  initialized: false,
123
123
  visible: false,
124
124
  contentVisible: false,
125
- drawerZIndex: 0,
126
- firstOpen: true
125
+ drawerZIndex: 0
127
126
  });
128
127
  const refMaps = {
129
128
  refElem
@@ -166,9 +165,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
166
165
  reactData.drawerZIndex = (0, _utils.nextZIndex)();
167
166
  }
168
167
  };
169
- const updatePosition = () => {
170
- return (0, _vue.nextTick)().then(() => {});
171
- };
172
168
  const closeDrawer = type => {
173
169
  const {
174
170
  beforeHideMethod
@@ -184,11 +180,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
184
180
  if (!_xeUtils.default.isError(rest)) {
185
181
  reactData.contentVisible = false;
186
182
  _xeUtils.default.remove(allActiveDrawers, item => item === $xeDrawer);
187
- drawerMethods.dispatchEvent('before-hide', params, null);
183
+ dispatchEvent('before-hide', params, null);
188
184
  setTimeout(() => {
189
185
  reactData.visible = false;
190
186
  emit('update:modelValue', false);
191
- drawerMethods.dispatchEvent('hide', params, null);
187
+ dispatchEvent('hide', params, null);
192
188
  }, 200);
193
189
  }
194
190
  }).catch(e => e);
@@ -197,21 +193,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
197
193
  };
198
194
  const closeEvent = evnt => {
199
195
  const type = 'close';
200
- drawerMethods.dispatchEvent(type, {
196
+ dispatchEvent(type, {
201
197
  type
202
198
  }, evnt);
203
199
  closeDrawer(type);
204
200
  };
205
201
  const confirmEvent = evnt => {
206
202
  const type = 'confirm';
207
- drawerMethods.dispatchEvent(type, {
203
+ dispatchEvent(type, {
208
204
  type
209
205
  }, evnt);
210
206
  closeDrawer(type);
211
207
  };
212
208
  const cancelEvent = evnt => {
213
209
  const type = 'cancel';
214
- drawerMethods.dispatchEvent(type, {
210
+ dispatchEvent(type, {
215
211
  type
216
212
  }, evnt);
217
213
  closeDrawer(type);
@@ -249,31 +245,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
249
245
  type
250
246
  };
251
247
  emit('update:modelValue', true);
252
- drawerMethods.dispatchEvent('show', params, null);
248
+ dispatchEvent('show', params, null);
253
249
  });
254
250
  }, 10);
255
- (0, _vue.nextTick)(() => {
256
- const {
257
- firstOpen
258
- } = reactData;
259
- if (firstOpen) {
260
- updatePosition().then(() => {
261
- setTimeout(() => updatePosition(), 20);
262
- });
263
- }
264
- if (firstOpen) {
265
- reactData.firstOpen = false;
266
- }
267
- });
268
251
  }
269
252
  return (0, _vue.nextTick)();
270
253
  };
254
+ const dispatchEvent = (type, params, evnt) => {
255
+ emit(type, (0, _ui.createEvent)(evnt, {
256
+ $drawer: $xeDrawer
257
+ }, params));
258
+ };
271
259
  const drawerMethods = {
272
- dispatchEvent(type, params, evnt) {
273
- emit(type, (0, _ui.createEvent)(evnt, {
274
- $drawer: $xeDrawer
275
- }, params));
276
- },
260
+ dispatchEvent,
277
261
  open: openDrawer,
278
262
  close() {
279
263
  return closeDrawer('close');
@@ -485,7 +469,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
485
469
  class: 'vxe-drawer--container'
486
470
  }, !reactData.initialized || destroyOnClose && !reactData.visible ? [] : [renderHeader(), renderBody(), renderFooter()])])])]);
487
471
  };
488
- $xeDrawer.renderVN = renderVN;
489
472
  (0, _vue.watch)(() => props.width, recalculate);
490
473
  (0, _vue.watch)(() => props.height, recalculate);
491
474
  (0, _vue.watch)(() => props.modelValue, value => {
@@ -509,6 +492,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
509
492
  (0, _vue.onUnmounted)(() => {
510
493
  _ui.globalEvents.off($xeDrawer, 'keydown');
511
494
  });
495
+ (0, _vue.provide)('$xeDrawer', '$xeDrawer');
496
+ $xeDrawer.renderVN = renderVN;
512
497
  return $xeDrawer;
513
498
  },
514
499
  render() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveDrawers=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_button=_interopRequireDefault(require("../../button/src/button")),_index=_interopRequireDefault(require("../../loading/index"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const allActiveDrawers=exports.allActiveDrawers=[];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeDrawer",props:{modelValue:Boolean,id:String,title:String,loading:{type:Boolean,default:null},className:String,position:{type:[String,Object],default:()=>(0,_ui.getConfig)().drawer.position},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.escClosable},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showFooter},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showClose},content:[Number,String],showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.confirmButtonText},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showTitleOverflow},width:[Number,String],height:[Number,String],zIndex:Number,transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.transfer},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.padding},size:{type:String,default:()=>(0,_ui.getConfig)().drawer.size||(0,_ui.getConfig)().size},beforeHideMethod:{type:Function,default:()=>(0,_ui.getConfig)().drawer.beforeHideMethod},slots:Object},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel"],setup(_,e){const{slots:f,emit:i}=e;var t=_xeUtils.default.uniqueId();const w=(0,_ui.useSize)(_)["computeSize"],g=(0,_vue.ref)(),h=(0,_vue.ref)(),a=(0,_vue.ref)(),l=(0,_vue.ref)(),p=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,drawerZIndex:0,firstOpen:!0}),r={refElem:g},o={},x={xID:t,props:_,context:e,reactData:p,getRefMaps:()=>r,getComputeMaps:()=>o},n=()=>{return h.value},s=()=>{var{width:e,height:t}=_,r=n();return r&&(r.style.width=(0,_dom.toCssUnit)(e),r.style.height=(0,_dom.toCssUnit)(t)),(0,_vue.nextTick)()},u=()=>{var e=_["zIndex"],t=p["drawerZIndex"];e?p.drawerZIndex=e:t<(0,_utils.getLastZIndex)()&&(p.drawerZIndex=(0,_utils.nextZIndex)())},d=()=>(0,_vue.nextTick)().then(()=>{}),v=e=>{var t=_["beforeHideMethod"],r=p["visible"];const o={type:e};return r&&Promise.resolve(t?t(o):null).then(e=>{_xeUtils.default.isError(e)||(p.contentVisible=!1,_xeUtils.default.remove(allActiveDrawers,e=>e===x),y.dispatchEvent("before-hide",o,null),setTimeout(()=>{p.visible=!1,i("update:modelValue",!1),y.dispatchEvent("hide",o,null)},200))}).catch(e=>e),(0,_vue.nextTick)()},c=e=>{var t="close";y.dispatchEvent(t,{type:t},e),v(t)},m=e=>{var t="confirm";y.dispatchEvent(t,{type:t},e),v(t)},b=e=>{var t="cancel";y.dispatchEvent(t,{type:t},e),v(t)},C=()=>{const r=_["showFooter"];var{initialized:e,visible:t}=p;return e||(p.initialized=!0),t||(s(),p.visible=!0,p.contentVisible=!1,u(),allActiveDrawers.push(x),setTimeout(()=>{p.contentVisible=!0,(0,_vue.nextTick)(()=>{r&&(e=a.value,t=l.value,e=e||t)&&e.focus();var e,t={type:""};i("update:modelValue",!0),y.dispatchEvent("show",t,null)})},10),(0,_vue.nextTick)(()=>{var e=p["firstOpen"];e&&d().then(()=>{setTimeout(()=>d(),20)}),e&&(p.firstOpen=!1)})),(0,_vue.nextTick)()},y={dispatchEvent(e,t,r){i(e,(0,_ui.createEvent)(r,{$drawer:x},t))},open:C,close(){return v("close")},getBox:n},V=e=>{var t=g.value;_.maskClosable&&e.target===t&&v("mask")},k=e=>{if(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){const t=_xeUtils.default.max(allActiveDrawers,e=>e.reactData.drawerZIndex);t&&setTimeout(()=>{t===x&&t.props.escClosable&&v("exit")},10)}},B=()=>{const t=p["drawerZIndex"];allActiveDrawers.some(e=>e.reactData.visible&&e.reactData.drawerZIndex>t)&&u()};Object.assign(x,y,{});const S=()=>{var{slots:e={},showClose:t,title:r}=_,o=f.title||e.title,e=f.corner||e.corner;return[(0,_vue.h)("div",{class:"vxe-drawer--header-title"},o?(0,_vn.getSlotVNs)(o({$drawer:x})):r?(0,_utils.getFuncText)(r):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-drawer--header-right"},[e?(0,_vue.h)("div",{class:"vxe-drawer--corner-wrapper"},(0,_vn.getSlotVNs)(e({$drawer:x}))):(0,_vue.createCommentVNode)(),t?(0,_vue.h)("div",{class:["vxe-drawer--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.drawer.close"),onClick:c},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().DRAWER_CLOSE})]):(0,_vue.createCommentVNode)()])]},N=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:r}=_,o=f.leftfoot||e.leftfoot,e=f.rightfoot||e.rightfoot,i=[];return t&&i.push((0,_vue.h)(_button.default,{key:1,ref:l,content:_.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:b})),r&&i.push((0,_vue.h)(_button.default,{key:2,ref:a,status:"primary",content:_.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:m})),(0,_vue.h)("div",{class:"vxe-drawer--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-drawer--footer-left"},o?(0,_vn.getSlotVNs)(o({$drawer:x})):[]),(0,_vue.h)("div",{class:"vxe-drawer--footer-right"},e?(0,_vn.getSlotVNs)(e({$drawer:x})):i)])};return x.renderVN=()=>{var{slots:e={},className:t,position:r,loading:o,lockScroll:i,padding:a,lockView:l,mask:n,destroyOnClose:s}=_,{initialized:u,contentVisible:d,visible:v}=p,e=f.aside||e.aside,c=w.value;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!_.transfer||!u},[(0,_vue.h)("div",{ref:g,class:["vxe-drawer--wrapper","pos--"+r,t||"",{["size--"+c]:c,"is--padding":a,"lock--scroll":i,"lock--view":l,"is--mask":n,"is--visible":d,"is--active":v,"is--loading":o}],style:{zIndex:p.drawerZIndex},onClick:V},[(0,_vue.h)("div",{ref:h,class:"vxe-drawer--box",onMousedown:B},[e?(0,_vue.h)("div",{class:"vxe-drawer--aside"},(0,_vn.getSlotVNs)(e({$drawer:x}))):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-drawer--container"},!p.initialized||s&&!p.visible?[]:[(()=>{var{slots:e={},showTitleOverflow:t}=_,e=f.header||e.header;return _.showHeader?(0,_vue.h)("div",{class:["vxe-drawer--header",{"is--ellipsis":t}]},e?(0,_vn.getSlotVNs)(e({$drawer:x})):S()):(0,_vue.createCommentVNode)()})(),(()=>{var{slots:e={},content:t}=_,r=f.default||e.default,o=f.left||e.left,e=f.right||e.right;return(0,_vue.h)("div",{class:"vxe-drawer--body"},[o?(0,_vue.h)("div",{class:"vxe-drawer--body-left"},(0,_vn.getSlotVNs)(o({$drawer:x}))):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-drawer--body-default"},[(0,_vue.h)("div",{class:"vxe-drawer--content"},r?(0,_vn.getSlotVNs)(r({$drawer:x})):(0,_utils.getFuncText)(t))]),e?(0,_vue.h)("div",{class:"vxe-drawer--body-right"},(0,_vn.getSlotVNs)(e({$drawer:x}))):(0,_vue.createCommentVNode)(),(0,_vue.h)(_index.default,{class:"vxe-drawer--loading",modelValue:_.loading})])})(),(()=>{var{slots:e={}}=_,e=f.footer||e.footer;return _.showFooter?(0,_vue.h)("div",{class:"vxe-drawer--footer"},e?(0,_vn.getSlotVNs)(e({$drawer:x})):[N()]):(0,_vue.createCommentVNode)()})()])])])])},(0,_vue.watch)(()=>_.width,s),(0,_vue.watch)(()=>_.height,s),(0,_vue.watch)(()=>_.modelValue,e=>{e?C():v("model")}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{_.modelValue&&C(),s()}),_.escClosable&&_ui.globalEvents.on(x,"keydown",k)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(x,"keydown")}),x},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveDrawers=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_button=_interopRequireDefault(require("../../button/src/button")),_index=_interopRequireDefault(require("../../loading/index"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const allActiveDrawers=exports.allActiveDrawers=[];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeDrawer",props:{modelValue:Boolean,id:String,title:String,loading:{type:Boolean,default:null},className:String,position:{type:[String,Object],default:()=>(0,_ui.getConfig)().drawer.position},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.escClosable},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showFooter},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showClose},content:[Number,String],showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.confirmButtonText},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showTitleOverflow},width:[Number,String],height:[Number,String],zIndex:Number,transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.transfer},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.padding},size:{type:String,default:()=>(0,_ui.getConfig)().drawer.size||(0,_ui.getConfig)().size},beforeHideMethod:{type:Function,default:()=>(0,_ui.getConfig)().drawer.beforeHideMethod},slots:Object},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel"],setup(_,e){const{slots:f,emit:i}=e;var t=_xeUtils.default.uniqueId();const w=(0,_ui.useSize)(_)["computeSize"],g=(0,_vue.ref)(),h=(0,_vue.ref)(),a=(0,_vue.ref)(),l=(0,_vue.ref)(),x=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,drawerZIndex:0}),r={refElem:g},o={},p={xID:t,props:_,context:e,reactData:x,getRefMaps:()=>r,getComputeMaps:()=>o},n=()=>{return h.value},s=()=>{var{width:e,height:t}=_,r=n();return r&&(r.style.width=(0,_dom.toCssUnit)(e),r.style.height=(0,_dom.toCssUnit)(t)),(0,_vue.nextTick)()},u=()=>{var e=_["zIndex"],t=x["drawerZIndex"];e?x.drawerZIndex=e:t<(0,_utils.getLastZIndex)()&&(x.drawerZIndex=(0,_utils.nextZIndex)())},d=e=>{var t=_["beforeHideMethod"],r=x["visible"];const o={type:e};return r&&Promise.resolve(t?t(o):null).then(e=>{_xeUtils.default.isError(e)||(x.contentVisible=!1,_xeUtils.default.remove(allActiveDrawers,e=>e===p),C("before-hide",o,null),setTimeout(()=>{x.visible=!1,i("update:modelValue",!1),C("hide",o,null)},200))}).catch(e=>e),(0,_vue.nextTick)()},v=e=>{var t="close";C(t,{type:t},e),d(t)},c=e=>{var t="confirm";C(t,{type:t},e),d(t)},m=e=>{var t="cancel";C(t,{type:t},e),d(t)},b=()=>{const r=_["showFooter"];var{initialized:e,visible:t}=x;return e||(x.initialized=!0),t||(s(),x.visible=!0,x.contentVisible=!1,u(),allActiveDrawers.push(p),setTimeout(()=>{x.contentVisible=!0,(0,_vue.nextTick)(()=>{r&&(e=a.value,t=l.value,e=e||t)&&e.focus();var e,t={type:""};i("update:modelValue",!0),C("show",t,null)})},10)),(0,_vue.nextTick)()},C=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$drawer:p},t))};t={dispatchEvent:C,open:b,close(){return d("close")},getBox:n};const y=e=>{var t=g.value;_.maskClosable&&e.target===t&&d("mask")},V=e=>{if(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){const t=_xeUtils.default.max(allActiveDrawers,e=>e.reactData.drawerZIndex);t&&setTimeout(()=>{t===p&&t.props.escClosable&&d("exit")},10)}},B=()=>{const t=x["drawerZIndex"];allActiveDrawers.some(e=>e.reactData.visible&&e.reactData.drawerZIndex>t)&&u()};Object.assign(p,t,{});const k=()=>{var{slots:e={},showClose:t,title:r}=_,o=f.title||e.title,e=f.corner||e.corner;return[(0,_vue.h)("div",{class:"vxe-drawer--header-title"},o?(0,_vn.getSlotVNs)(o({$drawer:p})):r?(0,_utils.getFuncText)(r):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-drawer--header-right"},[e?(0,_vue.h)("div",{class:"vxe-drawer--corner-wrapper"},(0,_vn.getSlotVNs)(e({$drawer:p}))):(0,_vue.createCommentVNode)(),t?(0,_vue.h)("div",{class:["vxe-drawer--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.drawer.close"),onClick:v},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().DRAWER_CLOSE})]):(0,_vue.createCommentVNode)()])]},S=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:r}=_,o=f.leftfoot||e.leftfoot,e=f.rightfoot||e.rightfoot,i=[];return t&&i.push((0,_vue.h)(_button.default,{key:1,ref:l,content:_.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:m})),r&&i.push((0,_vue.h)(_button.default,{key:2,ref:a,status:"primary",content:_.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:c})),(0,_vue.h)("div",{class:"vxe-drawer--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-drawer--footer-left"},o?(0,_vn.getSlotVNs)(o({$drawer:p})):[]),(0,_vue.h)("div",{class:"vxe-drawer--footer-right"},e?(0,_vn.getSlotVNs)(e({$drawer:p})):i)])};return(0,_vue.watch)(()=>_.width,s),(0,_vue.watch)(()=>_.height,s),(0,_vue.watch)(()=>_.modelValue,e=>{e?b():d("model")}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{_.modelValue&&b(),s()}),_.escClosable&&_ui.globalEvents.on(p,"keydown",V)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(p,"keydown")}),(0,_vue.provide)("$xeDrawer","$xeDrawer"),p.renderVN=()=>{var{slots:e={},className:t,position:r,loading:o,lockScroll:i,padding:a,lockView:l,mask:n,destroyOnClose:s}=_,{initialized:u,contentVisible:d,visible:v}=x,e=f.aside||e.aside,c=w.value;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!_.transfer||!u},[(0,_vue.h)("div",{ref:g,class:["vxe-drawer--wrapper","pos--"+r,t||"",{["size--"+c]:c,"is--padding":a,"lock--scroll":i,"lock--view":l,"is--mask":n,"is--visible":d,"is--active":v,"is--loading":o}],style:{zIndex:x.drawerZIndex},onClick:y},[(0,_vue.h)("div",{ref:h,class:"vxe-drawer--box",onMousedown:B},[e?(0,_vue.h)("div",{class:"vxe-drawer--aside"},(0,_vn.getSlotVNs)(e({$drawer:p}))):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-drawer--container"},!x.initialized||s&&!x.visible?[]:[(()=>{var{slots:e={},showTitleOverflow:t}=_,e=f.header||e.header;return _.showHeader?(0,_vue.h)("div",{class:["vxe-drawer--header",{"is--ellipsis":t}]},e?(0,_vn.getSlotVNs)(e({$drawer:p})):k()):(0,_vue.createCommentVNode)()})(),(()=>{var{slots:e={},content:t}=_,r=f.default||e.default,o=f.left||e.left,e=f.right||e.right;return(0,_vue.h)("div",{class:"vxe-drawer--body"},[o?(0,_vue.h)("div",{class:"vxe-drawer--body-left"},(0,_vn.getSlotVNs)(o({$drawer:p}))):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-drawer--body-default"},[(0,_vue.h)("div",{class:"vxe-drawer--content"},r?(0,_vn.getSlotVNs)(r({$drawer:p})):(0,_utils.getFuncText)(t))]),e?(0,_vue.h)("div",{class:"vxe-drawer--body-right"},(0,_vn.getSlotVNs)(e({$drawer:p}))):(0,_vue.createCommentVNode)(),(0,_vue.h)(_index.default,{class:"vxe-drawer--loading",modelValue:_.loading})])})(),(()=>{var{slots:e={}}=_,e=f.footer||e.footer;return _.showFooter?(0,_vue.h)("div",{class:"vxe-drawer--footer"},e?(0,_vn.getSlotVNs)(e({$drawer:p})):[S()]):(0,_vue.createCommentVNode)()})()])])])])},p},render(){return this.renderVN()}});
@@ -7,9 +7,6 @@ var _vn = require("../../ui/src/vn");
7
7
  var _log = require("../../ui/src/log");
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
  const componentDefaultModelProp = 'modelValue';
10
- const defaultCompProps = {
11
- transfer: true
12
- };
13
10
  /**
14
11
  * 已废弃
15
12
  * @deprecated
@@ -44,7 +41,7 @@ function getNativeAttrs(renderOpts) {
44
41
  return attrs;
45
42
  }
46
43
  function getComponentFormItemProps(renderOpts, params, value, defaultProps) {
47
- return _xeUtils.default.assign({}, defaultCompProps, defaultProps, renderOpts.props, {
44
+ return _xeUtils.default.assign({}, defaultProps, renderOpts.props, {
48
45
  [componentDefaultModelProp]: value
49
46
  });
50
47
  }
@@ -1 +1 @@
1
- "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const componentDefaultModelProp="modelValue",defaultCompProps={transfer:!0};function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getComponentFormItemProps(e,t,n,o){return _xeUtils.default.assign({},defaultCompProps,o,e.props,{[componentDefaultModelProp]:n})}function getElementOns(e,n,t,o){const r=e["events"],s=(0,_vn.getModelEvent)(e.name),a=(0,_vn.getChangeEvent)(e.name),u=a===s,i={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(i[(0,_vn.getOnName)(s)]=function(e){t(e),u&&o&&o(e),r&&r[s]&&r[s](n,e)}),!u&&o&&(i[(0,_vn.getOnName)(a)]=function(...e){o(...e),r&&r[a]&&r[a](n,...e)}),i}function getComponentOns(e,n,t,o){const r=e["events"],s=(0,_vn.getModelEvent)(e.name),a=(0,_vn.getChangeEvent)(e.name),u={};return _xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(n,...e)}}),t&&(u[(0,_vn.getOnName)(s)]=function(e){t(e),r&&r[s]&&r[s](n,e)}),o&&(u[(0,_vn.getOnName)(a)]=function(...e){o(...e),r&&r[a]&&r[a](n,...e)}),u}function getItemOns(e,t){const{$form:n,data:o,field:r}=t;return getComponentOns(e,t,e=>{_xeUtils.default.set(o,r,e)},()=>{n.updateStatus(t)})}function getNativeItemOns(e,t){const{$form:n,data:o,field:r}=t;return getElementOns(e,t,e=>{e=e.target.value;_xeUtils.default.set(o,r,e)},()=>{n.updateStatus(t)})}function renderNativeOptgroup(n,o,r){var{optionGroups:e,optionGroupProps:t={}}=n;const s=t.options||"options",a=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[a]},r(e[s],n,o)))}function nativeItemRender(e,t){var{data:n,field:o}=t,r=e["name"],s=getNativeAttrs(e),n=_xeUtils.default.get(n,o);return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},s),{value:!s||"input"!==r||"submit"!==s.type&&"reset"!==s.type?n:null}),getNativeItemOns(e,t)))]}function defaultItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldButtonItemRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsItemRender(e,t){return e.children.map(e=>oldButtonItemRender(e,t)[0])}function renderNativeFormOptions(e,t,n){var{data:n,field:o}=n,{optionProps:t={}}=t;const r=t.label||"label",s=t.value||"value",a=t.disabled||"disabled",u=_xeUtils.default.get(n,o);return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[s],disabled:e[a],selected:e[s]==u},e[r]))}function defaultFormItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function formItemRadioAndCheckboxRender(e,t){var{options:n,optionProps:o}=e,{data:r,field:s}=t,r=_xeUtils.default.get(r,s);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n,optionProps:o},getComponentFormItemProps(e,t,r)),getItemOns(e,t)))]}function oldFormItemRadioAndCheckboxRender(e,t){const{name:n,options:o,optionProps:r={}}=e;var{data:s,field:a}=t;const u=r.label||"label",i=r.value||"value",d=r.disabled||"disabled";s=_xeUtils.default.get(s,a);const m=getOldComponentName(n);return o?[(0,_vue.h)((0,_vue.resolveComponent)(m+"-group"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)),{default:()=>o.map((e,t)=>(0,_vue.h)((0,_vue.resolveComponent)(m),{key:t,label:e[i],content:e[u],disabled:e[d]}))})]:[(0,_vue.h)((0,_vue.resolveComponent)(m),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)))]}_ui.renderer.mixin({input:{renderItemContent:nativeItemRender},textarea:{renderItemContent:nativeItemRender},select:{renderItemContent(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeItemOns(e,t)),e.optionGroups?renderNativeOptgroup(e,t,renderNativeFormOptions):renderNativeFormOptions(e.options,e,t))]}},VxeInput:{renderItemContent:defaultItemRender},VxeNumberInput:{renderItemContent:defaultItemRender},VxePasswordInput:{renderItemContent:defaultItemRender},VxeTextarea:{renderItemContent:defaultItemRender},VxeDatePicker:{renderItemContent:defaultItemRender},VxeButton:{renderItemContent:defaultFormItemRender},VxeButtonGroup:{renderItemContent(e,t){var n=e["options"],{data:o,field:r}=t,o=_xeUtils.default.get(o,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getComponentFormItemProps(e,t,o)),getItemOns(e,t)))]}},VxeSelect:{renderItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u})),getItemOns(e,t)))]}},VxeTreeSelect:{renderItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s})),getItemOns(e,t)))]}},VxeIconPicker:{renderItemContent:defaultFormItemRender},VxeRadio:{renderItemContent:defaultFormItemRender},VxeRadioGroup:{renderItemContent:formItemRadioAndCheckboxRender},VxeCheckbox:{renderItemContent:defaultFormItemRender},VxeCheckboxGroup:{renderItemContent:formItemRadioAndCheckboxRender},VxeSwitch:{renderItemContent:defaultItemRender},VxeImage:{renderItemContent(e,t){var{data:n,field:o}=t,r=e["props"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:n}),getItemOns(e,t)))]}},VxeImageGroup:{renderItemContent(e,t){var{data:n,field:o}=t,r=e["props"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:n}),getItemOns(e,t)))]}},VxeUpload:{renderItemContent:defaultItemRender},$input:{renderItemContent:oldItemRender},$textarea:{renderItemContent:oldItemRender},$button:{renderItemContent:oldButtonItemRender},$buttons:{renderItemContent:oldButtonsItemRender},$select:{renderItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u})),getItemOns(e,t)))]}},$radio:{renderItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderItemContent:oldItemRender}});
1
+ "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const componentDefaultModelProp="modelValue";function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getComponentFormItemProps(e,t,n,o){return _xeUtils.default.assign({},o,e.props,{[componentDefaultModelProp]:n})}function getElementOns(e,n,t,o){const r=e["events"],s=(0,_vn.getModelEvent)(e.name),a=(0,_vn.getChangeEvent)(e.name),u=a===s,i={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(i[(0,_vn.getOnName)(s)]=function(e){t(e),u&&o&&o(e),r&&r[s]&&r[s](n,e)}),!u&&o&&(i[(0,_vn.getOnName)(a)]=function(...e){o(...e),r&&r[a]&&r[a](n,...e)}),i}function getComponentOns(e,n,t,o){const r=e["events"],s=(0,_vn.getModelEvent)(e.name),a=(0,_vn.getChangeEvent)(e.name),u={};return _xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(n,...e)}}),t&&(u[(0,_vn.getOnName)(s)]=function(e){t(e),r&&r[s]&&r[s](n,e)}),o&&(u[(0,_vn.getOnName)(a)]=function(...e){o(...e),r&&r[a]&&r[a](n,...e)}),u}function getItemOns(e,t){const{$form:n,data:o,field:r}=t;return getComponentOns(e,t,e=>{_xeUtils.default.set(o,r,e)},()=>{n.updateStatus(t)})}function getNativeItemOns(e,t){const{$form:n,data:o,field:r}=t;return getElementOns(e,t,e=>{e=e.target.value;_xeUtils.default.set(o,r,e)},()=>{n.updateStatus(t)})}function renderNativeOptgroup(n,o,r){var{optionGroups:e,optionGroupProps:t={}}=n;const s=t.options||"options",a=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[a]},r(e[s],n,o)))}function nativeItemRender(e,t){var{data:n,field:o}=t,r=e["name"],s=getNativeAttrs(e),n=_xeUtils.default.get(n,o);return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},s),{value:!s||"input"!==r||"submit"!==s.type&&"reset"!==s.type?n:null}),getNativeItemOns(e,t)))]}function defaultItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldButtonItemRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsItemRender(e,t){return e.children.map(e=>oldButtonItemRender(e,t)[0])}function renderNativeFormOptions(e,t,n){var{data:n,field:o}=n,{optionProps:t={}}=t;const r=t.label||"label",s=t.value||"value",a=t.disabled||"disabled",u=_xeUtils.default.get(n,o);return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[s],disabled:e[a],selected:e[s]==u},e[r]))}function defaultFormItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function formItemRadioAndCheckboxRender(e,t){var{options:n,optionProps:o}=e,{data:r,field:s}=t,r=_xeUtils.default.get(r,s);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n,optionProps:o},getComponentFormItemProps(e,t,r)),getItemOns(e,t)))]}function oldFormItemRadioAndCheckboxRender(e,t){const{name:n,options:o,optionProps:r={}}=e;var{data:s,field:a}=t;const u=r.label||"label",i=r.value||"value",d=r.disabled||"disabled";s=_xeUtils.default.get(s,a);const m=getOldComponentName(n);return o?[(0,_vue.h)((0,_vue.resolveComponent)(m+"-group"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)),{default:()=>o.map((e,t)=>(0,_vue.h)((0,_vue.resolveComponent)(m),{key:t,label:e[i],content:e[u],disabled:e[d]}))})]:[(0,_vue.h)((0,_vue.resolveComponent)(m),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)))]}_ui.renderer.mixin({input:{renderItemContent:nativeItemRender},textarea:{renderItemContent:nativeItemRender},select:{renderItemContent(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeItemOns(e,t)),e.optionGroups?renderNativeOptgroup(e,t,renderNativeFormOptions):renderNativeFormOptions(e.options,e,t))]}},VxeInput:{renderItemContent:defaultItemRender},VxeNumberInput:{renderItemContent:defaultItemRender},VxePasswordInput:{renderItemContent:defaultItemRender},VxeTextarea:{renderItemContent:defaultItemRender},VxeDatePicker:{renderItemContent:defaultItemRender},VxeButton:{renderItemContent:defaultFormItemRender},VxeButtonGroup:{renderItemContent(e,t){var n=e["options"],{data:o,field:r}=t,o=_xeUtils.default.get(o,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getComponentFormItemProps(e,t,o)),getItemOns(e,t)))]}},VxeSelect:{renderItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u})),getItemOns(e,t)))]}},VxeTreeSelect:{renderItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s})),getItemOns(e,t)))]}},VxeIconPicker:{renderItemContent:defaultFormItemRender},VxeRadio:{renderItemContent:defaultFormItemRender},VxeRadioGroup:{renderItemContent:formItemRadioAndCheckboxRender},VxeCheckbox:{renderItemContent:defaultFormItemRender},VxeCheckboxGroup:{renderItemContent:formItemRadioAndCheckboxRender},VxeSwitch:{renderItemContent:defaultItemRender},VxeImage:{renderItemContent(e,t){var{data:n,field:o}=t,r=e["props"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:n}),getItemOns(e,t)))]}},VxeImageGroup:{renderItemContent(e,t){var{data:n,field:o}=t,r=e["props"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:n}),getItemOns(e,t)))]}},VxeUpload:{renderItemContent:defaultItemRender},$input:{renderItemContent:oldItemRender},$textarea:{renderItemContent:oldItemRender},$button:{renderItemContent:oldButtonItemRender},$buttons:{renderItemContent:oldButtonsItemRender},$select:{renderItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s,optionGroups:a,optionGroupProps:u})),getItemOns(e,t)))]}},$radio:{renderItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderItemContent:oldItemRender}});
@@ -24,9 +24,8 @@ const VxeFormConfigItem = (0, _vue.defineComponent)({
24
24
  };
25
25
  (0, _vue.provide)('xeFormItemInfo', xeformiteminfo);
26
26
  const renderVN = () => {
27
- const {
28
- reactData
29
- } = $xeForm;
27
+ const formProps = $xeForm.props;
28
+ const formReactData = $xeForm.reactData;
30
29
  const {
31
30
  data,
32
31
  rules,
@@ -42,14 +41,14 @@ const VxeFormConfigItem = (0, _vue.defineComponent)({
42
41
  titleOverflow: allTitleOverflow,
43
42
  vertical: allVertical,
44
43
  padding: allPadding
45
- } = $xeForm.props;
44
+ } = formProps;
46
45
  const {
47
46
  computeValidOpts
48
47
  } = $xeForm.getComputeMaps();
49
48
  const item = props.itemConfig;
50
49
  const {
51
50
  collapseAll
52
- } = reactData;
51
+ } = formReactData;
53
52
  const validOpts = computeValidOpts.value;
54
53
  const {
55
54
  slots,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_render=require("./render"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeFormConfigItem=(0,_vue.defineComponent)({name:"VxeFormConfigItem",props:{itemConfig:Object},setup(J){const K=(0,_vue.inject)("$xeForm",{});var e={itemConfig:J.itemConfig},e=((0,_vue.provide)("xeFormItemInfo",e),{renderVN:()=>{var e=K["reactData"],{data:t,rules:i,readonly:l,disabled:s,span:n,align:r,titleBold:o,titleAlign:k,titleWidth:R,titleColon:u,titleAsterisk:a,titleOverflow:d,vertical:$,padding:D}=K.props,E=K.getComputeMaps()["computeValidOpts"],m=J.itemConfig,e=e["collapseAll"],E=E.value,{slots:f,title:v,visible:_,folding:W,field:c,collapseNode:B,itemRender:x,showError:G,errRule:g,className:p,titleOverflow:C,vertical:h,padding:N,children:F,showTitle:L,contentClassName:U,contentStyle:I,titleClassName:q,titleStyle:y}=m,O=(0,_utils.isEnableConf)(x)?_ui.renderer.get(x.name):null,S=O?O.formItemClassName||O.itemClassName:"",T=O?O.formItemStyle||O.itemStyle:null,V=O?O.formItemContentClassName||O.itemContentClassName:"",b=O?O.formItemContentStyle||O.itemContentStyle:null,w=O?O.formItemTitleClassName||O.itemTitleClassName:"",A=O?O.formItemTitleStyle||O.itemTitleStyle:null,P=f?f.default:null,f=f?f.title:null,n=m.span||n,r=m.align||r,D=_xeUtils.default.eqNull(N)?D:N,N=_xeUtils.default.eqNull(h)?$:h,$=_xeUtils.default.eqNull(m.titleBold)?o:m.titleBold,h=_xeUtils.default.eqNull(m.titleAlign)?k:m.titleAlign,o=N?null:_xeUtils.default.eqNull(m.titleWidth)?R:m.titleWidth,k=_xeUtils.default.eqNull(m.titleColon)?u:m.titleColon,R=_xeUtils.default.eqNull(m.titleAsterisk)?a:m.titleAsterisk,u=_xeUtils.default.eqNull(C)?d:C,a="title"===u,d=!0===u||"tooltip"===u,C=a||d||"ellipsis"===u;const M={data:t,disabled:s,readonly:l,field:c,property:c,item:m,$form:K,$grid:K.xegrid};if(!1===_)return(0,_vue.createCommentVNode)();let z=!1,H=!1;if(!l&&i&&(u=i[c])&&u.length&&(H=!0,z=u.some(e=>e.required)),F&&0<F.length)return(s=F.map((e,t)=>(0,_vue.h)(VxeFormConfigItem,{key:t,itemConfig:e}))).length?(0,_vue.h)("div",{class:["vxe-form--gather vxe-form--item-row",m.id,n?`vxe-form--item-col_${n} is--span`:"",p?_xeUtils.default.isFunction(p)?p(M):p:""]},s):(0,_vue.createCommentVNode)();let j=[];_=O?O.renderFormItemContent||O.renderItemContent:null,P?j=K.callSlot(P,M):_?j=(0,_vn.getSlotVNs)(_(x,M)):c&&(j=[_xeUtils.default.toValueString(_xeUtils.default.get(t,c))]),B&&j.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:K.toggleCollapseEvent},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},e?(0,_ui.getI18n)("vxe.form.unfolding"):(0,_ui.getI18n)("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",e?(0,_ui.getIcon)().FORM_FOLDING:(0,_ui.getIcon)().FORM_UNFOLDING]})])),g&&E.showMessage&&j.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:g.maxWidth?{width:g.maxWidth+"px"}:null},g.content)),l=d?{onMouseenter(e){K.triggerTitleTipEvent(e,M)},onMouseleave:K.handleTitleTipLeaveEvent}:{};return(0,_vue.h)("div",{class:["vxe-form--item",m.id,n?`vxe-form--item-col_${n} is--span`:"",p?_xeUtils.default.isFunction(p)?p(M):p:"",S?_xeUtils.default.isFunction(S)?S(M):S:"",{"is--title":v,"is--colon":k,"is--bold":$,"is--padding":D,"is--vertical":N,"is--asterisk":R,"is--valid":H,"is--required":z,"is--hidden":W&&e,"is--active":(0,_util.isActiveItem)(K,m),"is--error":G}],style:_xeUtils.default.isFunction(T)?T(M):T},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[!1!==L&&(v||f)?(0,_vue.h)("div",Object.assign({class:["vxe-form--item-title",h?"align--"+h:"",C?"is--ellipsis":"",w?_xeUtils.default.isFunction(w)?w(M):w:"",q?_xeUtils.default.isFunction(q)?q(M):q:""],style:Object.assign({},_xeUtils.default.isFunction(A)?A(M):A,_xeUtils.default.isFunction(y)?y(M):y,o?{width:isNaN(o)?o:o+"px"}:null),title:a?(0,_utils.getFuncText)(v):null},l),(0,_render.renderTitle)(K,m)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",r?"align--"+r:"",V?_xeUtils.default.isFunction(V)?V(M):V:"",U?_xeUtils.default.isFunction(U)?U(M):U:""],style:Object.assign({},_xeUtils.default.isFunction(b)?b(M):b,_xeUtils.default.isFunction(I)?I(M):I)},j)])])}});return(0,_vue.provide)("$xeFormGather",null),e},render(){return this.renderVN()}});var _default=exports.default=VxeFormConfigItem;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_render=require("./render"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeFormConfigItem=(0,_vue.defineComponent)({name:"VxeFormConfigItem",props:{itemConfig:Object},setup(J){const K=(0,_vue.inject)("$xeForm",{});var e={itemConfig:J.itemConfig},e=((0,_vue.provide)("xeFormItemInfo",e),{renderVN:()=>{var e=K.props,t=K.reactData,{data:e,rules:i,readonly:l,disabled:s,span:n,align:r,titleBold:o,titleAlign:k,titleWidth:R,titleColon:u,titleAsterisk:a,titleOverflow:d,vertical:$,padding:D}=e,E=K.getComputeMaps()["computeValidOpts"],m=J.itemConfig,t=t["collapseAll"],E=E.value,{slots:f,title:v,visible:_,folding:W,field:c,collapseNode:B,itemRender:x,showError:G,errRule:g,className:p,titleOverflow:C,vertical:h,padding:N,children:F,showTitle:L,contentClassName:U,contentStyle:I,titleClassName:q,titleStyle:y}=m,O=(0,_utils.isEnableConf)(x)?_ui.renderer.get(x.name):null,S=O?O.formItemClassName||O.itemClassName:"",T=O?O.formItemStyle||O.itemStyle:null,V=O?O.formItemContentClassName||O.itemContentClassName:"",b=O?O.formItemContentStyle||O.itemContentStyle:null,w=O?O.formItemTitleClassName||O.itemTitleClassName:"",A=O?O.formItemTitleStyle||O.itemTitleStyle:null,P=f?f.default:null,f=f?f.title:null,n=m.span||n,r=m.align||r,D=_xeUtils.default.eqNull(N)?D:N,N=_xeUtils.default.eqNull(h)?$:h,$=_xeUtils.default.eqNull(m.titleBold)?o:m.titleBold,h=_xeUtils.default.eqNull(m.titleAlign)?k:m.titleAlign,o=N?null:_xeUtils.default.eqNull(m.titleWidth)?R:m.titleWidth,k=_xeUtils.default.eqNull(m.titleColon)?u:m.titleColon,R=_xeUtils.default.eqNull(m.titleAsterisk)?a:m.titleAsterisk,u=_xeUtils.default.eqNull(C)?d:C,a="title"===u,d=!0===u||"tooltip"===u,C=a||d||"ellipsis"===u;const M={data:e,disabled:s,readonly:l,field:c,property:c,item:m,$form:K,$grid:K.xegrid};if(!1===_)return(0,_vue.createCommentVNode)();let z=!1,H=!1;if(!l&&i&&(u=i[c])&&u.length&&(H=!0,z=u.some(e=>e.required)),F&&0<F.length)return(s=F.map((e,t)=>(0,_vue.h)(VxeFormConfigItem,{key:t,itemConfig:e}))).length?(0,_vue.h)("div",{class:["vxe-form--gather vxe-form--item-row",m.id,n?`vxe-form--item-col_${n} is--span`:"",p?_xeUtils.default.isFunction(p)?p(M):p:""]},s):(0,_vue.createCommentVNode)();let j=[];_=O?O.renderFormItemContent||O.renderItemContent:null,P?j=K.callSlot(P,M):_?j=(0,_vn.getSlotVNs)(_(x,M)):c&&(j=[_xeUtils.default.toValueString(_xeUtils.default.get(e,c))]),B&&j.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:K.toggleCollapseEvent},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},t?(0,_ui.getI18n)("vxe.form.unfolding"):(0,_ui.getI18n)("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",t?(0,_ui.getIcon)().FORM_FOLDING:(0,_ui.getIcon)().FORM_UNFOLDING]})])),g&&E.showMessage&&j.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:g.maxWidth?{width:g.maxWidth+"px"}:null},g.content)),l=d?{onMouseenter(e){K.triggerTitleTipEvent(e,M)},onMouseleave:K.handleTitleTipLeaveEvent}:{};return(0,_vue.h)("div",{class:["vxe-form--item",m.id,n?`vxe-form--item-col_${n} is--span`:"",p?_xeUtils.default.isFunction(p)?p(M):p:"",S?_xeUtils.default.isFunction(S)?S(M):S:"",{"is--title":v,"is--colon":k,"is--bold":$,"is--padding":D,"is--vertical":N,"is--asterisk":R,"is--valid":H,"is--required":z,"is--hidden":W&&t,"is--active":(0,_util.isActiveItem)(K,m),"is--error":G}],style:_xeUtils.default.isFunction(T)?T(M):T},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[!1!==L&&(v||f)?(0,_vue.h)("div",Object.assign({class:["vxe-form--item-title",h?"align--"+h:"",C?"is--ellipsis":"",w?_xeUtils.default.isFunction(w)?w(M):w:"",q?_xeUtils.default.isFunction(q)?q(M):q:""],style:Object.assign({},_xeUtils.default.isFunction(A)?A(M):A,_xeUtils.default.isFunction(y)?y(M):y,o?{width:isNaN(o)?o:o+"px"}:null),title:a?(0,_utils.getFuncText)(v):null},l),(0,_render.renderTitle)(K,m)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",r?"align--"+r:"",V?_xeUtils.default.isFunction(V)?V(M):V:"",U?_xeUtils.default.isFunction(U)?U(M):U:""],style:Object.assign({},_xeUtils.default.isFunction(b)?b(M):b,_xeUtils.default.isFunction(I)?I(M):I)},j)])])}});return(0,_vue.provide)("$xeFormGather",null),e},render(){return this.renderVN()}});var _default=exports.default=VxeFormConfigItem;
@@ -17,7 +17,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
17
17
  }) {
18
18
  const refElem = (0, _vue.ref)();
19
19
  const $xeForm = (0, _vue.inject)('$xeForm', {});
20
- const parentFormGather = (0, _vue.inject)('$xeFormGather', null);
20
+ const $xeParentFormGather = (0, _vue.inject)('$xeFormGather', null);
21
21
  const formItem = (0, _vue.reactive)((0, _util.createItem)($xeForm, props));
22
22
  formItem.children = [];
23
23
  const formItemInfo = {
@@ -26,7 +26,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
26
26
  (0, _vue.provide)('xeFormItemInfo', formItemInfo);
27
27
  (0, _util.watchItem)(props, formItem);
28
28
  (0, _vue.onMounted)(() => {
29
- (0, _util.assembleItem)($xeForm, refElem.value, formItem, parentFormGather);
29
+ const elem = refElem.value;
30
+ (0, _util.assembleItem)($xeForm, elem, formItem, $xeParentFormGather);
30
31
  });
31
32
  (0, _vue.onUnmounted)(() => {
32
33
  (0, _util.destroyItem)($xeForm, formItem);
@@ -38,15 +39,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
38
39
  } = props;
39
40
  const span = props.span || ($xeForm ? $xeForm.props.span : null);
40
41
  const defaultSlot = slots.default;
42
+ const params = {
43
+ $form: $xeForm,
44
+ data: $xeForm ? $xeForm.props.data : {},
45
+ item: formItem,
46
+ field: field,
47
+ property: field
48
+ };
41
49
  return (0, _vue.h)('div', {
42
50
  ref: refElem,
43
- class: ['vxe-form--gather vxe-form--item-row', formItem.id, span ? `vxe-form--item-col_${span} is--span` : '', className ? _xeUtils.default.isFunction(className) ? className({
44
- $form: $xeForm,
45
- data: $xeForm ? $xeForm.props.data : {},
46
- item: formItem,
47
- field: field,
48
- property: field
49
- }) : className : '']
51
+ class: ['vxe-form--gather vxe-form--item-row', formItem.id, span ? `vxe-form--item-col_${span} is--span` : '', className ? _xeUtils.default.isFunction(className) ? className(params) : className : '']
50
52
  }, defaultSlot ? defaultSlot({}) : []);
51
53
  };
52
54
  const $xeFormGather = {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_formItem=require("./form-item"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormGather",props:_formItem.formItemProps,setup(o,{slots:i}){const l=(0,_vue.ref)(),m=(0,_vue.inject)("$xeForm",{}),e=(0,_vue.inject)("$xeFormGather",null),n=(0,_vue.reactive)((0,_util.createItem)(m,o));n.children=[];var r={itemConfig:n},r=((0,_vue.provide)("xeFormItemInfo",r),(0,_util.watchItem)(o,n),(0,_vue.onMounted)(()=>{(0,_util.assembleItem)(m,l.value,n,e)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(m,n)}),{formItem:n,renderVN:()=>{var{className:e,field:r}=o,t=o.span||(m?m.props.span:null),u=i.default;return(0,_vue.h)("div",{ref:l,class:["vxe-form--gather vxe-form--item-row",n.id,t?`vxe-form--item-col_${t} is--span`:"",e?_xeUtils.default.isFunction(e)?e({$form:m,data:m?m.props.data:{},item:n,field:r,property:r}):e:""]},u?u({}):[])}});return(0,_vue.provide)("$xeFormGather",r),(0,_vue.provide)("$xeFormItem",null),r},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_formItem=require("./form-item"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormGather",props:_formItem.formItemProps,setup(o,{slots:i}){const l=(0,_vue.ref)(),m=(0,_vue.inject)("$xeForm",{}),r=(0,_vue.inject)("$xeFormGather",null),n=(0,_vue.reactive)((0,_util.createItem)(m,o));n.children=[];var e={itemConfig:n},e=((0,_vue.provide)("xeFormItemInfo",e),(0,_util.watchItem)(o,n),(0,_vue.onMounted)(()=>{var e=l.value;(0,_util.assembleItem)(m,e,n,r)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(m,n)}),{formItem:n,renderVN:()=>{var{className:e,field:r}=o,t=o.span||(m?m.props.span:null),u=i.default,r={$form:m,data:m?m.props.data:{},item:n,field:r,property:r};return(0,_vue.h)("div",{ref:l,class:["vxe-form--gather vxe-form--item-row",n.id,t?`vxe-form--item-col_${t} is--span`:"",e?_xeUtils.default.isFunction(e)?e(r):e:""]},u?u({}):[])}});return(0,_vue.provide)("$xeFormGather",e),(0,_vue.provide)("$xeFormItem",null),e},render(){return this.renderVN()}});
@@ -81,7 +81,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
81
81
  }) {
82
82
  const refElem = (0, _vue.ref)();
83
83
  const $xeForm = (0, _vue.inject)('$xeForm', {});
84
- const formGather = (0, _vue.inject)('$xeFormGather', null);
84
+ const $xeFormGather = (0, _vue.inject)('$xeFormGather', null);
85
85
  const formItem = (0, _vue.reactive)((0, _util.createItem)($xeForm, props));
86
86
  formItem.slots = slots;
87
87
  const formItemInfo = {
@@ -90,16 +90,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
90
90
  (0, _vue.provide)('xeFormItemInfo', formItemInfo);
91
91
  (0, _util.watchItem)(props, formItem);
92
92
  (0, _vue.onMounted)(() => {
93
- (0, _util.assembleItem)($xeForm, refElem.value, formItem, formGather);
93
+ const elem = refElem.value;
94
+ (0, _util.assembleItem)($xeForm, elem, formItem, $xeFormGather);
94
95
  });
95
96
  (0, _vue.onUnmounted)(() => {
96
97
  (0, _util.destroyItem)($xeForm, formItem);
97
98
  });
98
99
  const renderItem = ($xeForm, item) => {
99
- const {
100
- props,
101
- reactData
102
- } = $xeForm;
100
+ const formProps = $xeForm.props;
101
+ const formReactData = $xeForm.reactData;
103
102
  const {
104
103
  data,
105
104
  rules,
@@ -113,10 +112,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
113
112
  titleOverflow: allTitleOverflow,
114
113
  vertical: allVertical,
115
114
  padding: allPadding
116
- } = props;
115
+ } = formProps;
117
116
  const {
118
117
  collapseAll
119
- } = reactData;
118
+ } = formReactData;
120
119
  const {
121
120
  computeValidOpts
122
121
  } = $xeForm.getComputeMaps();
@@ -150,8 +149,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
150
149
  const itemTitleStyle = compConf ? compConf.formItemTitleStyle || compConf.itemTitleStyle : null;
151
150
  const defaultSlot = slots ? slots.default : null;
152
151
  const titleSlot = slots ? slots.title : null;
153
- const span = item.span || props.span;
154
- const align = item.align || props.align;
152
+ const span = item.span || formProps.span;
153
+ const align = item.align || formProps.align;
155
154
  const itemPadding = _xeUtils.default.eqNull(padding) ? allPadding : padding;
156
155
  const itemVertical = _xeUtils.default.eqNull(vertical) ? allVertical : vertical;
157
156
  const titleBold = _xeUtils.default.eqNull(item.titleBold) ? allTitleBold : item.titleBold;
@@ -249,8 +248,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
249
248
  }, contentVNs)])]);
250
249
  };
251
250
  const renderVN = () => {
252
- const formProps = $xeForm ? $xeForm.props : null;
253
- return formProps && formProps.customLayout ? renderItem($xeForm, formItem) : (0, _vue.h)('div', {
251
+ const customLayout = $xeForm ? $xeForm.props.customLayout : false;
252
+ return customLayout ? renderItem($xeForm, formItem) : (0, _vue.h)('div', {
254
253
  ref: refElem
255
254
  });
256
255
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formItemProps=exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_util=require("./util"),_render=require("./render");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const formItemProps=exports.formItemProps={title:String,field:String,span:[String,Number],align:String,titleBold:{type:Boolean,default:null},titleAlign:{type:String,default:null},titleWidth:{type:[String,Number],default:null},titleColon:{type:Boolean,default:null},titleAsterisk:{type:Boolean,default:null},showTitle:{type:Boolean,default:!0},vertical:{type:Boolean,default:null},padding:{type:Boolean,default:null},className:[String,Function],contentClassName:[String,Function],contentStyle:[Object,Function],titleClassName:[String,Function],titleStyle:[Object,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visibleMethod:Function,visible:{type:Boolean,default:null},folding:Boolean,collapseNode:Boolean,itemRender:Object,rules:Array};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormItem",props:formItemProps,setup(e,{slots:t}){const J=(0,_vue.ref)(),K=(0,_vue.inject)("$xeForm",{}),l=(0,_vue.inject)("$xeFormGather",null),Q=(0,_vue.reactive)((0,_util.createItem)(K,e));Q.slots=t;t={itemConfig:Q};(0,_vue.provide)("xeFormItemInfo",t),(0,_util.watchItem)(e,Q),(0,_vue.onMounted)(()=>{(0,_util.assembleItem)(K,J.value,Q,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(K,Q)});t={formItem:Q,renderVN:()=>{var i=K?K.props:null;if(i&&i.customLayout){var n=K,i=Q,{props:s,reactData:o}=n,{data:r,rules:u,readonly:a,disabled:d,titleBold:m,titleAlign:f,titleWidth:c,titleColon:v,titleAsterisk:_,titleOverflow:p,vertical:k,padding:P}=s,o=o["collapseAll"],W=(W=n.getComputeMaps()["computeValidOpts"]).value,{slots:g,title:x,visible:N,folding:D,field:h,collapseNode:E,itemRender:y,showError:G,errRule:F,className:I,titleOverflow:C,vertical:S,padding:U,showTitle:L,contentClassName:b,contentStyle:q,titleClassName:O,titleStyle:B}=i,T=(0,_utils.isEnableConf)(y)?_ui.renderer.get(y.name):null,j=T?T.formItemClassName||T.itemClassName:"",A=T?T.formItemStyle||T.itemStyle:null,w=T?T.formItemContentClassName||T.itemContentClassName:"",M=T?T.formItemContentStyle||T.itemContentStyle:null,R=T?T.formItemTitleClassName||T.itemTitleClassName:"",V=T?T.formItemTitleStyle||T.itemTitleStyle:null,z=g?g.default:null,g=g?g.title:null,H=i.span||s.span,s=i.align||s.align,P=_xeUtils.default.eqNull(U)?P:U,U=_xeUtils.default.eqNull(S)?k:S,k=_xeUtils.default.eqNull(i.titleBold)?m:i.titleBold,S=_xeUtils.default.eqNull(i.titleAlign)?f:i.titleAlign,m=U?null:_xeUtils.default.eqNull(i.titleWidth)?c:i.titleWidth,f=_xeUtils.default.eqNull(i.titleColon)?v:i.titleColon,c=_xeUtils.default.eqNull(i.titleAsterisk)?_:i.titleAsterisk,p=!0===(v=_xeUtils.default.eqNull(C)?p:C)||"tooltip"===v,C=(_="title"===v)||p||"ellipsis"===v;const $={data:r,disabled:d,readonly:a,field:h,property:h,item:i,$form:n,$grid:n.xegrid};let e=!1,t=!1;if(!1===N)return(0,_vue.createCommentVNode)();!a&&u&&(v=u[h])&&v.length&&(t=!0,e=v.some(e=>e.required));let l=[];return d=T?T.renderFormItemContent||T.renderItemContent:null,z?l=n.callSlot(z,$):d?l=(0,_vn.getSlotVNs)(d(y,$)):h&&(l=[""+_xeUtils.default.get(r,h)]),E&&l.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:n.toggleCollapseEvent},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},o?(0,_ui.getI18n)("vxe.form.unfolding"):(0,_ui.getI18n)("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",o?(0,_ui.getIcon)().FORM_FOLDING:(0,_ui.getIcon)().FORM_UNFOLDING]})])),F&&W.showMessage&&l.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:F.maxWidth?{width:F.maxWidth+"px"}:null},F.message)),N=p?{onMouseenter(e){n.triggerTitleTipEvent(e,$)},onMouseleave:n.handleTitleTipLeaveEvent}:{},(0,_vue.h)("div",{ref:J,class:["vxe-form--item",i.id,H?`vxe-form--item-col_${H} is--span`:"",I?_xeUtils.default.isFunction(I)?I($):I:"",j?_xeUtils.default.isFunction(j)?j($):j:"",{"is--title":x,"is--colon":f,"is--bold":k,"is--padding":P,"is--vertical":U,"is--asterisk":c,"is--valid":t,"is--required":e,"is--hidden":D&&o,"is--active":(0,_util.isActiveItem)(n,i),"is--error":G}],style:_xeUtils.default.isFunction(A)?A($):A},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[!1!==L&&(x||g)?(0,_vue.h)("div",Object.assign({class:["vxe-form--item-title",S?"align--"+S:"",C?"is--ellipsis":"",R?_xeUtils.default.isFunction(R)?R($):R:"",O?_xeUtils.default.isFunction(O)?O($):O:""],style:Object.assign({},_xeUtils.default.isFunction(V)?V($):V,_xeUtils.default.isFunction(B)?B($):B,m?{width:isNaN(m)?m:m+"px"}:null),title:_?(0,_utils.getFuncText)(x):null},N),(0,_render.renderTitle)(n,i)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",s?"align--"+s:"",w?_xeUtils.default.isFunction(w)?w($):w:"",b?_xeUtils.default.isFunction(b)?b($):b:""],style:Object.assign({},_xeUtils.default.isFunction(M)?M($):M,_xeUtils.default.isFunction(q)?q($):q)},l)])])}return(0,_vue.h)("div",{ref:J})}};return(0,_vue.provide)("$xeFormItem",t),(0,_vue.provide)("$xeFormGather",null),t},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formItemProps=exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_util=require("./util"),_render=require("./render");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const formItemProps=exports.formItemProps={title:String,field:String,span:[String,Number],align:String,titleBold:{type:Boolean,default:null},titleAlign:{type:String,default:null},titleWidth:{type:[String,Number],default:null},titleColon:{type:Boolean,default:null},titleAsterisk:{type:Boolean,default:null},showTitle:{type:Boolean,default:!0},vertical:{type:Boolean,default:null},padding:{type:Boolean,default:null},className:[String,Function],contentClassName:[String,Function],contentStyle:[Object,Function],titleClassName:[String,Function],titleStyle:[Object,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visibleMethod:Function,visible:{type:Boolean,default:null},folding:Boolean,collapseNode:Boolean,itemRender:Object,rules:Array};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormItem",props:formItemProps,setup(e,{slots:t}){const J=(0,_vue.ref)(),K=(0,_vue.inject)("$xeForm",{}),l=(0,_vue.inject)("$xeFormGather",null),Q=(0,_vue.reactive)((0,_util.createItem)(K,e));Q.slots=t;t={itemConfig:Q};(0,_vue.provide)("xeFormItemInfo",t),(0,_util.watchItem)(e,Q),(0,_vue.onMounted)(()=>{var e=J.value;(0,_util.assembleItem)(K,e,Q,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(K,Q)});t={formItem:Q,renderVN:()=>{var i=!!K&&K.props.customLayout;if(i){var n=K,i=Q,{data:s,rules:o,readonly:r,disabled:u,titleBold:a,titleAlign:d,titleWidth:m,titleColon:f,titleAsterisk:v,titleOverflow:c,vertical:k,padding:P}=V=n.props,_=n.reactData["collapseAll"],W=(W=n.getComputeMaps()["computeValidOpts"]).value,{slots:p,title:g,visible:x,folding:D,field:N,collapseNode:E,itemRender:h,showError:G,errRule:y,className:F,titleOverflow:I,vertical:C,padding:S,showTitle:L,contentClassName:U,contentStyle:b,titleClassName:q,titleStyle:O}=i,B=(0,_utils.isEnableConf)(h)?_ui.renderer.get(h.name):null,T=B?B.formItemClassName||B.itemClassName:"",j=B?B.formItemStyle||B.itemStyle:null,A=B?B.formItemContentClassName||B.itemContentClassName:"",w=B?B.formItemContentStyle||B.itemContentStyle:null,M=B?B.formItemTitleClassName||B.itemTitleClassName:"",R=B?B.formItemTitleStyle||B.itemTitleStyle:null,z=p?p.default:null,p=p?p.title:null,H=i.span||V.span,V=i.align||V.align,P=_xeUtils.default.eqNull(S)?P:S,S=_xeUtils.default.eqNull(C)?k:C,k=_xeUtils.default.eqNull(i.titleBold)?a:i.titleBold,C=_xeUtils.default.eqNull(i.titleAlign)?d:i.titleAlign,a=S?null:_xeUtils.default.eqNull(i.titleWidth)?m:i.titleWidth,d=_xeUtils.default.eqNull(i.titleColon)?f:i.titleColon,m=_xeUtils.default.eqNull(i.titleAsterisk)?v:i.titleAsterisk,c=!0===(f=_xeUtils.default.eqNull(I)?c:I)||"tooltip"===f,I=(v="title"===f)||c||"ellipsis"===f;const $={data:s,disabled:u,readonly:r,field:N,property:N,item:i,$form:n,$grid:n.xegrid};let e=!1,t=!1;if(!1===x)return(0,_vue.createCommentVNode)();!r&&o&&(f=o[N])&&f.length&&(t=!0,e=f.some(e=>e.required));let l=[];return u=B?B.renderFormItemContent||B.renderItemContent:null,z?l=n.callSlot(z,$):u?l=(0,_vn.getSlotVNs)(u(h,$)):N&&(l=[""+_xeUtils.default.get(s,N)]),E&&l.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:n.toggleCollapseEvent},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},_?(0,_ui.getI18n)("vxe.form.unfolding"):(0,_ui.getI18n)("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",_?(0,_ui.getIcon)().FORM_FOLDING:(0,_ui.getIcon)().FORM_UNFOLDING]})])),y&&W.showMessage&&l.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:y.maxWidth?{width:y.maxWidth+"px"}:null},y.message)),x=c?{onMouseenter(e){n.triggerTitleTipEvent(e,$)},onMouseleave:n.handleTitleTipLeaveEvent}:{},(0,_vue.h)("div",{ref:J,class:["vxe-form--item",i.id,H?`vxe-form--item-col_${H} is--span`:"",F?_xeUtils.default.isFunction(F)?F($):F:"",T?_xeUtils.default.isFunction(T)?T($):T:"",{"is--title":g,"is--colon":d,"is--bold":k,"is--padding":P,"is--vertical":S,"is--asterisk":m,"is--valid":t,"is--required":e,"is--hidden":D&&_,"is--active":(0,_util.isActiveItem)(n,i),"is--error":G}],style:_xeUtils.default.isFunction(j)?j($):j},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[!1!==L&&(g||p)?(0,_vue.h)("div",Object.assign({class:["vxe-form--item-title",C?"align--"+C:"",I?"is--ellipsis":"",M?_xeUtils.default.isFunction(M)?M($):M:"",q?_xeUtils.default.isFunction(q)?q($):q:""],style:Object.assign({},_xeUtils.default.isFunction(R)?R($):R,_xeUtils.default.isFunction(O)?O($):O,a?{width:isNaN(a)?a:a+"px"}:null),title:v?(0,_utils.getFuncText)(g):null},x),(0,_render.renderTitle)(n,i)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",V?"align--"+V:"",A?_xeUtils.default.isFunction(A)?A($):A:"",U?_xeUtils.default.isFunction(U)?U($):U:""],style:Object.assign({},_xeUtils.default.isFunction(w)?w($):w,_xeUtils.default.isFunction(b)?b($):b)},l)])])}return(0,_vue.h)("div",{ref:J})}};return(0,_vue.provide)("$xeFormItem",t),(0,_vue.provide)("$xeFormGather",null),t},render(){return this.renderVN()}});
@@ -155,7 +155,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
155
155
  formItems: []
156
156
  });
157
157
  const internalData = (0, _vue.reactive)({
158
- tooltipTimeout: null,
158
+ meTimeout: undefined,
159
+ stTimeout: undefined,
159
160
  tooltipStore: {
160
161
  item: null,
161
162
  visible: false
@@ -482,7 +483,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
482
483
  }
483
484
  });
484
485
  };
485
- let showErrTime;
486
486
  const beginValidate = (itemList, type, callback) => {
487
487
  const {
488
488
  data,
@@ -492,7 +492,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
492
492
  const validRest = {};
493
493
  const validFields = [];
494
494
  const itemValids = [];
495
- clearTimeout(showErrTime);
495
+ clearTimeout(internalData.meTimeout);
496
496
  if (data && formRules) {
497
497
  itemList.forEach(item => {
498
498
  const {
@@ -519,7 +519,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
519
519
  }
520
520
  }).catch(() => {
521
521
  return new Promise(resolve => {
522
- showErrTime = window.setTimeout(() => {
522
+ internalData.meTimeout = window.setTimeout(() => {
523
523
  itemList.forEach(item => {
524
524
  if (item.errRule) {
525
525
  item.showError = true;
@@ -626,7 +626,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
626
626
  const overflowElem = evnt.currentTarget.children[0];
627
627
  const content = (overflowElem.textContent || '').trim();
628
628
  const isCellOverflow = overflowElem.scrollWidth > overflowElem.clientWidth;
629
- clearTimeout(internalData.tooltipTimeout);
629
+ clearTimeout(internalData.stTimeout);
630
630
  if (tooltipStore.item !== item) {
631
631
  closeTooltip();
632
632
  }
@@ -647,7 +647,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
647
647
  $tooltip.setActived(false);
648
648
  }
649
649
  if (tooltipOpts.enterable) {
650
- internalData.tooltipTimeout = setTimeout(() => {
650
+ internalData.stTimeout = setTimeout(() => {
651
651
  $tooltip = refTooltip.value;
652
652
  if ($tooltip && !$tooltip.isActived()) {
653
653
  closeTooltip();
@@ -760,7 +760,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
760
760
  ref: refTooltip
761
761
  }, tooltipOpts))]);
762
762
  };
763
- $xeForm.renderVN = renderVN;
764
763
  const staticItemFlag = (0, _vue.ref)(0);
765
764
  (0, _vue.watch)(() => reactData.staticItems.length, () => {
766
765
  staticItemFlag.value++;
@@ -805,6 +804,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
805
804
  (0, _vue.provide)('$xeForm', $xeForm);
806
805
  (0, _vue.provide)('$xeFormGather', null);
807
806
  (0, _vue.provide)('$xeFormItem', null);
807
+ $xeForm.renderVN = renderVN;
808
808
  return $xeForm;
809
809
  },
810
810
  render() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading/src/loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}const validErrorRuleValue=(e,t)=>{var{type:e,min:l,max:i,pattern:r}=e,e="number"===e,a=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(l)&&a<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(i)&&a>_xeUtils.default.toNumber(i)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))};function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(n,e){const{slots:s,emit:i}=e;var t=_xeUtils.default.uniqueId();const d=(0,_ui.useSize)(n)["computeSize"],c=(0,_vue.reactive)({collapseAll:n.collapseStatus,staticItems:[],formItems:[]}),o=(0,_vue.reactive)({tooltipTimeout:null,tooltipStore:{item:null,visible:!1}}),u=((0,_vue.provide)("xeFormItemInfo",null),(0,_vue.inject)("$xeGrid",null)),m=(0,_vue.ref)(),f=(0,_vue.ref)();let l={};const v=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,n.validConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,n.tooltipConfig)),r={refElem:m},a={computeSize:d,computeValidOpts:v,computeTooltipOpts:p},g={xID:t,props:n,context:e,reactData:c,xegrid:u,getRefMaps:()=>r,getComputeMaps:()=>a};const _=e=>(e.length&&"development"===process.env.NODE_ENV&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),c.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(g,e),{children:"children"}),(0,_vue.nextTick)()),h=()=>{const t=[];return _xeUtils.default.eachTree(c.formItems,e=>{t.push(e)},{children:"children"}),t},x=t=>{var e=_xeUtils.default.findTree(c.formItems,e=>e.field===t,{children:"children"});return e?e.item:null},y=()=>c.collapseAll,E=()=>{var e=!y();return c.collapseAll=e,i("update:collapseStatus",e),(0,_vue.nextTick)()};const b=t=>{if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(g,e))&&(e.showError=!1)})}else h().forEach(e=>{e.showError=!1});return(0,_vue.nextTick)()},C=()=>{const a=n["data"];var e=h();return a&&e.forEach(e=>{var t,{field:l,resetValue:i,itemRender:r}=e;(0,_utils.isEnableConf)(r)&&(t=(r=_ui.renderer.get(r.name))?r.formItemResetMethod||r.itemResetMethod:null,r&&t?t({data:a,field:l,property:l,item:e,$form:g,$grid:g.xegrid}):l&&_xeUtils.default.set(a,l,null===i?getResetValue(_xeUtils.default.get(a,l),void 0):_xeUtils.default.clone(i,!0)))}),b()},U=e=>{e.preventDefault(),C(),l.dispatchEvent("reset",{data:n.data},e)},S=e=>{var l=m.value;if(l)for(let t=0;t<e.length;t++){var i=e[t],r=x(i);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r["itemRender"],o=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(l.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(o?o.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:g,$grid:u,item:r,data:n.data,field:i}):a&&(e=l.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},w=(e,t,l)=>{const{data:f,rules:i}=n,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(s=>{const n=[],d=[];if(s&&i){const c=_xeUtils.default.get(i,s);if(c){const m=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(f,s):l;c.forEach(t=>{const{type:l,trigger:i,required:r,validator:a}=t;if("all"===e||!i||e===i)if(a){var o={itemValue:m,rule:t,rules:c,data:f,field:s,property:s,$form:g};let e;_xeUtils.default.isString(a)?(u=_ui.validators.get(a))?(u=u.formItemValidatorMethod||u.itemValidatorMethod)?e=u(o):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(o),e&&(_xeUtils.default.isError(e)?n.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{n.push(new Rule({type:"custom",trigger:i,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var u="array"===l,o=_xeUtils.default.isArray(m);let e=!0;e=u||o?!o||!m.length:_xeUtils.default.isString(m)?(0,_utils.eqEmptyValue)(m.trim()):(0,_utils.eqEmptyValue)(m),(r?e||validErrorRuleValue(t,m):!e&&validErrorRuleValue(t,m))&&n.push(new Rule(t))}})}}return Promise.all(d).then(()=>{n.length&&(r[s]=n.map(e=>({$form:g,rule:e,data:f,field:s,property:s})))})})).then(()=>{if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})};let I;const R=(t,e,l)=>{var{data:i,rules:r}=n;const a=v.value,o={},u=[],s=[];return clearTimeout(I),i&&r?(t.forEach(t=>{const l=t["field"];l&&!(0,_util.isHiddenItem)(g,t)&&(0,_util.isActiveItem)(g,t)&&s.push(w(e||"all",l).then(()=>{t.errRule=null}).catch(e=>{e=e[l];return o[l]||(o[l]=[]),o[l].push(e),u.push(l),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(s).then(()=>{l&&l()}).catch(()=>new Promise(e=>{I=window.setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{S(u)}),l?(l(o),e()):e(o)}))):(l&&l(),Promise.resolve())};const T=t=>{var e=n["readonly"];t.preventDefault(),n.preventSubmit||(b(),e?l.dispatchEvent("submit",{data:n.data},t):R(h()).then(e=>{e?l.dispatchEvent("submit-invalid",{data:n.data,errMap:e},t):l.dispatchEvent("submit",{data:n.data},t)}))},q=()=>{var e=o["tooltipStore"],t=f.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};const V=(e,l,t)=>l?w(e?["blur"].includes(e.type)?"blur":"change":"all",l,t).then(()=>{b(l)}).catch(e=>{var e=e[l],t=x(l);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();l={dispatchEvent(e,t,l){i(e,(0,_ui.createEvent)(l,{$form:g,$grid:u},t))},reset:C,validate:e=>{var t=n["readonly"];return b(),t?(0,_vue.nextTick)():R(h(),"",e)},validateField:(e,t)=>{var l=n["readonly"];if(l)return(0,_vue.nextTick)();let i=[];return e&&(i=_xeUtils.default.isArray(e)?e:[e]),R(i.map(e=>(0,_util.handleFieldOrItem)(g,e)),"",t)},clearValidate:b,updateStatus:(e,t)=>{e=e.field;return V(new Event("change"),e,t)},toggleCollapse:E,getItems:h,getItemByField:x,closeTooltip:q};t={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:V,toggleCollapseEvent:e=>{E();var t=y();l.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:n.data},e),l.dispatchEvent("collapse",{status:t,collapse:t,data:n.data},e)},triggerTitleTipEvent:(e,t)=>{var t=t["item"],l=o["tooltipStore"],i=f.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(o.tooltipTimeout),l.item!==t&&q(),r&&a&&(Object.assign(l,{item:t,visible:!0}),i)&&i.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=p.value;let t=f.value;t&&t.setActived(!1),e.enterable?o.tooltipTimeout=setTimeout(()=>{(t=f.value)&&!t.isActived()&&q()},e.leaveDelay):q()}};Object.assign(g,l,t);g.renderVN=()=>{var{loading:e,className:t,data:l,customLayout:i}=n,r=c["formItems"],a=d.value,o=p.value,u=s.default;return(0,_vue.h)("form",{ref:m,class:["vxe-form",t?_xeUtils.default.isFunction(t)?t({items:r,data:l,$form:g}):t:"",{["size--"+a]:a,"custom--layout":i,"is--loading":e}],onSubmit:T,onReset:U},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},i?u?u({}):[]:r.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e}))),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!i&&u?u({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:f},o))])};const N=(0,_vue.ref)(0),O=((0,_vue.watch)(()=>c.staticItems.length,()=>{N.value++}),(0,_vue.watch)(()=>c.staticItems,()=>{N.value++}),(0,_vue.watch)(N,()=>{c.formItems=c.staticItems}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>n.items?n.items.length:-1,()=>{O.value++}),(0,_vue.watch)(()=>n.items,()=>{O.value++}),(0,_vue.watch)(O,()=>{_(n.items||[])}),(0,_vue.watch)(()=>n.collapseStatus,e=>{c.collapseAll=!!e}),(0,_vue.watch)(()=>n.readonly,()=>{b()}),(0,_vue.watch)(()=>n.disabled,()=>{b()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{"development"===process.env.NODE_ENV&&n.customLayout&&n.items&&(0,_log.errLog)("vxe.error.errConflicts",["custom-layout","items"])})}),n.items&&_(n.items),(0,_vue.provide)("$xeForm",g),(0,_vue.provide)("$xeFormGather",null),(0,_vue.provide)("$xeFormItem",null),g},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading/src/loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}const validErrorRuleValue=(e,t)=>{var{type:e,min:i,max:l,pattern:r}=e,e="number"===e,a=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(i)&&a<_xeUtils.default.toNumber(i)||!_xeUtils.default.eqNull(l)&&a>_xeUtils.default.toNumber(l)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))};function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(n,e){const{slots:s,emit:l}=e;var t=_xeUtils.default.uniqueId();const d=(0,_ui.useSize)(n)["computeSize"],m=(0,_vue.reactive)({collapseAll:n.collapseStatus,staticItems:[],formItems:[]}),c=(0,_vue.reactive)({meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1}}),u=((0,_vue.provide)("xeFormItemInfo",null),(0,_vue.inject)("$xeGrid",null)),f=(0,_vue.ref)(),v=(0,_vue.ref)();let i={};const g=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,n.validConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,n.tooltipConfig)),r={refElem:f},a={computeSize:d,computeValidOpts:g,computeTooltipOpts:p},_={xID:t,props:n,context:e,reactData:m,xegrid:u,getRefMaps:()=>r,getComputeMaps:()=>a};const o=e=>(e.length&&"development"===process.env.NODE_ENV&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),m.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(_,e),{children:"children"}),(0,_vue.nextTick)()),h=()=>{const t=[];return _xeUtils.default.eachTree(m.formItems,e=>{t.push(e)},{children:"children"}),t},x=t=>{var e=_xeUtils.default.findTree(m.formItems,e=>e.field===t,{children:"children"});return e?e.item:null},y=()=>m.collapseAll,E=()=>{var e=!y();return m.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()};const b=t=>{if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(_,e))&&(e.showError=!1)})}else h().forEach(e=>{e.showError=!1});return(0,_vue.nextTick)()},C=()=>{const a=n["data"];var e=h();return a&&e.forEach(e=>{var t,{field:i,resetValue:l,itemRender:r}=e;(0,_utils.isEnableConf)(r)&&(t=(r=_ui.renderer.get(r.name))?r.formItemResetMethod||r.itemResetMethod:null,r&&t?t({data:a,field:i,property:i,item:e,$form:_,$grid:_.xegrid}):i&&_xeUtils.default.set(a,i,null===l?getResetValue(_xeUtils.default.get(a,i),void 0):_xeUtils.default.clone(l,!0)))}),b()},U=e=>{e.preventDefault(),C(),i.dispatchEvent("reset",{data:n.data},e)},S=e=>{var i=f.value;if(i)for(let t=0;t<e.length;t++){var l=e[t],r=x(l);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r["itemRender"],o=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(i.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(o?o.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:_,$grid:u,item:r,data:n.data,field:l}):a&&(e=i.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},T=(e,t,i)=>{const{data:f,rules:l}=n,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(s=>{const n=[],d=[];if(s&&l){const m=_xeUtils.default.get(l,s);if(m){const c=_xeUtils.default.isUndefined(i)?_xeUtils.default.get(f,s):i;m.forEach(t=>{const{type:i,trigger:l,required:r,validator:a}=t;if("all"===e||!l||e===l)if(a){var o={itemValue:c,rule:t,rules:m,data:f,field:s,property:s,$form:_};let e;_xeUtils.default.isString(a)?(u=_ui.validators.get(a))?(u=u.formItemValidatorMethod||u.itemValidatorMethod)?e=u(o):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(o),e&&(_xeUtils.default.isError(e)?n.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{n.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var u="array"===i,o=_xeUtils.default.isArray(c);let e=!0;e=u||o?!o||!c.length:_xeUtils.default.isString(c)?(0,_utils.eqEmptyValue)(c.trim()):(0,_utils.eqEmptyValue)(c),(r?e||validErrorRuleValue(t,c):!e&&validErrorRuleValue(t,c))&&n.push(new Rule(t))}})}}return Promise.all(d).then(()=>{n.length&&(r[s]=n.map(e=>({$form:_,rule:e,data:f,field:s,property:s})))})})).then(()=>{if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})},w=(t,e,i)=>{var{data:l,rules:r}=n;const a=g.value,o={},u=[],s=[];return clearTimeout(c.meTimeout),l&&r?(t.forEach(t=>{const i=t["field"];i&&!(0,_util.isHiddenItem)(_,t)&&(0,_util.isActiveItem)(_,t)&&s.push(T(e||"all",i).then(()=>{t.errRule=null}).catch(e=>{e=e[i];return o[i]||(o[i]=[]),o[i].push(e),u.push(i),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(s).then(()=>{i&&i()}).catch(()=>new Promise(e=>{c.meTimeout=window.setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{S(u)}),i?(i(o),e()):e(o)}))):(i&&i(),Promise.resolve())};const I=t=>{var e=n["readonly"];t.preventDefault(),n.preventSubmit||(b(),e?i.dispatchEvent("submit",{data:n.data},t):w(h()).then(e=>{e?i.dispatchEvent("submit-invalid",{data:n.data,errMap:e},t):i.dispatchEvent("submit",{data:n.data},t)}))},R=()=>{var e=c["tooltipStore"],t=v.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};const q=(e,i,t)=>i?T(e?["blur"].includes(e.type)?"blur":"change":"all",i,t).then(()=>{b(i)}).catch(e=>{var e=e[i],t=x(i);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();i={dispatchEvent(e,t,i){l(e,(0,_ui.createEvent)(i,{$form:_,$grid:u},t))},reset:C,validate:e=>{var t=n["readonly"];return b(),t?(0,_vue.nextTick)():w(h(),"",e)},validateField:(e,t)=>{var i=n["readonly"];if(i)return(0,_vue.nextTick)();let l=[];return e&&(l=_xeUtils.default.isArray(e)?e:[e]),w(l.map(e=>(0,_util.handleFieldOrItem)(_,e)),"",t)},clearValidate:b,updateStatus:(e,t)=>{e=e.field;return q(new Event("change"),e,t)},toggleCollapse:E,getItems:h,getItemByField:x,closeTooltip:R};t={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:q,toggleCollapseEvent:e=>{E();var t=y();i.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:n.data},e),i.dispatchEvent("collapse",{status:t,collapse:t,data:n.data},e)},triggerTitleTipEvent:(e,t)=>{var t=t["item"],i=c["tooltipStore"],l=v.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(c.stTimeout),i.item!==t&&R(),r&&a&&(Object.assign(i,{item:t,visible:!0}),l)&&l.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=p.value;let t=v.value;t&&t.setActived(!1),e.enterable?c.stTimeout=setTimeout(()=>{(t=v.value)&&!t.isActived()&&R()},e.leaveDelay):R()}};Object.assign(_,i,t);const V=(0,_vue.ref)(0),N=((0,_vue.watch)(()=>m.staticItems.length,()=>{V.value++}),(0,_vue.watch)(()=>m.staticItems,()=>{V.value++}),(0,_vue.watch)(V,()=>{m.formItems=m.staticItems}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>n.items?n.items.length:-1,()=>{N.value++}),(0,_vue.watch)(()=>n.items,()=>{N.value++}),(0,_vue.watch)(N,()=>{o(n.items||[])}),(0,_vue.watch)(()=>n.collapseStatus,e=>{m.collapseAll=!!e}),(0,_vue.watch)(()=>n.readonly,()=>{b()}),(0,_vue.watch)(()=>n.disabled,()=>{b()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{"development"===process.env.NODE_ENV&&n.customLayout&&n.items&&(0,_log.errLog)("vxe.error.errConflicts",["custom-layout","items"])})}),n.items&&o(n.items),(0,_vue.provide)("$xeForm",_),(0,_vue.provide)("$xeFormGather",null),(0,_vue.provide)("$xeFormItem",null),_.renderVN=()=>{var{loading:e,className:t,data:i,customLayout:l}=n,r=m["formItems"],a=d.value,o=p.value,u=s.default;return(0,_vue.h)("form",{ref:f,class:["vxe-form",t?_xeUtils.default.isFunction(t)?t({items:r,data:i,$form:_}):t:"",{["size--"+a]:a,"custom--layout":l,"is--loading":e}],onSubmit:I,onReset:U},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},l?u?u({}):[]:r.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e}))),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!l&&u?u({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:v},o))])},_},render(){return this.renderVN()}});
@@ -28,11 +28,12 @@ function renderSuffixIcon(titleSuffix) {
28
28
  })]);
29
29
  }
30
30
  function renderTitle($xeForm, item) {
31
+ const formProps = $xeForm.props;
31
32
  const {
32
33
  data,
33
34
  readonly,
34
35
  disabled
35
- } = $xeForm.props;
36
+ } = formProps;
36
37
  const {
37
38
  computeTooltipOpts
38
39
  } = $xeForm.getComputeMaps();
@@ -60,9 +60,10 @@ function isActiveItem($xeForm, formItem) {
60
60
  if (!visibleMethod) {
61
61
  return true;
62
62
  }
63
+ const formProps = $xeForm.props;
63
64
  const {
64
65
  data
65
- } = $xeForm.props;
66
+ } = formProps;
66
67
  return visibleMethod({
67
68
  data,
68
69
  field,
@@ -66,5 +66,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
66
66
  };
67
67
  $xeIcon.renderVN = renderVN;
68
68
  return $xeIcon;
69
+ },
70
+ render() {
71
+ return this.renderVN();
69
72
  }
70
73
  });
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeIcon",props:{name:String,className:String,roll:Boolean,status:String,size:{type:String,default:()=>(0,_ui.getConfig)().icon.size||(0,_ui.getConfig)().size}},emits:["click"],setup(n,e){const u=e["emit"];var t=_xeUtils.default.uniqueId();const s=(0,_ui.useSize)(n)["computeSize"],r={xID:t,props:n,context:e},o=e=>{u("click",(0,_ui.createEvent)(e,{}))};Object.assign(r,{dispatchEvent:(e,t,i)=>{u(e,(0,_ui.createEvent)(i,{$icon:r},t))}},{});return r.renderVN=()=>{var{name:e,roll:t,status:i,className:u}=n,r=s.value;return(0,_vue.h)("i",{class:["vxe-icon","vxe-icon-"+e,""+(u||""),{["size--"+r]:r,["theme--"+i]:i,roll:t}],onClick:o})},r}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeIcon",props:{name:String,className:String,roll:Boolean,status:String,size:{type:String,default:()=>(0,_ui.getConfig)().icon.size||(0,_ui.getConfig)().size}},emits:["click"],setup(n,e){const r=e["emit"];var t=_xeUtils.default.uniqueId();const s=(0,_ui.useSize)(n)["computeSize"],u={xID:t,props:n,context:e},o=e=>{r("click",(0,_ui.createEvent)(e,{}))};Object.assign(u,{dispatchEvent:(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$icon:u},t))}},{});return u.renderVN=()=>{var{name:e,roll:t,status:i,className:r}=n,u=s.value;return(0,_vue.h)("i",{class:["vxe-icon","vxe-icon-"+e,""+(r||""),{["size--"+u]:u,["theme--"+i]:i,roll:t}],onClick:o})},u},render(){return this.renderVN()}});