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.
- package/dist/all.esm.js +2206 -2111
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/card/src/card.js +35 -12
- package/es/card/style.css +42 -44
- package/es/card/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/list/src/list.js +6 -2
- package/es/row/src/col.js +39 -18
- package/es/row/src/row.js +34 -16
- package/es/row/style.css +101 -24
- package/es/row/style.min.css +1 -1
- package/es/scrollbar/src/scrollbar.js +11 -1
- package/es/scrollbar/style.css +5 -5
- package/es/scrollbar/style.min.css +1 -1
- package/es/space/style.css +1 -0
- package/es/space/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +27 -8
- package/es/tabs/style.css +4 -2
- package/es/tabs/style.min.css +1 -1
- package/es/tree/src/tree.js +6 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-card/style.css +42 -44
- package/es/vxe-card/style.min.css +1 -1
- package/es/vxe-row/style.css +101 -24
- package/es/vxe-row/style.min.css +1 -1
- package/es/vxe-scrollbar/style.css +5 -5
- package/es/vxe-scrollbar/style.min.css +1 -1
- package/es/vxe-space/style.css +1 -0
- package/es/vxe-space/style.min.css +1 -1
- package/es/vxe-tabs/style.css +4 -2
- package/es/vxe-tabs/style.min.css +1 -1
- package/lib/card/src/card.js +42 -6
- package/lib/card/src/card.min.js +1 -1
- package/lib/card/style/style.css +42 -44
- package/lib/card/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +2600 -2463
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +5 -1
- package/lib/list/src/list.min.js +1 -1
- package/lib/row/src/col.js +43 -17
- package/lib/row/src/col.min.js +1 -1
- package/lib/row/src/row.js +38 -14
- package/lib/row/src/row.min.js +1 -1
- package/lib/row/style/style.css +101 -24
- package/lib/row/style/style.min.css +1 -1
- package/lib/scrollbar/src/scrollbar.js +11 -0
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/scrollbar/style/style.css +5 -5
- package/lib/scrollbar/style/style.min.css +1 -1
- package/lib/space/style/style.css +1 -0
- package/lib/space/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +40 -8
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tabs/style/style.css +4 -2
- package/lib/tabs/style/style.min.css +1 -1
- package/lib/tree/src/tree.js +5 -1
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-card/style/style.css +42 -44
- package/lib/vxe-card/style/style.min.css +1 -1
- package/lib/vxe-row/style/style.css +101 -24
- package/lib/vxe-row/style/style.min.css +1 -1
- package/lib/vxe-scrollbar/style/style.css +5 -5
- package/lib/vxe-scrollbar/style/style.min.css +1 -1
- package/lib/vxe-space/style/style.css +1 -0
- package/lib/vxe-space/style/style.min.css +1 -1
- package/lib/vxe-tabs/style/style.css +4 -2
- package/lib/vxe-tabs/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/card/src/card.ts +55 -12
- package/packages/list/src/list.ts +6 -2
- package/packages/row/src/col.ts +41 -18
- package/packages/row/src/row.ts +36 -17
- package/packages/scrollbar/src/scrollbar.ts +13 -1
- package/packages/tabs/src/tabs.ts +34 -8
- package/packages/tree/src/tree.ts +6 -2
- package/styles/components/card.scss +44 -58
- package/styles/components/row.scss +21 -3
- package/styles/components/scrollbar.scss +15 -11
- package/styles/components/space.scss +1 -0
- package/styles/components/tabs.scss +2 -1
- package/types/components/card.d.ts +11 -0
- package/types/components/grid.d.ts +37 -0
- package/types/components/layout-aside.d.ts +6 -0
- package/types/components/layout-body.d.ts +6 -0
- package/types/components/menu.d.ts +6 -0
- package/types/components/row.d.ts +2 -0
- package/types/components/table.d.ts +1 -2
- package/types/components/tabs.d.ts +11 -0
- /package/es/icon/{iconfont.1791769645781.ttf → iconfont.1791862962954.ttf} +0 -0
- /package/es/icon/{iconfont.1791769645781.woff → iconfont.1791862962954.woff} +0 -0
- /package/es/icon/{iconfont.1791769645781.woff2 → iconfont.1791862962954.woff2} +0 -0
- /package/es/{iconfont.1791769645781.ttf → iconfont.1791862962954.ttf} +0 -0
- /package/es/{iconfont.1791769645781.woff → iconfont.1791862962954.woff} +0 -0
- /package/es/{iconfont.1791769645781.woff2 → iconfont.1791862962954.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791769645781.ttf → iconfont.1791862962954.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791769645781.woff → iconfont.1791862962954.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791769645781.woff2 → iconfont.1791862962954.woff2} +0 -0
- /package/lib/{iconfont.1791769645781.ttf → iconfont.1791862962954.ttf} +0 -0
- /package/lib/{iconfont.1791769645781.woff → iconfont.1791862962954.woff} +0 -0
- /package/lib/{iconfont.1791769645781.woff2 → iconfont.1791862962954.woff2} +0 -0
package/lib/list/src/list.js
CHANGED
|
@@ -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
|
-
|
|
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));
|
package/lib/list/src/list.min.js
CHANGED
|
@@ -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()}});
|
package/lib/row/src/col.js
CHANGED
|
@@ -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 (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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 (
|
|
71
|
-
|
|
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
|
},
|
package/lib/row/src/col.min.js
CHANGED
|
@@ -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(
|
|
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()}});
|
package/lib/row/src/row.js
CHANGED
|
@@ -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 (
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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;
|
package/lib/row/src/row.min.js
CHANGED
|
@@ -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:
|
|
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()}});
|
package/lib/row/style/style.css
CHANGED
|
@@ -34,78 +34,155 @@
|
|
|
34
34
|
.vxe-col.align--right {
|
|
35
35
|
text-align: right;
|
|
36
36
|
}
|
|
37
|
-
|
|
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;
|