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
@@ -46,10 +46,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
46
46
  topSpaceHeight: 0,
47
47
  items: []
48
48
  });
49
- const refElem = (0, _vue.ref)();
50
- const refVirtualWrapper = (0, _vue.ref)();
51
- const refVirtualBody = (0, _vue.ref)();
52
49
  const internalData = {
50
+ resizeObserver: undefined,
53
51
  fullData: [],
54
52
  lastScrollLeft: 0,
55
53
  lastScrollTop: 0,
@@ -61,6 +59,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
61
59
  rowHeight: 0
62
60
  }
63
61
  };
62
+ const refElem = (0, _vue.ref)();
63
+ const refVirtualWrapper = (0, _vue.ref)();
64
+ const refVirtualBody = (0, _vue.ref)();
64
65
  const refMaps = {
65
66
  refElem
66
67
  };
@@ -320,19 +321,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
320
321
  (0, _vue.onActivated)(() => {
321
322
  recalculate().then(() => refreshScroll());
322
323
  });
323
- let resizeObserver;
324
324
  (0, _vue.nextTick)(() => {
325
325
  _ui.globalEvents.on($xeList, 'resize', () => {
326
326
  recalculate();
327
327
  });
328
328
  if (props.autoResize) {
329
329
  const el = refElem.value;
330
- resizeObserver = _ui.globalResize.create(() => recalculate());
330
+ const resizeObserver = _ui.globalResize.create(() => recalculate());
331
331
  resizeObserver.observe(el);
332
+ internalData.resizeObserver = resizeObserver;
332
333
  }
333
334
  listMethods.loadData(props.data || []);
334
335
  });
335
336
  (0, _vue.onUnmounted)(() => {
337
+ const {
338
+ resizeObserver
339
+ } = internalData;
336
340
  if (resizeObserver) {
337
341
  resizeObserver.disconnect();
338
342
  }
@@ -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"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().list.size||(0,_ui.getConfig)().size},autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().list.autoResize},syncResize:[Boolean,String,Number],scrollY:Object},emits:["scroll"],setup(u,e){const{slots:n,emit:a}=e;var t=_xeUtils.default.uniqueId();const c=(0,_ui.useSize)(u)["computeSize"],d=(0,_vue.reactive)({scrollYLoad:!1,bodyHeight:0,rowHeight:0,topSpaceHeight:0,items:[]}),v=(0,_vue.ref)(),g=(0,_vue.ref)(),h=(0,_vue.ref)(),s={fullData:[],lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0}},l={refElem:v},f={xID:t,props:u,context:e,reactData:d,internalData:s,getRefMaps:()=>l};let i={};const o=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.scrollY,u.scrollY)),_=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=u,l={};return e?l.height=""+(isNaN(e)?e:e+"px"):t&&(l.height="auto",l.maxHeight=""+(isNaN(t)?t:t+"px")),l}),x=()=>{var e=d["scrollYLoad"],{scrollYStore:t,fullData:l}=s;d.bodyHeight=e?l.length*t.rowHeight:0,d.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},r=()=>{var e=d["scrollYLoad"],{fullData:t,scrollYStore:l}=s;return d.items=e?t.slice(l.startIndex,l.endIndex):t.slice(0),(0,_vue.nextTick)()},p=()=>{r(),x()},m=()=>(0,_vue.nextTick)().then(()=>{var e=d["scrollYLoad"],t=s["scrollYStore"],l=h.value,a=o.value;let r=0,i;(i=l?(i=a.sItem?l.querySelector(a.sItem):i)||l.children[0]:i)&&(r=i.offsetHeight),r=Math.max(20,r),t.rowHeight=r,(e?(l=g.value,e=Math.max(8,Math.ceil(l.clientHeight/r)),l=a.oSize?_xeUtils.default.toNumber(a.oSize):_dom.browse.edge?10:0,t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),p):x)(),d.rowHeight=r}),S=()=>{var e=g.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},b=(e,t)=>{var l=g.value;return _xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t)&&(l.scrollTop=t),d.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},z=()=>{const{lastScrollLeft:e,lastScrollTop:t}=s;return S().then(()=>{if(e||t)return s.lastScrollLeft=0,s.lastScrollTop=0,b(e,t)})},T=()=>{var e=v.value;return e.clientWidth&&e.clientHeight?m():Promise.resolve()},H=e=>{var t=s["scrollYStore"],{startIndex:l,endIndex:a,visibleSize:r,offsetSize:i,rowHeight:o}=t,e=e.target.scrollTop,e=Math.floor(e/o),o=Math.max(0,e-1-i),i=e+r+i;!(e<=l||a-r-1<=e)||l===o&&a===i||(t.startIndex=o,t.endIndex=i,p())},I=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==s.lastScrollLeft,r=l!==s.lastScrollTop;s.lastScrollTop=l,s.lastScrollLeft=t,d.scrollYLoad&&H(e),i.dispatchEvent("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:r},e)},Y=(i={dispatchEvent(e,t,l){a(e,(0,_ui.createEvent)(l,{$list:f},t))},loadData(e){var t=s["scrollYStore"],l=o.value,e=e||[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),s.fullData=e,d.scrollYLoad=!!l.enabled&&-1<l.gt&&(0===l.gt||l.gt<=e.length),r(),m().then(()=>{z()})},reloadData(e){return S(),i.loadData(e)},recalculate:T,scrollTo:b,refreshScroll:z,clearScroll:S},Object.assign(f,i),(0,_vue.ref)(0));(0,_vue.watch)(()=>u.data?u.data.length:-1,()=>{Y.value++}),(0,_vue.watch)(()=>u.data,()=>{Y.value++}),(0,_vue.watch)(Y,()=>{i.loadData(u.data||[])}),(0,_vue.watch)(()=>u.syncResize,e=>{e&&(T(),(0,_vue.nextTick)(()=>setTimeout(()=>T())))}),(0,_vue.onActivated)(()=>{T().then(()=>z())});let L;(0,_vue.nextTick)(()=>{var e;_ui.globalEvents.on(f,"resize",()=>{T()}),u.autoResize&&(e=v.value,(L=_ui.globalResize.create(()=>T())).observe(e)),i.loadData(u.data||[])}),(0,_vue.onUnmounted)(()=>{L&&L.disconnect(),_ui.globalEvents.off(f,"resize")});return f.renderVN=()=>{var{className:e,loading:t}=u,{bodyHeight:l,topSpaceHeight:a,items:r}=d,i=n.default,o=c.value,s=_.value;return(0,_vue.h)("div",{ref:v,class:["vxe-list",e?_xeUtils.default.isFunction(e)?e({$list:f}):e:"",{["size--"+o]:o,"is--loading":t}]},[(0,_vue.h)("div",{ref:g,class:"vxe-list--virtual-wrapper",style:s,onScroll:I},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:l?l+"px":""}}),(0,_vue.h)("div",{ref:h,class:"vxe-list--body",style:{marginTop:a?a+"px":""}},i?i({items:r,$list:f}):[])]),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:t})])},f},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"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().list.size||(0,_ui.getConfig)().size},autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().list.autoResize},syncResize:[Boolean,String,Number],scrollY:Object},emits:["scroll"],setup(u,e){const{slots:n,emit:r}=e;var t=_xeUtils.default.uniqueId();const c=(0,_ui.useSize)(u)["computeSize"],d=(0,_vue.reactive)({scrollYLoad:!1,bodyHeight:0,rowHeight:0,topSpaceHeight:0,items:[]}),o={resizeObserver:void 0,fullData:[],lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0}},v=(0,_vue.ref)(),g=(0,_vue.ref)(),h=(0,_vue.ref)(),l={refElem:v},f={xID:t,props:u,context:e,reactData:d,internalData:o,getRefMaps:()=>l};let i={};const s=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.scrollY,u.scrollY)),_=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=u,l={};return e?l.height=""+(isNaN(e)?e:e+"px"):t&&(l.height="auto",l.maxHeight=""+(isNaN(t)?t:t+"px")),l}),x=()=>{var e=d["scrollYLoad"],{scrollYStore:t,fullData:l}=o;d.bodyHeight=e?l.length*t.rowHeight:0,d.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},a=()=>{var e=d["scrollYLoad"],{fullData:t,scrollYStore:l}=o;return d.items=e?t.slice(l.startIndex,l.endIndex):t.slice(0),(0,_vue.nextTick)()},p=()=>{a(),x()},m=()=>(0,_vue.nextTick)().then(()=>{var e=d["scrollYLoad"],t=o["scrollYStore"],l=h.value,r=s.value;let a=0,i;(i=l?(i=r.sItem?l.querySelector(r.sItem):i)||l.children[0]:i)&&(a=i.offsetHeight),a=Math.max(20,a),t.rowHeight=a,(e?(l=g.value,e=Math.max(8,Math.ceil(l.clientHeight/a)),l=r.oSize?_xeUtils.default.toNumber(r.oSize):_dom.browse.edge?10:0,t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),p):x)(),d.rowHeight=a}),S=()=>{var e=g.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},b=(e,t)=>{var l=g.value;return _xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t)&&(l.scrollTop=t),d.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},z=()=>{const{lastScrollLeft:e,lastScrollTop:t}=o;return S().then(()=>{if(e||t)return o.lastScrollLeft=0,o.lastScrollTop=0,b(e,t)})},T=()=>{var e=v.value;return e.clientWidth&&e.clientHeight?m():Promise.resolve()},H=e=>{var t=o["scrollYStore"],{startIndex:l,endIndex:r,visibleSize:a,offsetSize:i,rowHeight:s}=t,e=e.target.scrollTop,e=Math.floor(e/s),s=Math.max(0,e-1-i),i=e+a+i;!(e<=l||r-a-1<=e)||l===s&&r===i||(t.startIndex=s,t.endIndex=i,p())},I=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,r=t!==o.lastScrollLeft,a=l!==o.lastScrollTop;o.lastScrollTop=l,o.lastScrollLeft=t,d.scrollYLoad&&H(e),i.dispatchEvent("scroll",{scrollLeft:t,scrollTop:l,isX:r,isY:a},e)},Y=(i={dispatchEvent(e,t,l){r(e,(0,_ui.createEvent)(l,{$list:f},t))},loadData(e){var t=o["scrollYStore"],l=s.value,e=e||[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),o.fullData=e,d.scrollYLoad=!!l.enabled&&-1<l.gt&&(0===l.gt||l.gt<=e.length),a(),m().then(()=>{z()})},reloadData(e){return S(),i.loadData(e)},recalculate:T,scrollTo:b,refreshScroll:z,clearScroll:S},Object.assign(f,i),(0,_vue.ref)(0));(0,_vue.watch)(()=>u.data?u.data.length:-1,()=>{Y.value++}),(0,_vue.watch)(()=>u.data,()=>{Y.value++}),(0,_vue.watch)(Y,()=>{i.loadData(u.data||[])}),(0,_vue.watch)(()=>u.syncResize,e=>{e&&(T(),(0,_vue.nextTick)(()=>setTimeout(()=>T())))}),(0,_vue.onActivated)(()=>{T().then(()=>z())}),(0,_vue.nextTick)(()=>{var e,t;_ui.globalEvents.on(f,"resize",()=>{T()}),u.autoResize&&(e=v.value,(t=_ui.globalResize.create(()=>T())).observe(e),o.resizeObserver=t),i.loadData(u.data||[])}),(0,_vue.onUnmounted)(()=>{var e=o["resizeObserver"];e&&e.disconnect(),_ui.globalEvents.off(f,"resize")});return f.renderVN=()=>{var{className:e,loading:t}=u,{bodyHeight:l,topSpaceHeight:r,items:a}=d,i=n.default,s=c.value,o=_.value;return(0,_vue.h)("div",{ref:v,class:["vxe-list",e?_xeUtils.default.isFunction(e)?e({$list:f}):e:"",{["size--"+s]:s,"is--loading":t}]},[(0,_vue.h)("div",{ref:g,class:"vxe-list--virtual-wrapper",style:o,onScroll:I},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:l?l+"px":""}}),(0,_vue.h)("div",{ref:h,class:"vxe-list--body",style:{marginTop:r?r+"px":""}},i?i({items:a,$list:f}):[])]),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:t})])},f},render(){return this.renderVN()}});
@@ -332,7 +332,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
332
332
  class: 'vxe-list-design--body'
333
333
  }, [(0, _vue.h)(_layoutPreview.default), (0, _vue.h)(_layoutSetting.default)])]);
334
334
  };
335
- $xeListDesign.renderVN = renderVN;
336
335
  (0, _vue.provide)('$xeListDesign', $xeListDesign);
337
336
  (0, _vue.watch)(() => props.config, value => {
338
337
  loadConfig(value || {});
@@ -341,6 +340,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
341
340
  if (props.config) {
342
341
  loadConfig(props.config);
343
342
  }
343
+ $xeListDesign.renderVN = renderVN;
344
344
  return $xeListDesign;
345
345
  },
346
346
  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")),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_util=require("../render/util"),_defaultSettingData=require("./default-setting-data"),_layoutPreview=_interopRequireDefault(require("./layout-preview")),_layoutSetting=_interopRequireDefault(require("./layout-setting"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeListDesign",props:{size:{type:String,default:()=>(0,_ui.getConfig)().listDesign.size||(0,_ui.getConfig)().size},height:{type:[String,Number],default:()=>(0,_ui.getConfig)().listDesign.height},config:Object,showPc:{type:Boolean,default:()=>(0,_ui.getConfig)().listDesign.showPc},showMobile:{type:Boolean,default:()=>(0,_ui.getConfig)().listDesign.showMobile},actionCodes:Array,formRender:Object},emits:[],setup(r,e){const{emit:n,slots:s}=e;var t=_xeUtils.default.uniqueId();const a=(0,_vue.ref)(),l=(0,_ui.useSize)(r)["computeSize"],o=(0,_vue.reactive)({formData:{},searchFormData:{},searchFormItems:[],listTableColumns:[]}),i={refElem:a},u={computeSize:l},d={xID:t,props:r,context:e,reactData:o,getRefMaps:()=>i,getComputeMaps:()=>u},c=[],f=[],g=(_ui.renderer.forEach((e,t)=>{var i,e=e["createListDesignSettingActionButtonConfig"];e&&(i={name:t},("custom"===(t=Object.assign((0,_util.createListDesignActionButton)({code:t}),e(i))).type?f:c).push(t))}),e=>({title:e.title,field:e.field,visible:!e.hidden,width:"",cellRender:{name:e.name,props:e.options}})),m=e=>{const i=[];return e&&(e=e["widgetData"],e)&&e.forEach(e=>{var t=e["name"];t&&("row"===t?e.children.forEach(e=>{e.name&&i.push(g(e))}):"subtable"!==t&&i.push(g(e)))}),i},h=e=>e?e.map(e=>({field:e.field,title:e.title,visible:!!e.visible,width:e.width,cellRender:_xeUtils.default.clone(e.cellRender)})):[],_=e=>{var{formConfig:e,searchItems:t,listColumns:i}=e;return e&&(e=e,o.formData=Object.assign({},b(),e),(0,_vue.nextTick)()),t&&C(t),i&&(o.listTableColumns=v(i)),(0,_vue.nextTick)()},v=e=>h(e),p=()=>o.searchFormItems,C=e=>{var{data:e,items:t}=(e=>{if(e){const t={};return{items:e.map(e=>(t[e.field]=null,{field:e.field,title:e.title,folding:e.folding,itemRender:e.itemRender})),data:t}}return{items:[],data:{}}})(e);return o.searchFormData=e,o.searchFormItems=t,(0,_vue.nextTick)()},D=()=>o.listTableColumns;const b=()=>{var{actionCodes:e,formRender:t}=r;let i=(0,_defaultSettingData.getDefaultSettingFormData)();if(e&&e.length&&(!i.actionButtonList||!i.actionButtonList.length)){const n=[];e.forEach(t=>{var e;_xeUtils.default.isObject(t)&&t.default&&(e=c.find(e=>e.code===t.code))&&n.push((0,_util.createListDesignActionButton)({type:e.type,code:e.code}))}),i.actionButtonList=n}return t&&t.name&&(e=(e=_ui.renderer.get(t.name))?e.createListDesignSettingFormConfig:null,t={name:t.name},i=(e?e(t):{})||{}),i},x=()=>{o.formData=b()},y=()=>(_({searchItems:[],listColumns:[]}),x(),(0,_vue.nextTick)());t={dispatchEvent(e,t,i){n(e,(0,_ui.createEvent)(i,{$listDesign:d},t))},loadFormDesignConfig(e){var t=o["listTableColumns"];const i={};_xeUtils.default.eachTree(t,e=>{i[e.field]=e},{children:"children"});t=m(e);return _xeUtils.default.eachTree(t,e=>{var t=i[e.field];t&&(t.width&&(e.width=t.width),e.visible=t.visible)},{children:"children"}),o.listTableColumns=t,(0,_vue.nextTick)()},reloadFormDesignConfig(e){return o.listTableColumns=m(e),(0,_vue.nextTick)()},getSearchItems:p,setSearchItems:C,getListColumns:D,setListColumns:e=>(o.listTableColumns=v(e),(0,_vue.nextTick)()),getConfig(){return{formConfig:o.formData,searchItems:p(),listColumns:D()}},loadConfig:_,reloadConfig(e){return y(),_(e)},clearConfig:y};Object.assign(d,t,{});return d.renderVN=()=>{var e=r["height"],t=l.value,i=s.header;return(0,_vue.h)("div",{ref:a,class:["vxe-list-design",{["size--"+t]:t}],style:e?{height:(0,_dom.toCssUnit)(e)}:null},[(0,_vue.h)("div",{class:"vxe-list-design--header"},i?i({}):[]),(0,_vue.h)("div",{class:"vxe-list-design--body"},[(0,_vue.h)(_layoutPreview.default),(0,_vue.h)(_layoutSetting.default)])])},(0,_vue.provide)("$xeListDesign",d),(0,_vue.watch)(()=>r.config,e=>{_(e||{})}),x(),r.config&&_(r.config),d},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")),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_util=require("../render/util"),_defaultSettingData=require("./default-setting-data"),_layoutPreview=_interopRequireDefault(require("./layout-preview")),_layoutSetting=_interopRequireDefault(require("./layout-setting"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeListDesign",props:{size:{type:String,default:()=>(0,_ui.getConfig)().listDesign.size||(0,_ui.getConfig)().size},height:{type:[String,Number],default:()=>(0,_ui.getConfig)().listDesign.height},config:Object,showPc:{type:Boolean,default:()=>(0,_ui.getConfig)().listDesign.showPc},showMobile:{type:Boolean,default:()=>(0,_ui.getConfig)().listDesign.showMobile},actionCodes:Array,formRender:Object},emits:[],setup(r,e){const{emit:n,slots:s}=e;var t=_xeUtils.default.uniqueId();const a=(0,_vue.ref)(),l=(0,_ui.useSize)(r)["computeSize"],o=(0,_vue.reactive)({formData:{},searchFormData:{},searchFormItems:[],listTableColumns:[]}),i={refElem:a},u={computeSize:l},d={xID:t,props:r,context:e,reactData:o,getRefMaps:()=>i,getComputeMaps:()=>u},c=[],f=[],g=(_ui.renderer.forEach((e,t)=>{var i,e=e["createListDesignSettingActionButtonConfig"];e&&(i={name:t},("custom"===(t=Object.assign((0,_util.createListDesignActionButton)({code:t}),e(i))).type?f:c).push(t))}),e=>({title:e.title,field:e.field,visible:!e.hidden,width:"",cellRender:{name:e.name,props:e.options}})),m=e=>{const i=[];return e&&(e=e["widgetData"],e)&&e.forEach(e=>{var t=e["name"];t&&("row"===t?e.children.forEach(e=>{e.name&&i.push(g(e))}):"subtable"!==t&&i.push(g(e)))}),i},h=e=>e?e.map(e=>({field:e.field,title:e.title,visible:!!e.visible,width:e.width,cellRender:_xeUtils.default.clone(e.cellRender)})):[],_=e=>{var{formConfig:e,searchItems:t,listColumns:i}=e;return e&&(e=e,o.formData=Object.assign({},b(),e),(0,_vue.nextTick)()),t&&C(t),i&&(o.listTableColumns=v(i)),(0,_vue.nextTick)()},v=e=>h(e),p=()=>o.searchFormItems,C=e=>{var{data:e,items:t}=(e=>{if(e){const t={};return{items:e.map(e=>(t[e.field]=null,{field:e.field,title:e.title,folding:e.folding,itemRender:e.itemRender})),data:t}}return{items:[],data:{}}})(e);return o.searchFormData=e,o.searchFormItems=t,(0,_vue.nextTick)()},D=()=>o.listTableColumns;const b=()=>{var{actionCodes:e,formRender:t}=r;let i=(0,_defaultSettingData.getDefaultSettingFormData)();if(e&&e.length&&(!i.actionButtonList||!i.actionButtonList.length)){const n=[];e.forEach(t=>{var e;_xeUtils.default.isObject(t)&&t.default&&(e=c.find(e=>e.code===t.code))&&n.push((0,_util.createListDesignActionButton)({type:e.type,code:e.code}))}),i.actionButtonList=n}return t&&t.name&&(e=(e=_ui.renderer.get(t.name))?e.createListDesignSettingFormConfig:null,t={name:t.name},i=(e?e(t):{})||{}),i},x=()=>{o.formData=b()},y=()=>(_({searchItems:[],listColumns:[]}),x(),(0,_vue.nextTick)());t={dispatchEvent(e,t,i){n(e,(0,_ui.createEvent)(i,{$listDesign:d},t))},loadFormDesignConfig(e){var t=o["listTableColumns"];const i={};_xeUtils.default.eachTree(t,e=>{i[e.field]=e},{children:"children"});t=m(e);return _xeUtils.default.eachTree(t,e=>{var t=i[e.field];t&&(t.width&&(e.width=t.width),e.visible=t.visible)},{children:"children"}),o.listTableColumns=t,(0,_vue.nextTick)()},reloadFormDesignConfig(e){return o.listTableColumns=m(e),(0,_vue.nextTick)()},getSearchItems:p,setSearchItems:C,getListColumns:D,setListColumns:e=>(o.listTableColumns=v(e),(0,_vue.nextTick)()),getConfig(){return{formConfig:o.formData,searchItems:p(),listColumns:D()}},loadConfig:_,reloadConfig(e){return y(),_(e)},clearConfig:y};Object.assign(d,t,{});return(0,_vue.provide)("$xeListDesign",d),(0,_vue.watch)(()=>r.config,e=>{_(e||{})}),x(),r.config&&_(r.config),d.renderVN=()=>{var e=r["height"],t=l.value,i=s.header;return(0,_vue.h)("div",{ref:a,class:["vxe-list-design",{["size--"+t]:t}],style:e?{height:(0,_dom.toCssUnit)(e)}:null},[(0,_vue.h)("div",{class:"vxe-list-design--header"},i?i({}):[]),(0,_vue.h)("div",{class:"vxe-list-design--body"},[(0,_vue.h)(_layoutPreview.default),(0,_vue.h)(_layoutSetting.default)])])},d},render(){return this.renderVN()}});
@@ -494,7 +494,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
494
494
  modelValue: loading
495
495
  })]);
496
496
  };
497
- $xeListView.renderVN = renderVN;
498
497
  (0, _vue.watch)(() => props.config, value => {
499
498
  loadConfig(value || {});
500
499
  });
@@ -509,6 +508,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
509
508
  }
510
509
  });
511
510
  }
511
+ $xeListView.renderVN = renderVN;
512
512
  return $xeListView;
513
513
  },
514
514
  render() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_log=require("../../ui/src/log"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("../render/util"),_loading=_interopRequireDefault(require("../../loading/src/loading")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeListView",props:{size:{type:String,default:()=>(0,_ui.getConfig)().listView.size||(0,_ui.getConfig)().size},config:Object,height:{type:[String,Number],default:()=>(0,_ui.getConfig)().listView.height},loading:Boolean,formData:Object,actionButtons:Array,gridOptions:Object,gridEvents:Object,viewRender:Object},emits:["cell-action","update:formData","update:actionButtons"],setup(l,e){const s=_ui.VxeUI.getComponent("VxeGrid"),{emit:u,slots:c}=e;var t=_xeUtils.default.uniqueId();const a=(0,_vue.ref)(),d=(0,_vue.ref)(),f=(0,_ui.useSize)(l)["computeSize"],m=(0,_vue.reactive)({formConfig:{},searchFormData:{},searchFormItems:[],listTableColumns:[],tableColumns:[],footerData:[{}]}),g=(0,_vue.computed)(()=>{var e=l["gridOptions"],{formConfig:t,tableColumns:i,searchFormData:o,searchFormItems:n,footerData:r}=m,t=t["showStatistics"],e=e||{},s=Object.assign({minWidth:120},e.columnConfig);let a;return e.proxyConfig&&(a=Object.assign({autoLoad:!1},e.proxyConfig)),Object.assign({},e,{columns:i,columnConfig:s,showFooter:t,footerData:t?r:null,formConfig:{data:o,items:n},proxyConfig:a})}),v=(0,_vue.computed)(()=>{var e=l["gridEvents"];const i={};return _xeUtils.default.each(e,(e,t)=>{i[_xeUtils.default.camelCase("on-"+t)]=e}),i}),i={refElem:a,refGrid:d},o={computeSize:f},p={xID:t,props:l,context:e,reactData:m,getRefMaps:()=>i,getComputeMaps:()=>o},_=[],n=[],h=(_ui.renderer.forEach((e,t)=>{var i,e=e["createListDesignSettingActionButtonConfig"];e&&(i={name:t},("custom"===(t=Object.assign((0,_util.createListDesignActionButton)({code:t}),e(i))).type?n:_).push(t))}),e=>{if(e&&e.length){const i={};var t=e.map(e=>(i[e.field]=null,{field:e.field,title:e.title,folding:e.folding,itemRender:e.itemRender}));return t.push({field:"active",title:"",folding:!1,collapseNode:e.some(e=>e.folding),itemRender:{name:"VxeButtonGroup",options:[{content:"查询",icon:"vxe-icon-search",status:"primary",type:"submit"},{content:"重置",icon:"vxe-icon-repeat",type:"reset"}]}}),{items:t,data:i}}return{items:[],data:{}}}),C=e=>e?e.map(e=>({field:e.field,title:e.title,visible:!!e.visible,width:e.width,cellRender:_xeUtils.default.clone(e.cellRender)})):[];const r=e=>{if(e){var{formConfig:e,searchItems:t,listColumns:i}=e;m.formConfig=e||{};{e=t||[];const{data:o,items:n}=h(e);m.searchFormData=o,m.searchFormItems=n,u("update:formData",o),(0,_vue.nextTick)()}{t=i||[];const r=m["formConfig"],s=t||[],{columns:a,actionButtons:l}=x(s,r);m.listTableColumns=s,m.tableColumns=a,u("update:actionButtons",l),(0,_vue.nextTick)(()=>{const e=g.value;if(e.proxyConfig)b("reload")})}}return(0,_vue.nextTick)()},x=(e,t)=>{const i=Object.assign({},t);var{showSeq:t,actionButtonList:o}=i;const n=[],r={},s=c.cellAction,a=c.footerCell;if(t&&n.push({type:"seq",field:"_seq",fixed:"left",width:70}),C(e||[]).forEach(e=>{e=Object.assign({},e);i.showStatistics&&a&&(e.slots={footer:e=>a(Object.assign({},e))}),e.field&&(r[e.field]=null),n.push(e)}),o&&o.length){t={field:"_active",title:(0,_ui.getI18n)("vxe.table.actionTitle"),fixed:"right",width:"auto"};const l=[];o.forEach(t=>{if("custom"===t.type)return{content:t.name,name:t.code,icon:t.icon};var e,i=_.find(e=>e.code===t.code);let o=t.name,n=t.icon,r=t.status,s=t.permissionCode,a=t.classify;i&&(e=i.name,n=i.icon||"",r=i.status||"",s=i.permissionCode||"",a=i.classify||"",o=_xeUtils.default.toValueString(_xeUtils.default.isFunction(e)?e({name:i.code||""}):e)),a&&"cellButton"!==a||l.push({content:o,name:t.code,icon:n,status:r,permissionCode:s})}),s?t.slots={default(e){return s(Object.assign(Object.assign({},e),{buttons:l}))}}:t.cellRender={name:"VxeButtonGroup",props:{mode:"text"},options:l,events:{click(e,t){var i=t["option"];y("cell-action",Object.assign(Object.assign({},e),{button:i}),t.$event)}}},n.push(t)}return{rowRecord:r,columns:n,actionButtons:o}};const b=(e,...t)=>{var i=d.value;return i?i.commitProxy(e,...t):Promise.resolve()},y=(e,t,i)=>{u(e,(0,_ui.createEvent)(i,{$listView:p},t))};t={dispatchEvent:y,clearConfig:()=>(u("update:formData",{}),Object.assign(m,{formConfig:{},searchFormData:{},searchFormItems:[],listTableColumns:[],tableColumns:[],footerData:[{}]}),(0,_vue.nextTick)()),loadConfig:r,parseConfig:e=>{var{formConfig:e,searchItems:t,listColumns:i}=e||{},{columns:i,rowRecord:e,actionButtons:o}=x(i||[],e||m.formConfig),{data:t,items:n}=(t=t||[],h(t||[]));return{formData:t,formItems:n,tableColumns:i,tableRecord:e,actionButtons:o}},getTableRecord:e=>{var t;return _xeUtils.default.isArray(e)?(t=x(e,m.formConfig)["rowRecord"],t):e?({formConfig:t,listColumns:e}=e,e=x(e||[],t||m.formConfig)["rowRecord"],e):{}},getQueryFilter:()=>{const{searchFormData:o,searchFormItems:e}=m,n=[];var t={items:n,type:"and"};return d.value&&e.forEach(e=>{var t,e=e["field"],i=o[e];i&&((t=[]).push({field:e,value:i,match:"exact",type:_xeUtils.default.isArray(i)?"array":""}),n.push({condition:t,type:"and"}))}),t},commitProxy:b};Object.assign(p,t,{});return p.renderVN=()=>{var{height:e,loading:t}=l,i=f.value,o=c.grid,n=g.value,r=v.value;return(0,_vue.h)("div",{ref:a,class:["vxe-list-view",{["size--"+i]:i,"is--loading":t}],style:e?{height:(0,_dom.toCssUnit)(e)}:null},[(0,_vue.h)("div",{class:"vxe-list-view--body"},[o?(0,_vue.h)("div",{class:"vxe-list-view--grid-wrapper"},(0,_vn.getSlotVNs)(o({$listView:p}))):s?(0,_vue.h)(s,Object.assign({},n,r,{ref:d}),Object.assign({},c,{default:void 0})):(0,_vue.createCommentVNode)()]),(0,_vue.h)(_loading.default,{class:"vxe-list-view--loading",modelValue:t})])},(0,_vue.watch)(()=>l.config,e=>{r(e||{})}),l.config&&r(l.config),(0,_vue.provide)("$xeListView",p),"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{s||(0,_log.errLog)("vxe.error.reqComp",["vxe-grid"])}),p},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_log=require("../../ui/src/log"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("../render/util"),_loading=_interopRequireDefault(require("../../loading/src/loading")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeListView",props:{size:{type:String,default:()=>(0,_ui.getConfig)().listView.size||(0,_ui.getConfig)().size},config:Object,height:{type:[String,Number],default:()=>(0,_ui.getConfig)().listView.height},loading:Boolean,formData:Object,actionButtons:Array,gridOptions:Object,gridEvents:Object,viewRender:Object},emits:["cell-action","update:formData","update:actionButtons"],setup(l,e){const s=_ui.VxeUI.getComponent("VxeGrid"),{emit:u,slots:c}=e;var t=_xeUtils.default.uniqueId();const a=(0,_vue.ref)(),d=(0,_vue.ref)(),f=(0,_ui.useSize)(l)["computeSize"],m=(0,_vue.reactive)({formConfig:{},searchFormData:{},searchFormItems:[],listTableColumns:[],tableColumns:[],footerData:[{}]}),g=(0,_vue.computed)(()=>{var e=l["gridOptions"],{formConfig:t,tableColumns:i,searchFormData:o,searchFormItems:n,footerData:r}=m,t=t["showStatistics"],e=e||{},s=Object.assign({minWidth:120},e.columnConfig);let a;return e.proxyConfig&&(a=Object.assign({autoLoad:!1},e.proxyConfig)),Object.assign({},e,{columns:i,columnConfig:s,showFooter:t,footerData:t?r:null,formConfig:{data:o,items:n},proxyConfig:a})}),v=(0,_vue.computed)(()=>{var e=l["gridEvents"];const i={};return _xeUtils.default.each(e,(e,t)=>{i[_xeUtils.default.camelCase("on-"+t)]=e}),i}),i={refElem:a,refGrid:d},o={computeSize:f},p={xID:t,props:l,context:e,reactData:m,getRefMaps:()=>i,getComputeMaps:()=>o},_=[],n=[],h=(_ui.renderer.forEach((e,t)=>{var i,e=e["createListDesignSettingActionButtonConfig"];e&&(i={name:t},("custom"===(t=Object.assign((0,_util.createListDesignActionButton)({code:t}),e(i))).type?n:_).push(t))}),e=>{if(e&&e.length){const i={};var t=e.map(e=>(i[e.field]=null,{field:e.field,title:e.title,folding:e.folding,itemRender:e.itemRender}));return t.push({field:"active",title:"",folding:!1,collapseNode:e.some(e=>e.folding),itemRender:{name:"VxeButtonGroup",options:[{content:"查询",icon:"vxe-icon-search",status:"primary",type:"submit"},{content:"重置",icon:"vxe-icon-repeat",type:"reset"}]}}),{items:t,data:i}}return{items:[],data:{}}}),C=e=>e?e.map(e=>({field:e.field,title:e.title,visible:!!e.visible,width:e.width,cellRender:_xeUtils.default.clone(e.cellRender)})):[];const r=e=>{if(e){var{formConfig:e,searchItems:t,listColumns:i}=e;m.formConfig=e||{};{e=t||[];const{data:o,items:n}=h(e);m.searchFormData=o,m.searchFormItems=n,u("update:formData",o),(0,_vue.nextTick)()}{t=i||[];const r=m["formConfig"],s=t||[],{columns:a,actionButtons:l}=x(s,r);m.listTableColumns=s,m.tableColumns=a,u("update:actionButtons",l),(0,_vue.nextTick)(()=>{const e=g.value;if(e.proxyConfig)b("reload")})}}return(0,_vue.nextTick)()},x=(e,t)=>{const i=Object.assign({},t);var{showSeq:t,actionButtonList:o}=i;const n=[],r={},s=c.cellAction,a=c.footerCell;if(t&&n.push({type:"seq",field:"_seq",fixed:"left",width:70}),C(e||[]).forEach(e=>{e=Object.assign({},e);i.showStatistics&&a&&(e.slots={footer:e=>a(Object.assign({},e))}),e.field&&(r[e.field]=null),n.push(e)}),o&&o.length){t={field:"_active",title:(0,_ui.getI18n)("vxe.table.actionTitle"),fixed:"right",width:"auto"};const l=[];o.forEach(t=>{if("custom"===t.type)return{content:t.name,name:t.code,icon:t.icon};var e,i=_.find(e=>e.code===t.code);let o=t.name,n=t.icon,r=t.status,s=t.permissionCode,a=t.classify;i&&(e=i.name,n=i.icon||"",r=i.status||"",s=i.permissionCode||"",a=i.classify||"",o=_xeUtils.default.toValueString(_xeUtils.default.isFunction(e)?e({name:i.code||""}):e)),a&&"cellButton"!==a||l.push({content:o,name:t.code,icon:n,status:r,permissionCode:s})}),s?t.slots={default(e){return s(Object.assign(Object.assign({},e),{buttons:l}))}}:t.cellRender={name:"VxeButtonGroup",props:{mode:"text"},options:l,events:{click(e,t){var i=t["option"];y("cell-action",Object.assign(Object.assign({},e),{button:i}),t.$event)}}},n.push(t)}return{rowRecord:r,columns:n,actionButtons:o}};const b=(e,...t)=>{var i=d.value;return i?i.commitProxy(e,...t):Promise.resolve()},y=(e,t,i)=>{u(e,(0,_ui.createEvent)(i,{$listView:p},t))};t={dispatchEvent:y,clearConfig:()=>(u("update:formData",{}),Object.assign(m,{formConfig:{},searchFormData:{},searchFormItems:[],listTableColumns:[],tableColumns:[],footerData:[{}]}),(0,_vue.nextTick)()),loadConfig:r,parseConfig:e=>{var{formConfig:e,searchItems:t,listColumns:i}=e||{},{columns:i,rowRecord:e,actionButtons:o}=x(i||[],e||m.formConfig),{data:t,items:n}=(t=t||[],h(t||[]));return{formData:t,formItems:n,tableColumns:i,tableRecord:e,actionButtons:o}},getTableRecord:e=>{var t;return _xeUtils.default.isArray(e)?(t=x(e,m.formConfig)["rowRecord"],t):e?({formConfig:t,listColumns:e}=e,e=x(e||[],t||m.formConfig)["rowRecord"],e):{}},getQueryFilter:()=>{const{searchFormData:o,searchFormItems:e}=m,n=[];var t={items:n,type:"and"};return d.value&&e.forEach(e=>{var t,e=e["field"],i=o[e];i&&((t=[]).push({field:e,value:i,match:"exact",type:_xeUtils.default.isArray(i)?"array":""}),n.push({condition:t,type:"and"}))}),t},commitProxy:b};Object.assign(p,t,{});return(0,_vue.watch)(()=>l.config,e=>{r(e||{})}),l.config&&r(l.config),(0,_vue.provide)("$xeListView",p),"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{s||(0,_log.errLog)("vxe.error.reqComp",["vxe-grid"])}),p.renderVN=()=>{var{height:e,loading:t}=l,i=f.value,o=c.grid,n=g.value,r=v.value;return(0,_vue.h)("div",{ref:a,class:["vxe-list-view",{["size--"+i]:i,"is--loading":t}],style:e?{height:(0,_dom.toCssUnit)(e)}:null},[(0,_vue.h)("div",{class:"vxe-list-view--body"},[o?(0,_vue.h)("div",{class:"vxe-list-view--grid-wrapper"},(0,_vn.getSlotVNs)(o({$listView:p}))):s?(0,_vue.h)(s,Object.assign({},n,r,{ref:d}),Object.assign({},c,{default:void 0})):(0,_vue.createCommentVNode)()]),(0,_vue.h)(_loading.default,{class:"vxe-list-view--loading",modelValue:t})])},p},render(){return this.renderVN()}});
@@ -119,11 +119,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
119
119
  class: 'vxe-loading--text'
120
120
  }, textSlot ? (0, _vn.getSlotVNs)(textSlot({})) : `${loadingText}`) : null])]);
121
121
  };
122
- $xeLoading.renderVN = renderVN;
123
122
  (0, _vue.watch)(() => props.modelValue, () => {
124
123
  handleInit();
125
124
  });
126
125
  handleInit();
126
+ $xeLoading.renderVN = renderVN;
127
127
  return $xeLoading;
128
+ },
129
+ render() {
130
+ return this.renderVN();
128
131
  }
129
132
  });
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeLoading",props:{modelValue:Boolean,icon:{type:String,default:()=>(0,_ui.getConfig)().loading.icon},showIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().loading.showIcon},text:{type:String,default:()=>(0,_ui.getConfig)().loading.text},showText:{type:Boolean,default:()=>(0,_ui.getConfig)().loading.showText},status:String,size:{type:String,default:()=>(0,_ui.getConfig)().loading.size||(0,_ui.getConfig)().size}},setup(r,e){const{slots:v,emit:u}=e;var t=_xeUtils.default.uniqueId();const _=(0,_ui.useSize)(r)["computeSize"],g=(0,_vue.reactive)({initialized:!1}),i={computeSize:_},n={xID:t,props:r,context:e,reactData:g,getComputeMaps:()=>i},c=(0,_vue.computed)(()=>r.icon||(0,_ui.getIcon)().LOADING),p=(0,_vue.computed)(()=>{var e=r["text"];return _xeUtils.default.isString(e)?e:(0,_ui.getI18n)("vxe.loading.text")}),o=()=>{g.initialized||(g.initialized=!!g.initialized)};Object.assign(n,{dispatchEvent:(e,t,i)=>{u(e,(0,_ui.createEvent)(i,{$loading:n},t))}},{});return n.renderVN=()=>{var{modelValue:e,showIcon:t,status:i}=r,u=g["initialized"],n=_.value,o=v.default,a=v.text,l=v.icon,s=c.value,d=p.value;return u||e?(0,_vue.h)("div",{class:["vxe-loading",{["size--"+n]:n,["theme--"+i]:i,"is--visible":e}]},o?[(0,_vue.h)("div",{class:"vxe-loading--wrapper"},(0,_vn.getSlotVNs)(o({})))]:[(0,_vue.h)("div",{class:"vxe-loading--chunk"},[t&&(l||s)?(0,_vue.h)("div",{class:"vxe-loading--icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:s})]):(0,_vue.h)("div",{class:"vxe-loading--spinner"}),a||d?(0,_vue.h)("div",{class:"vxe-loading--text"},a?(0,_vn.getSlotVNs)(a({})):""+d):null])]):(0,_vue.createCommentVNode)()},(0,_vue.watch)(()=>r.modelValue,()=>{o()}),o(),n}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeLoading",props:{modelValue:Boolean,icon:{type:String,default:()=>(0,_ui.getConfig)().loading.icon},showIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().loading.showIcon},text:{type:String,default:()=>(0,_ui.getConfig)().loading.text},showText:{type:Boolean,default:()=>(0,_ui.getConfig)().loading.showText},status:String,size:{type:String,default:()=>(0,_ui.getConfig)().loading.size||(0,_ui.getConfig)().size}},setup(d,e){const{slots:v,emit:u}=e;var t=_xeUtils.default.uniqueId();const _=(0,_ui.useSize)(d)["computeSize"],g=(0,_vue.reactive)({initialized:!1}),i={computeSize:_},n={xID:t,props:d,context:e,reactData:g,getComputeMaps:()=>i},c=(0,_vue.computed)(()=>d.icon||(0,_ui.getIcon)().LOADING),p=(0,_vue.computed)(()=>{var e=d["text"];return _xeUtils.default.isString(e)?e:(0,_ui.getI18n)("vxe.loading.text")}),o=()=>{g.initialized||(g.initialized=!!g.initialized)};Object.assign(n,{dispatchEvent:(e,t,i)=>{u(e,(0,_ui.createEvent)(i,{$loading:n},t))}},{});return(0,_vue.watch)(()=>d.modelValue,()=>{o()}),o(),n.renderVN=()=>{var{modelValue:e,showIcon:t,status:i}=d,u=g["initialized"],n=_.value,o=v.default,a=v.text,l=v.icon,s=c.value,r=p.value;return u||e?(0,_vue.h)("div",{class:["vxe-loading",{["size--"+n]:n,["theme--"+i]:i,"is--visible":e}]},o?[(0,_vue.h)("div",{class:"vxe-loading--wrapper"},(0,_vn.getSlotVNs)(o({})))]:[(0,_vue.h)("div",{class:"vxe-loading--chunk"},[t&&(l||s)?(0,_vue.h)("div",{class:"vxe-loading--icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:s})]):(0,_vue.h)("div",{class:"vxe-loading--spinner"}),a||r?(0,_vue.h)("div",{class:"vxe-loading--text"},a?(0,_vn.getSlotVNs)(a({})):""+r):null])]):(0,_vue.createCommentVNode)()},n},render(){return this.renderVN()}});
@@ -163,8 +163,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
163
163
  hasChild
164
164
  } = item;
165
165
  if (routerLink) {
166
- reactData.activeName = item.itemKey;
167
- emit('update:modelValue', item.itemKey);
166
+ const value = item.itemKey;
167
+ reactData.activeName = value;
168
+ emit('update:modelValue', value);
168
169
  } else {
169
170
  if (hasChild) {
170
171
  handleClickIconCollapse(evnt, item);
@@ -279,7 +280,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
279
280
  modelValue: loading
280
281
  })]);
281
282
  };
282
- $xeMenu.renderVN = renderVN;
283
283
  const optFlag = (0, _vue.ref)(0);
284
284
  (0, _vue.watch)(() => props.options ? props.options.length : -1, () => {
285
285
  optFlag.value++;
@@ -304,6 +304,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
304
304
  });
305
305
  updateMenuConfig();
306
306
  updateActiveMenu(true);
307
+ $xeMenu.renderVN = renderVN;
307
308
  return $xeMenu;
308
309
  },
309
310
  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"),_index=_interopRequireDefault(require("../../loading/index"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,collapsed:{type:Boolean,default:null},loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>(0,_ui.getConfig)().image.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","click"],setup(l,e){const n=e["emit"];var i=_xeUtils.default.uniqueId();const t=(0,_vue.inject)("$xeLayoutAside",null),s=(0,_vue.ref)(),u=(0,_vue.ref)(),r=(0,_ui.useSize)(l)["computeSize"],o=(0,_vue.reactive)({activeName:l.modelValue,menuList:[],itemHeight:1}),a={refElem:s},c=(0,_vue.computed)(()=>{var e=l["collapsed"];return _xeUtils.default.isBoolean(e)?e:!!t&&t.props.collapsed}),d={computeSize:r},v={xID:i,props:l,context:e,reactData:o,getRefMaps:()=>a,getComputeMaps:()=>d},m=()=>{var e=u.value,e=e?e.children:[];e.length&&(o.itemHeight=e[0].offsetHeight)},p=e=>{let i=0;return e.isExpand&&e.childList.forEach(e=>{i+=p(e)+1}),i},h=s=>{const u=o["activeName"];_xeUtils.default.eachTree(o.menuList,(e,i,t,a,l,n)=>{e.itemKey===u?(n.forEach(e=>{e.isActive=!0,s&&(e.isExpand=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},_=()=>{const{options:e,expandAll:n}=l;o.menuList=_xeUtils.default.mapTree(e,(e,i,t,a,l)=>{return Object.assign(Object.assign({},e),{parentKey:l?l.name||a.slice(0,a.length-1).join(","):"",level:a.length,itemKey:e.name||a.join(","),isExactActive:!1,isActive:!1,isExpand:_xeUtils.default.isBoolean(e.expanded)?e.expanded:!!n,hasChild:e.children&&0<e.children.length,childHeight:0})},{children:"children",mapChildren:"childList"})},x=(e,i)=>{var{hasChild:t,isExpand:a}=i;t&&(e.stopPropagation(),e.preventDefault(),i.isExpand=!a,m(),_xeUtils.default.eachTree(o.menuList,e=>{e.hasChild&&e.isExpand?e.childHeight=p(e)*o.itemHeight:e.childHeight=0},{children:"childList"}))},f=(e,i)=>{var{routerLink:t,hasChild:a}=i;t?(o.activeName=i.itemKey,n("update:modelValue",i.itemKey)):a&&x(e,i),g("click",{menu:i},e)},g=(e,i,t)=>{n(e,(0,_ui.createEvent)(t,{$menu:v},i))};i={dispatchEvent:g};Object.assign(v,i,{});const E=i=>{var{icon:e,isExpand:t,hasChild:a}=i,l=""+((l=i).title||l.name);return[(0,_vue.h)("span",{class:"vxe-menu--item-link-icon"},e?[(0,_vue.h)("i",{class:e})]:[]),(0,_vue.h)("span",{class:"vxe-menu--item-link-title",title:l},l),a?(0,_vue.h)("span",{class:"vxe-menu--item-link-collapse",onClick(e){x(e,i)}},[(0,_vue.h)("i",{class:t?(0,_ui.getIcon)().MENU_ITEM_EXPAND_OPEN:(0,_ui.getIcon)().MENU_ITEM_EXPAND_CLOSE})]):(0,_vue.createCommentVNode)()]},C=i=>{var{itemKey:e,level:t,hasChild:a,isActive:l,isExactActive:n,isExpand:s,routerLink:u,childList:r}=i,o=c.value;return i.permissionCode&&!_ui.permission.checkVisible(i.permissionCode)?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{key:e,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+t,{"is--exact-active":n,"is--active":l,"is--expand":!o&&s}]},[u?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{class:"vxe-menu--item-link",to:u,onClick(e){f(e,i)}},{default:()=>E(i)}):(0,_vue.h)("div",{class:"vxe-menu--item-link",onClick(e){f(e,i)}},E(i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group",style:{}},r.map(e=>C(e))):(0,_vue.createCommentVNode)()])};v.renderVN=()=>{var e=l["loading"],i=o["menuList"],t=r.value,a=c.value;return(0,_vue.h)("div",{ref:s,class:["vxe-menu",{["size--"+t]:t,"is--collapsed":a,"is--loading":e}]},[(0,_vue.h)("div",{ref:u,class:"vxe-menu--item-list"},i.map(e=>C(e))),(0,_vue.h)(_index.default,{class:"vxe-list-view--loading",modelValue:e})])};const k=(0,_vue.ref)(0);return(0,_vue.watch)(()=>l.options?l.options.length:-1,()=>{k.value++}),(0,_vue.watch)(()=>l.options,()=>{k.value++}),(0,_vue.watch)(k,()=>{_(),h(!0)}),(0,_vue.watch)(()=>l.modelValue,e=>{o.activeName=e}),(0,_vue.watch)(()=>o.activeName,()=>{h(!0)}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{m()})}),_(),h(!0),v},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"),_index=_interopRequireDefault(require("../../loading/index"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,collapsed:{type:Boolean,default:null},loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>(0,_ui.getConfig)().image.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","click"],setup(l,e){const n=e["emit"];var i=_xeUtils.default.uniqueId();const t=(0,_vue.inject)("$xeLayoutAside",null),s=(0,_vue.ref)(),u=(0,_vue.ref)(),r=(0,_ui.useSize)(l)["computeSize"],o=(0,_vue.reactive)({activeName:l.modelValue,menuList:[],itemHeight:1}),a={refElem:s},c=(0,_vue.computed)(()=>{var e=l["collapsed"];return _xeUtils.default.isBoolean(e)?e:!!t&&t.props.collapsed}),d={computeSize:r},v={xID:i,props:l,context:e,reactData:o,getRefMaps:()=>a,getComputeMaps:()=>d},m=()=>{var e=u.value,e=e?e.children:[];e.length&&(o.itemHeight=e[0].offsetHeight)},p=e=>{let i=0;return e.isExpand&&e.childList.forEach(e=>{i+=p(e)+1}),i},h=s=>{const u=o["activeName"];_xeUtils.default.eachTree(o.menuList,(e,i,t,a,l,n)=>{e.itemKey===u?(n.forEach(e=>{e.isActive=!0,s&&(e.isExpand=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},_=()=>{const{options:e,expandAll:n}=l;o.menuList=_xeUtils.default.mapTree(e,(e,i,t,a,l)=>{return Object.assign(Object.assign({},e),{parentKey:l?l.name||a.slice(0,a.length-1).join(","):"",level:a.length,itemKey:e.name||a.join(","),isExactActive:!1,isActive:!1,isExpand:_xeUtils.default.isBoolean(e.expanded)?e.expanded:!!n,hasChild:e.children&&0<e.children.length,childHeight:0})},{children:"children",mapChildren:"childList"})},x=(e,i)=>{var{hasChild:t,isExpand:a}=i;t&&(e.stopPropagation(),e.preventDefault(),i.isExpand=!a,m(),_xeUtils.default.eachTree(o.menuList,e=>{e.hasChild&&e.isExpand?e.childHeight=p(e)*o.itemHeight:e.childHeight=0},{children:"childList"}))},f=(e,i)=>{var{routerLink:t,hasChild:a}=i;t?(t=i.itemKey,o.activeName=t,n("update:modelValue",t)):a&&x(e,i),g("click",{menu:i},e)},g=(e,i,t)=>{n(e,(0,_ui.createEvent)(t,{$menu:v},i))};i={dispatchEvent:g};Object.assign(v,i,{});const E=i=>{var{icon:e,isExpand:t,hasChild:a}=i,l=""+((l=i).title||l.name);return[(0,_vue.h)("span",{class:"vxe-menu--item-link-icon"},e?[(0,_vue.h)("i",{class:e})]:[]),(0,_vue.h)("span",{class:"vxe-menu--item-link-title",title:l},l),a?(0,_vue.h)("span",{class:"vxe-menu--item-link-collapse",onClick(e){x(e,i)}},[(0,_vue.h)("i",{class:t?(0,_ui.getIcon)().MENU_ITEM_EXPAND_OPEN:(0,_ui.getIcon)().MENU_ITEM_EXPAND_CLOSE})]):(0,_vue.createCommentVNode)()]},C=i=>{var{itemKey:e,level:t,hasChild:a,isActive:l,isExactActive:n,isExpand:s,routerLink:u,childList:r}=i,o=c.value;return i.permissionCode&&!_ui.permission.checkVisible(i.permissionCode)?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{key:e,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+t,{"is--exact-active":n,"is--active":l,"is--expand":!o&&s}]},[u?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{class:"vxe-menu--item-link",to:u,onClick(e){f(e,i)}},{default:()=>E(i)}):(0,_vue.h)("div",{class:"vxe-menu--item-link",onClick(e){f(e,i)}},E(i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group",style:{}},r.map(e=>C(e))):(0,_vue.createCommentVNode)()])};const k=(0,_vue.ref)(0);return(0,_vue.watch)(()=>l.options?l.options.length:-1,()=>{k.value++}),(0,_vue.watch)(()=>l.options,()=>{k.value++}),(0,_vue.watch)(k,()=>{_(),h(!0)}),(0,_vue.watch)(()=>l.modelValue,e=>{o.activeName=e}),(0,_vue.watch)(()=>o.activeName,()=>{h(!0)}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{m()})}),_(),h(!0),v.renderVN=()=>{var e=l["loading"],i=o["menuList"],t=r.value,a=c.value;return(0,_vue.h)("div",{ref:s,class:["vxe-menu",{["size--"+t]:t,"is--collapsed":a,"is--loading":e}]},[(0,_vue.h)("div",{ref:u,class:"vxe-menu--item-list"},i.map(e=>C(e))),(0,_vue.h)(_index.default,{class:"vxe-list-view--loading",modelValue:e})])},v},render(){return this.renderVN()}});
@@ -98,6 +98,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
98
98
  isActivated: false,
99
99
  inputValue: props.modelValue
100
100
  });
101
+ const internalData = {
102
+ dnTimeout: undefined
103
+ };
101
104
  const refElem = (0, _vue.ref)();
102
105
  const refInputTarget = (0, _vue.ref)();
103
106
  const refInputPanel = (0, _vue.ref)();
@@ -110,9 +113,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
110
113
  props,
111
114
  context,
112
115
  reactData,
116
+ internalData,
113
117
  getRefMaps: () => refMaps
114
118
  };
115
- let inputMethods = {};
119
+ let numberInputMethods = {};
116
120
  const computeFormReadonly = (0, _vue.computed)(() => {
117
121
  const {
118
122
  readonly
@@ -137,9 +141,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
137
141
  }
138
142
  return disabled;
139
143
  });
140
- const computeIsNumType = (0, _vue.computed)(() => {
141
- return true;
142
- });
143
144
  const computeDigitsValue = (0, _vue.computed)(() => {
144
145
  return _xeUtils.default.toInteger(props.digits) || 1;
145
146
  });
@@ -179,7 +180,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
179
180
  }
180
181
  return (0, _ui.getI18n)('vxe.base.pleaseInput');
181
182
  });
182
- const computeInpMaxlength = (0, _vue.computed)(() => {
183
+ const computeInpMaxLength = (0, _vue.computed)(() => {
183
184
  const {
184
185
  maxLength,
185
186
  maxlength
@@ -201,11 +202,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
201
202
  const {
202
203
  inputValue
203
204
  } = reactData;
204
- const isNumType = computeIsNumType.value;
205
- if (isNumType) {
206
- return type === 'integer' ? _xeUtils.default.toInteger((0, _util.handleNumber)(inputValue)) : _xeUtils.default.toNumber((0, _util.handleNumber)(inputValue));
207
- }
208
- return 0;
205
+ return type === 'integer' ? _xeUtils.default.toInteger((0, _util.handleNumber)(inputValue)) : _xeUtils.default.toNumber((0, _util.handleNumber)(inputValue));
209
206
  });
210
207
  const computeNumLabel = (0, _vue.computed)(() => {
211
208
  const {
@@ -220,10 +217,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
220
217
  const {
221
218
  inputValue
222
219
  } = reactData;
223
- const isNumType = computeIsNumType.value;
224
220
  const numValue = computeNumValue.value;
225
221
  // 当有值时再进行判断
226
- if ((inputValue || inputValue === 0) && isNumType && min !== null) {
222
+ if ((inputValue || inputValue === 0) && min !== null) {
227
223
  return numValue <= _xeUtils.default.toNumber(min);
228
224
  }
229
225
  return false;
@@ -235,10 +231,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
235
231
  const {
236
232
  inputValue
237
233
  } = reactData;
238
- const isNumType = computeIsNumType.value;
239
234
  const numValue = computeNumValue.value;
240
235
  // 当有值时再进行判断
241
- if ((inputValue || inputValue === 0) && isNumType && max !== null) {
236
+ if ((inputValue || inputValue === 0) && max !== null) {
242
237
  return numValue >= _xeUtils.default.toNumber(max);
243
238
  }
244
239
  return false;
@@ -248,33 +243,34 @@ var _default = exports.default = (0, _vue.defineComponent)({
248
243
  type,
249
244
  exponential
250
245
  } = props;
251
- const inpMaxlength = computeInpMaxlength.value;
246
+ const inpMaxLength = computeInpMaxLength.value;
252
247
  const digitsValue = computeDigitsValue.value;
253
248
  const restVal = type === 'float' ? (0, _util.toFloatValueFixed)(val, digitsValue) : _xeUtils.default.toValueString(val);
254
249
  if (exponential && (val === restVal || _xeUtils.default.toValueString(val).toLowerCase() === _xeUtils.default.toNumber(restVal).toExponential())) {
255
250
  return val;
256
251
  }
257
- return restVal.slice(0, inpMaxlength);
252
+ return restVal.slice(0, inpMaxLength);
258
253
  };
259
254
  const triggerEvent = evnt => {
260
255
  const {
261
256
  inputValue
262
257
  } = reactData;
263
- inputMethods.dispatchEvent(evnt.type, {
258
+ numberInputMethods.dispatchEvent(evnt.type, {
264
259
  value: inputValue
265
260
  }, evnt);
266
261
  };
267
- const emitModel = (value, inputValue, evnt) => {
262
+ const handleChange = (val, inputValue, evnt) => {
263
+ const value = val ? Number(val) : null;
268
264
  const isChange = Number(value) !== props.modelValue;
269
265
  if (isChange) {
270
266
  reactData.inputValue = inputValue || '';
271
- emit('update:modelValue', value ? Number(value) : null);
267
+ emit('update:modelValue', value);
272
268
  }
273
- inputMethods.dispatchEvent('input', {
269
+ numberInputMethods.dispatchEvent('input', {
274
270
  value
275
271
  }, evnt);
276
272
  if (isChange) {
277
- inputMethods.dispatchEvent('change', {
273
+ numberInputMethods.dispatchEvent('change', {
278
274
  value
279
275
  }, evnt);
280
276
  // 自动更新校验状态
@@ -288,9 +284,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
288
284
  const value = inputValue ? _xeUtils.default.toNumber(inputValue) : null;
289
285
  reactData.inputValue = inputValue;
290
286
  if (inpImmediate) {
291
- emitModel(value, inputValue, evnt);
287
+ handleChange(value, inputValue, evnt);
292
288
  } else {
293
- inputMethods.dispatchEvent('input', {
289
+ numberInputMethods.dispatchEvent('input', {
294
290
  value
295
291
  }, evnt);
296
292
  }
@@ -316,15 +312,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
316
312
  const {
317
313
  inputValue
318
314
  } = reactData;
319
- inputMethods.dispatchEvent('prefix-click', {
315
+ numberInputMethods.dispatchEvent('prefix-click', {
320
316
  value: inputValue
321
317
  }, evnt);
322
318
  }
323
319
  };
324
320
  const clearValueEvent = (evnt, value) => {
325
321
  focus();
326
- emitModel(null, '', evnt);
327
- inputMethods.dispatchEvent('clear', {
322
+ handleChange(null, '', evnt);
323
+ numberInputMethods.dispatchEvent('clear', {
328
324
  value
329
325
  }, evnt);
330
326
  };
@@ -334,7 +330,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
334
330
  const {
335
331
  inputValue
336
332
  } = reactData;
337
- inputMethods.dispatchEvent('suffix-click', {
333
+ numberInputMethods.dispatchEvent('suffix-click', {
338
334
  value: inputValue
339
335
  }, evnt);
340
336
  }
@@ -359,7 +355,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
359
355
  validValue = Number(textValue);
360
356
  }
361
357
  if (inputValue !== validValue) {
362
- emitModel(validValue, textValue, {
358
+ handleChange(validValue, textValue, {
363
359
  type: 'init'
364
360
  });
365
361
  }
@@ -398,7 +394,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
398
394
  }
399
395
  }
400
396
  const inpValue = getNumberValue(inpNumVal);
401
- emitModel(inpValue === null ? null : Number(inpValue), inpValue, {
397
+ handleChange(inpValue === null ? null : Number(inpValue), inpValue, {
402
398
  type: 'check'
403
399
  });
404
400
  }
@@ -411,11 +407,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
411
407
  const inpImmediate = computeInpImmediate.value;
412
408
  const value = inputValue ? Number(inputValue) : null;
413
409
  if (!inpImmediate) {
414
- emitModel(value, `${inputValue || ''}`, evnt);
410
+ handleChange(value, `${inputValue || ''}`, evnt);
415
411
  }
416
412
  afterCheckValue();
417
413
  reactData.isActivated = false;
418
- inputMethods.dispatchEvent('blur', {
414
+ numberInputMethods.dispatchEvent('blur', {
419
415
  value
420
416
  }, evnt);
421
417
  };
@@ -442,19 +438,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
442
438
  }
443
439
  emitInputEvent(getNumberValue(restNum), evnt);
444
440
  };
445
- let downbumTimeout;
446
441
  const numberNextEvent = evnt => {
447
442
  const isDisabled = computeIsDisabled.value;
448
443
  const formReadonly = computeFormReadonly.value;
449
444
  const isDisabledSubtractNumber = computeIsDisabledSubtractNumber.value;
450
- clearTimeout(downbumTimeout);
445
+ numberStopDown();
451
446
  if (!isDisabled && !formReadonly && !isDisabledSubtractNumber) {
452
447
  numberChange(false, evnt);
453
448
  }
454
- inputMethods.dispatchEvent('next-number', {}, evnt);
449
+ numberInputMethods.dispatchEvent('next-number', {}, evnt);
455
450
  };
456
451
  const numberDownNextEvent = evnt => {
457
- downbumTimeout = window.setTimeout(() => {
452
+ internalData.dnTimeout = window.setTimeout(() => {
458
453
  numberNextEvent(evnt);
459
454
  numberDownNextEvent(evnt);
460
455
  }, 60);
@@ -463,11 +458,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
463
458
  const isDisabled = computeIsDisabled.value;
464
459
  const formReadonly = computeFormReadonly.value;
465
460
  const isDisabledAddNumber = computeIsDisabledAddNumber.value;
466
- clearTimeout(downbumTimeout);
461
+ numberStopDown();
467
462
  if (!isDisabled && !formReadonly && !isDisabledAddNumber) {
468
463
  numberChange(true, evnt);
469
464
  }
470
- inputMethods.dispatchEvent('prev-number', {}, evnt);
465
+ numberInputMethods.dispatchEvent('prev-number', {}, evnt);
471
466
  };
472
467
  const numberKeydownEvent = evnt => {
473
468
  const isUpArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_UP);
@@ -486,24 +481,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
486
481
  exponential,
487
482
  controls
488
483
  } = props;
489
- const isNumType = computeIsNumType.value;
490
- if (isNumType) {
491
- const isCtrlKey = evnt.ctrlKey;
492
- const isShiftKey = evnt.shiftKey;
493
- const isAltKey = evnt.altKey;
494
- const keyCode = evnt.keyCode;
495
- const isEsc = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ESCAPE);
496
- const isUpArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_UP);
497
- const isDwArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);
498
- if (!isCtrlKey && !isShiftKey && !isAltKey && (_ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.SPACEBAR) || (!exponential || keyCode !== 69) && keyCode >= 65 && keyCode <= 90 || keyCode >= 186 && keyCode <= 188 || keyCode >= 191)) {
499
- evnt.preventDefault();
500
- }
501
- if (isEsc) {
502
- afterCheckValue();
503
- } else if (isUpArrow || isDwArrow) {
504
- if (controls) {
505
- numberKeydownEvent(evnt);
506
- }
484
+ const isCtrlKey = evnt.ctrlKey;
485
+ const isShiftKey = evnt.shiftKey;
486
+ const isAltKey = evnt.altKey;
487
+ const keyCode = evnt.keyCode;
488
+ const isEsc = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ESCAPE);
489
+ const isUpArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_UP);
490
+ const isDwArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);
491
+ if (!isCtrlKey && !isShiftKey && !isAltKey && (_ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.SPACEBAR) || (!exponential || keyCode !== 69) && keyCode >= 65 && keyCode <= 90 || keyCode >= 186 && keyCode <= 188 || keyCode >= 191)) {
492
+ evnt.preventDefault();
493
+ }
494
+ if (isEsc) {
495
+ afterCheckValue();
496
+ } else if (isUpArrow || isDwArrow) {
497
+ if (controls) {
498
+ numberKeydownEvent(evnt);
507
499
  }
508
500
  }
509
501
  triggerEvent(evnt);
@@ -513,10 +505,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
513
505
  };
514
506
  // 数值
515
507
  const numberStopDown = () => {
516
- clearTimeout(downbumTimeout);
508
+ const {
509
+ dnTimeout
510
+ } = internalData;
511
+ if (dnTimeout) {
512
+ clearTimeout(dnTimeout);
513
+ internalData.dnTimeout = undefined;
514
+ }
517
515
  };
518
516
  const numberDownPrevEvent = evnt => {
519
- downbumTimeout = window.setTimeout(() => {
517
+ internalData.dnTimeout = window.setTimeout(() => {
520
518
  numberPrevEvent(evnt);
521
519
  numberDownPrevEvent(evnt);
522
520
  }, 60);
@@ -530,7 +528,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
530
528
  } else {
531
529
  numberNextEvent(evnt);
532
530
  }
533
- downbumTimeout = window.setTimeout(() => {
531
+ internalData.dnTimeout = window.setTimeout(() => {
534
532
  if (isPrevNumber) {
535
533
  numberDownPrevEvent(evnt);
536
534
  } else {
@@ -540,8 +538,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
540
538
  }
541
539
  };
542
540
  const wheelEvent = evnt => {
543
- const isNumType = computeIsNumType.value;
544
- if (isNumType && props.controls) {
541
+ if (props.controls) {
545
542
  if (reactData.isActivated) {
546
543
  const delta = evnt.deltaY;
547
544
  if (delta > 0) {
@@ -679,12 +676,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
679
676
  }
680
677
  return (0, _vue.createCommentVNode)();
681
678
  };
682
- inputMethods = {
683
- dispatchEvent(type, params, evnt) {
684
- emit(type, (0, _ui.createEvent)(evnt, {
685
- $input: $xeNumberInput
686
- }, params));
687
- },
679
+ const dispatchEvent = (type, params, evnt) => {
680
+ emit(type, (0, _ui.createEvent)(evnt, {
681
+ $numberInput: $xeNumberInput
682
+ }, params));
683
+ };
684
+ numberInputMethods = {
685
+ dispatchEvent,
688
686
  focus() {
689
687
  const inputElem = refInputTarget.value;
690
688
  reactData.isActivated = true;
@@ -704,7 +702,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
704
702
  return (0, _vue.nextTick)();
705
703
  }
706
704
  };
707
- Object.assign($xeNumberInput, inputMethods);
705
+ Object.assign($xeNumberInput, numberInputMethods);
708
706
  const renderVN = () => {
709
707
  const {
710
708
  className,
@@ -730,7 +728,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
730
728
  }, numLabel);
731
729
  }
732
730
  const inputReadonly = computeInputReadonly.value;
733
- const inpMaxlength = computeInpMaxlength.value;
731
+ const inpMaxLength = computeInpMaxLength.value;
734
732
  const inpPlaceholder = computeInpPlaceholder.value;
735
733
  const isClearable = computeIsClearable.value;
736
734
  const prefix = renderPrefixIcon();
@@ -757,7 +755,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
757
755
  name,
758
756
  type: 'text',
759
757
  placeholder: inpPlaceholder,
760
- maxlength: inpMaxlength,
758
+ maxlength: inpMaxLength,
761
759
  readonly: inputReadonly,
762
760
  disabled: isDisabled,
763
761
  autocomplete: autoComplete || autocomplete,