vxe-pc-ui 4.20.8 → 4.20.10
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 +2041 -2125
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/card/src/card.js +8 -6
- package/es/date-panel/src/date-panel.js +58 -36
- package/es/date-panel/style.css +22 -20
- package/es/date-panel/style.min.css +1 -1
- package/es/drawer/src/drawer.js +7 -5
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +74 -38
- package/es/icon-picker/style.css +9 -3
- package/es/icon-picker/style.min.css +1 -1
- package/es/layout-aside/src/layout-aside.js +6 -4
- package/es/layout-body/src/layout-body.js +6 -4
- package/es/layout-container/src/layout-container.js +11 -3
- package/es/list/src/list.js +81 -208
- package/es/menu/src/menu.js +7 -5
- package/es/modal/src/modal.js +7 -5
- package/es/scrollbar/src/scrollbar.js +28 -173
- package/es/select/src/select.js +243 -8
- package/es/select/style.css +44 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +5 -4
- package/es/tooltip/src/tooltip.js +7 -5
- package/es/tooltip/style.css +2 -0
- package/es/tooltip/style.min.css +1 -1
- package/es/tree/src/tree.js +86 -212
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-date-panel/style.css +22 -20
- package/es/vxe-date-panel/style.min.css +1 -1
- package/es/vxe-icon-picker/style.css +9 -3
- package/es/vxe-icon-picker/style.min.css +1 -1
- package/es/vxe-select/style.css +44 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tooltip/style.css +2 -0
- package/es/vxe-tooltip/style.min.css +1 -1
- package/lib/card/src/card.js +9 -6
- package/lib/card/src/card.min.js +1 -1
- package/lib/date-panel/src/date-panel.js +56 -34
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/date-panel/style/style.css +22 -20
- package/lib/date-panel/style/style.min.css +1 -1
- package/lib/drawer/src/drawer.js +7 -4
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +101 -45
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/icon-picker/style/style.css +9 -3
- package/lib/icon-picker/style/style.min.css +1 -1
- package/lib/index.umd.js +1049 -859
- package/lib/index.umd.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +7 -4
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/layout-body/src/layout-body.js +7 -4
- package/lib/layout-body/src/layout-body.min.js +1 -1
- package/lib/layout-container/src/layout-container.js +20 -4
- package/lib/layout-container/src/layout-container.min.js +1 -1
- package/lib/list/src/list.js +95 -232
- package/lib/list/src/list.min.js +1 -1
- package/lib/menu/src/menu.js +8 -4
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/modal/src/modal.js +7 -4
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/scrollbar/src/scrollbar.js +42 -199
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/select/src/select.js +315 -68
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +44 -0
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +6 -5
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tooltip/src/tooltip.js +7 -4
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tooltip/style/style.css +2 -0
- package/lib/tooltip/style/style.min.css +1 -1
- package/lib/tree/src/tree.js +101 -235
- 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-date-panel/style/style.css +22 -20
- package/lib/vxe-date-panel/style/style.min.css +1 -1
- package/lib/vxe-icon-picker/style/style.css +9 -3
- package/lib/vxe-icon-picker/style/style.min.css +1 -1
- package/lib/vxe-select/style/style.css +44 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tooltip/style/style.css +2 -0
- package/lib/vxe-tooltip/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/card/src/card.ts +8 -6
- package/packages/date-panel/src/date-panel.ts +58 -36
- package/packages/drawer/src/drawer.ts +7 -5
- package/packages/icon-picker/src/icon-picker.ts +80 -38
- package/packages/layout-aside/src/layout-aside.ts +6 -4
- package/packages/layout-body/src/layout-body.ts +6 -4
- package/packages/layout-container/src/layout-container.ts +13 -3
- package/packages/list/src/list.ts +98 -224
- package/packages/menu/src/menu.ts +7 -5
- package/packages/modal/src/modal.ts +7 -5
- package/packages/scrollbar/src/scrollbar.ts +44 -189
- package/packages/select/src/select.ts +278 -8
- package/packages/tabs/src/tabs.ts +5 -4
- package/packages/tooltip/src/tooltip.ts +7 -5
- package/packages/tree/src/tree.ts +103 -228
- package/styles/components/date-panel.scss +31 -29
- package/styles/components/icon-picker.scss +9 -3
- package/styles/components/select.scss +77 -0
- package/styles/components/tooltip.scss +1 -0
- package/types/components/card.d.ts +2 -2
- package/types/components/drawer.d.ts +2 -2
- package/types/components/gantt-module/gantt-view.d.ts +7 -16
- package/types/components/grid.d.ts +3 -1
- package/types/components/icon-picker.d.ts +21 -1
- package/types/components/layout-aside.d.ts +2 -2
- package/types/components/layout-body.d.ts +2 -2
- package/types/components/layout-container.d.ts +3 -1
- package/types/components/list.d.ts +6 -2
- package/types/components/menu.d.ts +2 -2
- package/types/components/modal.d.ts +2 -2
- package/types/components/scrollbar.d.ts +17 -14
- package/types/components/select.d.ts +28 -3
- package/types/components/table.d.ts +28 -22
- package/types/components/tabs.d.ts +2 -2
- package/types/components/tooltip.d.ts +2 -2
- package/types/components/tree.d.ts +8 -17
- /package/es/icon/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/es/icon/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
- /package/es/icon/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
- /package/es/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/es/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
- /package/es/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
- /package/lib/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/lib/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
- /package/lib/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
package/lib/list/src/list.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_anime=require("../../ui/src/anime"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,domUtils,scrollbarUtils,menus,globalEvents,globalResize}=_ui.VxeUI,{getThumbOffsetSize,getThumbSize,getScrollFromClick,getScrollFromDrag}=scrollbarUtils,{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(F,e){let{slots:O,emit:a}=e;var t=_xeUtils.default.uniqueId();let h=_xeUtils.default.browse(),V=(0,_ui.useSize)(F).computeSize,B=(0,_vue.reactive)(createReactData()),U=createInternalData(),g=(0,_store.getCrossListDragRowInfo)(),K=(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=(0,_vue.ref)(),oe=(0,_vue.ref)(),le=(0,_vue.ref)(),w={refElem:K},$={xID:t,props:F,context:e,reactData:B,internalData:U,getRefMaps:()=>w},j=(0,_vue.computed)(()=>Object.assign({},getConfig().list.rowConfig,F.rowConfig)),q=(0,_vue.computed)(()=>Object.assign({},getConfig().list.dragConfig,F.dragConfig)),f=(0,_vue.computed)(()=>Object.assign({},getConfig().list.virtualYConfig||getConfig().list.scrollY,F.virtualYConfig||F.scrollY)),P=(0,_vue.computed)(()=>{var e=j.value.keyField;return e||""}),z=(0,_vue.computed)(()=>{var e=F.dragConfig,t=q.value;return e&&(0,_utils.isEnableConf)(t)}),p=(0,_vue.computed)(()=>{var e=j.value.height;return e}),N=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().list.radioConfig,F.radioConfig)),Y=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().list.checkboxConfig,F.checkboxConfig)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().list.menuConfig,F.menuConfig)),ie=(0,_vue.computed)(()=>{var e=p.value,t=I.value,r=T.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}),ae=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=F,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:i}=B,a={};return e?a.height=(0,_dom.toCssUnit)(Math.max(20,r-l-i)):t&&(a.height="auto",a.maxHeight=(0,_dom.toCssUnit)(Math.max(20,o-l-i))),a}),W=(0,_vue.computed)(()=>Object.assign({},getConfig().list.scrollbarConfig,F.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)}),T=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.height,e.height),getConfig().scrollbar.height)}),I=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.width,e.width),getConfig().scrollbar.width)}),se=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ne=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ue=(0,_vue.computed)(()=>{var e=W.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),ce=(0,_vue.computed)(()=>{var e=W.value,t=o.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),de=(0,_vue.computed)(()=>{var{yThumbHeight:e,xThumbWidth:t}=B,r=ve.value,o=ge.value,l=se.value,i=ne.value;return domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--"+(!1===l?"hidden":"visible"),"ov-y--"+(!1===i?"hidden":"visible"),"sx-pos--"+(r?"top":"bottom"),"sy-pos--"+(o?"left":"right")],{"overflow-y":e,"overflow-x":t})}),ve=(0,_vue.computed)(()=>"top"===r.value.position),ge=(0,_vue.computed)(()=>"left"===o.value.position),R=(e,t,r)=>{a(e,(0,_ui.createEvent)(r,{$list:$},t))},s=e=>{a("update:checkRowKeys",e)},n=e=>{a("update:checkRowKey",e)},m=e=>getRowIdByField(e,P.value),L=e=>{var t=B.parentHeight,e=F[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},E=()=>{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")},b=()=>{var e=B.scrollYLoad,{scrollYStore:t,fullData:r}=U;B.bodyHeight=e?r.length*t.rowHeight:0,B.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},S=()=>{var e=U.fullData;U.afterList=e.slice(0),_e()},_=e=>{var t=B.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=U,i=P.value;e&&S();e=t?r.slice(o.startIndex,o.endIndex):r.slice(0);return i&&e.forEach((e,t)=>{e=getRowIdByField(e,i),e=l[e];e&&(e.$index=t)}),B.rowList=e,(0,_vue.nextTick)()},H=()=>{_(),b()},M=()=>(0,_vue.nextTick)().then(()=>{var e=B.scrollYLoad,t=U.scrollYStore,r=Q.value,o=f.value;let l=0,i;(i=r?(i=o.sItem?r.querySelector(o.sItem):i)||r.children[0]:i)&&(l=i.offsetHeight),l=Math.max(12,l),t.rowHeight=l,(e?(r=A.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):h.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),H):b)()}),he=()=>{var e=A.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},we=(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)()},fe=()=>{let{lastScrollLeft:e,lastScrollTop:t}=U;return pe(),he().then(()=>{if(e||t)return U.lastScrollLeft=0,U.lastScrollTop=0,we(e,t)})},pe=()=>{tt(),rt()},C=()=>{var r,o=K.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,pe(),E(),o.clientWidth&&o.clientHeight)return M()}return(0,_vue.nextTick)()},xe=e=>{var t=U.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:i,rowHeight:a}=t,e=e.target.scrollTop,e=Math.floor(e/a),a=Math.max(0,e-1-i),i=e+l+i;!(e<=r||o-l-1<=e)||r===a&&o===i||(t.startIndex=a,t.endIndex=i,H())},Re=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==U.lastScrollLeft,l=r!==U.lastScrollTop;rt(),U.lastScrollTop=r,U.lastScrollLeft=t,B.scrollYLoad&&xe(e),R("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},me=()=>{var e=F.checkRowKey,t=U.fullKeyMaps;e?(t=t[e],B.selectRadioRow=t||null):B.selectRadioRow=null},be=()=>{var e=F.checkRowKeys,t=U.fullKeyMaps,r=P.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}U.selectCheckboxMaps=o,d()},_e=()=>{let{afterList:e,rowMaps:l}=U,i=P.value,a=0;e.forEach((e,t)=>{var r=getRowIdByField(e,i),o=l[r];o?o._index=a:(o={item:e,index:t,$index:-1,_index:a},l[r]=o),a++})},Ce=()=>{var e=U.fullData;let l=P.value,i={},a={};l&&e.forEach((e,t)=>{var r=getRowIdByField(e,l),o=getRowKeyByField(e,l);i[o]=e,a[r]={item:e,index:t,$index:-1,_index:-1}}),U.fullKeyMaps=i,U.rowMaps=a},l=e=>{var t=U.scrollYStore,r=f.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),U.fullData=e,U.insertRowMaps={},B.insertRowFlag++,U.removeRowMaps={},B.removeRowFlag++,B.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),Ce(),_(!0),me(),be(),M().then(()=>{fe()})},ye=()=>{D(),y(),C()},De=()=>{var e=K.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},ke=e=>{var t=f.value.sItem,r=K.value;if(r){e=m(e);_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-list--row[rowid="${e}"]`+(t?t+`[rowid="${e}"]`:"")),e=>{(0,_dom.addClass)(e,"row--drag-origin")})}},Te=e=>{var t=B.dragRow,r=q.value.tooltipMethod;let o="";o=r?""+(r({$list:$,row:t})||""):getI18n("vxe.list.dragTip",[e.textContent||""]),B.dragTipText=o},u=()=>{var e=le.value,t=oe.value;e&&(e.style.display=""),t&&(t.style.display="")},y=()=>{crossListDragRowObj=null,g.row=null},Ie=()=>{var e=B.dragRow;e&&(u(),De(),y(),B.dragRow=null)},Le=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:i}=q.value,a=e.currentTarget,l="row"===l?a:a.parentElement.parentElement;De(),i&&!i(t)?(l.draggable=!1,B.dragRow=null,u()):(o&&(g.row=r,crossListDragRowObj={$oldList:$,$newList:null}),a={row:r},B.dragRow=r,B.isCrossDragRow=!1,l.draggable=!0,ke(r),Te(l),R("row-dragstart",a,e))},Ee=()=>{Ie()},c=(e,t,r,o)=>{var l=K.value;if(l){var i=l.getBoundingClientRect(),a=l.clientHeight;if(t){var s=oe.value;if(s)if(r){var n=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,n.y-i.y);t+e>a&&(e=a-t),s.style.display="block",s.style.top=t+"px",s.style.height=e+"px",s.setAttribute("drag-pos",o)}else s.style.display=""}n=le.value;n&&(n.style.display="block",n.style.top=Math.min(l.clientHeight-l.scrollTop-n.clientHeight,e.clientY-i.y)+"px",n.style.left=Math.min(l.clientWidth-l.scrollLeft-n.clientWidth-1,e.clientX-i.x)+"px",n.setAttribute("drag-status",r?"normal":"disabled"))}},D=()=>{var e=K.value;u(),De(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),B.dragRow=null},Se=(l,i,a,s)=>{let n=U.fullData;var e=q.value;let{animation:v,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let g="bottom"===s?1:0,h=K.value,w={status:!1};if(h&&a&&i){if(a!==i){var f={oldRow:i,newRow:a,dragRow:i,dragPos:s,offsetIndex:g};let u=m(i),c=qe(n,u);var p,x=k(a);let d=0,t=-1,r=void(v&&(x=h.querySelector(`.vxe-list--row[rowid="${x}"]`),p=h.querySelector(`.vxe-list--row[rowid="${u}"]`),(x=x||p)&&(d=x.offsetHeight),p)&&(t=p.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=je(n,i),n.splice(r,1);var e=je(n,a);return o=e+g,n.splice(o,0,i),_(),B.scrollYLoad&&b(),l&&(e={oldRow:i,newRow:a,dragRow:i,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=U.fullData,i=qe(l,u),a=l[0],a=je(l,a),s=h;if(-1<a){var n=a+l.length;let e=-1,t=-1,r=1;c<a?(e=0,t=i-a):c>n?(n=qe(o,u),e=n+1,t=l.length,r=-1):i>c?(e=c-a,t=e+i-c):(e=i-a,t=e+c-i+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=m(e);t.push(`.vxe-list--row[rowid="${e}"]`)});n=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(n,r*d)}}a=[`.vxe-list--row[rowid="${u}"]`],i=s.querySelectorAll(a.join(",")),l=i[0];-1<t&&l&&(0,_anime.moveRowAnimateToTb)(i,t-l.offsetTop)}C()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(D(),y(),e))}D(),y()}return Promise.resolve(w)},He=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},Me=e=>{var t=B.dragRow,{prevDragRow:r,prevDragPos:o}=U,l=q.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==$.xID)return void l.handleCrossListRowDragInsertEvent(e)}Se(e,t,r,o)},Fe=e=>{var t=B.dragRow,r=U.fullData,o=q.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),i=l.getAttribute("rowid")||"",r=$e(r,i);if(r){e.preventDefault();var a=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(U.prevDragRow=r,U.prevDragPos=a,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==$.xID)return s&&s.xID!==$.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,B.dragTipText=n.dragTipText,crossListDragRowObj.$newList=$,void c(e,l,!0,a);s&&s.hideCrossListRowDropClearStatus(),B.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&m(t)===i?c(e,l,!1,a):(o={oldRow:t,targetRow:r,dragPos:a,dragRow:t,offsetIndex:"bottom"==a?1:0},c(e,l,!0,a),R("row-dragover",o,e))}},Oe=(e,t)=>{var{trigger:r,disabledMethod:o}=q.value;let l=!1;z.value&&(l="row"===r);r={row:t,$list:$};!l||o&&o(r)||Le(e,r)},Be=(e,t)=>{var{showRadio:r,showCheckbox:o}=F,l=U.currentRow,i=N.value,a=Y.value,s=j.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,Ge(e,t)):l&&(U.currentRow=null,B.currRowFlag++),r&&"row"===i.trigger&&(u=!0,Je(e,t)),o&&"row"===a.trigger&&(c=!0,Ve(e,t)),R("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},Ue=(e,t)=>{R("row-dblclick",{row:t},e)},k=e=>getRowKeyByField(e,P.value),i=(e,t)=>""+e==""+t,Ke=(e,t)=>!(!e||!t)&&(e===t||i(m(e),m(t))),Ae=(e,t)=>e&&i(k(e),t);let $e=(e,t)=>{let r=P.value;return _xeUtils.default.find(e,e=>i(getRowIdByField(e,r),t))},je=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>Ke(e,t)):-1,qe=(e,t)=>{let r=P.value;return _xeUtils.default.findIndexOf(e,e=>i(getRowIdByField(e,r),t))},Pe=e=>{var t=B.selectRadioRow;return k(t)===e};let ze=e=>{var t=B.updateCheckboxFlag,r=U.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=B.updateCheckboxFlag,t=U.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let Ne=()=>{var e=B.updateCheckboxFlag,t=U.selectCheckboxMaps;let r=P.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},Ye=()=>{U.selectCheckboxMaps={},B.updateCheckboxFlag++,B.isAllChecked=!1,B.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},We=e=>{var{fullData:t,selectCheckboxMaps:r}=U,o=P.value;if(e){var l,i=[];for(l of t){var a=getRowKeyByField(l,o);r[getRowIdByField(l,o)]=l,i.push(a)}return s(i),d()}return Ye()},d=()=>{var{selectCheckboxMaps:e,fullData:t}=U,r=P.value,o=Y.value.checkMethod;let l=!1,i=!1;if(o){for(var a of t)if(o({row:a,$list:$}))if(e[getRowIdByField(a,r)])l=!0;else if(i=!0,l)break}else for(var s of t)if(e[getRowIdByField(s,r)])l=!0;else if(i=!0,l)break;return B.isAllChecked=l&&!i,B.isAllIndeterminate=l&&i,B.updateCheckboxFlag++,(0,_vue.nextTick)()},Xe=e=>{var t=B.isAllChecked,t=!t;t?We(!0):Ye(),R("checkbox-all",{checked:t},e)},Ve=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=U.selectCheckboxMaps,l=Y.value.checkMethod,i=m(r),l=!!l&&!l({$list:$,row:r});if(!l){let e=!1;o[i]?delete o[i]:(e=!0,o[i]=r),B.updateCheckboxFlag++,d();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),R("checkbox-change",{row:r,value:l,checked:e},t)}},Ge=(e,t)=>{e.preventDefault();var r=j.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(U.currentRow=t,B.currRowFlag++,R("current-change",{row:t,checked:!0},e))},Je=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=B.selectRadioRow,{strict:l,checkMethod:i}=N.value,a=k(r),i=!!i&&!i({$list:$,row:r});if(!i){i=a;let e=!0;l&&o&&a===k(o)?(e=!1,B.selectRadioRow=null):B.selectRadioRow=r,n(i),R("radio-change",{row:r,value:i,checked:e},t)}},Qe=(e,t)=>{let{fullData:o,rowMaps:l}=U,i=P.value,a=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,i),r=(0,_util.getItemCacheObj)(e);o[a](e),l[t]=r})},Ze=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:i,insertRowMaps:a}=U,s=P.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))Qe(u,!1);else if(-1===n)Qe(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"),Qe(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);i[t]?(delete i[t],a[t]&&delete a[t]):a[t]=e}),B.removeRowFlag++,B.insertRowFlag++,Ce(),_(!0),_e(),d(),B.scrollYLoad&&b(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},et=(o,l)=>{var e=F.menuConfig,t=x.value,r=j.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:$,options:e,row:l})||(r?Ge(o,l):U.currentRow&&(U.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:$};r&&r(t,o),R("menu-click",t,e.$event)}}}))),R("row-menu",{row:l},o)};e={dispatchEvent:R,loadData:l,reloadData(e){return he(),l(e)},getFullData(){var e=U.fullData;return e},recalculate:C,scrollTo:we,refreshScroll:fe,clearScroll:he,getRowKey:k,eqRowKey:i,eqRow:Ke,eqRowByKey:Ae,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>Ke(e,t)):null,findRowByKey:$e,findRowIndexOf:je,findRowIndexOfByKey:qe,isCheckedByRadioRowKey:Pe,isCheckedByRadioRow:e=>Pe(k(e)),isCheckedByCheckboxRowKey:ze,isCheckedByCheckboxRow:e=>ze(k(e)),setCurrentRow:e=>(U.currentRow=e,B.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=U.fullData;return U.currentRow=$e(t,e),B.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=U.currentRow;return e},getCurrentRowKey:()=>{var e=U.currentRow;return e?k(e):null},clearCurrentRow:()=>(U.currentRow=null,B.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{B.selectRadioRow=e;e=k(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=U.fullData,t=(B.selectRadioRow=$e(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=B.selectRadioRow;return e},getRadioRowKey:()=>{var e=B.selectRadioRow;return e?k(e):null},clearRadioRow:()=>(B.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=U.selectCheckboxMaps,o=P.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=Ne();return s(e),d()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=U,l=P.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=Ne();return s(e),d()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:Ne,clearCheckboxRow:Ye,setAllCheckboxRow:We,insert(e){return Ze(e,null)},insertAt(e,t){return Ze(e,t)},insertNextAt(e,t){return Ze(e,t,!0)},getInsertRecords(){var e=U.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=m(e);return!!B.insertRowFlag&&!!U.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=U;if(!P.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;$.isInsertByRow(e)||(t=m(e),o[t]=e)}),r===e?(e=l=r.slice(0),U.fullData=[]):e.forEach(e=>{let t=m(e);var e=_xeUtils.default.findIndexOf(r,e=>t===m(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=m(e);t[e]&&delete t[e]}),B.removeRowFlag++,B.insertRowFlag++,Ce(),_(!0),_e(),d(),B.scrollYLoad&&b(),(0,_vue.nextTick)().then(()=>C()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=U.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=m(e);return!!B.removeRowFlag&&!!U.removeRowMaps[e]},getRecordset(){return{insertRecords:$.getInsertRecords(),removeRecords:$.getRemoveRecords()}}};let tt=()=>{var e,t,r=A.value;r&&r.clientHeight&&(t=(t=Z.value)?getThumbSize(r.clientWidth,r.scrollWidth,t.clientWidth):0,(e=te.value)&&(e.style.width=t+"px"),B.xThumbWidth=t,t=(e=ee.value)?getThumbSize(r.clientHeight,r.scrollHeight,e.clientHeight):0,(r=re.value)&&(r.style.height=t+"px"),B.yThumbHeight=t)},rt=()=>{var e,t,r,o,l=A.value;l&&l.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=B,o=Z.value,r=te.value,o=o&&t?getThumbOffsetSize(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t):0,U.xThumbLeft=o,r&&t&&(r.style.width=t+"px",r.style.transform=`translateX(${o}px)`),t=ee.value,r=re.value,o=t&&e?getThumbOffsetSize(l.scrollTop,l.clientHeight,l.scrollHeight,t.clientHeight,e):0,U.yThumbTop=o,r)&&e&&(r.style.height=e+"px",r.style.transform=`translateY(${o}px)`)},ot=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=A.value)&&(r=B.xThumbWidth,o=l.getBoundingClientRect(),t.scrollTo({left:getScrollFromClick(e.clientX-o.left,t.clientWidth,t.scrollWidth,l.clientWidth,r),behavior:"auto"}))},lt=e=>{var t,r,o,l=e.currentTarget;l===e.target&&(t=A.value)&&(r=B.yThumbHeight,o=l.getBoundingClientRect(),t.scrollTo({top:getScrollFromClick(e.clientY-o.top,t.clientHeight,t.scrollHeight,l.clientHeight,r),behavior:"auto"}))},it=e=>{var t,r,o=e.currentTarget,l=(U.isThumbDrag=!0,o.setPointerCapture(e.pointerId),A.value);l&&(t=B.xThumbWidth,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientX-r.left,r=getThumbOffsetSize(l.scrollLeft,l.clientWidth,l.scrollWidth,o.clientWidth,t),U.thumbDragOffset=e-r)},at=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=U;if(r){r=A.value;if(r){var l=B.xThumbWidth;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollLeft=getScrollFromDrag(t.clientX-a.left,o,r.clientWidth,r.scrollWidth,i.clientWidth,l)}}}},X=e=>{e.currentTarget.releasePointerCapture(e.pointerId),U.isThumbDrag=!1},st=e=>{var t,r,o=e.currentTarget,l=(U.isThumbDrag=!0,o.setPointerCapture(e.pointerId),A.value);l&&(t=B.yThumbHeight,r=(o=o.parentElement).getBoundingClientRect(),e=e.clientY-r.top,r=getThumbOffsetSize(l.scrollTop,l.clientHeight,l.scrollHeight,o.clientHeight,t),U.thumbDragOffset=e-r)},nt=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:o}=U;if(r){r=A.value;if(r){var l=B.yThumbHeight;let e=t.currentTarget;var i=e.parentElement,a=i.getBoundingClientRect();r.scrollTop=getScrollFromDrag(t.clientY-a.top,o,r.clientHeight,r.scrollHeight,i.clientHeight,l)}}}},ut=(Object.assign($,e,{handleCrossListRowDragCancelEvent(){D(),y()},handleCrossListRowDragFinishEvent(t){var l=B.rowList,i=U.rowMaps;let{animation:a,isCrossListDrag:e}=q.value,s=K.value;if(s&&e&&crossListDragRowObj&&g){var n=g.row;if(n){var u=m(n),i=i[u];let r=0,e=-1,o=(i&&(a&&(u=s.querySelector(`.vxe-list--row[rowid="${u}"]`))&&(r=u.offsetHeight),e=i.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);u=[n];$.remove(u).then(()=>{if(a&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=m(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),ye()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=B.rowList,o=q.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==$.xID&&(r&&r.xID!==$.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=$,U.prevDragRow=null,B.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=U;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=q.value;if(e&&crossListDragRowObj&&g){let l=g.row,a=crossListDragRowObj.$oldList,s=K.value;if(s&&(a&&l)){let i=l,r=-1;u&&(r="bottom"===c?1:0);var v={oldRow:i,newRow:u,dragRow:i,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(v)).then(e=>{if(!e)return a&&a.xID!==$.xID&&a.handleCrossListRowDragCancelEvent(n),ye(),o;let t=Promise.resolve();e=[i];a.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?$.insertNextAt(e,u):$.insertAt(e,u):$.insert(e),$.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:i,dragPos:c,offsetIndex:r},n),D(),t.then(()=>{var e=B.rowList,r=U.rowMaps,o=m(i),r=r[o];let l=0,t=-1;r&&(d&&(o=s.querySelector(`.vxe-list--row[rowid="${o}"]`))&&(l=o.offsetHeight),t=r.$index);o=-1<t?e.slice(t):[];if(d&&l&&o.length){r=s;let t=[];o.forEach(e=>{e=m(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=F.showRadio,{showIcon:i,visibleMethod:a}=N.value,a=!a||a({$list:$,row:t});return l&&i&&a?(0,_vue.h)("div",{key:"ct2",class:["vxe-list--radio-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Je(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)($)}),ct=(t,e,r,o)=>{var l=F.showCheckbox,{showIcon:i,visibleMethod:a}=Y.value,a=!a||a({$list:$,row:t});return l&&i&&a?(0,_vue.h)("div",{key:"ct3",class:["vxe-list--checkbox-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Ve(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)($)};let dt=(0,_vue.ref)(0),v=((0,_vue.watch)(()=>F.data?F.data.length:-1,()=>{dt.value++}),(0,_vue.watch)(()=>F.data,()=>{dt.value++}),(0,_vue.watch)(dt,()=>{l(F.data||[])}),(0,_vue.ref)(0)),vt=((0,_vue.watch)(()=>F.height,()=>{v.value++}),(0,_vue.watch)(()=>F.maxHeight,()=>{v.value++}),(0,_vue.watch)(()=>F.syncResize,()=>{v.value++}),(0,_vue.watch)(()=>F.useScrollbar,()=>{v.value++}),(0,_vue.watch)(p,()=>{v.value++}),(0,_vue.watch)(I,()=>{v.value++}),(0,_vue.watch)(T,()=>{v.value++}),(0,_vue.watch)(se,()=>{(0,_vue.nextTick)(()=>{v.value++})}),(0,_vue.watch)(ne,()=>{(0,_vue.nextTick)(()=>{v.value++})}),(0,_vue.watch)(v,()=>{C().then(()=>{C()})}),(0,_vue.watch)(()=>F.checkRowKey,()=>{me()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>F.checkRowKeys?F.checkRowKeys.length:-1,()=>{vt.value++}),(0,_vue.watch)(()=>F.checkRowKeys,()=>{vt.value++}),(0,_vue.watch)(vt,()=>{be()}),(0,_vue.onActivated)(()=>{C().then(()=>{fe()})}),(0,_vue.nextTick)(()=>{l(F.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r,autoResize:o,useScrollbar:l}=F,i=j.value.useKey,a=z.value,s=P.value,e=(s||(e&&errLog("vxe.error.reqSupportProp",["show-seq","row-config.keyField"]),t&&errLog("vxe.error.reqSupportProp",["show-radio","row-config.keyField"]),r&&errLog("vxe.error.reqSupportProp",["show-checkbox","row-config.keyField"]),a&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),i&&!s&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),K.value);l&&(t=Q.value,r=globalResize.create(()=>{v.value++}),e&&r.observe(e),t&&r.observe(t),U.scrollObserver=r),o&&(i=(a=K.value)?a.parentElement:null,s=globalResize.create(()=>{F.autoResize&&v.value++}),e&&s.observe(e),i&&s.observe(i),U.resizeObserver=s),v.value++,globalEvents.on($,"resize",()=>{v.value++})}),(0,_vue.onBeforeUnmount)(()=>{var{scrollObserver:e,resizeObserver:t}=U;t&&t.disconnect(),e&&e.disconnect(),globalEvents.off($,"resize"),_xeUtils.default.assign(B,createReactData()),_xeUtils.default.assign(U,createInternalData())}),$.renderVN=()=>{var{showCheckbox:e,className:t,loading:r,useScrollbar:o}=F,{bodyHeight:l,topSpaceHeight:i,rowList:a,isAllChecked:s,isAllIndeterminate:n,xThumbWidth:u,yThumbHeight:c}=B,d=O.default,v=O.header,g=O.footer,h=V.value,w=ie.value,f=ae.value,p=N.value,x=Y.value,{showHeader:R,headerTitle:m}=x,{trigger:b,isCrossListDrag:_}=q.value,{isHover:C,padding:y}=j.value,D=z.value,k=W.value,T=se.value,I=ne.value,L=ve.value,E=ge.value,S=ue.value,H=ce.value,M=de.value,e=e&&!1!==R,R={};return _&&!a.length&&(R.onDragover=$.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:K,class:["vxe-list",o?"ov-x--"+(!1===T?"hidden":"visible"):"",o?"ov-y--"+(!1===I?"hidden":"visible"):"",o?"sx-pos--"+(L?"top":"bottom"):"",o?"sy-pos--"+(E?"left":"right"):"",t?_xeUtils.default.isFunction(t)?t({$list:$}):t:"",{["size--"+h]:h,"is--virtual-scrollbar":o,"ov-padding":o&&k.padding,"ov-x--auto-hide":o&&S,"ov-y--auto-hide":o&&H,"overflow-y":c,"overflow-x":u,"is--drag":D,"is--loading":r}],style:w},R),[v||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":s,"is--indeterminate":n}],onClick:Xe},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().CHECKBOX_CHECKED:n?getIcon().CHECKBOX_INDETERMINATE:getIcon().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(m)?getI18n("vxe.list.allChecked"):(0,_utils.getText)(m))])]):(0,_ui.renderEmptyElement)($),v?(0,_vue.h)("div",{class:"vxe-list--header-content"},v({items:a,$list:$})):(0,_ui.renderEmptyElement)($)]):(0,_ui.renderEmptyElement)($),(0,_vue.h)("div",{ref:A,class:"vxe-list--virtual-wrapper",style:f,onScroll:Re},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:l?l+"px":""}}),(0,_vue.h)("div",{ref:Q,class:["vxe-list--body",{"trigger--row":"row"===b,"checkbox--highlight":x.highlight,"radio--highlight":p.highlight,"row--hover":C,"is--padding":y}],style:{marginTop:i?i+"px":""}},d?d({items:a,$list:$}):a.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=F,{selectRadioRow:l,currRowFlag:i,updateCheckboxFlag:a}=B,{selectCheckboxMaps:s,currentRow:n}=U,u=O.content,c=O.extra,{trigger:d,icon:v,disabledMethod:g,visibleMethod:h}=q.value,w=N.value,f=Y.value,{useKey:p,contentField:x,className:R,isCurrent:m}=j.value,b=z.value,_=P.value,C=R&&_xeUtils.default.isFunction(R),p=_||p||b||m||r||o,m=p&&_?getRowIdByField(t,_):"",y=(0,_utils.enModelValue)(m);let D={row:t,$list:$},k=!1,T=!1,I=(r&&(k=l&&(t===l||Ae(l,m)),T=!!w.checkMethod&&!w.checkMethod({$list:$,row:t})),!1),L=!1;o&&(I=!(!a||!s[y]),L=!!f.checkMethod&&!f.checkMethod({$list:$,row:t}));l=[];r&&l.push(ut(t,y,T,k)),o&&l.push(ct(t,y,L,I));let E=!1;b&&_&&(!h||h(D))&&(w={},"row"!==d&&(E=!(!g||!g(D)),w.onMousedown=e=>{E||Le(e,D)},w.onMouseup=Ee),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(D):x?(0,_utils.getText)(t[x]):"")),c&&l.push((0,_vue.h)("div",{key:"ct7",class:"vxe-list--row-extra"},c(D)));a={onMousedown(e){Oe(e,t)},onMouseup:Ee,onClick(e){Be(e,t)},onDblclick(e){Ue(e,t)},onContextmenu(e){et(e,t)}};return b&&(a.onDragstart=He,a.onDragend=Me,a.onDragover=Fe),(0,_vue.h)("div",Object.assign({key:p&&_?y:e,class:["vxe-list--row",C?R(D):R||"",{"is--drag-disabled":E,"is--current":i&&n&&Ae(n,m),"is-radio--disabled":T,"is-radio--checked":k,"is-checkbox--disabled":L,"is-checkbox--checked":I}],rowid:p&&_?y:void 0},a),l)})(e,t)))]),g?(0,_vue.h)("div",{ref:J,class:"vxe-list--footer-wrapper"},g({items:a,$list:$})):(0,_ui.renderEmptyElement)($),o?(0,_vue.h)("div",{class:M},[!1===T?(0,_ui.renderEmptyElement)($):(0,_vue.h)("div",{ref:Z,class:"vxe-scrollbar--track-x",onClick:ot},[(0,_vue.h)("div",{ref:te,class:"vxe-scrollbar--thumb-x",onPointerdown:it,onPointermove:at,onPointerup:X,onPointercancel:X,onLostpointercapture:X})]),!1===I?(0,_ui.renderEmptyElement)($):(0,_vue.h)("div",{ref:ee,class:"vxe-scrollbar--track-y",onClick:lt},[(0,_vue.h)("div",{ref:re,class:"vxe-scrollbar--thumb-y",onPointerdown:st,onPointermove:nt,onPointerup:X,onPointercancel:X,onLostpointercapture:X})])]):(0,_ui.renderEmptyElement)($),(()=>{var{dragRow:e,dragTipText:t}=B,r=q.value;return z.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:oe,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:le,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)($)]):(0,_ui.renderEmptyElement)($)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},$},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=_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;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()}});
|
package/lib/menu/src/menu.js
CHANGED
|
@@ -20,6 +20,7 @@ const {
|
|
|
20
20
|
} = (0, _log.createComponentLog)('menu');
|
|
21
21
|
const {
|
|
22
22
|
menus,
|
|
23
|
+
useFns,
|
|
23
24
|
getConfig,
|
|
24
25
|
getIcon
|
|
25
26
|
} = _ui.VxeUI;
|
|
@@ -101,7 +102,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
101
102
|
const refCollapseBodyScrollbar = (0, _vue.ref)();
|
|
102
103
|
const {
|
|
103
104
|
computeSize
|
|
104
|
-
} =
|
|
105
|
+
} = useFns.useSize(props);
|
|
106
|
+
const {
|
|
107
|
+
computeIsVScrollbar
|
|
108
|
+
} = useFns.useVScrollbar(props);
|
|
105
109
|
const reactData = (0, _vue.reactive)(createReactData());
|
|
106
110
|
const internalData = createInternalData();
|
|
107
111
|
const refMaps = {
|
|
@@ -724,8 +728,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
724
728
|
const {
|
|
725
729
|
loading,
|
|
726
730
|
collapseFixed,
|
|
727
|
-
appendTo
|
|
728
|
-
useScrollbar
|
|
731
|
+
appendTo
|
|
729
732
|
} = props;
|
|
730
733
|
const {
|
|
731
734
|
initialized,
|
|
@@ -734,6 +737,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
734
737
|
isEnterCollapse
|
|
735
738
|
} = reactData;
|
|
736
739
|
const vSize = computeSize.value;
|
|
740
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
737
741
|
const isCollapsed = computeIsCollapsed.value;
|
|
738
742
|
const currBorder = computeCurrBorder.value;
|
|
739
743
|
const varStyle = computeVarStyle.value;
|
|
@@ -782,7 +786,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
782
786
|
style: Object.assign({}, varStyle, collapseStyle)
|
|
783
787
|
}, ons), isCollapsed ? [headerSlot ? (0, _vue.h)('div', {
|
|
784
788
|
class: 'vxe-menu--header'
|
|
785
|
-
}, headerSlot(stParams)) : (0, _ui.renderEmptyElement)($xeMenu),
|
|
789
|
+
}, headerSlot(stParams)) : (0, _ui.renderEmptyElement)($xeMenu), isVScrollbar && isEnterCollapse ? (0, _vue.h)(_scrollbar.default, Object.assign(Object.assign({
|
|
786
790
|
ref: refCollapseBodyScrollbar,
|
|
787
791
|
class: 'vxe-menu--scrollbar-body'
|
|
788
792
|
}, scrollbarOpts), {
|
package/lib/menu/src/menu.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("menu").errLog,{menus,getConfig,getIcon}=_ui.VxeUI;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}let nemuUniqueKey=1e8;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,expandKeys:Array,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},border:{type:[Boolean,String],default:()=>getConfig().menu.border},optionProps:{type:Object,default:()=>getConfig().menu.optionProps},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig().menu.size||getConfig().size},menuConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().menu.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object,appendTo:{type:[String,Function],default:()=>getConfig().menu.appendTo}},emits:["update:modelValue","click","option-menu","menu-click"],setup(C,e){let{emit:n,slots:f}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),h=(0,_vue.ref)(),y=(0,_vue.ref)(),E=(0,_vue.ref)(),b=(0,_vue.ref)(),k=(0,_ui.useSize)(C).computeSize,M=(0,_vue.reactive)(createReactData()),T=createInternalData(),l={refElem:h},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,C.menuConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.optionProps,C.optionProps)),r=(0,_vue.computed)(()=>u.value.title||"title"),o=(0,_vue.computed)(()=>u.value.name||"name"),s=(0,_vue.computed)(()=>u.value.children||"children"),I=(0,_vue.computed)(()=>u.value.linkUrl||"linkUrl"),A=(0,_vue.computed)(()=>u.value.routerLink||"routerLink"),U=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.scrollbarConfig,C.scrollbarConfig)),w=(0,_vue.computed)(()=>{var e=C.border;return e?!0===e?"first-group":e:""}),L=(0,_vue.computed)(()=>{var e=C.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),V=(0,_vue.computed)(()=>{var e;return i?(e=i.getComputeMaps().computeVarStyle,e.value):{}}),D={computeSize:k},O={xID:t,props:C,context:e,reactData:M,internalData:T,getRefMaps:()=>l,getComputeMaps:()=>D},K=e=>""+(e.title||e.name),c=u=>{let r=M.activeName,o=T.menuInitMaps;_xeUtils.default.eachTree(M.menuList,(e,t,i,n,l,a)=>{e.itemKey===r?(a.forEach(e=>{e.isActive=!0,u&&(e.isExpand=!0,o[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},v=()=>{let{options:e,expandAll:c,expandKeys:t}=C,v={},m=r.value,d=o.value,p=s.value,_=I.value,g=A.value,x={},f=(t&&t.forEach(e=>{x[e]=!0}),{}),h={};M.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>{var a=++nemuUniqueKey,u=e[d]||n.join(","),r=e[p],o=r&&0<r.length,s=!!o&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:x[u]||!!c),r=(s&&(v[a]=!0),{itemConf:e,title:e[m],name:e[d],icon:e.icon,linkUrl:e[_],linkTarget:e.linkTarget,routerLink:e[g],permissionCode:e.permissionCode,children:r,slots:e.slots,parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:a,itemKey:u,isExactActive:!1,isActive:!1,isExpand:s,hasChild:o,childList:[]});return h[u]&&errLog("vxe.error.repeatKey",[d,e[d]]),f[a]=r,h[u]=r},{children:"children",mapChildren:"childList"}),T.menuInitMaps=v,T.menuCacheMaps=f,T.menuKeyMaps=h},m=()=>{var e=C.collapseFixed;e&&(0,_vue.nextTick)(()=>{var t=L.value,i=h.value;if(i){let e=i.getBoundingClientRect();i=i.parentElement;i&&(e.top<0&&(e=i.getBoundingClientRect()),M.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(i.clientHeight),zIndex:M.collapseZindex}:{})}})},z=()=>{var e=C.collapseFixed;e&&(e=M.initialized,L.value&&!e&&(M.initialized=!0),M.isEnterCollapse=!1,M.collapseZindex<(0,_utils.getLastZIndex)()&&(M.collapseZindex=(0,_utils.nextZIndex)()),m())},d=(t,i,e)=>{var n=C.accordion;let{menuEffectMaps:l,menuInitMaps:a}=T,{itemId:u,hasChild:r,isExpand:o}=i;var s=L.value,c=!o;if(r){t.stopPropagation(),t.preventDefault(),l[u]&&clearTimeout(l[u]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=c,a[u]=!0;t=(s?y:h).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${u}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(c?(e.style.height="0",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height=e.scrollHeight+"px"})):(e.style.height=e.scrollHeight+"px",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height="0"})),l[u]=setTimeout(()=>{delete l[u],e.removeAttribute("data-effect"),e.style.height=""},350))}}},B=e=>{M.activeName=e,n("update:modelValue",e)},q=(n,l)=>{var e=C.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:O,options:e,currentMenu:l,currentOption:l.itemConf})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.menuMenuMethod:null,t={menu:t,currentMenu:l,currentOption:l.itemConf,$event:n,$menu:O};i&&i(t,n),_("menu-click",t,e.$event)}}})),_("option-menu",{currentMenu:l},n)},S=(e,t,i)=>{var{itemKey:n,linkUrl:l,routerLink:a,hasChild:u}=t,l=(!l&&!a&&u?d(e,t,i):(B(n),M.isEnterCollapse=!1,T.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});_("click",l,e)},P=()=>{var e=T.lastActiveTime;e<Date.now()-500&&(M.isEnterCollapse=!0)},R=()=>{var e=b.value,t=E.value;t&&(t.scrollTop=0),e&&e.clearScroll(),M.isEnterCollapse=!1},p=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=f[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],_=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:O},t))},g=e=>{var t=h.value,t=t?t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${e}"]`):null;return!!t&&((0,_dom.scrollToView)(t),!0)};t={dispatchEvent:_,setExpandByMenuKey(e,t){let{menuKeyMaps:i,menuInitMaps:n}=T;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=i[e];e&&(t&&(n[e.itemId]=!0),e.isExpand=!!t)}),(0,_vue.nextTick)()},clearAllExpandMenu(){var e=M.menuList;return _xeUtils.default.eachTree(e,e=>{e.isExpand=!1},{children:"childList"}),T.menuInitMaps={},(0,_vue.nextTick)()},scrollToMenuKey(e){var t=T.menuKeyMaps,t=t[e];if(!t)return(0,_vue.nextTick)();let i=t.itemId;return g(i)?(0,_vue.nextTick)():(0,_vue.nextTick)().then(()=>{g(i)})},scrollToActiveMenu(){var e=M.activeName;return e?O.scrollToMenuKey(e):(0,_vue.nextTick)().then(()=>{var e=M.activeName;if(e)return O.scrollToMenuKey(e)})}};Object.assign(O,t,{});let j=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},u=a.default||f.option,r=a.title||f.optionTitle||f["option-title"],a=a.icon||f.optionIcon||f["option-icon"],o=K(t),s=L.value,s={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:s};return[u?(0,_ui.renderEmptyElement)(O):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?p(a,s):e?[(0,_vue.h)("i",{class:e})]:[]),u?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},p(u,s)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:o},r?p(r,s):o),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){d(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(O)]},N=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,isExpand:o,linkUrl:s,routerLink:c,linkTarget:v,childList:m}=t;var d,p=M.isEnterCollapse,_=T.menuInitMaps,g=L.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(d={onContextmenu(e){q(e,t)},onClick(e){S(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u,"is--expand":g=(!g||p)&&o}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:v},d),j(t,i)):c?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:c,target:v},d),{default:()=>j(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},d),j(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},g||_[e]?m.map(e=>N(e,m)):[]):(0,_ui.renderEmptyElement)(O)]))};let x=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.options?C.options.length:-1,()=>{x.value++}),(0,_vue.watch)(()=>C.options,()=>{x.value++}),(0,_vue.watch)(x,()=>{v(),c(!0),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.watch)(()=>C.modelValue,e=>{M.activeName=e}),(0,_vue.watch)(()=>M.activeName,()=>{c(!0)}),(0,_vue.watch)(L,()=>{z()}),(0,_vue.onMounted)(()=>{var e=C.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(O,"resize",m),m(),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(O,"resize"),_xeUtils.default.assign(M,createReactData()),_xeUtils.default.assign(T,createInternalData())}),M.initialized=!!C.collapsed,M.activeName=C.modelValue,v(),c(!0),O.renderVN=()=>{var{loading:e,collapseFixed:t,appendTo:i,useScrollbar:n}=C;let{initialized:l,menuList:a,collapseStyle:u,isEnterCollapse:r}=M;var o=k.value;let s=L.value;var c=w.value,v=V.value,m=U.value,{viewClassName:d,viewInnerClassName:p}=m,_=f.header,g=f.footer;let x={};t&&(x={onMouseenter:P,onMouseleave:R});t={collapsed:s};return(0,_vue.h)("div",{ref:h,class:["vxe-menu",{["border--"+c]:c,["size--"+o]:o,"is--collapsed":s,"is--loading":e}]},[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-menu--body"},a.map(e=>(s?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,routerLink:o,linkUrl:s,linkTarget:c,childList:v}=t;var m;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(m={onContextmenu(e){q(e,t)},onClick(e){S(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:c},m),j(t,i)):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:o,target:c},m),{default:()=>j(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},m),j(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},v.map(e=>N(e,v))):(0,_ui.renderEmptyElement)(O)]))}:N)(e,a))),g?(0,_vue.h)("div",{class:"vxe-menu--footer"},g(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(i),disabled:!l},[(0,_vue.h)("div",Object.assign({ref:y,class:["vxe-menu--collapse-wrapper",{["size--"+o]:o,"is--collapsed":s,"is--enter":r,"is--loading":e}],style:Object.assign({},v,u)},x),s?[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),n&&r?(0,_vue.h)(_scrollbar.default,Object.assign(Object.assign({ref:b,class:"vxe-menu--scrollbar-body"},m),{viewClassName:"vxe-menu--scrollbar-body-view"+(d?" "+d:""),viewInnerClassName:"vxe-menu--scrollbar-body-inner"+(d?" "+p:"")}),{default:()=>a.map(e=>N(e,a))}):(0,_vue.h)("div",{ref:E,class:"vxe-menu--body"},a.map(e=>N(e,a))),g?(0,_vue.h)("div",{class:"vxe-menu--footer"},g(t)):(0,_ui.renderEmptyElement)(O)]:[])]),(0,_vue.h)(_loading.default,{class:"vxe-menu-view--loading",modelValue:e})])},O},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"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("menu").errLog,{menus,useFns,getConfig,getIcon}=_ui.VxeUI;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}let nemuUniqueKey=1e8;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,expandKeys:Array,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},border:{type:[Boolean,String],default:()=>getConfig().menu.border},optionProps:{type:Object,default:()=>getConfig().menu.optionProps},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig().menu.size||getConfig().size},menuConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().menu.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object,appendTo:{type:[String,Function],default:()=>getConfig().menu.appendTo}},emits:["update:modelValue","click","option-menu","menu-click"],setup(C,e){let{emit:n,slots:f}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),h=(0,_vue.ref)(),y=(0,_vue.ref)(),E=(0,_vue.ref)(),b=(0,_vue.ref)(),k=useFns.useSize(C).computeSize,M=useFns.useVScrollbar(C).computeIsVScrollbar,T=(0,_vue.reactive)(createReactData()),I=createInternalData(),l={refElem:h},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,C.menuConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.optionProps,C.optionProps)),r=(0,_vue.computed)(()=>u.value.title||"title"),o=(0,_vue.computed)(()=>u.value.name||"name"),s=(0,_vue.computed)(()=>u.value.children||"children"),A=(0,_vue.computed)(()=>u.value.linkUrl||"linkUrl"),U=(0,_vue.computed)(()=>u.value.routerLink||"routerLink"),N=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.scrollbarConfig,C.scrollbarConfig)),w=(0,_vue.computed)(()=>{var e=C.border;return e?!0===e?"first-group":e:""}),L=(0,_vue.computed)(()=>{var e=C.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),D=(0,_vue.computed)(()=>{var e;return i?(e=i.getComputeMaps().computeVarStyle,e.value):{}}),K={computeSize:k},O={xID:t,props:C,context:e,reactData:T,internalData:I,getRefMaps:()=>l,getComputeMaps:()=>K},z=e=>""+(e.title||e.name),c=u=>{let r=T.activeName,o=I.menuInitMaps;_xeUtils.default.eachTree(T.menuList,(e,t,i,n,l,a)=>{e.itemKey===r?(a.forEach(e=>{e.isActive=!0,u&&(e.isExpand=!0,o[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},v=()=>{let{options:e,expandAll:c,expandKeys:t}=C,v={},m=r.value,d=o.value,p=s.value,_=A.value,g=U.value,x={},f=(t&&t.forEach(e=>{x[e]=!0}),{}),h={};T.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>{var a=++nemuUniqueKey,u=e[d]||n.join(","),r=e[p],o=r&&0<r.length,s=!!o&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:x[u]||!!c),r=(s&&(v[a]=!0),{itemConf:e,title:e[m],name:e[d],icon:e.icon,linkUrl:e[_],linkTarget:e.linkTarget,routerLink:e[g],permissionCode:e.permissionCode,children:r,slots:e.slots,parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:a,itemKey:u,isExactActive:!1,isActive:!1,isExpand:s,hasChild:o,childList:[]});return h[u]&&errLog("vxe.error.repeatKey",[d,e[d]]),f[a]=r,h[u]=r},{children:"children",mapChildren:"childList"}),I.menuInitMaps=v,I.menuCacheMaps=f,I.menuKeyMaps=h},m=()=>{var e=C.collapseFixed;e&&(0,_vue.nextTick)(()=>{var t=L.value,i=h.value;if(i){let e=i.getBoundingClientRect();i=i.parentElement;i&&(e.top<0&&(e=i.getBoundingClientRect()),T.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(i.clientHeight),zIndex:T.collapseZindex}:{})}})},B=()=>{var e=C.collapseFixed;e&&(e=T.initialized,L.value&&!e&&(T.initialized=!0),T.isEnterCollapse=!1,T.collapseZindex<(0,_utils.getLastZIndex)()&&(T.collapseZindex=(0,_utils.nextZIndex)()),m())},d=(t,i,e)=>{var n=C.accordion;let{menuEffectMaps:l,menuInitMaps:a}=I,{itemId:u,hasChild:r,isExpand:o}=i;var s=L.value,c=!o;if(r){t.stopPropagation(),t.preventDefault(),l[u]&&clearTimeout(l[u]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=c,a[u]=!0;t=(s?y:h).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${u}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(c?(e.style.height="0",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height=e.scrollHeight+"px"})):(e.style.height=e.scrollHeight+"px",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height="0"})),l[u]=setTimeout(()=>{delete l[u],e.removeAttribute("data-effect"),e.style.height=""},350))}}},F=e=>{T.activeName=e,n("update:modelValue",e)},q=(n,l)=>{var e=C.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:O,options:e,currentMenu:l,currentOption:l.itemConf})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.menuMenuMethod:null,t={menu:t,currentMenu:l,currentOption:l.itemConf,$event:n,$menu:O};i&&i(t,n),_("menu-click",t,e.$event)}}})),_("option-menu",{currentMenu:l},n)},S=(e,t,i)=>{var{itemKey:n,linkUrl:l,routerLink:a,hasChild:u}=t,l=(!l&&!a&&u?d(e,t,i):(F(n),T.isEnterCollapse=!1,I.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});_("click",l,e)},P=()=>{var e=I.lastActiveTime;e<Date.now()-500&&(T.isEnterCollapse=!0)},R=()=>{var e=b.value,t=E.value;t&&(t.scrollTop=0),e&&e.clearScroll(),T.isEnterCollapse=!1},p=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=f[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],_=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:O},t))},g=e=>{var t=h.value,t=t?t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${e}"]`):null;return!!t&&((0,_dom.scrollToView)(t),!0)};t={dispatchEvent:_,setExpandByMenuKey(e,t){let{menuKeyMaps:i,menuInitMaps:n}=I;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=i[e];e&&(t&&(n[e.itemId]=!0),e.isExpand=!!t)}),(0,_vue.nextTick)()},clearAllExpandMenu(){var e=T.menuList;return _xeUtils.default.eachTree(e,e=>{e.isExpand=!1},{children:"childList"}),I.menuInitMaps={},(0,_vue.nextTick)()},scrollToMenuKey(e){var t=I.menuKeyMaps,t=t[e];if(!t)return(0,_vue.nextTick)();let i=t.itemId;return g(i)?(0,_vue.nextTick)():(0,_vue.nextTick)().then(()=>{g(i)})},scrollToActiveMenu(){var e=T.activeName;return e?O.scrollToMenuKey(e):(0,_vue.nextTick)().then(()=>{var e=T.activeName;if(e)return O.scrollToMenuKey(e)})}};Object.assign(O,t,{});let V=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},u=a.default||f.option,r=a.title||f.optionTitle||f["option-title"],a=a.icon||f.optionIcon||f["option-icon"],o=z(t),s=L.value,s={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:s};return[u?(0,_ui.renderEmptyElement)(O):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?p(a,s):e?[(0,_vue.h)("i",{class:e})]:[]),u?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},p(u,s)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:o},r?p(r,s):o),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){d(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(O)]},j=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,isExpand:o,linkUrl:s,routerLink:c,linkTarget:v,childList:m}=t;var d,p=T.isEnterCollapse,_=I.menuInitMaps,g=L.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(d={onContextmenu(e){q(e,t)},onClick(e){S(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u,"is--expand":g=(!g||p)&&o}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:v},d),V(t,i)):c?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:c,target:v},d),{default:()=>V(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},d),V(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},g||_[e]?m.map(e=>j(e,m)):[]):(0,_ui.renderEmptyElement)(O)]))};let x=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.options?C.options.length:-1,()=>{x.value++}),(0,_vue.watch)(()=>C.options,()=>{x.value++}),(0,_vue.watch)(x,()=>{v(),c(!0),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.watch)(()=>C.modelValue,e=>{T.activeName=e}),(0,_vue.watch)(()=>T.activeName,()=>{c(!0)}),(0,_vue.watch)(L,()=>{B()}),(0,_vue.onMounted)(()=>{var e=C.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(O,"resize",m),m(),(0,_vue.nextTick)(()=>{O.scrollToActiveMenu()})}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(O,"resize"),_xeUtils.default.assign(T,createReactData()),_xeUtils.default.assign(I,createInternalData())}),T.initialized=!!C.collapsed,T.activeName=C.modelValue,v(),c(!0),O.renderVN=()=>{var{loading:e,collapseFixed:t,appendTo:i}=C;let{initialized:n,menuList:l,collapseStyle:a,isEnterCollapse:u}=T;var r=k.value,o=M.value;let s=L.value;var c=w.value,v=D.value,m=N.value,{viewClassName:d,viewInnerClassName:p}=m,_=f.header,g=f.footer;let x={};t&&(x={onMouseenter:P,onMouseleave:R});t={collapsed:s};return(0,_vue.h)("div",{ref:h,class:["vxe-menu",{["border--"+c]:c,["size--"+r]:r,"is--collapsed":s,"is--loading":e}]},[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-menu--body"},l.map(e=>(s?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:r,routerLink:o,linkUrl:s,linkTarget:c,childList:v}=t;var m;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(O):(m={onContextmenu(e){q(e,t)},onClick(e){S(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":r,"is--active":u}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:c},m),V(t,i)):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:o,target:c},m),{default:()=>V(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},m),V(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},v.map(e=>j(e,v))):(0,_ui.renderEmptyElement)(O)]))}:j)(e,l))),g?(0,_vue.h)("div",{class:"vxe-menu--footer"},g(t)):(0,_ui.renderEmptyElement)(O),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(i),disabled:!n},[(0,_vue.h)("div",Object.assign({ref:y,class:["vxe-menu--collapse-wrapper",{["size--"+r]:r,"is--collapsed":s,"is--enter":u,"is--loading":e}],style:Object.assign({},v,a)},x),s?[_?(0,_vue.h)("div",{class:"vxe-menu--header"},_(t)):(0,_ui.renderEmptyElement)(O),o&&u?(0,_vue.h)(_scrollbar.default,Object.assign(Object.assign({ref:b,class:"vxe-menu--scrollbar-body"},m),{viewClassName:"vxe-menu--scrollbar-body-view"+(d?" "+d:""),viewInnerClassName:"vxe-menu--scrollbar-body-inner"+(d?" "+p:"")}),{default:()=>l.map(e=>j(e,l))}):(0,_vue.h)("div",{ref:E,class:"vxe-menu--body"},l.map(e=>j(e,l))),g?(0,_vue.h)("div",{class:"vxe-menu--footer"},g(t)):(0,_ui.renderEmptyElement)(O)]:[])]),(0,_vue.h)(_loading.default,{class:"vxe-menu-view--loading",modelValue:e})])},O},render(){return this.renderVN()}});
|
package/lib/modal/src/modal.js
CHANGED
|
@@ -257,7 +257,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
257
257
|
const $xeForm = (0, _vue.inject)('$xeForm', null);
|
|
258
258
|
const {
|
|
259
259
|
computeSize
|
|
260
|
-
} =
|
|
260
|
+
} = _ui.useFns.useSize(props);
|
|
261
|
+
const {
|
|
262
|
+
computeIsVScrollbar
|
|
263
|
+
} = _ui.useFns.useVScrollbar(props);
|
|
261
264
|
const reactData = (0, _vue.reactive)(createReactData());
|
|
262
265
|
const internalData = createInternalData();
|
|
263
266
|
const refElem = (0, _vue.ref)();
|
|
@@ -1443,10 +1446,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1443
1446
|
status,
|
|
1444
1447
|
message,
|
|
1445
1448
|
iconStatus,
|
|
1446
|
-
useScrollbar,
|
|
1447
1449
|
useHtml
|
|
1448
1450
|
} = props;
|
|
1449
1451
|
const content = props.content || message;
|
|
1452
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
1450
1453
|
const isMsg = computeIsMsg.value;
|
|
1451
1454
|
const scrollbarProps = computeScrollbarProps.value;
|
|
1452
1455
|
const defaultSlot = slots.default || propSlots.default;
|
|
@@ -1461,7 +1464,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1461
1464
|
})]));
|
|
1462
1465
|
}
|
|
1463
1466
|
if (useHtml && !defaultSlot) {
|
|
1464
|
-
contVNs.push(
|
|
1467
|
+
contVNs.push(isVScrollbar ? (0, _vue.h)(_scrollbar.default, Object.assign({
|
|
1465
1468
|
key: 'shc',
|
|
1466
1469
|
class: 'vxe-modal--scrollbar-content'
|
|
1467
1470
|
}, scrollbarProps), {
|
|
@@ -1477,7 +1480,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1477
1480
|
innerHTML: (0, _utils.getFuncText)(content)
|
|
1478
1481
|
}));
|
|
1479
1482
|
} else {
|
|
1480
|
-
contVNs.push(
|
|
1483
|
+
contVNs.push(isVScrollbar ? (0, _vue.h)(_scrollbar.default, Object.assign({
|
|
1481
1484
|
key: 'sdc',
|
|
1482
1485
|
class: 'vxe-modal--scrollbar-content'
|
|
1483
1486
|
}, scrollbarProps), {
|
|
@@ -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")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_store=require("./store"),_button=_interopRequireDefault(require("../../button")),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("modal");function createInternalData(){return{isMoveStatus:!1}}function createReactData(){return{initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0,resizeFlag:1}}let msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeModal",props:{modelValue:Boolean,id:String,type:{type:String,default:"modal"},loading:{type:Boolean,default:null},status:String,iconStatus:String,className:String,top:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.top},position:[String,Object],title:String,duration:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.duration},content:[Number,String],useHtml:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.useHtml},showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.confirmButtonText},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.escClosable},cancelClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.cancelClosable},confirmClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.confirmClosable},resize:Boolean,border:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.border},showTitleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showTitleBackground},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showFooter},preload:Boolean,showZoom:Boolean,zoomConfig:Object,showMaximize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMaximize)},showMinimize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMinimize)},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showClose},dblclickZoom:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.dblclickZoom},width:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.width},height:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.height},minWidth:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minWidth},minHeight:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minHeight},zIndex:Number,marginSize:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.marginSize},fullscreen:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.fullscreen},draggable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.draggable},remember:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.remember},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showTitleOverflow},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.transfer},appendTo:{type:[String,Function],default:()=>(0,_ui.getConfig)().modal.appendTo},isWithinAppendTo:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.isWithinAppendTo},storage:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.storage},storageKey:{type:String,default:()=>(0,_ui.getConfig)().modal.storageKey},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.padding},size:{type:String,default:()=>(0,_ui.getConfig)().modal.size||(0,_ui.getConfig)().size},beforeHideMethod:Function,slots:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().modal.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,message:[Number,String],animat:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.animat}},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","zoom","resize","move"],setup(B,e){let{slots:M,emit:i}=e,u=_xeUtils.default.uniqueId(),o=(0,_vue.inject)("$xeModal",null),k=(0,_vue.inject)("$xeDrawer",null),N=(0,_vue.inject)("$xeTable",null),V=(0,_vue.inject)("$xeForm",null),O=(0,_ui.useSize)(B).computeSize,E=(0,_vue.reactive)(createReactData()),f=createInternalData(),U=(0,_vue.ref)(),A=(0,_vue.ref)(),D=(0,_vue.ref)(),r=(0,_vue.ref)(),d=(0,_vue.ref)(),W={refElem:U},Z=(0,_vue.computed)(()=>{var e=B.transfer;if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(N||o||k||V)return!0}return e}),I=(0,_vue.computed)(()=>{var e=B.type;return"message"===e||"notification"===e}),m=(0,_vue.computed)(()=>"modal"===B.type),H=(0,_vue.computed)(()=>"minimize"===E.zoomStatus),$=(0,_vue.computed)(()=>"maximize"===E.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,B.zoomConfig)),j=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.scrollbarConfig,B.scrollbarConfig)),P=(0,_vue.computed)(()=>{var e=j.value,{viewClassName:t,viewInnerClassName:o}=e;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-modal--scrollbar-content-view"+(t?" "+t:""),viewInnerClassName:"vxe-modal--scrollbar-content-inner"+(t?" "+o:"")}}),q={computeSize:O,computeZoomOpts:l},L={xID:u,props:B,context:e,reactData:E,internalData:f,getRefMaps:()=>W,getComputeMaps:()=>q};let C=()=>A.value,c=()=>{var{width:e,height:t,minWidth:o,minHeight:i}=B,l=I.value,a=H.value,s=C();return s&&(s.style.width=e?(0,_dom.toCssUnit)(e):"",s.style.height=t?(0,_dom.toCssUnit)(t):"",s.style.minWidth=l||a||!o?"":(0,_dom.isScale)(o)?o:(0,_dom.toCssUnit)(o),s.style.minHeight=l||a||!i?"":(0,_dom.isScale)(i)?i:(0,_dom.toCssUnit)(i)),(0,_vue.nextTick)()},v=()=>{var e=B.zIndex,t=E.modalZindex;e?E.modalZindex=e:I.value?t<(0,_utils.getSubLastZIndex)()&&(E.modalZindex=(0,_utils.nextSubZIndex)()):t<(0,_utils.getLastZIndex)()&&(E.modalZindex=(0,_utils.nextZIndex)())},g=()=>(0,_vue.nextTick)().then(()=>{var{position:o,isWithinAppendTo:i}=B,l=U.value,a=C();if(a){i=(0,_dom.getPopupWrapperElement)(i?l:document.body);if(i){var l=i.clientWidth,i=i.clientHeight,s=_xeUtils.default.toNumber(B.marginSize),n="center"===o,{top:o,left:u}=_xeUtils.default.isString(o)?{top:o,left:o}:Object.assign({},o),r=n||"center"===o;let e="",t="";t=u&&!(n||"center"===u)?(0,_dom.toCssUnit)(u):Math.max(s,l/2-a.offsetWidth/2)+"px",e=o&&!r?(0,_dom.toCssUnit)(o):Math.max(s,i/2-a.offsetHeight/2)+"px",a.style.top=e,a.style.left=t}}}),p=()=>{(0,_vue.nextTick)(()=>{var e=B.type,e="notification"===e?notifyQueue:msgQueue;let o=0;e.forEach(e=>{var t=e.getBox();t&&(o+=_xeUtils.default.toNumber(e.props.top),e.reactData.modalTop=o,o+=t.clientHeight)})})},s=()=>{-1<_store.allActiveModals.indexOf(L)&&_xeUtils.default.remove(_store.allActiveModals,e=>e===L)},n=()=>{var e=B.type,e="notification"===e?notifyQueue:msgQueue;-1<e.indexOf(L)&&_xeUtils.default.remove(e,e=>e===L),p()},a=e=>{let t=B.remember;var o=E.visible;let i=I.value;var l=B.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod;let a={type:e};return o&&Promise.resolve(l?l(a):null).then(e=>{_xeUtils.default.isError(e)||((e=U.value)&&e.setAttribute("data-effect","y"),i&&n(),E.contentVisible=!1,t||S(),s(),T("before-hide",a,null),setTimeout(()=>{E.visible=!1,ae(!1),T("hide",a,null)},200),y(),setTimeout(()=>{var e=U.value;e&&e.removeAttribute("data-effect")},350))}).catch(e=>e),(0,_vue.nextTick)()},F=e=>{var t="close";T(t,{type:t},e),a(t)},K=e=>{var t=B.confirmClosable,o="confirm";T(o,{type:o},e),t&&a(o)},R=e=>{var t=B.cancelClosable,o="cancel";T(o,{type:o},e),t&&a(o)},_=e=>{var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},z=()=>{var{id:e,storage:t,storageKey:o}=B,{zoomStatus:i,revertLocat:l}=E;i||e&&t&&(i=C())&&((t=_(o))[e]=[i.style.left,i.style.top,i.clientWidth,i.clientHeight].concat(l?[l.left,l.top,l.width,l.height]:[]).map(e=>e?_xeUtils.default.toNumber(e):"").join(","),localStorage.setItem(o,_xeUtils.default.toJSONString(t)))},h=()=>{let s=B.isWithinAppendTo;let{minimizeLayout:e,minimizeMaxSize:t,minimizeHorizontalOffset:n,minimizeVerticalOffset:u,minimizeOffsetMethod:r}=l.value,d="horizontal"===e,m=E.zoomStatus,o=[],i=[],c=(_store.allActiveModals.forEach(e=>{e.xID!==L.xID&&"modal"===e.props.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.getComputeMaps().computeZoomOpts.value.minimizeLayout?o:i).push(e)}),d?o:i);return t&&c.length>=t?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[t])}),Promise.resolve({status:!1})):(E.prevZoomStatus=m,E.zoomStatus="minimize",(0,_vue.nextTick)().then(()=>{var t=U.value,e=C();if(!e)return{status:!1};var o=D.value;if(!o)return{status:!1};t=(0,_dom.getPopupWrapperElement)(s?t:document.body);if(!t)return{status:!1};var t=t.clientHeight,i=(m||(E.revertLocat={top:e.offsetTop,left:e.offsetLeft,width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}),_xeUtils.default[d?"max":"min"](c,e=>{e=e.getBox();return e?_xeUtils.default.toNumber(e.style[d?"left":"top"]):0}));let l=t-o.offsetHeight-16,a=16;if(i){t=i.getBox();if(t){i=_xeUtils.default.toNumber(t.style.left),t=_xeUtils.default.toNumber(t.style.top);let e={};e=d?Object.assign({},n):Object.assign({},u),a=i+_xeUtils.default.toNumber(e.left),l=t+_xeUtils.default.toNumber(e.top),r&&(e=r({$modal:L,left:a,top:l}),a=_xeUtils.default.toNumber(e.left),l=_xeUtils.default.toNumber(e.top))}}return Object.assign(e.style,{top:l+"px",left:a+"px",width:"200px",height:o.offsetHeight+"px",minHeight:"",minWidth:""}),z(),{status:!0}}))},x=()=>{let l=B.isWithinAppendTo,a=E.zoomStatus;return E.prevZoomStatus=a,E.zoomStatus="maximize",(0,_vue.nextTick)().then(()=>{var e=C();if(e){if(!a){var t=U.value,t=(0,_dom.getPopupWrapperElement)(l?t:document.body);if(!t)return{status:!1};var o=t.clientWidth,t=t.clientHeight,i=_xeUtils.default.toNumber(B.marginSize);E.revertLocat={top:Math.max(i,t/2-e.offsetHeight/2),left:Math.max(i,o/2-e.offsetWidth/2),width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}}Object.assign(e.style,{top:"0",left:"0",width:"100%",height:"100%",minHeight:"",minWidth:""})}return z(),{status:!0}})},b=()=>{var e=B.duration;-1!==e&&(f.msgTimeout=setTimeout(()=>a("close"),_xeUtils.default.toNumber(e)))},y=()=>{var e=document.documentElement,t=e.getAttribute(lockScrollAttrKey);t&&((t=t.split(",").filter(e=>e!==u)).length?e.setAttribute(lockScrollAttrKey,t.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},t=()=>{let{remember:o,showFooter:i,fullscreen:l}=B;var e,{initialized:t,visible:a}=E,s=I.value;let n=m.value;return t||(E.initialized=!0),a||(t=B.lockScroll,a=I.value,t&&!a&&(t=document.documentElement,a=document.body.clientWidth,(e=(e=t.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(u)||(e.push(u),t.setAttribute(lockScrollAttrKey,e.join(","))),t.style.setProperty(lockScrollCssWidthKey,a+"px")),f.isMoveStatus=!1,E.visible=!0,E.contentVisible=!1,v(),_store.allActiveModals.push(L),setTimeout(()=>{E.contentVisible=!0,(0,_vue.nextTick)(()=>{n&&l||c(),i&&(e=r.value,t=d.value,e=e||t)&&e.focus();var e,t={type:""};ae(!0),T("show",t,null)})},10),s?(-1===(e="notification"===(e=B.type)?notifyQueue:msgQueue).indexOf(L)&&e.push(L),p(),b()):((0,_vue.nextTick)(()=>{var e=E.firstOpen,t=U.value;t&&t.setAttribute("data-effect","y"),e?(E.firstOpen=!1,(()=>{var{id:e,storage:t,storageKey:o}=B;return!!(e&&t&&_(o)[e])})()?(()=>{var e,t,o,i,l,a,{id:s,storage:n,storageKey:u}=B;s&&n&&(n=_(u)[s])&&(u=C(),[s,n,e,t,o,i,l,a]=n.split(","),u&&(s&&(u.style.left=s+"px"),n&&(u.style.top=n+"px"),e&&(u.style.width=e+"px"),t)&&(u.style.height=t+"px"),o)&&i&&(E.revertLocat={left:o,top:i,width:l,height:a})})():n&&l?(0,_vue.nextTick)(()=>x()):(c(),g().then(()=>{setTimeout(()=>g(),20)}))):o||(c(),g().then(()=>{setTimeout(()=>g(),20)}))}),setTimeout(()=>{var e=U.value;e&&e.removeAttribute("data-effect")},350))),(0,_vue.nextTick)()},Y=e=>{var t=U.value;B.maskClosable&&e.target===t&&a("mask")},X=()=>{var e=f.msgTimeout;e&&I.value&&(clearTimeout(e),f.msgTimeout=void 0)},Q=()=>{var e=f.msgTimeout;e||I.value&&b()},J=t=>{if(_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){let e=_xeUtils.default.max(_store.allActiveModals.filter(e=>"minimize"!==e.reactData.zoomStatus),e=>e.reactData.modalZindex);e&&setTimeout(()=>{e===L&&e.props.escClosable&&(T("close",{type:"exit"},t),a("exit"))},10)}},G=()=>{f.isMoveStatus||g()};let S=()=>(E.prevZoomStatus=E.zoomStatus,(E.zoomStatus="",_vue.nextTick)().then(()=>{var e,t=E.revertLocat;return t?(e=C(),E.revertLocat=null,e&&Object.assign(e.style,{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"}),z(),(0,_vue.nextTick)().then(()=>({status:!0}))):{status:!1}})),w=t=>{let o=E.zoomStatus;return new Promise(e=>{if(t)return"maximize"===t?void e(x()):"minimize"===t?void e(h()):void e(S());e((o?S:x)())}).then(()=>E.zoomStatus||"revert")},ee=t=>{var{zoomStatus:e,prevZoomStatus:o}=E;return w("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};T("zoom",e,t)})},te=t=>w().then(e=>{e={type:e};T("zoom",e,t)});let oe=()=>{let t=E.modalZindex;_store.allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&v()},ie=e=>{let{storage:t,isWithinAppendTo:o}=B;var i=E.zoomStatus;let m=_xeUtils.default.toNumber(B.marginSize),c=C();if(c&&"maximize"!==i&&0===e.button&&!(0,_dom.getEventTargetNode)(e,c,"trigger--btn").flag){e.preventDefault();i=U.value,i=(0,_dom.getPopupWrapperElement)(o?i:document.body);if(i){let n=i.clientWidth,u=i.clientHeight,r=e.clientX-c.offsetLeft,d=e.clientY-c.offsetTop;document.onmousemove=e=>{e.preventDefault();var t=c.offsetWidth,o=c.offsetHeight,i=m,t=n-t-m-1,l=m,o=u-o-m-1;let a=e.clientX-r,s=e.clientY-d;(a=a>t?t:a)<i&&(a=i),(s=s>o?o:s)<l&&(s=l),c.style.left=a+"px",c.style.top=s+"px",c.className=c.className.replace(/\s?is--drag/,"")+" is--drag",T("move",{type:"move"},e),f.isMoveStatus=!0,E.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,t&&(0,_vue.nextTick)(()=>{z()}),E.resizeFlag++,setTimeout(()=>{c.className=c.className.replace(/\s?is--drag/,"")},50)}}}},le=e=>{e.preventDefault();let{minWidth:t,minHeight:o,storage:y,isWithinAppendTo:i}=B;var l=U.value,l=(0,_dom.getPopupWrapperElement)(i?l:document.body);if(l){let a=l.clientWidth,s=l.clientHeight,n=_xeUtils.default.toNumber(B.marginSize);let u=e.target.getAttribute("data-type"),r=(0,_dom.isScale)(t)?_xeUtils.default.toNumber(t)*a/100:_xeUtils.default.toNumber(t),d=(0,_dom.isScale)(o)?_xeUtils.default.toNumber(o)*s/100:_xeUtils.default.toNumber(o),m=a,c=s,f=C(),v=f.clientWidth,g=f.clientHeight,p=e.clientX,_=e.clientY,h=f.offsetTop,x=f.offsetLeft,b={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,o,i,l;switch(u){case"wl":t=p-e.clientX,i=t+v,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px");break;case"swst":t=p-e.clientX,o=_-e.clientY,i=t+v,l=o+g,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px"),h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"swlb":t=p-e.clientX,o=e.clientY-_,i=t+v,l=o+g,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px"),h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`);break;case"st":o=_-e.clientY,l=g+o,h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"wr":t=e.clientX-p,i=t+v,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`);break;case"sest":t=e.clientX-p,o=_-e.clientY,i=t+v,l=o+g,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`),h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"selb":t=e.clientX-p,o=e.clientY-_,i=t+v,l=o+g,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`),h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`);break;case"sb":o=e.clientY-_,l=o+g,h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`)}f.className=f.className.replace(/\s?is--drag/,"")+" is--drag",y&&z(),T("resize",b,e)},document.onmouseup=()=>{E.revertLocat=null,document.onmousemove=null,document.onmouseup=null,setTimeout(()=>{f.className=f.className.replace(/\s?is--drag/,"")},50)}}},T=(e,t,o)=>{i(e,(0,_ui.createEvent)(o,{$modal:L},t))},ae=e=>{i("update:modelValue",e)},se=(e={dispatchEvent:T,open:t,close(){return a("close")},getBox:C,getPosition:()=>{if(!I.value){var e=C();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:(e,t)=>{var o;return I.value||(o=C())&&(_xeUtils.default.isNumber(e)&&(o.style.top=e+"px"),_xeUtils.default.isNumber(t))&&(o.style.left=t+"px"),(0,_vue.nextTick)()},isMinimized:()=>"minimize"===E.zoomStatus,isMaximized:()=>"maximize"===E.zoomStatus,zoom(){return w()},minimize(){var e=E.visible;return m.value&&e?h():Promise.resolve({status:!1})},maximize(){var e=E.visible;return m.value&&e?x():Promise.resolve({status:!1})},revert(){var e=E.visible;return m.value&&e?S():Promise.resolve({status:!1})}},Object.assign(L,e),()=>{var{slots:e={},showClose:t,showZoom:o,showMaximize:i,showMinimize:l,title:a}=B,s=E.zoomStatus,n=M.title||e.title,e=M.corner||e.corner,u=H.value,r=$.value;return[(0,_vue.h)("div",{class:"vxe-modal--header-title"},n?(0,_vn.getSlotVNs)(n({$modal:L,minimized:u,maximized:r})):a?(0,_utils.getFuncText)(a):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-modal--header-right"},[e&&!u?(0,_vue.h)("div",{class:"vxe-modal--corner-wrapper"},(0,_vn.getSlotVNs)(e({$modal:L}))):(0,_ui.renderEmptyElement)(L),(_xeUtils.default.isBoolean(l)?l:o)?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("minimize"===s?"Out":"Min")),onClick:ee},[(0,_vue.h)("i",{class:"minimize"===s?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_ui.renderEmptyElement)(L),(_xeUtils.default.isBoolean(i)?i:o)&&"minimize"!==s?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("maximize"===s?"Out":"In")),onClick:te},[(0,_vue.h)("i",{class:"maximize"===s?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_ui.renderEmptyElement)(L),t?(0,_vue.h)("div",{class:["vxe-modal--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.close"),onClick:F},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(L)])]}),ne=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:o,type:i,loading:l}=B,a=M.leftfoot||e.leftfoot,e=M.rightfoot||e.rightfoot,s=[];return(_xeUtils.default.isBoolean(t)?t:"confirm"===i)&&s.push((0,_vue.h)(_button.default,{key:1,ref:d,content:B.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:R})),(_xeUtils.default.isBoolean(o)?o:"confirm"===i||"alert"===i)&&s.push((0,_vue.h)(_button.default,{key:2,ref:r,loading:l,status:"primary",content:B.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:K})),(0,_vue.h)("div",{class:"vxe-modal--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-modal--footer-left"},a?(0,_vn.getSlotVNs)(a({$modal:L})):[]),(0,_vue.h)("div",{class:"vxe-modal--footer-right"},e?(0,_vn.getSlotVNs)(e({$modal:L})):s)])};return L.renderVN=()=>{var{border:e,showTitleBackground:t,slots:o={},className:i,type:l,animat:a,draggable:s,iconStatus:n,position:u,loading:r,destroyOnClose:d,status:m,lockScroll:c,padding:f,lockView:v,mask:g,resize:p,appendTo:_,isWithinAppendTo:h}=B,{initialized:x,modalTop:b,contentVisible:y,visible:C,zoomStatus:z}=E,o=M.aside||o.aside,S=O.value,w=I.value,T=H.value,k=Z.value,N={};return w&&(N.onMouseover=X,N.onMouseout=Q),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(_),disabled:!k||!x},[(0,_vue.h)("div",Object.assign({ref:U,class:["vxe-modal--wrapper","type--"+l,"zoom--"+(z||"revert"),u?"pos--"+u:"",h?"ctx--within":"ctx--free",i||"",{["size--"+S]:S,["status--"+m]:m,"is--padding":f,"is--border":e,"is--title-bg":t,"is--animat":a,"lock--scroll":c,"lock--view":v,"is--draggable":s,"is--resize":p,"is--mask":g,"is--visible":y,"is--active":C,"is--loading":r}],style:{zIndex:E.modalZindex,top:b?b+"px":null},onClick:Y},N),[(0,_vue.h)("div",{ref:A,class:"vxe-modal--box",onMousedown:oe},[!w&&!o||T?(0,_ui.renderEmptyElement)(L):(0,_vue.h)("div",{class:"vxe-modal--aside"},o?(0,_vn.getSlotVNs)(o({$modal:L})):[m||n?(0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",n||(0,_ui.getIcon)()[("MODAL_"+m).toLocaleUpperCase()]]})]):(0,_ui.renderEmptyElement)(L)]),(0,_vue.h)("div",{class:"vxe-modal--container"},!E.initialized||d&&!E.visible?[]:[(()=>{var e,{slots:t={},showZoom:o,showMaximize:i,draggable:l}=B,t=M.header||t.header;return B.showHeader?(e={},l&&(e.onMousedown=ie),(_xeUtils.default.isBoolean(i)?i:o)&&B.dblclickZoom&&"modal"===B.type&&(e.onDblclick=te),(0,_vue.h)("div",Object.assign({ref:D,class:["vxe-modal--header",{"is--ellipsis":B.showTitleOverflow}]},e),t?(0,_vn.getSlotVNs)(t({$modal:L})):se())):(0,_ui.renderEmptyElement)(L)})(),(()=>{var{slots:e={},status:t,message:o,iconStatus:i,useScrollbar:l,useHtml:a}=B;let s=B.content||o;var o=I.value,n=P.value;let u=M.default||e.default;var r=M.left||e.left,e=M.right||e.right,d=[];return o||!t&&!i||d.push((0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",i||(0,_ui.getIcon)()[("MODAL_"+t).toLocaleUpperCase()]]})])),a&&!u?d.push(l?(0,_vue.h)(_scrollbar.default,Object.assign({key:"shc",class:"vxe-modal--scrollbar-content"},n),{default(){return[(0,_vue.h)("div",{class:"vxe-modal--scrollbar-content-html",innerHTML:(0,_utils.getFuncText)(s)})]}}):(0,_vue.h)("div",{key:"hc",class:"vxe-modal--content",innerHTML:(0,_utils.getFuncText)(s)})):d.push(l?(0,_vue.h)(_scrollbar.default,Object.assign({key:"sdc",class:"vxe-modal--scrollbar-content"},n),{default:()=>u?(0,_vn.getSlotVNs)(u({$modal:L})):(0,_utils.getFuncText)(s)}):(0,_vue.h)("div",{key:"dc",class:"vxe-modal--content"},u?(0,_vn.getSlotVNs)(u({$modal:L})):(0,_utils.getFuncText)(s))),(0,_vue.h)("div",{class:"vxe-modal--body"},[r?(0,_vue.h)("div",{class:"vxe-modal--body-left"},(0,_vn.getSlotVNs)(r({$modal:L}))):(0,_ui.renderEmptyElement)(L),(0,_vue.h)("div",{class:"vxe-modal--body-default"},d),e?(0,_vue.h)("div",{class:"vxe-modal--body-right"},(0,_vn.getSlotVNs)(e({$modal:L}))):(0,_ui.renderEmptyElement)(L),o?(0,_ui.renderEmptyElement)(L):(0,_vue.h)(_loading.default,{class:"vxe-modal--loading",modelValue:B.loading})])})(),(()=>{var{slots:e={}}=B,e=M.footer||e.footer;return B.showFooter?(0,_vue.h)("div",{class:"vxe-modal--footer"},e?(0,_vn.getSlotVNs)(e({$modal:L})):[ne()]):(0,_ui.renderEmptyElement)(L)})(),!w&&p?(0,_vue.h)("span",{class:"vxe-modal--resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(e=>(0,_vue.h)("span",{class:e+"-resize","data-type":e,onMousedown:le}))):(0,_ui.renderEmptyElement)(L)])])])])},(0,_vue.watch)(()=>B.width,c),(0,_vue.watch)(()=>B.height,c),(0,_vue.watch)(()=>B.modelValue,e=>{e?t():a("model")}),(0,_vue.onMounted)(()=>{"modal"===B.type&&B.showFooter&&!(B.showConfirmButton||B.showCancelButton||M.footer)&&warnLog("vxe.modal.footPropErr"),E.initialized=!!B.preload,(0,_vue.nextTick)(()=>{B.storage&&!B.id&&errLog("vxe.error.reqProp",["id"]),B.modelValue&&t(),c()}),B.escClosable&&_ui.globalEvents.on(L,"keydown",J),_ui.globalEvents.on(L,"resize",G)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(L,"keydown"),_ui.globalEvents.off(L,"resize"),n(),s(),y(),_xeUtils.default.assign(E,createReactData()),_xeUtils.default.assign(f,createInternalData())}),(0,_vue.provide)("$xeModal",L),L},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")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_store=require("./store"),_button=_interopRequireDefault(require("../../button")),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("modal");function createInternalData(){return{isMoveStatus:!1}}function createReactData(){return{initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0,resizeFlag:1}}let msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeModal",props:{modelValue:Boolean,id:String,type:{type:String,default:"modal"},loading:{type:Boolean,default:null},status:String,iconStatus:String,className:String,top:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.top},position:[String,Object],title:String,duration:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.duration},content:[Number,String],useHtml:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.useHtml},showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.confirmButtonText},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.escClosable},cancelClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.cancelClosable},confirmClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.confirmClosable},resize:Boolean,border:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.border},showTitleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showTitleBackground},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showFooter},preload:Boolean,showZoom:Boolean,zoomConfig:Object,showMaximize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMaximize)},showMinimize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMinimize)},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showClose},dblclickZoom:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.dblclickZoom},width:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.width},height:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.height},minWidth:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minWidth},minHeight:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minHeight},zIndex:Number,marginSize:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.marginSize},fullscreen:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.fullscreen},draggable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.draggable},remember:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.remember},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showTitleOverflow},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.transfer},appendTo:{type:[String,Function],default:()=>(0,_ui.getConfig)().modal.appendTo},isWithinAppendTo:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.isWithinAppendTo},storage:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.storage},storageKey:{type:String,default:()=>(0,_ui.getConfig)().modal.storageKey},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.padding},size:{type:String,default:()=>(0,_ui.getConfig)().modal.size||(0,_ui.getConfig)().size},beforeHideMethod:Function,slots:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)((0,_ui.getConfig)().modal.useScrollbar,(0,_ui.getConfig)().useScrollbar)},scrollbarConfig:Object,message:[Number,String],animat:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.animat}},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","zoom","resize","move"],setup(B,e){let{slots:M,emit:i}=e,u=_xeUtils.default.uniqueId(),o=(0,_vue.inject)("$xeModal",null),k=(0,_vue.inject)("$xeDrawer",null),N=(0,_vue.inject)("$xeTable",null),L=(0,_vue.inject)("$xeForm",null),O=_ui.useFns.useSize(B).computeSize,W=_ui.useFns.useVScrollbar(B).computeIsVScrollbar,E=(0,_vue.reactive)(createReactData()),f=createInternalData(),U=(0,_vue.ref)(),A=(0,_vue.ref)(),D=(0,_vue.ref)(),r=(0,_vue.ref)(),d=(0,_vue.ref)(),Z={refElem:U},$=(0,_vue.computed)(()=>{var e=B.transfer;if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(N||o||k||L)return!0}return e}),I=(0,_vue.computed)(()=>{var e=B.type;return"message"===e||"notification"===e}),m=(0,_vue.computed)(()=>"modal"===B.type),V=(0,_vue.computed)(()=>"minimize"===E.zoomStatus),j=(0,_vue.computed)(()=>"maximize"===E.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,B.zoomConfig)),P=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.scrollbarConfig,B.scrollbarConfig)),q=(0,_vue.computed)(()=>{var e=P.value,{viewClassName:t,viewInnerClassName:o}=e;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-modal--scrollbar-content-view"+(t?" "+t:""),viewInnerClassName:"vxe-modal--scrollbar-content-inner"+(t?" "+o:"")}}),F={computeSize:O,computeZoomOpts:l},H={xID:u,props:B,context:e,reactData:E,internalData:f,getRefMaps:()=>Z,getComputeMaps:()=>F};let C=()=>A.value,c=()=>{var{width:e,height:t,minWidth:o,minHeight:i}=B,l=I.value,a=V.value,s=C();return s&&(s.style.width=e?(0,_dom.toCssUnit)(e):"",s.style.height=t?(0,_dom.toCssUnit)(t):"",s.style.minWidth=l||a||!o?"":(0,_dom.isScale)(o)?o:(0,_dom.toCssUnit)(o),s.style.minHeight=l||a||!i?"":(0,_dom.isScale)(i)?i:(0,_dom.toCssUnit)(i)),(0,_vue.nextTick)()},v=()=>{var e=B.zIndex,t=E.modalZindex;e?E.modalZindex=e:I.value?t<(0,_utils.getSubLastZIndex)()&&(E.modalZindex=(0,_utils.nextSubZIndex)()):t<(0,_utils.getLastZIndex)()&&(E.modalZindex=(0,_utils.nextZIndex)())},g=()=>(0,_vue.nextTick)().then(()=>{var{position:o,isWithinAppendTo:i}=B,l=U.value,a=C();if(a){i=(0,_dom.getPopupWrapperElement)(i?l:document.body);if(i){var l=i.clientWidth,i=i.clientHeight,s=_xeUtils.default.toNumber(B.marginSize),n="center"===o,{top:o,left:u}=_xeUtils.default.isString(o)?{top:o,left:o}:Object.assign({},o),r=n||"center"===o;let e="",t="";t=u&&!(n||"center"===u)?(0,_dom.toCssUnit)(u):Math.max(s,l/2-a.offsetWidth/2)+"px",e=o&&!r?(0,_dom.toCssUnit)(o):Math.max(s,i/2-a.offsetHeight/2)+"px",a.style.top=e,a.style.left=t}}}),p=()=>{(0,_vue.nextTick)(()=>{var e=B.type,e="notification"===e?notifyQueue:msgQueue;let o=0;e.forEach(e=>{var t=e.getBox();t&&(o+=_xeUtils.default.toNumber(e.props.top),e.reactData.modalTop=o,o+=t.clientHeight)})})},s=()=>{-1<_store.allActiveModals.indexOf(H)&&_xeUtils.default.remove(_store.allActiveModals,e=>e===H)},n=()=>{var e=B.type,e="notification"===e?notifyQueue:msgQueue;-1<e.indexOf(H)&&_xeUtils.default.remove(e,e=>e===H),p()},a=e=>{let t=B.remember;var o=E.visible;let i=I.value;var l=B.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod;let a={type:e};return o&&Promise.resolve(l?l(a):null).then(e=>{_xeUtils.default.isError(e)||((e=U.value)&&e.setAttribute("data-effect","y"),i&&n(),E.contentVisible=!1,t||S(),s(),T("before-hide",a,null),setTimeout(()=>{E.visible=!1,se(!1),T("hide",a,null)},200),y(),setTimeout(()=>{var e=U.value;e&&e.removeAttribute("data-effect")},350))}).catch(e=>e),(0,_vue.nextTick)()},K=e=>{var t="close";T(t,{type:t},e),a(t)},R=e=>{var t=B.confirmClosable,o="confirm";T(o,{type:o},e),t&&a(o)},Y=e=>{var t=B.cancelClosable,o="cancel";T(o,{type:o},e),t&&a(o)},_=e=>{var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},z=()=>{var{id:e,storage:t,storageKey:o}=B,{zoomStatus:i,revertLocat:l}=E;i||e&&t&&(i=C())&&((t=_(o))[e]=[i.style.left,i.style.top,i.clientWidth,i.clientHeight].concat(l?[l.left,l.top,l.width,l.height]:[]).map(e=>e?_xeUtils.default.toNumber(e):"").join(","),localStorage.setItem(o,_xeUtils.default.toJSONString(t)))},h=()=>{let s=B.isWithinAppendTo;let{minimizeLayout:e,minimizeMaxSize:t,minimizeHorizontalOffset:n,minimizeVerticalOffset:u,minimizeOffsetMethod:r}=l.value,d="horizontal"===e,m=E.zoomStatus,o=[],i=[],c=(_store.allActiveModals.forEach(e=>{e.xID!==H.xID&&"modal"===e.props.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.getComputeMaps().computeZoomOpts.value.minimizeLayout?o:i).push(e)}),d?o:i);return t&&c.length>=t?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[t])}),Promise.resolve({status:!1})):(E.prevZoomStatus=m,E.zoomStatus="minimize",(0,_vue.nextTick)().then(()=>{var t=U.value,e=C();if(!e)return{status:!1};var o=D.value;if(!o)return{status:!1};t=(0,_dom.getPopupWrapperElement)(s?t:document.body);if(!t)return{status:!1};var t=t.clientHeight,i=(m||(E.revertLocat={top:e.offsetTop,left:e.offsetLeft,width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}),_xeUtils.default[d?"max":"min"](c,e=>{e=e.getBox();return e?_xeUtils.default.toNumber(e.style[d?"left":"top"]):0}));let l=t-o.offsetHeight-16,a=16;if(i){t=i.getBox();if(t){i=_xeUtils.default.toNumber(t.style.left),t=_xeUtils.default.toNumber(t.style.top);let e={};e=d?Object.assign({},n):Object.assign({},u),a=i+_xeUtils.default.toNumber(e.left),l=t+_xeUtils.default.toNumber(e.top),r&&(e=r({$modal:H,left:a,top:l}),a=_xeUtils.default.toNumber(e.left),l=_xeUtils.default.toNumber(e.top))}}return Object.assign(e.style,{top:l+"px",left:a+"px",width:"200px",height:o.offsetHeight+"px",minHeight:"",minWidth:""}),z(),{status:!0}}))},x=()=>{let l=B.isWithinAppendTo,a=E.zoomStatus;return E.prevZoomStatus=a,E.zoomStatus="maximize",(0,_vue.nextTick)().then(()=>{var e=C();if(e){if(!a){var t=U.value,t=(0,_dom.getPopupWrapperElement)(l?t:document.body);if(!t)return{status:!1};var o=t.clientWidth,t=t.clientHeight,i=_xeUtils.default.toNumber(B.marginSize);E.revertLocat={top:Math.max(i,t/2-e.offsetHeight/2),left:Math.max(i,o/2-e.offsetWidth/2),width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}}Object.assign(e.style,{top:"0",left:"0",width:"100%",height:"100%",minHeight:"",minWidth:""})}return z(),{status:!0}})},b=()=>{var e=B.duration;-1!==e&&(f.msgTimeout=setTimeout(()=>a("close"),_xeUtils.default.toNumber(e)))},y=()=>{var e=document.documentElement,t=e.getAttribute(lockScrollAttrKey);t&&((t=t.split(",").filter(e=>e!==u)).length?e.setAttribute(lockScrollAttrKey,t.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},t=()=>{let{remember:o,showFooter:i,fullscreen:l}=B;var e,{initialized:t,visible:a}=E,s=I.value;let n=m.value;return t||(E.initialized=!0),a||(t=B.lockScroll,a=I.value,t&&!a&&(t=document.documentElement,a=document.body.clientWidth,(e=(e=t.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(u)||(e.push(u),t.setAttribute(lockScrollAttrKey,e.join(","))),t.style.setProperty(lockScrollCssWidthKey,a+"px")),f.isMoveStatus=!1,E.visible=!0,E.contentVisible=!1,v(),_store.allActiveModals.push(H),setTimeout(()=>{E.contentVisible=!0,(0,_vue.nextTick)(()=>{n&&l||c(),i&&(e=r.value,t=d.value,e=e||t)&&e.focus();var e,t={type:""};se(!0),T("show",t,null)})},10),s?(-1===(e="notification"===(e=B.type)?notifyQueue:msgQueue).indexOf(H)&&e.push(H),p(),b()):((0,_vue.nextTick)(()=>{var e=E.firstOpen,t=U.value;t&&t.setAttribute("data-effect","y"),e?(E.firstOpen=!1,(()=>{var{id:e,storage:t,storageKey:o}=B;return!!(e&&t&&_(o)[e])})()?(()=>{var e,t,o,i,l,a,{id:s,storage:n,storageKey:u}=B;s&&n&&(n=_(u)[s])&&(u=C(),[s,n,e,t,o,i,l,a]=n.split(","),u&&(s&&(u.style.left=s+"px"),n&&(u.style.top=n+"px"),e&&(u.style.width=e+"px"),t)&&(u.style.height=t+"px"),o)&&i&&(E.revertLocat={left:o,top:i,width:l,height:a})})():n&&l?(0,_vue.nextTick)(()=>x()):(c(),g().then(()=>{setTimeout(()=>g(),20)}))):o||(c(),g().then(()=>{setTimeout(()=>g(),20)}))}),setTimeout(()=>{var e=U.value;e&&e.removeAttribute("data-effect")},350))),(0,_vue.nextTick)()},X=e=>{var t=U.value;B.maskClosable&&e.target===t&&a("mask")},Q=()=>{var e=f.msgTimeout;e&&I.value&&(clearTimeout(e),f.msgTimeout=void 0)},J=()=>{var e=f.msgTimeout;e||I.value&&b()},G=t=>{if(_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){let e=_xeUtils.default.max(_store.allActiveModals.filter(e=>"minimize"!==e.reactData.zoomStatus),e=>e.reactData.modalZindex);e&&setTimeout(()=>{e===H&&e.props.escClosable&&(T("close",{type:"exit"},t),a("exit"))},10)}},ee=()=>{f.isMoveStatus||g()};let S=()=>(E.prevZoomStatus=E.zoomStatus,(E.zoomStatus="",_vue.nextTick)().then(()=>{var e,t=E.revertLocat;return t?(e=C(),E.revertLocat=null,e&&Object.assign(e.style,{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"}),z(),(0,_vue.nextTick)().then(()=>({status:!0}))):{status:!1}})),w=t=>{let o=E.zoomStatus;return new Promise(e=>{if(t)return"maximize"===t?void e(x()):"minimize"===t?void e(h()):void e(S());e((o?S:x)())}).then(()=>E.zoomStatus||"revert")},te=t=>{var{zoomStatus:e,prevZoomStatus:o}=E;return w("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};T("zoom",e,t)})},oe=t=>w().then(e=>{e={type:e};T("zoom",e,t)});let ie=()=>{let t=E.modalZindex;_store.allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&v()},le=e=>{let{storage:t,isWithinAppendTo:o}=B;var i=E.zoomStatus;let m=_xeUtils.default.toNumber(B.marginSize),c=C();if(c&&"maximize"!==i&&0===e.button&&!(0,_dom.getEventTargetNode)(e,c,"trigger--btn").flag){e.preventDefault();i=U.value,i=(0,_dom.getPopupWrapperElement)(o?i:document.body);if(i){let n=i.clientWidth,u=i.clientHeight,r=e.clientX-c.offsetLeft,d=e.clientY-c.offsetTop;document.onmousemove=e=>{e.preventDefault();var t=c.offsetWidth,o=c.offsetHeight,i=m,t=n-t-m-1,l=m,o=u-o-m-1;let a=e.clientX-r,s=e.clientY-d;(a=a>t?t:a)<i&&(a=i),(s=s>o?o:s)<l&&(s=l),c.style.left=a+"px",c.style.top=s+"px",c.className=c.className.replace(/\s?is--drag/,"")+" is--drag",T("move",{type:"move"},e),f.isMoveStatus=!0,E.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,t&&(0,_vue.nextTick)(()=>{z()}),E.resizeFlag++,setTimeout(()=>{c.className=c.className.replace(/\s?is--drag/,"")},50)}}}},ae=e=>{e.preventDefault();let{minWidth:t,minHeight:o,storage:y,isWithinAppendTo:i}=B;var l=U.value,l=(0,_dom.getPopupWrapperElement)(i?l:document.body);if(l){let a=l.clientWidth,s=l.clientHeight,n=_xeUtils.default.toNumber(B.marginSize);let u=e.target.getAttribute("data-type"),r=(0,_dom.isScale)(t)?_xeUtils.default.toNumber(t)*a/100:_xeUtils.default.toNumber(t),d=(0,_dom.isScale)(o)?_xeUtils.default.toNumber(o)*s/100:_xeUtils.default.toNumber(o),m=a,c=s,f=C(),v=f.clientWidth,g=f.clientHeight,p=e.clientX,_=e.clientY,h=f.offsetTop,x=f.offsetLeft,b={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,o,i,l;switch(u){case"wl":t=p-e.clientX,i=t+v,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px");break;case"swst":t=p-e.clientX,o=_-e.clientY,i=t+v,l=o+g,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px"),h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"swlb":t=p-e.clientX,o=e.clientY-_,i=t+v,l=o+g,x-t>n&&i>r&&(f.style.width=`${i<m?i:m}px`,f.style.left=x-t+"px"),h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`);break;case"st":o=_-e.clientY,l=g+o,h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"wr":t=e.clientX-p,i=t+v,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`);break;case"sest":t=e.clientX-p,o=_-e.clientY,i=t+v,l=o+g,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`),h-o>n&&l>d&&(f.style.height=`${l<c?l:c}px`,f.style.top=h-o+"px");break;case"selb":t=e.clientX-p,o=e.clientY-_,i=t+v,l=o+g,x+i+n<a&&i>r&&(f.style.width=`${i<m?i:m}px`),h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`);break;case"sb":o=e.clientY-_,l=o+g,h+l+n<s&&l>d&&(f.style.height=`${l<c?l:c}px`)}f.className=f.className.replace(/\s?is--drag/,"")+" is--drag",y&&z(),T("resize",b,e)},document.onmouseup=()=>{E.revertLocat=null,document.onmousemove=null,document.onmouseup=null,setTimeout(()=>{f.className=f.className.replace(/\s?is--drag/,"")},50)}}},T=(e,t,o)=>{i(e,(0,_ui.createEvent)(o,{$modal:H},t))},se=e=>{i("update:modelValue",e)},ne=(e={dispatchEvent:T,open:t,close(){return a("close")},getBox:C,getPosition:()=>{if(!I.value){var e=C();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:(e,t)=>{var o;return I.value||(o=C())&&(_xeUtils.default.isNumber(e)&&(o.style.top=e+"px"),_xeUtils.default.isNumber(t))&&(o.style.left=t+"px"),(0,_vue.nextTick)()},isMinimized:()=>"minimize"===E.zoomStatus,isMaximized:()=>"maximize"===E.zoomStatus,zoom(){return w()},minimize(){var e=E.visible;return m.value&&e?h():Promise.resolve({status:!1})},maximize(){var e=E.visible;return m.value&&e?x():Promise.resolve({status:!1})},revert(){var e=E.visible;return m.value&&e?S():Promise.resolve({status:!1})}},Object.assign(H,e),()=>{var{slots:e={},showClose:t,showZoom:o,showMaximize:i,showMinimize:l,title:a}=B,s=E.zoomStatus,n=M.title||e.title,e=M.corner||e.corner,u=V.value,r=j.value;return[(0,_vue.h)("div",{class:"vxe-modal--header-title"},n?(0,_vn.getSlotVNs)(n({$modal:H,minimized:u,maximized:r})):a?(0,_utils.getFuncText)(a):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-modal--header-right"},[e&&!u?(0,_vue.h)("div",{class:"vxe-modal--corner-wrapper"},(0,_vn.getSlotVNs)(e({$modal:H}))):(0,_ui.renderEmptyElement)(H),(_xeUtils.default.isBoolean(l)?l:o)?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("minimize"===s?"Out":"Min")),onClick:te},[(0,_vue.h)("i",{class:"minimize"===s?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_ui.renderEmptyElement)(H),(_xeUtils.default.isBoolean(i)?i:o)&&"minimize"!==s?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("maximize"===s?"Out":"In")),onClick:oe},[(0,_vue.h)("i",{class:"maximize"===s?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_ui.renderEmptyElement)(H),t?(0,_vue.h)("div",{class:["vxe-modal--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.close"),onClick:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(H)])]}),ue=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:o,type:i,loading:l}=B,a=M.leftfoot||e.leftfoot,e=M.rightfoot||e.rightfoot,s=[];return(_xeUtils.default.isBoolean(t)?t:"confirm"===i)&&s.push((0,_vue.h)(_button.default,{key:1,ref:d,content:B.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:Y})),(_xeUtils.default.isBoolean(o)?o:"confirm"===i||"alert"===i)&&s.push((0,_vue.h)(_button.default,{key:2,ref:r,loading:l,status:"primary",content:B.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:R})),(0,_vue.h)("div",{class:"vxe-modal--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-modal--footer-left"},a?(0,_vn.getSlotVNs)(a({$modal:H})):[]),(0,_vue.h)("div",{class:"vxe-modal--footer-right"},e?(0,_vn.getSlotVNs)(e({$modal:H})):s)])};return H.renderVN=()=>{var{border:e,showTitleBackground:t,slots:o={},className:i,type:l,animat:a,draggable:s,iconStatus:n,position:u,loading:r,destroyOnClose:d,status:m,lockScroll:c,padding:f,lockView:v,mask:g,resize:p,appendTo:_,isWithinAppendTo:h}=B,{initialized:x,modalTop:b,contentVisible:y,visible:C,zoomStatus:z}=E,o=M.aside||o.aside,S=O.value,w=I.value,T=V.value,k=$.value,N={};return w&&(N.onMouseover=Q,N.onMouseout=J),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(_),disabled:!k||!x},[(0,_vue.h)("div",Object.assign({ref:U,class:["vxe-modal--wrapper","type--"+l,"zoom--"+(z||"revert"),u?"pos--"+u:"",h?"ctx--within":"ctx--free",i||"",{["size--"+S]:S,["status--"+m]:m,"is--padding":f,"is--border":e,"is--title-bg":t,"is--animat":a,"lock--scroll":c,"lock--view":v,"is--draggable":s,"is--resize":p,"is--mask":g,"is--visible":y,"is--active":C,"is--loading":r}],style:{zIndex:E.modalZindex,top:b?b+"px":null},onClick:X},N),[(0,_vue.h)("div",{ref:A,class:"vxe-modal--box",onMousedown:ie},[!w&&!o||T?(0,_ui.renderEmptyElement)(H):(0,_vue.h)("div",{class:"vxe-modal--aside"},o?(0,_vn.getSlotVNs)(o({$modal:H})):[m||n?(0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",n||(0,_ui.getIcon)()[("MODAL_"+m).toLocaleUpperCase()]]})]):(0,_ui.renderEmptyElement)(H)]),(0,_vue.h)("div",{class:"vxe-modal--container"},!E.initialized||d&&!E.visible?[]:[(()=>{var e,{slots:t={},showZoom:o,showMaximize:i,draggable:l}=B,t=M.header||t.header;return B.showHeader?(e={},l&&(e.onMousedown=le),(_xeUtils.default.isBoolean(i)?i:o)&&B.dblclickZoom&&"modal"===B.type&&(e.onDblclick=oe),(0,_vue.h)("div",Object.assign({ref:D,class:["vxe-modal--header",{"is--ellipsis":B.showTitleOverflow}]},e),t?(0,_vn.getSlotVNs)(t({$modal:H})):ne())):(0,_ui.renderEmptyElement)(H)})(),(()=>{var{slots:e={},status:t,message:o,iconStatus:i,useHtml:l}=B;let a=B.content||o;var o=W.value,s=I.value,n=q.value;let u=M.default||e.default;var r=M.left||e.left,e=M.right||e.right,d=[];return s||!t&&!i||d.push((0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",i||(0,_ui.getIcon)()[("MODAL_"+t).toLocaleUpperCase()]]})])),l&&!u?d.push(o?(0,_vue.h)(_scrollbar.default,Object.assign({key:"shc",class:"vxe-modal--scrollbar-content"},n),{default(){return[(0,_vue.h)("div",{class:"vxe-modal--scrollbar-content-html",innerHTML:(0,_utils.getFuncText)(a)})]}}):(0,_vue.h)("div",{key:"hc",class:"vxe-modal--content",innerHTML:(0,_utils.getFuncText)(a)})):d.push(o?(0,_vue.h)(_scrollbar.default,Object.assign({key:"sdc",class:"vxe-modal--scrollbar-content"},n),{default:()=>u?(0,_vn.getSlotVNs)(u({$modal:H})):(0,_utils.getFuncText)(a)}):(0,_vue.h)("div",{key:"dc",class:"vxe-modal--content"},u?(0,_vn.getSlotVNs)(u({$modal:H})):(0,_utils.getFuncText)(a))),(0,_vue.h)("div",{class:"vxe-modal--body"},[r?(0,_vue.h)("div",{class:"vxe-modal--body-left"},(0,_vn.getSlotVNs)(r({$modal:H}))):(0,_ui.renderEmptyElement)(H),(0,_vue.h)("div",{class:"vxe-modal--body-default"},d),e?(0,_vue.h)("div",{class:"vxe-modal--body-right"},(0,_vn.getSlotVNs)(e({$modal:H}))):(0,_ui.renderEmptyElement)(H),s?(0,_ui.renderEmptyElement)(H):(0,_vue.h)(_loading.default,{class:"vxe-modal--loading",modelValue:B.loading})])})(),(()=>{var{slots:e={}}=B,e=M.footer||e.footer;return B.showFooter?(0,_vue.h)("div",{class:"vxe-modal--footer"},e?(0,_vn.getSlotVNs)(e({$modal:H})):[ue()]):(0,_ui.renderEmptyElement)(H)})(),!w&&p?(0,_vue.h)("span",{class:"vxe-modal--resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(e=>(0,_vue.h)("span",{class:e+"-resize","data-type":e,onMousedown:ae}))):(0,_ui.renderEmptyElement)(H)])])])])},(0,_vue.watch)(()=>B.width,c),(0,_vue.watch)(()=>B.height,c),(0,_vue.watch)(()=>B.modelValue,e=>{e?t():a("model")}),(0,_vue.onMounted)(()=>{"modal"===B.type&&B.showFooter&&!(B.showConfirmButton||B.showCancelButton||M.footer)&&warnLog("vxe.modal.footPropErr"),E.initialized=!!B.preload,(0,_vue.nextTick)(()=>{B.storage&&!B.id&&errLog("vxe.error.reqProp",["id"]),B.modelValue&&t(),c()}),B.escClosable&&_ui.globalEvents.on(H,"keydown",G),_ui.globalEvents.on(H,"resize",ee)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(H,"keydown"),_ui.globalEvents.off(H,"resize"),n(),s(),y(),_xeUtils.default.assign(E,createReactData()),_xeUtils.default.assign(f,createInternalData())}),(0,_vue.provide)("$xeModal",H),H},render(){return this.renderVN()}});
|