vxe-pc-ui 4.19.7 → 4.20.0
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 -1851
- 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 +323 -19
- package/es/list/style.css +26 -0
- package/es/list/style.min.css +1 -1
- package/es/scrollbar/src/scrollbar.js +9 -1
- package/es/scrollbar/style.css +6 -5
- package/es/scrollbar/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/ui/src/utils.js +9 -0
- package/es/vxe-card/style.css +42 -44
- package/es/vxe-card/style.min.css +1 -1
- package/es/vxe-list/style.css +26 -0
- package/es/vxe-list/style.min.css +1 -1
- package/es/vxe-scrollbar/style.css +6 -5
- package/es/vxe-scrollbar/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 +2785 -2383
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +333 -20
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/style/style.css +26 -0
- package/lib/list/style/style.min.css +1 -1
- package/lib/scrollbar/src/scrollbar.js +9 -1
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/scrollbar/style/style.css +6 -5
- package/lib/scrollbar/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/ui/src/utils.js +10 -0
- package/lib/ui/src/utils.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-list/style/style.css +26 -0
- package/lib/vxe-list/style/style.min.css +1 -1
- package/lib/vxe-scrollbar/style/style.css +6 -5
- package/lib/vxe-scrollbar/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 +351 -19
- package/packages/scrollbar/src/scrollbar.ts +10 -1
- package/packages/tabs/src/tabs.ts +34 -8
- package/packages/tree/src/tree.ts +6 -2
- package/packages/ui/src/utils.ts +10 -0
- package/styles/components/card.scss +44 -58
- package/styles/components/list.scss +51 -0
- package/styles/components/scrollbar.scss +18 -11
- 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 +7 -1
- package/types/components/layout-body.d.ts +7 -1
- package/types/components/list.d.ts +24 -2
- package/types/components/menu.d.ts +6 -0
- package/types/components/table-plugins/extend-cell-area.d.ts +1 -1
- package/types/components/table.d.ts +25 -2
- package/types/components/tabs.d.ts +11 -0
- /package/es/icon/{iconfont.1791794447472.ttf → iconfont.1791880413927.ttf} +0 -0
- /package/es/icon/{iconfont.1791794447472.woff → iconfont.1791880413927.woff} +0 -0
- /package/es/icon/{iconfont.1791794447472.woff2 → iconfont.1791880413927.woff2} +0 -0
- /package/es/{iconfont.1791794447472.ttf → iconfont.1791880413927.ttf} +0 -0
- /package/es/{iconfont.1791794447472.woff → iconfont.1791880413927.woff} +0 -0
- /package/es/{iconfont.1791794447472.woff2 → iconfont.1791880413927.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791794447472.ttf → iconfont.1791880413927.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791794447472.woff → iconfont.1791880413927.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791794447472.woff2 → iconfont.1791880413927.woff2} +0 -0
- /package/lib/{iconfont.1791794447472.ttf → iconfont.1791880413927.ttf} +0 -0
- /package/lib/{iconfont.1791794447472.woff → iconfont.1791880413927.woff} +0 -0
- /package/lib/{iconfont.1791794447472.woff2 → iconfont.1791880413927.woff2} +0 -0
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("../../scrollbar/src/util"),_util2=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,yThumbHeight:0,xThumbWidth:0,insertRowFlag:1,removeRowFlag:1,dragRow:null,dragTipText:"",isCrossDragRow:!1}}function createInternalData(){return{fullData:[],afterList:[],fullKeyMaps:{},rowMaps:{},thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft: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,useScrollbar:{type:Boolean,default:()=>(0,_ui.getConfig)().list.useScrollbar},scrollbarConfig: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:M,emit:l}=e;var t=_xeUtils.default.uniqueId();let a=_xeUtils.default.browse(),P=(0,_ui.useSize)(S).computeSize,H=(0,_vue.reactive)(createReactData()),F=createInternalData(),g=(0,_store.getCrossListDragRowInfo)(),T=(0,_vue.ref)(),z=(0,_vue.ref)(),N=(0,_vue.ref)(),I=(0,_vue.ref)(),Y=(0,_vue.ref)(),W=(0,_vue.ref)(),X=(0,_vue.ref)(),V=(0,_vue.ref)(),G=(0,_vue.ref)(),J=(0,_vue.ref)(),Q=(0,_vue.ref)(),Z=(0,_vue.ref)(),i={refElem:T},O={xID:t,props:S,context:e,reactData:H,internalData:F,getRefMaps:()=>i},B=(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)),U=(0,_vue.computed)(()=>{var e=B.value.keyField;return e||""}),A=(0,_vue.computed)(()=>{var e=S.dragConfig,t=K.value;return e&&(0,_utils.isEnableConf)(t)}),f=(0,_vue.computed)(()=>{var e=B.value.height;return e}),$=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.radioConfig,S.radioConfig)),j=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.checkboxConfig,S.checkboxConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.menuConfig,S.menuConfig)),ee=(0,_vue.computed)(()=>{var e=f.value,t=L.value,r=E.value,o={};return e&&(o["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),r.width&&(o["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(r.width)),t.height&&(o["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(t.height)),o}),te=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=S,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:i}=H,a={};return e?a.height=(0,_dom.toCssUnit)(Math.max(20,r-l-i)):t&&(a.height="auto",a.maxHeight=(0,_dom.toCssUnit)(Math.max(20,o-l-i))),a}),x=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.scrollbarConfig,S.scrollbarConfig)),L=(0,_vue.computed)(()=>{var e=x.value;return Object.assign({},(0,_ui.getConfig)().scrollbar.xConfig,e.xConfig)}),E=(0,_vue.computed)(()=>{var e=x.value;return Object.assign({},(0,_ui.getConfig)().scrollbar.yConfig,e.yConfig)}),re=(0,_vue.computed)(()=>{var e=x.value.padding,{yThumbHeight:t,xThumbWidth:r}=H,o=L.value,l=E.value,i=oe.value,a=le.value;return _ui.domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--"+(o.visible||"visible"),"ov-y--"+(l.visible||"visible"),"sx-pos--"+(i?"top":"bottom"),"sy-pos--"+(a?"left":"right")],{"is--padding":e,"ov-x--auto-hide":o.autoHide,"ov-y--auto-hide":l.autoHide,"overflow-y":t,"overflow-x":r})}),oe=(0,_vue.computed)(()=>"top"===L.value.position),le=(0,_vue.computed)(()=>"left"===E.value.position),_=(e,t,r)=>{l(e,(0,_ui.createEvent)(r,{$list:O},t))},s=e=>{l("update:checkRowKeys",e)},n=e=>{l("update:checkRowKey",e)},R=e=>getRowIdByField(e,U.value),ie=e=>{var t=H.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},ae=()=>{var e=z.value,t=N.value;H.headHeight=e?Math.floor(e.offsetHeight):0,H.footHeight=t?Math.floor(t.offsetHeight):0,H.customHeight=ie("height"),H.customMaxHeight=ie("maxHeight")},m=()=>{var e=H.scrollYLoad,{scrollYStore:t,fullData:r}=F;H.bodyHeight=e?r.length*t.rowHeight:0,H.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},se=()=>{var e=F.fullData;F.afterList=e.slice(0),xe()},b=e=>{var t=H.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=F,i=U.value;e&&se();e=t?r.slice(o.startIndex,o.endIndex):r.slice(0);return i&&e.forEach((e,t)=>{e=getRowIdByField(e,i),e=l[e];e&&(e.$index=t)}),H.rowList=e,(0,_vue.nextTick)()},ne=()=>{b(),m()},ue=()=>(0,_vue.nextTick)().then(()=>{var e=H.scrollYLoad,t=F.scrollYStore,r=Y.value,o=w.value;let l=0,i;(i=r?(i=o.sItem?r.querySelector(o.sItem):i)||r.children[0]:i)&&(l=i.offsetHeight),l=Math.max(12,l),t.rowHeight=l,(e?(r=I.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):a.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),ne):m)()}),ce=()=>{var e=I.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},de=(e,t)=>{var r=I.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),H.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},ve=()=>{let{lastScrollLeft:e,lastScrollTop:t}=F;return ge(),ce().then(()=>{if(e||t)return F.lastScrollLeft=0,F.lastScrollTop=0,de(e,t)})},ge=()=>{Ge(),Je()},C=()=>{var r,o=T.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))),H.parentHeight=t,ge(),ae(),o.clientWidth&&o.clientHeight)return ue()}return(0,_vue.nextTick)()},he=e=>{var t=F.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:i,rowHeight:a}=t,e=e.target.scrollTop,e=Math.floor(e/a),a=Math.max(0,e-1-i),i=e+l+i;!(e<=r||o-l-1<=e)||r===a&&o===i||(t.startIndex=a,t.endIndex=i,ne())},we=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==F.lastScrollLeft,l=r!==F.lastScrollTop;Je(),F.lastScrollTop=r,F.lastScrollLeft=t,H.scrollYLoad&&he(e),_("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},fe=()=>{var e=S.checkRowKey,t=F.fullKeyMaps;e?(t=t[e],H.selectRadioRow=t||null):H.selectRadioRow=null},pe=()=>{var e=S.checkRowKeys,t=F.fullKeyMaps,r=U.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}F.selectCheckboxMaps=o,v()},xe=()=>{let{afterList:e,rowMaps:l}=F,i=U.value,a=0;e.forEach((e,t)=>{var r=getRowIdByField(e,i),o=l[r];o?o._index=a:(o={item:e,index:t,$index:-1,_index:a},l[r]=o),a++})},_e=()=>{var e=F.fullData;let l=U.value,i={},a={};l&&e.forEach((e,t)=>{var r=getRowIdByField(e,l),o=getRowKeyByField(e,l);i[o]=e,a[r]={item:e,index:t,$index:-1,_index:-1}}),F.fullKeyMaps=i,F.rowMaps=a},r=e=>{var t=F.scrollYStore,r=w.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),F.fullData=e,F.insertRowMaps={},H.insertRowFlag++,F.removeRowMaps={},H.removeRowFlag++,H.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),_e(),b(!0),fe(),pe(),ue().then(()=>{ve()})},Re=()=>{k(),y(),C()},me=()=>{var e=T.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},be=e=>{var t=w.value.sItem,r=T.value;if(r){e=R(e);_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-list--row[rowid="${e}"]`+(t?t+`[rowid="${e}"]`:"")),e=>{(0,_dom.addClass)(e,"row--drag-origin")})}},Ce=e=>{var t=H.dragRow,r=K.value.tooltipMethod;let o="";o=r?""+(r({$list:O,row:t})||""):(0,_ui.getI18n)("vxe.list.dragTip",[e.textContent||""]),H.dragTipText=o},u=()=>{var e=Z.value,t=Q.value;e&&(e.style.display=""),t&&(t.style.display="")},y=()=>{crossListDragRowObj=null,g.row=null},ye=()=>{var e=H.dragRow;e&&(u(),me(),y(),H.dragRow=null)},ke=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:i}=K.value,a=e.currentTarget,l="row"===l?a:a.parentElement.parentElement;me(),i&&!i(t)?(l.draggable=!1,H.dragRow=null,u()):(o&&(g.row=r,crossListDragRowObj={$oldList:O,$newList:null}),a={row:r},H.dragRow=r,H.isCrossDragRow=!1,l.draggable=!0,be(r),Ce(l),_("row-dragstart",a,e))},De=()=>{ye()},c=(e,t,r,o)=>{var l=T.value;if(l){var i=l.getBoundingClientRect(),a=l.clientHeight;if(t){var s=Q.value;if(s)if(r){var n=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,n.y-i.y);t+e>a&&(e=a-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=Z.value;n&&(n.style.display="block",n.style.top=Math.min(l.clientHeight-l.scrollTop-n.clientHeight,e.clientY-i.y)+"px",n.style.left=Math.min(l.clientWidth-l.scrollLeft-n.clientWidth-1,e.clientX-i.x)+"px",n.setAttribute("drag-status",r?"normal":"disabled"))}},k=()=>{var e=T.value;u(),me(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),H.dragRow=null},Te=(l,i,a,s)=>{let n=F.fullData;var e=K.value;let{animation:v,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let g="bottom"===s?1:0,h=T.value,w={status:!1};if(h&&a&&i){if(a!==i){var f={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g};let u=R(i),c=Ke(n,u);var p,x=D(a);let d=0,t=-1,r=void(v&&(x=h.querySelector(`.vxe-list--row[rowid="${x}"]`),p=h.querySelector(`.vxe-list--row[rowid="${u}"]`),(x=x||p)&&(d=x.offsetHeight),p)&&(t=p.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=Be(n,i),n.splice(r,1);var e=Be(n,a);return o=e+g,n.splice(o,0,i),b(),H.scrollYLoad&&m(),l&&(e={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g,_index:{newIndex:o,oldIndex:r}},_("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(v){var o=H.rowList,l=F.fullData,i=Ke(l,u),a=l[0],a=Be(l,a),s=h;if(-1<a){var n=a+l.length;let e=-1,t=-1,r=1;c<a?(e=0,t=i-a):c>n?(n=Ke(o,u),e=n+1,t=l.length,r=-1):i>c?(e=c-a,t=e+i-c):(e=i-a,t=e+c-i+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});n=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(n,r*d)}}a=[`.vxe-list--row[rowid="${u}"]`],i=s.querySelectorAll(a.join(",")),l=i[0];-1<t&&l&&(0,_anime.moveRowAnimateToTb)(i,t-l.offsetTop)}C()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(k(),y(),e))}k(),y()}return Promise.resolve(w)},Ie=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},Le=e=>{var t=H.dragRow,{prevDragRow:r,prevDragPos:o}=F,l=K.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==O.xID)return void l.handleCrossListRowDragInsertEvent(e)}Te(e,t,r,o)},Ee=e=>{var t=H.dragRow,r=F.fullData,o=K.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),i=l.getAttribute("rowid")||"",r=d(r,i);if(r){e.preventDefault();var a=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(F.prevDragRow=r,F.prevDragPos=a,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==O.xID)return s&&s.xID!==O.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,H.dragTipText=n.dragTipText,crossListDragRowObj.$newList=O,void c(e,l,!0,a);s&&s.hideCrossListRowDropClearStatus(),H.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&R(t)===i?c(e,l,!1,a):(o={oldRow:t,targetRow:r,dragPos:a,dragRow:t,offsetIndex:"bottom"==a?1:0},c(e,l,!0,a),_("row-dragover",o,e))}},Se=(e,t)=>{var{trigger:r,disabledMethod:o}=K.value;let l=!1;A.value&&(l="row"===r);r={row:t,$list:O};!l||o&&o(r)||ke(e,r)},Me=(e,t)=>{var{showRadio:r,showCheckbox:o}=S,l=F.currentRow,i=$.value,a=j.value,s=B.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,Ne(e,t)):l&&(F.currentRow=null,H.currRowFlag++),r&&"row"===i.trigger&&(u=!0,Ye(e,t)),o&&"row"===a.trigger&&(c=!0,ze(e,t)),_("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},He=(e,t)=>{_("row-dblclick",{row:t},e)},D=e=>getRowKeyByField(e,U.value),o=(e,t)=>""+e==""+t,Fe=(e,t)=>!(!e||!t)&&(e===t||o(R(e),R(t))),Oe=(e,t)=>e&&o(D(e),t);let d=(e,t)=>{let r=U.value;return _xeUtils.default.find(e,e=>o(getRowIdByField(e,r),t))},Be=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>Fe(e,t)):-1,Ke=(e,t)=>{let r=U.value;return _xeUtils.default.findIndexOf(e,e=>o(getRowIdByField(e,r),t))},Ue=e=>{var t=H.selectRadioRow;return D(t)===e};let Ae=e=>{var t=H.updateCheckboxFlag,r=F.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=H.updateCheckboxFlag,t=F.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let $e=()=>{var e=H.updateCheckboxFlag,t=F.selectCheckboxMaps;let r=U.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},je=()=>{F.selectCheckboxMaps={},H.updateCheckboxFlag++,H.isAllChecked=!1,H.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},qe=e=>{var{fullData:t,selectCheckboxMaps:r}=F,o=U.value;if(e){var l,i=[];for(l of t){var a=getRowKeyByField(l,o);r[getRowIdByField(l,o)]=l,i.push(a)}return s(i),v()}return je()},v=()=>{var{selectCheckboxMaps:e,fullData:t}=F,r=U.value,o=j.value.checkMethod;let l=!1,i=!1;if(o){for(var a of t)if(o({row:a,$list:O}))if(e[getRowIdByField(a,r)])l=!0;else if(i=!0,l)break}else for(var s of t)if(e[getRowIdByField(s,r)])l=!0;else if(i=!0,l)break;return H.isAllChecked=l&&!i,H.isAllIndeterminate=l&&i,H.updateCheckboxFlag++,(0,_vue.nextTick)()},Pe=e=>{var t=H.isAllChecked,t=!t;t?qe(!0):je(),_("checkbox-all",{checked:t},e)},ze=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=F.selectCheckboxMaps,l=j.value.checkMethod,i=R(r),l=!!l&&!l({$list:O,row:r});if(!l){let e=!1;o[i]?delete o[i]:(e=!0,o[i]=r),H.updateCheckboxFlag++,v();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),_("checkbox-change",{row:r,value:l,checked:e},t)}},Ne=(e,t)=>{e.preventDefault();var r=B.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(F.currentRow=t,H.currRowFlag++,_("current-change",{row:t,checked:!0},e))},Ye=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=H.selectRadioRow,{strict:l,checkMethod:i}=$.value,a=D(r),i=!!i&&!i({$list:O,row:r});if(!i){i=a;let e=!0;l&&o&&a===D(o)?(e=!1,H.selectRadioRow=null):H.selectRadioRow=r,n(i),_("radio-change",{row:r,value:i,checked:e},t)}},We=(e,t)=>{let{fullData:o,rowMaps:l}=F,i=U.value,a=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,i),r=(0,_util2.getItemCacheObj)(e);o[a](e),l[t]=r})},Xe=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:i,insertRowMaps:a}=F,s=U.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))We(u,!1);else if(-1===n)We(u,!0);else{t=o.findIndex(e=>n[s]===e[s]);if(-1<t){u.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util2.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...u)}else warnLog("vxe.error.unableInsert"),We(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);i[t]?(delete i[t],a[t]&&delete a[t]):a[t]=e}),H.removeRowFlag++,H.insertRowFlag++,_e(),b(!0),xe(),v(),H.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},Ve=(o,l)=>{var e=S.menuConfig,t=p.value,r=B.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:O,options:e,row:l})||(r?Ne(o,l):F.currentRow&&(F.currentRow=null,H.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:O};r&&r(t,o),_("menu-click",t,e.$event)}}}))),_("row-menu",{row:l},o)};e={dispatchEvent:_,loadData:r,reloadData(e){return ce(),r(e)},getFullData(){var e=F.fullData;return e},recalculate:C,scrollTo:de,refreshScroll:ve,clearScroll:ce,getRowKey:D,eqRowKey:o,eqRow:Fe,eqRowByKey:Oe,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>Fe(e,t)):null,findRowByKey:d,findRowIndexOf:Be,findRowIndexOfByKey:Ke,isCheckedByRadioRowKey:Ue,isCheckedByRadioRow:e=>Ue(D(e)),isCheckedByCheckboxRowKey:Ae,isCheckedByCheckboxRow:e=>Ae(D(e)),setCurrentRow:e=>(F.currentRow=e,H.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=F.fullData;return F.currentRow=d(t,e),H.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=F.currentRow;return e},getCurrentRowKey:()=>{var e=F.currentRow;return e?D(e):null},clearCurrentRow:()=>(F.currentRow=null,H.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{H.selectRadioRow=e;e=D(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=F.fullData,t=(H.selectRadioRow=d(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=H.selectRadioRow;return e},getRadioRowKey:()=>{var e=H.selectRadioRow;return e?D(e):null},clearRadioRow:()=>(H.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=F.selectCheckboxMaps,o=U.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=$e();return s(e),v()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=F,l=U.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=$e();return s(e),v()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:$e,clearCheckboxRow:je,setAllCheckboxRow:qe,insert(e){return Xe(e,null)},insertAt(e,t){return Xe(e,t)},insertNextAt(e,t){return Xe(e,t,!0)},getInsertRecords(){var e=F.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=R(e);return!!H.insertRowFlag&&!!F.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=F;if(!U.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;O.isInsertByRow(e)||(t=R(e),o[t]=e)}),r===e?(e=l=r.slice(0),F.fullData=[]):e.forEach(e=>{let t=R(e);var e=_xeUtils.default.findIndexOf(r,e=>t===R(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=R(e);t[e]&&delete t[e]}),H.removeRowFlag++,H.insertRowFlag++,_e(),b(!0),xe(),v(),H.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>C()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=F.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=R(e);return!!H.removeRowFlag&&!!F.removeRowMaps[e]},getRecordset(){return{insertRecords:O.getInsertRecords(),removeRecords:O.getRemoveRecords()}}};let Ge=()=>{var e,t,r=I.value;r&&r.clientHeight&&(t=(t=X.value)?(0,_util.getThumbSize)(r.clientWidth,r.scrollWidth,t.clientWidth):0,(e=G.value)&&(e.style.width=t+"px"),H.xThumbWidth=t,t=(e=V.value)?(0,_util.getThumbSize)(r.clientHeight,r.scrollHeight,e.clientHeight):0,(r=J.value)&&(r.style.height=t+"px"),H.yThumbHeight=t)},Je=()=>{var e,t,r,o,l=I.value;l&&l.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=H,o=X.value,r=G.value,o=o&&t?(0,_util.getThumbOffsetSize)(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t):0,F.xThumbLeft=o,r&&t&&(r.style.width=t+"px",r.style.transform=`translateX(${o}px)`),t=V.value,r=J.value,o=t&&e?(0,_util.getThumbOffsetSize)(l.scrollTop,l.clientHeight,l.scrollHeight,t.clientHeight,e):0,F.yThumbTop=o,r)&&e&&(r.style.height=e+"px",r.style.transform=`translateY(${o}px)`)},Qe=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=I.value)&&(r=H.xThumbWidth,o=l.getBoundingClientRect(),t.scrollTo({left:(0,_util.getScrollFromClick)(e.clientX-o.left,t.clientWidth,t.scrollWidth,l.clientWidth,r),behavior:"auto"}))},Ze=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=I.value)&&(r=H.yThumbHeight,o=l.getBoundingClientRect(),t.scrollTo({top:(0,_util.getScrollFromClick)(e.clientY-o.top,t.clientHeight,t.scrollHeight,l.clientHeight,r),behavior:"auto"}))},et=e=>{var t,r,o=e.currentTarget,l=(F.isThumbDrag=!0,o.setPointerCapture(e.pointerId),I.value);l&&(t=H.xThumbWidth,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientX-r.left,r=(0,_util.getThumbOffsetSize)(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t),F.thumbDragOffset=e-r)},tt=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=F;if(r){r=I.value;if(r){var l=H.xThumbWidth;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollLeft=(0,_util.getScrollFromDrag)(t.clientX-a.left,o,r.clientWidth,r.scrollWidth,i.clientWidth,l)}}}},q=e=>{e.currentTarget.releasePointerCapture(e.pointerId),F.isThumbDrag=!1},rt=e=>{var t,r,o=e.currentTarget,l=(F.isThumbDrag=!0,o.setPointerCapture(e.pointerId),I.value);l&&(t=H.yThumbHeight,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientY-r.top,r=(0,_util.getThumbOffsetSize)(l.scrollTop,l.clientHeight,l.scrollHeight,o.clientHeight,t),F.thumbDragOffset=e-r)},ot=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=F;if(r){r=I.value;if(r){var l=H.yThumbHeight;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollTop=(0,_util.getScrollFromDrag)(t.clientY-a.top,o,r.clientHeight,r.scrollHeight,i.clientHeight,l)}}}},lt=(Object.assign(O,e,{handleCrossListRowDragCancelEvent(){k(),y()},handleCrossListRowDragFinishEvent(t){var l=H.rowList,i=F.rowMaps;let{animation:a,isCrossListDrag:e}=K.value,s=T.value;if(s&&e&&crossListDragRowObj&&g){var n=g.row;if(n){var u=R(n),i=i[u];let r=0,e=-1,o=(i&&(a&&(u=s.querySelector(`.vxe-list--row[rowid="${u}"]`))&&(r=u.offsetHeight),e=i.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);u=[n];O.remove(u).then(()=>{if(a&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),_("row-remove-dragend",{row:n},t),Re()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=H.rowList,o=K.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==O.xID&&(r&&r.xID!==O.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=O,F.prevDragRow=null,H.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=F;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=K.value;if(e&&crossListDragRowObj&&g){let l=g.row,a=crossListDragRowObj.$oldList,s=T.value;if(s&&(a&&l)){let i=l,r=-1;u&&(r="bottom"===c?1:0);var v={oldRow:i,newRow:u,dragRow:i,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(v)).then(e=>{if(!e)return a&&a.xID!==O.xID&&a.handleCrossListRowDragCancelEvent(n),Re(),o;let t=Promise.resolve();e=[i];a.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?O.insertNextAt(e,u):O.insertAt(e,u):O.insert(e),O.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:i,dragPos:c,offsetIndex:r},n),k(),t.then(()=>{var e=H.rowList,r=F.rowMaps,o=R(i),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=R(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-l)}})})}}},hideCrossListRowDropClearStatus(){u()}}),(t,e,r,o)=>{var l=S.showRadio,{showIcon:i,visibleMethod:a}=$.value,a=!a||a({$list:O,row:t});return l&&i&&a?(0,_vue.h)("div",{key:"ct2",class:["vxe-list--radio-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Ye(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)(O)}),it=(t,e,r,o)=>{var l=S.showCheckbox,{showIcon:i,visibleMethod:a}=j.value,a=!a||a({$list:O,row:t});return l&&i&&a?(0,_vue.h)("div",{key:"ct3",class:["vxe-list--checkbox-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||ze(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)(O)},at=(t,e)=>{var{showRadio:r,showCheckbox:o}=S,{selectRadioRow:l,currRowFlag:i,updateCheckboxFlag:a}=H,{selectCheckboxMaps:s,currentRow:n}=F,u=M.content,c=M.extra,{trigger:d,icon:v,disabledMethod:g,visibleMethod:h}=K.value,w=$.value,f=j.value,{useKey:p,contentField:x,className:_,isCurrent:R}=B.value,m=A.value,b=U.value,C=_&&_xeUtils.default.isFunction(_),p=b||p||m||R||r||o,R=p&&b?getRowIdByField(t,b):"",y=(0,_utils.enModelValue)(R);let k={row:t,$list:O},D=!1,T=!1,I=(r&&(D=l&&(t===l||Oe(l,R)),T=!!w.checkMethod&&!w.checkMethod({$list:O,row:t})),!1),L=!1;o&&(I=!(!a||!s[y]),L=!!f.checkMethod&&!f.checkMethod({$list:O,row:t}));l=[];r&&l.push(lt(t,y,T,D)),o&&l.push(it(t,y,L,I));let E=!1;m&&b&&(!h||h(k))&&(w={},"row"!==d&&(E=!(!g||!g(k)),w.onMousedown=e=>{E||ke(e,k)},w.onMouseup=De),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:v||(0,_ui.getIcon)().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},u?u(k):x?(0,_utils.getText)(t[x]):"")),c&&l.push((0,_vue.h)("div",{key:"ct7",class:"vxe-list--row-extra"},c(k)));a={onMousedown(e){Se(e,t)},onMouseup:De,onClick(e){Me(e,t)},onDblclick(e){He(e,t)},onContextmenu(e){Ve(e,t)}};return m&&(a.onDragstart=Ie,a.onDragend=Le,a.onDragover=Ee),(0,_vue.h)("div",Object.assign({key:p&&b?y:e,class:["vxe-list--row",C?_(k):_||"",{"is--drag-disabled":E,"is--current":i&&n&&Oe(n,R),"is-radio--disabled":T,"is-radio--checked":D,"is-checkbox--disabled":L,"is-checkbox--checked":I}],rowid:p&&b?y:void 0},a),l)};let st=(0,_vue.ref)(0),h=((0,_vue.watch)(()=>S.data?S.data.length:-1,()=>{st.value++}),(0,_vue.watch)(()=>S.data,()=>{st.value++}),(0,_vue.watch)(st,()=>{r(S.data||[])}),(0,_vue.ref)(0)),nt=((0,_vue.watch)(()=>S.height,()=>{h.value++}),(0,_vue.watch)(()=>S.maxHeight,()=>{h.value++}),(0,_vue.watch)(()=>S.syncResize,()=>{h.value++}),(0,_vue.watch)(f,()=>{h.value++}),(0,_vue.watch)(h,()=>{(0,_vue.nextTick)(()=>{C()})}),(0,_vue.watch)(()=>S.checkRowKey,()=>{fe()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>S.checkRowKeys?S.checkRowKeys.length:-1,()=>{nt.value++}),(0,_vue.watch)(()=>S.checkRowKeys,()=>{nt.value++}),(0,_vue.watch)(nt,()=>{pe()}),(0,_vue.onActivated)(()=>{C().then(()=>{ve()})}),(0,_vue.nextTick)(()=>{r(S.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r,autoResize:o,useScrollbar:l}=S,i=B.value.useKey,a=A.value,s=U.value;s||(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"]),a&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),i&&!s&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),(l||o)&&(e=T.value,t=W.value,(r=_ui.globalResize.create(()=>{h.value++})).observe(e),o&&e&&r.observe(e.parentElement),t&&r.observe(t),F.resizeObserver=r),h.value++,_ui.globalEvents.on(O,"resize",()=>{h.value++})}),(0,_vue.onBeforeUnmount)(()=>{var e=F.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(O,"resize"),_xeUtils.default.assign(H,createReactData()),_xeUtils.default.assign(F,createInternalData())}),O.renderVN=()=>{var{showCheckbox:e,className:t,loading:r,useScrollbar:o}=S,{bodyHeight:l,topSpaceHeight:i,rowList:a,isAllChecked:s,isAllIndeterminate:n}=H,u=M.default,c=M.header,d=M.footer,v=P.value,g=ee.value,h=te.value,w=$.value,f=j.value,{showHeader:p,headerTitle:x}=f,{trigger:_,isCrossListDrag:R}=K.value,{isHover:m,padding:b}=B.value,C=A.value,y=L.value,k=E.value,D=re.value,e=e&&!1!==p,p={};return R&&!a.length&&(p.onDragover=O.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:T,class:["vxe-list",t?_xeUtils.default.isFunction(t)?t({$list:O}):t:"",{["size--"+v]:v,"is--virtual-scrollbar":o,"ov-x--auto-hide":o&&y.autoHide,"ov-y--auto-hide":o&&k.autoHide,"is--drag":C,"is--loading":r}],style:g},p),[c||e?(0,_vue.h)("div",{ref:z,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":s,"is--indeterminate":n}],onClick:Pe},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?(0,_ui.getIcon)().CHECKBOX_CHECKED:n?(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)(O),c?(0,_vue.h)("div",{class:"vxe-list--header-content"},c({items:a,$list:O})):(0,_ui.renderEmptyElement)(O)]):(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{ref:I,class:"vxe-list--virtual-wrapper",style:h,onScroll:we},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:l?l+"px":""}}),(0,_vue.h)("div",{ref:Y,class:["vxe-list--body",{"trigger--row":"row"===_,"checkbox--highlight":f.highlight,"radio--highlight":w.highlight,"row--hover":m,"is--padding":b}],style:{marginTop:i?i+"px":""}},o?u?u({items:a,$list:O}):a.map((e,t)=>at(e,t)):[(0,_vue.h)("div",{key:"vi",ref:W,class:"vxe-scrollbar--view-inner"},u?u({items:a,$list:O}):a.map((e,t)=>at(e,t)))])]),d?(0,_vue.h)("div",{ref:N,class:"vxe-list--footer-wrapper"},d({items:a,$list:O})):(0,_ui.renderEmptyElement)(O),o?(0,_vue.h)("div",{class:D},["hidden"===y.visible?(0,_ui.renderEmptyElement)(O):(0,_vue.h)("div",{ref:X,class:"vxe-scrollbar--track-x",onClick:Qe},[(0,_vue.h)("div",{ref:G,class:"vxe-scrollbar--thumb-x",onPointerdown:et,onPointermove:tt,onPointerup:q,onPointercancel:q,onLostpointercapture:q})]),"hidden"===k.visible?(0,_ui.renderEmptyElement)(O):(0,_vue.h)("div",{ref:V,class:"vxe-scrollbar--track-y",onClick:Ze},[(0,_vue.h)("div",{ref:J,class:"vxe-scrollbar--thumb-y",onPointerdown:rt,onPointermove:ot,onPointerup:q,onPointercancel:q,onLostpointercapture:q})])]):(0,_ui.renderEmptyElement)(O),(()=>{var{dragRow:e,dragTipText:t}=H,r=K.value;return A.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:Q,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:Z,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)(O)]):(0,_ui.renderEmptyElement)(O)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},O},render(){return this.renderVN()}});
|
package/lib/list/style/style.css
CHANGED
|
@@ -374,4 +374,30 @@
|
|
|
374
374
|
.vxe-list--radio-option .vxe-radio--label {
|
|
375
375
|
padding-left: 0.4em;
|
|
376
376
|
vertical-align: middle;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
.vxe-list > .vxe-scrollbar {
|
|
380
|
+
position: unset;
|
|
381
|
+
}
|
|
382
|
+
.vxe-list.is--virtual-scrollbar > .vxe-list--virtual-wrapper {
|
|
383
|
+
scrollbar-width: none;
|
|
384
|
+
-ms-overflow-style: none;
|
|
385
|
+
}
|
|
386
|
+
.vxe-list.is--virtual-scrollbar > .vxe-list--virtual-wrapper::-webkit-scrollbar {
|
|
387
|
+
display: none;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.vxe-list.is--virtual-scrollbar.ov-x--auto-hide:hover > .vxe-scrollbar > .vxe-scrollbar--track-x {
|
|
391
|
+
opacity: 1;
|
|
392
|
+
}
|
|
393
|
+
.vxe-list.is--virtual-scrollbar.ov-x--auto-hide > .vxe-scrollbar > .vxe-scrollbar--track-x {
|
|
394
|
+
opacity: 0;
|
|
395
|
+
transition: opacity 0.8s ease-in-out;
|
|
396
|
+
}
|
|
397
|
+
.vxe-list.is--virtual-scrollbar.ov-y--auto-hide:hover > .vxe-scrollbar > .vxe-scrollbar--track-y {
|
|
398
|
+
opacity: 1;
|
|
399
|
+
}
|
|
400
|
+
.vxe-list.is--virtual-scrollbar.ov-y--auto-hide > .vxe-scrollbar > .vxe-scrollbar--track-y {
|
|
401
|
+
opacity: 0;
|
|
402
|
+
transition: opacity 0.8s ease-in-out;
|
|
377
403
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.vxe-list{--vxe-ui-list-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-list-current-padding:var(--vxe-ui-layout-padding-default)}.vxe-list.size--medium{--vxe-ui-list-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-list-current-padding:var(--vxe-ui-layout-padding-medium)}.vxe-list.size--small{--vxe-ui-list-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-list-current-padding:var(--vxe-ui-layout-padding-small)}.vxe-list.size--mini{--vxe-ui-list-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-list-current-padding:var(--vxe-ui-layout-padding-mini)}.vxe-list{position:relative;display:block;padding:0;font-size:var(--vxe-ui-list-current-font-size);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);direction:ltr}.vxe-list .vxe-list--virtual-wrapper{position:relative;overflow-x:auto;overflow-y:auto;outline:0}.vxe-list .vxe-list--y-space{width:0;float:left}.vxe-list .vxe-list--body,.vxe-list .vxe-list--virtual-wrapper{padding:0;margin:0;border:0;outline:0}.vxe-list--header-wrapper{display:flex;flex-direction:row;align-items:center;min-height:var(--vxe-ui-list-row-height)}.vxe-list--header-left{display:flex;flex-direction:row;align-items:center;flex-shrink:0}.vxe-list--header-content{flex-grow:1;overflow:auto}.vxe-list--body.trigger--row>.vxe-list--row:not(.is--drag-disabled):active{cursor:grabbing}.vxe-list--body.is--padding>.vxe-list--row{padding:0 var(--vxe-ui-list-current-padding)}.vxe-list--body.checkbox--highlight .vxe-list--row.is-checkbox--checked{background-color:var(--vxe-ui-list-row-checkbox-checked-background-color)}.vxe-list--body.radio--highlight .vxe-list--row.is-radio--checked{background-color:var(--vxe-ui-list-row-radio-checked-background-color)}.vxe-list--body.row--hover .vxe-list--row:hover{background-color:var(--vxe-ui-list-row-hover-background-color)}.vxe-list--body.row--hover .vxe-list--row:hover.is--current{background-color:var(--vxe-ui-list-row-hover-current-background-color)}.vxe-list--body.row--hover.radio--highlight .vxe-list--row.is-radio--checked:hover{background-color:var(--vxe-ui-list-row-hover-radio-checked-background-color)}.vxe-list--body.row--hover.checkbox--highlight .vxe-list--row.is-checkbox--checked:hover{background-color:var(--vxe-ui-list-row-hover-checkbox-checked-background-color)}.vxe-list--row.is--current{background-color:var(--vxe-ui-list-row-current-background-color)}.vxe-list--virtual-wrapper{height:100px}.vxe-list--row{display:flex;flex-direction:row;align-items:center}.vxe-list--row-content,.vxe-list--row-drag,.vxe-list--row-extra{display:flex;flex-direction:row;align-items:center}.vxe-list--row-drag{flex-shrink:0;padding-right:var(--vxe-ui-list-current-padding)}.vxe-list--row-content{flex-grow:1;height:var(--vxe-ui-list-row-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-list--row-extra{flex-shrink:0}.vxe-list--drag-handle:not(.is--disabled){cursor:grab}.vxe-list--drag-handle:not(.is--disabled):active{cursor:grabbing}.vxe-list--drag-handle:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-color)}.vxe-list--drag-handle.is--disabled{color:var(--vxe-ui-input-disabled-color);cursor:not-allowed}.vxe-list--row.row--drag-move{transition:transform .5s ease}.vxe-list--row.row--drag-origin{opacity:.3}.vxe-list--drag-row-line{display:none;position:absolute;top:0;left:0;z-index:11;pointer-events:none}.vxe-list--drag-row-line{width:100%;height:1px;border:2px solid transparent}.vxe-list--drag-row-line[drag-pos=top]{border-top-color:var(--vxe-ui-font-primary-color)}.vxe-list--drag-row-line[drag-pos=bottom]{border-bottom-color:var(--vxe-ui-font-primary-color)}.vxe-list--drag-row-line[drag-to-child=y]{border-top-color:transparent;border-bottom-color:transparent;border-left-color:var(--vxe-ui-status-success-color)}.vxe-list--drag-row-line.is--guides{background-color:var(--vxe-ui-list-drag-over-background-color)}.vxe-body--row-list-move{transition-property:transform;transition-duration:.35s}.vxe-list--drag-sort-tip{display:none;position:absolute;top:0;left:0;padding:.6em 1.4em;max-width:50%;min-width:100px;border-radius:var(--vxe-ui-border-radius);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;background-color:var(--vxe-ui-layout-background-color);box-shadow:0 0 10px 0 rgba(0,0,0,.2);z-index:33}.vxe-list--drag-sort-tip[drag-status=normal] .vxe-list--drag-sort-tip-normal-status{display:block}.vxe-list--drag-sort-tip[drag-status=sub] .vxe-list--drag-sort-tip-sub-status{display:block}.vxe-list--drag-sort-tip[drag-status=disabled] .vxe-list--drag-sort-tip-disabled-status{display:block}.vxe-list--drag-sort-tip-wrapper{display:flex;flex-direction:row;align-items:center}.vxe-list--drag-sort-tip-status{padding-right:.4em}.vxe-list--drag-sort-tip-disabled-status{display:none;flex-shrink:0;color:var(--vxe-ui-status-error-color)}.vxe-list--drag-sort-tip-normal-status,.vxe-list--drag-sort-tip-sub-status{display:none}.vxe-list--drag-sort-tip-content{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-list--checkbox-header{padding-right:var(--vxe-ui-list-current-padding);-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-list--checkbox-header{cursor:pointer}.vxe-list--checkbox-header .vxe-checkbox--icon{font-size:1.22em;transition:all .2s ease-in-out}.vxe-list--checkbox-header .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-list--checkbox-header.is--checked,.vxe-list--checkbox-header.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-header.is--checked .vxe-checkbox--icon,.vxe-list--checkbox-header.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-header:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-header.is--hidden{cursor:default}.vxe-list--checkbox-header.is--readonly{cursor:auto}.vxe-list--checkbox-header.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-list--checkbox-header.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-list--checkbox-header .vxe-checkbox--label{padding-left:.4em;vertical-align:middle}.vxe-list--checkbox-option{padding-right:var(--vxe-ui-list-current-padding)}.vxe-list--checkbox-option{cursor:pointer}.vxe-list--checkbox-option .vxe-checkbox--icon{font-size:1.22em;transition:all .2s ease-in-out}.vxe-list--checkbox-option .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-list--checkbox-option.is--checked,.vxe-list--checkbox-option.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-option.is--checked .vxe-checkbox--icon,.vxe-list--checkbox-option.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-option:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-option.is--hidden{cursor:default}.vxe-list--checkbox-option.is--readonly{cursor:auto}.vxe-list--checkbox-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-list--checkbox-option.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-list--checkbox-option .vxe-checkbox--label{padding-left:.4em;vertical-align:middle}.vxe-list--radio-option{padding-right:var(--vxe-ui-list-current-padding)}.vxe-list--radio-option{cursor:pointer}.vxe-list--radio-option .vxe-radio--icon{font-size:1.26em;transition:all .2s ease-in-out}.vxe-list--radio-option .vxe-radio--icon{color:var(--vxe-ui-input-border-color);border-radius:50%;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-list--radio-option.is--checked{color:var(--vxe-ui-font-primary-color)}.vxe-list--radio-option.is--checked .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--radio-option:not(.is--disabled):hover .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--radio-option.is--readonly{cursor:auto}.vxe-list--radio-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-list--radio-option.is--disabled .vxe-radio--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-list--radio-option .vxe-radio--label{padding-left:.4em;vertical-align:middle}
|
|
1
|
+
@charset "UTF-8";.vxe-list{--vxe-ui-list-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-list-current-padding:var(--vxe-ui-layout-padding-default)}.vxe-list.size--medium{--vxe-ui-list-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-list-current-padding:var(--vxe-ui-layout-padding-medium)}.vxe-list.size--small{--vxe-ui-list-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-list-current-padding:var(--vxe-ui-layout-padding-small)}.vxe-list.size--mini{--vxe-ui-list-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-list-current-padding:var(--vxe-ui-layout-padding-mini)}.vxe-list{position:relative;display:block;padding:0;font-size:var(--vxe-ui-list-current-font-size);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);direction:ltr}.vxe-list .vxe-list--virtual-wrapper{position:relative;overflow-x:auto;overflow-y:auto;outline:0}.vxe-list .vxe-list--y-space{width:0;float:left}.vxe-list .vxe-list--body,.vxe-list .vxe-list--virtual-wrapper{padding:0;margin:0;border:0;outline:0}.vxe-list--header-wrapper{display:flex;flex-direction:row;align-items:center;min-height:var(--vxe-ui-list-row-height)}.vxe-list--header-left{display:flex;flex-direction:row;align-items:center;flex-shrink:0}.vxe-list--header-content{flex-grow:1;overflow:auto}.vxe-list--body.trigger--row>.vxe-list--row:not(.is--drag-disabled):active{cursor:grabbing}.vxe-list--body.is--padding>.vxe-list--row{padding:0 var(--vxe-ui-list-current-padding)}.vxe-list--body.checkbox--highlight .vxe-list--row.is-checkbox--checked{background-color:var(--vxe-ui-list-row-checkbox-checked-background-color)}.vxe-list--body.radio--highlight .vxe-list--row.is-radio--checked{background-color:var(--vxe-ui-list-row-radio-checked-background-color)}.vxe-list--body.row--hover .vxe-list--row:hover{background-color:var(--vxe-ui-list-row-hover-background-color)}.vxe-list--body.row--hover .vxe-list--row:hover.is--current{background-color:var(--vxe-ui-list-row-hover-current-background-color)}.vxe-list--body.row--hover.radio--highlight .vxe-list--row.is-radio--checked:hover{background-color:var(--vxe-ui-list-row-hover-radio-checked-background-color)}.vxe-list--body.row--hover.checkbox--highlight .vxe-list--row.is-checkbox--checked:hover{background-color:var(--vxe-ui-list-row-hover-checkbox-checked-background-color)}.vxe-list--row.is--current{background-color:var(--vxe-ui-list-row-current-background-color)}.vxe-list--virtual-wrapper{height:100px}.vxe-list--row{display:flex;flex-direction:row;align-items:center}.vxe-list--row-content,.vxe-list--row-drag,.vxe-list--row-extra{display:flex;flex-direction:row;align-items:center}.vxe-list--row-drag{flex-shrink:0;padding-right:var(--vxe-ui-list-current-padding)}.vxe-list--row-content{flex-grow:1;height:var(--vxe-ui-list-row-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-list--row-extra{flex-shrink:0}.vxe-list--drag-handle:not(.is--disabled){cursor:grab}.vxe-list--drag-handle:not(.is--disabled):active{cursor:grabbing}.vxe-list--drag-handle:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-color)}.vxe-list--drag-handle.is--disabled{color:var(--vxe-ui-input-disabled-color);cursor:not-allowed}.vxe-list--row.row--drag-move{transition:transform .5s ease}.vxe-list--row.row--drag-origin{opacity:.3}.vxe-list--drag-row-line{display:none;position:absolute;top:0;left:0;z-index:11;pointer-events:none}.vxe-list--drag-row-line{width:100%;height:1px;border:2px solid transparent}.vxe-list--drag-row-line[drag-pos=top]{border-top-color:var(--vxe-ui-font-primary-color)}.vxe-list--drag-row-line[drag-pos=bottom]{border-bottom-color:var(--vxe-ui-font-primary-color)}.vxe-list--drag-row-line[drag-to-child=y]{border-top-color:transparent;border-bottom-color:transparent;border-left-color:var(--vxe-ui-status-success-color)}.vxe-list--drag-row-line.is--guides{background-color:var(--vxe-ui-list-drag-over-background-color)}.vxe-body--row-list-move{transition-property:transform;transition-duration:.35s}.vxe-list--drag-sort-tip{display:none;position:absolute;top:0;left:0;padding:.6em 1.4em;max-width:50%;min-width:100px;border-radius:var(--vxe-ui-border-radius);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;background-color:var(--vxe-ui-layout-background-color);box-shadow:0 0 10px 0 rgba(0,0,0,.2);z-index:33}.vxe-list--drag-sort-tip[drag-status=normal] .vxe-list--drag-sort-tip-normal-status{display:block}.vxe-list--drag-sort-tip[drag-status=sub] .vxe-list--drag-sort-tip-sub-status{display:block}.vxe-list--drag-sort-tip[drag-status=disabled] .vxe-list--drag-sort-tip-disabled-status{display:block}.vxe-list--drag-sort-tip-wrapper{display:flex;flex-direction:row;align-items:center}.vxe-list--drag-sort-tip-status{padding-right:.4em}.vxe-list--drag-sort-tip-disabled-status{display:none;flex-shrink:0;color:var(--vxe-ui-status-error-color)}.vxe-list--drag-sort-tip-normal-status,.vxe-list--drag-sort-tip-sub-status{display:none}.vxe-list--drag-sort-tip-content{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-list--checkbox-header{padding-right:var(--vxe-ui-list-current-padding);-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-list--checkbox-header{cursor:pointer}.vxe-list--checkbox-header .vxe-checkbox--icon{font-size:1.22em;transition:all .2s ease-in-out}.vxe-list--checkbox-header .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-list--checkbox-header.is--checked,.vxe-list--checkbox-header.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-header.is--checked .vxe-checkbox--icon,.vxe-list--checkbox-header.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-header:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-header.is--hidden{cursor:default}.vxe-list--checkbox-header.is--readonly{cursor:auto}.vxe-list--checkbox-header.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-list--checkbox-header.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-list--checkbox-header .vxe-checkbox--label{padding-left:.4em;vertical-align:middle}.vxe-list--checkbox-option{padding-right:var(--vxe-ui-list-current-padding)}.vxe-list--checkbox-option{cursor:pointer}.vxe-list--checkbox-option .vxe-checkbox--icon{font-size:1.22em;transition:all .2s ease-in-out}.vxe-list--checkbox-option .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-list--checkbox-option.is--checked,.vxe-list--checkbox-option.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-option.is--checked .vxe-checkbox--icon,.vxe-list--checkbox-option.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-option:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--checkbox-option.is--hidden{cursor:default}.vxe-list--checkbox-option.is--readonly{cursor:auto}.vxe-list--checkbox-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-list--checkbox-option.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-list--checkbox-option .vxe-checkbox--label{padding-left:.4em;vertical-align:middle}.vxe-list--radio-option{padding-right:var(--vxe-ui-list-current-padding)}.vxe-list--radio-option{cursor:pointer}.vxe-list--radio-option .vxe-radio--icon{font-size:1.26em;transition:all .2s ease-in-out}.vxe-list--radio-option .vxe-radio--icon{color:var(--vxe-ui-input-border-color);border-radius:50%;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-list--radio-option.is--checked{color:var(--vxe-ui-font-primary-color)}.vxe-list--radio-option.is--checked .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--radio-option:not(.is--disabled):hover .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-list--radio-option.is--readonly{cursor:auto}.vxe-list--radio-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-list--radio-option.is--disabled .vxe-radio--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-list--radio-option .vxe-radio--label{padding-left:.4em;vertical-align:middle}.vxe-list>.vxe-scrollbar{position:unset}.vxe-list.is--virtual-scrollbar>.vxe-list--virtual-wrapper{scrollbar-width:none;-ms-overflow-style:none}.vxe-list.is--virtual-scrollbar>.vxe-list--virtual-wrapper::-webkit-scrollbar{display:none}.vxe-list.is--virtual-scrollbar.ov-x--auto-hide:hover>.vxe-scrollbar>.vxe-scrollbar--track-x{opacity:1}.vxe-list.is--virtual-scrollbar.ov-x--auto-hide>.vxe-scrollbar>.vxe-scrollbar--track-x{opacity:0;transition:opacity .8s ease-in-out}.vxe-list.is--virtual-scrollbar.ov-y--auto-hide:hover>.vxe-scrollbar>.vxe-scrollbar--track-y{opacity:1}.vxe-list.is--virtual-scrollbar.ov-y--auto-hide>.vxe-scrollbar>.vxe-scrollbar--track-y{opacity:0;transition:opacity .8s ease-in-out}
|
|
@@ -262,6 +262,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
262
262
|
if (!viewEl) {
|
|
263
263
|
return;
|
|
264
264
|
}
|
|
265
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
265
268
|
const trackXEl = refTrackXElem.value;
|
|
266
269
|
const xThumbWidth = trackXEl ? (0, _util.getThumbSize)(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
267
270
|
const thumbXElem = refThumbXElem.value;
|
|
@@ -282,6 +285,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
282
285
|
if (!viewEl) {
|
|
283
286
|
return;
|
|
284
287
|
}
|
|
288
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
285
291
|
const {
|
|
286
292
|
xThumbWidth,
|
|
287
293
|
yThumbHeight
|
|
@@ -597,7 +603,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
597
603
|
reFlag.value++;
|
|
598
604
|
});
|
|
599
605
|
(0, _vue.watch)(reFlag, () => {
|
|
600
|
-
$xeScrollbar.recalculate()
|
|
606
|
+
$xeScrollbar.recalculate().then(() => {
|
|
607
|
+
$xeScrollbar.recalculate();
|
|
608
|
+
});
|
|
601
609
|
});
|
|
602
610
|
(0, _vue.onMounted)(() => {
|
|
603
611
|
const {
|
|
@@ -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"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,createEvent,domUtils,globalResize,globalEvents,renderEmptyElement}=_ui.VxeUI;function createReactData(){return{yThumbHeight:0,xThumbWidth:0}}function createInternalData(){return{thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeScrollbar",props:{id:[String,Number],width:[String,Number],height:[String,Number],minWidth:[String,Number],minHeight:[String,Number],maxWidth:[String,Number],maxHeight:[String,Number],loading:Boolean,native:{type:Boolean,default:()=>getConfig().scrollbar.native},padding:{type:Boolean,default:()=>getConfig().scrollbar.padding},xConfig:Object,yConfig:Object,className:{type:String,default:()=>getConfig().scrollbar.className},viewAttrs:{type:Object,default:()=>getConfig().scrollbar.viewAttrs},viewClassName:{type:String,default:()=>getConfig().scrollbar.viewClassName},viewInnerClassName:{type:String,default:()=>getConfig().scrollbar.viewInnerClassName},autoResize:{type:Boolean,default:()=>getConfig().scrollbar.autoResize},syncResize:[Boolean,String,Number]},emits:["scroll","scroll-boundary"],setup(v,e){let{emit:i,slots:h}=e;var t=_xeUtils.default.uniqueId();let g=(0,_vue.ref)(),d=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),b=(0,_vue.ref)(),p=(0,_vue.ref)(),_=(0,_vue.ref)(),T=(0,_vue.reactive)(createReactData()),x=createInternalData(),C=(0,_vue.computed)(()=>{var{width:e,height:t,minWidth:l,minHeight:i,maxWidth:r,maxHeight:o}=v,a=w.value,u=S.value,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t)),l&&(n.minWidth=(0,_dom.toCssUnit)(l)),i&&(n.minHeight=(0,_dom.toCssUnit)(i)),r&&(n.maxWidth=(0,_dom.toCssUnit)(r)),o&&(n.maxHeight=(0,_dom.toCssUnit)(o)),u.width&&(n["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(u.width)),a.height&&(n["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(a.height)),n}),y=(0,_vue.computed)(()=>{var{native:e,className:t,padding:l}=v,{yThumbHeight:i,xThumbWidth:r}=T,o=w.value,a=S.value,u=s.value,n=c.value;return domUtils.buildClass(["vxe-scrollbar","ov-x--"+(o.visible||"visible"),"ov-y--"+(a.visible||"visible"),"sx-pos--"+(u?"top":"bottom"),"sy-pos--"+(n?"left":"right"),e?"is--native":"is--virtual",t],{"is--padding":l,"ov-x--auto-hide":o.autoHide,"ov-y--auto-hide":a.autoHide,"overflow-y":i,"overflow-x":r})}),H=(0,_vue.computed)(()=>{var e=v.viewClassName;return domUtils.buildClass(["vxe-scrollbar--view",e])}),W=(0,_vue.computed)(()=>{var e=v.viewInnerClassName;return domUtils.buildClass(["vxe-scrollbar--view-inner",e])}),w=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.xConfig,v.xConfig)),S=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.yConfig,v.yConfig)),s=(0,_vue.computed)(()=>"top"===w.value.position),c=(0,_vue.computed)(()=>"left"===S.value.position),l={refElem:g},r={},D={xID:t,props:v,context:e,reactData:T,internalData:x,getRefMaps:()=>l,getComputeMaps:()=>r},N=(e,t,l)=>{i(e,createEvent(l,{$scrollbar:D},t))};t={dispatchEvent:N,scrollTo(e,t){var l=d.value;l&&(_xeUtils.default.isNumber(e)?l.scrollTo(e,t||0):l.scrollTo(e))},scrollIntoView(){var e=d.value;e&&e.scrollIntoView()},setScrollTop(e){var t=d.value;t&&(t.scrollTop=e)},setScrollLeft(e){var t=d.value;t&&(t.scrollLeft=e)},getScrollTop(){var e=d.value;return e?e.scrollTop:0},getScrollLeft(){var e=d.value;return e?e.scrollLeft:0},clearScroll(){var e=d.value;e&&(e.scrollTop=0,e.scrollLeft=0)},recalculate(){return o(),R(),(0,_vue.nextTick)()}};let o=()=>{var e,t,l=d.value;l&&(t=(t=f.value)?(0,_util.getThumbSize)(l.clientWidth,l.scrollWidth,t.clientWidth):0,(e=p.value)&&(e.style.width=t+"px"),T.xThumbWidth=t,t=(e=b.value)?(0,_util.getThumbSize)(l.clientHeight,l.scrollHeight,e.clientHeight):0,(l=_.value)&&(l.style.height=t+"px"),T.yThumbHeight=t)},R=()=>{var e,t,l,i,r=d.value;r&&({xThumbWidth:t,yThumbHeight:e}=T,i=f.value,l=p.value,i=i&&t?(0,_util.getThumbOffsetSize)(r.scrollLeft,r.clientWidth,r.scrollWidth,i.clientWidth,t):0,x.xThumbLeft=i,l&&t&&(l.style.width=t+"px",l.style.transform=`translateX(${i}px)`),t=b.value,l=_.value,i=t&&e?(0,_util.getThumbOffsetSize)(r.scrollTop,r.clientHeight,r.scrollHeight,t.clientHeight,e):0,x.yThumbTop=i,l)&&e&&(l.style.height=e+"px",l.style.transform=`translateY(${i}px)`)},L=e=>{var{xThumbWidth:t,yThumbHeight:l}=T,{lastScrollTop:i,lastScrollLeft:r}=x,o=w.value,a=S.value,{scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h}=e.currentTarget;let g="",d=!1,m=!1,f=!1,b=!1;i!==u&&(a=_xeUtils.default.toNumber(a.threshold)||1,i<u?(g="bottom",0<l&&v-a<=u+c&&(m=!0)):(g="top",0<l&&u<=a&&(d=!0))),r!==n&&(i=_xeUtils.default.toNumber(o.threshold)||1,r<n?(g="right",0<t&&h-i<=n+s&&(b=!0)):(g="left",0<t&&n<=i&&(f=!0))),R(),x.lastScrollTop=u,x.lastScrollLeft=n,(m||d||b||f)&&N("scroll-boundary",{direction:g,isTop:d,isBottom:m,isLeft:f,isRight:b,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h},e),N("scroll",{direction:g,isTop:0<l&&u<=0,isBottom:0<l&&v<=u+c,isLeft:0<t&&n<=0,isRight:0<t&&h<=n+s,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h},e)},O=e=>{var t,l,i,r=e.currentTarget;r===e.target&&(t=d.value)&&(l=T.xThumbWidth,i=r.getBoundingClientRect(),t.scrollTo({left:(0,_util.getScrollFromClick)(e.clientX-i.left,t.clientWidth,t.scrollWidth,r.clientWidth,l),behavior:"auto"}))},U=e=>{var t,l,i,r=e.currentTarget;r===e.target&&(t=d.value)&&(l=T.yThumbHeight,i=r.getBoundingClientRect(),t.scrollTo({top:(0,_util.getScrollFromClick)(e.clientY-i.top,t.clientHeight,t.scrollHeight,r.clientHeight,l),behavior:"auto"}))},z=e=>{var t,l,i=e.currentTarget,r=(x.isThumbDrag=!0,i.setPointerCapture(e.pointerId),d.value);r&&(t=T.xThumbWidth,l=(i=i.parentElement).getBoundingClientRect(),e=e.clientX-l.left,l=(0,_util.getThumbOffsetSize)(r.scrollLeft,r.clientWidth,r.scrollWidth,i.clientWidth,t),x.thumbDragOffset=e-l)},E=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:l,thumbDragOffset:i}=x;if(l){l=d.value;if(l){var r=T.xThumbWidth;let e=t.currentTarget;var o=e.parentElement,a=o.getBoundingClientRect();l.scrollLeft=(0,_util.getScrollFromDrag)(t.clientX-a.left,i,l.clientWidth,l.scrollWidth,o.clientWidth,r)}}}},I=e=>{e.currentTarget.releasePointerCapture(e.pointerId),x.isThumbDrag=!1},B=e=>{var t,l,i=e.currentTarget,r=(x.isThumbDrag=!0,i.setPointerCapture(e.pointerId),d.value);r&&(t=T.yThumbHeight,l=(i=i.parentElement).getBoundingClientRect(),e=e.clientY-l.top,l=(0,_util.getThumbOffsetSize)(r.scrollTop,r.clientHeight,r.scrollHeight,i.clientHeight,t),x.thumbDragOffset=e-l)},P=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:l,thumbDragOffset:i}=x;if(l){l=d.value;if(l){var r=T.yThumbHeight;let e=t.currentTarget;var o=e.parentElement,a=o.getBoundingClientRect();l.scrollTop=(0,_util.getScrollFromDrag)(t.clientY-a.top,i,l.clientHeight,l.scrollHeight,o.clientHeight,r)}}}};Object.assign(D,t,{});let a=(0,_vue.ref)(0);return(0,_vue.watch)(()=>v.height,()=>{a.value++}),(0,_vue.watch)(()=>v.width,()=>{a.value++}),(0,_vue.watch)(()=>v.minHeight,()=>{a.value++}),(0,_vue.watch)(()=>v.minWidth,()=>{a.value++}),(0,_vue.watch)(()=>v.maxHeight,()=>{a.value++}),(0,_vue.watch)(()=>v.maxWidth,()=>{a.value++}),(0,_vue.watch)(()=>v.native,()=>{a.value++}),(0,_vue.watch)(()=>v.syncResize,()=>{a.value++}),(0,_vue.watch)(a,()=>{D.recalculate()}),(0,_vue.onMounted)(()=>{var e=v.autoResize,t=d.value,l=m.value;e&&(e=globalResize.create(()=>{v.autoResize&&a.value++}),t&&e.observe(t),l&&e.observe(l),x.resizeObserver=e),a.value++,globalEvents.on(D,"resize",()=>{a.value++})}),(0,_vue.onBeforeUnmount)(()=>{var e=x.resizeObserver;e&&e.disconnect(),globalEvents.off(D,"resize")}),D.renderVN=()=>{var{id:e,native:t,loading:l,viewAttrs:i}=v,r=C.value,o=y.value,a=H.value,u=W.value,n=w.value,s=S.value,c=h.default;return(0,_vue.h)("div",{ref:g,id:e||null,class:o,style:r},[(0,_vue.h)("div",Object.assign({ref:d,class:a,onScroll:L},i),[(0,_vue.h)("div",{key:"vi",ref:m,class:u},c?c({}):[])]),t||"hidden"===n.visible?renderEmptyElement(D):(0,_vue.h)("div",{ref:f,class:"vxe-scrollbar--track-x",onClick:O},[(0,_vue.h)("div",{ref:p,class:"vxe-scrollbar--thumb-x",onPointerdown:z,onPointermove:E,onPointerup:I,onPointercancel:I,onLostpointercapture:I})]),t||"hidden"===s.visible?renderEmptyElement(D):(0,_vue.h)("div",{ref:b,class:"vxe-scrollbar--track-y",onClick:U},[(0,_vue.h)("div",{ref:_,class:"vxe-scrollbar--thumb-y",onPointerdown:B,onPointermove:P,onPointerup:I,onPointercancel:I,onLostpointercapture:I})]),(0,_vue.h)(_loading.default,{class:"vxe-scrollbar--loading",modelValue:l})])},D},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"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,createEvent,domUtils,globalResize,globalEvents,renderEmptyElement}=_ui.VxeUI;function createReactData(){return{yThumbHeight:0,xThumbWidth:0}}function createInternalData(){return{thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeScrollbar",props:{id:[String,Number],width:[String,Number],height:[String,Number],minWidth:[String,Number],minHeight:[String,Number],maxWidth:[String,Number],maxHeight:[String,Number],loading:Boolean,native:{type:Boolean,default:()=>getConfig().scrollbar.native},padding:{type:Boolean,default:()=>getConfig().scrollbar.padding},xConfig:Object,yConfig:Object,className:{type:String,default:()=>getConfig().scrollbar.className},viewAttrs:{type:Object,default:()=>getConfig().scrollbar.viewAttrs},viewClassName:{type:String,default:()=>getConfig().scrollbar.viewClassName},viewInnerClassName:{type:String,default:()=>getConfig().scrollbar.viewInnerClassName},autoResize:{type:Boolean,default:()=>getConfig().scrollbar.autoResize},syncResize:[Boolean,String,Number]},emits:["scroll","scroll-boundary"],setup(v,e){let{emit:i,slots:h}=e;var t=_xeUtils.default.uniqueId();let g=(0,_vue.ref)(),d=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),b=(0,_vue.ref)(),p=(0,_vue.ref)(),_=(0,_vue.ref)(),T=(0,_vue.reactive)(createReactData()),x=createInternalData(),C=(0,_vue.computed)(()=>{var{width:e,height:t,minWidth:l,minHeight:i,maxWidth:r,maxHeight:o}=v,a=w.value,u=S.value,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t)),l&&(n.minWidth=(0,_dom.toCssUnit)(l)),i&&(n.minHeight=(0,_dom.toCssUnit)(i)),r&&(n.maxWidth=(0,_dom.toCssUnit)(r)),o&&(n.maxHeight=(0,_dom.toCssUnit)(o)),u.width&&(n["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(u.width)),a.height&&(n["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(a.height)),n}),y=(0,_vue.computed)(()=>{var{native:e,className:t,padding:l}=v,{yThumbHeight:i,xThumbWidth:r}=T,o=w.value,a=S.value,u=s.value,n=c.value;return domUtils.buildClass(["vxe-scrollbar","ov-x--"+(o.visible||"visible"),"ov-y--"+(a.visible||"visible"),"sx-pos--"+(u?"top":"bottom"),"sy-pos--"+(n?"left":"right"),e?"is--native":"is--virtual",t],{"is--padding":l,"ov-x--auto-hide":o.autoHide,"ov-y--auto-hide":a.autoHide,"overflow-y":i,"overflow-x":r})}),H=(0,_vue.computed)(()=>{var e=v.viewClassName;return domUtils.buildClass(["vxe-scrollbar--view",e])}),W=(0,_vue.computed)(()=>{var e=v.viewInnerClassName;return domUtils.buildClass(["vxe-scrollbar--view-inner",e])}),w=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.xConfig,v.xConfig)),S=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.yConfig,v.yConfig)),s=(0,_vue.computed)(()=>"top"===w.value.position),c=(0,_vue.computed)(()=>"left"===S.value.position),l={refElem:g},r={},D={xID:t,props:v,context:e,reactData:T,internalData:x,getRefMaps:()=>l,getComputeMaps:()=>r},N=(e,t,l)=>{i(e,createEvent(l,{$scrollbar:D},t))};t={dispatchEvent:N,scrollTo(e,t){var l=d.value;l&&(_xeUtils.default.isNumber(e)?l.scrollTo(e,t||0):l.scrollTo(e))},scrollIntoView(){var e=d.value;e&&e.scrollIntoView()},setScrollTop(e){var t=d.value;t&&(t.scrollTop=e)},setScrollLeft(e){var t=d.value;t&&(t.scrollLeft=e)},getScrollTop(){var e=d.value;return e?e.scrollTop:0},getScrollLeft(){var e=d.value;return e?e.scrollLeft:0},clearScroll(){var e=d.value;e&&(e.scrollTop=0,e.scrollLeft=0)},recalculate(){return o(),R(),(0,_vue.nextTick)()}};let o=()=>{var e,t,l=d.value;l&&l.clientHeight&&(t=(t=f.value)?(0,_util.getThumbSize)(l.clientWidth,l.scrollWidth,t.clientWidth):0,(e=p.value)&&(e.style.width=t+"px"),T.xThumbWidth=t,t=(e=b.value)?(0,_util.getThumbSize)(l.clientHeight,l.scrollHeight,e.clientHeight):0,(l=_.value)&&(l.style.height=t+"px"),T.yThumbHeight=t)},R=()=>{var e,t,l,i,r=d.value;r&&r.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=T,i=f.value,l=p.value,i=i&&t?(0,_util.getThumbOffsetSize)(r.scrollLeft,r.clientWidth,r.scrollWidth,i.clientWidth,t):0,x.xThumbLeft=i,l&&t&&(l.style.width=t+"px",l.style.transform=`translateX(${i}px)`),t=b.value,l=_.value,i=t&&e?(0,_util.getThumbOffsetSize)(r.scrollTop,r.clientHeight,r.scrollHeight,t.clientHeight,e):0,x.yThumbTop=i,l)&&e&&(l.style.height=e+"px",l.style.transform=`translateY(${i}px)`)},L=e=>{var{xThumbWidth:t,yThumbHeight:l}=T,{lastScrollTop:i,lastScrollLeft:r}=x,o=w.value,a=S.value,{scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h}=e.currentTarget;let g="",d=!1,m=!1,f=!1,b=!1;i!==u&&(a=_xeUtils.default.toNumber(a.threshold)||1,i<u?(g="bottom",0<l&&v-a<=u+c&&(m=!0)):(g="top",0<l&&u<=a&&(d=!0))),r!==n&&(i=_xeUtils.default.toNumber(o.threshold)||1,r<n?(g="right",0<t&&h-i<=n+s&&(b=!0)):(g="left",0<t&&n<=i&&(f=!0))),R(),x.lastScrollTop=u,x.lastScrollLeft=n,(m||d||b||f)&&N("scroll-boundary",{direction:g,isTop:d,isBottom:m,isLeft:f,isRight:b,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h},e),N("scroll",{direction:g,isTop:0<l&&u<=0,isBottom:0<l&&v<=u+c,isLeft:0<t&&n<=0,isRight:0<t&&h<=n+s,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h},e)},O=e=>{var t,l,i,r=e.currentTarget;r===e.target&&(t=d.value)&&(l=T.xThumbWidth,i=r.getBoundingClientRect(),t.scrollTo({left:(0,_util.getScrollFromClick)(e.clientX-i.left,t.clientWidth,t.scrollWidth,r.clientWidth,l),behavior:"auto"}))},U=e=>{var t,l,i,r=e.currentTarget;r===e.target&&(t=d.value)&&(l=T.yThumbHeight,i=r.getBoundingClientRect(),t.scrollTo({top:(0,_util.getScrollFromClick)(e.clientY-i.top,t.clientHeight,t.scrollHeight,r.clientHeight,l),behavior:"auto"}))},z=e=>{var t,l,i=e.currentTarget,r=(x.isThumbDrag=!0,i.setPointerCapture(e.pointerId),d.value);r&&(t=T.xThumbWidth,l=(i=i.parentElement).getBoundingClientRect(),e=e.clientX-l.left,l=(0,_util.getThumbOffsetSize)(r.scrollLeft,r.clientWidth,r.scrollWidth,i.clientWidth,t),x.thumbDragOffset=e-l)},E=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:l,thumbDragOffset:i}=x;if(l){l=d.value;if(l){var r=T.xThumbWidth;let e=t.currentTarget;var o=e.parentElement,a=o.getBoundingClientRect();l.scrollLeft=(0,_util.getScrollFromDrag)(t.clientX-a.left,i,l.clientWidth,l.scrollWidth,o.clientWidth,r)}}}},I=e=>{e.currentTarget.releasePointerCapture(e.pointerId),x.isThumbDrag=!1},B=e=>{var t,l,i=e.currentTarget,r=(x.isThumbDrag=!0,i.setPointerCapture(e.pointerId),d.value);r&&(t=T.yThumbHeight,l=(i=i.parentElement).getBoundingClientRect(),e=e.clientY-l.top,l=(0,_util.getThumbOffsetSize)(r.scrollTop,r.clientHeight,r.scrollHeight,i.clientHeight,t),x.thumbDragOffset=e-l)},P=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:l,thumbDragOffset:i}=x;if(l){l=d.value;if(l){var r=T.yThumbHeight;let e=t.currentTarget;var o=e.parentElement,a=o.getBoundingClientRect();l.scrollTop=(0,_util.getScrollFromDrag)(t.clientY-a.top,i,l.clientHeight,l.scrollHeight,o.clientHeight,r)}}}};Object.assign(D,t,{});let a=(0,_vue.ref)(0);return(0,_vue.watch)(()=>v.height,()=>{a.value++}),(0,_vue.watch)(()=>v.width,()=>{a.value++}),(0,_vue.watch)(()=>v.minHeight,()=>{a.value++}),(0,_vue.watch)(()=>v.minWidth,()=>{a.value++}),(0,_vue.watch)(()=>v.maxHeight,()=>{a.value++}),(0,_vue.watch)(()=>v.maxWidth,()=>{a.value++}),(0,_vue.watch)(()=>v.native,()=>{a.value++}),(0,_vue.watch)(()=>v.syncResize,()=>{a.value++}),(0,_vue.watch)(a,()=>{D.recalculate().then(()=>{D.recalculate()})}),(0,_vue.onMounted)(()=>{var e=v.autoResize,t=d.value,l=m.value;e&&(e=globalResize.create(()=>{v.autoResize&&a.value++}),t&&e.observe(t),l&&e.observe(l),x.resizeObserver=e),a.value++,globalEvents.on(D,"resize",()=>{a.value++})}),(0,_vue.onBeforeUnmount)(()=>{var e=x.resizeObserver;e&&e.disconnect(),globalEvents.off(D,"resize")}),D.renderVN=()=>{var{id:e,native:t,loading:l,viewAttrs:i}=v,r=C.value,o=y.value,a=H.value,u=W.value,n=w.value,s=S.value,c=h.default;return(0,_vue.h)("div",{ref:g,id:e||null,class:o,style:r},[(0,_vue.h)("div",Object.assign({ref:d,class:a,onScroll:L},i),[(0,_vue.h)("div",{key:"vi",ref:m,class:u},c?c({}):[])]),t||"hidden"===n.visible?renderEmptyElement(D):(0,_vue.h)("div",{ref:f,class:"vxe-scrollbar--track-x",onClick:O},[(0,_vue.h)("div",{ref:p,class:"vxe-scrollbar--thumb-x",onPointerdown:z,onPointermove:E,onPointerup:I,onPointercancel:I,onLostpointercapture:I})]),t||"hidden"===s.visible?renderEmptyElement(D):(0,_vue.h)("div",{ref:b,class:"vxe-scrollbar--track-y",onClick:U},[(0,_vue.h)("div",{ref:_,class:"vxe-scrollbar--thumb-y",onPointerdown:B,onPointermove:P,onPointerup:I,onPointercancel:I,onLostpointercapture:I})]),(0,_vue.h)(_loading.default,{class:"vxe-scrollbar--loading",modelValue:l})])},D},render(){return this.renderVN()}});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
.vxe-scrollbar {
|
|
2
|
-
width: 100%;
|
|
3
2
|
position: relative;
|
|
4
3
|
}
|
|
5
4
|
.vxe-scrollbar.is--virtual > .vxe-scrollbar--view {
|
|
@@ -37,6 +36,7 @@
|
|
|
37
36
|
.vxe-scrollbar.is--native > .vxe-scrollbar--view::-webkit-scrollbar-thumb:active {
|
|
38
37
|
background-color: var(--vxe-ui-scrollbar-thumb-active-background-color);
|
|
39
38
|
}
|
|
39
|
+
|
|
40
40
|
.vxe-scrollbar.ov-x--hidden > .vxe-scrollbar--view {
|
|
41
41
|
overflow-x: hidden;
|
|
42
42
|
}
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
display: none;
|
|
57
57
|
position: absolute;
|
|
58
58
|
background-color: var(--vxe-ui-scrollbar-track-background-color);
|
|
59
|
+
overflow: hidden;
|
|
59
60
|
-webkit-user-select: none;
|
|
60
61
|
-moz-user-select: none;
|
|
61
62
|
user-select: none;
|
|
@@ -107,16 +108,16 @@
|
|
|
107
108
|
left: var(--vxe-ui-scrollbar-y-width);
|
|
108
109
|
}
|
|
109
110
|
|
|
110
|
-
.vxe-scrollbar.is--padding.sx-pos--top {
|
|
111
|
+
.vxe-scrollbar.is--padding.overflow-x.sx-pos--top {
|
|
111
112
|
padding-top: var(--vxe-ui-scrollbar-x-height);
|
|
112
113
|
}
|
|
113
|
-
.vxe-scrollbar.is--padding.sx-pos--bottom {
|
|
114
|
+
.vxe-scrollbar.is--padding.overflow-x.sx-pos--bottom {
|
|
114
115
|
padding-bottom: var(--vxe-ui-scrollbar-x-height);
|
|
115
116
|
}
|
|
116
|
-
.vxe-scrollbar.is--padding.sy-pos--left {
|
|
117
|
+
.vxe-scrollbar.is--padding.overflow-y.sy-pos--left {
|
|
117
118
|
padding-left: var(--vxe-ui-scrollbar-y-width);
|
|
118
119
|
}
|
|
119
|
-
.vxe-scrollbar.is--padding.sy-pos--right {
|
|
120
|
+
.vxe-scrollbar.is--padding.overflow-y.sy-pos--right {
|
|
120
121
|
padding-right: var(--vxe-ui-scrollbar-y-width);
|
|
121
122
|
}
|
|
122
123
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-scrollbar{
|
|
1
|
+
.vxe-scrollbar{position:relative}.vxe-scrollbar.is--virtual>.vxe-scrollbar--view{scrollbar-width:none;-ms-overflow-style:none}.vxe-scrollbar.is--virtual>.vxe-scrollbar--view::-webkit-scrollbar{display:none}.vxe-scrollbar.is--virtual.ov-x--auto-hide:hover>.vxe-scrollbar--track-x{opacity:1}.vxe-scrollbar.is--virtual.ov-x--auto-hide>.vxe-scrollbar--track-x{opacity:0;transition:opacity .8s ease-in-out}.vxe-scrollbar.is--virtual.ov-y--auto-hide:hover>.vxe-scrollbar--track-y{opacity:1}.vxe-scrollbar.is--virtual.ov-y--auto-hide>.vxe-scrollbar--track-y{opacity:0;transition:opacity .8s ease-in-out}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar{width:var(--vxe-ui-scrollbar-y-width);height:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar-thumb{border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-scrollbar-thumb-background-color)}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar-thumb:hover{background-color:var(--vxe-ui-scrollbar-thumb-hover-background-color)}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar-thumb:active{background-color:var(--vxe-ui-scrollbar-thumb-active-background-color)}.vxe-scrollbar.ov-x--hidden>.vxe-scrollbar--view{overflow-x:hidden}.vxe-scrollbar.ov-y--hidden>.vxe-scrollbar--view{overflow-y:hidden}.vxe-scrollbar--view{height:100%;width:100%;overflow-x:auto;overflow-y:auto}.vxe-scrollbar--track-x,.vxe-scrollbar--track-y{display:none;position:absolute;background-color:var(--vxe-ui-scrollbar-track-background-color);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-scrollbar.overflow-x>.vxe-scrollbar--track-x{display:block}.vxe-scrollbar.overflow-y>.vxe-scrollbar--track-y{display:block}.vxe-scrollbar--track-x{width:100%;left:0;height:var(--vxe-ui-scrollbar-x-height);padding:var(--vxe-ui-scrollbar-track-padding) 0}.vxe-scrollbar--track-y{height:100%;top:0;width:var(--vxe-ui-scrollbar-y-width);padding:0 var(--vxe-ui-scrollbar-track-padding)}.vxe-scrollbar.sx-pos--top>.vxe-scrollbar--track-x{top:0}.vxe-scrollbar.sx-pos--bottom>.vxe-scrollbar--track-x{bottom:0}.vxe-scrollbar.sy-pos--left>.vxe-scrollbar--track-y{left:0}.vxe-scrollbar.sy-pos--right>.vxe-scrollbar--track-y{right:0}.vxe-scrollbar.overflow-x.overflow-y>.vxe-scrollbar--track-x{width:calc(100% - var(--vxe-ui-scrollbar-x-height))}.vxe-scrollbar.overflow-x.overflow-y>.vxe-scrollbar--track-y{height:calc(100% - var(--vxe-ui-scrollbar-y-width))}.vxe-scrollbar.overflow-x.overflow-y.sx-pos--top.sy-pos--left>.vxe-scrollbar--track-y,.vxe-scrollbar.overflow-x.overflow-y.sx-pos--top.sy-pos--right>.vxe-scrollbar--track-y{top:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.overflow-x.overflow-y.sy-pos--left.sx-pos--bottom>.vxe-scrollbar--track-x,.vxe-scrollbar.overflow-x.overflow-y.sy-pos--left.sx-pos--top>.vxe-scrollbar--track-x{left:var(--vxe-ui-scrollbar-y-width)}.vxe-scrollbar.is--padding.overflow-x.sx-pos--top{padding-top:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.is--padding.overflow-x.sx-pos--bottom{padding-bottom:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.is--padding.overflow-y.sy-pos--left{padding-left:var(--vxe-ui-scrollbar-y-width)}.vxe-scrollbar.is--padding.overflow-y.sy-pos--right{padding-right:var(--vxe-ui-scrollbar-y-width)}.vxe-scrollbar--thumb-y{width:100%}.vxe-scrollbar--thumb-x{height:100%}.vxe-scrollbar--thumb-x,.vxe-scrollbar--thumb-y{border-radius:var(--vxe-ui-scrollbar-thumb-border-radius);background-color:var(--vxe-ui-scrollbar-thumb-background-color)}.vxe-scrollbar--thumb-x:hover,.vxe-scrollbar--thumb-y:hover{background-color:var(--vxe-ui-scrollbar-thumb-hover-background-color)}.vxe-scrollbar--thumb-x:active,.vxe-scrollbar--thumb-y:active{background-color:var(--vxe-ui-scrollbar-thumb-active-background-color)}
|