vxe-pc-ui 4.19.6 → 4.19.8

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 (112) hide show
  1. package/dist/all.esm.js +2206 -2111
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/card/src/card.js +35 -12
  5. package/es/card/style.css +42 -44
  6. package/es/card/style.min.css +1 -1
  7. package/es/icon/style.css +1 -1
  8. package/es/list/src/list.js +6 -2
  9. package/es/row/src/col.js +39 -18
  10. package/es/row/src/row.js +34 -16
  11. package/es/row/style.css +101 -24
  12. package/es/row/style.min.css +1 -1
  13. package/es/scrollbar/src/scrollbar.js +11 -1
  14. package/es/scrollbar/style.css +5 -5
  15. package/es/scrollbar/style.min.css +1 -1
  16. package/es/space/style.css +1 -0
  17. package/es/space/style.min.css +1 -1
  18. package/es/style.css +1 -1
  19. package/es/style.min.css +1 -1
  20. package/es/tabs/src/tabs.js +27 -8
  21. package/es/tabs/style.css +4 -2
  22. package/es/tabs/style.min.css +1 -1
  23. package/es/tree/src/tree.js +6 -2
  24. package/es/ui/index.js +1 -1
  25. package/es/ui/src/log.js +1 -1
  26. package/es/vxe-card/style.css +42 -44
  27. package/es/vxe-card/style.min.css +1 -1
  28. package/es/vxe-row/style.css +101 -24
  29. package/es/vxe-row/style.min.css +1 -1
  30. package/es/vxe-scrollbar/style.css +5 -5
  31. package/es/vxe-scrollbar/style.min.css +1 -1
  32. package/es/vxe-space/style.css +1 -0
  33. package/es/vxe-space/style.min.css +1 -1
  34. package/es/vxe-tabs/style.css +4 -2
  35. package/es/vxe-tabs/style.min.css +1 -1
  36. package/lib/card/src/card.js +42 -6
  37. package/lib/card/src/card.min.js +1 -1
  38. package/lib/card/style/style.css +42 -44
  39. package/lib/card/style/style.min.css +1 -1
  40. package/lib/icon/style/style.css +1 -1
  41. package/lib/icon/style/style.min.css +1 -1
  42. package/lib/index.umd.js +2600 -2463
  43. package/lib/index.umd.min.js +1 -1
  44. package/lib/list/src/list.js +5 -1
  45. package/lib/list/src/list.min.js +1 -1
  46. package/lib/row/src/col.js +43 -17
  47. package/lib/row/src/col.min.js +1 -1
  48. package/lib/row/src/row.js +38 -14
  49. package/lib/row/src/row.min.js +1 -1
  50. package/lib/row/style/style.css +101 -24
  51. package/lib/row/style/style.min.css +1 -1
  52. package/lib/scrollbar/src/scrollbar.js +11 -0
  53. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  54. package/lib/scrollbar/style/style.css +5 -5
  55. package/lib/scrollbar/style/style.min.css +1 -1
  56. package/lib/space/style/style.css +1 -0
  57. package/lib/space/style/style.min.css +1 -1
  58. package/lib/style.css +1 -1
  59. package/lib/style.min.css +1 -1
  60. package/lib/tabs/src/tabs.js +40 -8
  61. package/lib/tabs/src/tabs.min.js +1 -1
  62. package/lib/tabs/style/style.css +4 -2
  63. package/lib/tabs/style/style.min.css +1 -1
  64. package/lib/tree/src/tree.js +5 -1
  65. package/lib/tree/src/tree.min.js +1 -1
  66. package/lib/ui/index.js +1 -1
  67. package/lib/ui/index.min.js +1 -1
  68. package/lib/ui/src/log.js +1 -1
  69. package/lib/ui/src/log.min.js +1 -1
  70. package/lib/vxe-card/style/style.css +42 -44
  71. package/lib/vxe-card/style/style.min.css +1 -1
  72. package/lib/vxe-row/style/style.css +101 -24
  73. package/lib/vxe-row/style/style.min.css +1 -1
  74. package/lib/vxe-scrollbar/style/style.css +5 -5
  75. package/lib/vxe-scrollbar/style/style.min.css +1 -1
  76. package/lib/vxe-space/style/style.css +1 -0
  77. package/lib/vxe-space/style/style.min.css +1 -1
  78. package/lib/vxe-tabs/style/style.css +4 -2
  79. package/lib/vxe-tabs/style/style.min.css +1 -1
  80. package/package.json +1 -1
  81. package/packages/card/src/card.ts +55 -12
  82. package/packages/list/src/list.ts +6 -2
  83. package/packages/row/src/col.ts +41 -18
  84. package/packages/row/src/row.ts +36 -17
  85. package/packages/scrollbar/src/scrollbar.ts +13 -1
  86. package/packages/tabs/src/tabs.ts +34 -8
  87. package/packages/tree/src/tree.ts +6 -2
  88. package/styles/components/card.scss +44 -58
  89. package/styles/components/row.scss +21 -3
  90. package/styles/components/scrollbar.scss +15 -11
  91. package/styles/components/space.scss +1 -0
  92. package/styles/components/tabs.scss +2 -1
  93. package/types/components/card.d.ts +11 -0
  94. package/types/components/grid.d.ts +37 -0
  95. package/types/components/layout-aside.d.ts +6 -0
  96. package/types/components/layout-body.d.ts +6 -0
  97. package/types/components/menu.d.ts +6 -0
  98. package/types/components/row.d.ts +2 -0
  99. package/types/components/table.d.ts +1 -2
  100. package/types/components/tabs.d.ts +11 -0
  101. /package/es/icon/{iconfont.1791769645781.ttf → iconfont.1791862962954.ttf} +0 -0
  102. /package/es/icon/{iconfont.1791769645781.woff → iconfont.1791862962954.woff} +0 -0
  103. /package/es/icon/{iconfont.1791769645781.woff2 → iconfont.1791862962954.woff2} +0 -0
  104. /package/es/{iconfont.1791769645781.ttf → iconfont.1791862962954.ttf} +0 -0
  105. /package/es/{iconfont.1791769645781.woff → iconfont.1791862962954.woff} +0 -0
  106. /package/es/{iconfont.1791769645781.woff2 → iconfont.1791862962954.woff2} +0 -0
  107. /package/lib/icon/style/{iconfont.1791769645781.ttf → iconfont.1791862962954.ttf} +0 -0
  108. /package/lib/icon/style/{iconfont.1791769645781.woff → iconfont.1791862962954.woff} +0 -0
  109. /package/lib/icon/style/{iconfont.1791769645781.woff2 → iconfont.1791862962954.woff2} +0 -0
  110. /package/lib/{iconfont.1791769645781.ttf → iconfont.1791862962954.ttf} +0 -0
  111. /package/lib/{iconfont.1791769645781.woff → iconfont.1791862962954.woff} +0 -0
  112. /package/lib/{iconfont.1791769645781.woff2 → iconfont.1791862962954.woff2} +0 -0
@@ -411,8 +411,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
411
411
  const recalculate = () => {
412
412
  const el = refElem.value;
413
413
  if (el) {
414
- const parentEl = el.parentElement;
414
+ let parentEl = el.parentElement;
415
415
  let parentHeight = 0;
416
+ // 如果是虚拟滚动条
417
+ if (parentEl && (0, _dom.hasClass)(parentEl, 'vxe-scrollbar--view-inner')) {
418
+ parentEl = parentEl.parentElement;
419
+ }
416
420
  if (parentEl) {
417
421
  const parentStyle = getComputedStyle(parentEl);
418
422
  parentHeight = parentEl.clientHeight - Math.ceil(_xeUtils.default.toNumber(parentStyle.paddingLeft) + _xeUtils.default.toNumber(parentStyle.paddingRight));
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_anime=require("../../ui/src/anime"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("tree");function getRowKeyByField(e,t){return e?""+(e[t]||""):""}function getRowIdByField(e,t){return e?(e=getRowKeyByField(e,t),(0,_utils.enModelValue)(e)):""}function createReactData(){return{scrollYLoad:!1,bodyHeight:0,headHeight:0,footHeight:0,customHeight:0,customMaxHeight:0,parentHeight:0,topSpaceHeight:0,rowList:[],selectRadioRow:null,currRowFlag:1,updateCheckboxFlag:1,isAllChecked:!1,isAllIndeterminate:!1,insertRowFlag:1,removeRowFlag:1,dragRow:null,dragTipText:"",isCrossDragRow:!1}}function createInternalData(){return{resizeObserver:void 0,fullData:[],afterList:[],fullKeyMaps:{},rowMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},currentRow:null,selectCheckboxMaps:{},insertRowMaps:{},removeRowMaps:{}}}let crossListDragRowObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({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],showSeq:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showSeq},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object},emits:["update:checkRowKey","update:checkRowKeys","row-click","row-dblclick","current-change","radio-change","checkbox-change","checkbox-all","scroll","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","row-menu","menu-click"],setup(S,e){let{slots:T,emit:o}=e;var t=_xeUtils.default.uniqueId();let i=_xeUtils.default.browse(),j=(0,_ui.useSize)(S).computeSize,F=(0,_vue.reactive)(createReactData()),H=createInternalData(),v=(0,_store.getCrossListDragRowInfo)(),b=(0,_vue.ref)(),N=(0,_vue.ref)(),P=(0,_vue.ref)(),y=(0,_vue.ref)(),z=(0,_vue.ref)(),Y=(0,_vue.ref)(),V=(0,_vue.ref)(),h={refElem:b},B={xID:t,props:S,context:e,reactData:F,internalData:H,getRefMaps:()=>h},O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.rowConfig,S.rowConfig)),K=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.dragConfig,S.dragConfig)),w=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.virtualYConfig||(0,_ui.getConfig)().list.scrollY,S.virtualYConfig||S.scrollY)),A=(0,_vue.computed)(()=>{var e=O.value.keyField;return e||""}),U=(0,_vue.computed)(()=>{var e=S.dragConfig,t=K.value;return e&&(0,_utils.isEnableConf)(t)}),f=(0,_vue.computed)(()=>{var e=O.value.height;return e}),$=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.radioConfig,S.radioConfig)),q=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.checkboxConfig,S.checkboxConfig)),x=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.menuConfig,S.menuConfig)),X=(0,_vue.computed)(()=>{var e=f.value,t={};return e&&(t["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),t}),G=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=S,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:a}=F,i={};return e?i.height=(0,_dom.toCssUnit)(Math.max(20,r-l-a)):t&&(i.height="auto",i.maxHeight=(0,_dom.toCssUnit)(Math.max(20,o-l-a))),i}),R=(e,t,r)=>{o(e,(0,_ui.createEvent)(r,{$list:B},t))},s=e=>{o("update:checkRowKeys",e)},n=e=>{o("update:checkRowKey",e)},_=e=>getRowIdByField(e,A.value),p=e=>{var t=F.parentHeight,e=S[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},W=()=>{var e=N.value,t=P.value;F.headHeight=e?Math.floor(e.offsetHeight):0,F.footHeight=t?Math.floor(t.offsetHeight):0,F.customHeight=p("height"),F.customMaxHeight=p("maxHeight")},m=()=>{var e=F.scrollYLoad,{scrollYStore:t,fullData:r}=H;F.bodyHeight=e?r.length*t.rowHeight:0,F.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},J=()=>{var e=H.fullData;H.afterList=e.slice(0),se()},C=e=>{var t=F.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=H,a=A.value;e&&J();e=t?r.slice(o.startIndex,o.endIndex):r.slice(0);return a&&e.forEach((e,t)=>{e=getRowIdByField(e,a),e=l[e];e&&(e.$index=t)}),F.rowList=e,(0,_vue.nextTick)()},Q=()=>{C(),m()},Z=()=>(0,_vue.nextTick)().then(()=>{var e=F.scrollYLoad,t=H.scrollYStore,r=z.value,o=w.value;let l=0,a;(a=r?(a=o.sItem?r.querySelector(o.sItem):a)||r.children[0]:a)&&(l=a.offsetHeight),l=Math.max(12,l),t.rowHeight=l,(e?(r=y.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):i.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),Q):m)()}),ee=()=>{var e=y.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},te=(e,t)=>{var r=y.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t)&&(r.scrollTop=t),F.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},re=()=>{let{lastScrollLeft:e,lastScrollTop:t}=H;return ee().then(()=>{if(e||t)return H.lastScrollLeft=0,H.lastScrollTop=0,te(e,t)})},k=()=>{var t=b.value;if(t){var r,o=t.parentElement;let e=0;if(o&&(r=getComputedStyle(o),e=o.clientHeight-Math.ceil(_xeUtils.default.toNumber(r.paddingLeft)+_xeUtils.default.toNumber(r.paddingRight))),F.parentHeight=e,W(),t.clientWidth&&t.clientHeight)return Z()}return(0,_vue.nextTick)()},oe=e=>{var t=H.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:a,rowHeight:i}=t,e=e.target.scrollTop,e=Math.floor(e/i),i=Math.max(0,e-1-a),a=e+l+a;!(e<=r||o-l-1<=e)||r===i&&o===a||(t.startIndex=i,t.endIndex=a,Q())},le=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==H.lastScrollLeft,l=r!==H.lastScrollTop;H.lastScrollTop=r,H.lastScrollLeft=t,F.scrollYLoad&&oe(e),R("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},ae=()=>{var e=S.checkRowKey,t=H.fullKeyMaps;e?(t=t[e],F.selectRadioRow=t||null):F.selectRadioRow=null},ie=()=>{var e=S.checkRowKeys,t=H.fullKeyMaps,r=A.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}H.selectCheckboxMaps=o,g()},se=()=>{let{afterList:e,rowMaps:l}=H,a=A.value,i=0;e.forEach((e,t)=>{var r=getRowIdByField(e,a),o=l[r];o?o._index=i:(o={item:e,index:t,$index:-1,_index:i},l[r]=o),i++})},ne=()=>{var e=H.fullData;let l=A.value,a={},i={};l&&e.forEach((e,t)=>{var r=getRowIdByField(e,l),o=getRowKeyByField(e,l);a[o]=e,i[r]={item:e,index:t,$index:-1,_index:-1}}),H.fullKeyMaps=a,H.rowMaps=i},r=e=>{var t=H.scrollYStore,r=w.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),H.fullData=e,H.insertRowMaps={},F.insertRowFlag++,H.removeRowMaps={},F.removeRowFlag++,F.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),ne(),C(!0),ae(),ie(),Z().then(()=>{re()})},ue=()=>{I(),D(),k()},ce=()=>{var e=b.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},de=e=>{var t=w.value.sItem,r=b.value;if(r){e=_(e);_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-list--row[rowid="${e}"]`+(t?t+`[rowid="${e}"]`:"")),e=>{(0,_dom.addClass)(e,"row--drag-origin")})}},ge=e=>{var t=F.dragRow,r=K.value.tooltipMethod;let o="";o=r?""+(r({$list:B,row:t})||""):(0,_ui.getI18n)("vxe.list.dragTip",[e.textContent||""]),F.dragTipText=o},u=()=>{var e=V.value,t=Y.value;e&&(e.style.display=""),t&&(t.style.display="")},D=()=>{crossListDragRowObj=null,v.row=null},ve=()=>{var e=F.dragRow;e&&(u(),ce(),D(),F.dragRow=null)},he=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:a}=K.value,i=e.currentTarget,l="row"===l?i:i.parentElement.parentElement;ce(),a&&!a(t)?(l.draggable=!1,F.dragRow=null,u()):(o&&(v.row=r,crossListDragRowObj={$oldList:B,$newList:null}),i={row:r},F.dragRow=r,F.isCrossDragRow=!1,l.draggable=!0,de(r),ge(l),R("row-dragstart",i,e))},we=()=>{ve()},c=(e,t,r,o)=>{var l=b.value;if(l){var a=l.getBoundingClientRect(),i=l.clientHeight;if(t){var s=Y.value;if(s)if(r){var n=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,n.y-a.y);t+e>i&&(e=i-t),s.style.display="block",s.style.top=t+"px",s.style.height=e+"px",s.setAttribute("drag-pos",o)}else s.style.display=""}n=V.value;n&&(n.style.display="block",n.style.top=Math.min(l.clientHeight-l.scrollTop-n.clientHeight,e.clientY-a.y)+"px",n.style.left=Math.min(l.clientWidth-l.scrollLeft-n.clientWidth-1,e.clientX-a.x)+"px",n.setAttribute("drag-status",r?"normal":"disabled"))}},I=()=>{var e=b.value;u(),ce(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),F.dragRow=null},fe=(l,a,i,s)=>{let n=H.fullData;var e=K.value;let{animation:g,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let v="bottom"===s?1:0,h=b.value,w={status:!1};if(h&&i&&a){if(i!==a){var f={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:v};let u=_(a),c=E(n,u);var x,p=L(i);let d=0,t=-1,r=void(g&&(p=h.querySelector(`.vxe-list--row[rowid="${p}"]`),x=h.querySelector(`.vxe-list--row[rowid="${u}"]`),(p=p||x)&&(d=p.offsetHeight),x)&&(t=x.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=M(n,a),n.splice(r,1);var e=M(n,i);return o=e+v,n.splice(o,0,a),C(),F.scrollYLoad&&m(),l&&(e={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:v,_index:{newIndex:o,oldIndex:r}},R("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(g){var o=F.rowList,l=H.fullData,a=E(l,u),i=l[0],i=M(l,i),s=h;if(-1<i){var n=i+l.length;let e=-1,t=-1,r=1;c<i?(e=0,t=a-i):c>n?(n=E(o,u),e=n+1,t=l.length,r=-1):a>c?(e=c-i,t=e+a-c):(e=a-i,t=e+c-a+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});n=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(n,r*d)}}i=[`.vxe-list--row[rowid="${u}"]`],a=s.querySelectorAll(i.join(",")),l=a[0];-1<t&&l&&(0,_anime.moveRowAnimateToTb)(a,t-l.offsetTop)}k()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(I(),D(),e))}I(),D()}return Promise.resolve(w)},xe=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},pe=e=>{var t=F.dragRow,{prevDragRow:r,prevDragPos:o}=H,l=K.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==B.xID)return void l.handleCrossListRowDragInsertEvent(e)}fe(e,t,r,o)},Re=e=>{var t=F.dragRow,r=H.fullData,o=K.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),a=l.getAttribute("rowid")||"",r=d(r,a);if(r){e.preventDefault();var i=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(H.prevDragRow=r,H.prevDragPos=i,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==B.xID)return s&&s.xID!==B.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,F.dragTipText=n.dragTipText,crossListDragRowObj.$newList=B,void c(e,l,!0,i);s&&s.hideCrossListRowDropClearStatus(),F.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&_(t)===a?c(e,l,!1,i):(o={oldRow:t,targetRow:r,dragPos:i,dragRow:t,offsetIndex:"bottom"==i?1:0},c(e,l,!0,i),R("row-dragover",o,e))}},_e=(e,t)=>{var{trigger:r,disabledMethod:o}=K.value;let l=!1;U.value&&(l="row"===r);r={row:t,$list:B};!l||o&&o(r)||he(e,r)},me=(e,t)=>{var{showRadio:r,showCheckbox:o}=S,l=H.currentRow,a=$.value,i=q.value,s=O.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,Te(e,t)):l&&(H.currentRow=null,F.currRowFlag++),r&&"row"===a.trigger&&(u=!0,Fe(e,t)),o&&"row"===i.trigger&&(c=!0,Se(e,t)),R("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},Ce=(e,t)=>{R("row-dblclick",{row:t},e)},L=e=>getRowKeyByField(e,A.value),l=(e,t)=>""+e==""+t,be=(e,t)=>!(!e||!t)&&(e===t||l(_(e),_(t))),ye=(e,t)=>e&&l(L(e),t);let d=(e,t)=>{let r=A.value;return _xeUtils.default.find(e,e=>l(getRowIdByField(e,r),t))},M=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>be(e,t)):-1,E=(e,t)=>{let r=A.value;return _xeUtils.default.findIndexOf(e,e=>l(getRowIdByField(e,r),t))},ke=e=>{var t=F.selectRadioRow;return L(t)===e};let De=e=>{var t=F.updateCheckboxFlag,r=H.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=F.updateCheckboxFlag,t=H.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let Ie=()=>{var e=F.updateCheckboxFlag,t=H.selectCheckboxMaps;let r=A.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},Le=()=>{H.selectCheckboxMaps={},F.updateCheckboxFlag++,F.isAllChecked=!1,F.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},Me=e=>{var{fullData:t,selectCheckboxMaps:r}=H,o=A.value;if(e){var l,a=[];for(l of t){var i=getRowKeyByField(l,o);r[getRowIdByField(l,o)]=l,a.push(i)}return s(a),g()}return Le()},g=()=>{var{selectCheckboxMaps:e,fullData:t}=H,r=A.value,o=q.value.checkMethod;let l=!1,a=!1;if(o){for(var i of t)if(o({row:i,$list:B}))if(e[getRowIdByField(i,r)])l=!0;else if(a=!0,l)break}else for(var s of t)if(e[getRowIdByField(s,r)])l=!0;else if(a=!0,l)break;return F.isAllChecked=l&&!a,F.isAllIndeterminate=l&&a,F.updateCheckboxFlag++,(0,_vue.nextTick)()},Ee=e=>{var t=F.isAllChecked,t=!t;t?Me(!0):Le(),R("checkbox-all",{checked:t},e)},Se=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=H.selectCheckboxMaps,l=q.value.checkMethod,a=_(r),l=!!l&&!l({$list:B,row:r});if(!l){let e=!1;o[a]?delete o[a]:(e=!0,o[a]=r),F.updateCheckboxFlag++,g();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),R("checkbox-change",{row:r,value:l,checked:e},t)}},Te=(e,t)=>{e.preventDefault();var r=O.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(H.currentRow=t,F.currRowFlag++,R("current-change",{row:t,checked:!0},e))},Fe=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=F.selectRadioRow,{strict:l,checkMethod:a}=$.value,i=L(r),a=!!a&&!a({$list:B,row:r});if(!a){a=i;let e=!0;l&&o&&i===L(o)?(e=!1,F.selectRadioRow=null):F.selectRadioRow=r,n(a),R("radio-change",{row:r,value:a,checked:e},t)}},He=(e,t)=>{let{fullData:o,rowMaps:l}=H,a=A.value,i=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,a),r=(0,_util.getItemCacheObj)(e);o[i](e),l[t]=r})},Be=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:a,insertRowMaps:i}=H,s=A.value;if(!s)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});_xeUtils.default.isArray(e)||(e=[e]);let n=t;if((_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(t=l[t])&&(n=t.item),!e.length)return Promise.resolve({row:null,rows:[]});let u=e.map(e=>_xeUtils.default.assign({},e));if(_xeUtils.default.eqNull(n))He(u,!1);else if(-1===n)He(u,!0);else{t=o.findIndex(e=>n[s]===e[s]);if(-1<t){u.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...u)}else warnLog("vxe.error.unableInsert"),He(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);a[t]?(delete a[t],i[t]&&delete i[t]):i[t]=e}),F.removeRowFlag++,F.insertRowFlag++,ne(),C(!0),se(),g(),F.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},Oe=(o,l)=>{var e=S.menuConfig,t=x.value,r=O.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:B,options:e,row:l})||(r?Te(o,l):H.currentRow&&(H.currentRow=null,F.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=_ui.menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:B};r&&r(t,o),R("menu-click",t,e.$event)}}}))),R("row-menu",{row:l},o)};e={dispatchEvent:R,loadData:r,reloadData(e){return ee(),r(e)},getFullData(){var e=H.fullData;return e},recalculate:k,scrollTo:te,refreshScroll:re,clearScroll:ee,getRowKey:L,eqRowKey:l,eqRow:be,eqRowByKey:ye,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>be(e,t)):null,findRowByKey:d,findRowIndexOf:M,findRowIndexOfByKey:E,isCheckedByRadioRowKey:ke,isCheckedByRadioRow:e=>ke(L(e)),isCheckedByCheckboxRowKey:De,isCheckedByCheckboxRow:e=>De(L(e)),setCurrentRow:e=>(H.currentRow=e,F.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=H.fullData;return H.currentRow=d(t,e),F.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=H.currentRow;return e},getCurrentRowKey:()=>{var e=H.currentRow;return e?L(e):null},clearCurrentRow:()=>(H.currentRow=null,F.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{F.selectRadioRow=e;e=L(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=H.fullData,t=(F.selectRadioRow=d(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=F.selectRadioRow;return e},getRadioRowKey:()=>{var e=F.selectRadioRow;return e?L(e):null},clearRadioRow:()=>(F.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=H.selectCheckboxMaps,o=A.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t=getRowIdByField(e,o);r[t]||(r[t]=e)}:e=>{e=getRowIdByField(e,o);r[e]&&delete r[e]});e=Ie();return s(e),g()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=H,l=A.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t,e=o[e||""];e&&(t=getRowIdByField(e,l),e)&&!r[t]&&(r[t]=e)}:e=>{var e=o[e||""];e&&(e=getRowIdByField(e,l),r[e])&&delete r[e]});e=Ie();return s(e),g()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:Ie,clearCheckboxRow:Le,setAllCheckboxRow:Me,insert(e){return Be(e,null)},insertAt(e,t){return Be(e,t)},insertNextAt(e,t){return Be(e,t,!0)},getInsertRecords(){var e=H.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=_(e);return!!F.insertRowFlag&&!!H.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=H;if(!A.value)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});let l=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=r,e.length?(e.forEach(e=>{var t;B.isInsertByRow(e)||(t=_(e),o[t]=e)}),r===e?(e=l=r.slice(0),H.fullData=[]):e.forEach(e=>{let t=_(e);var e=_xeUtils.default.findIndexOf(r,e=>t===_(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=_(e);t[e]&&delete t[e]}),F.removeRowFlag++,F.insertRowFlag++,ne(),C(!0),se(),g(),F.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>k()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=H.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=_(e);return!!F.removeRowFlag&&!!H.removeRowMaps[e]},getRecordset(){return{insertRecords:B.getInsertRecords(),removeRecords:B.getRemoveRecords()}}};Object.assign(B,e,{handleCrossListRowDragCancelEvent(){I(),D()},handleCrossListRowDragFinishEvent(t){var l=F.rowList,a=H.rowMaps;let{animation:i,isCrossListDrag:e}=K.value,s=b.value;if(s&&e&&crossListDragRowObj&&v){var n=v.row;if(n){var u=_(n),a=a[u];let r=0,e=-1,o=(a&&(i&&(u=s.querySelector(`.vxe-list--row[rowid="${u}"]`))&&(r=u.offsetHeight),e=a.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);u=[n];B.remove(u).then(()=>{if(i&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),R("row-remove-dragend",{row:n},t),ue()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=F.rowList,o=K.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==B.xID&&(r&&r.xID!==B.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=B,H.prevDragRow=null,F.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=H;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=K.value;if(e&&crossListDragRowObj&&v){let l=v.row,i=crossListDragRowObj.$oldList,s=b.value;if(s&&(i&&l)){let a=l,r=-1;u&&(r="bottom"===c?1:0);var g={oldRow:a,newRow:u,dragRow:a,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(g)).then(e=>{if(!e)return i&&i.xID!==B.xID&&i.handleCrossListRowDragCancelEvent(n),ue(),o;let t=Promise.resolve();e=[a];i.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?B.insertNextAt(e,u):B.insertAt(e,u):B.insert(e),B.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:a,dragPos:c,offsetIndex:r},n),I(),t.then(()=>{var e=F.rowList,r=H.rowMaps,o=_(a),r=r[o];let l=0,t=-1;r&&(d&&(o=s.querySelector(`.vxe-list--row[rowid="${o}"]`))&&(l=o.offsetHeight),t=r.$index);o=-1<t?e.slice(t):[];if(d&&l&&o.length){r=s;let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-l)}})})}}},hideCrossListRowDropClearStatus(){u()}});let Ke=(t,e,r,o)=>{var l=S.showRadio,{showIcon:a,visibleMethod:i}=$.value,i=!i||i({$list:B,row:t});return l&&a&&i?(0,_vue.h)("div",{key:"ct2",class:["vxe-list--radio-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Fe(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?(0,_ui.getIcon)().RADIO_CHECKED:r?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(B)},Ae=(t,e,r,o)=>{var l=S.showCheckbox,{showIcon:a,visibleMethod:i}=q.value,i=!i||i({$list:B,row:t});return l&&a&&i?(0,_vue.h)("div",{key:"ct3",class:["vxe-list--checkbox-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Se(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?(0,_ui.getIcon)().CHECKBOX_CHECKED:r?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(B)};let Ue=(0,_vue.ref)(0),a=((0,_vue.watch)(()=>S.data?S.data.length:-1,()=>{Ue.value++}),(0,_vue.watch)(()=>S.data,()=>{Ue.value++}),(0,_vue.watch)(Ue,()=>{r(S.data||[])}),(0,_vue.ref)(0)),$e=((0,_vue.watch)(()=>S.height,()=>{a.value++}),(0,_vue.watch)(()=>S.maxHeight,()=>{a.value++}),(0,_vue.watch)(()=>S.syncResize,()=>{a.value++}),(0,_vue.watch)(f,()=>{a.value++}),(0,_vue.watch)(a,()=>{(0,_vue.nextTick)(()=>{k()})}),(0,_vue.watch)(()=>S.checkRowKey,()=>{ae()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>S.checkRowKeys?S.checkRowKeys.length:-1,()=>{$e.value++}),(0,_vue.watch)(()=>S.checkRowKeys,()=>{$e.value++}),(0,_vue.watch)($e,()=>{ie()}),(0,_vue.onActivated)(()=>{k().then(()=>re())}),(0,_vue.nextTick)(()=>{r(S.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r}=S,o=O.value.useKey,l=U.value,a=A.value;a||(e&&errLog("vxe.error.reqSupportProp",["show-seq","row-config.keyField"]),t&&errLog("vxe.error.reqSupportProp",["show-radio","row-config.keyField"]),r&&errLog("vxe.error.reqSupportProp",["show-checkbox","row-config.keyField"]),l&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),o&&!a&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),S.autoResize&&(e=b.value,(t=_ui.globalResize.create(()=>k())).observe(e),e&&t.observe(e.parentElement),H.resizeObserver=t),k(),_ui.globalEvents.on(B,"resize",k)}),(0,_vue.onBeforeUnmount)(()=>{var e=H.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(B,"resize"),_xeUtils.default.assign(F,createReactData()),_xeUtils.default.assign(H,createInternalData())}),B.renderVN=()=>{var{showCheckbox:e,className:t,loading:r}=S,{bodyHeight:o,topSpaceHeight:l,rowList:a,isAllChecked:i,isAllIndeterminate:s}=F,n=T.default,u=T.header,c=T.footer,d=j.value,g=X.value,v=G.value,h=$.value,w=q.value,{showHeader:f,headerTitle:x}=w,{trigger:p,isCrossListDrag:R}=K.value,{isHover:_,padding:m}=O.value,C=U.value,e=e&&!1!==f,f={};return R&&!a.length&&(f.onDragover=B.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:b,class:["vxe-list",t?_xeUtils.default.isFunction(t)?t({$list:B}):t:"",{["size--"+d]:d,"is--drag":C,"is--loading":r}],style:g},f),[u||e?(0,_vue.h)("div",{ref:N,class:"vxe-list--header-wrapper"},[e?(0,_vue.h)("div",{class:"vxe-list--header-left"},[(0,_vue.h)("div",{class:["vxe-list--checkbox-header",{"is--checked":i,"is--indeterminate":s}],onClick:Ee},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_CHECKED:s?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(x)?(0,_ui.getI18n)("vxe.list.allChecked"):(0,_utils.getText)(x))])]):(0,_ui.renderEmptyElement)(B),u?(0,_vue.h)("div",{class:"vxe-list--header-content"},u({items:a,$list:B})):(0,_ui.renderEmptyElement)(B)]):(0,_ui.renderEmptyElement)(B),(0,_vue.h)("div",{ref:y,class:"vxe-list--virtual-wrapper",style:v,onScroll:le},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:o?o+"px":""}}),(0,_vue.h)("div",{ref:z,class:["vxe-list--body",{"trigger--row":"row"===p,"checkbox--highlight":w.highlight,"radio--highlight":h.highlight,"row--hover":_,"is--padding":m}],style:{marginTop:l?l+"px":""}},n?n({items:a,$list:B}):a.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=S,{selectRadioRow:l,currRowFlag:a,updateCheckboxFlag:i}=F,{selectCheckboxMaps:s,currentRow:n}=H,u=T.content,c=T.extra,{trigger:d,icon:g,disabledMethod:v,visibleMethod:h}=K.value,w=$.value,f=q.value,{useKey:x,contentField:p,className:R,isCurrent:_}=O.value,m=U.value,C=A.value,b=R&&_xeUtils.default.isFunction(R),x=C||x||m||_||r||o,_=x&&C?getRowIdByField(t,C):"",y=(0,_utils.enModelValue)(_);let k={row:t,$list:B},D=!1,I=!1,L=(r&&(D=l&&(t===l||ye(l,_)),I=!!w.checkMethod&&!w.checkMethod({$list:B,row:t})),!1),M=!1;o&&(L=!(!i||!s[y]),M=!!f.checkMethod&&!f.checkMethod({$list:B,row:t}));l=[];r&&l.push(Ke(t,y,I,D)),o&&l.push(Ae(t,y,M,L));let E=!1;m&&C&&(!h||h(k))&&(w={},"row"!==d&&(E=!(!v||!v(k)),w.onMousedown=e=>{E||he(e,k)},w.onMouseup=we),l.push((0,_vue.h)("div",{key:"ct1",class:"vxe-list--row-drag"},[(0,_vue.h)("span",Object.assign({class:"vxe-list--drag-handle"},w),[(0,_vue.h)("i",{class:g||(0,_ui.getIcon)().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},u?u(k):p?(0,_utils.getText)(t[p]):"")),c&&l.push((0,_vue.h)("div",{key:"ct7",class:"vxe-list--row-extra"},c(k)));i={onMousedown(e){_e(e,t)},onMouseup:we,onClick(e){me(e,t)},onDblclick(e){Ce(e,t)},onContextmenu(e){Oe(e,t)}};return m&&(i.onDragstart=xe,i.onDragend=pe,i.onDragover=Re),(0,_vue.h)("div",Object.assign({key:x&&C?y:e,class:["vxe-list--row",b?R(k):R||"",{"is--drag-disabled":E,"is--current":a&&n&&ye(n,_),"is-radio--disabled":I,"is-radio--checked":D,"is-checkbox--disabled":M,"is-checkbox--checked":L}],rowid:x&&C?y:void 0},i),l)})(e,t)))]),c?(0,_vue.h)("div",{ref:P,class:"vxe-list--footer-wrapper"},c({items:a,$list:B})):(0,_ui.renderEmptyElement)(B),(()=>{var{dragRow:e,dragTipText:t}=F,r=K.value;return U.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:Y,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:V,class:"vxe-list--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-normal-status",(0,_ui.getIcon)().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",(0,_ui.getIcon)().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)(B)]):(0,_ui.renderEmptyElement)(B)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},B},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_anime=require("../../ui/src/anime"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("tree");function getRowKeyByField(e,t){return e?""+(e[t]||""):""}function getRowIdByField(e,t){return e?(e=getRowKeyByField(e,t),(0,_utils.enModelValue)(e)):""}function createReactData(){return{scrollYLoad:!1,bodyHeight:0,headHeight:0,footHeight:0,customHeight:0,customMaxHeight:0,parentHeight:0,topSpaceHeight:0,rowList:[],selectRadioRow:null,currRowFlag:1,updateCheckboxFlag:1,isAllChecked:!1,isAllIndeterminate:!1,insertRowFlag:1,removeRowFlag:1,dragRow:null,dragTipText:"",isCrossDragRow:!1}}function createInternalData(){return{resizeObserver:void 0,fullData:[],afterList:[],fullKeyMaps:{},rowMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},currentRow:null,selectCheckboxMaps:{},insertRowMaps:{},removeRowMaps:{}}}let crossListDragRowObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({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],showSeq:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showSeq},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object},emits:["update:checkRowKey","update:checkRowKeys","row-click","row-dblclick","current-change","radio-change","checkbox-change","checkbox-all","scroll","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","row-menu","menu-click"],setup(S,e){let{slots:T,emit:o}=e;var t=_xeUtils.default.uniqueId();let i=_xeUtils.default.browse(),j=(0,_ui.useSize)(S).computeSize,F=(0,_vue.reactive)(createReactData()),H=createInternalData(),v=(0,_store.getCrossListDragRowInfo)(),b=(0,_vue.ref)(),N=(0,_vue.ref)(),P=(0,_vue.ref)(),y=(0,_vue.ref)(),z=(0,_vue.ref)(),Y=(0,_vue.ref)(),V=(0,_vue.ref)(),h={refElem:b},B={xID:t,props:S,context:e,reactData:F,internalData:H,getRefMaps:()=>h},O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.rowConfig,S.rowConfig)),K=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.dragConfig,S.dragConfig)),w=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.virtualYConfig||(0,_ui.getConfig)().list.scrollY,S.virtualYConfig||S.scrollY)),A=(0,_vue.computed)(()=>{var e=O.value.keyField;return e||""}),U=(0,_vue.computed)(()=>{var e=S.dragConfig,t=K.value;return e&&(0,_utils.isEnableConf)(t)}),f=(0,_vue.computed)(()=>{var e=O.value.height;return e}),$=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.radioConfig,S.radioConfig)),q=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.checkboxConfig,S.checkboxConfig)),x=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.menuConfig,S.menuConfig)),X=(0,_vue.computed)(()=>{var e=f.value,t={};return e&&(t["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),t}),G=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=S,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:a}=F,i={};return e?i.height=(0,_dom.toCssUnit)(Math.max(20,r-l-a)):t&&(i.height="auto",i.maxHeight=(0,_dom.toCssUnit)(Math.max(20,o-l-a))),i}),R=(e,t,r)=>{o(e,(0,_ui.createEvent)(r,{$list:B},t))},s=e=>{o("update:checkRowKeys",e)},n=e=>{o("update:checkRowKey",e)},_=e=>getRowIdByField(e,A.value),p=e=>{var t=F.parentHeight,e=S[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},W=()=>{var e=N.value,t=P.value;F.headHeight=e?Math.floor(e.offsetHeight):0,F.footHeight=t?Math.floor(t.offsetHeight):0,F.customHeight=p("height"),F.customMaxHeight=p("maxHeight")},m=()=>{var e=F.scrollYLoad,{scrollYStore:t,fullData:r}=H;F.bodyHeight=e?r.length*t.rowHeight:0,F.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},J=()=>{var e=H.fullData;H.afterList=e.slice(0),se()},C=e=>{var t=F.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=H,a=A.value;e&&J();e=t?r.slice(o.startIndex,o.endIndex):r.slice(0);return a&&e.forEach((e,t)=>{e=getRowIdByField(e,a),e=l[e];e&&(e.$index=t)}),F.rowList=e,(0,_vue.nextTick)()},Q=()=>{C(),m()},Z=()=>(0,_vue.nextTick)().then(()=>{var e=F.scrollYLoad,t=H.scrollYStore,r=z.value,o=w.value;let l=0,a;(a=r?(a=o.sItem?r.querySelector(o.sItem):a)||r.children[0]:a)&&(l=a.offsetHeight),l=Math.max(12,l),t.rowHeight=l,(e?(r=y.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):i.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),Q):m)()}),ee=()=>{var e=y.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},te=(e,t)=>{var r=y.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t)&&(r.scrollTop=t),F.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},re=()=>{let{lastScrollLeft:e,lastScrollTop:t}=H;return ee().then(()=>{if(e||t)return H.lastScrollLeft=0,H.lastScrollTop=0,te(e,t)})},k=()=>{var r,o=b.value;if(o){let e=o.parentElement,t=0;if((e=e&&(0,_dom.hasClass)(e,"vxe-scrollbar--view-inner")?e.parentElement:e)&&(r=getComputedStyle(e),t=e.clientHeight-Math.ceil(_xeUtils.default.toNumber(r.paddingLeft)+_xeUtils.default.toNumber(r.paddingRight))),F.parentHeight=t,W(),o.clientWidth&&o.clientHeight)return Z()}return(0,_vue.nextTick)()},oe=e=>{var t=H.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:a,rowHeight:i}=t,e=e.target.scrollTop,e=Math.floor(e/i),i=Math.max(0,e-1-a),a=e+l+a;!(e<=r||o-l-1<=e)||r===i&&o===a||(t.startIndex=i,t.endIndex=a,Q())},le=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==H.lastScrollLeft,l=r!==H.lastScrollTop;H.lastScrollTop=r,H.lastScrollLeft=t,F.scrollYLoad&&oe(e),R("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},ae=()=>{var e=S.checkRowKey,t=H.fullKeyMaps;e?(t=t[e],F.selectRadioRow=t||null):F.selectRadioRow=null},ie=()=>{var e=S.checkRowKeys,t=H.fullKeyMaps,r=A.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}H.selectCheckboxMaps=o,g()},se=()=>{let{afterList:e,rowMaps:l}=H,a=A.value,i=0;e.forEach((e,t)=>{var r=getRowIdByField(e,a),o=l[r];o?o._index=i:(o={item:e,index:t,$index:-1,_index:i},l[r]=o),i++})},ne=()=>{var e=H.fullData;let l=A.value,a={},i={};l&&e.forEach((e,t)=>{var r=getRowIdByField(e,l),o=getRowKeyByField(e,l);a[o]=e,i[r]={item:e,index:t,$index:-1,_index:-1}}),H.fullKeyMaps=a,H.rowMaps=i},r=e=>{var t=H.scrollYStore,r=w.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),H.fullData=e,H.insertRowMaps={},F.insertRowFlag++,H.removeRowMaps={},F.removeRowFlag++,F.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),ne(),C(!0),ae(),ie(),Z().then(()=>{re()})},ue=()=>{I(),D(),k()},ce=()=>{var e=b.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},de=e=>{var t=w.value.sItem,r=b.value;if(r){e=_(e);_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-list--row[rowid="${e}"]`+(t?t+`[rowid="${e}"]`:"")),e=>{(0,_dom.addClass)(e,"row--drag-origin")})}},ge=e=>{var t=F.dragRow,r=K.value.tooltipMethod;let o="";o=r?""+(r({$list:B,row:t})||""):(0,_ui.getI18n)("vxe.list.dragTip",[e.textContent||""]),F.dragTipText=o},u=()=>{var e=V.value,t=Y.value;e&&(e.style.display=""),t&&(t.style.display="")},D=()=>{crossListDragRowObj=null,v.row=null},ve=()=>{var e=F.dragRow;e&&(u(),ce(),D(),F.dragRow=null)},he=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:a}=K.value,i=e.currentTarget,l="row"===l?i:i.parentElement.parentElement;ce(),a&&!a(t)?(l.draggable=!1,F.dragRow=null,u()):(o&&(v.row=r,crossListDragRowObj={$oldList:B,$newList:null}),i={row:r},F.dragRow=r,F.isCrossDragRow=!1,l.draggable=!0,de(r),ge(l),R("row-dragstart",i,e))},we=()=>{ve()},c=(e,t,r,o)=>{var l=b.value;if(l){var a=l.getBoundingClientRect(),i=l.clientHeight;if(t){var s=Y.value;if(s)if(r){var n=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,n.y-a.y);t+e>i&&(e=i-t),s.style.display="block",s.style.top=t+"px",s.style.height=e+"px",s.setAttribute("drag-pos",o)}else s.style.display=""}n=V.value;n&&(n.style.display="block",n.style.top=Math.min(l.clientHeight-l.scrollTop-n.clientHeight,e.clientY-a.y)+"px",n.style.left=Math.min(l.clientWidth-l.scrollLeft-n.clientWidth-1,e.clientX-a.x)+"px",n.setAttribute("drag-status",r?"normal":"disabled"))}},I=()=>{var e=b.value;u(),ce(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),F.dragRow=null},fe=(l,a,i,s)=>{let n=H.fullData;var e=K.value;let{animation:g,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let v="bottom"===s?1:0,h=b.value,w={status:!1};if(h&&i&&a){if(i!==a){var f={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:v};let u=_(a),c=E(n,u);var x,p=L(i);let d=0,t=-1,r=void(g&&(p=h.querySelector(`.vxe-list--row[rowid="${p}"]`),x=h.querySelector(`.vxe-list--row[rowid="${u}"]`),(p=p||x)&&(d=p.offsetHeight),x)&&(t=x.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=M(n,a),n.splice(r,1);var e=M(n,i);return o=e+v,n.splice(o,0,a),C(),F.scrollYLoad&&m(),l&&(e={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:v,_index:{newIndex:o,oldIndex:r}},R("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(g){var o=F.rowList,l=H.fullData,a=E(l,u),i=l[0],i=M(l,i),s=h;if(-1<i){var n=i+l.length;let e=-1,t=-1,r=1;c<i?(e=0,t=a-i):c>n?(n=E(o,u),e=n+1,t=l.length,r=-1):a>c?(e=c-i,t=e+a-c):(e=a-i,t=e+c-a+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});n=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(n,r*d)}}i=[`.vxe-list--row[rowid="${u}"]`],a=s.querySelectorAll(i.join(",")),l=a[0];-1<t&&l&&(0,_anime.moveRowAnimateToTb)(a,t-l.offsetTop)}k()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(I(),D(),e))}I(),D()}return Promise.resolve(w)},xe=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},pe=e=>{var t=F.dragRow,{prevDragRow:r,prevDragPos:o}=H,l=K.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==B.xID)return void l.handleCrossListRowDragInsertEvent(e)}fe(e,t,r,o)},Re=e=>{var t=F.dragRow,r=H.fullData,o=K.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),a=l.getAttribute("rowid")||"",r=d(r,a);if(r){e.preventDefault();var i=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(H.prevDragRow=r,H.prevDragPos=i,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==B.xID)return s&&s.xID!==B.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,F.dragTipText=n.dragTipText,crossListDragRowObj.$newList=B,void c(e,l,!0,i);s&&s.hideCrossListRowDropClearStatus(),F.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&_(t)===a?c(e,l,!1,i):(o={oldRow:t,targetRow:r,dragPos:i,dragRow:t,offsetIndex:"bottom"==i?1:0},c(e,l,!0,i),R("row-dragover",o,e))}},_e=(e,t)=>{var{trigger:r,disabledMethod:o}=K.value;let l=!1;U.value&&(l="row"===r);r={row:t,$list:B};!l||o&&o(r)||he(e,r)},me=(e,t)=>{var{showRadio:r,showCheckbox:o}=S,l=H.currentRow,a=$.value,i=q.value,s=O.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,Te(e,t)):l&&(H.currentRow=null,F.currRowFlag++),r&&"row"===a.trigger&&(u=!0,Fe(e,t)),o&&"row"===i.trigger&&(c=!0,Se(e,t)),R("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},Ce=(e,t)=>{R("row-dblclick",{row:t},e)},L=e=>getRowKeyByField(e,A.value),l=(e,t)=>""+e==""+t,be=(e,t)=>!(!e||!t)&&(e===t||l(_(e),_(t))),ye=(e,t)=>e&&l(L(e),t);let d=(e,t)=>{let r=A.value;return _xeUtils.default.find(e,e=>l(getRowIdByField(e,r),t))},M=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>be(e,t)):-1,E=(e,t)=>{let r=A.value;return _xeUtils.default.findIndexOf(e,e=>l(getRowIdByField(e,r),t))},ke=e=>{var t=F.selectRadioRow;return L(t)===e};let De=e=>{var t=F.updateCheckboxFlag,r=H.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=F.updateCheckboxFlag,t=H.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let Ie=()=>{var e=F.updateCheckboxFlag,t=H.selectCheckboxMaps;let r=A.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},Le=()=>{H.selectCheckboxMaps={},F.updateCheckboxFlag++,F.isAllChecked=!1,F.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},Me=e=>{var{fullData:t,selectCheckboxMaps:r}=H,o=A.value;if(e){var l,a=[];for(l of t){var i=getRowKeyByField(l,o);r[getRowIdByField(l,o)]=l,a.push(i)}return s(a),g()}return Le()},g=()=>{var{selectCheckboxMaps:e,fullData:t}=H,r=A.value,o=q.value.checkMethod;let l=!1,a=!1;if(o){for(var i of t)if(o({row:i,$list:B}))if(e[getRowIdByField(i,r)])l=!0;else if(a=!0,l)break}else for(var s of t)if(e[getRowIdByField(s,r)])l=!0;else if(a=!0,l)break;return F.isAllChecked=l&&!a,F.isAllIndeterminate=l&&a,F.updateCheckboxFlag++,(0,_vue.nextTick)()},Ee=e=>{var t=F.isAllChecked,t=!t;t?Me(!0):Le(),R("checkbox-all",{checked:t},e)},Se=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=H.selectCheckboxMaps,l=q.value.checkMethod,a=_(r),l=!!l&&!l({$list:B,row:r});if(!l){let e=!1;o[a]?delete o[a]:(e=!0,o[a]=r),F.updateCheckboxFlag++,g();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),R("checkbox-change",{row:r,value:l,checked:e},t)}},Te=(e,t)=>{e.preventDefault();var r=O.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(H.currentRow=t,F.currRowFlag++,R("current-change",{row:t,checked:!0},e))},Fe=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=F.selectRadioRow,{strict:l,checkMethod:a}=$.value,i=L(r),a=!!a&&!a({$list:B,row:r});if(!a){a=i;let e=!0;l&&o&&i===L(o)?(e=!1,F.selectRadioRow=null):F.selectRadioRow=r,n(a),R("radio-change",{row:r,value:a,checked:e},t)}},He=(e,t)=>{let{fullData:o,rowMaps:l}=H,a=A.value,i=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,a),r=(0,_util.getItemCacheObj)(e);o[i](e),l[t]=r})},Be=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:a,insertRowMaps:i}=H,s=A.value;if(!s)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});_xeUtils.default.isArray(e)||(e=[e]);let n=t;if((_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(t=l[t])&&(n=t.item),!e.length)return Promise.resolve({row:null,rows:[]});let u=e.map(e=>_xeUtils.default.assign({},e));if(_xeUtils.default.eqNull(n))He(u,!1);else if(-1===n)He(u,!0);else{t=o.findIndex(e=>n[s]===e[s]);if(-1<t){u.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...u)}else warnLog("vxe.error.unableInsert"),He(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);a[t]?(delete a[t],i[t]&&delete i[t]):i[t]=e}),F.removeRowFlag++,F.insertRowFlag++,ne(),C(!0),se(),g(),F.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},Oe=(o,l)=>{var e=S.menuConfig,t=x.value,r=O.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:B,options:e,row:l})||(r?Te(o,l):H.currentRow&&(H.currentRow=null,F.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=_ui.menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:B};r&&r(t,o),R("menu-click",t,e.$event)}}}))),R("row-menu",{row:l},o)};e={dispatchEvent:R,loadData:r,reloadData(e){return ee(),r(e)},getFullData(){var e=H.fullData;return e},recalculate:k,scrollTo:te,refreshScroll:re,clearScroll:ee,getRowKey:L,eqRowKey:l,eqRow:be,eqRowByKey:ye,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>be(e,t)):null,findRowByKey:d,findRowIndexOf:M,findRowIndexOfByKey:E,isCheckedByRadioRowKey:ke,isCheckedByRadioRow:e=>ke(L(e)),isCheckedByCheckboxRowKey:De,isCheckedByCheckboxRow:e=>De(L(e)),setCurrentRow:e=>(H.currentRow=e,F.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=H.fullData;return H.currentRow=d(t,e),F.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=H.currentRow;return e},getCurrentRowKey:()=>{var e=H.currentRow;return e?L(e):null},clearCurrentRow:()=>(H.currentRow=null,F.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{F.selectRadioRow=e;e=L(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=H.fullData,t=(F.selectRadioRow=d(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=F.selectRadioRow;return e},getRadioRowKey:()=>{var e=F.selectRadioRow;return e?L(e):null},clearRadioRow:()=>(F.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=H.selectCheckboxMaps,o=A.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t=getRowIdByField(e,o);r[t]||(r[t]=e)}:e=>{e=getRowIdByField(e,o);r[e]&&delete r[e]});e=Ie();return s(e),g()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=H,l=A.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t,e=o[e||""];e&&(t=getRowIdByField(e,l),e)&&!r[t]&&(r[t]=e)}:e=>{var e=o[e||""];e&&(e=getRowIdByField(e,l),r[e])&&delete r[e]});e=Ie();return s(e),g()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:Ie,clearCheckboxRow:Le,setAllCheckboxRow:Me,insert(e){return Be(e,null)},insertAt(e,t){return Be(e,t)},insertNextAt(e,t){return Be(e,t,!0)},getInsertRecords(){var e=H.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=_(e);return!!F.insertRowFlag&&!!H.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=H;if(!A.value)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});let l=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=r,e.length?(e.forEach(e=>{var t;B.isInsertByRow(e)||(t=_(e),o[t]=e)}),r===e?(e=l=r.slice(0),H.fullData=[]):e.forEach(e=>{let t=_(e);var e=_xeUtils.default.findIndexOf(r,e=>t===_(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=_(e);t[e]&&delete t[e]}),F.removeRowFlag++,F.insertRowFlag++,ne(),C(!0),se(),g(),F.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>k()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=H.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=_(e);return!!F.removeRowFlag&&!!H.removeRowMaps[e]},getRecordset(){return{insertRecords:B.getInsertRecords(),removeRecords:B.getRemoveRecords()}}};Object.assign(B,e,{handleCrossListRowDragCancelEvent(){I(),D()},handleCrossListRowDragFinishEvent(t){var l=F.rowList,a=H.rowMaps;let{animation:i,isCrossListDrag:e}=K.value,s=b.value;if(s&&e&&crossListDragRowObj&&v){var n=v.row;if(n){var u=_(n),a=a[u];let r=0,e=-1,o=(a&&(i&&(u=s.querySelector(`.vxe-list--row[rowid="${u}"]`))&&(r=u.offsetHeight),e=a.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);u=[n];B.remove(u).then(()=>{if(i&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),R("row-remove-dragend",{row:n},t),ue()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=F.rowList,o=K.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==B.xID&&(r&&r.xID!==B.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=B,H.prevDragRow=null,F.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=H;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=K.value;if(e&&crossListDragRowObj&&v){let l=v.row,i=crossListDragRowObj.$oldList,s=b.value;if(s&&(i&&l)){let a=l,r=-1;u&&(r="bottom"===c?1:0);var g={oldRow:a,newRow:u,dragRow:a,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(g)).then(e=>{if(!e)return i&&i.xID!==B.xID&&i.handleCrossListRowDragCancelEvent(n),ue(),o;let t=Promise.resolve();e=[a];i.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?B.insertNextAt(e,u):B.insertAt(e,u):B.insert(e),B.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:a,dragPos:c,offsetIndex:r},n),I(),t.then(()=>{var e=F.rowList,r=H.rowMaps,o=_(a),r=r[o];let l=0,t=-1;r&&(d&&(o=s.querySelector(`.vxe-list--row[rowid="${o}"]`))&&(l=o.offsetHeight),t=r.$index);o=-1<t?e.slice(t):[];if(d&&l&&o.length){r=s;let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-l)}})})}}},hideCrossListRowDropClearStatus(){u()}});let Ke=(t,e,r,o)=>{var l=S.showRadio,{showIcon:a,visibleMethod:i}=$.value,i=!i||i({$list:B,row:t});return l&&a&&i?(0,_vue.h)("div",{key:"ct2",class:["vxe-list--radio-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Fe(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?(0,_ui.getIcon)().RADIO_CHECKED:r?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(B)},Ae=(t,e,r,o)=>{var l=S.showCheckbox,{showIcon:a,visibleMethod:i}=q.value,i=!i||i({$list:B,row:t});return l&&a&&i?(0,_vue.h)("div",{key:"ct3",class:["vxe-list--checkbox-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Se(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?(0,_ui.getIcon)().CHECKBOX_CHECKED:r?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(B)};let Ue=(0,_vue.ref)(0),a=((0,_vue.watch)(()=>S.data?S.data.length:-1,()=>{Ue.value++}),(0,_vue.watch)(()=>S.data,()=>{Ue.value++}),(0,_vue.watch)(Ue,()=>{r(S.data||[])}),(0,_vue.ref)(0)),$e=((0,_vue.watch)(()=>S.height,()=>{a.value++}),(0,_vue.watch)(()=>S.maxHeight,()=>{a.value++}),(0,_vue.watch)(()=>S.syncResize,()=>{a.value++}),(0,_vue.watch)(f,()=>{a.value++}),(0,_vue.watch)(a,()=>{(0,_vue.nextTick)(()=>{k()})}),(0,_vue.watch)(()=>S.checkRowKey,()=>{ae()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>S.checkRowKeys?S.checkRowKeys.length:-1,()=>{$e.value++}),(0,_vue.watch)(()=>S.checkRowKeys,()=>{$e.value++}),(0,_vue.watch)($e,()=>{ie()}),(0,_vue.onActivated)(()=>{k().then(()=>re())}),(0,_vue.nextTick)(()=>{r(S.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r}=S,o=O.value.useKey,l=U.value,a=A.value;a||(e&&errLog("vxe.error.reqSupportProp",["show-seq","row-config.keyField"]),t&&errLog("vxe.error.reqSupportProp",["show-radio","row-config.keyField"]),r&&errLog("vxe.error.reqSupportProp",["show-checkbox","row-config.keyField"]),l&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),o&&!a&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),S.autoResize&&(e=b.value,(t=_ui.globalResize.create(()=>k())).observe(e),e&&t.observe(e.parentElement),H.resizeObserver=t),k(),_ui.globalEvents.on(B,"resize",k)}),(0,_vue.onBeforeUnmount)(()=>{var e=H.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(B,"resize"),_xeUtils.default.assign(F,createReactData()),_xeUtils.default.assign(H,createInternalData())}),B.renderVN=()=>{var{showCheckbox:e,className:t,loading:r}=S,{bodyHeight:o,topSpaceHeight:l,rowList:a,isAllChecked:i,isAllIndeterminate:s}=F,n=T.default,u=T.header,c=T.footer,d=j.value,g=X.value,v=G.value,h=$.value,w=q.value,{showHeader:f,headerTitle:x}=w,{trigger:p,isCrossListDrag:R}=K.value,{isHover:_,padding:m}=O.value,C=U.value,e=e&&!1!==f,f={};return R&&!a.length&&(f.onDragover=B.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:b,class:["vxe-list",t?_xeUtils.default.isFunction(t)?t({$list:B}):t:"",{["size--"+d]:d,"is--drag":C,"is--loading":r}],style:g},f),[u||e?(0,_vue.h)("div",{ref:N,class:"vxe-list--header-wrapper"},[e?(0,_vue.h)("div",{class:"vxe-list--header-left"},[(0,_vue.h)("div",{class:["vxe-list--checkbox-header",{"is--checked":i,"is--indeterminate":s}],onClick:Ee},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_CHECKED:s?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(x)?(0,_ui.getI18n)("vxe.list.allChecked"):(0,_utils.getText)(x))])]):(0,_ui.renderEmptyElement)(B),u?(0,_vue.h)("div",{class:"vxe-list--header-content"},u({items:a,$list:B})):(0,_ui.renderEmptyElement)(B)]):(0,_ui.renderEmptyElement)(B),(0,_vue.h)("div",{ref:y,class:"vxe-list--virtual-wrapper",style:v,onScroll:le},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:o?o+"px":""}}),(0,_vue.h)("div",{ref:z,class:["vxe-list--body",{"trigger--row":"row"===p,"checkbox--highlight":w.highlight,"radio--highlight":h.highlight,"row--hover":_,"is--padding":m}],style:{marginTop:l?l+"px":""}},n?n({items:a,$list:B}):a.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=S,{selectRadioRow:l,currRowFlag:a,updateCheckboxFlag:i}=F,{selectCheckboxMaps:s,currentRow:n}=H,u=T.content,c=T.extra,{trigger:d,icon:g,disabledMethod:v,visibleMethod:h}=K.value,w=$.value,f=q.value,{useKey:x,contentField:p,className:R,isCurrent:_}=O.value,m=U.value,C=A.value,b=R&&_xeUtils.default.isFunction(R),x=C||x||m||_||r||o,_=x&&C?getRowIdByField(t,C):"",y=(0,_utils.enModelValue)(_);let k={row:t,$list:B},D=!1,I=!1,L=(r&&(D=l&&(t===l||ye(l,_)),I=!!w.checkMethod&&!w.checkMethod({$list:B,row:t})),!1),M=!1;o&&(L=!(!i||!s[y]),M=!!f.checkMethod&&!f.checkMethod({$list:B,row:t}));l=[];r&&l.push(Ke(t,y,I,D)),o&&l.push(Ae(t,y,M,L));let E=!1;m&&C&&(!h||h(k))&&(w={},"row"!==d&&(E=!(!v||!v(k)),w.onMousedown=e=>{E||he(e,k)},w.onMouseup=we),l.push((0,_vue.h)("div",{key:"ct1",class:"vxe-list--row-drag"},[(0,_vue.h)("span",Object.assign({class:"vxe-list--drag-handle"},w),[(0,_vue.h)("i",{class:g||(0,_ui.getIcon)().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},u?u(k):p?(0,_utils.getText)(t[p]):"")),c&&l.push((0,_vue.h)("div",{key:"ct7",class:"vxe-list--row-extra"},c(k)));i={onMousedown(e){_e(e,t)},onMouseup:we,onClick(e){me(e,t)},onDblclick(e){Ce(e,t)},onContextmenu(e){Oe(e,t)}};return m&&(i.onDragstart=xe,i.onDragend=pe,i.onDragover=Re),(0,_vue.h)("div",Object.assign({key:x&&C?y:e,class:["vxe-list--row",b?R(k):R||"",{"is--drag-disabled":E,"is--current":a&&n&&ye(n,_),"is-radio--disabled":I,"is-radio--checked":D,"is-checkbox--disabled":M,"is-checkbox--checked":L}],rowid:x&&C?y:void 0},i),l)})(e,t)))]),c?(0,_vue.h)("div",{ref:P,class:"vxe-list--footer-wrapper"},c({items:a,$list:B})):(0,_ui.renderEmptyElement)(B),(()=>{var{dragRow:e,dragTipText:t}=F,r=K.value;return U.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:Y,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:V,class:"vxe-list--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-normal-status",(0,_ui.getIcon)().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",(0,_ui.getIcon)().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)(B)]):(0,_ui.renderEmptyElement)(B)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},B},render(){return this.renderVN()}});
@@ -9,7 +9,11 @@ var _comp = require("../../ui/src/comp");
9
9
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
10
10
  var _ui = require("../../ui");
11
11
  var _dom = require("../../ui/src/dom");
12
+ var _log = require("../../ui/src/log");
12
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ const {
15
+ errLog
16
+ } = (0, _log.createComponentLog)('col');
13
17
  var _default = exports.default = (0, _comp.defineVxeComponent)({
14
18
  name: 'VxeCol',
15
19
  props: {
@@ -55,27 +59,33 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
55
59
  } = props;
56
60
  const rowGutter = computeRowGutter.value;
57
61
  const rowVertical = computeRowVertical.value;
62
+ let gridLayout = false;
63
+ if ($xeRow) {
64
+ gridLayout = !!$xeRow.props.gridLayout;
65
+ }
58
66
  const style = {};
59
- if (rowGutter) {
60
- let [lrGutter, tbGutter] = _xeUtils.default.isArray(rowGutter) ? rowGutter : [rowGutter];
61
- if (rowVertical) {
62
- tbGutter = lrGutter;
63
- lrGutter = '';
64
- }
65
- if (lrGutter) {
66
- const padding = _xeUtils.default.isNumber(lrGutter) ? (0, _dom.toCssUnit)(lrGutter / 2) : `calc(${(0, _dom.toCssUnit)(lrGutter)} / 2)`;
67
- style.paddingLeft = padding;
68
- style.paddingRight = padding;
67
+ if (!gridLayout) {
68
+ if (rowGutter) {
69
+ let [lrGutter, tbGutter] = _xeUtils.default.isArray(rowGutter) ? rowGutter : [rowGutter];
70
+ if (rowVertical) {
71
+ tbGutter = lrGutter;
72
+ lrGutter = '';
73
+ }
74
+ if (lrGutter) {
75
+ const padding = _xeUtils.default.isNumber(lrGutter) ? (0, _dom.toCssUnit)(lrGutter / 2) : `calc(${(0, _dom.toCssUnit)(lrGutter)} / 2)`;
76
+ style.paddingLeft = padding;
77
+ style.paddingRight = padding;
78
+ }
79
+ if (tbGutter) {
80
+ const padding = _xeUtils.default.isNumber(tbGutter) ? (0, _dom.toCssUnit)(tbGutter / 2) : `calc(${(0, _dom.toCssUnit)(tbGutter)} / 2)`;
81
+ style.paddingTop = padding;
82
+ style.paddingBottom = padding;
83
+ }
69
84
  }
70
- if (tbGutter) {
71
- const padding = _xeUtils.default.isNumber(tbGutter) ? (0, _dom.toCssUnit)(tbGutter / 2) : `calc(${(0, _dom.toCssUnit)(tbGutter)} / 2)`;
72
- style.paddingTop = padding;
73
- style.paddingBottom = padding;
85
+ if (width) {
86
+ style.width = (0, _dom.toCssUnit)(width);
74
87
  }
75
88
  }
76
- if (width) {
77
- style.width = (0, _dom.toCssUnit)(width);
78
- }
79
89
  return style;
80
90
  });
81
91
  const computeMaps = {};
@@ -120,6 +130,22 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
120
130
  class: 'vxe-col--inner'
121
131
  }, defaultSlot ? defaultSlot({}) : [])]);
122
132
  };
133
+ (0, _vue.onMounted)(() => {
134
+ const {
135
+ width,
136
+ fill
137
+ } = props;
138
+ if ($xeRow) {
139
+ if ($xeRow.props.gridLayout) {
140
+ if (width) {
141
+ errLog('vxe.error.notSupportProp', ['grid-layout', `width=${width}`, 'width=null']);
142
+ }
143
+ if (fill) {
144
+ errLog('vxe.error.notSupportProp', ['grid-layout', `fill=${fill}`, 'fill=false']);
145
+ }
146
+ }
147
+ }
148
+ });
123
149
  $xeCol.renderVN = renderVN;
124
150
  return $xeCol;
125
151
  },
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeCol",props:{span:[Number,String],align:String,width:[Number,String],fill:Boolean,ellipsis:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().col.size||(0,_ui.getConfig)().size}},emits:[],setup(n,e){let{slots:o,emit:r}=e;var t=_xeUtils.default.uniqueId();(0,_ui.useSize)(n);let a=(0,_vue.ref)();var i=(0,_vue.reactive)({});let u={refElem:a},l=(0,_vue.inject)("$xeRow",null),s=(0,_vue.computed)(()=>l?l.props.gutter:null),d=(0,_vue.computed)(()=>l?l.props.vertical:null),p=(0,_vue.computed)(()=>{var e=n.width,i=s.value,r=d.value,u={};if(i){let[e,t]=_xeUtils.default.isArray(i)?i:[i];r&&(t=e,e=""),e&&(i=_xeUtils.default.isNumber(e)?(0,_dom.toCssUnit)(e/2):`calc(${(0,_dom.toCssUnit)(e)} / 2)`,u.paddingLeft=i,u.paddingRight=i),t&&(r=_xeUtils.default.isNumber(t)?(0,_dom.toCssUnit)(t/2):`calc(${(0,_dom.toCssUnit)(t)} / 2)`,u.paddingTop=r,u.paddingBottom=r)}return e&&(u.width=(0,_dom.toCssUnit)(e)),u}),_={},v={xID:t,props:n,context:e,reactData:i,getRefMaps:()=>u,getComputeMaps:()=>_};Object.assign(v,{dispatchEvent:(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$col:v},t))}},{});return v.renderVN=()=>{var{span:e,fill:t,align:i,width:r,ellipsis:u}=n,l=p.value,s=o.default;return(0,_vue.h)("div",{ref:a,class:["vxe-col",e?"span"+e:"",i?"align--"+i:"",{"is--span":!!e,"is--width":!!r,"is--fill":t,"is--ellipsis":u}],style:l},[(0,_vue.h)("div",{class:"vxe-col--inner"},s?s({}):[])])},v},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("col").errLog;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeCol",props:{span:[Number,String],align:String,width:[Number,String],fill:Boolean,ellipsis:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().col.size||(0,_ui.getConfig)().size}},emits:[],setup(s,e){let{slots:a,emit:r}=e;var t=_xeUtils.default.uniqueId();(0,_ui.useSize)(s);let n=(0,_vue.ref)();var i=(0,_vue.reactive)({});let l={refElem:n},o=(0,_vue.inject)("$xeRow",null),u=(0,_vue.computed)(()=>o?o.props.gutter:null),d=(0,_vue.computed)(()=>o?o.props.vertical:null),p=(0,_vue.computed)(()=>{var e=s.width,i=u.value,r=d.value;let t=!1;var l={};if(!(t=o?!!o.props.gridLayout:t)){if(i){let[e,t]=_xeUtils.default.isArray(i)?i:[i];r&&(t=e,e=""),e&&(i=_xeUtils.default.isNumber(e)?(0,_dom.toCssUnit)(e/2):`calc(${(0,_dom.toCssUnit)(e)} / 2)`,l.paddingLeft=i,l.paddingRight=i),t&&(r=_xeUtils.default.isNumber(t)?(0,_dom.toCssUnit)(t/2):`calc(${(0,_dom.toCssUnit)(t)} / 2)`,l.paddingTop=r,l.paddingBottom=r)}e&&(l.width=(0,_dom.toCssUnit)(e))}return l}),_={},v={xID:t,props:s,context:e,reactData:i,getRefMaps:()=>l,getComputeMaps:()=>_};Object.assign(v,{dispatchEvent:(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$col:v},t))}},{});return(0,_vue.onMounted)(()=>{var{width:e,fill:t}=s;o&&o.props.gridLayout&&(e&&errLog("vxe.error.notSupportProp",["grid-layout","width="+e,"width=null"]),t)&&errLog("vxe.error.notSupportProp",["grid-layout","fill="+t,"fill=false"])}),v.renderVN=()=>{var{span:e,fill:t,align:i,width:r,ellipsis:l}=s,o=p.value,u=a.default;return(0,_vue.h)("div",{ref:n,class:["vxe-col",e?"span"+e:"",i?"align--"+i:"",{"is--span":!!e,"is--width":!!r,"is--fill":t,"is--ellipsis":l}],style:o},[(0,_vue.h)("div",{class:"vxe-col--inner"},u?u({}):[])])},v},render(){return this.renderVN()}});
@@ -9,10 +9,18 @@ var _comp = require("../../ui/src/comp");
9
9
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
10
10
  var _ui = require("../../ui");
11
11
  var _dom = require("../../ui/src/dom");
12
+ var _log = require("../../ui/src/log");
12
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ const {
15
+ warnLog
16
+ } = (0, _log.createComponentLog)('row');
13
17
  var _default = exports.default = (0, _comp.defineVxeComponent)({
14
18
  name: 'VxeRow',
15
19
  props: {
20
+ gridLayout: {
21
+ type: Boolean,
22
+ default: () => (0, _ui.getConfig)().row.gridLayout
23
+ },
16
24
  gutter: [Number, String, Array],
17
25
  wrap: {
18
26
  type: Boolean,
@@ -39,25 +47,31 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
39
47
  };
40
48
  const computeRowStyle = (0, _vue.computed)(() => {
41
49
  const {
50
+ gridLayout,
42
51
  gutter,
43
52
  vertical
44
53
  } = props;
45
54
  const style = {};
46
55
  if (gutter) {
47
56
  let [lrGutter, tbGutter] = _xeUtils.default.isArray(gutter) ? gutter : [gutter];
48
- if (vertical) {
49
- tbGutter = lrGutter;
50
- lrGutter = '';
51
- }
52
- if (lrGutter) {
53
- const offsetSize = _xeUtils.default.isNumber(lrGutter) ? (0, _dom.toCssUnit)(-(lrGutter / 2)) : `calc(${(0, _dom.toCssUnit)(lrGutter)} / 2 * -1)`;
54
- style.marginLeft = offsetSize;
55
- style.marginRight = offsetSize;
56
- }
57
- if (tbGutter) {
58
- const offsetSize = _xeUtils.default.isNumber(tbGutter) ? (0, _dom.toCssUnit)(-(tbGutter / 2)) : `calc(${(0, _dom.toCssUnit)(tbGutter)} / 2 * -1)`;
59
- style.marginTop = offsetSize;
60
- style.marginBottom = offsetSize;
57
+ if (gridLayout) {
58
+ style.columnGap = (0, _dom.toCssUnit)(lrGutter);
59
+ style.rowGap = (0, _dom.toCssUnit)(tbGutter || lrGutter);
60
+ } else {
61
+ if (vertical) {
62
+ tbGutter = lrGutter;
63
+ lrGutter = '';
64
+ }
65
+ if (lrGutter) {
66
+ const offsetSize = _xeUtils.default.isNumber(lrGutter) ? (0, _dom.toCssUnit)(-(lrGutter / 2)) : `calc(${(0, _dom.toCssUnit)(lrGutter)} / 2 * -1)`;
67
+ style.marginLeft = offsetSize;
68
+ style.marginRight = offsetSize;
69
+ }
70
+ if (tbGutter) {
71
+ const offsetSize = _xeUtils.default.isNumber(tbGutter) ? (0, _dom.toCssUnit)(-(tbGutter / 2)) : `calc(${(0, _dom.toCssUnit)(tbGutter)} / 2 * -1)`;
72
+ style.marginTop = offsetSize;
73
+ style.marginBottom = offsetSize;
74
+ }
61
75
  }
62
76
  }
63
77
  return style;
@@ -86,6 +100,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
86
100
  Object.assign($xeRow, rowMethods, rowPrivateMethods);
87
101
  const renderVN = () => {
88
102
  const {
103
+ gridLayout,
89
104
  vertical,
90
105
  wrap
91
106
  } = props;
@@ -93,7 +108,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
93
108
  const defaultSlot = slots.default;
94
109
  return (0, _vue.h)('div', {
95
110
  ref: refElem,
96
- class: ['vxe-row', {
111
+ class: ['vxe-row', gridLayout ? 'grid--layout' : 'def--layout', {
97
112
  'is--vertical': vertical,
98
113
  'is--wrap': wrap
99
114
  }],
@@ -101,6 +116,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
101
116
  onClick: clickEvent
102
117
  }, defaultSlot ? defaultSlot({}) : []);
103
118
  };
119
+ (0, _vue.onMounted)(() => {
120
+ const {
121
+ gridLayout,
122
+ wrap
123
+ } = props;
124
+ if (gridLayout && !wrap) {
125
+ warnLog('vxe.error.notSupportProp', ['grid-layout', 'wrap=false', 'wrap=true']);
126
+ }
127
+ });
104
128
  (0, _vue.provide)('$xeRow', $xeRow);
105
129
  $xeRow.renderVN = renderVN;
106
130
  return $xeRow;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeRow",props:{gutter:[Number,String,Array],wrap:{type:Boolean,default:()=>(0,_ui.getConfig)().row.wrap},vertical:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().row.size||(0,_ui.getConfig)().size}},emits:["click"],setup(a,e){let{slots:u,emit:i}=e;var t=_xeUtils.default.uniqueId();(0,_ui.useSize)(a);let o=(0,_vue.ref)();var r=(0,_vue.reactive)({});let s={refElem:o},l=(0,_vue.computed)(()=>{var{gutter:r,vertical:i}=a,u={};if(r){let[e,t]=_xeUtils.default.isArray(r)?r:[r];i&&(t=e,e=""),e&&(r=_xeUtils.default.isNumber(e)?(0,_dom.toCssUnit)(-e/2):`calc(${(0,_dom.toCssUnit)(e)} / 2 * -1)`,u.marginLeft=r,u.marginRight=r),t&&(i=_xeUtils.default.isNumber(t)?(0,_dom.toCssUnit)(-t/2):`calc(${(0,_dom.toCssUnit)(t)} / 2 * -1)`,u.marginTop=i,u.marginBottom=i)}return u}),n={},_={xID:t,props:a,context:e,reactData:r,getRefMaps:()=>s,getComputeMaps:()=>n},d=e=>{c("click",{},e)},c=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$row:_},t))};t={dispatchEvent:c};Object.assign(_,t,{});return(0,_vue.provide)("$xeRow",_),_.renderVN=()=>{var{vertical:e,wrap:t}=a,r=l.value,i=u.default;return(0,_vue.h)("div",{ref:o,class:["vxe-row",{"is--vertical":e,"is--wrap":t}],style:r,onClick:d},i?i({}):[])},_},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let warnLog=(0,_log.createComponentLog)("row").warnLog;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeRow",props:{gridLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().row.gridLayout},gutter:[Number,String,Array],wrap:{type:Boolean,default:()=>(0,_ui.getConfig)().row.wrap},vertical:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().row.size||(0,_ui.getConfig)().size}},emits:["click"],setup(a,e){let{slots:u,emit:o}=e;var r=_xeUtils.default.uniqueId();(0,_ui.useSize)(a);let l=(0,_vue.ref)();var t=(0,_vue.reactive)({});let i={refElem:l},n=(0,_vue.computed)(()=>{var{gridLayout:t,gutter:o,vertical:i}=a,u={};if(o){let[e,r]=_xeUtils.default.isArray(o)?o:[o];t?(u.columnGap=(0,_dom.toCssUnit)(e),u.rowGap=(0,_dom.toCssUnit)(r||e)):(i&&(r=e,e=""),e&&(o=_xeUtils.default.isNumber(e)?(0,_dom.toCssUnit)(-e/2):`calc(${(0,_dom.toCssUnit)(e)} / 2 * -1)`,u.marginLeft=o,u.marginRight=o),r&&(t=_xeUtils.default.isNumber(r)?(0,_dom.toCssUnit)(-r/2):`calc(${(0,_dom.toCssUnit)(r)} / 2 * -1)`,u.marginTop=t,u.marginBottom=t))}return u}),s={},d={xID:r,props:a,context:e,reactData:t,getRefMaps:()=>i,getComputeMaps:()=>s},p=e=>{_("click",{},e)},_=(e,r,t)=>{o(e,(0,_ui.createEvent)(t,{$row:d},r))};r={dispatchEvent:_};Object.assign(d,r,{});return(0,_vue.onMounted)(()=>{var{gridLayout:e,wrap:r}=a;e&&!r&&warnLog("vxe.error.notSupportProp",["grid-layout","wrap=false","wrap=true"])}),(0,_vue.provide)("$xeRow",d),d.renderVN=()=>{var{gridLayout:e,vertical:r,wrap:t}=a,o=n.value,i=u.default;return(0,_vue.h)("div",{ref:l,class:["vxe-row",e?"grid--layout":"def--layout",{"is--vertical":r,"is--wrap":t}],style:o,onClick:p},i?i({}):[])},d},render(){return this.renderVN()}});
@@ -34,78 +34,155 @@
34
34
  .vxe-col.align--right {
35
35
  text-align: right;
36
36
  }
37
- .vxe-col.span1 {
37
+
38
+ .vxe-row.def--layout > .vxe-col.span1 {
38
39
  width: 4.16667%;
39
40
  }
40
- .vxe-col.span2 {
41
+ .vxe-row.def--layout > .vxe-col.span2 {
41
42
  width: 8.33333%;
42
43
  }
43
- .vxe-col.span3 {
44
+ .vxe-row.def--layout > .vxe-col.span3 {
44
45
  width: 12.5%;
45
46
  }
46
- .vxe-col.span4 {
47
+ .vxe-row.def--layout > .vxe-col.span4 {
47
48
  width: 16.66667%;
48
49
  }
49
- .vxe-col.span5 {
50
+ .vxe-row.def--layout > .vxe-col.span5 {
50
51
  width: 20.83333%;
51
52
  }
52
- .vxe-col.span6 {
53
+ .vxe-row.def--layout > .vxe-col.span6 {
53
54
  width: 25%;
54
55
  }
55
- .vxe-col.span7 {
56
+ .vxe-row.def--layout > .vxe-col.span7 {
56
57
  width: 29.16667%;
57
58
  }
58
- .vxe-col.span8 {
59
+ .vxe-row.def--layout > .vxe-col.span8 {
59
60
  width: 33.33333%;
60
61
  }
61
- .vxe-col.span9 {
62
+ .vxe-row.def--layout > .vxe-col.span9 {
62
63
  width: 37.5%;
63
64
  }
64
- .vxe-col.span10 {
65
+ .vxe-row.def--layout > .vxe-col.span10 {
65
66
  width: 41.66667%;
66
67
  }
67
- .vxe-col.span11 {
68
+ .vxe-row.def--layout > .vxe-col.span11 {
68
69
  width: 45.83333%;
69
70
  }
70
- .vxe-col.span12 {
71
+ .vxe-row.def--layout > .vxe-col.span12 {
71
72
  width: 50%;
72
73
  }
73
- .vxe-col.span13 {
74
+ .vxe-row.def--layout > .vxe-col.span13 {
74
75
  width: 54.16667%;
75
76
  }
76
- .vxe-col.span14 {
77
+ .vxe-row.def--layout > .vxe-col.span14 {
77
78
  width: 58.33333%;
78
79
  }
79
- .vxe-col.span15 {
80
+ .vxe-row.def--layout > .vxe-col.span15 {
80
81
  width: 62.5%;
81
82
  }
82
- .vxe-col.span16 {
83
+ .vxe-row.def--layout > .vxe-col.span16 {
83
84
  width: 66.66667%;
84
85
  }
85
- .vxe-col.span17 {
86
+ .vxe-row.def--layout > .vxe-col.span17 {
86
87
  width: 70.83333%;
87
88
  }
88
- .vxe-col.span18 {
89
+ .vxe-row.def--layout > .vxe-col.span18 {
89
90
  width: 75%;
90
91
  }
91
- .vxe-col.span19 {
92
+ .vxe-row.def--layout > .vxe-col.span19 {
92
93
  width: 79.16667%;
93
94
  }
94
- .vxe-col.span20 {
95
+ .vxe-row.def--layout > .vxe-col.span20 {
95
96
  width: 83.33333%;
96
97
  }
97
- .vxe-col.span21 {
98
+ .vxe-row.def--layout > .vxe-col.span21 {
98
99
  width: 87.5%;
99
100
  }
100
- .vxe-col.span22 {
101
+ .vxe-row.def--layout > .vxe-col.span22 {
101
102
  width: 91.66667%;
102
103
  }
103
- .vxe-col.span23 {
104
+ .vxe-row.def--layout > .vxe-col.span23 {
104
105
  width: 95.83333%;
105
106
  }
106
- .vxe-col.span24 {
107
+ .vxe-row.def--layout > .vxe-col.span24 {
107
108
  width: 100%;
108
109
  }
110
+ .vxe-row.grid--layout {
111
+ display: grid;
112
+ grid-template-columns: repeat(24, minmax(0, 1fr));
113
+ }
114
+ .vxe-row.grid--layout > .vxe-col.span1 {
115
+ grid-column: span 1;
116
+ }
117
+ .vxe-row.grid--layout > .vxe-col.span2 {
118
+ grid-column: span 2;
119
+ }
120
+ .vxe-row.grid--layout > .vxe-col.span3 {
121
+ grid-column: span 3;
122
+ }
123
+ .vxe-row.grid--layout > .vxe-col.span4 {
124
+ grid-column: span 4;
125
+ }
126
+ .vxe-row.grid--layout > .vxe-col.span5 {
127
+ grid-column: span 5;
128
+ }
129
+ .vxe-row.grid--layout > .vxe-col.span6 {
130
+ grid-column: span 6;
131
+ }
132
+ .vxe-row.grid--layout > .vxe-col.span7 {
133
+ grid-column: span 7;
134
+ }
135
+ .vxe-row.grid--layout > .vxe-col.span8 {
136
+ grid-column: span 8;
137
+ }
138
+ .vxe-row.grid--layout > .vxe-col.span9 {
139
+ grid-column: span 9;
140
+ }
141
+ .vxe-row.grid--layout > .vxe-col.span10 {
142
+ grid-column: span 10;
143
+ }
144
+ .vxe-row.grid--layout > .vxe-col.span11 {
145
+ grid-column: span 11;
146
+ }
147
+ .vxe-row.grid--layout > .vxe-col.span12 {
148
+ grid-column: span 12;
149
+ }
150
+ .vxe-row.grid--layout > .vxe-col.span13 {
151
+ grid-column: span 13;
152
+ }
153
+ .vxe-row.grid--layout > .vxe-col.span14 {
154
+ grid-column: span 14;
155
+ }
156
+ .vxe-row.grid--layout > .vxe-col.span15 {
157
+ grid-column: span 15;
158
+ }
159
+ .vxe-row.grid--layout > .vxe-col.span16 {
160
+ grid-column: span 16;
161
+ }
162
+ .vxe-row.grid--layout > .vxe-col.span17 {
163
+ grid-column: span 17;
164
+ }
165
+ .vxe-row.grid--layout > .vxe-col.span18 {
166
+ grid-column: span 18;
167
+ }
168
+ .vxe-row.grid--layout > .vxe-col.span19 {
169
+ grid-column: span 19;
170
+ }
171
+ .vxe-row.grid--layout > .vxe-col.span20 {
172
+ grid-column: span 20;
173
+ }
174
+ .vxe-row.grid--layout > .vxe-col.span21 {
175
+ grid-column: span 21;
176
+ }
177
+ .vxe-row.grid--layout > .vxe-col.span22 {
178
+ grid-column: span 22;
179
+ }
180
+ .vxe-row.grid--layout > .vxe-col.span23 {
181
+ grid-column: span 23;
182
+ }
183
+ .vxe-row.grid--layout > .vxe-col.span24 {
184
+ grid-column: span 24;
185
+ }
109
186
 
110
187
  .vxe-col--inner {
111
188
  width: 100%;
@@ -1 +1 @@
1
- .vxe-row{position:relative;display:flex;flex-direction:row;flex-grow:1}.vxe-row.is--vertical{flex-direction:column}.vxe-row.is--wrap{flex-wrap:wrap}.vxe-col{display:block}.vxe-col.is--ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-col.is--fill{flex-grow:1}.vxe-col:not(.is--fill){flex-shrink:0}.vxe-col.align--left{text-align:left}.vxe-col.align--center{text-align:center}.vxe-col.align--right{text-align:right}.vxe-col.span1{width:4.16667%}.vxe-col.span2{width:8.33333%}.vxe-col.span3{width:12.5%}.vxe-col.span4{width:16.66667%}.vxe-col.span5{width:20.83333%}.vxe-col.span6{width:25%}.vxe-col.span7{width:29.16667%}.vxe-col.span8{width:33.33333%}.vxe-col.span9{width:37.5%}.vxe-col.span10{width:41.66667%}.vxe-col.span11{width:45.83333%}.vxe-col.span12{width:50%}.vxe-col.span13{width:54.16667%}.vxe-col.span14{width:58.33333%}.vxe-col.span15{width:62.5%}.vxe-col.span16{width:66.66667%}.vxe-col.span17{width:70.83333%}.vxe-col.span18{width:75%}.vxe-col.span19{width:79.16667%}.vxe-col.span20{width:83.33333%}.vxe-col.span21{width:87.5%}.vxe-col.span22{width:91.66667%}.vxe-col.span23{width:95.83333%}.vxe-col.span24{width:100%}.vxe-col--inner{width:100%}.vxe-col.is--span>.vxe-col--inner>.vxe-date-picker,.vxe-col.is--span>.vxe-col--inner>.vxe-default-select,.vxe-col.is--span>.vxe-col--inner>.vxe-default-textarea,.vxe-col.is--span>.vxe-col--inner>.vxe-ico-picker,.vxe-col.is--span>.vxe-col--inner>.vxe-input,.vxe-col.is--span>.vxe-col--inner>.vxe-number-input,.vxe-col.is--span>.vxe-col--inner>.vxe-password-input,.vxe-col.is--span>.vxe-col--inner>.vxe-select,.vxe-col.is--span>.vxe-col--inner>.vxe-table-select,.vxe-col.is--span>.vxe-col--inner>.vxe-textarea,.vxe-col.is--span>.vxe-col--inner>.vxe-tree-select,.vxe-col.is--width>.vxe-col--inner>.vxe-date-picker,.vxe-col.is--width>.vxe-col--inner>.vxe-default-select,.vxe-col.is--width>.vxe-col--inner>.vxe-default-textarea,.vxe-col.is--width>.vxe-col--inner>.vxe-ico-picker,.vxe-col.is--width>.vxe-col--inner>.vxe-input,.vxe-col.is--width>.vxe-col--inner>.vxe-number-input,.vxe-col.is--width>.vxe-col--inner>.vxe-password-input,.vxe-col.is--width>.vxe-col--inner>.vxe-select,.vxe-col.is--width>.vxe-col--inner>.vxe-table-select,.vxe-col.is--width>.vxe-col--inner>.vxe-textarea,.vxe-col.is--width>.vxe-col--inner>.vxe-tree-select{width:100%}
1
+ .vxe-row{position:relative;display:flex;flex-direction:row;flex-grow:1}.vxe-row.is--vertical{flex-direction:column}.vxe-row.is--wrap{flex-wrap:wrap}.vxe-col{display:block}.vxe-col.is--ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-col.is--fill{flex-grow:1}.vxe-col:not(.is--fill){flex-shrink:0}.vxe-col.align--left{text-align:left}.vxe-col.align--center{text-align:center}.vxe-col.align--right{text-align:right}.vxe-row.def--layout>.vxe-col.span1{width:4.16667%}.vxe-row.def--layout>.vxe-col.span2{width:8.33333%}.vxe-row.def--layout>.vxe-col.span3{width:12.5%}.vxe-row.def--layout>.vxe-col.span4{width:16.66667%}.vxe-row.def--layout>.vxe-col.span5{width:20.83333%}.vxe-row.def--layout>.vxe-col.span6{width:25%}.vxe-row.def--layout>.vxe-col.span7{width:29.16667%}.vxe-row.def--layout>.vxe-col.span8{width:33.33333%}.vxe-row.def--layout>.vxe-col.span9{width:37.5%}.vxe-row.def--layout>.vxe-col.span10{width:41.66667%}.vxe-row.def--layout>.vxe-col.span11{width:45.83333%}.vxe-row.def--layout>.vxe-col.span12{width:50%}.vxe-row.def--layout>.vxe-col.span13{width:54.16667%}.vxe-row.def--layout>.vxe-col.span14{width:58.33333%}.vxe-row.def--layout>.vxe-col.span15{width:62.5%}.vxe-row.def--layout>.vxe-col.span16{width:66.66667%}.vxe-row.def--layout>.vxe-col.span17{width:70.83333%}.vxe-row.def--layout>.vxe-col.span18{width:75%}.vxe-row.def--layout>.vxe-col.span19{width:79.16667%}.vxe-row.def--layout>.vxe-col.span20{width:83.33333%}.vxe-row.def--layout>.vxe-col.span21{width:87.5%}.vxe-row.def--layout>.vxe-col.span22{width:91.66667%}.vxe-row.def--layout>.vxe-col.span23{width:95.83333%}.vxe-row.def--layout>.vxe-col.span24{width:100%}.vxe-row.grid--layout{display:grid;grid-template-columns:repeat(24,minmax(0,1fr))}.vxe-row.grid--layout>.vxe-col.span1{grid-column:span 1}.vxe-row.grid--layout>.vxe-col.span2{grid-column:span 2}.vxe-row.grid--layout>.vxe-col.span3{grid-column:span 3}.vxe-row.grid--layout>.vxe-col.span4{grid-column:span 4}.vxe-row.grid--layout>.vxe-col.span5{grid-column:span 5}.vxe-row.grid--layout>.vxe-col.span6{grid-column:span 6}.vxe-row.grid--layout>.vxe-col.span7{grid-column:span 7}.vxe-row.grid--layout>.vxe-col.span8{grid-column:span 8}.vxe-row.grid--layout>.vxe-col.span9{grid-column:span 9}.vxe-row.grid--layout>.vxe-col.span10{grid-column:span 10}.vxe-row.grid--layout>.vxe-col.span11{grid-column:span 11}.vxe-row.grid--layout>.vxe-col.span12{grid-column:span 12}.vxe-row.grid--layout>.vxe-col.span13{grid-column:span 13}.vxe-row.grid--layout>.vxe-col.span14{grid-column:span 14}.vxe-row.grid--layout>.vxe-col.span15{grid-column:span 15}.vxe-row.grid--layout>.vxe-col.span16{grid-column:span 16}.vxe-row.grid--layout>.vxe-col.span17{grid-column:span 17}.vxe-row.grid--layout>.vxe-col.span18{grid-column:span 18}.vxe-row.grid--layout>.vxe-col.span19{grid-column:span 19}.vxe-row.grid--layout>.vxe-col.span20{grid-column:span 20}.vxe-row.grid--layout>.vxe-col.span21{grid-column:span 21}.vxe-row.grid--layout>.vxe-col.span22{grid-column:span 22}.vxe-row.grid--layout>.vxe-col.span23{grid-column:span 23}.vxe-row.grid--layout>.vxe-col.span24{grid-column:span 24}.vxe-col--inner{width:100%}.vxe-col.is--span>.vxe-col--inner>.vxe-date-picker,.vxe-col.is--span>.vxe-col--inner>.vxe-default-select,.vxe-col.is--span>.vxe-col--inner>.vxe-default-textarea,.vxe-col.is--span>.vxe-col--inner>.vxe-ico-picker,.vxe-col.is--span>.vxe-col--inner>.vxe-input,.vxe-col.is--span>.vxe-col--inner>.vxe-number-input,.vxe-col.is--span>.vxe-col--inner>.vxe-password-input,.vxe-col.is--span>.vxe-col--inner>.vxe-select,.vxe-col.is--span>.vxe-col--inner>.vxe-table-select,.vxe-col.is--span>.vxe-col--inner>.vxe-textarea,.vxe-col.is--span>.vxe-col--inner>.vxe-tree-select,.vxe-col.is--width>.vxe-col--inner>.vxe-date-picker,.vxe-col.is--width>.vxe-col--inner>.vxe-default-select,.vxe-col.is--width>.vxe-col--inner>.vxe-default-textarea,.vxe-col.is--width>.vxe-col--inner>.vxe-ico-picker,.vxe-col.is--width>.vxe-col--inner>.vxe-input,.vxe-col.is--width>.vxe-col--inner>.vxe-number-input,.vxe-col.is--width>.vxe-col--inner>.vxe-password-input,.vxe-col.is--width>.vxe-col--inner>.vxe-select,.vxe-col.is--width>.vxe-col--inner>.vxe-table-select,.vxe-col.is--width>.vxe-col--inner>.vxe-textarea,.vxe-col.is--width>.vxe-col--inner>.vxe-tree-select{width:100%}
@@ -17,6 +17,7 @@ const {
17
17
  createEvent,
18
18
  domUtils,
19
19
  globalResize,
20
+ globalEvents,
20
21
  renderEmptyElement
21
22
  } = _ui.VxeUI;
22
23
  function createReactData() {
@@ -261,6 +262,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
261
262
  if (!viewEl) {
262
263
  return;
263
264
  }
265
+ if (!viewEl.clientHeight || !viewEl.clientHeight) {
266
+ return;
267
+ }
264
268
  const trackXEl = refTrackXElem.value;
265
269
  const xThumbWidth = trackXEl ? (0, _util.getThumbSize)(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
266
270
  const thumbXElem = refThumbXElem.value;
@@ -281,6 +285,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
281
285
  if (!viewEl) {
282
286
  return;
283
287
  }
288
+ if (!viewEl.clientHeight || !viewEl.clientHeight) {
289
+ return;
290
+ }
284
291
  const {
285
292
  xThumbWidth,
286
293
  yThumbHeight
@@ -621,6 +628,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
621
628
  internalData.resizeObserver = resizeObserver;
622
629
  }
623
630
  reFlag.value++;
631
+ globalEvents.on($xeScrollbar, 'resize', () => {
632
+ reFlag.value++;
633
+ });
624
634
  });
625
635
  (0, _vue.onBeforeUnmount)(() => {
626
636
  const {
@@ -629,6 +639,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
629
639
  if (resizeObserver) {
630
640
  resizeObserver.disconnect();
631
641
  }
642
+ globalEvents.off($xeScrollbar, 'resize');
632
643
  });
633
644
  $xeScrollbar.renderVN = renderVN;
634
645
  return $xeScrollbar;