vxe-pc-ui 4.9.31 → 4.9.32
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/es/button/src/button.js +1 -1
- package/es/date-picker/src/date-picker.js +1 -1
- package/es/date-range-picker/src/date-range-picker.js +1 -1
- package/es/form/render/index.js +1 -1
- package/es/form/src/form.js +4 -4
- package/es/form/src/itemInfo.js +4 -4
- package/es/icon/style.css +1 -1
- package/es/image-preview/index.js +1 -1
- package/es/modal/src/modal.js +1 -1
- package/es/pager/src/pager.js +2 -2
- package/es/select/src/select.js +25 -2
- package/es/split/src/split.js +5 -5
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +23 -10
- package/es/tabs/src/tabs.js +2 -2
- package/es/tree/src/tree.js +7 -3
- package/es/tree-select/src/tree-select.js +16 -4
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +2 -2
- package/lib/button/src/button.js +1 -1
- package/lib/button/src/button.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +1 -1
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/form/render/index.js +1 -1
- package/lib/form/render/index.min.js +1 -1
- package/lib/form/src/form.js +4 -4
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/itemInfo.js +4 -4
- package/lib/form/src/itemInfo.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/image-preview/index.js +1 -1
- package/lib/image-preview/index.min.js +1 -1
- package/lib/index.umd.js +103 -45
- package/lib/index.umd.min.js +1 -1
- package/lib/modal/src/modal.js +1 -1
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/pager/src/pager.js +2 -2
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/select/src/select.js +29 -2
- package/lib/select/src/select.min.js +1 -1
- package/lib/split/src/split.js +5 -5
- package/lib/split/src/split.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +24 -10
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tabs/src/tabs.js +2 -2
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tree/src/tree.js +6 -2
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +17 -4
- package/lib/tree-select/src/tree-select.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/upload/src/upload.js +2 -2
- package/lib/upload/src/upload.min.js +1 -1
- package/package.json +1 -1
- package/packages/button/src/button.ts +1 -1
- package/packages/date-picker/src/date-picker.ts +1 -1
- package/packages/date-range-picker/src/date-range-picker.ts +1 -1
- package/packages/form/render/index.ts +1 -1
- package/packages/form/src/form.ts +4 -4
- package/packages/form/src/itemInfo.ts +4 -4
- package/packages/image-preview/index.ts +2 -1
- package/packages/modal/src/modal.ts +1 -1
- package/packages/pager/src/pager.ts +2 -2
- package/packages/select/src/select.ts +25 -2
- package/packages/split/src/split.ts +5 -5
- package/packages/table-select/src/table-select.ts +24 -11
- package/packages/tabs/src/tabs.ts +2 -2
- package/packages/tree/src/tree.ts +6 -3
- package/packages/tree-select/src/tree-select.ts +16 -4
- package/packages/upload/index.ts +1 -0
- package/packages/upload/src/upload.ts +2 -2
- package/types/components/select.d.ts +2 -0
- package/types/components/table-select.d.ts +3 -1
- package/types/components/tree-select.d.ts +2 -0
- package/types/components/tree.d.ts +8 -0
- /package/es/icon/{iconfont.1758099912007.ttf → iconfont.1758173429533.ttf} +0 -0
- /package/es/icon/{iconfont.1758099912007.woff → iconfont.1758173429533.woff} +0 -0
- /package/es/icon/{iconfont.1758099912007.woff2 → iconfont.1758173429533.woff2} +0 -0
- /package/es/{iconfont.1758099912007.ttf → iconfont.1758173429533.ttf} +0 -0
- /package/es/{iconfont.1758099912007.woff → iconfont.1758173429533.woff} +0 -0
- /package/es/{iconfont.1758099912007.woff2 → iconfont.1758173429533.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1758099912007.ttf → iconfont.1758173429533.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1758099912007.woff → iconfont.1758173429533.woff} +0 -0
- /package/lib/icon/style/{iconfont.1758099912007.woff2 → iconfont.1758173429533.woff2} +0 -0
- /package/lib/{iconfont.1758099912007.ttf → iconfont.1758173429533.ttf} +0 -0
- /package/lib/{iconfont.1758099912007.woff → iconfont.1758173429533.woff} +0 -0
- /package/lib/{iconfont.1758099912007.woff2 → iconfont.1758173429533.woff2} +0 -0
package/lib/modal/src/modal.js
CHANGED
|
@@ -1468,7 +1468,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1468
1468
|
}
|
|
1469
1469
|
(0, _vue.nextTick)(() => {
|
|
1470
1470
|
if (props.storage && !props.id) {
|
|
1471
|
-
(0, _log.errLog)('vxe.error.reqProp', ['modal
|
|
1471
|
+
(0, _log.errLog)('vxe.error.reqProp', ['[modal] id']);
|
|
1472
1472
|
}
|
|
1473
1473
|
if (props.modelValue) {
|
|
1474
1474
|
openModal();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveModals=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"),_button=_interopRequireDefault(require("../../button/src/button")),_index=_interopRequireDefault(require("../../loading/index")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const allActiveModals=exports.allActiveModals=[],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],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,showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showFooter},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:[Number,String],height:[Number,String],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:Boolean,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},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,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(C,e){const{slots:k,emit:i}=e,a=_xeUtils.default.uniqueId(),I=(0,_vue.inject)("$xeModal",null),L=(0,_vue.inject)("$xeDrawer",null),Z=(0,_vue.inject)("$xeTable",null),A=(0,_vue.inject)("$xeForm",null),N=(0,_ui.useSize)(C)["computeSize"],B=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0,resizeFlag:1}),t={msgTimeout:void 0},M=(0,_vue.ref)(),T=(0,_vue.ref)(),O=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),$={refElem:M},H=(0,_vue.computed)(()=>{var e=C["transfer"];if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(Z||I||L||A)return!0}return e}),E=(0,_vue.computed)(()=>"message"===C.type||"notification"===C.type),U=(0,_vue.computed)(()=>"minimize"===B.zoomStatus),j=(0,_vue.computed)(()=>"maximize"===B.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,C.zoomConfig)),W={computeSize:N,computeZoomOpts:l},V={xID:a,props:C,context:e,reactData:B,internalData:t,getRefMaps:()=>$,getComputeMaps:()=>W};const z=()=>{return T.value},d=()=>{var{width:e,height:t}=C,o=z();return o&&(o.style.width=e?(0,_dom.toCssUnit)(e):"",o.style.height=t?(0,_dom.toCssUnit)(t):""),(0,_vue.nextTick)()},s=()=>{var e=C["zIndex"],t=B["modalZindex"];e?B.modalZindex=e:E.value?t<(0,_utils.getSubLastZIndex)()&&(B.modalZindex=(0,_utils.nextSubZIndex)()):t<(0,_utils.getLastZIndex)()&&(B.modalZindex=(0,_utils.nextZIndex)())},c=()=>(0,_vue.nextTick)().then(()=>{var o=C["position"],i=_xeUtils.default.toNumber(C.marginSize),l=z();if(l){var a=document.documentElement.clientWidth||document.body.clientWidth,s=document.documentElement.clientHeight||document.body.clientHeight,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)?isNaN(u)?u:u+"px":Math.max(i,a/2-l.offsetWidth/2)+"px",e=o&&!r?isNaN(o)?o:o+"px":Math.max(i,s/2-l.offsetHeight/2)+"px",l.style.top=e,l.style.left=t}}),r=()=>{(0,_vue.nextTick)(()=>{var e=C["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)})})},m=()=>{var e=C["type"],e="notification"===e?notifyQueue:msgQueue;-1<e.indexOf(V)&&_xeUtils.default.remove(e,e=>e===V),r()},v=e=>{const t=C["remember"];var o=B["visible"];const i=E.value;var l=C.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod;const a={type:e};return o&&Promise.resolve(l?l(a):null).then(e=>{_xeUtils.default.isError(e)||(i&&m(),B.contentVisible=!1,t||x(),_xeUtils.default.remove(allActiveModals,e=>e===V),w("before-hide",a,null),setTimeout(()=>{B.visible=!1,b(!1),w("hide",a,null)},200),h())}).catch(e=>e),(0,_vue.nextTick)()},q=e=>{var t="close";w(t,{type:t},e),v(t)},K=e=>{var t=C["confirmClosable"],o="confirm";w(o,{type:o},e),t&&v(o)},P=e=>{var t=C["cancelClosable"],o="cancel";w(o,{type:o},e),t&&v(o)},f=e=>{var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},S=()=>{var{id:e,storage:t,storageKey:o}=C,{zoomStatus:i,revertLocat:l}=B;i||e&&t&&(i=z())&&((t=f(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)))},g=()=>{const{minimizeLayout:e,minimizeMaxSize:t,minimizeHorizontalOffset:s,minimizeVerticalOffset:n,minimizeOffsetMethod:u}=l.value,r="horizontal"===e,m=B.zoomStatus,o=[],i=[],d=(allActiveModals.forEach(e=>{e.xID!==V.xID&&"modal"===e.props.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.getComputeMaps().computeZoomOpts.value.minimizeLayout?o:i).push(e)}),r?o:i);return t&&d.length>=t?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[t])}),Promise.resolve({status:!1})):(B.prevZoomStatus=m,B.zoomStatus="minimize",(0,_vue.nextTick)().then(()=>{var e=z();if(!e)return{status:!1};var t=O.value;if(!t)return{status:!1};var o=(0,_dom.getDomNode)()["visibleHeight"],i=(m||(B.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[r?"max":"min"](d,e=>{e=e.getBox();return e?_xeUtils.default.toNumber(e.style[r?"left":"top"]):0}));let l=o-t.offsetHeight-16,a=16;if(i){o=i.getBox();if(o){i=_xeUtils.default.toNumber(o.style.left),o=_xeUtils.default.toNumber(o.style.top);let e={};e=r?Object.assign({},s):Object.assign({},n),a=i+_xeUtils.default.toNumber(e.left),l=o+_xeUtils.default.toNumber(e.top),u&&(e=u({$modal:V,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:t.offsetHeight+"px"}),S(),{status:!0}}))},p=()=>{const l=B.zoomStatus;return B.prevZoomStatus=l,B.zoomStatus="maximize",(0,_vue.nextTick)().then(()=>{var e,t,o,i=z();return i&&(l||(e=_xeUtils.default.toNumber(C.marginSize),t=document.documentElement.clientWidth||document.body.clientWidth,o=document.documentElement.clientHeight||document.body.clientHeight,B.revertLocat={top:Math.max(e,o/2-i.offsetHeight/2),left:Math.max(e,t/2-i.offsetWidth/2),width:i.offsetWidth+(i.style.width?0:1),height:i.offsetHeight+(i.style.height?0:1)}),Object.assign(i.style,{top:"0",left:"0",width:"100%",height:"100%"})),S(),{status:!0}})},_=()=>{var e=C["duration"];-1!==e&&(t.msgTimeout=setTimeout(()=>v("close"),_xeUtils.default.toNumber(e)))},h=()=>{var e=document.documentElement,t=e.getAttribute(lockScrollAttrKey);t&&((t=t.split(",").filter(e=>e!==a)).length?e.setAttribute(lockScrollAttrKey,t.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},o=()=>{const{remember:m,showFooter:o}=C;var e,{initialized:t,visible:i}=B,l=E.value;return t||(B.initialized=!0),i||(t=C.lockScroll,i=E.value,t&&!i&&(t=document.documentElement,i=document.body.clientWidth,(e=(e=t.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(a)||(e.push(a),t.setAttribute(lockScrollAttrKey,e.join(","))),t.style.setProperty(lockScrollCssWidthKey,i+"px")),B.visible=!0,B.contentVisible=!1,s(),allActiveModals.push(V),setTimeout(()=>{B.contentVisible=!0,(0,_vue.nextTick)(()=>{o&&(e=n.value,t=u.value,e=e||t)&&e.focus();var e,t={type:""};b(!0),w("show",t,null)})},10),l?(-1===(e="notification"===(e=C.type)?notifyQueue:msgQueue).indexOf(V)&&e.push(V),r(),_()):(0,_vue.nextTick)(()=>{var e,t,o,i,l,a,s,n,u=C["fullscreen"],r=B["firstOpen"];r?(B.firstOpen=!1,(()=>{var{id:e,storage:t,storageKey:o}=C;return!!(e&&t&&f(o)[e])})()?({id:r,storage:s,storageKey:n}=C,r&&s&&(s=f(n)[r])&&(n=z(),[r,s,e,t,o,i,l,a]=s.split(","),n&&(r&&(n.style.left=r+"px"),s&&(n.style.top=s+"px"),e&&(n.style.width=e+"px"),t)&&(n.style.height=t+"px"),o)&&i&&(B.revertLocat={left:o,top:i,width:l,height:a})):u?(0,_vue.nextTick)(()=>p()):(d(),c().then(()=>{setTimeout(()=>c(),20)}))):m||(d(),c().then(()=>{setTimeout(()=>c(),20)}))})),(0,_vue.nextTick)()},F=e=>{var t=M.value;C.maskClosable&&e.target===t&&v("mask")},Y=()=>{var e=t["msgTimeout"];e&&E.value&&(clearTimeout(e),t.msgTimeout=void 0)},X=()=>{var e=t["msgTimeout"];e||E.value&&_()},Q=e=>{if(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){const t=_xeUtils.default.max(allActiveModals,e=>e.reactData.modalZindex);t&&setTimeout(()=>{t===V&&t.props.escClosable&&(w("close",{type:"exit"},e),v("exit"))},10)}};const x=()=>(B.prevZoomStatus=B.zoomStatus,(B.zoomStatus="",_vue.nextTick)().then(()=>{var e,t=B["revertLocat"];return t?(e=z(),B.revertLocat=null,e&&Object.assign(e.style,{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"}),S(),(0,_vue.nextTick)().then(()=>({status:!0}))):{status:!1}})),y=t=>{const o=B["zoomStatus"];return new Promise(e=>{if(t)return"maximize"===t?void e(p()):"minimize"===t?void e(g()):void e(x());e((o?x:p)())}).then(()=>B.zoomStatus||"revert")},R=t=>{var{zoomStatus:e,prevZoomStatus:o}=B;return y("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};w("zoom",e,t)})},D=t=>y().then(e=>{e={type:e};w("zoom",e,t)});const J=()=>{const t=B["modalZindex"];allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&s()},G=e=>{const t=C["storage"];var o=B["zoomStatus"];const n=_xeUtils.default.toNumber(C.marginSize),u=z();if(u&&"maximize"!==o&&0===e.button&&!(0,_dom.getEventTargetNode)(e,u,"trigger--btn").flag){e.preventDefault();const r=e.clientX-u.offsetLeft,m=e.clientY-u.offsetTop,{visibleHeight:d,visibleWidth:c}=(0,_dom.getDomNode)();document.onmousemove=e=>{e.preventDefault();var t=u.offsetWidth,o=u.offsetHeight,i=n,t=c-t-n-1,l=n,o=d-o-n-1;let a=e.clientX-r,s=e.clientY-m;(a=a>t?t:a)<i&&(a=i),(s=s>o?o:s)<l&&(s=l),u.style.left=a+"px",u.style.top=s+"px",u.className=u.className.replace(/\s?is--drag/,"")+" is--drag",w("move",{type:"move"},e),B.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,t&&(0,_vue.nextTick)(()=>{S()}),B.resizeFlag++,setTimeout(()=>{u.className=u.className.replace(/\s?is--drag/,"")},50)}}},ee=e=>{e.preventDefault();const a=C["storage"],{visibleHeight:s,visibleWidth:n}=(0,_dom.getDomNode)(),u=_xeUtils.default.toNumber(C.marginSize);const r=e.target.getAttribute("type"),m=_xeUtils.default.toNumber(C.minWidth),d=_xeUtils.default.toNumber(C.minHeight),c=n,v=s,f=z(),g=f.clientWidth,p=f.clientHeight,_=e.clientX,h=e.clientY,x=f.offsetTop,y=f.offsetLeft,b={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,o,i,l;switch(r){case"wl":t=_-e.clientX,i=t+g,y-t>u&&i>m&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px");break;case"swst":t=_-e.clientX,o=h-e.clientY,i=t+g,l=o+p,y-t>u&&i>m&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px"),x-o>u&&l>d&&(f.style.height=`${l<v?l:v}px`,f.style.top=x-o+"px");break;case"swlb":t=_-e.clientX,o=e.clientY-h,i=t+g,l=o+p,y-t>u&&i>m&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px"),x+l+u<s&&l>d&&(f.style.height=`${l<v?l:v}px`);break;case"st":o=h-e.clientY,l=p+o,x-o>u&&l>d&&(f.style.height=`${l<v?l:v}px`,f.style.top=x-o+"px");break;case"wr":t=e.clientX-_,i=t+g,y+i+u<n&&i>m&&(f.style.width=`${i<c?i:c}px`);break;case"sest":t=e.clientX-_,o=h-e.clientY,i=t+g,l=o+p,y+i+u<n&&i>m&&(f.style.width=`${i<c?i:c}px`),x-o>u&&l>d&&(f.style.height=`${l<v?l:v}px`,f.style.top=x-o+"px");break;case"selb":t=e.clientX-_,o=e.clientY-h,i=t+g,l=o+p,y+i+u<n&&i>m&&(f.style.width=`${i<c?i:c}px`),x+l+u<s&&l>d&&(f.style.height=`${l<v?l:v}px`);break;case"sb":o=e.clientY-h,l=o+p,x+l+u<s&&l>d&&(f.style.height=`${l<v?l:v}px`)}f.className=f.className.replace(/\s?is--drag/,"")+" is--drag",a&&S(),w("resize",b,e)},document.onmouseup=()=>{B.revertLocat=null,document.onmousemove=null,document.onmouseup=null,setTimeout(()=>{f.className=f.className.replace(/\s?is--drag/,"")},50)}},w=(e,t,o)=>{i(e,(0,_ui.createEvent)(o,{$modal:V},t))},b=e=>{i("update:modelValue",e)},te=(e={dispatchEvent:w,open:o,close(){return v("close")},getBox:z,getPosition:()=>{if(!E.value){var e=z();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:(e,t)=>{var o;return E.value||(o=z())&&(_xeUtils.default.isNumber(e)&&(o.style.top=e+"px"),_xeUtils.default.isNumber(t))&&(o.style.left=t+"px"),(0,_vue.nextTick)()},isMinimized:()=>"minimize"===B.zoomStatus,isMaximized:()=>"maximize"===B.zoomStatus,zoom(){return y()},minimize(){return B.visible?g():Promise.resolve({status:!1})},maximize(){return B.visible?p():Promise.resolve({status:!1})},revert(){return B.visible?x():Promise.resolve({status:!1})}},Object.assign(V,e),()=>{var{slots:e={},showClose:t,showZoom:o,showMaximize:i,showMinimize:l,title:a}=C,s=B["zoomStatus"],n=k.title||e.title,e=k.corner||e.corner,u=U.value,r=j.value;return[(0,_vue.h)("div",{class:"vxe-modal--header-title"},n?(0,_vn.getSlotVNs)(n({$modal:V,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:V}))):(0,_ui.renderEmptyElement)(V),(_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:R},[(0,_vue.h)("i",{class:"minimize"===s?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_ui.renderEmptyElement)(V),(_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:D},[(0,_vue.h)("i",{class:"maximize"===s?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_ui.renderEmptyElement)(V),t?(0,_vue.h)("div",{class:["vxe-modal--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.close"),onClick:q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(V)])]}),oe=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:o,type:i,loading:l}=C,a=k.leftfoot||e.leftfoot,e=k.rightfoot||e.rightfoot,s=[];return(_xeUtils.default.isBoolean(t)?t:"confirm"===i)&&s.push((0,_vue.h)(_button.default,{key:1,ref:u,content:C.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:P})),(_xeUtils.default.isBoolean(o)?o:"confirm"===i||"alert"===i)&&s.push((0,_vue.h)(_button.default,{key:2,ref:n,loading:l,status:"primary",content:C.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:V})):[]),(0,_vue.h)("div",{class:"vxe-modal--footer-right"},e?(0,_vn.getSlotVNs)(e({$modal:V})):s)])};return V.renderVN=()=>{var{slots:e={},className:t,type:o,animat:i,draggable:l,iconStatus:a,position:s,loading:n,destroyOnClose:u,status:r,lockScroll:m,padding:d,lockView:c,mask:v,resize:f}=C,{initialized:g,modalTop:p,contentVisible:_,visible:h,zoomStatus:x}=B,e=k.aside||e.aside,y=N.value,b=E.value,z=U.value,S=H.value,w={};return b&&(w.onMouseover=Y,w.onMouseout=X),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!S||!g},[(0,_vue.h)("div",Object.assign({ref:M,class:["vxe-modal--wrapper","type--"+o,"zoom--"+(x||"revert"),t||"",s?"pos--"+s:"",{["size--"+y]:y,["status--"+r]:r,"is--padding":d,"is--animat":i,"lock--scroll":m,"lock--view":c,"is--draggable":l,"is--resize":f,"is--mask":v,"is--visible":_,"is--active":h,"is--loading":n}],style:{zIndex:B.modalZindex,top:p?p+"px":null},onClick:F},w),[(0,_vue.h)("div",{ref:T,class:"vxe-modal--box",onMousedown:J},[!b&&!e||z?(0,_ui.renderEmptyElement)(V):(0,_vue.h)("div",{class:"vxe-modal--aside"},e?(0,_vn.getSlotVNs)(e({$modal:V})):[r||a?(0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",a||(0,_ui.getIcon)()[("MODAL_"+r).toLocaleUpperCase()]]})]):(0,_ui.renderEmptyElement)(V)]),(0,_vue.h)("div",{class:"vxe-modal--container"},!B.initialized||u&&!B.visible?[]:[(()=>{var e,{slots:t={},showZoom:o,showMaximize:i,draggable:l}=C,t=k.header||t.header;return C.showHeader?(e={},l&&(e.onMousedown=G),(_xeUtils.default.isBoolean(i)?i:o)&&C.dblclickZoom&&"modal"===C.type&&(e.onDblclick=D),(0,_vue.h)("div",Object.assign({ref:O,class:["vxe-modal--header",{"is--ellipsis":C.showTitleOverflow}]},e),t?(0,_vn.getSlotVNs)(t({$modal:V})):te())):(0,_ui.renderEmptyElement)(V)})(),(()=>{var{slots:e={},status:t,message:o,iconStatus:i}=C,o=C.content||o,l=E.value,a=k.default||e.default,s=k.left||e.left,e=k.right||e.right,n=[];return l||!t&&!i||n.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()]]})])),n.push((0,_vue.h)("div",{class:"vxe-modal--content"},a?(0,_vn.getSlotVNs)(a({$modal:V})):(0,_utils.getFuncText)(o))),(0,_vue.h)("div",{class:"vxe-modal--body"},[s?(0,_vue.h)("div",{class:"vxe-modal--body-left"},(0,_vn.getSlotVNs)(s({$modal:V}))):(0,_ui.renderEmptyElement)(V),(0,_vue.h)("div",{class:"vxe-modal--body-default"},n),e?(0,_vue.h)("div",{class:"vxe-modal--body-right"},(0,_vn.getSlotVNs)(e({$modal:V}))):(0,_ui.renderEmptyElement)(V),l?(0,_ui.renderEmptyElement)(V):(0,_vue.h)(_index.default,{class:"vxe-modal--loading",modelValue:C.loading})])})(),(()=>{var{slots:e={}}=C,e=k.footer||e.footer;return C.showFooter?(0,_vue.h)("div",{class:"vxe-modal--footer"},e?(0,_vn.getSlotVNs)(e({$modal:V})):[oe()]):(0,_ui.renderEmptyElement)(V)})(),!b&&f?(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",type:e,onMousedown:ee}))):(0,_ui.renderEmptyElement)(V)])])])])},(0,_vue.watch)(()=>C.width,d),(0,_vue.watch)(()=>C.height,d),(0,_vue.watch)(()=>C.modelValue,e=>{e?o():v("model")}),(0,_vue.onMounted)(()=>{"modal"===C.type&&C.showFooter&&!(C.showConfirmButton||C.showCancelButton||k.footer)&&(0,_log.warnLog)("vxe.modal.footPropErr"),(0,_vue.nextTick)(()=>{C.storage&&!C.id&&(0,_log.errLog)("vxe.error.reqProp",["modal.id"]),C.modelValue&&o(),d()}),C.escClosable&&_ui.globalEvents.on(V,"keydown",Q)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(V,"keydown"),m(),h()}),(0,_vue.provide)("$xeModal",V),V},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveModals=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"),_button=_interopRequireDefault(require("../../button/src/button")),_index=_interopRequireDefault(require("../../loading/index")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const allActiveModals=exports.allActiveModals=[],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],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,showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showFooter},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:[Number,String],height:[Number,String],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:Boolean,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},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,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(C,e){const{slots:k,emit:i}=e,a=_xeUtils.default.uniqueId(),I=(0,_vue.inject)("$xeModal",null),L=(0,_vue.inject)("$xeDrawer",null),Z=(0,_vue.inject)("$xeTable",null),A=(0,_vue.inject)("$xeForm",null),N=(0,_ui.useSize)(C)["computeSize"],B=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0,resizeFlag:1}),t={msgTimeout:void 0},M=(0,_vue.ref)(),T=(0,_vue.ref)(),O=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),$={refElem:M},H=(0,_vue.computed)(()=>{var e=C["transfer"];if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(Z||I||L||A)return!0}return e}),E=(0,_vue.computed)(()=>"message"===C.type||"notification"===C.type),U=(0,_vue.computed)(()=>"minimize"===B.zoomStatus),j=(0,_vue.computed)(()=>"maximize"===B.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,C.zoomConfig)),W={computeSize:N,computeZoomOpts:l},V={xID:a,props:C,context:e,reactData:B,internalData:t,getRefMaps:()=>$,getComputeMaps:()=>W};const z=()=>{return T.value},d=()=>{var{width:e,height:t}=C,o=z();return o&&(o.style.width=e?(0,_dom.toCssUnit)(e):"",o.style.height=t?(0,_dom.toCssUnit)(t):""),(0,_vue.nextTick)()},s=()=>{var e=C["zIndex"],t=B["modalZindex"];e?B.modalZindex=e:E.value?t<(0,_utils.getSubLastZIndex)()&&(B.modalZindex=(0,_utils.nextSubZIndex)()):t<(0,_utils.getLastZIndex)()&&(B.modalZindex=(0,_utils.nextZIndex)())},c=()=>(0,_vue.nextTick)().then(()=>{var o=C["position"],i=_xeUtils.default.toNumber(C.marginSize),l=z();if(l){var a=document.documentElement.clientWidth||document.body.clientWidth,s=document.documentElement.clientHeight||document.body.clientHeight,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)?isNaN(u)?u:u+"px":Math.max(i,a/2-l.offsetWidth/2)+"px",e=o&&!r?isNaN(o)?o:o+"px":Math.max(i,s/2-l.offsetHeight/2)+"px",l.style.top=e,l.style.left=t}}),r=()=>{(0,_vue.nextTick)(()=>{var e=C["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)})})},m=()=>{var e=C["type"],e="notification"===e?notifyQueue:msgQueue;-1<e.indexOf(V)&&_xeUtils.default.remove(e,e=>e===V),r()},v=e=>{const t=C["remember"];var o=B["visible"];const i=E.value;var l=C.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod;const a={type:e};return o&&Promise.resolve(l?l(a):null).then(e=>{_xeUtils.default.isError(e)||(i&&m(),B.contentVisible=!1,t||x(),_xeUtils.default.remove(allActiveModals,e=>e===V),w("before-hide",a,null),setTimeout(()=>{B.visible=!1,b(!1),w("hide",a,null)},200),h())}).catch(e=>e),(0,_vue.nextTick)()},q=e=>{var t="close";w(t,{type:t},e),v(t)},K=e=>{var t=C["confirmClosable"],o="confirm";w(o,{type:o},e),t&&v(o)},P=e=>{var t=C["cancelClosable"],o="cancel";w(o,{type:o},e),t&&v(o)},f=e=>{var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},S=()=>{var{id:e,storage:t,storageKey:o}=C,{zoomStatus:i,revertLocat:l}=B;i||e&&t&&(i=z())&&((t=f(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)))},g=()=>{const{minimizeLayout:e,minimizeMaxSize:t,minimizeHorizontalOffset:s,minimizeVerticalOffset:n,minimizeOffsetMethod:u}=l.value,r="horizontal"===e,m=B.zoomStatus,o=[],i=[],d=(allActiveModals.forEach(e=>{e.xID!==V.xID&&"modal"===e.props.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.getComputeMaps().computeZoomOpts.value.minimizeLayout?o:i).push(e)}),r?o:i);return t&&d.length>=t?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[t])}),Promise.resolve({status:!1})):(B.prevZoomStatus=m,B.zoomStatus="minimize",(0,_vue.nextTick)().then(()=>{var e=z();if(!e)return{status:!1};var t=O.value;if(!t)return{status:!1};var o=(0,_dom.getDomNode)()["visibleHeight"],i=(m||(B.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[r?"max":"min"](d,e=>{e=e.getBox();return e?_xeUtils.default.toNumber(e.style[r?"left":"top"]):0}));let l=o-t.offsetHeight-16,a=16;if(i){o=i.getBox();if(o){i=_xeUtils.default.toNumber(o.style.left),o=_xeUtils.default.toNumber(o.style.top);let e={};e=r?Object.assign({},s):Object.assign({},n),a=i+_xeUtils.default.toNumber(e.left),l=o+_xeUtils.default.toNumber(e.top),u&&(e=u({$modal:V,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:t.offsetHeight+"px"}),S(),{status:!0}}))},p=()=>{const l=B.zoomStatus;return B.prevZoomStatus=l,B.zoomStatus="maximize",(0,_vue.nextTick)().then(()=>{var e,t,o,i=z();return i&&(l||(e=_xeUtils.default.toNumber(C.marginSize),t=document.documentElement.clientWidth||document.body.clientWidth,o=document.documentElement.clientHeight||document.body.clientHeight,B.revertLocat={top:Math.max(e,o/2-i.offsetHeight/2),left:Math.max(e,t/2-i.offsetWidth/2),width:i.offsetWidth+(i.style.width?0:1),height:i.offsetHeight+(i.style.height?0:1)}),Object.assign(i.style,{top:"0",left:"0",width:"100%",height:"100%"})),S(),{status:!0}})},_=()=>{var e=C["duration"];-1!==e&&(t.msgTimeout=setTimeout(()=>v("close"),_xeUtils.default.toNumber(e)))},h=()=>{var e=document.documentElement,t=e.getAttribute(lockScrollAttrKey);t&&((t=t.split(",").filter(e=>e!==a)).length?e.setAttribute(lockScrollAttrKey,t.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},o=()=>{const{remember:m,showFooter:o}=C;var e,{initialized:t,visible:i}=B,l=E.value;return t||(B.initialized=!0),i||(t=C.lockScroll,i=E.value,t&&!i&&(t=document.documentElement,i=document.body.clientWidth,(e=(e=t.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(a)||(e.push(a),t.setAttribute(lockScrollAttrKey,e.join(","))),t.style.setProperty(lockScrollCssWidthKey,i+"px")),B.visible=!0,B.contentVisible=!1,s(),allActiveModals.push(V),setTimeout(()=>{B.contentVisible=!0,(0,_vue.nextTick)(()=>{o&&(e=n.value,t=u.value,e=e||t)&&e.focus();var e,t={type:""};b(!0),w("show",t,null)})},10),l?(-1===(e="notification"===(e=C.type)?notifyQueue:msgQueue).indexOf(V)&&e.push(V),r(),_()):(0,_vue.nextTick)(()=>{var e,t,o,i,l,a,s,n,u=C["fullscreen"],r=B["firstOpen"];r?(B.firstOpen=!1,(()=>{var{id:e,storage:t,storageKey:o}=C;return!!(e&&t&&f(o)[e])})()?({id:r,storage:s,storageKey:n}=C,r&&s&&(s=f(n)[r])&&(n=z(),[r,s,e,t,o,i,l,a]=s.split(","),n&&(r&&(n.style.left=r+"px"),s&&(n.style.top=s+"px"),e&&(n.style.width=e+"px"),t)&&(n.style.height=t+"px"),o)&&i&&(B.revertLocat={left:o,top:i,width:l,height:a})):u?(0,_vue.nextTick)(()=>p()):(d(),c().then(()=>{setTimeout(()=>c(),20)}))):m||(d(),c().then(()=>{setTimeout(()=>c(),20)}))})),(0,_vue.nextTick)()},F=e=>{var t=M.value;C.maskClosable&&e.target===t&&v("mask")},Y=()=>{var e=t["msgTimeout"];e&&E.value&&(clearTimeout(e),t.msgTimeout=void 0)},X=()=>{var e=t["msgTimeout"];e||E.value&&_()},Q=e=>{if(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){const t=_xeUtils.default.max(allActiveModals,e=>e.reactData.modalZindex);t&&setTimeout(()=>{t===V&&t.props.escClosable&&(w("close",{type:"exit"},e),v("exit"))},10)}};const x=()=>(B.prevZoomStatus=B.zoomStatus,(B.zoomStatus="",_vue.nextTick)().then(()=>{var e,t=B["revertLocat"];return t?(e=z(),B.revertLocat=null,e&&Object.assign(e.style,{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"}),S(),(0,_vue.nextTick)().then(()=>({status:!0}))):{status:!1}})),y=t=>{const o=B["zoomStatus"];return new Promise(e=>{if(t)return"maximize"===t?void e(p()):"minimize"===t?void e(g()):void e(x());e((o?x:p)())}).then(()=>B.zoomStatus||"revert")},R=t=>{var{zoomStatus:e,prevZoomStatus:o}=B;return y("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};w("zoom",e,t)})},D=t=>y().then(e=>{e={type:e};w("zoom",e,t)});const J=()=>{const t=B["modalZindex"];allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&s()},G=e=>{const t=C["storage"];var o=B["zoomStatus"];const n=_xeUtils.default.toNumber(C.marginSize),u=z();if(u&&"maximize"!==o&&0===e.button&&!(0,_dom.getEventTargetNode)(e,u,"trigger--btn").flag){e.preventDefault();const r=e.clientX-u.offsetLeft,m=e.clientY-u.offsetTop,{visibleHeight:d,visibleWidth:c}=(0,_dom.getDomNode)();document.onmousemove=e=>{e.preventDefault();var t=u.offsetWidth,o=u.offsetHeight,i=n,t=c-t-n-1,l=n,o=d-o-n-1;let a=e.clientX-r,s=e.clientY-m;(a=a>t?t:a)<i&&(a=i),(s=s>o?o:s)<l&&(s=l),u.style.left=a+"px",u.style.top=s+"px",u.className=u.className.replace(/\s?is--drag/,"")+" is--drag",w("move",{type:"move"},e),B.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,t&&(0,_vue.nextTick)(()=>{S()}),B.resizeFlag++,setTimeout(()=>{u.className=u.className.replace(/\s?is--drag/,"")},50)}}},ee=e=>{e.preventDefault();const a=C["storage"],{visibleHeight:s,visibleWidth:n}=(0,_dom.getDomNode)(),u=_xeUtils.default.toNumber(C.marginSize);const r=e.target.getAttribute("type"),m=_xeUtils.default.toNumber(C.minWidth),d=_xeUtils.default.toNumber(C.minHeight),c=n,v=s,f=z(),g=f.clientWidth,p=f.clientHeight,_=e.clientX,h=e.clientY,x=f.offsetTop,y=f.offsetLeft,b={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,o,i,l;switch(r){case"wl":t=_-e.clientX,i=t+g,y-t>u&&i>m&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px");break;case"swst":t=_-e.clientX,o=h-e.clientY,i=t+g,l=o+p,y-t>u&&i>m&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px"),x-o>u&&l>d&&(f.style.height=`${l<v?l:v}px`,f.style.top=x-o+"px");break;case"swlb":t=_-e.clientX,o=e.clientY-h,i=t+g,l=o+p,y-t>u&&i>m&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px"),x+l+u<s&&l>d&&(f.style.height=`${l<v?l:v}px`);break;case"st":o=h-e.clientY,l=p+o,x-o>u&&l>d&&(f.style.height=`${l<v?l:v}px`,f.style.top=x-o+"px");break;case"wr":t=e.clientX-_,i=t+g,y+i+u<n&&i>m&&(f.style.width=`${i<c?i:c}px`);break;case"sest":t=e.clientX-_,o=h-e.clientY,i=t+g,l=o+p,y+i+u<n&&i>m&&(f.style.width=`${i<c?i:c}px`),x-o>u&&l>d&&(f.style.height=`${l<v?l:v}px`,f.style.top=x-o+"px");break;case"selb":t=e.clientX-_,o=e.clientY-h,i=t+g,l=o+p,y+i+u<n&&i>m&&(f.style.width=`${i<c?i:c}px`),x+l+u<s&&l>d&&(f.style.height=`${l<v?l:v}px`);break;case"sb":o=e.clientY-h,l=o+p,x+l+u<s&&l>d&&(f.style.height=`${l<v?l:v}px`)}f.className=f.className.replace(/\s?is--drag/,"")+" is--drag",a&&S(),w("resize",b,e)},document.onmouseup=()=>{B.revertLocat=null,document.onmousemove=null,document.onmouseup=null,setTimeout(()=>{f.className=f.className.replace(/\s?is--drag/,"")},50)}},w=(e,t,o)=>{i(e,(0,_ui.createEvent)(o,{$modal:V},t))},b=e=>{i("update:modelValue",e)},te=(e={dispatchEvent:w,open:o,close(){return v("close")},getBox:z,getPosition:()=>{if(!E.value){var e=z();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:(e,t)=>{var o;return E.value||(o=z())&&(_xeUtils.default.isNumber(e)&&(o.style.top=e+"px"),_xeUtils.default.isNumber(t))&&(o.style.left=t+"px"),(0,_vue.nextTick)()},isMinimized:()=>"minimize"===B.zoomStatus,isMaximized:()=>"maximize"===B.zoomStatus,zoom(){return y()},minimize(){return B.visible?g():Promise.resolve({status:!1})},maximize(){return B.visible?p():Promise.resolve({status:!1})},revert(){return B.visible?x():Promise.resolve({status:!1})}},Object.assign(V,e),()=>{var{slots:e={},showClose:t,showZoom:o,showMaximize:i,showMinimize:l,title:a}=C,s=B["zoomStatus"],n=k.title||e.title,e=k.corner||e.corner,u=U.value,r=j.value;return[(0,_vue.h)("div",{class:"vxe-modal--header-title"},n?(0,_vn.getSlotVNs)(n({$modal:V,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:V}))):(0,_ui.renderEmptyElement)(V),(_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:R},[(0,_vue.h)("i",{class:"minimize"===s?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_ui.renderEmptyElement)(V),(_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:D},[(0,_vue.h)("i",{class:"maximize"===s?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_ui.renderEmptyElement)(V),t?(0,_vue.h)("div",{class:["vxe-modal--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.close"),onClick:q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(V)])]}),oe=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:o,type:i,loading:l}=C,a=k.leftfoot||e.leftfoot,e=k.rightfoot||e.rightfoot,s=[];return(_xeUtils.default.isBoolean(t)?t:"confirm"===i)&&s.push((0,_vue.h)(_button.default,{key:1,ref:u,content:C.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:P})),(_xeUtils.default.isBoolean(o)?o:"confirm"===i||"alert"===i)&&s.push((0,_vue.h)(_button.default,{key:2,ref:n,loading:l,status:"primary",content:C.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:V})):[]),(0,_vue.h)("div",{class:"vxe-modal--footer-right"},e?(0,_vn.getSlotVNs)(e({$modal:V})):s)])};return V.renderVN=()=>{var{slots:e={},className:t,type:o,animat:i,draggable:l,iconStatus:a,position:s,loading:n,destroyOnClose:u,status:r,lockScroll:m,padding:d,lockView:c,mask:v,resize:f}=C,{initialized:g,modalTop:p,contentVisible:_,visible:h,zoomStatus:x}=B,e=k.aside||e.aside,y=N.value,b=E.value,z=U.value,S=H.value,w={};return b&&(w.onMouseover=Y,w.onMouseout=X),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!S||!g},[(0,_vue.h)("div",Object.assign({ref:M,class:["vxe-modal--wrapper","type--"+o,"zoom--"+(x||"revert"),t||"",s?"pos--"+s:"",{["size--"+y]:y,["status--"+r]:r,"is--padding":d,"is--animat":i,"lock--scroll":m,"lock--view":c,"is--draggable":l,"is--resize":f,"is--mask":v,"is--visible":_,"is--active":h,"is--loading":n}],style:{zIndex:B.modalZindex,top:p?p+"px":null},onClick:F},w),[(0,_vue.h)("div",{ref:T,class:"vxe-modal--box",onMousedown:J},[!b&&!e||z?(0,_ui.renderEmptyElement)(V):(0,_vue.h)("div",{class:"vxe-modal--aside"},e?(0,_vn.getSlotVNs)(e({$modal:V})):[r||a?(0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",a||(0,_ui.getIcon)()[("MODAL_"+r).toLocaleUpperCase()]]})]):(0,_ui.renderEmptyElement)(V)]),(0,_vue.h)("div",{class:"vxe-modal--container"},!B.initialized||u&&!B.visible?[]:[(()=>{var e,{slots:t={},showZoom:o,showMaximize:i,draggable:l}=C,t=k.header||t.header;return C.showHeader?(e={},l&&(e.onMousedown=G),(_xeUtils.default.isBoolean(i)?i:o)&&C.dblclickZoom&&"modal"===C.type&&(e.onDblclick=D),(0,_vue.h)("div",Object.assign({ref:O,class:["vxe-modal--header",{"is--ellipsis":C.showTitleOverflow}]},e),t?(0,_vn.getSlotVNs)(t({$modal:V})):te())):(0,_ui.renderEmptyElement)(V)})(),(()=>{var{slots:e={},status:t,message:o,iconStatus:i}=C,o=C.content||o,l=E.value,a=k.default||e.default,s=k.left||e.left,e=k.right||e.right,n=[];return l||!t&&!i||n.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()]]})])),n.push((0,_vue.h)("div",{class:"vxe-modal--content"},a?(0,_vn.getSlotVNs)(a({$modal:V})):(0,_utils.getFuncText)(o))),(0,_vue.h)("div",{class:"vxe-modal--body"},[s?(0,_vue.h)("div",{class:"vxe-modal--body-left"},(0,_vn.getSlotVNs)(s({$modal:V}))):(0,_ui.renderEmptyElement)(V),(0,_vue.h)("div",{class:"vxe-modal--body-default"},n),e?(0,_vue.h)("div",{class:"vxe-modal--body-right"},(0,_vn.getSlotVNs)(e({$modal:V}))):(0,_ui.renderEmptyElement)(V),l?(0,_ui.renderEmptyElement)(V):(0,_vue.h)(_index.default,{class:"vxe-modal--loading",modelValue:C.loading})])})(),(()=>{var{slots:e={}}=C,e=k.footer||e.footer;return C.showFooter?(0,_vue.h)("div",{class:"vxe-modal--footer"},e?(0,_vn.getSlotVNs)(e({$modal:V})):[oe()]):(0,_ui.renderEmptyElement)(V)})(),!b&&f?(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",type:e,onMousedown:ee}))):(0,_ui.renderEmptyElement)(V)])])])])},(0,_vue.watch)(()=>C.width,d),(0,_vue.watch)(()=>C.height,d),(0,_vue.watch)(()=>C.modelValue,e=>{e?o():v("model")}),(0,_vue.onMounted)(()=>{"modal"===C.type&&C.showFooter&&!(C.showConfirmButton||C.showCancelButton||k.footer)&&(0,_log.warnLog)("vxe.modal.footPropErr"),(0,_vue.nextTick)(()=>{C.storage&&!C.id&&(0,_log.errLog)("vxe.error.reqProp",["[modal] id"]),C.modelValue&&o(),d()}),C.escClosable&&_ui.globalEvents.on(V,"keydown",Q)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(V,"keydown"),m(),h()}),(0,_vue.provide)("$xeModal",V),V},render(){return this.renderVN()}});
|
package/lib/pager/src/pager.js
CHANGED
|
@@ -720,7 +720,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
720
720
|
* @deprecated
|
|
721
721
|
*/
|
|
722
722
|
jumpPage(currentPage) {
|
|
723
|
-
(0, _log.warnLog)('vxe.error.delFunc', ['jumpPage', 'setCurrentPage']);
|
|
723
|
+
(0, _log.warnLog)('vxe.error.delFunc', ['[pager] jumpPage', 'setCurrentPage']);
|
|
724
724
|
return $xePager.setCurrentPage(currentPage);
|
|
725
725
|
}
|
|
726
726
|
};
|
|
@@ -796,7 +796,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
796
796
|
if (renderFn) {
|
|
797
797
|
childNodes.push(renderFn());
|
|
798
798
|
} else {
|
|
799
|
-
(0, _log.errLog)('vxe.error.notProp', [`layouts -> ${name}`]);
|
|
799
|
+
(0, _log.errLog)('vxe.error.notProp', [`[pager] layouts -> ${name}`]);
|
|
800
800
|
}
|
|
801
801
|
});
|
|
802
802
|
if (slots.right) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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"),_log=require("../../ui/src/log"),_select=_interopRequireDefault(require("../../select/src/select")),_numberInput=_interopRequireDefault(require("../../number-input/src/number-input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxePager",props:{size:{type:String,default:()=>(0,_ui.getConfig)().pager.size||(0,_ui.getConfig)().size},layouts:{type:Array,default:()=>(0,_ui.getConfig)().pager.layouts||["PrevJump","PrevPage","Jump","PageCount","NextPage","NextJump","Sizes","Total"]},currentPage:{type:Number,default:1},loading:Boolean,pageSize:{type:Number,default:()=>(0,_ui.getConfig)().pager.pageSize||10},total:{type:Number,default:0},pagerCount:{type:Number,default:()=>(0,_ui.getConfig)().pager.pagerCount||7},pageSizes:{type:Array,default:()=>(0,_ui.getConfig)().pager.pageSizes||[10,15,20,50,100]},align:{type:String,default:()=>(0,_ui.getConfig)().pager.align},border:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.border},background:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.background},perfect:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.perfect},autoHidden:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.autoHidden},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.transfer},className:[String,Function],pageSizePlacement:{type:String,default:()=>(0,_ui.getConfig)().pager.pageSizePlacement},iconPrevPage:String,iconJumpPrev:String,iconJumpNext:String,iconNextPage:String,iconJumpMore:String,iconHomePage:String,iconEndPage:String},emits:["update:pageSize","update:currentPage","page-change"],setup(_,e){const{slots:m,emit:u}=e;var t=_xeUtils.default.uniqueId();const g=(0,_ui.useSize)(_)["computeSize"],p=(0,_vue.inject)("$xeGrid",null),n=(0,_vue.reactive)({inpCurrPage:_.currentPage}),i=(0,_vue.ref)(),a={refElem:i},P=(0,_vue.computed)(()=>s(_.total,_.pageSize)),x=(0,_vue.computed)(()=>{var e=_["pagerCount"],t=e<P.value?e-2:e,a=[];for(let e=0;e<t;e++)a.push(e);return a}),d=(0,_vue.computed)(()=>Math.floor((_.pagerCount-2)/2)),l=(0,_vue.computed)(()=>_.pageSizes.map(e=>_xeUtils.default.isNumber(e)?{value:e,label:""+(0,_ui.getI18n)("vxe.pager.pagesize",[e])}:Object.assign({value:"",label:""},e))),h={xID:t,props:_,context:e,getRefMaps:()=>a},o=(e,t,a)=>{u(e,(0,_ui.createEvent)(a,{$pager:h},t))},s=(e,t)=>Math.max(Math.ceil(e/t),1),b=(e,t)=>{u("update:currentPage",t),e&&t!==_.currentPage&&o("page-change",{type:"current",pageSize:_.pageSize,currentPage:t},e)},c=(e,t)=>{u("update:currentPage",e),t&&e!==_.currentPage&&o("page-change",{type:"current",pageSize:_.pageSize,currentPage:e},t)},v=e=>{var e=e["$event"],t=e.target,a=_xeUtils.default.toInteger(t.value),r=P.value,r=a<=0?1:r<=a?r:a,a=_xeUtils.default.toValueString(r);t.value=a,n.inpCurrPage=a,c(r,e)},f=e=>{var t=_["currentPage"];1<t&&c(1,e)},C=e=>{var t=_["currentPage"],a=P.value;t<a&&c(a,e)},E=e=>{var t=_["currentPage"],a=P.value;1<t&&c(Math.min(a,Math.max(t-1,1)),e)},y=e=>{var t=_["currentPage"],a=P.value;t<a&&c(Math.min(a,t+1),e)},S=e=>{var t=x.value;c(Math.max(_.currentPage-t.length,1),e)},k=e=>{var t=P.value,a=x.value;c(Math.min(_.currentPage+a.length,t),e)},z=e=>{var{value:e,$event:t}=e,e=_xeUtils.default.toNumber(e),a=s(_.total,e);let r=_.currentPage;r>a&&(r=a,u("update:currentPage",a)),u("update:pageSize",e),t&&o("page-change",{type:"size",pageSize:e,currentPage:r},t)},N=e=>{var t=e["$event"];_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ENTER)?v(e):_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_UP)?(t.preventDefault(),y(t)):_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN)&&(t.preventDefault(),E(t))},J=()=>{var{currentPage:e,total:t}=_,a=m.home,r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-home-btn"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--home-btn",{"is--disabled":e<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.homePageTitle"),onClick:f},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconHomePage||(0,_ui.getIcon)().PAGER_HOME]})])},I=()=>{var{currentPage:e,total:t}=_,a=m.prevPage||m["prev-page"],r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-prev-btn"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--prev-btn",{"is--disabled":e<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.prevPageTitle"),onClick:E},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconPrevPage||(0,_ui.getIcon)().PAGER_PREV_PAGE]})])},M=e=>{var{currentPage:t,total:a}=_,r=m.prevJump||m["prev-jump"],u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump-prev"},r({$pager:h,total:a,currentPage:t,pageCount:u})):(0,_vue.h)(e||"button",{class:["vxe-pager--jump-prev",{"is--fixed":!e,"is--disabled":t<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.prevJumpTitle"),onClick:S},[e?(0,_vue.h)("i",{class:["vxe-pager--jump-more-icon",_.iconJumpMore||(0,_ui.getIcon)().PAGER_JUMP_MORE]}):null,(0,_vue.h)("i",{class:["vxe-pager--jump-icon",_.iconJumpPrev||(0,_ui.getIcon)().PAGER_JUMP_PREV]})])},T=e=>{var{currentPage:t,total:a}=_,r=m.nextJump||m["next-jump"],u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump-next"},r({$pager:h,total:a,currentPage:t,pageCount:u})):(0,_vue.h)(e||"button",{class:["vxe-pager--jump-next",{"is--fixed":!e,"is--disabled":u<=t}],type:"button",title:(0,_ui.getI18n)("vxe.pager.nextJumpTitle"),onClick:k},[e?(0,_vue.h)("i",{class:["vxe-pager--jump-more-icon",_.iconJumpMore||(0,_ui.getIcon)().PAGER_JUMP_MORE]}):null,(0,_vue.h)("i",{class:["vxe-pager--jump-icon",_.iconJumpNext||(0,_ui.getIcon)().PAGER_JUMP_NEXT]})])},R=()=>{var{currentPage:e,total:t}=_,a=m.nextPage||m["next-page"],r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-next-btn"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--next-btn",{"is--disabled":r<=e}],type:"button",title:(0,_ui.getI18n)("vxe.pager.nextPageTitle"),onClick:y},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconNextPage||(0,_ui.getIcon)().PAGER_NEXT_PAGE]})])},j=()=>{var{currentPage:e,total:t}=_,a=m.end,r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-end-btn"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--end-btn",{"is--disabled":r<=e}],type:"button",title:(0,_ui.getI18n)("vxe.pager.endPageTitle"),onClick:C},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconEndPage||(0,_ui.getIcon)().PAGER_END]})])},$=e=>{const{currentPage:r,total:t,pagerCount:a}=_;var u=e?m.numberJump||m["number-jump"]:m.number;const n=[],g=P.value;var p=x.value,i=d.value,l=g>a,o=l&&r>i+1,s=l&&r<g-i;const c=[];let v=1;return l&&(v=r>=g-i?Math.max(g-p.length+1,1):Math.max(r-i,1)),e&&o&&(c.push(1),n.push((0,_vue.h)("button",{class:"vxe-pager--num-btn",type:"button",onClick:e=>b(e,1)},"1"),M("span"))),p.forEach((e,t)=>{const a=v+t;a<=g&&(c.push(a),n.push((0,_vue.h)("button",{key:a,class:["vxe-pager--num-btn",{"is--active":r===a}],type:"button",onClick:e=>b(e,a)},""+a)))}),e&&s&&(c.push(g),n.push(T("button"),(0,_vue.h)("button",{class:"vxe-pager--num-btn",type:"button",onClick:e=>b(e,g)},g))),u?(0,_vue.h)("span",{class:"vxe-pager--custom-btn-wrapper"},u({$pager:h,total:t,numList:c,currentPage:r,pageCount:g})):(0,_vue.h)("span",{class:"vxe-pager--btn-wrapper"},n)},A=()=>$(!0),U=()=>{var{total:e,currentPage:t,pageSize:a,pageSizePlacement:r,transfer:u}=_,n=m.sizes,g=l.value,p=P.value;return n?(0,_vue.h)("span",{class:"vxe-pager--custom-sizes"},n({$pager:h,total:e,currentPage:t,pageCount:p,pageSize:a,options:g})):(0,_vue.h)(_select.default,{class:"vxe-pager--sizes",modelValue:a,placement:r,transfer:u,options:g,onChange:z})},B=e=>{var t=_["total"],a=n["inpCurrPage"],r=e?m.fullJump||m["full-jump"]:m.jump,u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump"},r({$pager:h,total:t,currentPage:a,pageCount:u})):(0,_vue.h)("span",{class:"vxe-pager--jump"},[e?(0,_vue.h)("span",{class:"vxe-pager--goto-text"},(0,_ui.getI18n)("vxe.pager.goto")):null,(0,_vue.h)(_numberInput.default,{class:"vxe-pager--goto",modelValue:n.inpCurrPage,placeholder:(0,_ui.getI18n)("vxe.pager.gotoTitle"),align:"center",type:"integer",max:u,min:1,controls:!1,onKeydown:N,onBlur:v,"onUpdate:modelValue"(e){n.inpCurrPage=e}}),e?(0,_vue.h)("span",{class:"vxe-pager--classifier-text"},(0,_ui.getI18n)("vxe.pager.pageClassifier")):null])},G=()=>B(!0),V=()=>{var{currentPage:e,total:t}=_,a=m.pageCount||m["page-count"],r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-count"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("span",{class:"vxe-pager--count"},[(0,_vue.h)("span",{class:"vxe-pager--separator"}),(0,_vue.h)("span",r)])},q=()=>{var{currentPage:e,total:t}=_,a=m.total,r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-total"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("span",{class:"vxe-pager--total"},(0,_ui.getI18n)("vxe.pager.total",[t]))};t={dispatchEvent:o,setPageSize(e){return z({value:e}),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){z({value:t,$event:e})},homePage(){return f(),(0,_vue.nextTick)()},homePageByEvent(e){f(e)},endPage(){return C(),(0,_vue.nextTick)()},endPageByEvent(e){C(e)},prevPage(){return E(),(0,_vue.nextTick)()},prevPageByEvent(e){E(e)},nextPage(){return y(),(0,_vue.nextTick)()},nextPageByEvent(e){y(e)},prevJump(){return S(),(0,_vue.nextTick)()},prevJumpByEvent(e){S(e)},nextJump(){return k(),(0,_vue.nextTick)()},nextJumpByEvent(e){k(e)},setCurrentPage(e){e=_xeUtils.default.toNumber(e)||1;return n.inpCurrPage=e,c(e),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){t=_xeUtils.default.toNumber(t)||1;n.inpCurrPage=t,c(t,e)},jumpPage(e){return(0,_log.warnLog)("vxe.error.delFunc",["jumpPage","setCurrentPage"]),h.setCurrentPage(e)}},e={handlePrevPage:E,handleNextPage:y,handlePrevJump:S,handleNextJump:k};Object.assign(h,t,e),(0,_vue.watch)(()=>_.currentPage,e=>{n.inpCurrPage=e});return h.renderVN=()=>{var{align:e,layouts:t,className:a}=_;const r=[];var u=g.value,n=P.value;return m.left&&r.push((0,_vue.h)("span",{class:"vxe-pager--left-wrapper"},m.left({$grid:p}))),t.forEach(e=>{let t;switch(e){case"Home":t=J;break;case"PrevJump":t=M;break;case"PrevPage":t=I;break;case"Number":t=$;break;case"JumpNumber":t=A;break;case"NextPage":t=R;break;case"NextJump":t=T;break;case"End":t=j;break;case"Sizes":t=U;break;case"FullJump":t=G;break;case"Jump":t=B;break;case"PageCount":t=V;break;case"Total":t=q}t?r.push(t()):(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}),m.right&&r.push((0,_vue.h)("span",{class:"vxe-pager--right-wrapper"},m.right({$grid:p}))),(0,_vue.h)("div",{ref:i,class:["vxe-pager",a?_xeUtils.default.isFunction(a)?a({$pager:h}):a:"",{["size--"+u]:u,["align--"+e]:e,"is--border":_.border,"is--background":_.background,"is--perfect":_.perfect,"is--hidden":_.autoHidden&&1===n,"is--loading":_.loading}]},[(0,_vue.h)("div",{class:"vxe-pager--wrapper"},r)])},h},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";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"),_log=require("../../ui/src/log"),_select=_interopRequireDefault(require("../../select/src/select")),_numberInput=_interopRequireDefault(require("../../number-input/src/number-input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxePager",props:{size:{type:String,default:()=>(0,_ui.getConfig)().pager.size||(0,_ui.getConfig)().size},layouts:{type:Array,default:()=>(0,_ui.getConfig)().pager.layouts||["PrevJump","PrevPage","Jump","PageCount","NextPage","NextJump","Sizes","Total"]},currentPage:{type:Number,default:1},loading:Boolean,pageSize:{type:Number,default:()=>(0,_ui.getConfig)().pager.pageSize||10},total:{type:Number,default:0},pagerCount:{type:Number,default:()=>(0,_ui.getConfig)().pager.pagerCount||7},pageSizes:{type:Array,default:()=>(0,_ui.getConfig)().pager.pageSizes||[10,15,20,50,100]},align:{type:String,default:()=>(0,_ui.getConfig)().pager.align},border:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.border},background:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.background},perfect:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.perfect},autoHidden:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.autoHidden},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.transfer},className:[String,Function],pageSizePlacement:{type:String,default:()=>(0,_ui.getConfig)().pager.pageSizePlacement},iconPrevPage:String,iconJumpPrev:String,iconJumpNext:String,iconNextPage:String,iconJumpMore:String,iconHomePage:String,iconEndPage:String},emits:["update:pageSize","update:currentPage","page-change"],setup(_,e){const{slots:m,emit:u}=e;var a=_xeUtils.default.uniqueId();const g=(0,_ui.useSize)(_)["computeSize"],p=(0,_vue.inject)("$xeGrid",null),n=(0,_vue.reactive)({inpCurrPage:_.currentPage}),i=(0,_vue.ref)(),t={refElem:i},P=(0,_vue.computed)(()=>s(_.total,_.pageSize)),x=(0,_vue.computed)(()=>{var e=_["pagerCount"],a=e<P.value?e-2:e,t=[];for(let e=0;e<a;e++)t.push(e);return t}),d=(0,_vue.computed)(()=>Math.floor((_.pagerCount-2)/2)),l=(0,_vue.computed)(()=>_.pageSizes.map(e=>_xeUtils.default.isNumber(e)?{value:e,label:""+(0,_ui.getI18n)("vxe.pager.pagesize",[e])}:Object.assign({value:"",label:""},e))),h={xID:a,props:_,context:e,getRefMaps:()=>t},o=(e,a,t)=>{u(e,(0,_ui.createEvent)(t,{$pager:h},a))},s=(e,a)=>Math.max(Math.ceil(e/a),1),b=(e,a)=>{u("update:currentPage",a),e&&a!==_.currentPage&&o("page-change",{type:"current",pageSize:_.pageSize,currentPage:a},e)},c=(e,a)=>{u("update:currentPage",e),a&&e!==_.currentPage&&o("page-change",{type:"current",pageSize:_.pageSize,currentPage:e},a)},v=e=>{var e=e["$event"],a=e.target,t=_xeUtils.default.toInteger(a.value),r=P.value,r=t<=0?1:r<=t?r:t,t=_xeUtils.default.toValueString(r);a.value=t,n.inpCurrPage=t,c(r,e)},f=e=>{var a=_["currentPage"];1<a&&c(1,e)},C=e=>{var a=_["currentPage"],t=P.value;a<t&&c(t,e)},E=e=>{var a=_["currentPage"],t=P.value;1<a&&c(Math.min(t,Math.max(a-1,1)),e)},y=e=>{var a=_["currentPage"],t=P.value;a<t&&c(Math.min(t,a+1),e)},S=e=>{var a=x.value;c(Math.max(_.currentPage-a.length,1),e)},k=e=>{var a=P.value,t=x.value;c(Math.min(_.currentPage+t.length,a),e)},z=e=>{var{value:e,$event:a}=e,e=_xeUtils.default.toNumber(e),t=s(_.total,e);let r=_.currentPage;r>t&&(r=t,u("update:currentPage",t)),u("update:pageSize",e),a&&o("page-change",{type:"size",pageSize:e,currentPage:r},a)},N=e=>{var a=e["$event"];_ui.globalEvents.hasKey(a,_ui.GLOBAL_EVENT_KEYS.ENTER)?v(e):_ui.globalEvents.hasKey(a,_ui.GLOBAL_EVENT_KEYS.ARROW_UP)?(a.preventDefault(),y(a)):_ui.globalEvents.hasKey(a,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN)&&(a.preventDefault(),E(a))},J=()=>{var{currentPage:e,total:a}=_,t=m.home,r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-home-btn"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--home-btn",{"is--disabled":e<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.homePageTitle"),onClick:f},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconHomePage||(0,_ui.getIcon)().PAGER_HOME]})])},I=()=>{var{currentPage:e,total:a}=_,t=m.prevPage||m["prev-page"],r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-prev-btn"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--prev-btn",{"is--disabled":e<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.prevPageTitle"),onClick:E},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconPrevPage||(0,_ui.getIcon)().PAGER_PREV_PAGE]})])},M=e=>{var{currentPage:a,total:t}=_,r=m.prevJump||m["prev-jump"],u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump-prev"},r({$pager:h,total:t,currentPage:a,pageCount:u})):(0,_vue.h)(e||"button",{class:["vxe-pager--jump-prev",{"is--fixed":!e,"is--disabled":a<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.prevJumpTitle"),onClick:S},[e?(0,_vue.h)("i",{class:["vxe-pager--jump-more-icon",_.iconJumpMore||(0,_ui.getIcon)().PAGER_JUMP_MORE]}):null,(0,_vue.h)("i",{class:["vxe-pager--jump-icon",_.iconJumpPrev||(0,_ui.getIcon)().PAGER_JUMP_PREV]})])},T=e=>{var{currentPage:a,total:t}=_,r=m.nextJump||m["next-jump"],u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump-next"},r({$pager:h,total:t,currentPage:a,pageCount:u})):(0,_vue.h)(e||"button",{class:["vxe-pager--jump-next",{"is--fixed":!e,"is--disabled":u<=a}],type:"button",title:(0,_ui.getI18n)("vxe.pager.nextJumpTitle"),onClick:k},[e?(0,_vue.h)("i",{class:["vxe-pager--jump-more-icon",_.iconJumpMore||(0,_ui.getIcon)().PAGER_JUMP_MORE]}):null,(0,_vue.h)("i",{class:["vxe-pager--jump-icon",_.iconJumpNext||(0,_ui.getIcon)().PAGER_JUMP_NEXT]})])},R=()=>{var{currentPage:e,total:a}=_,t=m.nextPage||m["next-page"],r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-next-btn"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--next-btn",{"is--disabled":r<=e}],type:"button",title:(0,_ui.getI18n)("vxe.pager.nextPageTitle"),onClick:y},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconNextPage||(0,_ui.getIcon)().PAGER_NEXT_PAGE]})])},j=()=>{var{currentPage:e,total:a}=_,t=m.end,r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-end-btn"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--end-btn",{"is--disabled":r<=e}],type:"button",title:(0,_ui.getI18n)("vxe.pager.endPageTitle"),onClick:C},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconEndPage||(0,_ui.getIcon)().PAGER_END]})])},$=e=>{const{currentPage:r,total:a,pagerCount:t}=_;var u=e?m.numberJump||m["number-jump"]:m.number;const n=[],g=P.value;var p=x.value,i=d.value,l=g>t,o=l&&r>i+1,s=l&&r<g-i;const c=[];let v=1;return l&&(v=r>=g-i?Math.max(g-p.length+1,1):Math.max(r-i,1)),e&&o&&(c.push(1),n.push((0,_vue.h)("button",{class:"vxe-pager--num-btn",type:"button",onClick:e=>b(e,1)},"1"),M("span"))),p.forEach((e,a)=>{const t=v+a;t<=g&&(c.push(t),n.push((0,_vue.h)("button",{key:t,class:["vxe-pager--num-btn",{"is--active":r===t}],type:"button",onClick:e=>b(e,t)},""+t)))}),e&&s&&(c.push(g),n.push(T("button"),(0,_vue.h)("button",{class:"vxe-pager--num-btn",type:"button",onClick:e=>b(e,g)},g))),u?(0,_vue.h)("span",{class:"vxe-pager--custom-btn-wrapper"},u({$pager:h,total:a,numList:c,currentPage:r,pageCount:g})):(0,_vue.h)("span",{class:"vxe-pager--btn-wrapper"},n)},A=()=>$(!0),U=()=>{var{total:e,currentPage:a,pageSize:t,pageSizePlacement:r,transfer:u}=_,n=m.sizes,g=l.value,p=P.value;return n?(0,_vue.h)("span",{class:"vxe-pager--custom-sizes"},n({$pager:h,total:e,currentPage:a,pageCount:p,pageSize:t,options:g})):(0,_vue.h)(_select.default,{class:"vxe-pager--sizes",modelValue:t,placement:r,transfer:u,options:g,onChange:z})},B=e=>{var a=_["total"],t=n["inpCurrPage"],r=e?m.fullJump||m["full-jump"]:m.jump,u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump"},r({$pager:h,total:a,currentPage:t,pageCount:u})):(0,_vue.h)("span",{class:"vxe-pager--jump"},[e?(0,_vue.h)("span",{class:"vxe-pager--goto-text"},(0,_ui.getI18n)("vxe.pager.goto")):null,(0,_vue.h)(_numberInput.default,{class:"vxe-pager--goto",modelValue:n.inpCurrPage,placeholder:(0,_ui.getI18n)("vxe.pager.gotoTitle"),align:"center",type:"integer",max:u,min:1,controls:!1,onKeydown:N,onBlur:v,"onUpdate:modelValue"(e){n.inpCurrPage=e}}),e?(0,_vue.h)("span",{class:"vxe-pager--classifier-text"},(0,_ui.getI18n)("vxe.pager.pageClassifier")):null])},G=()=>B(!0),V=()=>{var{currentPage:e,total:a}=_,t=m.pageCount||m["page-count"],r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-count"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("span",{class:"vxe-pager--count"},[(0,_vue.h)("span",{class:"vxe-pager--separator"}),(0,_vue.h)("span",r)])},q=()=>{var{currentPage:e,total:a}=_,t=m.total,r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-total"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("span",{class:"vxe-pager--total"},(0,_ui.getI18n)("vxe.pager.total",[a]))};a={dispatchEvent:o,setPageSize(e){return z({value:e}),(0,_vue.nextTick)()},setPageSizeByEvent(e,a){z({value:a,$event:e})},homePage(){return f(),(0,_vue.nextTick)()},homePageByEvent(e){f(e)},endPage(){return C(),(0,_vue.nextTick)()},endPageByEvent(e){C(e)},prevPage(){return E(),(0,_vue.nextTick)()},prevPageByEvent(e){E(e)},nextPage(){return y(),(0,_vue.nextTick)()},nextPageByEvent(e){y(e)},prevJump(){return S(),(0,_vue.nextTick)()},prevJumpByEvent(e){S(e)},nextJump(){return k(),(0,_vue.nextTick)()},nextJumpByEvent(e){k(e)},setCurrentPage(e){e=_xeUtils.default.toNumber(e)||1;return n.inpCurrPage=e,c(e),(0,_vue.nextTick)()},setCurrentPageByEvent(e,a){a=_xeUtils.default.toNumber(a)||1;n.inpCurrPage=a,c(a,e)},jumpPage(e){return(0,_log.warnLog)("vxe.error.delFunc",["[pager] jumpPage","setCurrentPage"]),h.setCurrentPage(e)}},e={handlePrevPage:E,handleNextPage:y,handlePrevJump:S,handleNextJump:k};Object.assign(h,a,e),(0,_vue.watch)(()=>_.currentPage,e=>{n.inpCurrPage=e});return h.renderVN=()=>{var{align:e,layouts:a,className:t}=_;const r=[];var u=g.value,n=P.value;return m.left&&r.push((0,_vue.h)("span",{class:"vxe-pager--left-wrapper"},m.left({$grid:p}))),a.forEach(e=>{let a;switch(e){case"Home":a=J;break;case"PrevJump":a=M;break;case"PrevPage":a=I;break;case"Number":a=$;break;case"JumpNumber":a=A;break;case"NextPage":a=R;break;case"NextJump":a=T;break;case"End":a=j;break;case"Sizes":a=U;break;case"FullJump":a=G;break;case"Jump":a=B;break;case"PageCount":a=V;break;case"Total":a=q}a?r.push(a()):(0,_log.errLog)("vxe.error.notProp",["[pager] layouts -> "+e])}),m.right&&r.push((0,_vue.h)("span",{class:"vxe-pager--right-wrapper"},m.right({$grid:p}))),(0,_vue.h)("div",{ref:i,class:["vxe-pager",t?_xeUtils.default.isFunction(t)?t({$pager:h}):t:"",{["size--"+u]:u,["align--"+e]:e,"is--border":_.border,"is--background":_.background,"is--perfect":_.perfect,"is--hidden":_.autoHidden&&1===n,"is--loading":_.loading}]},[(0,_vue.h)("div",{class:"vxe-pager--wrapper"},r)])},h},render(){return this.renderVN()}});
|
package/lib/select/src/select.js
CHANGED
|
@@ -69,6 +69,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
69
69
|
default: () => (0, _ui.getConfig)().select.allowCreate
|
|
70
70
|
},
|
|
71
71
|
placement: String,
|
|
72
|
+
lazyOptions: Array,
|
|
72
73
|
options: Array,
|
|
73
74
|
optionProps: Object,
|
|
74
75
|
optionGroups: Array,
|
|
@@ -337,22 +338,48 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
337
338
|
return false;
|
|
338
339
|
};
|
|
339
340
|
const getRemoteSelectLabel = value => {
|
|
341
|
+
const {
|
|
342
|
+
lazyOptions
|
|
343
|
+
} = props;
|
|
340
344
|
const {
|
|
341
345
|
remoteValMaps,
|
|
342
346
|
optFullValMaps
|
|
343
347
|
} = internalData;
|
|
348
|
+
const valueField = computeValueField.value;
|
|
344
349
|
const labelField = computeLabelField.value;
|
|
345
350
|
const remoteItem = remoteValMaps[value] || optFullValMaps[value];
|
|
346
351
|
const item = remoteItem ? remoteItem.item : null;
|
|
347
|
-
|
|
352
|
+
if (item) {
|
|
353
|
+
return _xeUtils.default.toValueString(item[labelField]);
|
|
354
|
+
}
|
|
355
|
+
if (lazyOptions) {
|
|
356
|
+
const lazyItem = lazyOptions.find(item => item[valueField] === value);
|
|
357
|
+
if (lazyItem) {
|
|
358
|
+
return lazyItem[labelField];
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
return value;
|
|
348
362
|
};
|
|
349
363
|
const getSelectLabel = value => {
|
|
364
|
+
const {
|
|
365
|
+
lazyOptions
|
|
366
|
+
} = props;
|
|
350
367
|
const {
|
|
351
368
|
optFullValMaps
|
|
352
369
|
} = internalData;
|
|
370
|
+
const valueField = computeValueField.value;
|
|
353
371
|
const labelField = computeLabelField.value;
|
|
354
372
|
const cacheItem = reactData.reactFlag ? optFullValMaps[value] : null;
|
|
355
|
-
|
|
373
|
+
if (cacheItem) {
|
|
374
|
+
return cacheItem.item[labelField];
|
|
375
|
+
}
|
|
376
|
+
if (lazyOptions) {
|
|
377
|
+
const lazyItem = lazyOptions.find(item => item[valueField] === value);
|
|
378
|
+
if (lazyItem) {
|
|
379
|
+
return lazyItem[labelField];
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
return value;
|
|
356
383
|
};
|
|
357
384
|
const cacheItemMap = datas => {
|
|
358
385
|
const groupOptionsField = computeGroupOptionsField.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],defaultConfig:Object,clearable:Boolean,placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>(0,_ui.getConfig)().select.multiCharOverflow},prefixIcon:String,allowCreate:{type:Boolean,default:()=>(0,_ui.getConfig)().select.allowCreate},placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteConfig:Object,emptyText:String,showTotalButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showTotalButoon},showCheckedButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCheckedButoon},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showClearButton},transfer:{type:Boolean,default:null},virtualYConfig:Object,scrollY:Object,remoteMethod:Function,optionId:{type:String,default:()=>(0,_ui.getConfig)().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","all-change","clear","blur","focus","click","scroll","visible-change"],setup(I,e){const{slots:C,emit:a}=e,b=(0,_vue.inject)("$xeModal",null),T=(0,_vue.inject)("$xeDrawer",null),E=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const L=(0,_vue.ref)(),O=(0,_vue.ref)(),P=(0,_vue.ref)(),w=(0,_vue.ref)(),A=(0,_vue.ref)(),U=(0,_vue.ref)(),Y=(0,_ui.useSize)(I)["computeSize"],k=(0,_vue.reactive)({initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),S=createInternalData(),y={refElem:L},M={xID:t,props:I,context:e,reactData:k,internalData:S,getRefMaps:()=>y},q=(0,_vue.computed)(()=>{var e=I["readonly"];return null===e?!!i&&i.props.readonly:e}),N=(0,_vue.computed)(()=>{var e=I["disabled"];return null===e?!!i&&i.props.disabled:e}),B=(0,_vue.computed)(()=>{var e=I["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(E||b||T||i)return!0}return e}),H=(0,_vue.computed)(()=>{var e=I["placeholder"];return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),z=(0,_vue.computed)(()=>Object.assign({},I.defaultConfig)),j=(0,_vue.computed)(()=>Object.assign({},I.optionProps)),K=(0,_vue.computed)(()=>Object.assign({},I.optionGroupProps)),c=(0,_vue.computed)(()=>{return j.value.label||"label"}),V=(0,_vue.computed)(()=>{return j.value.value||"value"}),$=(0,_vue.computed)(()=>{return K.value.label||"label"}),G=(0,_vue.computed)(()=>{return K.value.options||"options"}),R=(0,_vue.computed)(()=>{var e=I["modelValue"];return te(e)}),W=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,I.virtualYConfig||I.scrollY)),X=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.remoteConfig,I.remoteConfig)),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.optionConfig,I.optionConfig)),J=(0,_vue.computed)(()=>_xeUtils.default.toNumber(I.multiCharOverflow)),Q=(0,_vue.computed)(()=>{const{modelValue:e,remote:t,multiple:l}=I;var a,i=k["reactFlag"];const o=J.value;return _xeUtils.default.eqNull(e)?"":(a=_xeUtils.default.isArray(e)?e:[e],(t&&i?a.map(e=>le(e)):a.map(e=>{e=ae(e);return l&&0<o&&e.length>o?e.substring(0,o)+"...":e})).join(", "))}),D=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=C[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],r=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$select:M},t))},ee=e=>{a("update:modelValue",e)},_=()=>{return Z.value.keyField||I.optionId||"_X_OPTION_KEY"},F=e=>{e=e[_()];return e?encodeURIComponent(e):""},te=e=>{var{multiple:t,max:l}=I;return!(!t||!l)&&(_xeUtils.default.isArray(e)?e.length:_xeUtils.default.eqNull(e)?0:1)>=_xeUtils.default.toNumber(l)},le=e=>{var{remoteValMaps:t,optFullValMaps:l}=S,a=c.value,t=t[e]||l[e],l=t?t.item:null;return _xeUtils.default.toValueString(l?l[a]:e)},ae=e=>{var t=S["optFullValMaps"],l=c.value,t=k.reactFlag?t[e]:null;return t?t.item[l]:_xeUtils.default.toValueString(e)},g=()=>{const{modelValue:t,filterable:e,filterMethod:l}=I,a=k["searchValue"],{fullData:i,optFullValMaps:o}=S,n=c.value,s=V.value,r=(""+(a||"")).toLowerCase();let u=[];return(u=e&&l?i.filter(e=>isOptionVisible(e)&&l({$select:M,group:null,option:e,searchValue:a,value:t})):e?i.filter(e=>isOptionVisible(e)&&(!r||-1<(""+(e[n]||e[s])).toLowerCase().indexOf(r))):i.filter(isOptionVisible)).forEach((e,t)=>{e=o[e[s]];e&&(e._index=t)}),S.afterVisibleList=u,(0,_vue.nextTick)()},ie=e=>{e&&(k.currentOption=e)},s=()=>{const l=I["placement"],a=k["panelIndex"],i=L.value,o=A.value,n=B.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,o,{placement:l,teleportTo:n}),t=Object.assign(e.style,{zIndex:a});k.panelStyle=t,k.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},v=()=>{var{loading:e,filterable:t,remote:l}=I,{fullData:a,hpTimeout:i}=S,o=N.value,n=X.value;e||o||(i&&(clearTimeout(i),S.hpTimeout=void 0),k.initialized||(k.initialized=!0),k.isActivated=!0,k.isAniVisible=!0,t&&(l&&n.enabled&&n.autoLoad&&!a.length?Te:(g(),f))(),setTimeout(()=>{k.visiblePanel=!0,I.filterable&&(0,_vue.nextTick)(()=>{var e=P.value;e&&e.focus()});x().then(()=>m())},10),setTimeout(()=>{x().then(()=>m())},100),(e=I.zIndex)?k.panelIndex=e:k.panelIndex<(0,_utils.getLastZIndex)()&&(k.panelIndex=(0,_utils.nextZIndex)()),s(),r("visible-change",{visible:!0},null))},d=()=>{k.searchValue="",k.searchLoading=!1,k.visiblePanel=!1,S.hpTimeout=setTimeout(()=>{k.isAniVisible=!1},350),r("visible-change",{visible:!1},null)},u=(e,t,l)=>{ee(t),t!==I.modelValue&&(r("change",{value:t,option:l},e),i)&&o&&i.triggerItemEvent(e,o.itemConfig.field,t)},p=(e,t)=>{S.remoteValMaps={},u(e,t,null),r("clear",{value:t},e)},oe=e=>{e=e.$event;p(e,null),d()},ne=e=>{var e=e["$event"],{modelValue:t,multiple:l,max:a}=I,i=k["optList"],o=V.value;if(l){var n=_xeUtils.default.eqNull(t)?[]:_xeUtils.default.isArray(t)?t:[t];for(let e=0;e<i.length;e++){const s=i[e][o];if(te(n)){_ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[a]),status:"warning"});break}n.some(e=>e===s)||n.push(s)}u(e,n,i[0]),r("all-change",{value:n},e)}},se=e=>{e=e.$event;p(e,null),d()},re=(t,l)=>{var{modelValue:a,multiple:e}=I,i=S["remoteValMaps"];const o=l[V.value];var n=i[o];if(k.visiblePanel){if(n?n.item=l:i[o]={key:F(l),item:l,_index:-1},e){let e=[];n=_xeUtils.default.eqNull(a)?[]:_xeUtils.default.isArray(a)?a:[a],i=_xeUtils.default.findIndexOf(n,e=>e===o);e=-1===i?n.concat([o]):n.filter(e=>e!==o),u(t,e,l)}else u(t,o,l),d();k.reactFlag++}},ue=e=>{var t=k["visiblePanel"];N.value||t&&(t=A.value,((0,_dom.getEventTargetNode)(e,t).flag?s:d)())},ce=e=>{var t,l,a=k["visiblePanel"];N.value||(t=L.value,l=A.value,k.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!k.isActivated&&d())},h=e=>{var t=e.disabled,e=F(e);return!t&&!Pe(e)},ve=(e,t)=>{var l=I["allowCreate"],a=k["optList"],{optFullValMaps:i,optAddMaps:o,afterVisibleList:n}=S,s=V.value;let r=n,u=0;if(l&&a.length&&(n=a[0],o[l=F(n)])&&(u=1,r=[o[l]].concat(r)),!e)if(t)for(let e=0;e<r.length;e++){var c=r[e];if(h(c))return c}else for(let e=r.length-1;0<=e;e--){var v=r[e];if(h(v))return v}let d=0;a=e?i[e[s]]:null;if(-1<(d=a?a._index+u:d))if(t)for(let e=d+1;e<=r.length-1;e++){var p=r[e];if(h(p))return p}else if(0<d)for(let e=d-1;0<=e;e--){var f=r[e];if(h(f))return f}return null},de=t=>{var e=I["clearable"],{visiblePanel:l,currentOption:a}=k;if(!N.value){var i=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),o=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ENTER),n=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE),s=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),r=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),u=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);if(i&&(k.isActivated=!1),l){if(n||i)d();else if(o)a&&(t.preventDefault(),t.stopPropagation(),re(t,a));else if(s||r){t.preventDefault();let e=ve(a,r);(e=e||ve(null,r))&&(ie(e),((e,t)=>{const{scrollYLoad:l}=k,{optFullValMaps:a,scrollYStore:i}=S,o=V.value,n=a[e[o]];if(n){const s=n.key;const r=n._index;if(r>-1){const u=w.value;const c=A.value;if(!c)return;const v=c.querySelector(`[optid='${s}']`);if(u)if(v){const d=u.offsetHeight;const p=1;if(t){if(v.offsetTop+v.offsetHeight-u.scrollTop>d)u.scrollTop=v.offsetTop+v.offsetHeight-d;else if(v.offsetTop+p<u.scrollTop||v.offsetTop+p>u.scrollTop+u.clientHeight)u.scrollTop=v.offsetTop-p}else if(v.offsetTop+p<u.scrollTop||v.offsetTop+p>u.scrollTop+u.clientHeight)u.scrollTop=v.offsetTop-p;else if(v.offsetTop+v.offsetHeight-u.scrollTop>d)u.scrollTop=v.offsetTop+v.offsetHeight-d}else if(l)if(t)u.scrollTop=r*i.rowHeight-u.clientHeight+i.rowHeight;else u.scrollTop=r*i.rowHeight}}})(e,r))}}else(s||r||o)&&k.isActivated&&(t.preventDefault(),v());k.isActivated&&u&&e&&p(t,null)}},pe=()=>{var{visiblePanel:e,isActivated:t}=k;e&&d(),t&&(k.isActivated=!1),(e||t)&&(e=O.value)&&e.blur()},fe=()=>{var e=k["visiblePanel"];e&&s()},_e=e=>{N.value||k.visiblePanel||(k.triggerFocusPanel=!0,v(),setTimeout(()=>{k.triggerFocusPanel=!1},500)),r("focus",{},e)},ge=e=>{ye(e),r("click",{triggerButton:!1,visible:k.visiblePanel},e)},he=e=>{k.isActivated=!1,r("blur",{},e)},me=e=>{ye(e),r("click",{triggerButton:!0,visible:k.visiblePanel},e)},xe=e=>{k.searchValue=e},be=()=>{k.isActivated=!0},Te=()=>{var{modelValue:e,remote:t,remoteMethod:l}=I,a=k["searchValue"],i=X.value,l=i.queryMethod||l;t&&l&&i.enabled?(k.searchLoading=!0,Promise.resolve(l({$select:M,searchValue:a,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{k.searchLoading=!1,g(),f()})):(g(),f())},Ee=_xeUtils.default.debounce(Te,350,{trailing:!0}),ye=e=>{e=e.$event;e.preventDefault(),k.triggerFocusPanel?k.triggerFocusPanel=!1:(k.visiblePanel?d:v)()},Se=()=>{var e=k["scrollYLoad"],{scrollYStore:t,afterVisibleList:l}=S;k.bodyHeight=e?l.length*t.rowHeight:0,k.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},Ve=()=>{var{filterable:e,allowCreate:t}=I;const{scrollYLoad:l,searchValue:a}=k;var{optAddMaps:i,scrollYStore:o,afterVisibleList:n}=S;const s=c.value;var r=V.value,o=l?n.slice(o.startIndex,o.endIndex):n.slice(0);return e&&t&&a&&(o.some(e=>e[s]===a)||(n=i[a]||(0,_vue.reactive)({[_()]:a,[s]:a,[r]:a}),i[a]=n,o.unshift(n))),k.optList=o,(0,_vue.nextTick)()},f=()=>{Ve(),Se()},Ie=()=>(0,_vue.nextTick)().then(()=>{var e=k["scrollYLoad"],t=S["scrollYStore"],l=U.value,a=W.value;let i=0,o;(o=l?o||l.children[0]:o)&&(i=o.offsetHeight),i=Math.max(20,i),t.rowHeight=i,(e?(l=w.value,e=Math.max(8,l?Math.ceil(l.clientHeight/i):0),l=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),f):Se)()}),Ce=(e,t)=>{var l=w.value;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),k.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},m=()=>{const{lastScrollLeft:e,lastScrollTop:t}=S;return n().then(()=>{if(e||t)return S.lastScrollLeft=0,S.lastScrollTop=0,Ce(e,t)})},x=()=>{var e=L.value;return e&&e.clientWidth&&e.clientHeight?Ie():Promise.resolve()},Le=e=>{var t=S["scrollYStore"],{startIndex:l,endIndex:a,visibleSize:i,offsetSize:o,rowHeight:n}=t,e=e.target.scrollTop,e=Math.floor(e/n),n=Math.max(0,e-1-o),o=e+i+o;!(e<=l||a-i-1<=e)||l===n&&a===o||(t.startIndex=n,t.endIndex=o,f())},Oe=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==S.lastScrollLeft,i=l!==S.lastScrollTop;S.lastScrollTop=l,S.lastScrollLeft=t,k.scrollYLoad&&Le(e),S.lastScrollTime=Date.now(),r("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:i},e)},l=e=>{{var t=e||[];const s=G.value,r=V.value,u=_(),c={},v={},d=[],p=e=>{d.push(e);let t=F(e);t||(t=getOptUniqueId(),e[u]=t),v[e[r]]={key:t,item:e,_index:-1}};t.forEach(e=>{p(e),e[s]&&(c[e[u]]=e)[s].forEach(p)}),S.fullData=d,S.optGroupKeyMaps=c,S.optFullValMaps=v,k.reactFlag++,g()}var{isLoaded:t,fullData:l,scrollYStore:a}=S,i=z.value,o=W.value;const n=V.value;if(Object.assign(a,{startIndex:0,endIndex:1,visibleSize:0}),S.synchData=e||[],k.scrollYLoad=!!o.enabled&&-1<o.gt&&(0===o.gt||o.gt<=l.length),Ve(),!t){a=i["selectMode"];if(0<e.length&&_xeUtils.default.eqNull(I.modelValue)){if("first"===a||"last"===a){const f=_xeUtils.default[a](e);f&&(0,_vue.nextTick)(()=>{_xeUtils.default.eqNull(I.modelValue)&&ee(f[n])})}S.isLoaded=!0}}return Ie().then(()=>{m()})},n=()=>{var e=w.value;return e&&(e.scrollTop=0,e.scrollLeft=0),S.lastScrollTop=0,(S.lastScrollLeft=0,_vue.nextTick)()},Pe=e=>{var t=S["optGroupKeyMaps"];return!!t[e]};t={dispatchEvent:r,loadData:l,reloadData(e){return S.isLoaded=!1,n(),l(e)},isPanelVisible(){return k.visiblePanel},togglePanel(){return(k.visiblePanel?d:v)(),(0,_vue.nextTick)()},hidePanel(){return k.visiblePanel&&d(),(0,_vue.nextTick)()},showPanel(){return k.visiblePanel||v(),(0,_vue.nextTick)()},refreshOption(){return g(),f(),(0,_vue.nextTick)()},focus(){var e=O.value;return e&&e.blur(),k.isActivated=!0,(0,_vue.nextTick)()},blur(){var e=O.value;return e&&e.blur(),(k.isActivated=!1,_vue.nextTick)()},recalculate:x,clearScroll:n};Object.assign(M,t);const we=e=>{const{allowCreate:f,optionKey:_,modelValue:g}=I,h=k["currentOption"],m=S["optAddMaps"];var t=Z.value;const x=c.value,b=V.value,T=$.value,E=t["useKey"],y=C.option;return e.map((t,e)=>{var{slots:l,className:a}=t,i=F(t),o=t[b];const n=Pe(i);var s=!(!f||!m[i]),r=!s&&(_xeUtils.default.isArray(g)?-1<g.indexOf(o):g===o),u=s||!n||isOptionVisible(t);const c=!s&&(v=r,!!t.disabled||!(!R.value||v));var v=l?l.default:null,l={option:t,group:n?t:null,$select:M};let d="",p=[];return p=y?D(y,l):v?D(v,l):d=(0,_utils.getFuncText)(t[n?T:x]||o),u?(0,_vue.h)("div",{key:E||_?i:e,class:["vxe-select-option",a?_xeUtils.default.isFunction(a)?a(l):a:"",{"vxe-select-optgroup":n,"is--disabled":c,"is--selected":r,"is--add":s,"is--hover":h&&F(h)===i}],optid:i,title:d||null,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick:e=>{c||n||re(e,t)},onMouseenter:()=>{var e;c||n||(e=S.lastScrollTime)&&Date.now()<e+250||ie(t)}},f?[(0,_vue.h)("span",{key:1,class:"vxe-select-option--label"},p),s?(0,_vue.h)("span",{key:2,class:"vxe-select-option--add-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(M)]:p):(0,_ui.renderEmptyElement)(M)})};return(0,_vue.watch)(()=>k.staticOptions,e=>{l(e)}),(0,_vue.watch)(()=>I.options,e=>{l(e||[])}),(0,_vue.watch)(()=>I.optionGroups,e=>{l(e||[])}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=I;t?l(t):e&&l(e)}),_ui.globalEvents.on(M,"mousewheel",ue),_ui.globalEvents.on(M,"mousedown",ce),_ui.globalEvents.on(M,"keydown",de),_ui.globalEvents.on(M,"blur",pe),_ui.globalEvents.on(M,"resize",fe)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(M,"mousewheel"),_ui.globalEvents.off(M,"mousedown"),_ui.globalEvents.off(M,"keydown"),_ui.globalEvents.off(M,"blur"),_ui.globalEvents.off(M,"resize"),_xeUtils.default.assign(S,createInternalData())}),(0,_vue.provide)("$xeSelect",M),M.renderVN=()=>{var{modelValue:e,className:t,popupClassName:l,multiple:a,loading:i,filterable:o,showTotalButoon:n,showCheckedButoon:s,showClearButton:r}=I,{initialized:u,isActivated:c,isAniVisible:v,optList:d,visiblePanel:p,bodyHeight:f,topSpaceHeight:_}=k,g=Y.value,h=N.value,m=Q.value,x=B.value,b=q.value,T=H.value,E=C.default,y=C.header,S=C.footer;const V=C.prefix;return b?(0,_vue.h)("div",{ref:L,class:["vxe-select--readonly",t]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},E?E({}):[]),(0,_vue.h)("span",{class:"vxe-select-label"},m)]):(b=_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e],(0,_vue.h)("div",{ref:L,class:["vxe-select",t?_xeUtils.default.isFunction(t)?t({$select:M}):t:"",{["size--"+g]:g,"is--visible":p,"is--disabled":h,"is--filter":o,"is--loading":i,"is--active":c}]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},E?E({}):[]),(0,_vue.h)(_input.default,{ref:O,clearable:I.clearable,placeholder:T,readonly:!0,disabled:h,type:"text",prefixIcon:I.prefixIcon,suffixIcon:i?(0,_ui.getIcon)().SELECT_LOADED:p?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:m,modelValue:m,onClear:oe,onClick:ge,onFocus:_e,onBlur:he,onSuffixClick:me},V?{prefix:()=>V({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!x||!u},[(0,_vue.h)("div",{ref:A,class:["vxe-table--ignore-clear vxe-select--panel",l?_xeUtils.default.isFunction(l)?l({$select:M}):l:"",{["size--"+g]:g,"is--transfer":x,"ani--leave":!i&&v,"ani--enter":!i&&p}],placement:k.panelPlacement,style:k.panelStyle},u&&(p||v)?[(0,_vue.h)("div",{class:"vxe-select--panel-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:P,class:"vxe-select-search--input",modelValue:k.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":xe,onFocus:be,onChange:Ee,onSearch:Ee})]):(0,_ui.renderEmptyElement)(M),n||s&&a||r||y?(0,_vue.h)("div",{class:"vxe-select--panel-header"},y?D(y,{}):[(0,_vue.h)("div",{class:"vxe-select--header-button"},[n?(0,_vue.h)("div",{class:"vxe-select--header-total"},(0,_ui.getI18n)("vxe.select.total",[b.length,d.length])):(0,_ui.renderEmptyElement)(M),(0,_vue.h)("div",{class:"vxe-select--header-btns"},[s&&a?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text",onClick:ne}):(0,_ui.renderEmptyElement)(M),r?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text",onClick:se}):(0,_ui.renderEmptyElement)(M)])])]):(0,_ui.renderEmptyElement)(M),(0,_vue.h)("div",{class:"vxe-select--panel-body"},[(0,_vue.h)("div",{ref:w,class:"vxe-select-option--wrapper",onScroll:Oe},[(0,_vue.h)("div",{class:"vxe-select--y-space",style:{height:f?f+"px":""}}),(0,_vue.h)("div",{ref:U,class:"vxe-select--body",style:{transform:`translateY(${_}px)`}},(()=>{var{optList:e,searchLoading:t}=k;return t?[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:e.length?we(e):[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},I.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]})())])]),S?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},D(S,{})):(0,_ui.renderEmptyElement)(M)])]:[])])]))},M},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";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"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],defaultConfig:Object,clearable:Boolean,placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>(0,_ui.getConfig)().select.multiCharOverflow},prefixIcon:String,allowCreate:{type:Boolean,default:()=>(0,_ui.getConfig)().select.allowCreate},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteConfig:Object,emptyText:String,showTotalButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showTotalButoon},showCheckedButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCheckedButoon},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showClearButton},transfer:{type:Boolean,default:null},virtualYConfig:Object,scrollY:Object,remoteMethod:Function,optionId:{type:String,default:()=>(0,_ui.getConfig)().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","all-change","clear","blur","focus","click","scroll","visible-change"],setup(I,e){const{slots:C,emit:a}=e,b=(0,_vue.inject)("$xeModal",null),T=(0,_vue.inject)("$xeDrawer",null),y=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const L=(0,_vue.ref)(),O=(0,_vue.ref)(),P=(0,_vue.ref)(),A=(0,_vue.ref)(),w=(0,_vue.ref)(),U=(0,_vue.ref)(),Y=(0,_ui.useSize)(I)["computeSize"],k=(0,_vue.reactive)({initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),S=createInternalData(),E={refElem:L},M={xID:t,props:I,context:e,reactData:k,internalData:S,getRefMaps:()=>E},z=(0,_vue.computed)(()=>{var e=I["readonly"];return null===e?!!i&&i.props.readonly:e}),N=(0,_vue.computed)(()=>{var e=I["disabled"];return null===e?!!i&&i.props.disabled:e}),B=(0,_vue.computed)(()=>{var e=I["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(y||b||T||i)return!0}return e}),q=(0,_vue.computed)(()=>{var e=I["placeholder"];return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),H=(0,_vue.computed)(()=>Object.assign({},I.defaultConfig)),j=(0,_vue.computed)(()=>Object.assign({},I.optionProps)),K=(0,_vue.computed)(()=>Object.assign({},I.optionGroupProps)),c=(0,_vue.computed)(()=>{return j.value.label||"label"}),V=(0,_vue.computed)(()=>{return j.value.value||"value"}),$=(0,_vue.computed)(()=>{return K.value.label||"label"}),G=(0,_vue.computed)(()=>{return K.value.options||"options"}),R=(0,_vue.computed)(()=>{var e=I["modelValue"];return te(e)}),W=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,I.virtualYConfig||I.scrollY)),X=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.remoteConfig,I.remoteConfig)),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.optionConfig,I.optionConfig)),J=(0,_vue.computed)(()=>_xeUtils.default.toNumber(I.multiCharOverflow)),Q=(0,_vue.computed)(()=>{const{modelValue:e,remote:t,multiple:l}=I;var a,i=k["reactFlag"];const o=J.value;return _xeUtils.default.eqNull(e)?"":(a=_xeUtils.default.isArray(e)?e:[e],(t&&i?a.map(e=>le(e)):a.map(e=>{e=ae(e);return l&&0<o&&e.length>o?e.substring(0,o)+"...":e})).join(", "))}),D=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=C[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],r=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$select:M},t))},ee=e=>{a("update:modelValue",e)},_=()=>{return Z.value.keyField||I.optionId||"_X_OPTION_KEY"},F=e=>{e=e[_()];return e?encodeURIComponent(e):""},te=e=>{var{multiple:t,max:l}=I;return!(!t||!l)&&(_xeUtils.default.isArray(e)?e.length:_xeUtils.default.eqNull(e)?0:1)>=_xeUtils.default.toNumber(l)},le=t=>{var e=I["lazyOptions"],{remoteValMaps:l,optFullValMaps:a}=S;const i=V.value;var o=c.value,l=l[t]||a[t],a=l?l.item:null;if(a)return _xeUtils.default.toValueString(a[o]);if(e){l=e.find(e=>e[i]===t);if(l)return l[o]}return t},ae=t=>{var e=I["lazyOptions"],l=S["optFullValMaps"];const a=V.value;var i=c.value,l=k.reactFlag?l[t]:null;if(l)return l.item[i];if(e){l=e.find(e=>e[a]===t);if(l)return l[i]}return t},g=()=>{const{modelValue:t,filterable:e,filterMethod:l}=I,a=k["searchValue"],{fullData:i,optFullValMaps:o}=S,n=c.value,s=V.value,r=(""+(a||"")).toLowerCase();let u=[];return(u=e&&l?i.filter(e=>isOptionVisible(e)&&l({$select:M,group:null,option:e,searchValue:a,value:t})):e?i.filter(e=>isOptionVisible(e)&&(!r||-1<(""+(e[n]||e[s])).toLowerCase().indexOf(r))):i.filter(isOptionVisible)).forEach((e,t)=>{e=o[e[s]];e&&(e._index=t)}),S.afterVisibleList=u,(0,_vue.nextTick)()},ie=e=>{e&&(k.currentOption=e)},s=()=>{const l=I["placement"],a=k["panelIndex"],i=L.value,o=w.value,n=B.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,o,{placement:l,teleportTo:n}),t=Object.assign(e.style,{zIndex:a});k.panelStyle=t,k.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},v=()=>{var{loading:e,filterable:t,remote:l}=I,{fullData:a,hpTimeout:i}=S,o=N.value,n=X.value;e||o||(i&&(clearTimeout(i),S.hpTimeout=void 0),k.initialized||(k.initialized=!0),k.isActivated=!0,k.isAniVisible=!0,t&&(l&&n.enabled&&n.autoLoad&&!a.length?Te:(g(),f))(),setTimeout(()=>{k.visiblePanel=!0,I.filterable&&(0,_vue.nextTick)(()=>{var e=P.value;e&&e.focus()});x().then(()=>m())},10),setTimeout(()=>{x().then(()=>m())},100),(e=I.zIndex)?k.panelIndex=e:k.panelIndex<(0,_utils.getLastZIndex)()&&(k.panelIndex=(0,_utils.nextZIndex)()),s(),r("visible-change",{visible:!0},null))},d=()=>{k.searchValue="",k.searchLoading=!1,k.visiblePanel=!1,S.hpTimeout=setTimeout(()=>{k.isAniVisible=!1},350),r("visible-change",{visible:!1},null)},u=(e,t,l)=>{ee(t),t!==I.modelValue&&(r("change",{value:t,option:l},e),i)&&o&&i.triggerItemEvent(e,o.itemConfig.field,t)},p=(e,t)=>{S.remoteValMaps={},u(e,t,null),r("clear",{value:t},e)},oe=e=>{e=e.$event;p(e,null),d()},ne=e=>{var e=e["$event"],{modelValue:t,multiple:l,max:a}=I,i=k["optList"],o=V.value;if(l){var n=_xeUtils.default.eqNull(t)?[]:_xeUtils.default.isArray(t)?t:[t];for(let e=0;e<i.length;e++){const s=i[e][o];if(te(n)){_ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[a]),status:"warning"});break}n.some(e=>e===s)||n.push(s)}u(e,n,i[0]),r("all-change",{value:n},e)}},se=e=>{e=e.$event;p(e,null),d()},re=(t,l)=>{var{modelValue:a,multiple:e}=I,i=S["remoteValMaps"];const o=l[V.value];var n=i[o];if(k.visiblePanel){if(n?n.item=l:i[o]={key:F(l),item:l,_index:-1},e){let e=[];n=_xeUtils.default.eqNull(a)?[]:_xeUtils.default.isArray(a)?a:[a],i=_xeUtils.default.findIndexOf(n,e=>e===o);e=-1===i?n.concat([o]):n.filter(e=>e!==o),u(t,e,l)}else u(t,o,l),d();k.reactFlag++}},ue=e=>{var t=k["visiblePanel"];N.value||t&&(t=w.value,((0,_dom.getEventTargetNode)(e,t).flag?s:d)())},ce=e=>{var t,l,a=k["visiblePanel"];N.value||(t=L.value,l=w.value,k.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!k.isActivated&&d())},h=e=>{var t=e.disabled,e=F(e);return!t&&!Pe(e)},ve=(e,t)=>{var l=I["allowCreate"],a=k["optList"],{optFullValMaps:i,optAddMaps:o,afterVisibleList:n}=S,s=V.value;let r=n,u=0;if(l&&a.length&&(n=a[0],o[l=F(n)])&&(u=1,r=[o[l]].concat(r)),!e)if(t)for(let e=0;e<r.length;e++){var c=r[e];if(h(c))return c}else for(let e=r.length-1;0<=e;e--){var v=r[e];if(h(v))return v}let d=0;a=e?i[e[s]]:null;if(-1<(d=a?a._index+u:d))if(t)for(let e=d+1;e<=r.length-1;e++){var p=r[e];if(h(p))return p}else if(0<d)for(let e=d-1;0<=e;e--){var f=r[e];if(h(f))return f}return null},de=t=>{var e=I["clearable"],{visiblePanel:l,currentOption:a}=k;if(!N.value){var i=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),o=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ENTER),n=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE),s=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),r=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),u=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);if(i&&(k.isActivated=!1),l){if(n||i)d();else if(o)a&&(t.preventDefault(),t.stopPropagation(),re(t,a));else if(s||r){t.preventDefault();let e=ve(a,r);(e=e||ve(null,r))&&(ie(e),((e,t)=>{const{scrollYLoad:l}=k,{optFullValMaps:a,scrollYStore:i}=S,o=V.value,n=a[e[o]];if(n){const s=n.key;const r=n._index;if(r>-1){const u=A.value;const c=w.value;if(!c)return;const v=c.querySelector(`[optid='${s}']`);if(u)if(v){const d=u.offsetHeight;const p=1;if(t){if(v.offsetTop+v.offsetHeight-u.scrollTop>d)u.scrollTop=v.offsetTop+v.offsetHeight-d;else if(v.offsetTop+p<u.scrollTop||v.offsetTop+p>u.scrollTop+u.clientHeight)u.scrollTop=v.offsetTop-p}else if(v.offsetTop+p<u.scrollTop||v.offsetTop+p>u.scrollTop+u.clientHeight)u.scrollTop=v.offsetTop-p;else if(v.offsetTop+v.offsetHeight-u.scrollTop>d)u.scrollTop=v.offsetTop+v.offsetHeight-d}else if(l)if(t)u.scrollTop=r*i.rowHeight-u.clientHeight+i.rowHeight;else u.scrollTop=r*i.rowHeight}}})(e,r))}}else(s||r||o)&&k.isActivated&&(t.preventDefault(),v());k.isActivated&&u&&e&&p(t,null)}},pe=()=>{var{visiblePanel:e,isActivated:t}=k;e&&d(),t&&(k.isActivated=!1),(e||t)&&(e=O.value)&&e.blur()},fe=()=>{var e=k["visiblePanel"];e&&s()},_e=e=>{N.value||k.visiblePanel||(k.triggerFocusPanel=!0,v(),setTimeout(()=>{k.triggerFocusPanel=!1},500)),r("focus",{},e)},ge=e=>{Ee(e),r("click",{triggerButton:!1,visible:k.visiblePanel},e)},he=e=>{k.isActivated=!1,r("blur",{},e)},me=e=>{Ee(e),r("click",{triggerButton:!0,visible:k.visiblePanel},e)},xe=e=>{k.searchValue=e},be=()=>{k.isActivated=!0},Te=()=>{var{modelValue:e,remote:t,remoteMethod:l}=I,a=k["searchValue"],i=X.value,l=i.queryMethod||l;t&&l&&i.enabled?(k.searchLoading=!0,Promise.resolve(l({$select:M,searchValue:a,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{k.searchLoading=!1,g(),f()})):(g(),f())},ye=_xeUtils.default.debounce(Te,350,{trailing:!0}),Ee=e=>{e=e.$event;e.preventDefault(),k.triggerFocusPanel?k.triggerFocusPanel=!1:(k.visiblePanel?d:v)()},Se=()=>{var e=k["scrollYLoad"],{scrollYStore:t,afterVisibleList:l}=S;k.bodyHeight=e?l.length*t.rowHeight:0,k.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},Ve=()=>{var{filterable:e,allowCreate:t}=I;const{scrollYLoad:l,searchValue:a}=k;var{optAddMaps:i,scrollYStore:o,afterVisibleList:n}=S;const s=c.value;var r=V.value,o=l?n.slice(o.startIndex,o.endIndex):n.slice(0);return e&&t&&a&&(o.some(e=>e[s]===a)||(n=i[a]||(0,_vue.reactive)({[_()]:a,[s]:a,[r]:a}),i[a]=n,o.unshift(n))),k.optList=o,(0,_vue.nextTick)()},f=()=>{Ve(),Se()},Ie=()=>(0,_vue.nextTick)().then(()=>{var e=k["scrollYLoad"],t=S["scrollYStore"],l=U.value,a=W.value;let i=0,o;(o=l?o||l.children[0]:o)&&(i=o.offsetHeight),i=Math.max(20,i),t.rowHeight=i,(e?(l=A.value,e=Math.max(8,l?Math.ceil(l.clientHeight/i):0),l=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),f):Se)()}),Ce=(e,t)=>{var l=A.value;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),k.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},m=()=>{const{lastScrollLeft:e,lastScrollTop:t}=S;return n().then(()=>{if(e||t)return S.lastScrollLeft=0,S.lastScrollTop=0,Ce(e,t)})},x=()=>{var e=L.value;return e&&e.clientWidth&&e.clientHeight?Ie():Promise.resolve()},Le=e=>{var t=S["scrollYStore"],{startIndex:l,endIndex:a,visibleSize:i,offsetSize:o,rowHeight:n}=t,e=e.target.scrollTop,e=Math.floor(e/n),n=Math.max(0,e-1-o),o=e+i+o;!(e<=l||a-i-1<=e)||l===n&&a===o||(t.startIndex=n,t.endIndex=o,f())},Oe=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==S.lastScrollLeft,i=l!==S.lastScrollTop;S.lastScrollTop=l,S.lastScrollLeft=t,k.scrollYLoad&&Le(e),S.lastScrollTime=Date.now(),r("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:i},e)},l=e=>{{var t=e||[];const s=G.value,r=V.value,u=_(),c={},v={},d=[],p=e=>{d.push(e);let t=F(e);t||(t=getOptUniqueId(),e[u]=t),v[e[r]]={key:t,item:e,_index:-1}};t.forEach(e=>{p(e),e[s]&&(c[e[u]]=e)[s].forEach(p)}),S.fullData=d,S.optGroupKeyMaps=c,S.optFullValMaps=v,k.reactFlag++,g()}var{isLoaded:t,fullData:l,scrollYStore:a}=S,i=H.value,o=W.value;const n=V.value;if(Object.assign(a,{startIndex:0,endIndex:1,visibleSize:0}),S.synchData=e||[],k.scrollYLoad=!!o.enabled&&-1<o.gt&&(0===o.gt||o.gt<=l.length),Ve(),!t){a=i["selectMode"];if(0<e.length&&_xeUtils.default.eqNull(I.modelValue)){if("first"===a||"last"===a){const f=_xeUtils.default[a](e);f&&(0,_vue.nextTick)(()=>{_xeUtils.default.eqNull(I.modelValue)&&ee(f[n])})}S.isLoaded=!0}}return Ie().then(()=>{m()})},n=()=>{var e=A.value;return e&&(e.scrollTop=0,e.scrollLeft=0),S.lastScrollTop=0,(S.lastScrollLeft=0,_vue.nextTick)()},Pe=e=>{var t=S["optGroupKeyMaps"];return!!t[e]};t={dispatchEvent:r,loadData:l,reloadData(e){return S.isLoaded=!1,n(),l(e)},isPanelVisible(){return k.visiblePanel},togglePanel(){return(k.visiblePanel?d:v)(),(0,_vue.nextTick)()},hidePanel(){return k.visiblePanel&&d(),(0,_vue.nextTick)()},showPanel(){return k.visiblePanel||v(),(0,_vue.nextTick)()},refreshOption(){return g(),f(),(0,_vue.nextTick)()},focus(){var e=O.value;return e&&e.blur(),k.isActivated=!0,(0,_vue.nextTick)()},blur(){var e=O.value;return e&&e.blur(),(k.isActivated=!1,_vue.nextTick)()},recalculate:x,clearScroll:n};Object.assign(M,t);const Ae=e=>{const{allowCreate:f,optionKey:_,modelValue:g}=I,h=k["currentOption"],m=S["optAddMaps"];var t=Z.value;const x=c.value,b=V.value,T=$.value,y=t["useKey"],E=C.option;return e.map((t,e)=>{var{slots:l,className:a}=t,i=F(t),o=t[b];const n=Pe(i);var s=!(!f||!m[i]),r=!s&&(_xeUtils.default.isArray(g)?-1<g.indexOf(o):g===o),u=s||!n||isOptionVisible(t);const c=!s&&(v=r,!!t.disabled||!(!R.value||v));var v=l?l.default:null,l={option:t,group:n?t:null,$select:M};let d="",p=[];return p=E?D(E,l):v?D(v,l):d=(0,_utils.getFuncText)(t[n?T:x]||o),u?(0,_vue.h)("div",{key:y||_?i:e,class:["vxe-select-option",a?_xeUtils.default.isFunction(a)?a(l):a:"",{"vxe-select-optgroup":n,"is--disabled":c,"is--selected":r,"is--add":s,"is--hover":h&&F(h)===i}],optid:i,title:d||null,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick:e=>{c||n||re(e,t)},onMouseenter:()=>{var e;c||n||(e=S.lastScrollTime)&&Date.now()<e+250||ie(t)}},f?[(0,_vue.h)("span",{key:1,class:"vxe-select-option--label"},p),s?(0,_vue.h)("span",{key:2,class:"vxe-select-option--add-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(M)]:p):(0,_ui.renderEmptyElement)(M)})};return(0,_vue.watch)(()=>k.staticOptions,e=>{l(e)}),(0,_vue.watch)(()=>I.options,e=>{l(e||[])}),(0,_vue.watch)(()=>I.optionGroups,e=>{l(e||[])}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=I;t?l(t):e&&l(e)}),_ui.globalEvents.on(M,"mousewheel",ue),_ui.globalEvents.on(M,"mousedown",ce),_ui.globalEvents.on(M,"keydown",de),_ui.globalEvents.on(M,"blur",pe),_ui.globalEvents.on(M,"resize",fe)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(M,"mousewheel"),_ui.globalEvents.off(M,"mousedown"),_ui.globalEvents.off(M,"keydown"),_ui.globalEvents.off(M,"blur"),_ui.globalEvents.off(M,"resize"),_xeUtils.default.assign(S,createInternalData())}),(0,_vue.provide)("$xeSelect",M),M.renderVN=()=>{var{modelValue:e,className:t,popupClassName:l,multiple:a,loading:i,filterable:o,showTotalButoon:n,showCheckedButoon:s,showClearButton:r}=I,{initialized:u,isActivated:c,isAniVisible:v,optList:d,visiblePanel:p,bodyHeight:f,topSpaceHeight:_}=k,g=Y.value,h=N.value,m=Q.value,x=B.value,b=z.value,T=q.value,y=C.default,E=C.header,S=C.footer;const V=C.prefix;return b?(0,_vue.h)("div",{ref:L,class:["vxe-select--readonly",t]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},y?y({}):[]),(0,_vue.h)("span",{class:"vxe-select-label"},m)]):(b=_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e],(0,_vue.h)("div",{ref:L,class:["vxe-select",t?_xeUtils.default.isFunction(t)?t({$select:M}):t:"",{["size--"+g]:g,"is--visible":p,"is--disabled":h,"is--filter":o,"is--loading":i,"is--active":c}]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},y?y({}):[]),(0,_vue.h)(_input.default,{ref:O,clearable:I.clearable,placeholder:T,readonly:!0,disabled:h,type:"text",prefixIcon:I.prefixIcon,suffixIcon:i?(0,_ui.getIcon)().SELECT_LOADED:p?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:m,modelValue:m,onClear:oe,onClick:ge,onFocus:_e,onBlur:he,onSuffixClick:me},V?{prefix:()=>V({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!x||!u},[(0,_vue.h)("div",{ref:w,class:["vxe-table--ignore-clear vxe-select--panel",l?_xeUtils.default.isFunction(l)?l({$select:M}):l:"",{["size--"+g]:g,"is--transfer":x,"ani--leave":!i&&v,"ani--enter":!i&&p}],placement:k.panelPlacement,style:k.panelStyle},u&&(p||v)?[(0,_vue.h)("div",{class:"vxe-select--panel-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:P,class:"vxe-select-search--input",modelValue:k.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":xe,onFocus:be,onChange:ye,onSearch:ye})]):(0,_ui.renderEmptyElement)(M),n||s&&a||r||E?(0,_vue.h)("div",{class:"vxe-select--panel-header"},E?D(E,{}):[(0,_vue.h)("div",{class:"vxe-select--header-button"},[n?(0,_vue.h)("div",{class:"vxe-select--header-total"},(0,_ui.getI18n)("vxe.select.total",[b.length,d.length])):(0,_ui.renderEmptyElement)(M),(0,_vue.h)("div",{class:"vxe-select--header-btns"},[s&&a?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text",onClick:ne}):(0,_ui.renderEmptyElement)(M),r?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text",onClick:se}):(0,_ui.renderEmptyElement)(M)])])]):(0,_ui.renderEmptyElement)(M),(0,_vue.h)("div",{class:"vxe-select--panel-body"},[(0,_vue.h)("div",{ref:A,class:"vxe-select-option--wrapper",onScroll:Oe},[(0,_vue.h)("div",{class:"vxe-select--y-space",style:{height:f?f+"px":""}}),(0,_vue.h)("div",{ref:U,class:"vxe-select--body",style:{transform:`translateY(${_}px)`}},(()=>{var{optList:e,searchLoading:t}=k;return t?[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:e.length?Ae(e):[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},I.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]})())])]),S?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},D(S,{})):(0,_ui.renderEmptyElement)(M)])]:[])])]))},M},render(){return this.renderVN()}});
|
package/lib/split/src/split.js
CHANGED
|
@@ -232,13 +232,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
232
232
|
};
|
|
233
233
|
reactData.itemList = list.map(item => {
|
|
234
234
|
if (item.showAction) {
|
|
235
|
-
(0, _log.warnLog)('vxe.error.removeProp', ['
|
|
235
|
+
(0, _log.warnLog)('vxe.error.removeProp', ['[split] show-action']);
|
|
236
236
|
}
|
|
237
237
|
if (item.slots) {
|
|
238
238
|
_xeUtils.default.each(item.slots, func => {
|
|
239
239
|
if (!_xeUtils.default.isFunction(func)) {
|
|
240
240
|
if (!slots[func]) {
|
|
241
|
-
(0, _log.errLog)('vxe.error.notSlot', [func]);
|
|
241
|
+
(0, _log.errLog)('vxe.error.notSlot', [`[split] ${func}`]);
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
});
|
|
@@ -914,11 +914,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
914
914
|
}
|
|
915
915
|
reactData.itemList = val || [];
|
|
916
916
|
if ((showPrevButton || showNextButton) && reactData.itemList.length > 2) {
|
|
917
|
-
(0, _log.errLog)('vxe.error.modelConflicts', ['action-config.showPrevButton | action-config.showNextButton', '<vxe-split-pane ...> Only supports 2 panel']);
|
|
917
|
+
(0, _log.errLog)('vxe.error.modelConflicts', ['[split] action-config.showPrevButton | action-config.showNextButton', '<vxe-split-pane ...> Only supports 2 panel']);
|
|
918
918
|
}
|
|
919
919
|
reactData.itemList.forEach(item => {
|
|
920
920
|
if (item.showAction) {
|
|
921
|
-
(0, _log.warnLog)('vxe.error.removeProp', ['showAction']);
|
|
921
|
+
(0, _log.warnLog)('vxe.error.removeProp', ['[split] showAction']);
|
|
922
922
|
}
|
|
923
923
|
});
|
|
924
924
|
recalculate();
|
|
@@ -937,7 +937,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
937
937
|
}
|
|
938
938
|
const actionOpts = computeActionOpts.value;
|
|
939
939
|
if (actionOpts.direction) {
|
|
940
|
-
(0, _log.errLog)('vxe.error.delProp', ['action-config.direction', 'action-config.showPrevButton | action-config.showNextButton']);
|
|
940
|
+
(0, _log.errLog)('vxe.error.delProp', ['[split] action-config.direction', 'action-config.showPrevButton | action-config.showNextButton']);
|
|
941
941
|
}
|
|
942
942
|
_ui.globalEvents.on($xeSplit, 'resize', handleGlobalResizeEvent);
|
|
943
943
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSplit",props:{width:[Number,String],height:[Number,String],vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().split.vertical},border:{type:Boolean,default:()=>(0,_ui.getConfig)().split.border},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().split.padding},resize:{type:Boolean,default:()=>(0,_ui.getConfig)().split.resize},items:Array,itemConfig:Object,barConfig:Object,resizeConfig:Object,actionConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().split.size||(0,_ui.getConfig)().size}},emits:["action-dblclick","action-click","toggle-expand","resize-start","resize-drag","resize-end"],setup(c,e){const{emit:s,slots:a}=e;var t=_xeUtils.default.uniqueId();const k=(0,_vue.ref)(),g=(0,_vue.ref)(),M=(0,_vue.ref)(),d=(0,_ui.useSize)(c)["computeSize"],P=(0,_vue.reactive)({staticItems:[],itemList:[],barWidth:0,barHeight:0}),p={wrapperWidth:0,wrapperHeight:0},D=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.itemConfig,c.itemConfig)),n=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.barConfig,c.barConfig)),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.resizeConfig,c.resizeConfig)),u=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.actionConfig,c.actionConfig)),h=(0,_vue.computed)(()=>P.itemList.filter(e=>e.isExpand)),v=(0,_vue.computed)(()=>{var e=c["vertical"];const r=[];let o=0,a=0;return P.itemList.forEach(e?e=>{var{renderHeight:t,resizeHeight:i,foldHeight:s,isExpand:n,height:l}=e,n=n?s||i||t:0;l||r.push(e),o+=n}:e=>{var{renderWidth:t,resizeWidth:i,foldWidth:s,isExpand:n,width:l}=e,n=n?s||i||t:0;l||r.push(e),a+=n}),{autoItems:r,heightCount:o,heightRatio:o/100,widthCount:a,widthRatio:a/100}}),f=(0,_vue.computed)(()=>{var{width:e,height:t}=n.value,i={};return t&&(i.height=(0,_dom.toCssUnit)(t)),e&&(i.width=(0,_dom.toCssUnit)(e)),i}),i={computeItemOpts:D,computeBarOpts:n,computeActionOpts:u},l={refElem:k},m={xID:t,props:c,context:e,reactData:P,internalData:p,getRefMaps:()=>l,getComputeMaps:()=>i},j=(e,t,i)=>{s(e,(0,_ui.createEvent)(i,{$split:m},t))},H=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],_=(e,t,i)=>{var s=c["vertical"],n="SPLIT_TOP_ACTION",l="SPLIT_BOTTOM_ACTION",r="SPLIT_LEFT_ACTION",o="SPLIT_RIGHT_ACTION";let a="";return(a=s?i?t.isExpand?l:n:e.isExpand?n:l:i?t.isExpand?o:r:e.isExpand?r:o)?(0,_ui.getIcon)()[a]:""};const r=(e,t)=>{var i=P["staticItems"],{showPrevButton:s,showNextButton:n}=u.value;const l={isExpand:!0,renderWidth:0,resizeWidth:0,foldWidth:0,renderHeight:0,resizeHeight:0,foldHeight:0};return P.itemList=e.map(e=>(e.showAction&&(0,_log.warnLog)("vxe.error.removeProp",["showAction"]),e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||a[e]||(0,_log.errLog)("vxe.error.notSlot",[e])}),Object.assign({},t?null:l,e,t?l:null,{id:_xeUtils.default.uniqueId()}))),i.length&&(0,_log.errLog)("vxe.error.errConflicts",["<vxe-split-pane ...>","items"]),(s||n)&&2<P.itemList.length&&(0,_log.errLog)("vxe.error.errConflicts",["action-config.showPrevButton | action-config.showNextButton","Only supports 2 item"]),R()},o=e=>r(e||[],!1);const R=()=>(0,_vue.nextTick)().then(()=>{var e=c["vertical"],t=P["itemList"],i=k.value,s=g.value;if(i){var n=i.clientWidth,i=i.clientHeight;if(n&&i){s&&(P.barWidth=s.offsetWidth,P.barHeight=s.offsetHeight);const l=n-(e?0:P.barWidth*(t.length-1)),r=i-(e?P.barHeight*(t.length-1):0);s=D.value;const o=_xeUtils.default.toNumber(s.minWidth),a=_xeUtils.default.toNumber(s.minHeight),d=[];if(e){let s=0;if(t.forEach(e=>{var t=e["height"];let i=0;t?(i=(0,_dom.isScale)(t)?r*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderHeight=i):d.push(e),s+=i}),d.length){const u=(r-s)/d.length;d.forEach(e=>{e.renderHeight=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minHeight,a)),u)})}}else{let s=0;if(t.forEach(e=>{var t=e["width"];let i=0;t?(i=(0,_dom.isScale)(t)?l*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderWidth=i):d.push(e),s+=i}),d.length){const h=(l-s)/d.length;d.forEach(e=>{e.renderWidth=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minWidth,o)),h)})}}p.wrapperWidth=l,p.wrapperHeight=r}}}),x=e=>{const{resize:t,vertical:g}=c;var i=P["itemList"];if(t){e.preventDefault();var s=e.currentTarget,n=s.parentElement;const f=k.value;if(f){const m=n.previousElementSibling,_=n.nextElementSibling;if(m&&_){const l=m.getAttribute("itemid"),r=_.getAttribute("itemid"),x=i.find(e=>e.id===l),b=i.find(e=>e.id===r);if(x&&b){const z=f.getBoundingClientRect();n=s.getBoundingClientRect();const E=M.value,C=E?E.children[0]:null;i=D.value;const w=q.value["immediate"];var s=_xeUtils.default.toNumber(i.minWidth),i=_xeUtils.default.toNumber(i.minHeight),p=Math.ceil(n.width-(e.clientX-n.left)),n=Math.ceil(e.clientY-n.top);const y=m.offsetWidth,H=_.offsetWidth;var v=_xeUtils.default.toNumber(x?(0,_utils.getGlobalDefaultConfig)(x.minWidth,s):s),s=_xeUtils.default.toNumber(b?(0,_utils.getGlobalDefaultConfig)(b.minWidth,s):s);const W=m.offsetLeft+v-p,I=_.offsetLeft+_.offsetWidth-s-p,U=e.clientX-z.left;let l=-1,r=0,o=0,a=U;const L=m.offsetHeight,N=_.offsetHeight;v=_xeUtils.default.toNumber(x?(0,_utils.getGlobalDefaultConfig)(x.minHeight,i):i),s=_xeUtils.default.toNumber(b?(0,_utils.getGlobalDefaultConfig)(b.minHeight,i):i);const S=m.offsetTop+v+n,B=_.offsetTop+_.offsetHeight-s+n,T=e.clientY-z.top;let d=-1,u=0,h=0,c=T;const A=i=>{if(E){var s=C?C.children[0]:null,n=C?C.children[1]:null;if(g){let e=0,t=(s&&(d<0?s.style.display="none":(s.textContent=Math.floor(u)+"px",s.style.display="block",e=s.offsetWidth)),n&&(d<0?(n.textContent=Math.floor(h)+"px",n.style.display="block",e=n.offsetWidth):n.style.display="none"),Math.max(1,i.clientX-z.left-e/2));t>z.width-e-1&&(t=z.width-e-1),E.style.left="0",E.style.top=c+"px",C&&(C.style.left=t+"px")}else{let e=0,t=(s&&(l<0?s.style.display="none":(s.textContent=Math.floor(r)+"px",s.style.display="block",e=s.offsetHeight)),n&&(l<0?(n.textContent=Math.floor(o)+"px",n.style.display="block",e=n.offsetHeight):n.style.display="none"),Math.max(1,i.clientY-z.top-e/2));t>z.height-e-1&&(t=z.height-e-1),E.style.top="0",E.style.left=a+"px",C&&(C.style.top=t+"px")}}},O=e=>{g?((c=(c=e.clientY-z.top)<S?S:c)>B&&(c=B),d=c-T,u=L+d,h=N-d):((a=(a=e.clientX-z.left)<W?W:a)>I&&(a=I),l=a-U,r=y+l,o=H-l),w&&(g?(m.style.height=(0,_dom.toCssUnit)(u),_.style.height=(0,_dom.toCssUnit)(h)):(m.style.width=(0,_dom.toCssUnit)(r),_.style.width=(0,_dom.toCssUnit)(o))),E&&A(e),j("resize-drag",{prevItem:x,nextItem:b,offsetHeight:d,offsetWidth:l},e)};document.onmousemove=e=>{e.preventDefault(),O(e)},document.onmouseup=e=>{document.onmousemove=null,document.onmouseup=null,E&&(E.style.display=""),g?(x.resizeHeight=u,b.resizeHeight=h):(x.resizeWidth=r,b.resizeWidth=o),(0,_dom.removeClass)(f,"is--drag"),j("resize-end",{prevItem:x,nextItem:b,offsetHeight:d,offsetWidth:l},e),R()},E&&(E.style.display="block",A(e)),O(e),(0,_dom.addClass)(f,"is--drag"),j("resize-start",{prevItem:x,nextItem:b},e)}}}}},b=(e,t,i,s)=>{var n=c["vertical"];let l=!1,r=t;s?(r=i,l=!i.isExpand,i.isExpand=l):(l=!t.isExpand,t.isExpand=l),n?t.isExpand&&i.isExpand?(t.foldHeight=0,i.foldHeight=0):t.isExpand?(i.foldHeight=0,t.foldHeight=(t.resizeHeight||t.renderHeight)+(i.resizeHeight||i.renderHeight)):(t.foldHeight=0,i.foldHeight=(t.resizeHeight||t.renderHeight)+(i.resizeHeight||i.renderHeight)):t.isExpand&&i.isExpand?(t.foldWidth=0,i.foldWidth=0):t.isExpand?(i.foldWidth=0,t.foldWidth=(t.resizeWidth||t.renderWidth)+(i.resizeWidth||i.renderWidth)):(t.foldWidth=0,i.foldWidth=(t.resizeWidth||t.renderWidth)+(i.resizeWidth||i.renderWidth)),j("toggle-expand",{prevItem:t,nextItem:i,expanded:l,item:r},e),R()},z=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const n=s.previousElementSibling.getAttribute("itemid");var l=t.find(e=>e.id===n);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"===i.trigger&&l&&s&&s.isExpand&&b(e,l,s,!1),j("action-dblclick",{prevItem:l,nextItem:s},e)},E=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const n=s.previousElementSibling.getAttribute("itemid");var l=t.find(e=>e.id===n);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"!==i.trigger&&l&&s&&s.isExpand&&b(e,l,s,!1),j("action-click",{prevItem:l,nextItem:s},e)},C=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const n=s.previousElementSibling.getAttribute("itemid");var l=t.find(e=>e.id===n);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"===i.trigger&&l&&s&&l.isExpand&&b(e,l,s,!0),j("action-dblclick",{prevItem:l,nextItem:s},e)},w=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const n=s.previousElementSibling.getAttribute("itemid");var l=t.find(e=>e.id===n);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"!==i.trigger&&l&&s&&l.isExpand&&b(e,l,s,!0),j("action-click",{prevItem:l,nextItem:s},e)},y=()=>{R()};t={dispatchEvent:j,recalculate:R,reset:()=>{var e=P["itemList"];return e.forEach(e=>{e.isExpand=!0,e.foldHeight=0,e.foldWidth=0,e.resizeHeight=0,e.resizeWidth=0}),(0,_vue.nextTick)()},loadItem:o,reloadItem:e=>r(e||[],!0)};Object.assign(m,t,{});const U=(e,t)=>{var{border:i,resize:s,vertical:n}=c,l=P["itemList"],r=f.value,o=u.value,a=o["direction"],d=_xeUtils.default.isBoolean(o.showPrevButton)?o.showPrevButton:l.some(e=>e.showAction),o=_xeUtils.default.isBoolean(o.showNextButton)?o.showNextButton:"next"===a&&l.some(e=>e.showAction),a=q.value["immediate"];return(0,_vue.h)("div",{class:["vxe-split-pane-handle",n?"is--vertical":"is--horizontal",a?"is-resize--immediate":"is-resize--lazy",{"is--resize":s,"is--border":i}]},[(0,_vue.h)("div",{class:"vxe-split-pane-handle-bar",style:r,onMousedown:x}),2===l.length?(0,_vue.h)("div",{class:"vxe-split-pane-action-btn-wrapper"},[d&&t.isExpand?(0,_vue.h)("div",{class:"vxe-split-pane-action-btn",onDblclick:z,onClick:E},[(0,_vue.h)("i",{class:_(e,t,!1)})]):(0,_ui.renderEmptyElement)(m),o&&e.isExpand?(0,_vue.h)("div",{class:"vxe-split-pane-action-btn",onDblclick:C,onClick:w},[(0,_vue.h)("i",{class:_(e,t,!0)})]):(0,_ui.renderEmptyElement)(m)]):(0,_ui.renderEmptyElement)(m)])};const W=(0,_vue.ref)(0);(0,_vue.watch)(()=>c.items?c.items.length:-1,()=>{W.value++}),(0,_vue.watch)(()=>c.items,()=>{W.value++}),(0,_vue.watch)(W,()=>{o(c.items||[])}),(0,_vue.watch)(()=>P.staticItems,e=>{var{showPrevButton:t,showNextButton:i}=u.value;c.items&&c.items.length&&(0,_log.errLog)("vxe.error.errConflicts",["<vxe-split-pane ...>","items"]),P.itemList=e||[],(t||i)&&2<P.itemList.length&&(0,_log.errLog)("vxe.error.modelConflicts",["action-config.showPrevButton | action-config.showNextButton","<vxe-split-pane ...> Only supports 2 panel"]),P.itemList.forEach(e=>{e.showAction&&(0,_log.warnLog)("vxe.error.removeProp",["showAction"])}),R()});let I;return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{R()});var e=k.value,e=(e&&(I=_ui.globalResize.create(()=>{R()})).observe(e),u.value);e.direction&&(0,_log.errLog)("vxe.error.delProp",["action-config.direction","action-config.showPrevButton | action-config.showNextButton"]),_ui.globalEvents.on(m,"resize",y)}),(0,_vue.onUnmounted)(()=>{I&&I.disconnect(),_ui.globalEvents.off(m,"resize")}),(0,_vue.onActivated)(()=>{R()}),c.items&&o(c.items),(0,_vue.provide)("$xeSplit",m),m.renderVN=()=>{var{vertical:e,width:t,height:i}=c,s=d.value,{immediate:n,showTip:l}=q.value,r=a.default,o={};return i&&(o.height=(0,_dom.toCssUnit)(i)),t&&(o.width=(0,_dom.toCssUnit)(t)),(0,_vue.h)("div",{ref:k,class:["vxe-split",e?"is--vertical":"is--horizontal",n?"is-resize--immediate":"is-resize--lazy",{["size--"+s]:s}],style:o},[(0,_vue.h)("div",{class:"vxe-split-slots"},r?r({}):[]),(()=>{const{border:f,padding:m,resize:_,vertical:x}=c,b=P["itemList"],z=d.value;const E=q.value["immediate"],C=h.value,w=v.value["autoItems"],y=[];return b.forEach((e,t)=>{var{id:i,name:s,slots:n,renderHeight:l,resizeHeight:r,foldHeight:o,renderWidth:a,resizeWidth:d,foldWidth:u,isExpand:h}=e,t=b[t+1],n=n?n.default:null,c={};let g=h?u||d||a:0,p=h?o||r||l:0,v=(1===w.length&&(x?e.height||(p=0):e.width||(g=0)),!0);x?p&&1<C.length&&(v=!1,c.height=(0,_dom.toCssUnit)(p)):g&&1<C.length&&(v=!1,c.width=(0,_dom.toCssUnit)(g)),y.push((0,_vue.h)("div",{itemid:i,class:["vxe-split-pane",x?"is--vertical":"is--horizontal",E?"is-resize--immediate":"is-resize--lazy",{["size--"+z]:z,"is--resize":_,"is--padding":m,"is--border":f,"is--height":p,"is--width":g,"is--visible":h,"is--hidden":!h,"is--fill":h&&v}],style:c},[(0,_vue.h)("div",{itemid:i,class:"vxe-split-pane--wrapper"},[(0,_vue.h)("div",{class:"vxe-split-pane--inner"},n?H(n,{name:s,isExpand:h}):[])])])),t&&y.push(U(e,t))}),(0,_vue.h)("div",{class:"vxe-split-wrapper"},y)})(),(0,_vue.h)("div",{ref:M,class:["vxe-split--resizable-split-tip",e?"is--vertical":"is--horizontal",n?"is-resize--immediate":"is-resize--lazy"]},l?[(0,_vue.h)("div",{class:"vxe-split--resizable-split-tip-number"},[(0,_vue.h)("div",{class:"vxe-split--resizable-split-number-prev"}),(0,_vue.h)("div",{class:"vxe-split--resizable-split-number-next"})])]:[]),(0,_vue.h)("div",{class:"vxe-split--render-vars"},[(0,_vue.h)("div",{ref:g,class:"vxe-split--handle-bar-info"})])])},m},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSplit",props:{width:[Number,String],height:[Number,String],vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().split.vertical},border:{type:Boolean,default:()=>(0,_ui.getConfig)().split.border},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().split.padding},resize:{type:Boolean,default:()=>(0,_ui.getConfig)().split.resize},items:Array,itemConfig:Object,barConfig:Object,resizeConfig:Object,actionConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().split.size||(0,_ui.getConfig)().size}},emits:["action-dblclick","action-click","toggle-expand","resize-start","resize-drag","resize-end"],setup(c,e){const{emit:s,slots:a}=e;var t=_xeUtils.default.uniqueId();const A=(0,_vue.ref)(),g=(0,_vue.ref)(),M=(0,_vue.ref)(),d=(0,_ui.useSize)(c)["computeSize"],P=(0,_vue.reactive)({staticItems:[],itemList:[],barWidth:0,barHeight:0}),p={wrapperWidth:0,wrapperHeight:0},D=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.itemConfig,c.itemConfig)),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.barConfig,c.barConfig)),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.resizeConfig,c.resizeConfig)),u=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().split.actionConfig,c.actionConfig)),h=(0,_vue.computed)(()=>P.itemList.filter(e=>e.isExpand)),v=(0,_vue.computed)(()=>{var e=c["vertical"];const r=[];let o=0,a=0;return P.itemList.forEach(e?e=>{var{renderHeight:t,resizeHeight:i,foldHeight:s,isExpand:l,height:n}=e,l=l?s||i||t:0;n||r.push(e),o+=l}:e=>{var{renderWidth:t,resizeWidth:i,foldWidth:s,isExpand:l,width:n}=e,l=l?s||i||t:0;n||r.push(e),a+=l}),{autoItems:r,heightCount:o,heightRatio:o/100,widthCount:a,widthRatio:a/100}}),f=(0,_vue.computed)(()=>{var{width:e,height:t}=l.value,i={};return t&&(i.height=(0,_dom.toCssUnit)(t)),e&&(i.width=(0,_dom.toCssUnit)(e)),i}),i={computeItemOpts:D,computeBarOpts:l,computeActionOpts:u},n={refElem:A},m={xID:t,props:c,context:e,reactData:P,internalData:p,getRefMaps:()=>n,getComputeMaps:()=>i},j=(e,t,i)=>{s(e,(0,_ui.createEvent)(i,{$split:m},t))},H=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],_=(e,t,i)=>{var s=c["vertical"],l="SPLIT_TOP_ACTION",n="SPLIT_BOTTOM_ACTION",r="SPLIT_LEFT_ACTION",o="SPLIT_RIGHT_ACTION";let a="";return(a=s?i?t.isExpand?n:l:e.isExpand?l:n:i?t.isExpand?o:r:e.isExpand?r:o)?(0,_ui.getIcon)()[a]:""};const r=(e,t)=>{var i=P["staticItems"],{showPrevButton:s,showNextButton:l}=u.value;const n={isExpand:!0,renderWidth:0,resizeWidth:0,foldWidth:0,renderHeight:0,resizeHeight:0,foldHeight:0};return P.itemList=e.map(e=>(e.showAction&&(0,_log.warnLog)("vxe.error.removeProp",["[split] show-action"]),e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||a[e]||(0,_log.errLog)("vxe.error.notSlot",["[split] "+e])}),Object.assign({},t?null:n,e,t?n:null,{id:_xeUtils.default.uniqueId()}))),i.length&&(0,_log.errLog)("vxe.error.errConflicts",["<vxe-split-pane ...>","items"]),(s||l)&&2<P.itemList.length&&(0,_log.errLog)("vxe.error.errConflicts",["action-config.showPrevButton | action-config.showNextButton","Only supports 2 item"]),R()},o=e=>r(e||[],!1);const R=()=>(0,_vue.nextTick)().then(()=>{var e=c["vertical"],t=P["itemList"],i=A.value,s=g.value;if(i){var l=i.clientWidth,i=i.clientHeight;if(l&&i){s&&(P.barWidth=s.offsetWidth,P.barHeight=s.offsetHeight);const n=l-(e?0:P.barWidth*(t.length-1)),r=i-(e?P.barHeight*(t.length-1):0);s=D.value;const o=_xeUtils.default.toNumber(s.minWidth),a=_xeUtils.default.toNumber(s.minHeight),d=[];if(e){let s=0;if(t.forEach(e=>{var t=e["height"];let i=0;t?(i=(0,_dom.isScale)(t)?r*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderHeight=i):d.push(e),s+=i}),d.length){const u=(r-s)/d.length;d.forEach(e=>{e.renderHeight=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minHeight,a)),u)})}}else{let s=0;if(t.forEach(e=>{var t=e["width"];let i=0;t?(i=(0,_dom.isScale)(t)?n*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderWidth=i):d.push(e),s+=i}),d.length){const h=(n-s)/d.length;d.forEach(e=>{e.renderWidth=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minWidth,o)),h)})}}p.wrapperWidth=n,p.wrapperHeight=r}}}),x=e=>{const{resize:t,vertical:g}=c;var i=P["itemList"];if(t){e.preventDefault();var s=e.currentTarget,l=s.parentElement;const f=A.value;if(f){const m=l.previousElementSibling,_=l.nextElementSibling;if(m&&_){const n=m.getAttribute("itemid"),r=_.getAttribute("itemid"),x=i.find(e=>e.id===n),b=i.find(e=>e.id===r);if(x&&b){const z=f.getBoundingClientRect();l=s.getBoundingClientRect();const E=M.value,C=E?E.children[0]:null;i=D.value;const w=q.value["immediate"];var s=_xeUtils.default.toNumber(i.minWidth),i=_xeUtils.default.toNumber(i.minHeight),p=Math.ceil(l.width-(e.clientX-l.left)),l=Math.ceil(e.clientY-l.top);const y=m.offsetWidth,H=_.offsetWidth;var v=_xeUtils.default.toNumber(x?(0,_utils.getGlobalDefaultConfig)(x.minWidth,s):s),s=_xeUtils.default.toNumber(b?(0,_utils.getGlobalDefaultConfig)(b.minWidth,s):s);const W=m.offsetLeft+v-p,I=_.offsetLeft+_.offsetWidth-s-p,U=e.clientX-z.left;let n=-1,r=0,o=0,a=U;const L=m.offsetHeight,N=_.offsetHeight;v=_xeUtils.default.toNumber(x?(0,_utils.getGlobalDefaultConfig)(x.minHeight,i):i),s=_xeUtils.default.toNumber(b?(0,_utils.getGlobalDefaultConfig)(b.minHeight,i):i);const S=m.offsetTop+v+l,B=_.offsetTop+_.offsetHeight-s+l,T=e.clientY-z.top;let d=-1,u=0,h=0,c=T;const O=i=>{if(E){var s=C?C.children[0]:null,l=C?C.children[1]:null;if(g){let e=0,t=(s&&(d<0?s.style.display="none":(s.textContent=Math.floor(u)+"px",s.style.display="block",e=s.offsetWidth)),l&&(d<0?(l.textContent=Math.floor(h)+"px",l.style.display="block",e=l.offsetWidth):l.style.display="none"),Math.max(1,i.clientX-z.left-e/2));t>z.width-e-1&&(t=z.width-e-1),E.style.left="0",E.style.top=c+"px",C&&(C.style.left=t+"px")}else{let e=0,t=(s&&(n<0?s.style.display="none":(s.textContent=Math.floor(r)+"px",s.style.display="block",e=s.offsetHeight)),l&&(n<0?(l.textContent=Math.floor(o)+"px",l.style.display="block",e=l.offsetHeight):l.style.display="none"),Math.max(1,i.clientY-z.top-e/2));t>z.height-e-1&&(t=z.height-e-1),E.style.top="0",E.style.left=a+"px",C&&(C.style.top=t+"px")}}},k=e=>{g?((c=(c=e.clientY-z.top)<S?S:c)>B&&(c=B),d=c-T,u=L+d,h=N-d):((a=(a=e.clientX-z.left)<W?W:a)>I&&(a=I),n=a-U,r=y+n,o=H-n),w&&(g?(m.style.height=(0,_dom.toCssUnit)(u),_.style.height=(0,_dom.toCssUnit)(h)):(m.style.width=(0,_dom.toCssUnit)(r),_.style.width=(0,_dom.toCssUnit)(o))),E&&O(e),j("resize-drag",{prevItem:x,nextItem:b,offsetHeight:d,offsetWidth:n},e)};document.onmousemove=e=>{e.preventDefault(),k(e)},document.onmouseup=e=>{document.onmousemove=null,document.onmouseup=null,E&&(E.style.display=""),g?(x.resizeHeight=u,b.resizeHeight=h):(x.resizeWidth=r,b.resizeWidth=o),(0,_dom.removeClass)(f,"is--drag"),j("resize-end",{prevItem:x,nextItem:b,offsetHeight:d,offsetWidth:n},e),R()},E&&(E.style.display="block",O(e)),k(e),(0,_dom.addClass)(f,"is--drag"),j("resize-start",{prevItem:x,nextItem:b},e)}}}}},b=(e,t,i,s)=>{var l=c["vertical"];let n=!1,r=t;s?(r=i,n=!i.isExpand,i.isExpand=n):(n=!t.isExpand,t.isExpand=n),l?t.isExpand&&i.isExpand?(t.foldHeight=0,i.foldHeight=0):t.isExpand?(i.foldHeight=0,t.foldHeight=(t.resizeHeight||t.renderHeight)+(i.resizeHeight||i.renderHeight)):(t.foldHeight=0,i.foldHeight=(t.resizeHeight||t.renderHeight)+(i.resizeHeight||i.renderHeight)):t.isExpand&&i.isExpand?(t.foldWidth=0,i.foldWidth=0):t.isExpand?(i.foldWidth=0,t.foldWidth=(t.resizeWidth||t.renderWidth)+(i.resizeWidth||i.renderWidth)):(t.foldWidth=0,i.foldWidth=(t.resizeWidth||t.renderWidth)+(i.resizeWidth||i.renderWidth)),j("toggle-expand",{prevItem:t,nextItem:i,expanded:n,item:r},e),R()},z=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const l=s.previousElementSibling.getAttribute("itemid");var n=t.find(e=>e.id===l);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"===i.trigger&&n&&s&&s.isExpand&&b(e,n,s,!1),j("action-dblclick",{prevItem:n,nextItem:s},e)},E=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const l=s.previousElementSibling.getAttribute("itemid");var n=t.find(e=>e.id===l);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"!==i.trigger&&n&&s&&s.isExpand&&b(e,n,s,!1),j("action-click",{prevItem:n,nextItem:s},e)},C=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const l=s.previousElementSibling.getAttribute("itemid");var n=t.find(e=>e.id===l);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"===i.trigger&&n&&s&&n.isExpand&&b(e,n,s,!0),j("action-dblclick",{prevItem:n,nextItem:s},e)},w=e=>{var t=P["itemList"],i=u.value,s=e.currentTarget.parentElement.parentElement;const l=s.previousElementSibling.getAttribute("itemid");var n=t.find(e=>e.id===l);const r=s.nextElementSibling.getAttribute("itemid");s=t.find(e=>e.id===r);"dblclick"!==i.trigger&&n&&s&&n.isExpand&&b(e,n,s,!0),j("action-click",{prevItem:n,nextItem:s},e)},y=()=>{R()};t={dispatchEvent:j,recalculate:R,reset:()=>{var e=P["itemList"];return e.forEach(e=>{e.isExpand=!0,e.foldHeight=0,e.foldWidth=0,e.resizeHeight=0,e.resizeWidth=0}),(0,_vue.nextTick)()},loadItem:o,reloadItem:e=>r(e||[],!0)};Object.assign(m,t,{});const U=(e,t)=>{var{border:i,resize:s,vertical:l}=c,n=P["itemList"],r=f.value,o=u.value,a=o["direction"],d=_xeUtils.default.isBoolean(o.showPrevButton)?o.showPrevButton:n.some(e=>e.showAction),o=_xeUtils.default.isBoolean(o.showNextButton)?o.showNextButton:"next"===a&&n.some(e=>e.showAction),a=q.value["immediate"];return(0,_vue.h)("div",{class:["vxe-split-pane-handle",l?"is--vertical":"is--horizontal",a?"is-resize--immediate":"is-resize--lazy",{"is--resize":s,"is--border":i}]},[(0,_vue.h)("div",{class:"vxe-split-pane-handle-bar",style:r,onMousedown:x}),2===n.length?(0,_vue.h)("div",{class:"vxe-split-pane-action-btn-wrapper"},[d&&t.isExpand?(0,_vue.h)("div",{class:"vxe-split-pane-action-btn",onDblclick:z,onClick:E},[(0,_vue.h)("i",{class:_(e,t,!1)})]):(0,_ui.renderEmptyElement)(m),o&&e.isExpand?(0,_vue.h)("div",{class:"vxe-split-pane-action-btn",onDblclick:C,onClick:w},[(0,_vue.h)("i",{class:_(e,t,!0)})]):(0,_ui.renderEmptyElement)(m)]):(0,_ui.renderEmptyElement)(m)])};const W=(0,_vue.ref)(0);(0,_vue.watch)(()=>c.items?c.items.length:-1,()=>{W.value++}),(0,_vue.watch)(()=>c.items,()=>{W.value++}),(0,_vue.watch)(W,()=>{o(c.items||[])}),(0,_vue.watch)(()=>P.staticItems,e=>{var{showPrevButton:t,showNextButton:i}=u.value;c.items&&c.items.length&&(0,_log.errLog)("vxe.error.errConflicts",["<vxe-split-pane ...>","items"]),P.itemList=e||[],(t||i)&&2<P.itemList.length&&(0,_log.errLog)("vxe.error.modelConflicts",["[split] action-config.showPrevButton | action-config.showNextButton","<vxe-split-pane ...> Only supports 2 panel"]),P.itemList.forEach(e=>{e.showAction&&(0,_log.warnLog)("vxe.error.removeProp",["[split] showAction"])}),R()});let I;return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{R()});var e=A.value,e=(e&&(I=_ui.globalResize.create(()=>{R()})).observe(e),u.value);e.direction&&(0,_log.errLog)("vxe.error.delProp",["[split] action-config.direction","action-config.showPrevButton | action-config.showNextButton"]),_ui.globalEvents.on(m,"resize",y)}),(0,_vue.onUnmounted)(()=>{I&&I.disconnect(),_ui.globalEvents.off(m,"resize")}),(0,_vue.onActivated)(()=>{R()}),c.items&&o(c.items),(0,_vue.provide)("$xeSplit",m),m.renderVN=()=>{var{vertical:e,width:t,height:i}=c,s=d.value,{immediate:l,showTip:n}=q.value,r=a.default,o={};return i&&(o.height=(0,_dom.toCssUnit)(i)),t&&(o.width=(0,_dom.toCssUnit)(t)),(0,_vue.h)("div",{ref:A,class:["vxe-split",e?"is--vertical":"is--horizontal",l?"is-resize--immediate":"is-resize--lazy",{["size--"+s]:s}],style:o},[(0,_vue.h)("div",{class:"vxe-split-slots"},r?r({}):[]),(()=>{const{border:f,padding:m,resize:_,vertical:x}=c,b=P["itemList"],z=d.value;const E=q.value["immediate"],C=h.value,w=v.value["autoItems"],y=[];return b.forEach((e,t)=>{var{id:i,name:s,slots:l,renderHeight:n,resizeHeight:r,foldHeight:o,renderWidth:a,resizeWidth:d,foldWidth:u,isExpand:h}=e,t=b[t+1],l=l?l.default:null,c={};let g=h?u||d||a:0,p=h?o||r||n:0,v=(1===w.length&&(x?e.height||(p=0):e.width||(g=0)),!0);x?p&&1<C.length&&(v=!1,c.height=(0,_dom.toCssUnit)(p)):g&&1<C.length&&(v=!1,c.width=(0,_dom.toCssUnit)(g)),y.push((0,_vue.h)("div",{itemid:i,class:["vxe-split-pane",x?"is--vertical":"is--horizontal",E?"is-resize--immediate":"is-resize--lazy",{["size--"+z]:z,"is--resize":_,"is--padding":m,"is--border":f,"is--height":p,"is--width":g,"is--visible":h,"is--hidden":!h,"is--fill":h&&v}],style:c},[(0,_vue.h)("div",{itemid:i,class:"vxe-split-pane--wrapper"},[(0,_vue.h)("div",{class:"vxe-split-pane--inner"},l?H(l,{name:s,isExpand:h}):[])])])),t&&y.push(U(e,t))}),(0,_vue.h)("div",{class:"vxe-split-wrapper"},y)})(),(0,_vue.h)("div",{ref:M,class:["vxe-split--resizable-split-tip",e?"is--vertical":"is--horizontal",l?"is-resize--immediate":"is-resize--lazy"]},n?[(0,_vue.h)("div",{class:"vxe-split--resizable-split-tip-number"},[(0,_vue.h)("div",{class:"vxe-split--resizable-split-number-prev"}),(0,_vue.h)("div",{class:"vxe-split--resizable-split-number-next"})])]:[]),(0,_vue.h)("div",{class:"vxe-split--render-vars"},[(0,_vue.h)("div",{ref:g,class:"vxe-split--handle-bar-info"})])])},m},render(){return this.renderVN()}});
|