vxe-pc-ui 4.20.11 → 4.20.13
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 +43 -12
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/list/src/list.js +7 -1
- package/es/scrollbar/src/scrollbar.js +6 -1
- package/es/scrollbar/style.css +25 -12
- package/es/scrollbar/style.min.css +1 -1
- package/es/select/src/select.js +7 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +14 -6
- package/es/tree/src/tree.js +7 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-scrollbar/style.css +25 -12
- package/es/vxe-scrollbar/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 +46 -18
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +7 -2
- package/lib/list/src/list.min.js +1 -1
- package/lib/scrollbar/src/scrollbar.js +7 -2
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/scrollbar/style/style.css +25 -12
- package/lib/scrollbar/style/style.min.css +1 -1
- package/lib/select/src/select.js +7 -2
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +14 -6
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tree/src/tree.js +7 -2
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-scrollbar/style/style.css +25 -12
- package/lib/vxe-scrollbar/style/style.min.css +1 -1
- package/package.json +3 -3
- package/packages/list/src/list.ts +7 -1
- package/packages/scrollbar/src/scrollbar.ts +6 -1
- package/packages/select/src/select.ts +7 -1
- package/packages/tabs/src/tabs.ts +14 -6
- package/packages/tree/src/tree.ts +7 -1
- package/styles/components/scrollbar.scss +30 -12
- package/styles/theme/base.scss +4 -0
- package/types/components/card.d.ts +1 -1
- package/types/components/drawer.d.ts +1 -1
- package/types/components/icon-picker.d.ts +1 -1
- package/types/components/layout-aside.d.ts +2 -2
- package/types/components/layout-body.d.ts +1 -1
- package/types/components/list.d.ts +1 -1
- package/types/components/menu.d.ts +10 -1
- package/types/components/modal.d.ts +1 -1
- package/types/components/scrollbar.d.ts +5 -0
- package/types/components/select.d.ts +1 -1
- package/types/components/table.d.ts +4 -0
- package/types/components/tooltip.d.ts +1 -1
- package/types/components/tree.d.ts +1 -1
- /package/es/icon/{iconfont.1792226845944.ttf → iconfont.1792480474156.ttf} +0 -0
- /package/es/icon/{iconfont.1792226845944.woff → iconfont.1792480474156.woff} +0 -0
- /package/es/icon/{iconfont.1792226845944.woff2 → iconfont.1792480474156.woff2} +0 -0
- /package/es/{iconfont.1792226845944.ttf → iconfont.1792480474156.ttf} +0 -0
- /package/es/{iconfont.1792226845944.woff → iconfont.1792480474156.woff} +0 -0
- /package/es/{iconfont.1792226845944.woff2 → iconfont.1792480474156.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792226845944.ttf → iconfont.1792480474156.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792226845944.woff → iconfont.1792480474156.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792226845944.woff2 → iconfont.1792480474156.woff2} +0 -0
- /package/lib/{iconfont.1792226845944.ttf → iconfont.1792480474156.ttf} +0 -0
- /package/lib/{iconfont.1792226845944.woff → iconfont.1792480474156.woff} +0 -0
- /package/lib/{iconfont.1792226845944.woff2 → iconfont.1792480474156.woff2} +0 -0
package/lib/list/src/list.js
CHANGED
|
@@ -315,11 +315,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
315
315
|
yThumbHeight,
|
|
316
316
|
xThumbWidth
|
|
317
317
|
} = reactData;
|
|
318
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
318
319
|
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
319
320
|
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
320
321
|
const scrollXVisible = computeScrollXVisible.value;
|
|
321
322
|
const scrollYVisible = computeScrollYVisible.value;
|
|
322
|
-
return domUtils.buildClass(['vxe-scrollbar is--virtual', `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}`, `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`], {
|
|
323
|
+
return domUtils.buildClass(['vxe-scrollbar is--virtual', scrollbarOpts.fluentOverlay ? 'is--fluent-overlay' : 'is--default-mode', `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}`, `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`], {
|
|
323
324
|
'overflow-y': yThumbHeight,
|
|
324
325
|
'overflow-x': xThumbWidth
|
|
325
326
|
});
|
|
@@ -2109,13 +2110,17 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2109
2110
|
if (isVScrollbar) {
|
|
2110
2111
|
if (!scrollObserver) {
|
|
2111
2112
|
const el = refElem.value;
|
|
2112
|
-
const
|
|
2113
|
+
const viewSpaceEl = refVirtualSpaceElem.value;
|
|
2114
|
+
const viewInnerEl = refVirtualBody.value;
|
|
2113
2115
|
const scrollObserver = globalResize.create(() => {
|
|
2114
2116
|
reScrollFlag.value++;
|
|
2115
2117
|
});
|
|
2116
2118
|
if (el) {
|
|
2117
2119
|
scrollObserver.observe(el);
|
|
2118
2120
|
}
|
|
2121
|
+
if (viewSpaceEl) {
|
|
2122
|
+
scrollObserver.observe(viewSpaceEl);
|
|
2123
|
+
}
|
|
2119
2124
|
if (viewInnerEl) {
|
|
2120
2125
|
scrollObserver.observe(viewInnerEl);
|
|
2121
2126
|
}
|
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{getConfig,getIcon,getI18n,domUtils,useFns,menus,globalEvents,globalResize}=_ui.VxeUI,{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:()=>getConfig().list.size||getConfig().size},autoResize:{type:Boolean,default:()=>getConfig().list.autoResize},syncResize:[Boolean,String,Number],showSeq:{type:Boolean,default:()=>getConfig().list.showSeq},showRadio:{type:Boolean,default:()=>getConfig().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().list.useScrollbar,getConfig().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(H,e){let{slots:O,emit:i}=e;var t=_xeUtils.default.uniqueId();let v=_xeUtils.default.browse(),B=(0,_vue.reactive)(createReactData()),K=createInternalData(),g=(0,_store.getCrossListDragRowInfo)(),U=(0,_vue.ref)(),G=(0,_vue.ref)(),J=(0,_vue.ref)(),A=(0,_vue.ref)(),Q=(0,_vue.ref)(),Z=(0,_vue.ref)(),ee=(0,_vue.ref)(),te=(0,_vue.ref)(),re=useFns.useSize(H).computeSize,$=useFns.useVScrollbar(H).computeIsVScrollbar,h={refElem:U},j={xID:t,props:H,context:e,reactData:B,internalData:K,getRefMaps:()=>h},{refTrackXElem:oe,refTrackYElem:le,refThumbXElem:ae,refThumbYElem:ie,updateThumbSize:w,updateThumbOffset:f,clickTrackXEvent:se,clickTrackYEvent:ne,pointerdownThumbXEvent:ue,pointermoveThumbXEvent:ce,cleatPointerThumbEvent:q,pointerdownThumbYEvent:de,pointermoveThumbYEvent:ve}=useFns.useInitVScrollbar(j),P=(0,_vue.computed)(()=>Object.assign({},getConfig().list.rowConfig,H.rowConfig)),N=(0,_vue.computed)(()=>Object.assign({},getConfig().list.dragConfig,H.dragConfig)),p=(0,_vue.computed)(()=>Object.assign({},getConfig().list.virtualYConfig||getConfig().list.scrollY,H.virtualYConfig||H.scrollY)),Y=(0,_vue.computed)(()=>{var e=P.value.keyField;return e||""}),z=(0,_vue.computed)(()=>{var e=H.dragConfig,t=N.value;return e&&(0,_utils.isEnableConf)(t)}),x=(0,_vue.computed)(()=>{var e=P.value.height;return e}),V=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().list.radioConfig,H.radioConfig)),X=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().list.checkboxConfig,H.checkboxConfig)),I=(0,_vue.computed)(()=>Object.assign({},getConfig().list.menuConfig,H.menuConfig)),ge=(0,_vue.computed)(()=>{var e=x.value,t=T.value,r=E.value,o={};return e&&(o["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),(t||r)&&(o["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(t||r),o["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(r||t)),o}),he=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=H,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:a}=B,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}),W=(0,_vue.computed)(()=>Object.assign({},getConfig().list.scrollbarConfig,H.scrollbarConfig)),r=(0,_vue.computed)(()=>{var e=W.value;return Object.assign({},getConfig().scrollbar.xConfig,e.xConfig)}),o=(0,_vue.computed)(()=>{var e=W.value;return Object.assign({},getConfig().scrollbar.yConfig,e.yConfig)}),E=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.height,e.height),getConfig().scrollbar.height)}),T=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.width,e.width),getConfig().scrollbar.width)}),we=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),fe=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),pe=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),xe=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),Re=(0,_vue.computed)(()=>{var{yThumbHeight:e,xThumbWidth:t}=B,r=_e.value,o=me.value,l=we.value,a=fe.value;return domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--"+(!1===l?"hidden":"visible"),"ov-y--"+(!1===a?"hidden":"visible"),"sx-pos--"+(r?"top":"bottom"),"sy-pos--"+(o?"left":"right")],{"overflow-y":e,"overflow-x":t})}),_e=(0,_vue.computed)(()=>"top"===r.value.position),me=(0,_vue.computed)(()=>"left"===o.value.position),R=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$list:j},t))},s=e=>{i("update:checkRowKeys",e)},n=e=>{i("update:checkRowKey",e)},_=e=>getRowIdByField(e,Y.value),L=e=>{var t=B.parentHeight,e=H[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},M=()=>{var e=G.value,t=J.value;B.headHeight=e?Math.floor(e.offsetHeight):0,B.footHeight=t?Math.floor(t.offsetHeight):0,B.customHeight=L("height"),B.customMaxHeight=L("maxHeight")},m=()=>{var e=B.scrollYLoad,{scrollYStore:t,fullData:r}=K;B.bodyHeight=e?r.length*t.rowHeight:0,B.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},S=()=>{var e=K.fullData;K.afterList=e.slice(0),Me()},b=e=>{var t=B.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=K,a=Y.value;e&&S();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)}),B.rowList=e,(0,_vue.nextTick)()},F=()=>{b(),m()},be=()=>(0,_vue.nextTick)().then(()=>{var e=B.scrollYLoad,t=K.scrollYStore,r=Z.value,o=p.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=A.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):v.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),F):m)()}),Ce=()=>{var e=A.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},ye=(e,t)=>{var r=A.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),B.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},ke=()=>{let{lastScrollLeft:e,lastScrollTop:t}=K;return Ce().then(()=>{if(e||t)return K.lastScrollLeft=0,K.lastScrollTop=0,ye(e,t)})},De=()=>$.value?(0,_vue.nextTick)().then(()=>{w(),f()}):Promise.resolve(),C=()=>{var r,o=U.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))),B.parentHeight=t,M(),o.clientWidth&&o.clientHeight)return be().then(()=>{De()})}return(0,_vue.nextTick)()},Ie=e=>{var t=K.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:a,rowHeight:i}=t,e=e.currentTarget.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,F())},Ee=e=>{var t=e.currentTarget,r=t.scrollTop,t=t.scrollLeft,o=t!==K.lastScrollLeft,l=r!==K.lastScrollTop;$.value&&f(),K.lastScrollTop=r,K.lastScrollLeft=t,B.scrollYLoad&&Ie(e),R("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},Te=()=>{var e=H.checkRowKey,t=K.fullKeyMaps;e?(t=t[e],B.selectRadioRow=t||null):B.selectRadioRow=null},Le=()=>{var e=H.checkRowKeys,t=K.fullKeyMaps,r=Y.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}K.selectCheckboxMaps=o,c()},Me=()=>{let{afterList:e,rowMaps:l}=K,a=Y.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++})},Se=()=>{var e=K.fullData;let l=Y.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}}),K.fullKeyMaps=a,K.rowMaps=i},l=e=>{var t=K.scrollYStore,r=p.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),K.fullData=e,K.insertRowMaps={},B.insertRowFlag++,K.removeRowMaps={},B.removeRowFlag++,B.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),Se(),b(!0),Te(),Le(),be().then(()=>{ke()})},Fe=()=>{k(),y(),C()},He=()=>{var e=U.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},Oe=e=>{var t=p.value.sItem,r=U.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")})}},Be=e=>{var t=B.dragRow,r=N.value.tooltipMethod;let o="";o=r?""+(r({$list:j,row:t})||""):getI18n("vxe.list.dragTip",[e.textContent||""]),B.dragTipText=o},u=()=>{var e=te.value,t=ee.value;e&&(e.style.display=""),t&&(t.style.display="")},y=()=>{crossListDragRowObj=null,g.row=null},Ke=()=>{var e=B.dragRow;e&&(u(),He(),y(),B.dragRow=null)},Ue=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:a}=N.value,i=e.currentTarget,l="row"===l?i:i.parentElement.parentElement;He(),a&&!a(t)?(l.draggable=!1,B.dragRow=null,u()):(o&&(g.row=r,crossListDragRowObj={$oldList:j,$newList:null}),i={row:r},B.dragRow=r,B.isCrossDragRow=!1,l.draggable=!0,Oe(r),Be(l),R("row-dragstart",i,e))},Ae=()=>{Ke()},$e=(e,t,r,o)=>{var l=U.value;if(l){var a=l.getBoundingClientRect(),i=l.clientHeight;if(t){var s=ee.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=te.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"))}},k=()=>{var e=U.value;u(),He(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),B.dragRow=null},je=(l,a,i,s)=>{let n=K.fullData;var e=N.value;let{animation:v,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let g="bottom"===s?1:0,h=U.value,w={status:!1};if(h&&i&&a){if(i!==a){var f={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:g};let u=_(a),c=Qe(n,u);var p,x=D(i);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=Je(n,a),n.splice(r,1);var e=Je(n,i);return o=e+g,n.splice(o,0,a),b(),B.scrollYLoad&&m(),l&&(e={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:g,_index:{newIndex:o,oldIndex:r}},R("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(v){var o=B.rowList,l=K.fullData,a=Qe(l,u),i=l[0],i=Je(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=Qe(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)}C()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(k(),y(),e))}k(),y()}return Promise.resolve(w)},qe=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},Pe=e=>{var t=B.dragRow,{prevDragRow:r,prevDragPos:o}=K,l=N.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==j.xID)return void l.handleCrossListRowDragInsertEvent(e)}je(e,t,r,o)},Ne=e=>{var t=B.dragRow,r=K.fullData,o=N.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),a=l.getAttribute("rowid")||"",r=Ge(r,a);if(r){e.preventDefault();var i=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(K.prevDragRow=r,K.prevDragPos=i,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==j.xID)return s&&s.xID!==j.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,B.dragTipText=n.dragTipText,crossListDragRowObj.$newList=j,void $e(e,l,!0,i);s&&s.hideCrossListRowDropClearStatus(),B.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&_(t)===a?$e(e,l,!1,i):(o={oldRow:t,targetRow:r,dragPos:i,dragRow:t,offsetIndex:"bottom"==i?1:0},$e(e,l,!0,i),R("row-dragover",o,e))}},Ye=(e,t)=>{var{trigger:r,disabledMethod:o}=N.value;let l=!1;z.value&&(l="row"===r);r={row:t,$list:j};!l||o&&o(r)||Ue(e,r)},ze=(e,t)=>{var{showRadio:r,showCheckbox:o}=H,l=K.currentRow,a=V.value,i=X.value,s=P.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,it(e,t)):l&&(K.currentRow=null,B.currRowFlag++),r&&"row"===a.trigger&&(u=!0,st(e,t)),o&&"row"===i.trigger&&(c=!0,at(e,t)),R("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},Ve=(e,t)=>{R("row-dblclick",{row:t},e)},D=e=>getRowKeyByField(e,Y.value),a=(e,t)=>""+e==""+t,Xe=(e,t)=>!(!e||!t)&&(e===t||a(_(e),_(t))),We=(e,t)=>e&&a(D(e),t);let Ge=(e,t)=>{let r=Y.value;return _xeUtils.default.find(e,e=>a(getRowIdByField(e,r),t))},Je=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>Xe(e,t)):-1,Qe=(e,t)=>{let r=Y.value;return _xeUtils.default.findIndexOf(e,e=>a(getRowIdByField(e,r),t))},Ze=e=>{var t=B.selectRadioRow;return D(t)===e};let et=e=>{var t=B.updateCheckboxFlag,r=K.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=B.updateCheckboxFlag,t=K.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let tt=()=>{var e=B.updateCheckboxFlag,t=K.selectCheckboxMaps;let r=Y.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},rt=()=>{K.selectCheckboxMaps={},B.updateCheckboxFlag++,B.isAllChecked=!1,B.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},ot=e=>{var{fullData:t,selectCheckboxMaps:r}=K,o=Y.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),c()}return rt()},c=()=>{var{selectCheckboxMaps:e,fullData:t}=K,r=Y.value,o=X.value.checkMethod;let l=!1,a=!1;if(o){for(var i of t)if(o({row:i,$list:j}))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 B.isAllChecked=l&&!a,B.isAllIndeterminate=l&&a,B.updateCheckboxFlag++,(0,_vue.nextTick)()},lt=e=>{var t=B.isAllChecked,t=!t;t?ot(!0):rt(),R("checkbox-all",{checked:t},e)},at=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=K.selectCheckboxMaps,l=X.value.checkMethod,a=_(r),l=!!l&&!l({$list:j,row:r});if(!l){let e=!1;o[a]?delete o[a]:(e=!0,o[a]=r),B.updateCheckboxFlag++,c();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),R("checkbox-change",{row:r,value:l,checked:e},t)}},it=(e,t)=>{e.preventDefault();var r=P.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(K.currentRow=t,B.currRowFlag++,R("current-change",{row:t,checked:!0},e))},st=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=B.selectRadioRow,{strict:l,checkMethod:a}=V.value,i=D(r),a=!!a&&!a({$list:j,row:r});if(!a){a=i;let e=!0;l&&o&&i===D(o)?(e=!1,B.selectRadioRow=null):B.selectRadioRow=r,n(a),R("radio-change",{row:r,value:a,checked:e},t)}},nt=(e,t)=>{let{fullData:o,rowMaps:l}=K,a=Y.value,i=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,a),r=(0,_util.getItemCacheObj)(e);o[i](e),l[t]=r})},ut=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:a,insertRowMaps:i}=K,s=Y.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))nt(u,!1);else if(-1===n)nt(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"),nt(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);a[t]?(delete a[t],i[t]&&delete i[t]):i[t]=e}),B.removeRowFlag++,B.insertRowFlag++,Se(),b(!0),Me(),c(),B.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},ct=(o,l)=>{var e=H.menuConfig,t=I.value,r=P.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:j,options:e,row:l})||(r?it(o,l):K.currentRow&&(K.currentRow=null,B.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:j};r&&r(t,o),R("menu-click",t,e.$event)}}}))),R("row-menu",{row:l},o)};e={dispatchEvent:R,getScrollViewElem(){return A.value||null},loadData:l,reloadData(e){return Ce(),l(e)},getFullData(){var e=K.fullData;return e},recalculate:C,scrollTo:ye,refreshScroll:ke,clearScroll:Ce,getRowKey:D,eqRowKey:a,eqRow:Xe,eqRowByKey:We,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>Xe(e,t)):null,findRowByKey:Ge,findRowIndexOf:Je,findRowIndexOfByKey:Qe,isCheckedByRadioRowKey:Ze,isCheckedByRadioRow:e=>Ze(D(e)),isCheckedByCheckboxRowKey:et,isCheckedByCheckboxRow:e=>et(D(e)),setCurrentRow:e=>(K.currentRow=e,B.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=K.fullData;return K.currentRow=Ge(t,e),B.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=K.currentRow;return e},getCurrentRowKey:()=>{var e=K.currentRow;return e?D(e):null},clearCurrentRow:()=>(K.currentRow=null,B.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{B.selectRadioRow=e;e=D(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=K.fullData,t=(B.selectRadioRow=Ge(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=B.selectRadioRow;return e},getRadioRowKey:()=>{var e=B.selectRadioRow;return e?D(e):null},clearRadioRow:()=>(B.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=K.selectCheckboxMaps,o=Y.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=tt();return s(e),c()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=K,l=Y.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=tt();return s(e),c()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:tt,clearCheckboxRow:rt,setAllCheckboxRow:ot,insert(e){return ut(e,null)},insertAt(e,t){return ut(e,t)},insertNextAt(e,t){return ut(e,t,!0)},getInsertRecords(){var e=K.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=_(e);return!!B.insertRowFlag&&!!K.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=K;if(!Y.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;j.isInsertByRow(e)||(t=_(e),o[t]=e)}),r===e?(e=l=r.slice(0),K.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]}),B.removeRowFlag++,B.insertRowFlag++,Se(),b(!0),Me(),c(),B.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=K.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=_(e);return!!B.removeRowFlag&&!!K.removeRowMaps[e]},getRecordset(){return{insertRecords:j.getInsertRecords(),removeRecords:j.getRemoveRecords()}}};let dt=()=>{let e=K.scrollObserver;var t=$.value;if(t&&!e){var t=U.value,r=Q.value;let e=globalResize.create(()=>{wt.value++});t&&e.observe(t),r&&e.observe(r),K.scrollObserver=e}},vt=(Object.assign(j,e,{handleCrossListRowDragCancelEvent(){k(),y()},handleCrossListRowDragFinishEvent(t){var l=B.rowList,a=K.rowMaps;let{animation:i,isCrossListDrag:e}=N.value,s=U.value;if(s&&e&&crossListDragRowObj&&g){var n=g.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];j.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),Fe()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=B.rowList,o=N.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==j.xID&&(r&&r.xID!==j.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=j,K.prevDragRow=null,B.dragTipText=t.dragTipText,$e(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=K;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=N.value;if(e&&crossListDragRowObj&&g){let l=g.row,i=crossListDragRowObj.$oldList,s=U.value;if(s&&(i&&l)){let a=l,r=-1;u&&(r="bottom"===c?1:0);var v={oldRow:a,newRow:u,dragRow:a,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(v)).then(e=>{if(!e)return i&&i.xID!==j.xID&&i.handleCrossListRowDragCancelEvent(n),Fe(),o;let t=Promise.resolve();e=[a];i.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?j.insertNextAt(e,u):j.insertAt(e,u):j.insert(e),j.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:a,dragPos:c,offsetIndex:r},n),k(),t.then(()=>{var e=B.rowList,r=K.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()}}),(t,e,r,o)=>{var l=H.showRadio,{showIcon:a,visibleMethod:i}=V.value,i=!i||i({$list:j,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||st(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:r?getIcon().RADIO_DISABLED_UNCHECKED:getIcon().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(j)}),gt=(t,e,r,o)=>{var l=H.showCheckbox,{showIcon:a,visibleMethod:i}=X.value,i=!i||i({$list:j,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||at(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?getIcon().CHECKBOX_CHECKED:r?getIcon().CHECKBOX_DISABLED_UNCHECKED:getIcon().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(j)};let ht=(0,_vue.ref)(0),wt=((0,_vue.watch)(()=>H.data?H.data.length:-1,()=>{ht.value++}),(0,_vue.watch)(()=>H.data,()=>{ht.value++}),(0,_vue.watch)(ht,()=>{l(H.data||[])}),(0,_vue.ref)(0)),d=(0,_vue.ref)(0),ft=((0,_vue.watch)(()=>H.height,()=>{d.value++}),(0,_vue.watch)(()=>H.maxHeight,()=>{d.value++}),(0,_vue.watch)(()=>H.syncResize,()=>{d.value++}),(0,_vue.watch)($,()=>{(0,_vue.nextTick)(()=>{dt(),(0,_vue.nextTick)(()=>{d.value++})})}),(0,_vue.watch)(x,()=>{d.value++}),(0,_vue.watch)(T,()=>{d.value++}),(0,_vue.watch)(E,()=>{d.value++}),(0,_vue.watch)(we,()=>{(0,_vue.nextTick)(()=>{d.value++})}),(0,_vue.watch)(fe,()=>{(0,_vue.nextTick)(()=>{d.value++})}),(0,_vue.watch)(d,()=>{C().then(()=>{C()})}),(0,_vue.watch)(wt,()=>{De().then(()=>{De()})}),(0,_vue.watch)(()=>H.checkRowKey,()=>{Te()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>H.checkRowKeys?H.checkRowKeys.length:-1,()=>{ft.value++}),(0,_vue.watch)(()=>H.checkRowKeys,()=>{ft.value++}),(0,_vue.watch)(ft,()=>{Le()}),(0,_vue.onActivated)(()=>{C().then(()=>{ke()})}),(0,_vue.nextTick)(()=>{l(H.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r,autoResize:o}=H,l=P.value.useKey,a=z.value,i=Y.value;i||(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"])),l&&!i&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),o&&(e=U.value,r=(t=U.value)?t.parentElement:null,a=globalResize.create(()=>{H.autoResize&&d.value++}),e&&a.observe(e),r&&a.observe(r),K.resizeObserver=a),d.value++,dt(),globalEvents.on(j,"resize",()=>{d.value++})}),(0,_vue.onBeforeUnmount)(()=>{var{scrollObserver:e,resizeObserver:t}=K;t&&t.disconnect(),e&&e.disconnect(),globalEvents.off(j,"resize"),_xeUtils.default.assign(B,createReactData()),_xeUtils.default.assign(K,createInternalData())}),j.renderVN=()=>{var{showCheckbox:e,className:t,loading:r}=H,{bodyHeight:o,topSpaceHeight:l,rowList:a,isAllChecked:i,isAllIndeterminate:s,xThumbWidth:n,yThumbHeight:u}=B,c=O.default,d=O.header,v=O.footer,g=re.value,h=$.value,w=ge.value,f=he.value,p=V.value,x=X.value,{showHeader:R,headerTitle:_}=x,{trigger:m,isCrossListDrag:b}=N.value,{isHover:C,padding:y}=P.value,k=z.value,D=W.value,I=we.value,E=fe.value,T=_e.value,L=me.value,M=pe.value,S=xe.value,F=Re.value,e=e&&!1!==R,R={};return b&&!a.length&&(R.onDragover=j.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:U,class:["vxe-list",h?"ov-x--"+(!1===I?"hidden":"visible"):"",h?"ov-y--"+(!1===E?"hidden":"visible"):"",h?"sx-pos--"+(T?"top":"bottom"):"",h?"sy-pos--"+(L?"left":"right"):"",t?_xeUtils.default.isFunction(t)?t({$list:j}):t:"",{["size--"+g]:g,"is--virtual-scrollbar":h,"ov-padding":h&&D.padding,"ov-x--auto-hide":h&&M,"ov-y--auto-hide":h&&S,"overflow-y":u,"overflow-x":n,"is--drag":k,"is--loading":r}],style:w},R),[d||e?(0,_vue.h)("div",{ref:G,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:lt},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().CHECKBOX_CHECKED:s?getIcon().CHECKBOX_INDETERMINATE:getIcon().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(_)?getI18n("vxe.list.allChecked"):(0,_utils.getText)(_))])]):(0,_ui.renderEmptyElement)(j),d?(0,_vue.h)("div",{class:"vxe-list--header-content"},d({items:a,$list:j})):(0,_ui.renderEmptyElement)(j)]):(0,_ui.renderEmptyElement)(j),(0,_vue.h)("div",{ref:A,class:"vxe-list--virtual-wrapper",style:f,onScroll:Ee},[(0,_vue.h)("div",{ref:Q,class:"vxe-list--y-space",style:{height:o?o+"px":""}}),(0,_vue.h)("div",{ref:Z,class:["vxe-list--body",{"trigger--row":"row"===m,"checkbox--highlight":x.highlight,"radio--highlight":p.highlight,"row--hover":C,"is--padding":y}],style:{marginTop:l?l+"px":""}},c?c({items:a,$list:j}):a.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=H,{selectRadioRow:l,currRowFlag:a,updateCheckboxFlag:i}=B,{selectCheckboxMaps:s,currentRow:n}=K,u=O.content,c=O.extra,{trigger:d,icon:v,disabledMethod:g,visibleMethod:h}=N.value,w=V.value,f=X.value,{useKey:p,contentField:x,className:R,isCurrent:_}=P.value,m=z.value,b=Y.value,C=R&&_xeUtils.default.isFunction(R),p=b||p||m||_||r||o,_=p&&b?getRowIdByField(t,b):"",y=(0,_utils.enModelValue)(_);let k={row:t,$list:j},D=!1,I=!1,E=(r&&(D=l&&(t===l||We(l,_)),I=!!w.checkMethod&&!w.checkMethod({$list:j,row:t})),!1),T=!1;o&&(E=!(!i||!s[y]),T=!!f.checkMethod&&!f.checkMethod({$list:j,row:t}));l=[];r&&l.push(vt(t,y,I,D)),o&&l.push(gt(t,y,T,E));let L=!1;m&&b&&(!h||h(k))&&(w={},"row"!==d&&(L=!(!g||!g(k)),w.onMousedown=e=>{L||Ue(e,k)},w.onMouseup=Ae),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||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)));i={onMousedown(e){Ye(e,t)},onMouseup:Ae,onClick(e){ze(e,t)},onDblclick(e){Ve(e,t)},onContextmenu(e){ct(e,t)}};return m&&(i.onDragstart=qe,i.onDragend=Pe,i.onDragover=Ne),(0,_vue.h)("div",Object.assign({key:p&&b?y:e,class:["vxe-list--row",C?R(k):R||"",{"is--drag-disabled":L,"is--current":a&&n&&We(n,_),"is-radio--disabled":I,"is-radio--checked":D,"is-checkbox--disabled":T,"is-checkbox--checked":E}],rowid:p&&b?y:void 0},i),l)})(e,t)))]),v?(0,_vue.h)("div",{ref:J,class:"vxe-list--footer-wrapper"},v({items:a,$list:j})):(0,_ui.renderEmptyElement)(j),h?(0,_vue.h)("div",{class:F},[!1===I?(0,_ui.renderEmptyElement)(j):(0,_vue.h)("div",{ref:oe,class:"vxe-scrollbar--track-x",onClick:se},[(0,_vue.h)("div",{ref:ae,class:"vxe-scrollbar--thumb-x",onPointerdown:ue,onPointermove:ce,onPointerup:q,onPointercancel:q,onLostpointercapture:q})]),!1===E?(0,_ui.renderEmptyElement)(j):(0,_vue.h)("div",{ref:le,class:"vxe-scrollbar--track-y",onClick:ne},[(0,_vue.h)("div",{ref:ie,class:"vxe-scrollbar--thumb-y",onPointerdown:de,onPointermove:ve,onPointerup:q,onPointercancel:q,onLostpointercapture:q})])]):(0,_ui.renderEmptyElement)(j),(()=>{var{dragRow:e,dragTipText:t}=B,r=N.value;return z.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:ee,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:te,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",getIcon().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",getIcon().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)(j)]):(0,_ui.renderEmptyElement)(j)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},j},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_anime=require("../../ui/src/anime"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,domUtils,useFns,menus,globalEvents,globalResize}=_ui.VxeUI,{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:()=>getConfig().list.size||getConfig().size},autoResize:{type:Boolean,default:()=>getConfig().list.autoResize},syncResize:[Boolean,String,Number],showSeq:{type:Boolean,default:()=>getConfig().list.showSeq},showRadio:{type:Boolean,default:()=>getConfig().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().list.useScrollbar,getConfig().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(H,e){let{slots:O,emit:i}=e;var t=_xeUtils.default.uniqueId();let v=_xeUtils.default.browse(),B=(0,_vue.reactive)(createReactData()),K=createInternalData(),g=(0,_store.getCrossListDragRowInfo)(),U=(0,_vue.ref)(),G=(0,_vue.ref)(),J=(0,_vue.ref)(),A=(0,_vue.ref)(),Q=(0,_vue.ref)(),Z=(0,_vue.ref)(),ee=(0,_vue.ref)(),te=(0,_vue.ref)(),re=useFns.useSize(H).computeSize,$=useFns.useVScrollbar(H).computeIsVScrollbar,h={refElem:U},j={xID:t,props:H,context:e,reactData:B,internalData:K,getRefMaps:()=>h},{refTrackXElem:oe,refTrackYElem:le,refThumbXElem:ae,refThumbYElem:ie,updateThumbSize:w,updateThumbOffset:f,clickTrackXEvent:se,clickTrackYEvent:ne,pointerdownThumbXEvent:ue,pointermoveThumbXEvent:ce,cleatPointerThumbEvent:q,pointerdownThumbYEvent:de,pointermoveThumbYEvent:ve}=useFns.useInitVScrollbar(j),P=(0,_vue.computed)(()=>Object.assign({},getConfig().list.rowConfig,H.rowConfig)),N=(0,_vue.computed)(()=>Object.assign({},getConfig().list.dragConfig,H.dragConfig)),p=(0,_vue.computed)(()=>Object.assign({},getConfig().list.virtualYConfig||getConfig().list.scrollY,H.virtualYConfig||H.scrollY)),Y=(0,_vue.computed)(()=>{var e=P.value.keyField;return e||""}),z=(0,_vue.computed)(()=>{var e=H.dragConfig,t=N.value;return e&&(0,_utils.isEnableConf)(t)}),x=(0,_vue.computed)(()=>{var e=P.value.height;return e}),V=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().list.radioConfig,H.radioConfig)),X=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().list.checkboxConfig,H.checkboxConfig)),I=(0,_vue.computed)(()=>Object.assign({},getConfig().list.menuConfig,H.menuConfig)),ge=(0,_vue.computed)(()=>{var e=x.value,t=T.value,r=E.value,o={};return e&&(o["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),(t||r)&&(o["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(t||r),o["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(r||t)),o}),he=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=H,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:a}=B,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}),W=(0,_vue.computed)(()=>Object.assign({},getConfig().list.scrollbarConfig,H.scrollbarConfig)),r=(0,_vue.computed)(()=>{var e=W.value;return Object.assign({},getConfig().scrollbar.xConfig,e.xConfig)}),o=(0,_vue.computed)(()=>{var e=W.value;return Object.assign({},getConfig().scrollbar.yConfig,e.yConfig)}),E=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.height,e.height),getConfig().scrollbar.height)}),T=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.width,e.width),getConfig().scrollbar.width)}),we=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),fe=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),pe=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),xe=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),Re=(0,_vue.computed)(()=>{var{yThumbHeight:e,xThumbWidth:t}=B,r=W.value,o=_e.value,l=me.value,a=we.value,i=fe.value;return domUtils.buildClass(["vxe-scrollbar is--virtual",r.fluentOverlay?"is--fluent-overlay":"is--default-mode","ov-x--"+(!1===a?"hidden":"visible"),"ov-y--"+(!1===i?"hidden":"visible"),"sx-pos--"+(o?"top":"bottom"),"sy-pos--"+(l?"left":"right")],{"overflow-y":e,"overflow-x":t})}),_e=(0,_vue.computed)(()=>"top"===r.value.position),me=(0,_vue.computed)(()=>"left"===o.value.position),R=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$list:j},t))},s=e=>{i("update:checkRowKeys",e)},n=e=>{i("update:checkRowKey",e)},_=e=>getRowIdByField(e,Y.value),L=e=>{var t=B.parentHeight,e=H[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},M=()=>{var e=G.value,t=J.value;B.headHeight=e?Math.floor(e.offsetHeight):0,B.footHeight=t?Math.floor(t.offsetHeight):0,B.customHeight=L("height"),B.customMaxHeight=L("maxHeight")},m=()=>{var e=B.scrollYLoad,{scrollYStore:t,fullData:r}=K;B.bodyHeight=e?r.length*t.rowHeight:0,B.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},S=()=>{var e=K.fullData;K.afterList=e.slice(0),Me()},b=e=>{var t=B.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=K,a=Y.value;e&&S();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)}),B.rowList=e,(0,_vue.nextTick)()},F=()=>{b(),m()},be=()=>(0,_vue.nextTick)().then(()=>{var e=B.scrollYLoad,t=K.scrollYStore,r=Z.value,o=p.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=A.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):v.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),F):m)()}),Ce=()=>{var e=A.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},ye=(e,t)=>{var r=A.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),B.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},ke=()=>{let{lastScrollLeft:e,lastScrollTop:t}=K;return Ce().then(()=>{if(e||t)return K.lastScrollLeft=0,K.lastScrollTop=0,ye(e,t)})},De=()=>$.value?(0,_vue.nextTick)().then(()=>{w(),f()}):Promise.resolve(),C=()=>{var r,o=U.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))),B.parentHeight=t,M(),o.clientWidth&&o.clientHeight)return be().then(()=>{De()})}return(0,_vue.nextTick)()},Ie=e=>{var t=K.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:a,rowHeight:i}=t,e=e.currentTarget.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,F())},Ee=e=>{var t=e.currentTarget,r=t.scrollTop,t=t.scrollLeft,o=t!==K.lastScrollLeft,l=r!==K.lastScrollTop;$.value&&f(),K.lastScrollTop=r,K.lastScrollLeft=t,B.scrollYLoad&&Ie(e),R("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},Te=()=>{var e=H.checkRowKey,t=K.fullKeyMaps;e?(t=t[e],B.selectRadioRow=t||null):B.selectRadioRow=null},Le=()=>{var e=H.checkRowKeys,t=K.fullKeyMaps,r=Y.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}K.selectCheckboxMaps=o,c()},Me=()=>{let{afterList:e,rowMaps:l}=K,a=Y.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++})},Se=()=>{var e=K.fullData;let l=Y.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}}),K.fullKeyMaps=a,K.rowMaps=i},l=e=>{var t=K.scrollYStore,r=p.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),K.fullData=e,K.insertRowMaps={},B.insertRowFlag++,K.removeRowMaps={},B.removeRowFlag++,B.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),Se(),b(!0),Te(),Le(),be().then(()=>{ke()})},Fe=()=>{k(),y(),C()},He=()=>{var e=U.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},Oe=e=>{var t=p.value.sItem,r=U.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")})}},Be=e=>{var t=B.dragRow,r=N.value.tooltipMethod;let o="";o=r?""+(r({$list:j,row:t})||""):getI18n("vxe.list.dragTip",[e.textContent||""]),B.dragTipText=o},u=()=>{var e=te.value,t=ee.value;e&&(e.style.display=""),t&&(t.style.display="")},y=()=>{crossListDragRowObj=null,g.row=null},Ke=()=>{var e=B.dragRow;e&&(u(),He(),y(),B.dragRow=null)},Ue=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:a}=N.value,i=e.currentTarget,l="row"===l?i:i.parentElement.parentElement;He(),a&&!a(t)?(l.draggable=!1,B.dragRow=null,u()):(o&&(g.row=r,crossListDragRowObj={$oldList:j,$newList:null}),i={row:r},B.dragRow=r,B.isCrossDragRow=!1,l.draggable=!0,Oe(r),Be(l),R("row-dragstart",i,e))},Ae=()=>{Ke()},$e=(e,t,r,o)=>{var l=U.value;if(l){var a=l.getBoundingClientRect(),i=l.clientHeight;if(t){var s=ee.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=te.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"))}},k=()=>{var e=U.value;u(),He(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),B.dragRow=null},je=(l,a,i,s)=>{let n=K.fullData;var e=N.value;let{animation:v,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let g="bottom"===s?1:0,h=U.value,w={status:!1};if(h&&i&&a){if(i!==a){var f={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:g};let u=_(a),c=Qe(n,u);var p,x=D(i);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=Je(n,a),n.splice(r,1);var e=Je(n,i);return o=e+g,n.splice(o,0,a),b(),B.scrollYLoad&&m(),l&&(e={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:g,_index:{newIndex:o,oldIndex:r}},R("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(v){var o=B.rowList,l=K.fullData,a=Qe(l,u),i=l[0],i=Je(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=Qe(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)}C()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(k(),y(),e))}k(),y()}return Promise.resolve(w)},qe=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},Pe=e=>{var t=B.dragRow,{prevDragRow:r,prevDragPos:o}=K,l=N.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==j.xID)return void l.handleCrossListRowDragInsertEvent(e)}je(e,t,r,o)},Ne=e=>{var t=B.dragRow,r=K.fullData,o=N.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),a=l.getAttribute("rowid")||"",r=Ge(r,a);if(r){e.preventDefault();var i=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(K.prevDragRow=r,K.prevDragPos=i,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==j.xID)return s&&s.xID!==j.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,B.dragTipText=n.dragTipText,crossListDragRowObj.$newList=j,void $e(e,l,!0,i);s&&s.hideCrossListRowDropClearStatus(),B.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&_(t)===a?$e(e,l,!1,i):(o={oldRow:t,targetRow:r,dragPos:i,dragRow:t,offsetIndex:"bottom"==i?1:0},$e(e,l,!0,i),R("row-dragover",o,e))}},Ye=(e,t)=>{var{trigger:r,disabledMethod:o}=N.value;let l=!1;z.value&&(l="row"===r);r={row:t,$list:j};!l||o&&o(r)||Ue(e,r)},ze=(e,t)=>{var{showRadio:r,showCheckbox:o}=H,l=K.currentRow,a=V.value,i=X.value,s=P.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,it(e,t)):l&&(K.currentRow=null,B.currRowFlag++),r&&"row"===a.trigger&&(u=!0,st(e,t)),o&&"row"===i.trigger&&(c=!0,at(e,t)),R("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},Ve=(e,t)=>{R("row-dblclick",{row:t},e)},D=e=>getRowKeyByField(e,Y.value),a=(e,t)=>""+e==""+t,Xe=(e,t)=>!(!e||!t)&&(e===t||a(_(e),_(t))),We=(e,t)=>e&&a(D(e),t);let Ge=(e,t)=>{let r=Y.value;return _xeUtils.default.find(e,e=>a(getRowIdByField(e,r),t))},Je=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>Xe(e,t)):-1,Qe=(e,t)=>{let r=Y.value;return _xeUtils.default.findIndexOf(e,e=>a(getRowIdByField(e,r),t))},Ze=e=>{var t=B.selectRadioRow;return D(t)===e};let et=e=>{var t=B.updateCheckboxFlag,r=K.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=B.updateCheckboxFlag,t=K.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let tt=()=>{var e=B.updateCheckboxFlag,t=K.selectCheckboxMaps;let r=Y.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},rt=()=>{K.selectCheckboxMaps={},B.updateCheckboxFlag++,B.isAllChecked=!1,B.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},ot=e=>{var{fullData:t,selectCheckboxMaps:r}=K,o=Y.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),c()}return rt()},c=()=>{var{selectCheckboxMaps:e,fullData:t}=K,r=Y.value,o=X.value.checkMethod;let l=!1,a=!1;if(o){for(var i of t)if(o({row:i,$list:j}))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 B.isAllChecked=l&&!a,B.isAllIndeterminate=l&&a,B.updateCheckboxFlag++,(0,_vue.nextTick)()},lt=e=>{var t=B.isAllChecked,t=!t;t?ot(!0):rt(),R("checkbox-all",{checked:t},e)},at=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=K.selectCheckboxMaps,l=X.value.checkMethod,a=_(r),l=!!l&&!l({$list:j,row:r});if(!l){let e=!1;o[a]?delete o[a]:(e=!0,o[a]=r),B.updateCheckboxFlag++,c();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),R("checkbox-change",{row:r,value:l,checked:e},t)}},it=(e,t)=>{e.preventDefault();var r=P.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(K.currentRow=t,B.currRowFlag++,R("current-change",{row:t,checked:!0},e))},st=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=B.selectRadioRow,{strict:l,checkMethod:a}=V.value,i=D(r),a=!!a&&!a({$list:j,row:r});if(!a){a=i;let e=!0;l&&o&&i===D(o)?(e=!1,B.selectRadioRow=null):B.selectRadioRow=r,n(a),R("radio-change",{row:r,value:a,checked:e},t)}},nt=(e,t)=>{let{fullData:o,rowMaps:l}=K,a=Y.value,i=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,a),r=(0,_util.getItemCacheObj)(e);o[i](e),l[t]=r})},ut=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:a,insertRowMaps:i}=K,s=Y.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))nt(u,!1);else if(-1===n)nt(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"),nt(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);a[t]?(delete a[t],i[t]&&delete i[t]):i[t]=e}),B.removeRowFlag++,B.insertRowFlag++,Se(),b(!0),Me(),c(),B.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},ct=(o,l)=>{var e=H.menuConfig,t=I.value,r=P.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:j,options:e,row:l})||(r?it(o,l):K.currentRow&&(K.currentRow=null,B.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:j};r&&r(t,o),R("menu-click",t,e.$event)}}}))),R("row-menu",{row:l},o)};e={dispatchEvent:R,getScrollViewElem(){return A.value||null},loadData:l,reloadData(e){return Ce(),l(e)},getFullData(){var e=K.fullData;return e},recalculate:C,scrollTo:ye,refreshScroll:ke,clearScroll:Ce,getRowKey:D,eqRowKey:a,eqRow:Xe,eqRowByKey:We,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>Xe(e,t)):null,findRowByKey:Ge,findRowIndexOf:Je,findRowIndexOfByKey:Qe,isCheckedByRadioRowKey:Ze,isCheckedByRadioRow:e=>Ze(D(e)),isCheckedByCheckboxRowKey:et,isCheckedByCheckboxRow:e=>et(D(e)),setCurrentRow:e=>(K.currentRow=e,B.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=K.fullData;return K.currentRow=Ge(t,e),B.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=K.currentRow;return e},getCurrentRowKey:()=>{var e=K.currentRow;return e?D(e):null},clearCurrentRow:()=>(K.currentRow=null,B.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{B.selectRadioRow=e;e=D(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=K.fullData,t=(B.selectRadioRow=Ge(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=B.selectRadioRow;return e},getRadioRowKey:()=>{var e=B.selectRadioRow;return e?D(e):null},clearRadioRow:()=>(B.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=K.selectCheckboxMaps,o=Y.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=tt();return s(e),c()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=K,l=Y.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=tt();return s(e),c()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:tt,clearCheckboxRow:rt,setAllCheckboxRow:ot,insert(e){return ut(e,null)},insertAt(e,t){return ut(e,t)},insertNextAt(e,t){return ut(e,t,!0)},getInsertRecords(){var e=K.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=_(e);return!!B.insertRowFlag&&!!K.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=K;if(!Y.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;j.isInsertByRow(e)||(t=_(e),o[t]=e)}),r===e?(e=l=r.slice(0),K.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]}),B.removeRowFlag++,B.insertRowFlag++,Se(),b(!0),Me(),c(),B.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=K.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=_(e);return!!B.removeRowFlag&&!!K.removeRowMaps[e]},getRecordset(){return{insertRecords:j.getInsertRecords(),removeRecords:j.getRemoveRecords()}}};let dt=()=>{let e=K.scrollObserver;var t=$.value;if(t&&!e){var t=U.value,r=Q.value,o=Z.value;let e=globalResize.create(()=>{wt.value++});t&&e.observe(t),r&&e.observe(r),o&&e.observe(o),K.scrollObserver=e}},vt=(Object.assign(j,e,{handleCrossListRowDragCancelEvent(){k(),y()},handleCrossListRowDragFinishEvent(t){var l=B.rowList,a=K.rowMaps;let{animation:i,isCrossListDrag:e}=N.value,s=U.value;if(s&&e&&crossListDragRowObj&&g){var n=g.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];j.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),Fe()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=B.rowList,o=N.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==j.xID&&(r&&r.xID!==j.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=j,K.prevDragRow=null,B.dragTipText=t.dragTipText,$e(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=K;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=N.value;if(e&&crossListDragRowObj&&g){let l=g.row,i=crossListDragRowObj.$oldList,s=U.value;if(s&&(i&&l)){let a=l,r=-1;u&&(r="bottom"===c?1:0);var v={oldRow:a,newRow:u,dragRow:a,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(v)).then(e=>{if(!e)return i&&i.xID!==j.xID&&i.handleCrossListRowDragCancelEvent(n),Fe(),o;let t=Promise.resolve();e=[a];i.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?j.insertNextAt(e,u):j.insertAt(e,u):j.insert(e),j.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:a,dragPos:c,offsetIndex:r},n),k(),t.then(()=>{var e=B.rowList,r=K.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()}}),(t,e,r,o)=>{var l=H.showRadio,{showIcon:a,visibleMethod:i}=V.value,i=!i||i({$list:j,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||st(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:r?getIcon().RADIO_DISABLED_UNCHECKED:getIcon().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(j)}),gt=(t,e,r,o)=>{var l=H.showCheckbox,{showIcon:a,visibleMethod:i}=X.value,i=!i||i({$list:j,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||at(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?getIcon().CHECKBOX_CHECKED:r?getIcon().CHECKBOX_DISABLED_UNCHECKED:getIcon().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(j)};let ht=(0,_vue.ref)(0),wt=((0,_vue.watch)(()=>H.data?H.data.length:-1,()=>{ht.value++}),(0,_vue.watch)(()=>H.data,()=>{ht.value++}),(0,_vue.watch)(ht,()=>{l(H.data||[])}),(0,_vue.ref)(0)),d=(0,_vue.ref)(0),ft=((0,_vue.watch)(()=>H.height,()=>{d.value++}),(0,_vue.watch)(()=>H.maxHeight,()=>{d.value++}),(0,_vue.watch)(()=>H.syncResize,()=>{d.value++}),(0,_vue.watch)($,()=>{(0,_vue.nextTick)(()=>{dt(),(0,_vue.nextTick)(()=>{d.value++})})}),(0,_vue.watch)(x,()=>{d.value++}),(0,_vue.watch)(T,()=>{d.value++}),(0,_vue.watch)(E,()=>{d.value++}),(0,_vue.watch)(we,()=>{(0,_vue.nextTick)(()=>{d.value++})}),(0,_vue.watch)(fe,()=>{(0,_vue.nextTick)(()=>{d.value++})}),(0,_vue.watch)(d,()=>{C().then(()=>{C()})}),(0,_vue.watch)(wt,()=>{De().then(()=>{De()})}),(0,_vue.watch)(()=>H.checkRowKey,()=>{Te()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>H.checkRowKeys?H.checkRowKeys.length:-1,()=>{ft.value++}),(0,_vue.watch)(()=>H.checkRowKeys,()=>{ft.value++}),(0,_vue.watch)(ft,()=>{Le()}),(0,_vue.onActivated)(()=>{C().then(()=>{ke()})}),(0,_vue.nextTick)(()=>{l(H.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r,autoResize:o}=H,l=P.value.useKey,a=z.value,i=Y.value;i||(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"])),l&&!i&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),o&&(e=U.value,r=(t=U.value)?t.parentElement:null,a=globalResize.create(()=>{H.autoResize&&d.value++}),e&&a.observe(e),r&&a.observe(r),K.resizeObserver=a),d.value++,dt(),globalEvents.on(j,"resize",()=>{d.value++})}),(0,_vue.onBeforeUnmount)(()=>{var{scrollObserver:e,resizeObserver:t}=K;t&&t.disconnect(),e&&e.disconnect(),globalEvents.off(j,"resize"),_xeUtils.default.assign(B,createReactData()),_xeUtils.default.assign(K,createInternalData())}),j.renderVN=()=>{var{showCheckbox:e,className:t,loading:r}=H,{bodyHeight:o,topSpaceHeight:l,rowList:a,isAllChecked:i,isAllIndeterminate:s,xThumbWidth:n,yThumbHeight:u}=B,c=O.default,d=O.header,v=O.footer,g=re.value,h=$.value,w=ge.value,f=he.value,p=V.value,x=X.value,{showHeader:R,headerTitle:_}=x,{trigger:m,isCrossListDrag:b}=N.value,{isHover:C,padding:y}=P.value,k=z.value,D=W.value,I=we.value,E=fe.value,T=_e.value,L=me.value,M=pe.value,S=xe.value,F=Re.value,e=e&&!1!==R,R={};return b&&!a.length&&(R.onDragover=j.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:U,class:["vxe-list",h?"ov-x--"+(!1===I?"hidden":"visible"):"",h?"ov-y--"+(!1===E?"hidden":"visible"):"",h?"sx-pos--"+(T?"top":"bottom"):"",h?"sy-pos--"+(L?"left":"right"):"",t?_xeUtils.default.isFunction(t)?t({$list:j}):t:"",{["size--"+g]:g,"is--virtual-scrollbar":h,"ov-padding":h&&D.padding,"ov-x--auto-hide":h&&M,"ov-y--auto-hide":h&&S,"overflow-y":u,"overflow-x":n,"is--drag":k,"is--loading":r}],style:w},R),[d||e?(0,_vue.h)("div",{ref:G,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:lt},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().CHECKBOX_CHECKED:s?getIcon().CHECKBOX_INDETERMINATE:getIcon().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(_)?getI18n("vxe.list.allChecked"):(0,_utils.getText)(_))])]):(0,_ui.renderEmptyElement)(j),d?(0,_vue.h)("div",{class:"vxe-list--header-content"},d({items:a,$list:j})):(0,_ui.renderEmptyElement)(j)]):(0,_ui.renderEmptyElement)(j),(0,_vue.h)("div",{ref:A,class:"vxe-list--virtual-wrapper",style:f,onScroll:Ee},[(0,_vue.h)("div",{ref:Q,class:"vxe-list--y-space",style:{height:o?o+"px":""}}),(0,_vue.h)("div",{ref:Z,class:["vxe-list--body",{"trigger--row":"row"===m,"checkbox--highlight":x.highlight,"radio--highlight":p.highlight,"row--hover":C,"is--padding":y}],style:{marginTop:l?l+"px":""}},c?c({items:a,$list:j}):a.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=H,{selectRadioRow:l,currRowFlag:a,updateCheckboxFlag:i}=B,{selectCheckboxMaps:s,currentRow:n}=K,u=O.content,c=O.extra,{trigger:d,icon:v,disabledMethod:g,visibleMethod:h}=N.value,w=V.value,f=X.value,{useKey:p,contentField:x,className:R,isCurrent:_}=P.value,m=z.value,b=Y.value,C=R&&_xeUtils.default.isFunction(R),p=b||p||m||_||r||o,_=p&&b?getRowIdByField(t,b):"",y=(0,_utils.enModelValue)(_);let k={row:t,$list:j},D=!1,I=!1,E=(r&&(D=l&&(t===l||We(l,_)),I=!!w.checkMethod&&!w.checkMethod({$list:j,row:t})),!1),T=!1;o&&(E=!(!i||!s[y]),T=!!f.checkMethod&&!f.checkMethod({$list:j,row:t}));l=[];r&&l.push(vt(t,y,I,D)),o&&l.push(gt(t,y,T,E));let L=!1;m&&b&&(!h||h(k))&&(w={},"row"!==d&&(L=!(!g||!g(k)),w.onMousedown=e=>{L||Ue(e,k)},w.onMouseup=Ae),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||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)));i={onMousedown(e){Ye(e,t)},onMouseup:Ae,onClick(e){ze(e,t)},onDblclick(e){Ve(e,t)},onContextmenu(e){ct(e,t)}};return m&&(i.onDragstart=qe,i.onDragend=Pe,i.onDragover=Ne),(0,_vue.h)("div",Object.assign({key:p&&b?y:e,class:["vxe-list--row",C?R(k):R||"",{"is--drag-disabled":L,"is--current":a&&n&&We(n,_),"is-radio--disabled":I,"is-radio--checked":D,"is-checkbox--disabled":T,"is-checkbox--checked":E}],rowid:p&&b?y:void 0},i),l)})(e,t)))]),v?(0,_vue.h)("div",{ref:J,class:"vxe-list--footer-wrapper"},v({items:a,$list:j})):(0,_ui.renderEmptyElement)(j),h?(0,_vue.h)("div",{class:F},[!1===I?(0,_ui.renderEmptyElement)(j):(0,_vue.h)("div",{ref:oe,class:"vxe-scrollbar--track-x",onClick:se},[(0,_vue.h)("div",{ref:ae,class:"vxe-scrollbar--thumb-x",onPointerdown:ue,onPointermove:ce,onPointerup:q,onPointercancel:q,onLostpointercapture:q})]),!1===E?(0,_ui.renderEmptyElement)(j):(0,_vue.h)("div",{ref:le,class:"vxe-scrollbar--track-y",onClick:ne},[(0,_vue.h)("div",{ref:ie,class:"vxe-scrollbar--thumb-y",onPointerdown:de,onPointermove:ve,onPointerup:q,onPointercancel:q,onLostpointercapture:q})])]):(0,_ui.renderEmptyElement)(j),(()=>{var{dragRow:e,dragTipText:t}=B,r=N.value;return z.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:ee,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:te,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",getIcon().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",getIcon().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)(j)]):(0,_ui.renderEmptyElement)(j)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},j},render(){return this.renderVN()}});
|
|
@@ -57,6 +57,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
57
57
|
type: Boolean,
|
|
58
58
|
default: () => getConfig().scrollbar.native
|
|
59
59
|
},
|
|
60
|
+
fluentOverlay: {
|
|
61
|
+
type: Boolean,
|
|
62
|
+
default: () => getConfig().scrollbar.fluentOverlay
|
|
63
|
+
},
|
|
60
64
|
padding: {
|
|
61
65
|
type: Boolean,
|
|
62
66
|
default: () => getConfig().scrollbar.padding
|
|
@@ -201,7 +205,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
201
205
|
native,
|
|
202
206
|
theme,
|
|
203
207
|
className,
|
|
204
|
-
padding
|
|
208
|
+
padding,
|
|
209
|
+
fluentOverlay
|
|
205
210
|
} = props;
|
|
206
211
|
const {
|
|
207
212
|
yThumbHeight,
|
|
@@ -214,7 +219,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
214
219
|
const yVisible = computeYVisible.value;
|
|
215
220
|
const xAutoHide = computeXAutoHide.value;
|
|
216
221
|
const yAutoHide = computeYAutoHide.value;
|
|
217
|
-
return domUtils.buildClass(['vxe-scrollbar', vSize ? `size--${vSize}` : '', theme ? `theme--${theme}` : '', `ov-x--${xVisible === false ? 'hidden' : 'visible'}`, `ov-y--${yVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${xToTop ? 'top' : 'bottom'}`, `sy-pos--${yToLeft ? 'left' : 'right'}`, native ? 'is--native' : 'is--virtual', className], {
|
|
222
|
+
return domUtils.buildClass(['vxe-scrollbar', vSize ? `size--${vSize}` : '', theme ? `theme--${theme}` : '', fluentOverlay ? 'is--fluent-overlay' : 'is--default-mode', `ov-x--${xVisible === false ? 'hidden' : 'visible'}`, `ov-y--${yVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${xToTop ? 'top' : 'bottom'}`, `sy-pos--${yToLeft ? 'left' : 'right'}`, native ? 'is--native' : 'is--virtual', className], {
|
|
218
223
|
'is--padding': padding,
|
|
219
224
|
'ov-x--auto-hide': xAutoHide,
|
|
220
225
|
'ov-y--auto-hide': yAutoHide,
|
|
@@ -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"),_utils=require("../../ui/src/utils"),_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],viewId:[String,Number],theme:{type:String,default:()=>getConfig().scrollbar.theme},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},autoHide:{type:Boolean,default:()=>getConfig().scrollbar.autoHide},visible:{type:Boolean,default:()=>getConfig().scrollbar.visible},xConfig:Object,yConfig:Object,className:{type:String,default:()=>getConfig().scrollbar.className},viewAttrs:{type:Object,default:()=>getConfig().scrollbar.viewAttrs},viewStyle:{type:Object,default:()=>getConfig().scrollbar.viewStyle},viewClassName:{type:String,default:()=>getConfig().scrollbar.viewClassName},viewInnerClassName:{type:String,default:()=>getConfig().scrollbar.viewInnerClassName},size:{type:String,default:()=>getConfig().scrollbar.size||getConfig().size},autoResize:{type:Boolean,default:()=>getConfig().scrollbar.autoResize},syncResize:[Boolean,String,Number]},emits:["scroll","scroll-boundary"],setup(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_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],viewId:[String,Number],theme:{type:String,default:()=>getConfig().scrollbar.theme},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},fluentOverlay:{type:Boolean,default:()=>getConfig().scrollbar.fluentOverlay},padding:{type:Boolean,default:()=>getConfig().scrollbar.padding},autoHide:{type:Boolean,default:()=>getConfig().scrollbar.autoHide},visible:{type:Boolean,default:()=>getConfig().scrollbar.visible},xConfig:Object,yConfig:Object,className:{type:String,default:()=>getConfig().scrollbar.className},viewAttrs:{type:Object,default:()=>getConfig().scrollbar.viewAttrs},viewStyle:{type:Object,default:()=>getConfig().scrollbar.viewStyle},viewClassName:{type:String,default:()=>getConfig().scrollbar.viewClassName},viewInnerClassName:{type:String,default:()=>getConfig().scrollbar.viewInnerClassName},size:{type:String,default:()=>getConfig().scrollbar.size||getConfig().size},autoResize:{type:Boolean,default:()=>getConfig().scrollbar.autoResize},syncResize:[Boolean,String,Number]},emits:["scroll","scroll-boundary"],setup(g,e){let{emit:r,slots:m}=e;var t=_xeUtils.default.uniqueId();let h=(0,_vue.ref)(),f=(0,_vue.ref)(),b=(0,_vue.ref)(),p=(0,_vue.reactive)(createReactData()),_=createInternalData(),x=_ui.useFns.useSize(g).computeSize,C=(0,_vue.computed)(()=>{var{width:e,height:t,minWidth:l,minHeight:r,maxWidth:i,maxHeight:o}=g,a=v.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)),r&&(n.minHeight=(0,_dom.toCssUnit)(r)),i&&(n.maxWidth=(0,_dom.toCssUnit)(i)),o&&(n.maxHeight=(0,_dom.toCssUnit)(o)),(a||u)&&(n["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(a||u),n["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(u||a)),n}),s=(0,_vue.computed)(()=>U.value.height),v=(0,_vue.computed)(()=>z.value.width),w=(0,_vue.computed)(()=>{var e=g.visible,t=U.value;return(0,_utils.getDefaultConfig)(t.visible,e)}),y=(0,_vue.computed)(()=>{var e=g.visible,t=z.value;return(0,_utils.getDefaultConfig)(t.visible,e)}),T=(0,_vue.computed)(()=>{var e=g.autoHide,t=U.value;return(0,_utils.getDefaultConfig)(t.autoHide,e)}),S=(0,_vue.computed)(()=>{var e=g.autoHide,t=z.value;return(0,_utils.getDefaultConfig)(t.autoHide,e)}),E=(0,_vue.computed)(()=>{var{native:e,theme:t,className:l,padding:r,fluentOverlay:i}=g,{yThumbHeight:o,xThumbWidth:a}=p,u=x.value,n=W.value,s=L.value,v=w.value,c=y.value,d=T.value,m=S.value;return domUtils.buildClass(["vxe-scrollbar",u?"size--"+u:"",t?"theme--"+t:"",i?"is--fluent-overlay":"is--default-mode","ov-x--"+(!1===v?"hidden":"visible"),"ov-y--"+(!1===c?"hidden":"visible"),"sx-pos--"+(n?"top":"bottom"),"sy-pos--"+(s?"left":"right"),e?"is--native":"is--virtual",l],{"is--padding":r,"ov-x--auto-hide":d,"ov-y--auto-hide":m,"overflow-y":o,"overflow-x":a})}),H=(0,_vue.computed)(()=>{var e=g.viewClassName;return domUtils.buildClass(["vxe-scrollbar--view",e])}),N=(0,_vue.computed)(()=>{var e=g.viewInnerClassName;return domUtils.buildClass(["vxe-scrollbar--view-inner",e])}),U=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.xConfig,g.xConfig)),z=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.yConfig,g.yConfig)),W=(0,_vue.computed)(()=>"top"===U.value.position),L=(0,_vue.computed)(()=>"left"===z.value.position),l={refElem:h},i={},O={xID:t,props:g,context:e,reactData:p,internalData:_,getRefMaps:()=>l,getComputeMaps:()=>i},{refTrackXElem:R,refTrackYElem:D,refThumbXElem:k,refThumbYElem:I,updateThumbSize:a,updateThumbOffset:q,clickTrackXEvent:P,clickTrackYEvent:j,pointerdownThumbXEvent:M,pointermoveThumbXEvent:X,cleatPointerThumbEvent:B,pointerdownThumbYEvent:Y,pointermoveThumbYEvent:A}=_ui.useFns.useInitVScrollbar(O),V=(e,t,l)=>{r(e,createEvent(l,{$scrollbar:O},t))};t={dispatchEvent:V,getScrollViewElem(){return f.value||null},getScrollViewInnerElem(){return b.value||null},scrollTo(e,t){var l=f.value;l&&(_xeUtils.default.isNumber(e)?l.scrollTo(e,t||0):l.scrollTo(e))},scrollIntoView(){var e=f.value;e&&e.scrollIntoView()},setScrollTop(e){var t=f.value;t&&(t.scrollTop=e)},setScrollLeft(e){var t=f.value;t&&(t.scrollLeft=e)},getScrollTop(){var e=f.value;return e?e.scrollTop:0},getScrollLeft(){var e=f.value;return e?e.scrollLeft:0},clearScroll(){var e=f.value;e&&(e.scrollTop=0,e.scrollLeft=0)},recalculate(){return a(),q(),(0,_vue.nextTick)()}};let F=e=>{var{xThumbWidth:t,yThumbHeight:l}=p,{lastScrollTop:r,lastScrollLeft:i}=_,o=U.value,a=z.value,{scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:v,scrollHeight:c,scrollWidth:d}=e.currentTarget;let m="",g=!1,h=!1,f=!1,b=!1;r!==u&&(a=_xeUtils.default.toNumber(a.threshold)||1,r<u?(m="bottom",0<l&&c-a<=u+v&&(h=!0)):(m="top",0<l&&u<=a&&(g=!0))),i!==n&&(r=_xeUtils.default.toNumber(o.threshold)||1,i<n?(m="right",0<t&&d-r<=n+s&&(b=!0)):(m="left",0<t&&n<=r&&(f=!0))),q(),_.lastScrollTop=u,_.lastScrollLeft=n,(h||g||b||f)&&V("scroll-boundary",{direction:m,isTop:g,isBottom:h,isLeft:f,isRight:b,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:v,scrollHeight:c,scrollWidth:d},e),V("scroll",{direction:m,isTop:0<l&&u<=0,isBottom:0<l&&c<=u+v,isLeft:0<t&&n<=0,isRight:0<t&&d<=n+s,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:v,scrollHeight:c,scrollWidth:d},e)};Object.assign(O,t,{});let o=(0,_vue.ref)(0);return(0,_vue.watch)(()=>g.height,()=>{o.value++}),(0,_vue.watch)(()=>g.width,()=>{o.value++}),(0,_vue.watch)(()=>g.minHeight,()=>{o.value++}),(0,_vue.watch)(()=>g.minWidth,()=>{o.value++}),(0,_vue.watch)(()=>g.maxHeight,()=>{o.value++}),(0,_vue.watch)(()=>g.maxWidth,()=>{o.value++}),(0,_vue.watch)(()=>g.native,()=>{o.value++}),(0,_vue.watch)(()=>g.syncResize,()=>{o.value++}),(0,_vue.watch)(v,()=>{o.value++}),(0,_vue.watch)(s,()=>{o.value++}),(0,_vue.watch)(w,()=>{(0,_vue.nextTick)(()=>{o.value++})}),(0,_vue.watch)(y,()=>{(0,_vue.nextTick)(()=>{o.value++})}),(0,_vue.watch)(o,()=>{O.recalculate().then(()=>{O.recalculate()})}),(0,_vue.onMounted)(()=>{var e=g.autoResize,t=f.value,l=b.value;e&&(e=globalResize.create(()=>{g.autoResize&&o.value++}),t&&e.observe(t),l&&e.observe(l),_.scrollObserver=e),o.value++,globalEvents.on(O,"resize",()=>{o.value++})}),(0,_vue.onBeforeUnmount)(()=>{var e=_.scrollObserver;e&&e.disconnect(),globalEvents.off(O,"resize")}),O.renderVN=()=>{var{id:e,native:t,loading:l,viewId:r,viewAttrs:i,viewStyle:o}=g,a=C.value,u=E.value,n=H.value,s=N.value,v=w.value,c=y.value,d=m.default;return(0,_vue.h)("div",{ref:h,id:e||null,class:u,style:a},[(0,_vue.h)("div",Object.assign({ref:f,class:n,onScroll:F,id:r||null,style:o},i),[(0,_vue.h)("div",{key:"vi",ref:b,class:s},d?d({}):[])]),t||!1===v?renderEmptyElement(O):(0,_vue.h)("div",{ref:R,class:"vxe-scrollbar--track-x",onClick:P},[(0,_vue.h)("div",{ref:k,class:"vxe-scrollbar--thumb-x",onPointerdown:M,onPointermove:X,onPointerup:B,onPointercancel:B,onLostpointercapture:B})]),t||!1===c?renderEmptyElement(O):(0,_vue.h)("div",{ref:D,class:"vxe-scrollbar--track-y",onClick:j},[(0,_vue.h)("div",{ref:I,class:"vxe-scrollbar--thumb-y",onPointerdown:Y,onPointermove:A,onPointerup:B,onPointercancel:B,onLostpointercapture:B})]),(0,_vue.h)(_loading.default,{class:"vxe-scrollbar--loading",modelValue:l})])},O},render(){return this.renderVN()}});
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
transition: opacity 0.8s ease-in-out;
|
|
24
24
|
}
|
|
25
25
|
.vxe-scrollbar.is--native > .vxe-scrollbar--view::-webkit-scrollbar {
|
|
26
|
-
width: var(--vxe-ui-scrollbar-y-width);
|
|
27
|
-
height: var(--vxe-ui-scrollbar-x-height);
|
|
26
|
+
width: var(--vxe-ui-scrollbar-current-y-width);
|
|
27
|
+
height: var(--vxe-ui-scrollbar-current-x-height);
|
|
28
28
|
}
|
|
29
29
|
.vxe-scrollbar.is--native > .vxe-scrollbar--view::-webkit-scrollbar-thumb {
|
|
30
30
|
border-radius: var(--vxe-ui-base-border-radius);
|
|
@@ -72,14 +72,14 @@
|
|
|
72
72
|
.vxe-scrollbar--track-x {
|
|
73
73
|
width: 100%;
|
|
74
74
|
left: 0;
|
|
75
|
-
height: var(--vxe-ui-scrollbar-x-height);
|
|
75
|
+
height: var(--vxe-ui-scrollbar-current-x-height);
|
|
76
76
|
padding: var(--vxe-ui-scrollbar-track-padding) 0;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
.vxe-scrollbar--track-y {
|
|
80
80
|
height: 100%;
|
|
81
81
|
top: 0;
|
|
82
|
-
width: var(--vxe-ui-scrollbar-y-width);
|
|
82
|
+
width: var(--vxe-ui-scrollbar-current-y-width);
|
|
83
83
|
padding: 0 var(--vxe-ui-scrollbar-track-padding);
|
|
84
84
|
}
|
|
85
85
|
|
|
@@ -96,29 +96,42 @@
|
|
|
96
96
|
right: 0;
|
|
97
97
|
}
|
|
98
98
|
.vxe-scrollbar.overflow-x.overflow-y > .vxe-scrollbar--track-x {
|
|
99
|
-
width: calc(100% - var(--vxe-ui-scrollbar-x-height));
|
|
99
|
+
width: calc(100% - var(--vxe-ui-scrollbar-current-x-height));
|
|
100
100
|
}
|
|
101
101
|
.vxe-scrollbar.overflow-x.overflow-y > .vxe-scrollbar--track-y {
|
|
102
|
-
height: calc(100% - var(--vxe-ui-scrollbar-y-width));
|
|
102
|
+
height: calc(100% - var(--vxe-ui-scrollbar-current-y-width));
|
|
103
103
|
}
|
|
104
104
|
.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 {
|
|
105
|
-
top: var(--vxe-ui-scrollbar-x-height);
|
|
105
|
+
top: var(--vxe-ui-scrollbar-current-x-height);
|
|
106
106
|
}
|
|
107
107
|
.vxe-scrollbar.overflow-x.overflow-y.sy-pos--left.sx-pos--top > .vxe-scrollbar--track-x, .vxe-scrollbar.overflow-x.overflow-y.sy-pos--left.sx-pos--bottom > .vxe-scrollbar--track-x {
|
|
108
|
-
left: var(--vxe-ui-scrollbar-y-width);
|
|
108
|
+
left: var(--vxe-ui-scrollbar-current-y-width);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.vxe-scrollbar.is--fluent-overlay {
|
|
112
|
+
--vxe-ui-scrollbar-current-y-width: var(--vxe-ui-scrollbar-overlay-y-width);
|
|
113
|
+
--vxe-ui-scrollbar-current-x-height: var(--vxe-ui-scrollbar-overlay-x-height);
|
|
114
|
+
}
|
|
115
|
+
.vxe-scrollbar.is--fluent-overlay > .vxe-scrollbar--track-x:hover, .vxe-scrollbar.is--fluent-overlay > .vxe-scrollbar--track-y:hover {
|
|
116
|
+
--vxe-ui-scrollbar-current-y-width: var(--vxe-ui-scrollbar-overlay-action-y-width);
|
|
117
|
+
--vxe-ui-scrollbar-current-x-height: var(--vxe-ui-scrollbar-overlay-action-x-height);
|
|
118
|
+
}
|
|
119
|
+
.vxe-scrollbar.is--default-mode {
|
|
120
|
+
--vxe-ui-scrollbar-current-y-width: var(--vxe-ui-scrollbar-y-width);
|
|
121
|
+
--vxe-ui-scrollbar-current-x-height: var(--vxe-ui-scrollbar-x-height);
|
|
109
122
|
}
|
|
110
123
|
|
|
111
124
|
.vxe-scrollbar.is--padding.overflow-x.sx-pos--top {
|
|
112
|
-
padding-top: var(--vxe-ui-scrollbar-x-height);
|
|
125
|
+
padding-top: var(--vxe-ui-scrollbar-current-x-height);
|
|
113
126
|
}
|
|
114
127
|
.vxe-scrollbar.is--padding.overflow-x.sx-pos--bottom {
|
|
115
|
-
padding-bottom: var(--vxe-ui-scrollbar-x-height);
|
|
128
|
+
padding-bottom: var(--vxe-ui-scrollbar-current-x-height);
|
|
116
129
|
}
|
|
117
130
|
.vxe-scrollbar.is--padding.overflow-y.sy-pos--left {
|
|
118
|
-
padding-left: var(--vxe-ui-scrollbar-y-width);
|
|
131
|
+
padding-left: var(--vxe-ui-scrollbar-current-y-width);
|
|
119
132
|
}
|
|
120
133
|
.vxe-scrollbar.is--padding.overflow-y.sy-pos--right {
|
|
121
|
-
padding-right: var(--vxe-ui-scrollbar-y-width);
|
|
134
|
+
padding-right: var(--vxe-ui-scrollbar-current-y-width);
|
|
122
135
|
}
|
|
123
136
|
|
|
124
137
|
.vxe-scrollbar--thumb-y {
|
|
@@ -1 +1 @@
|
|
|
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)}.vxe-scrollbar.theme--light{--vxe-ui-scrollbar-thumb-background-color:rgba(0,0,0,0.4);--vxe-ui-scrollbar-thumb-hover-background-color:rgba(0,0,0,0.5);--vxe-ui-scrollbar-thumb-active-background-color:rgba(0,0,0,0.6)}.vxe-scrollbar.theme--dark{--vxe-ui-scrollbar-thumb-background-color:rgba(255,255,255,0.4);--vxe-ui-scrollbar-thumb-hover-background-color:rgba(255,255,255,0.5);--vxe-ui-scrollbar-thumb-active-background-color:rgba(255,255,255,0.6)}
|
|
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-current-y-width);height:var(--vxe-ui-scrollbar-current-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-current-x-height);padding:var(--vxe-ui-scrollbar-track-padding) 0}.vxe-scrollbar--track-y{height:100%;top:0;width:var(--vxe-ui-scrollbar-current-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-current-x-height))}.vxe-scrollbar.overflow-x.overflow-y>.vxe-scrollbar--track-y{height:calc(100% - var(--vxe-ui-scrollbar-current-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-current-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-current-y-width)}.vxe-scrollbar.is--fluent-overlay{--vxe-ui-scrollbar-current-y-width:var(--vxe-ui-scrollbar-overlay-y-width);--vxe-ui-scrollbar-current-x-height:var(--vxe-ui-scrollbar-overlay-x-height)}.vxe-scrollbar.is--fluent-overlay>.vxe-scrollbar--track-x:hover,.vxe-scrollbar.is--fluent-overlay>.vxe-scrollbar--track-y:hover{--vxe-ui-scrollbar-current-y-width:var(--vxe-ui-scrollbar-overlay-action-y-width);--vxe-ui-scrollbar-current-x-height:var(--vxe-ui-scrollbar-overlay-action-x-height)}.vxe-scrollbar.is--default-mode{--vxe-ui-scrollbar-current-y-width:var(--vxe-ui-scrollbar-y-width);--vxe-ui-scrollbar-current-x-height:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.is--padding.overflow-x.sx-pos--top{padding-top:var(--vxe-ui-scrollbar-current-x-height)}.vxe-scrollbar.is--padding.overflow-x.sx-pos--bottom{padding-bottom:var(--vxe-ui-scrollbar-current-x-height)}.vxe-scrollbar.is--padding.overflow-y.sy-pos--left{padding-left:var(--vxe-ui-scrollbar-current-y-width)}.vxe-scrollbar.is--padding.overflow-y.sy-pos--right{padding-right:var(--vxe-ui-scrollbar-current-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)}.vxe-scrollbar.theme--light{--vxe-ui-scrollbar-thumb-background-color:rgba(0,0,0,0.4);--vxe-ui-scrollbar-thumb-hover-background-color:rgba(0,0,0,0.5);--vxe-ui-scrollbar-thumb-active-background-color:rgba(0,0,0,0.6)}.vxe-scrollbar.theme--dark{--vxe-ui-scrollbar-thumb-background-color:rgba(255,255,255,0.4);--vxe-ui-scrollbar-thumb-hover-background-color:rgba(255,255,255,0.5);--vxe-ui-scrollbar-thumb-active-background-color:rgba(255,255,255,0.6)}
|
package/lib/select/src/select.js
CHANGED
|
@@ -515,11 +515,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
515
515
|
yThumbHeight,
|
|
516
516
|
xThumbWidth
|
|
517
517
|
} = reactData;
|
|
518
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
518
519
|
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
519
520
|
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
520
521
|
const scrollXVisible = computeScrollXVisible.value;
|
|
521
522
|
const scrollYVisible = computeScrollYVisible.value;
|
|
522
|
-
return domUtils.buildClass(['vxe-scrollbar is--virtual', `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}`, `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`], {
|
|
523
|
+
return domUtils.buildClass(['vxe-scrollbar is--virtual', scrollbarOpts.fluentOverlay ? 'is--fluent-overlay' : 'is--default-mode', `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}`, `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`], {
|
|
523
524
|
'overflow-y': yThumbHeight,
|
|
524
525
|
'overflow-x': xThumbWidth
|
|
525
526
|
});
|
|
@@ -1665,13 +1666,17 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1665
1666
|
if (isVScrollbar) {
|
|
1666
1667
|
if (!scrollObserver) {
|
|
1667
1668
|
const el = refElem.value;
|
|
1668
|
-
const
|
|
1669
|
+
const viewSpaceEl = refVirtualSpaceElem.value;
|
|
1670
|
+
const viewInnerEl = refVirtualBody.value;
|
|
1669
1671
|
const scrollObserver = globalResize.create(() => {
|
|
1670
1672
|
reScrollFlag.value++;
|
|
1671
1673
|
});
|
|
1672
1674
|
if (el) {
|
|
1673
1675
|
scrollObserver.observe(el);
|
|
1674
1676
|
}
|
|
1677
|
+
if (viewSpaceEl) {
|
|
1678
|
+
scrollObserver.observe(viewSpaceEl);
|
|
1679
|
+
}
|
|
1675
1680
|
if (viewInnerEl) {
|
|
1676
1681
|
scrollObserver.observe(viewInnerEl);
|
|
1677
1682
|
}
|
|
@@ -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"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,baseUtils,domUtils,globalEvents,GLOBAL_EVENT_KEYS,globalResize,createEvent,renderEmptyElement}=_ui.VxeUI,getDefVal=baseUtils.getDefVal,errLog=(0,_log.createComponentLog)("select").errLog;function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createReactData(){return{initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,yThumbHeight:0,xThumbWidth:0,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],defaultConfig:Object,emptyValue:{type:[String,Number,Boolean,Array],default:()=>getConfig().select.emptyValue},clearable:{type:Boolean,default:()=>getConfig().select.clearable},placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>getConfig().select.multiCharOverflow},prefixIcon:String,allowCreate:{type:Boolean,default:()=>getConfig().select.allowCreate},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],width:[String,Number],max:{type:[String,Number],default:null},showRadio:{type:Boolean,default:()=>getConfig().select.showRadio},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().select.showCheckedButton},checkboxConfig:Object,zIndex:Number,size:{type:String,default:()=>getConfig().select.size||getConfig().size},filterable:Boolean,filterMethod:Function,filterConfig:Object,remote:Boolean,remoteConfig:Object,emptyText:String,checkedClosable:{type:Boolean,default:()=>getConfig().select.checkedClosable},clearClosable:{type:Boolean,default:()=>getConfig().select.clearClosable},showCloseButton:{type:Boolean,default:()=>getConfig().select.showCloseButton},showTotalButton:{type:Boolean,default:()=>getConfig().select.showTotalButton},showCheckedButton:{type:Boolean,default:()=>getConfig().select.showCheckedButton},showClearButton:{type:Boolean,default:()=>getConfig().select.showClearButton},transfer:{type:Boolean,default:null},popupConfig:Object,virtualYConfig:Object,scrollY:Object,useScrollbar:{type:Boolean,default:()=>getDefVal(getConfig().select.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object,remoteMethod:Function,optionId:{type:String,default:()=>getConfig().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","default-change","all-change","clear","blur","focus","click","scroll","visible-change"],setup(F,e){let{slots:Y,emit:b}=e,_=(0,_vue.inject)("$xeModal",null),x=(0,_vue.inject)("$xeDrawer",null),C=(0,_vue.inject)("$xeTable",null),E=(0,_vue.inject)("$xeCard",null),a=(0,_vue.inject)("$xeForm",null),T=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let z=(0,_vue.ref)(),K=(0,_vue.ref)(),te=(0,_vue.ref)(),q=(0,_vue.ref)(),R=(0,_vue.ref)(),le=(0,_vue.ref)(),ae=(0,_vue.ref)(),oe=_ui.useFns.useSize(F).computeSize,$=_ui.useFns.useVScrollbar(F).computeIsVScrollbar,G=(0,_vue.reactive)(createReactData()),k=createInternalData(),y={refElem:z},X={xID:t,props:F,context:e,reactData:G,internalData:k,getRefMaps:()=>y},{refTrackXElem:ie,refTrackYElem:re,refThumbXElem:ne,refThumbYElem:ue,updateThumbSize:O,updateThumbOffset:V,clickTrackXEvent:se,clickTrackYEvent:ce,pointerdownThumbXEvent:ve,pointermoveThumbXEvent:de,cleatPointerThumbEvent:W,pointerdownThumbYEvent:pe,pointermoveThumbYEvent:fe}=_ui.useFns.useInitVScrollbar(X),ge=(0,_vue.computed)(()=>{var e=F.readonly;return null===e?!!a&&a.props.readonly:e}),Z=(0,_vue.computed)(()=>{var e=F.disabled;return null===e?!!a&&a.props.disabled:e}),he=(0,_vue.computed)(()=>{var e=F.transfer,t=J.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=getConfig().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(C||_||x||E||a)return!0}return e}),me=(0,_vue.computed)(()=>{var e=F.placeholder;return(e=e||getConfig().select.placeholder)?(0,_utils.getFuncText)(e):getI18n("vxe.base.pleaseSelect")}),S=(0,_vue.computed)(()=>Object.assign({},F.defaultConfig)),I=(0,_vue.computed)(()=>Object.assign({},F.optionProps)),w=(0,_vue.computed)(()=>Object.assign({},F.optionGroupProps)),v=(0,_vue.computed)(()=>I.value.label||"label"),L=(0,_vue.computed)(()=>I.value.value||"value"),B=(0,_vue.computed)(()=>w.value.label||"label"),A=(0,_vue.computed)(()=>w.value.options||"options"),U=(0,_vue.computed)(()=>{var e=Q.value;return Ae(e)}),J=(0,_vue.computed)(()=>Object.assign({},getConfig().select.popupConfig,F.popupConfig)),H=(0,_vue.computed)(()=>Object.assign({},getConfig().select.virtualYConfig||getConfig().select.scrollY,F.virtualYConfig||F.scrollY)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().select.remoteConfig,F.remoteConfig)),M=(0,_vue.computed)(()=>Object.assign({},getConfig().select.filterConfig,F.filterConfig)),N=(0,_vue.computed)(()=>Object.assign({},getConfig().select.optionConfig,F.optionConfig)),j=(0,_vue.computed)(()=>Object.assign({},getConfig().select.radioConfig,F.radioConfig)),be=(0,_vue.computed)(()=>Object.assign({},getConfig().select.checkboxConfig,F.checkboxConfig)),_e=(0,_vue.computed)(()=>_xeUtils.default.toNumber(F.multiCharOverflow)),xe=(0,_vue.computed)(()=>{var e=F.width,t={};return e&&(t.width=(0,_dom.toCssUnit)(e)),t}),Ce=(0,_vue.computed)(()=>{var{height:e,width:t}=J.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),Q=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=F;let l=[];return _xeUtils.default.isArray(e)?l=e:t?(0,_utils.eqEmptyValue)(e)||(l=-1<(""+e).indexOf(",")?(""+e).split(","):[e]):l=null==e?[]:[e],l}),Ee=(0,_vue.computed)(()=>{var e=F.remote,t=G.reactFlag,l=Q.value;return(e&&t?l.map(e=>Ue(e)):l.map(e=>He(e))).join(", ")}),Te=(0,_vue.computed)(()=>{var{remote:e,multiple:t}=F,l=G.reactFlag,a=_e.value,o=Q.value;return e&&l?o.map(e=>Ue(e)).join(", "):(e=o.map(e=>He(e)),t&&0<a&&e.length>a?e.slice(0,a)+"...":e.join(", "))}),ee=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.scrollbarConfig,F.scrollbarConfig)),l=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({},getConfig().scrollbar.xConfig,e.xConfig,{visible:!1})}),o=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({},getConfig().scrollbar.yConfig,e.yConfig)});t=(0,_vue.computed)(()=>{var e=ee.value,t=l.value;return getDefVal(getDefVal(t.height,e.height),getConfig().scrollbar.height)}),e=(0,_vue.computed)(()=>{var e=ee.value,t=o.value;return getDefVal(getDefVal(t.width,e.width),getConfig().scrollbar.width)});let ye=(0,_vue.computed)(()=>{var e=ee.value,t=l.value;return getDefVal(t.visible,e.visible)}),Oe=(0,_vue.computed)(()=>{var e=ee.value,t=o.value;return getDefVal(t.visible,e.visible)}),Ve=(0,_vue.computed)(()=>{var e=ee.value,t=l.value;return getDefVal(getDefVal(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),Se=(0,_vue.computed)(()=>{var e=ee.value,t=o.value;return getDefVal(getDefVal(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),Ie=(0,_vue.computed)(()=>{var{yThumbHeight:e,xThumbWidth:t}=G,l=we.value,a=ke.value,o=ye.value,i=Oe.value;return domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--"+(!1===o?"hidden":"visible"),"ov-y--"+(!1===i?"hidden":"visible"),"sx-pos--"+(l?"top":"bottom"),"sy-pos--"+(a?"left":"right")],{"overflow-y":e,"overflow-x":t})}),we=(0,_vue.computed)(()=>"top"===l.value.position),ke=(0,_vue.computed)(()=>"left"===o.value.position),Le=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=Y[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],s=(e,t,l)=>{b(e,createEvent(l,{$select:X},t))},De=e=>{b("update:modelValue",e)},Pe=e=>{De(e),s("default-change",{value:e},null)},Be=()=>N.value.keyField||F.optionId||"_X_OPTION_KEY",D=e=>{e=e[Be()];return e?encodeURIComponent(e):""},Ae=e=>{var{multiple:t,max:l}=F;return!(!t||!l)&&e.length>=_xeUtils.default.toNumber(l)},Ue=t=>{var e=F.lazyOptions,{remoteValMaps:l,optFullValMaps:a}=k;let o=L.value;var i=v.value,l=l[t]||a[t],a=l?l.item:null;if(a)return _xeUtils.default.toValueString(a[i]);if(e){l=e.find(e=>e[o]===t);if(l)return l[i]}return t},He=t=>{var e=F.lazyOptions,l=k.optFullValMaps;let a=L.value;var o=v.value,l=G.reactFlag?l[t]:null;if(l)return l.item[o];if(e){l=e.find(e=>e[a]===t);if(l)return l[o]}return t},c=()=>{let{remote:e,modelValue:t,filterable:l}=F,a=G.searchValue,{fullData:o,optFullValMaps:i}=k,r=v.value,n=L.value;let u=M.value.filterMethod||F.filterMethod,s=(""+(a||"")).toLowerCase(),c=[];return(c=e?o.filter(isOptionVisible):l&&u?o.filter(e=>isOptionVisible(e)&&u({$select:X,group:null,option:e,searchValue:a,value:t})):l?o.filter(e=>isOptionVisible(e)&&(!s||-1<(""+(e[r]||e[n])).toLowerCase().indexOf(s))):o.filter(isOptionVisible)).forEach((e,t)=>{e=i[e[n]];e&&(e._index=t)}),k.afterVisibleList=c,(0,_vue.nextTick)()},Me=e=>{e&&(G.currentOption=e)},Ne=()=>{var e=J.value.zIndex||F.zIndex;e?G.panelIndex=_xeUtils.default.toNumber(e):G.panelIndex<(0,_utils.getLastZIndex)()&&(G.panelIndex=(0,_utils.nextZIndex)())},d=()=>{let l=F.placement,a=G.panelIndex,o=z.value,i=R.value,r=he.value,n=J.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,i,{placement:n.placement||l,defaultPlacement:n.defaultPlacement,appendTo:n.appendTo,teleportTo:r}),t=Object.assign(e.style,{zIndex:a});G.panelStyle=t,G.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},je=()=>{(0,_vue.nextTick)(()=>{var{isAniVisible:e,visiblePanel:t}=G,l=k.optFullValMaps,a=Q.value;a.length&&e&&t&&(e=G.reactFlag?l[""+a[0]]:null)&&(G.currentOption=e.item,dt(e.item))})},p=()=>{var{loading:e,filterable:t,remote:l}=F,{fullData:a,hpTimeout:o}=k,i=Z.value,r=u.value;let n=Q.value;e||i||(o&&(clearTimeout(o),k.hpTimeout=void 0),G.initialized||(G.initialized=!0),G.isActivated=!0,G.isAniVisible=!0,t&&(l&&r.enabled&&(r.autoLoad&&!a.length||a.length&&r.clearOnClose)?it:(c(),h))(),setTimeout(()=>{G.visiblePanel=!0,Je(),m().then(()=>{(n&&n.length?je:ft)()}),d()},10),setTimeout(()=>{m().then(()=>ft())},100),Ne(),d(),s("visible-change",{visible:!0},null))},f=e=>{var{filterable:t,remote:l}=F,a=M.value,o=u.value;l?o.clearOnClose&&(G.searchValue=""):t&&!a.clearOnClose||(G.searchValue=""),G.searchLoading=!1,G.visiblePanel=!1,k.hpTimeout=setTimeout(()=>{G.isAniVisible=!1},350),s("visible-change",{visible:!1},e||null)},n=(e,t,l)=>{De(t),t!==F.modelValue&&(s("change",{value:t,option:l},e),a)&&T&&a.triggerItemEvent(e,T.itemConfig.field,t)},Fe=(e,t)=>{k.remoteValMaps={},n(e,t,null),s("clear",{value:t},e)},Ye=e=>{var t=F.emptyValue,e=e.$event;Fe(e,t),f(e)},ze=e=>{var e=e.$event,{multiple:t,max:l,checkedClosable:a}=F,o=G.optList,i=L.value;if(t){var r=Q.value.slice(0);for(let e=0;e<o.length;e++){let t=o[e][i];if(Ae(r)){_ui.VxeUI&&_ui.VxeUI.modal.message({content:getI18n("vxe.select.overSizeErr",[l]),status:"warning"});break}r.some(e=>e===t)||r.push(t)}n(e,r,o[0]),a&&f(e),s("all-change",{value:r},e)}},Ke=e=>{var{emptyValue:t,clearClosable:l}=F,e=e.$event;Fe(e,t),l&&f(e)},qe=e=>{e=e.$event;f(e)},P=(t,l)=>{var e=F.multiple,a=k.remoteValMaps;let o=l[L.value];var i=a[o];if(G.visiblePanel){if(i?i.item=l:a[o]={key:D(l),item:l,_index:-1},e){let e=[];i=Q.value,a=_xeUtils.default.findIndexOf(i,e=>e===o);e=-1===a?i.concat([o]):i.filter(e=>e!==o),n(t,e,l)}else n(t,o,l),f(t);G.reactFlag++}},Re=e=>{var t,l=G.visiblePanel,a=Z.value,o=J.value.trigger;a||(a=z.value,t=R.value,G.isActivated=(0,_dom.getEventTargetNode)(e,a).flag||(0,_dom.getEventTargetNode)(e,t).flag,l&&!G.isActivated&&"manual"!==o&&f(e))},g=e=>{var t=e.disabled,e=D(e);return!t&&!xt(e)},$e=(e,t)=>{var l=F.allowCreate,a=G.optList,{optFullValMaps:o,optAddMaps:i,afterVisibleList:r}=k,n=L.value;let u=r,s=0;if(l&&a.length&&(r=a[0],i[l=D(r)])&&(s=1,u=[i[l]].concat(u)),!e)if(t)for(let e=0;e<u.length;e++){var c=u[e];if(g(c))return c}else for(let e=u.length-1;0<=e;e--){var v=u[e];if(g(v))return v}let d=0;a=e?o[e[n]]:null;if(-1<(d=a?a._index+s:d))if(t)for(let e=d+1;e<=u.length-1;e++){var p=u[e];if(g(p))return p}else if(0<d)for(let e=d-1;0<=e;e--){var f=u[e];if(g(f))return f}return null},Ge=t=>{var{emptyValue:e,clearable:l}=F,{visiblePanel:a,currentOption:o}=G,i=Z.value,r=J.value.trigger;if(!i){var i=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.TAB),n=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.ENTER),u=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.ESCAPE),s=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.ARROW_UP),c=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.ARROW_DOWN),v=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.DELETE);if(i&&(G.isActivated=!1),a){if(u||i)"manual"!==r&&f(t);else if(n)o&&(t.preventDefault(),t.stopPropagation(),P(t,o));else if(s||c){t.preventDefault();let e=$e(o,c);(e=e||$e(null,c))&&(Me(e),dt(e,c))}}else(s||c||n)&&G.isActivated&&(t.preventDefault(),p());G.isActivated&&v&&l&&Fe(t,e)}},Xe=e=>{var{visiblePanel:t,isActivated:l}=G,a=J.value.trigger;t&&"manual"!==a&&f(e),l&&(G.isActivated=!1),(t||l)&&(a=K.value)&&a.blur()},We=()=>{var e=G.visiblePanel;e&&d()},Ze=()=>{var e=G.visiblePanel;e&&d()},Je=()=>{F.filterable&&(0,_vue.nextTick)(()=>{var e=te.value;e&&e.focus()})},Qe=e=>{var t=Z.value,l=J.value.trigger;t||G.visiblePanel||l&&"default"!==l||(G.triggerFocusPanel=!0,p(),setTimeout(()=>{G.triggerFocusPanel=!1},500)),s("focus",{},e)},et=e=>{var t=J.value.trigger;t&&"default"!==t||nt(e),s("click",{triggerButton:!1,visible:G.visiblePanel},e)},tt=e=>{G.isActivated=!1,s("blur",{},e)},lt=e=>{var t=J.value.trigger;t&&"default"!==t&&"icon"!==t||nt(e),s("click",{triggerButton:!0,visible:G.visiblePanel},e)},at=e=>{G.searchValue=e},ot=()=>{G.isActivated=!0},it=()=>{var{modelValue:e,remote:t}=F,l=G.searchValue,a=u.value,o=a.queryMethod||F.remoteMethod;t&&o&&a.enabled?(G.searchLoading=!0,Promise.resolve(o({$select:X,searchValue:l,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{G.searchLoading=!1,c(),h()})):(c(),h())},rt=_xeUtils.default.debounce(it,350,{trailing:!0}),nt=e=>{e=e.$event;e.preventDefault(),G.triggerFocusPanel?G.triggerFocusPanel=!1:G.visiblePanel?f(e):p()},ut=(e,t)=>!!t.disabled||!(!U.value||e),st=()=>{var e=G.scrollYLoad,{scrollYStore:t,afterVisibleList:l}=k;G.bodyHeight=e?l.length*t.rowHeight:0,G.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},ct=()=>{var{filterable:e,allowCreate:t}=F;let{scrollYLoad:l,searchValue:a}=G;var{optAddMaps:o,scrollYStore:i,afterVisibleList:r}=k;let n=v.value;var u=L.value,i=l?r.slice(i.startIndex,i.endIndex):r.slice(0);return e&&t&&a&&(i.some(e=>e[n]===a)||(r=o[a]||(0,_vue.reactive)({[Be()]:a,[n]:a,[u]:a}),o[a]=r,i.unshift(r))),G.optList=i,(0,_vue.nextTick)()},h=()=>{ct(),st()},vt=()=>(0,_vue.nextTick)().then(()=>{var e=G.scrollYLoad,t=k.scrollYStore,l=ae.value,a=H.value;let o=0,i;(i=l?i||l.children[0]:i)&&(o=i.offsetHeight),o=Math.max(20,o),t.rowHeight=o,(e?(l=q.value,e=Math.max(8,l?Math.ceil(l.clientHeight/o):0),l=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),h):st)()}),dt=(e,t)=>{var l,a,{optFullValMaps:o,scrollYStore:i}=k,o=o[e[L.value]];o&&(e=o.key,-1<(o=o._index))&&(l=q.value,a=R.value)&&(a=a.querySelector(`[optid='${e}']`),l)&&(a?(e=l.offsetHeight,t?Math.ceil(a.offsetTop+a.offsetHeight-l.scrollTop)>=e?l.scrollTop=a.offsetTop+a.offsetHeight-e:(a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight)&&(l.scrollTop=a.offsetTop-1):a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight?l.scrollTop=a.offsetTop-1:a.offsetTop+a.offsetHeight-l.scrollTop>e&&(l.scrollTop=a.offsetTop+a.offsetHeight-e)):l.scrollTop=t?o*i.rowHeight-l.clientHeight+i.rowHeight:o*i.rowHeight)},pt=(e,t)=>{var l=q.value;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),G.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},ft=()=>{let{lastScrollLeft:e,lastScrollTop:t}=k;return _t().then(()=>{if(e||t)return k.lastScrollLeft=0,k.lastScrollTop=0,pt(e,t)})},gt=()=>$.value?(0,_vue.nextTick)().then(()=>{O(),V()}):Promise.resolve(),m=()=>{var e=z.value;return e&&e.clientWidth&&e.clientHeight?vt().then(()=>gt()):Promise.resolve()},ht=e=>{var t=k.scrollYStore,{startIndex:l,endIndex:a,visibleSize:o,offsetSize:i,rowHeight:r}=t,e=e.target.scrollTop,e=Math.floor(e/r),r=Math.max(0,e-1-i),i=e+o+i;!(e<=l||a-o-1<=e)||l===r&&a===i||(t.startIndex=r,t.endIndex=i,h())},mt=()=>{var e=k.lastScrollTime;return!!(e&&Date.now()<e+250)},bt=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==k.lastScrollLeft,o=l!==k.lastScrollTop;$.value&&V(),k.lastScrollTop=l,k.lastScrollLeft=t,G.scrollYLoad&&ht(e),k.lastScrollTime=Date.now(),s("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:o},e)},i=t=>{(e=>{let t=A.value,l=L.value,a=Be(),o={},i={},r=[],n=e=>{r.push(e);let t=D(e);t||(t=getOptUniqueId(),e[a]=t),i[e[l]]={key:t,item:e,_index:-1}};e.forEach(e=>{n(e),e[t]&&(o[e[a]]=e)[t].forEach(n)}),k.fullData=r,k.optGroupKeyMaps=o,k.optFullValMaps=i,G.reactFlag++,c()})(t||[]);var e=F.multiple,{isLoaded:l,fullData:a,scrollYStore:o}=k,i=S.value,r=H.value;let n=L.value;if(Object.assign(o,{startIndex:0,endIndex:1,visibleSize:0}),k.synchData=t||[],G.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=a.length),ct(),!l){o=i.selectMode;if(0<t.length&&_xeUtils.default.eqNull(F.modelValue)){if("all"===o)e?(0,_vue.nextTick)(()=>{Pe(t.map(e=>e[n]))}):errLog("vxe.error.notConflictProp",["default-config.selectMode=all","multiple=true"]);else if("first"===o||"last"===o){let e=_xeUtils.default[o](t);e&&(0,_vue.nextTick)(()=>{_xeUtils.default.eqNull(F.modelValue)&&Pe(e[n])})}k.isLoaded=!0}}return vt().then(()=>{ft()})},_t=()=>{var e=q.value;return e&&(e.scrollTop=0,e.scrollLeft=0),k.lastScrollTop=0,(k.lastScrollLeft=0,_vue.nextTick)()},xt=e=>{var t=k.optGroupKeyMaps;return!!t[e]};var Ct={dispatchEvent:s,getScrollViewElem(){return q.value||null},loadData:i,reloadData(e){return k.isLoaded=!1,_t(),i(e)},isPanelVisible(){return G.visiblePanel},togglePanel(){return(G.visiblePanel?f:p)(),(0,_vue.nextTick)()},hidePanel(){return G.visiblePanel&&f(),(0,_vue.nextTick)()},showPanel(){return G.visiblePanel||p(),(0,_vue.nextTick)()},refreshOption(){return c(),h(),(0,_vue.nextTick)()},focus(){var e=K.value;return e&&e.blur(),G.isActivated=!0,(0,_vue.nextTick)()},blur(){var e=K.value;return e&&e.blur(),(G.isActivated=!1,_vue.nextTick)()},recalculate:m,clearScroll:_t};let Et=()=>{var t=$.value;let e=k.scrollObserver;if(t&&!e){var t=z.value,l=le.value;let e=globalResize.create(()=>{Vt.value++});t&&e.observe(t),l&&e.observe(l),k.scrollObserver=e}},Tt=(Object.assign(X,Ct),(t,l,e,a)=>{var{showIcon:o,trigger:i}=j.value;return l||!1===o?renderEmptyElement(X):(o={},i&&"default"!==i||(o.onClick=e=>{a||l||P(e,t)}),(0,_vue.h)("div",Object.assign({key:2,class:["vxe-select-option--radio",{"is--checked":e,"is--disabled":a}]},o),[(0,_vue.h)("span",{class:["vxe-radio--icon",e?getIcon().RADIO_CHECKED:a?getIcon().RADIO_DISABLED_UNCHECKED:getIcon().RADIO_UNCHECKED]})]))}),yt=(t,l,e,a)=>{var{showIcon:o,trigger:i}=be.value;return l||!1===o?renderEmptyElement(X):(o={},i&&"default"!==i||(o.onClick=e=>{a||l||P(e,t)}),(0,_vue.h)("div",Object.assign({key:3,class:["vxe-select-option--checkbox",{"is--checked":e,"is--disabled":a}]},o),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?getIcon().CHECKBOX_CHECKED:a?getIcon().CHECKBOX_DISABLED_UNCHECKED:getIcon().CHECKBOX_UNCHECKED]})]))},Ot=e=>{let{allowCreate:g,optionKey:h,multiple:t,showRadio:l,showCheckbox:a}=F,m=G.currentOption,b=k.optAddMaps;var o=N.value;let _=v.value,x=L.value,C=B.value,E=Q.value,T=j.value,y=be.value,{useKey:O,height:V}=o,S=Y.option,I=a&&t,w=l&&!t;return e.map((t,e)=>{var{slots:l,className:a}=t,o=D(t),i=t[x];let r=xt(o);var n=!(!g||!b[o]),u=!n&&-1<E.indexOf(i),s=n||!r||isOptionVisible(t);let c=!n&&ut(u,t);var l=(l?l.default:null)||S,v={option:t,group:r?t:null,$select:X};let d="";var p=[];I?p.push(yt(t,r,u,c)):w&&p.push(Tt(t,r,u,c));let f=[];f=l?Le(l,v):[d=(0,_utils.getFuncText)(t[r?C:_]||i)],p.push((0,_vue.h)("div",{key:1,class:"vxe-select-option--label"},f));l={onMousedown:e=>{0===e.button&&e.stopPropagation()},onMouseenter:()=>{c||r||mt()||Me(t)}};return(I?"option"!==y.trigger:w&&"option"!==T.trigger)||(l.onClick=e=>{c||r||P(e,t)}),s?(0,_vue.h)("div",Object.assign({key:O||h?o:e,class:["vxe-select-option",a?_xeUtils.default.isFunction(a)?a(v):a:"",{"vxe-select-optgroup":r,"is--disabled":c,"is--selected":u,"is--add":n,"is--hover":m&&D(m)===o}],optid:o,title:d||null,style:V?{height:(0,_dom.toCssUnit)(V)}:void 0},l),g?[(0,_vue.h)("div",{key:1,class:"vxe-select-option--add-label"},p),n?(0,_vue.h)("div",{key:2,class:"vxe-select-option--add-icon"},[(0,_vue.h)("i",{class:getIcon().SELECT_ADD_OPTION})]):renderEmptyElement(X)]:p):renderEmptyElement(X)})};(0,_vue.watch)(()=>G.staticOptions,e=>{i(e)}),(0,_vue.watch)(()=>F.options,e=>{i(e||[])}),(0,_vue.watch)(()=>F.optionGroups,e=>{i(e||[])});let Vt=(0,_vue.ref)(0),r=(0,_vue.ref)(0);return(0,_vue.watch)($,()=>{(0,_vue.nextTick)(()=>{Et(),(0,_vue.nextTick)(()=>{r.value++})})}),(0,_vue.watch)(e,()=>{r.value++}),(0,_vue.watch)(t,()=>{r.value++}),(0,_vue.watch)(ye,()=>{(0,_vue.nextTick)(()=>{r.value++})}),(0,_vue.watch)(Oe,()=>{(0,_vue.nextTick)(()=>{r.value++})}),(0,_vue.watch)(r,()=>{m().then(()=>{m()})}),(0,_vue.watch)(Vt,()=>{gt().then(()=>{gt()})}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=F;t?i(t):e&&i(e)}),r.value++,Et(),globalEvents.on(X,"mousedown",Re),globalEvents.on(X,"keydown",Ge),globalEvents.on(X,"blur",Xe),globalEvents.on(X,"resize",We),globalEvents.on(X,"scroll",Ze)}),(0,_vue.onBeforeUnmount)(()=>{var e=k.scrollObserver;e&&e.disconnect()}),(0,_vue.onUnmounted)(()=>{globalEvents.off(X,"mousedown"),globalEvents.off(X,"keydown"),globalEvents.off(X,"blur"),globalEvents.off(X,"resize"),globalEvents.off(X,"scroll"),_xeUtils.default.assign(G,createReactData()),_xeUtils.default.assign(k,createInternalData())}),(0,_vue.provide)("$xeSelect",X),X.renderVN=()=>{var{className:e,multiple:t,loading:l,filterable:a,showTotalButton:o,showCheckedButton:i,showClearButton:r,showCloseButton:n}=F,{initialized:u,isActivated:s,isAniVisible:c,optList:v,visiblePanel:d,bodyHeight:p,topSpaceHeight:f,xThumbWidth:g,yThumbHeight:h}=G,m=oe.value,b=$.value,_=Z.value,x=Te.value,C=Ee.value,E=he.value,T=ge.value,y=me.value,O=Y.default;if(T)return(0,_vue.h)("div",{ref:z,class:["vxe-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},O?O({}):[]),(0,_vue.h)("span",{class:"vxe-select-label",title:C},x)]);var T=xe.value,V=Q.value,S=Ce.value,I=J.value,w=Y.header,k=Y.footer;let L=Y.prefix;var D=I.appendTo,I=I.className||F.popupClassName,P=ee.value,B=ye.value,A=Oe.value,U=we.value,H=ke.value,M=Ve.value,N=Se.value,j=Ie.value;return(0,_vue.h)("div",{ref:z,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:X}):e:"",{["size--"+m]:m,"is--visible":d,"is--disabled":_,"is--filter":a,"is--loading":l,"is--active":s}],style:T},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},O?O({}):[]),(0,_vue.h)(_input.default,{ref:K,clearable:F.clearable,placeholder:y,editable:!1,disabled:_,type:"text",prefixIcon:F.prefixIcon,suffixIcon:l?getIcon().SELECT_LOADED:d?getIcon().SELECT_OPEN:getIcon().SELECT_CLOSE,autoFocus:!1,title:C,modelValue:x,onClear:Ye,onClick:et,onFocus:Qe,onBlur:tt,onSuffixClick:lt},L?{prefix:()=>L({})}:{}),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(D),disabled:!E||!u},[(0,_vue.h)("div",{ref:R,class:["vxe-table--ignore-clear vxe-select--panel",I?_xeUtils.default.isFunction(I)?I({$select:X}):I:"",{["size--"+m]:m,"is--transfer":E,"ani--leave":!l&&c,"ani--enter":!l&&d}],placement:G.panelPlacement,style:G.panelStyle},u&&(d||c)?[(0,_vue.h)("div",{class:"vxe-select--panel-wrapper",style:S},[a?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:te,class:"vxe-select-search--input",modelValue:G.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:getI18n("vxe.select.search"),prefixIcon:getIcon().INPUT_SEARCH,"onUpdate:modelValue":at,onFocus:ot,onChange:rt,onSearch:rt})]):renderEmptyElement(X),i&&t||r||w?(0,_vue.h)("div",{class:"vxe-select--panel-header"},w?Le(w,{}):[(0,_vue.h)("div",{class:"vxe-select--header-button"},[(0,_vue.h)("div",{class:"vxe-select--header-btns"},[i&&t?(0,_vue.h)(_button.default,{content:getI18n("vxe.select.allChecked"),mode:"text",onClick:ze}):renderEmptyElement(X),r?(0,_vue.h)(_button.default,{content:getI18n("vxe.select.clear"),mode:"text",onClick:Ke}):renderEmptyElement(X)])])]):renderEmptyElement(X),(0,_vue.h)("div",{class:["vxe-select--panel-body",b?"ov-x--"+(!1===B?"hidden":"visible"):"",b?"ov-y--"+(!1===A?"hidden":"visible"):"",b?"sx-pos--"+(U?"top":"bottom"):"",b?"sy-pos--"+(H?"left":"right"):"",{"is--virtual-scrollbar":b,"ov-padding":b&&P.padding,"ov-x--auto-hide":b&&M,"ov-y--auto-hide":b&&N,"overflow-y":h,"overflow-x":g}]},[(0,_vue.h)("div",{ref:q,class:"vxe-select-option--wrapper",onScroll:bt},[(0,_vue.h)("div",{ref:le,class:"vxe-select--y-space",style:{height:p?p+"px":""}}),(0,_vue.h)("div",{ref:ae,class:"vxe-select--body",style:{marginTop:f+"px"}},(()=>{var{optList:e,searchLoading:t}=G;return t?[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",getIcon().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},getI18n("vxe.select.loadingText"))])]:e.length?Ot(e):[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},F.emptyText||getI18n("vxe.select.emptyText"))]})())]),b?(0,_vue.h)("div",{class:j},[!1===B?renderEmptyElement(X):(0,_vue.h)("div",{ref:ie,class:"vxe-scrollbar--track-x",onClick:se},[(0,_vue.h)("div",{ref:ne,class:"vxe-scrollbar--thumb-x",onPointerdown:ve,onPointermove:de,onPointerup:W,onPointercancel:W,onLostpointercapture:W})]),!1===A?renderEmptyElement(X):(0,_vue.h)("div",{ref:re,class:"vxe-scrollbar--track-y",onClick:ce},[(0,_vue.h)("div",{ref:ue,class:"vxe-scrollbar--thumb-y",onPointerdown:pe,onPointermove:fe,onPointerup:W,onPointercancel:W,onLostpointercapture:W})])]):renderEmptyElement(X)]),k||o||n&&t?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},k?Le(k,{}):[(0,_vue.h)("div",{class:"vxe-select--footer-button"},[o?(0,_vue.h)("div",{class:"vxe-select--total-btns"},getI18n("vxe.select.total",[V.length,v.length])):renderEmptyElement(X),n&&t?(0,_vue.h)("div",{class:"vxe-select--oper-btns"},[(0,_vue.h)(_button.default,{content:getI18n("vxe.select.close"),mode:"text",onClick:qe})]):renderEmptyElement(X)])]):renderEmptyElement(X)])]:[])])])},X},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"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,baseUtils,domUtils,globalEvents,GLOBAL_EVENT_KEYS,globalResize,createEvent,renderEmptyElement}=_ui.VxeUI,getDefVal=baseUtils.getDefVal,errLog=(0,_log.createComponentLog)("select").errLog;function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createReactData(){return{initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,yThumbHeight:0,xThumbWidth:0,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],defaultConfig:Object,emptyValue:{type:[String,Number,Boolean,Array],default:()=>getConfig().select.emptyValue},clearable:{type:Boolean,default:()=>getConfig().select.clearable},placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>getConfig().select.multiCharOverflow},prefixIcon:String,allowCreate:{type:Boolean,default:()=>getConfig().select.allowCreate},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],width:[String,Number],max:{type:[String,Number],default:null},showRadio:{type:Boolean,default:()=>getConfig().select.showRadio},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().select.showCheckedButton},checkboxConfig:Object,zIndex:Number,size:{type:String,default:()=>getConfig().select.size||getConfig().size},filterable:Boolean,filterMethod:Function,filterConfig:Object,remote:Boolean,remoteConfig:Object,emptyText:String,checkedClosable:{type:Boolean,default:()=>getConfig().select.checkedClosable},clearClosable:{type:Boolean,default:()=>getConfig().select.clearClosable},showCloseButton:{type:Boolean,default:()=>getConfig().select.showCloseButton},showTotalButton:{type:Boolean,default:()=>getConfig().select.showTotalButton},showCheckedButton:{type:Boolean,default:()=>getConfig().select.showCheckedButton},showClearButton:{type:Boolean,default:()=>getConfig().select.showClearButton},transfer:{type:Boolean,default:null},popupConfig:Object,virtualYConfig:Object,scrollY:Object,useScrollbar:{type:Boolean,default:()=>getDefVal(getConfig().select.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object,remoteMethod:Function,optionId:{type:String,default:()=>getConfig().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","default-change","all-change","clear","blur","focus","click","scroll","visible-change"],setup(F,e){let{slots:Y,emit:m}=e,b=(0,_vue.inject)("$xeModal",null),_=(0,_vue.inject)("$xeDrawer",null),x=(0,_vue.inject)("$xeTable",null),C=(0,_vue.inject)("$xeCard",null),a=(0,_vue.inject)("$xeForm",null),E=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let z=(0,_vue.ref)(),K=(0,_vue.ref)(),le=(0,_vue.ref)(),q=(0,_vue.ref)(),R=(0,_vue.ref)(),ae=(0,_vue.ref)(),$=(0,_vue.ref)(),oe=_ui.useFns.useSize(F).computeSize,G=_ui.useFns.useVScrollbar(F).computeIsVScrollbar,X=(0,_vue.reactive)(createReactData()),k=createInternalData(),T={refElem:z},W={xID:t,props:F,context:e,reactData:X,internalData:k,getRefMaps:()=>T},{refTrackXElem:ie,refTrackYElem:re,refThumbXElem:ne,refThumbYElem:ue,updateThumbSize:y,updateThumbOffset:O,clickTrackXEvent:se,clickTrackYEvent:ce,pointerdownThumbXEvent:ve,pointermoveThumbXEvent:de,cleatPointerThumbEvent:Z,pointerdownThumbYEvent:pe,pointermoveThumbYEvent:fe}=_ui.useFns.useInitVScrollbar(W),ge=(0,_vue.computed)(()=>{var e=F.readonly;return null===e?!!a&&a.props.readonly:e}),J=(0,_vue.computed)(()=>{var e=F.disabled;return null===e?!!a&&a.props.disabled:e}),he=(0,_vue.computed)(()=>{var e=F.transfer,t=Q.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=getConfig().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(x||b||_||C||a)return!0}return e}),me=(0,_vue.computed)(()=>{var e=F.placeholder;return(e=e||getConfig().select.placeholder)?(0,_utils.getFuncText)(e):getI18n("vxe.base.pleaseSelect")}),V=(0,_vue.computed)(()=>Object.assign({},F.defaultConfig)),S=(0,_vue.computed)(()=>Object.assign({},F.optionProps)),I=(0,_vue.computed)(()=>Object.assign({},F.optionGroupProps)),v=(0,_vue.computed)(()=>S.value.label||"label"),L=(0,_vue.computed)(()=>S.value.value||"value"),B=(0,_vue.computed)(()=>I.value.label||"label"),w=(0,_vue.computed)(()=>I.value.options||"options"),A=(0,_vue.computed)(()=>{var e=ee.value;return Ae(e)}),Q=(0,_vue.computed)(()=>Object.assign({},getConfig().select.popupConfig,F.popupConfig)),U=(0,_vue.computed)(()=>Object.assign({},getConfig().select.virtualYConfig||getConfig().select.scrollY,F.virtualYConfig||F.scrollY)),H=(0,_vue.computed)(()=>Object.assign({},getConfig().select.remoteConfig,F.remoteConfig)),M=(0,_vue.computed)(()=>Object.assign({},getConfig().select.filterConfig,F.filterConfig)),N=(0,_vue.computed)(()=>Object.assign({},getConfig().select.optionConfig,F.optionConfig)),j=(0,_vue.computed)(()=>Object.assign({},getConfig().select.radioConfig,F.radioConfig)),be=(0,_vue.computed)(()=>Object.assign({},getConfig().select.checkboxConfig,F.checkboxConfig)),_e=(0,_vue.computed)(()=>_xeUtils.default.toNumber(F.multiCharOverflow)),xe=(0,_vue.computed)(()=>{var e=F.width,t={};return e&&(t.width=(0,_dom.toCssUnit)(e)),t}),Ce=(0,_vue.computed)(()=>{var{height:e,width:t}=Q.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),ee=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=F;let l=[];return _xeUtils.default.isArray(e)?l=e:t?(0,_utils.eqEmptyValue)(e)||(l=-1<(""+e).indexOf(",")?(""+e).split(","):[e]):l=null==e?[]:[e],l}),Ee=(0,_vue.computed)(()=>{var e=F.remote,t=X.reactFlag,l=ee.value;return(e&&t?l.map(e=>Ue(e)):l.map(e=>He(e))).join(", ")}),Te=(0,_vue.computed)(()=>{var{remote:e,multiple:t}=F,l=X.reactFlag,a=_e.value,o=ee.value;return e&&l?o.map(e=>Ue(e)).join(", "):(e=o.map(e=>He(e)),t&&0<a&&e.length>a?e.slice(0,a)+"...":e.join(", "))}),te=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.scrollbarConfig,F.scrollbarConfig)),l=(0,_vue.computed)(()=>{var e=te.value;return Object.assign({},getConfig().scrollbar.xConfig,e.xConfig,{visible:!1})}),o=(0,_vue.computed)(()=>{var e=te.value;return Object.assign({},getConfig().scrollbar.yConfig,e.yConfig)});t=(0,_vue.computed)(()=>{var e=te.value,t=l.value;return getDefVal(getDefVal(t.height,e.height),getConfig().scrollbar.height)}),e=(0,_vue.computed)(()=>{var e=te.value,t=o.value;return getDefVal(getDefVal(t.width,e.width),getConfig().scrollbar.width)});let ye=(0,_vue.computed)(()=>{var e=te.value,t=l.value;return getDefVal(t.visible,e.visible)}),Oe=(0,_vue.computed)(()=>{var e=te.value,t=o.value;return getDefVal(t.visible,e.visible)}),Ve=(0,_vue.computed)(()=>{var e=te.value,t=l.value;return getDefVal(getDefVal(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),Se=(0,_vue.computed)(()=>{var e=te.value,t=o.value;return getDefVal(getDefVal(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),Ie=(0,_vue.computed)(()=>{var{yThumbHeight:e,xThumbWidth:t}=X,l=te.value,a=we.value,o=ke.value,i=ye.value,r=Oe.value;return domUtils.buildClass(["vxe-scrollbar is--virtual",l.fluentOverlay?"is--fluent-overlay":"is--default-mode","ov-x--"+(!1===i?"hidden":"visible"),"ov-y--"+(!1===r?"hidden":"visible"),"sx-pos--"+(a?"top":"bottom"),"sy-pos--"+(o?"left":"right")],{"overflow-y":e,"overflow-x":t})}),we=(0,_vue.computed)(()=>"top"===l.value.position),ke=(0,_vue.computed)(()=>"left"===o.value.position),Le=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=Y[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],u=(e,t,l)=>{m(e,createEvent(l,{$select:W},t))},De=e=>{m("update:modelValue",e)},Pe=e=>{De(e),u("default-change",{value:e},null)},Be=()=>N.value.keyField||F.optionId||"_X_OPTION_KEY",D=e=>{e=e[Be()];return e?encodeURIComponent(e):""},Ae=e=>{var{multiple:t,max:l}=F;return!(!t||!l)&&e.length>=_xeUtils.default.toNumber(l)},Ue=t=>{var e=F.lazyOptions,{remoteValMaps:l,optFullValMaps:a}=k;let o=L.value;var i=v.value,l=l[t]||a[t],a=l?l.item:null;if(a)return _xeUtils.default.toValueString(a[i]);if(e){l=e.find(e=>e[o]===t);if(l)return l[i]}return t},He=t=>{var e=F.lazyOptions,l=k.optFullValMaps;let a=L.value;var o=v.value,l=X.reactFlag?l[t]:null;if(l)return l.item[o];if(e){l=e.find(e=>e[a]===t);if(l)return l[o]}return t},s=()=>{let{remote:e,modelValue:t,filterable:l}=F,a=X.searchValue,{fullData:o,optFullValMaps:i}=k,r=v.value,n=L.value;let u=M.value.filterMethod||F.filterMethod,s=(""+(a||"")).toLowerCase(),c=[];return(c=e?o.filter(isOptionVisible):l&&u?o.filter(e=>isOptionVisible(e)&&u({$select:W,group:null,option:e,searchValue:a,value:t})):l?o.filter(e=>isOptionVisible(e)&&(!s||-1<(""+(e[r]||e[n])).toLowerCase().indexOf(s))):o.filter(isOptionVisible)).forEach((e,t)=>{e=i[e[n]];e&&(e._index=t)}),k.afterVisibleList=c,(0,_vue.nextTick)()},Me=e=>{e&&(X.currentOption=e)},Ne=()=>{var e=Q.value.zIndex||F.zIndex;e?X.panelIndex=_xeUtils.default.toNumber(e):X.panelIndex<(0,_utils.getLastZIndex)()&&(X.panelIndex=(0,_utils.nextZIndex)())},c=()=>{let l=F.placement,a=X.panelIndex,o=z.value,i=R.value,r=he.value,n=Q.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,i,{placement:n.placement||l,defaultPlacement:n.defaultPlacement,appendTo:n.appendTo,teleportTo:r}),t=Object.assign(e.style,{zIndex:a});X.panelStyle=t,X.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},je=()=>{(0,_vue.nextTick)(()=>{var{isAniVisible:e,visiblePanel:t}=X,l=k.optFullValMaps,a=ee.value;a.length&&e&&t&&(e=X.reactFlag?l[""+a[0]]:null)&&(X.currentOption=e.item,dt(e.item))})},d=()=>{var{loading:e,filterable:t,remote:l}=F,{fullData:a,hpTimeout:o}=k,i=J.value,r=H.value;let n=ee.value;e||i||(o&&(clearTimeout(o),k.hpTimeout=void 0),X.initialized||(X.initialized=!0),X.isActivated=!0,X.isAniVisible=!0,t&&(l&&r.enabled&&(r.autoLoad&&!a.length||a.length&&r.clearOnClose)?it:(s(),f))(),setTimeout(()=>{X.visiblePanel=!0,Je(),h().then(()=>{(n&&n.length?je:ft)()}),c()},10),setTimeout(()=>{h().then(()=>ft())},100),Ne(),c(),u("visible-change",{visible:!0},null))},p=e=>{var{filterable:t,remote:l}=F,a=M.value,o=H.value;l?o.clearOnClose&&(X.searchValue=""):t&&!a.clearOnClose||(X.searchValue=""),X.searchLoading=!1,X.visiblePanel=!1,k.hpTimeout=setTimeout(()=>{X.isAniVisible=!1},350),u("visible-change",{visible:!1},e||null)},n=(e,t,l)=>{De(t),t!==F.modelValue&&(u("change",{value:t,option:l},e),a)&&E&&a.triggerItemEvent(e,E.itemConfig.field,t)},Fe=(e,t)=>{k.remoteValMaps={},n(e,t,null),u("clear",{value:t},e)},Ye=e=>{var t=F.emptyValue,e=e.$event;Fe(e,t),p(e)},ze=e=>{var e=e.$event,{multiple:t,max:l,checkedClosable:a}=F,o=X.optList,i=L.value;if(t){var r=ee.value.slice(0);for(let e=0;e<o.length;e++){let t=o[e][i];if(Ae(r)){_ui.VxeUI&&_ui.VxeUI.modal.message({content:getI18n("vxe.select.overSizeErr",[l]),status:"warning"});break}r.some(e=>e===t)||r.push(t)}n(e,r,o[0]),a&&p(e),u("all-change",{value:r},e)}},Ke=e=>{var{emptyValue:t,clearClosable:l}=F,e=e.$event;Fe(e,t),l&&p(e)},qe=e=>{e=e.$event;p(e)},P=(t,l)=>{var e=F.multiple,a=k.remoteValMaps;let o=l[L.value];var i=a[o];if(X.visiblePanel){if(i?i.item=l:a[o]={key:D(l),item:l,_index:-1},e){let e=[];i=ee.value,a=_xeUtils.default.findIndexOf(i,e=>e===o);e=-1===a?i.concat([o]):i.filter(e=>e!==o),n(t,e,l)}else n(t,o,l),p(t);X.reactFlag++}},Re=e=>{var t,l=X.visiblePanel,a=J.value,o=Q.value.trigger;a||(a=z.value,t=R.value,X.isActivated=(0,_dom.getEventTargetNode)(e,a).flag||(0,_dom.getEventTargetNode)(e,t).flag,l&&!X.isActivated&&"manual"!==o&&p(e))},g=e=>{var t=e.disabled,e=D(e);return!t&&!xt(e)},$e=(e,t)=>{var l=F.allowCreate,a=X.optList,{optFullValMaps:o,optAddMaps:i,afterVisibleList:r}=k,n=L.value;let u=r,s=0;if(l&&a.length&&(r=a[0],i[l=D(r)])&&(s=1,u=[i[l]].concat(u)),!e)if(t)for(let e=0;e<u.length;e++){var c=u[e];if(g(c))return c}else for(let e=u.length-1;0<=e;e--){var v=u[e];if(g(v))return v}let d=0;a=e?o[e[n]]:null;if(-1<(d=a?a._index+s:d))if(t)for(let e=d+1;e<=u.length-1;e++){var p=u[e];if(g(p))return p}else if(0<d)for(let e=d-1;0<=e;e--){var f=u[e];if(g(f))return f}return null},Ge=t=>{var{emptyValue:e,clearable:l}=F,{visiblePanel:a,currentOption:o}=X,i=J.value,r=Q.value.trigger;if(!i){var i=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.TAB),n=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.ENTER),u=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.ESCAPE),s=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.ARROW_UP),c=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.ARROW_DOWN),v=globalEvents.hasKey(t,GLOBAL_EVENT_KEYS.DELETE);if(i&&(X.isActivated=!1),a){if(u||i)"manual"!==r&&p(t);else if(n)o&&(t.preventDefault(),t.stopPropagation(),P(t,o));else if(s||c){t.preventDefault();let e=$e(o,c);(e=e||$e(null,c))&&(Me(e),dt(e,c))}}else(s||c||n)&&X.isActivated&&(t.preventDefault(),d());X.isActivated&&v&&l&&Fe(t,e)}},Xe=e=>{var{visiblePanel:t,isActivated:l}=X,a=Q.value.trigger;t&&"manual"!==a&&p(e),l&&(X.isActivated=!1),(t||l)&&(a=K.value)&&a.blur()},We=()=>{var e=X.visiblePanel;e&&c()},Ze=()=>{var e=X.visiblePanel;e&&c()},Je=()=>{F.filterable&&(0,_vue.nextTick)(()=>{var e=le.value;e&&e.focus()})},Qe=e=>{var t=J.value,l=Q.value.trigger;t||X.visiblePanel||l&&"default"!==l||(X.triggerFocusPanel=!0,d(),setTimeout(()=>{X.triggerFocusPanel=!1},500)),u("focus",{},e)},et=e=>{var t=Q.value.trigger;t&&"default"!==t||nt(e),u("click",{triggerButton:!1,visible:X.visiblePanel},e)},tt=e=>{X.isActivated=!1,u("blur",{},e)},lt=e=>{var t=Q.value.trigger;t&&"default"!==t&&"icon"!==t||nt(e),u("click",{triggerButton:!0,visible:X.visiblePanel},e)},at=e=>{X.searchValue=e},ot=()=>{X.isActivated=!0},it=()=>{var{modelValue:e,remote:t}=F,l=X.searchValue,a=H.value,o=a.queryMethod||F.remoteMethod;t&&o&&a.enabled?(X.searchLoading=!0,Promise.resolve(o({$select:W,searchValue:l,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{X.searchLoading=!1,s(),f()})):(s(),f())},rt=_xeUtils.default.debounce(it,350,{trailing:!0}),nt=e=>{e=e.$event;e.preventDefault(),X.triggerFocusPanel?X.triggerFocusPanel=!1:X.visiblePanel?p(e):d()},ut=(e,t)=>!!t.disabled||!(!A.value||e),st=()=>{var e=X.scrollYLoad,{scrollYStore:t,afterVisibleList:l}=k;X.bodyHeight=e?l.length*t.rowHeight:0,X.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},ct=()=>{var{filterable:e,allowCreate:t}=F;let{scrollYLoad:l,searchValue:a}=X;var{optAddMaps:o,scrollYStore:i,afterVisibleList:r}=k;let n=v.value;var u=L.value,i=l?r.slice(i.startIndex,i.endIndex):r.slice(0);return e&&t&&a&&(i.some(e=>e[n]===a)||(r=o[a]||(0,_vue.reactive)({[Be()]:a,[n]:a,[u]:a}),o[a]=r,i.unshift(r))),X.optList=i,(0,_vue.nextTick)()},f=()=>{ct(),st()},vt=()=>(0,_vue.nextTick)().then(()=>{var e=X.scrollYLoad,t=k.scrollYStore,l=$.value,a=U.value;let o=0,i;(i=l?i||l.children[0]:i)&&(o=i.offsetHeight),o=Math.max(20,o),t.rowHeight=o,(e?(l=q.value,e=Math.max(8,l?Math.ceil(l.clientHeight/o):0),l=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),f):st)()}),dt=(e,t)=>{var l,a,{optFullValMaps:o,scrollYStore:i}=k,o=o[e[L.value]];o&&(e=o.key,-1<(o=o._index))&&(l=q.value,a=R.value)&&(a=a.querySelector(`[optid='${e}']`),l)&&(a?(e=l.offsetHeight,t?Math.ceil(a.offsetTop+a.offsetHeight-l.scrollTop)>=e?l.scrollTop=a.offsetTop+a.offsetHeight-e:(a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight)&&(l.scrollTop=a.offsetTop-1):a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight?l.scrollTop=a.offsetTop-1:a.offsetTop+a.offsetHeight-l.scrollTop>e&&(l.scrollTop=a.offsetTop+a.offsetHeight-e)):l.scrollTop=t?o*i.rowHeight-l.clientHeight+i.rowHeight:o*i.rowHeight)},pt=(e,t)=>{var l=q.value;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),X.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},ft=()=>{let{lastScrollLeft:e,lastScrollTop:t}=k;return _t().then(()=>{if(e||t)return k.lastScrollLeft=0,k.lastScrollTop=0,pt(e,t)})},gt=()=>G.value?(0,_vue.nextTick)().then(()=>{y(),O()}):Promise.resolve(),h=()=>{var e=z.value;return e&&e.clientWidth&&e.clientHeight?vt().then(()=>gt()):Promise.resolve()},ht=e=>{var t=k.scrollYStore,{startIndex:l,endIndex:a,visibleSize:o,offsetSize:i,rowHeight:r}=t,e=e.target.scrollTop,e=Math.floor(e/r),r=Math.max(0,e-1-i),i=e+o+i;!(e<=l||a-o-1<=e)||l===r&&a===i||(t.startIndex=r,t.endIndex=i,f())},mt=()=>{var e=k.lastScrollTime;return!!(e&&Date.now()<e+250)},bt=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==k.lastScrollLeft,o=l!==k.lastScrollTop;G.value&&O(),k.lastScrollTop=l,k.lastScrollLeft=t,X.scrollYLoad&&ht(e),k.lastScrollTime=Date.now(),u("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:o},e)},i=t=>{(e=>{let t=w.value,l=L.value,a=Be(),o={},i={},r=[],n=e=>{r.push(e);let t=D(e);t||(t=getOptUniqueId(),e[a]=t),i[e[l]]={key:t,item:e,_index:-1}};e.forEach(e=>{n(e),e[t]&&(o[e[a]]=e)[t].forEach(n)}),k.fullData=r,k.optGroupKeyMaps=o,k.optFullValMaps=i,X.reactFlag++,s()})(t||[]);var e=F.multiple,{isLoaded:l,fullData:a,scrollYStore:o}=k,i=V.value,r=U.value;let n=L.value;if(Object.assign(o,{startIndex:0,endIndex:1,visibleSize:0}),k.synchData=t||[],X.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=a.length),ct(),!l){o=i.selectMode;if(0<t.length&&_xeUtils.default.eqNull(F.modelValue)){if("all"===o)e?(0,_vue.nextTick)(()=>{Pe(t.map(e=>e[n]))}):errLog("vxe.error.notConflictProp",["default-config.selectMode=all","multiple=true"]);else if("first"===o||"last"===o){let e=_xeUtils.default[o](t);e&&(0,_vue.nextTick)(()=>{_xeUtils.default.eqNull(F.modelValue)&&Pe(e[n])})}k.isLoaded=!0}}return vt().then(()=>{ft()})},_t=()=>{var e=q.value;return e&&(e.scrollTop=0,e.scrollLeft=0),k.lastScrollTop=0,(k.lastScrollLeft=0,_vue.nextTick)()},xt=e=>{var t=k.optGroupKeyMaps;return!!t[e]};var Ct={dispatchEvent:u,getScrollViewElem(){return q.value||null},loadData:i,reloadData(e){return k.isLoaded=!1,_t(),i(e)},isPanelVisible(){return X.visiblePanel},togglePanel(){return(X.visiblePanel?p:d)(),(0,_vue.nextTick)()},hidePanel(){return X.visiblePanel&&p(),(0,_vue.nextTick)()},showPanel(){return X.visiblePanel||d(),(0,_vue.nextTick)()},refreshOption(){return s(),f(),(0,_vue.nextTick)()},focus(){var e=K.value;return e&&e.blur(),X.isActivated=!0,(0,_vue.nextTick)()},blur(){var e=K.value;return e&&e.blur(),(X.isActivated=!1,_vue.nextTick)()},recalculate:h,clearScroll:_t};let Et=()=>{var t=G.value;let e=k.scrollObserver;if(t&&!e){var t=z.value,l=ae.value,a=$.value;let e=globalResize.create(()=>{Vt.value++});t&&e.observe(t),l&&e.observe(l),a&&e.observe(a),k.scrollObserver=e}},Tt=(Object.assign(W,Ct),(t,l,e,a)=>{var{showIcon:o,trigger:i}=j.value;return l||!1===o?renderEmptyElement(W):(o={},i&&"default"!==i||(o.onClick=e=>{a||l||P(e,t)}),(0,_vue.h)("div",Object.assign({key:2,class:["vxe-select-option--radio",{"is--checked":e,"is--disabled":a}]},o),[(0,_vue.h)("span",{class:["vxe-radio--icon",e?getIcon().RADIO_CHECKED:a?getIcon().RADIO_DISABLED_UNCHECKED:getIcon().RADIO_UNCHECKED]})]))}),yt=(t,l,e,a)=>{var{showIcon:o,trigger:i}=be.value;return l||!1===o?renderEmptyElement(W):(o={},i&&"default"!==i||(o.onClick=e=>{a||l||P(e,t)}),(0,_vue.h)("div",Object.assign({key:3,class:["vxe-select-option--checkbox",{"is--checked":e,"is--disabled":a}]},o),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?getIcon().CHECKBOX_CHECKED:a?getIcon().CHECKBOX_DISABLED_UNCHECKED:getIcon().CHECKBOX_UNCHECKED]})]))},Ot=e=>{let{allowCreate:g,optionKey:h,multiple:t,showRadio:l,showCheckbox:a}=F,m=X.currentOption,b=k.optAddMaps;var o=N.value;let _=v.value,x=L.value,C=B.value,E=ee.value,T=j.value,y=be.value,{useKey:O,height:V}=o,S=Y.option,I=a&&t,w=l&&!t;return e.map((t,e)=>{var{slots:l,className:a}=t,o=D(t),i=t[x];let r=xt(o);var n=!(!g||!b[o]),u=!n&&-1<E.indexOf(i),s=n||!r||isOptionVisible(t);let c=!n&&ut(u,t);var l=(l?l.default:null)||S,v={option:t,group:r?t:null,$select:W};let d="";var p=[];I?p.push(yt(t,r,u,c)):w&&p.push(Tt(t,r,u,c));let f=[];f=l?Le(l,v):[d=(0,_utils.getFuncText)(t[r?C:_]||i)],p.push((0,_vue.h)("div",{key:1,class:"vxe-select-option--label"},f));l={onMousedown:e=>{0===e.button&&e.stopPropagation()},onMouseenter:()=>{c||r||mt()||Me(t)}};return(I?"option"!==y.trigger:w&&"option"!==T.trigger)||(l.onClick=e=>{c||r||P(e,t)}),s?(0,_vue.h)("div",Object.assign({key:O||h?o:e,class:["vxe-select-option",a?_xeUtils.default.isFunction(a)?a(v):a:"",{"vxe-select-optgroup":r,"is--disabled":c,"is--selected":u,"is--add":n,"is--hover":m&&D(m)===o}],optid:o,title:d||null,style:V?{height:(0,_dom.toCssUnit)(V)}:void 0},l),g?[(0,_vue.h)("div",{key:1,class:"vxe-select-option--add-label"},p),n?(0,_vue.h)("div",{key:2,class:"vxe-select-option--add-icon"},[(0,_vue.h)("i",{class:getIcon().SELECT_ADD_OPTION})]):renderEmptyElement(W)]:p):renderEmptyElement(W)})};(0,_vue.watch)(()=>X.staticOptions,e=>{i(e)}),(0,_vue.watch)(()=>F.options,e=>{i(e||[])}),(0,_vue.watch)(()=>F.optionGroups,e=>{i(e||[])});let Vt=(0,_vue.ref)(0),r=(0,_vue.ref)(0);return(0,_vue.watch)(G,()=>{(0,_vue.nextTick)(()=>{Et(),(0,_vue.nextTick)(()=>{r.value++})})}),(0,_vue.watch)(e,()=>{r.value++}),(0,_vue.watch)(t,()=>{r.value++}),(0,_vue.watch)(ye,()=>{(0,_vue.nextTick)(()=>{r.value++})}),(0,_vue.watch)(Oe,()=>{(0,_vue.nextTick)(()=>{r.value++})}),(0,_vue.watch)(r,()=>{h().then(()=>{h()})}),(0,_vue.watch)(Vt,()=>{gt().then(()=>{gt()})}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=F;t?i(t):e&&i(e)}),r.value++,Et(),globalEvents.on(W,"mousedown",Re),globalEvents.on(W,"keydown",Ge),globalEvents.on(W,"blur",Xe),globalEvents.on(W,"resize",We),globalEvents.on(W,"scroll",Ze)}),(0,_vue.onBeforeUnmount)(()=>{var e=k.scrollObserver;e&&e.disconnect()}),(0,_vue.onUnmounted)(()=>{globalEvents.off(W,"mousedown"),globalEvents.off(W,"keydown"),globalEvents.off(W,"blur"),globalEvents.off(W,"resize"),globalEvents.off(W,"scroll"),_xeUtils.default.assign(X,createReactData()),_xeUtils.default.assign(k,createInternalData())}),(0,_vue.provide)("$xeSelect",W),W.renderVN=()=>{var{className:e,multiple:t,loading:l,filterable:a,showTotalButton:o,showCheckedButton:i,showClearButton:r,showCloseButton:n}=F,{initialized:u,isActivated:s,isAniVisible:c,optList:v,visiblePanel:d,bodyHeight:p,topSpaceHeight:f,xThumbWidth:g,yThumbHeight:h}=X,m=oe.value,b=G.value,_=J.value,x=Te.value,C=Ee.value,E=he.value,T=ge.value,y=me.value,O=Y.default;if(T)return(0,_vue.h)("div",{ref:z,class:["vxe-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},O?O({}):[]),(0,_vue.h)("span",{class:"vxe-select-label",title:C},x)]);var T=xe.value,V=ee.value,S=Ce.value,I=Q.value,w=Y.header,k=Y.footer;let L=Y.prefix;var D=I.appendTo,I=I.className||F.popupClassName,P=te.value,B=ye.value,A=Oe.value,U=we.value,H=ke.value,M=Ve.value,N=Se.value,j=Ie.value;return(0,_vue.h)("div",{ref:z,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:W}):e:"",{["size--"+m]:m,"is--visible":d,"is--disabled":_,"is--filter":a,"is--loading":l,"is--active":s}],style:T},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},O?O({}):[]),(0,_vue.h)(_input.default,{ref:K,clearable:F.clearable,placeholder:y,editable:!1,disabled:_,type:"text",prefixIcon:F.prefixIcon,suffixIcon:l?getIcon().SELECT_LOADED:d?getIcon().SELECT_OPEN:getIcon().SELECT_CLOSE,autoFocus:!1,title:C,modelValue:x,onClear:Ye,onClick:et,onFocus:Qe,onBlur:tt,onSuffixClick:lt},L?{prefix:()=>L({})}:{}),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(D),disabled:!E||!u},[(0,_vue.h)("div",{ref:R,class:["vxe-table--ignore-clear vxe-select--panel",I?_xeUtils.default.isFunction(I)?I({$select:W}):I:"",{["size--"+m]:m,"is--transfer":E,"ani--leave":!l&&c,"ani--enter":!l&&d}],placement:X.panelPlacement,style:X.panelStyle},u&&(d||c)?[(0,_vue.h)("div",{class:"vxe-select--panel-wrapper",style:S},[a?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:le,class:"vxe-select-search--input",modelValue:X.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:getI18n("vxe.select.search"),prefixIcon:getIcon().INPUT_SEARCH,"onUpdate:modelValue":at,onFocus:ot,onChange:rt,onSearch:rt})]):renderEmptyElement(W),i&&t||r||w?(0,_vue.h)("div",{class:"vxe-select--panel-header"},w?Le(w,{}):[(0,_vue.h)("div",{class:"vxe-select--header-button"},[(0,_vue.h)("div",{class:"vxe-select--header-btns"},[i&&t?(0,_vue.h)(_button.default,{content:getI18n("vxe.select.allChecked"),mode:"text",onClick:ze}):renderEmptyElement(W),r?(0,_vue.h)(_button.default,{content:getI18n("vxe.select.clear"),mode:"text",onClick:Ke}):renderEmptyElement(W)])])]):renderEmptyElement(W),(0,_vue.h)("div",{class:["vxe-select--panel-body",b?"ov-x--"+(!1===B?"hidden":"visible"):"",b?"ov-y--"+(!1===A?"hidden":"visible"):"",b?"sx-pos--"+(U?"top":"bottom"):"",b?"sy-pos--"+(H?"left":"right"):"",{"is--virtual-scrollbar":b,"ov-padding":b&&P.padding,"ov-x--auto-hide":b&&M,"ov-y--auto-hide":b&&N,"overflow-y":h,"overflow-x":g}]},[(0,_vue.h)("div",{ref:q,class:"vxe-select-option--wrapper",onScroll:bt},[(0,_vue.h)("div",{ref:ae,class:"vxe-select--y-space",style:{height:p?p+"px":""}}),(0,_vue.h)("div",{ref:$,class:"vxe-select--body",style:{marginTop:f+"px"}},(()=>{var{optList:e,searchLoading:t}=X;return t?[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",getIcon().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},getI18n("vxe.select.loadingText"))])]:e.length?Ot(e):[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},F.emptyText||getI18n("vxe.select.emptyText"))]})())]),b?(0,_vue.h)("div",{class:j},[!1===B?renderEmptyElement(W):(0,_vue.h)("div",{ref:ie,class:"vxe-scrollbar--track-x",onClick:se},[(0,_vue.h)("div",{ref:ne,class:"vxe-scrollbar--thumb-x",onPointerdown:ve,onPointermove:de,onPointerup:Z,onPointercancel:Z,onLostpointercapture:Z})]),!1===A?renderEmptyElement(W):(0,_vue.h)("div",{ref:re,class:"vxe-scrollbar--track-y",onClick:ce},[(0,_vue.h)("div",{ref:ue,class:"vxe-scrollbar--thumb-y",onPointerdown:pe,onPointermove:fe,onPointerup:Z,onPointercancel:Z,onLostpointercapture:Z})])]):renderEmptyElement(W)]),k||o||n&&t?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},k?Le(k,{}):[(0,_vue.h)("div",{class:"vxe-select--footer-button"},[o?(0,_vue.h)("div",{class:"vxe-select--total-btns"},getI18n("vxe.select.total",[V.length,v.length])):renderEmptyElement(W),n&&t?(0,_vue.h)("div",{class:"vxe-select--oper-btns"},[(0,_vue.h)(_button.default,{content:getI18n("vxe.select.close"),mode:"text",onClick:qe})]):renderEmptyElement(W)])]):renderEmptyElement(W)])]:[])])])},W},render(){return this.renderVN()}});
|