vxe-pc-ui 4.6.18 → 4.6.20
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/icon/style.css +1 -1
- package/es/modal/src/modal.js +13 -3
- package/es/print/src/util.js +15 -5
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/utils.js +6 -0
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +33 -9
- package/lib/index.umd.min.js +1 -1
- package/lib/modal/src/modal.js +11 -2
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/print/src/util.js +14 -5
- package/lib/print/src/util.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/utils.js +8 -0
- package/lib/ui/src/utils.min.js +1 -1
- package/package.json +1 -1
- package/packages/modal/src/modal.ts +12 -3
- package/packages/print/src/util.ts +14 -5
- package/packages/ui/src/utils.ts +8 -0
- /package/es/icon/{iconfont.1749450842682.ttf → iconfont.1749609788573.ttf} +0 -0
- /package/es/icon/{iconfont.1749450842682.woff → iconfont.1749609788573.woff} +0 -0
- /package/es/icon/{iconfont.1749450842682.woff2 → iconfont.1749609788573.woff2} +0 -0
- /package/es/{iconfont.1749450842682.ttf → iconfont.1749609788573.ttf} +0 -0
- /package/es/{iconfont.1749450842682.woff → iconfont.1749609788573.woff} +0 -0
- /package/es/{iconfont.1749450842682.woff2 → iconfont.1749609788573.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1749450842682.ttf → iconfont.1749609788573.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1749450842682.woff → iconfont.1749609788573.woff} +0 -0
- /package/lib/icon/style/{iconfont.1749450842682.woff2 → iconfont.1749609788573.woff2} +0 -0
- /package/lib/{iconfont.1749450842682.ttf → iconfont.1749609788573.ttf} +0 -0
- /package/lib/{iconfont.1749450842682.woff → iconfont.1749609788573.woff} +0 -0
- /package/lib/{iconfont.1749450842682.woff2 → iconfont.1749609788573.woff2} +0 -0
package/lib/modal/src/modal.js
CHANGED
|
@@ -286,8 +286,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
286
286
|
} = reactData;
|
|
287
287
|
if (zIndex) {
|
|
288
288
|
reactData.modalZindex = zIndex;
|
|
289
|
-
} else
|
|
290
|
-
|
|
289
|
+
} else {
|
|
290
|
+
const isMsg = computeIsMsg.value;
|
|
291
|
+
if (isMsg) {
|
|
292
|
+
if (modalZindex < (0, _utils.getSubLastZIndex)()) {
|
|
293
|
+
reactData.modalZindex = (0, _utils.nextSubZIndex)();
|
|
294
|
+
}
|
|
295
|
+
} else {
|
|
296
|
+
if (modalZindex < (0, _utils.getLastZIndex)()) {
|
|
297
|
+
reactData.modalZindex = (0, _utils.nextZIndex)();
|
|
298
|
+
}
|
|
299
|
+
}
|
|
291
300
|
}
|
|
292
301
|
};
|
|
293
302
|
const updatePosition = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveModals=void 0;var _vue=require("vue"),_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,_vue.defineComponent)({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:s}=e,a=_xeUtils.default.uniqueId(),o=(0,_vue.inject)("$xeModal",null),I=(0,_vue.inject)("$xeDrawer",null),L=(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},Z=(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(L||o||I||A)return!0}return e}),E=(0,_vue.computed)(()=>"message"===C.type||"notification"===C.type),U=(0,_vue.computed)(()=>"minimize"===B.zoomStatus),H=(0,_vue.computed)(()=>"maximize"===B.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,C.zoomConfig)),j={computeSize:N,computeZoomOpts:l},V={xID:a,props:C,context:e,reactData:B,internalData:t,getRefMaps:()=>$,getComputeMaps:()=>j};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)()},r=()=>{var e=C["zIndex"],t=B["modalZindex"];e?B.modalZindex=e: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}}),v=()=>{(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),v()},i=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||y(),_xeUtils.default.remove(allActiveModals,e=>e===V),w("before-hide",a,null),setTimeout(()=>{B.visible=!1,s("update:modelValue",!1),w("hide",a,null)},200),h())}).catch(e=>e),(0,_vue.nextTick)()},W=e=>{var t="close";w(t,{type:t},e),i(t)},K=e=>{var t=C["confirmClosable"],o="confirm";w(o,{type:o},e),t&&i(o)},q=e=>{var t=C["cancelClosable"],o="cancel";w(o,{type:o},e),t&&i(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.style.width,i.style.height].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(()=>i("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)))},x=()=>{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,r(),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:""};s("update:modelValue",!0),w("show",t,null)})},10),l?(-1===(e="notification"===(e=C.type)?notifyQueue:msgQueue).indexOf(V)&&e.push(V),v(),_()):(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)()},P=e=>{var t=M.value;C.maskClosable&&e.target===t&&i("mask")},F=()=>{var e=t["msgTimeout"];e&&E.value&&(clearTimeout(e),t.msgTimeout=void 0)},Y=()=>{var e=t["msgTimeout"];e||E.value&&_()},X=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),i("exit"))},10)}};const y=()=>(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}})),b=t=>{const o=B["zoomStatus"];return new Promise(e=>{if(t)return"maximize"===t?void e(p()):"minimize"===t?void e(g()):void e(y());e((o?y:p)())}).then(()=>B.zoomStatus||"revert")},Q=t=>{var{zoomStatus:e,prevZoomStatus:o}=B;return b("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};w("zoom",e,t)})},D=t=>b().then(e=>{e={type:e};w("zoom",e,t)});const R=()=>{const t=B["modalZindex"];allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&r()},J=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)}}},G=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)=>{s(e,(0,_ui.createEvent)(o,{$modal:V},t))},ee=(e={dispatchEvent:w,open:x,close(){return i("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 b()},minimize(){return B.visible?g():Promise.resolve({status:!1})},maximize(){return B.visible?p():Promise.resolve({status:!1})},revert(){return B.visible?y():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=H.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:Q},[(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:W},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(V)])]}),te=()=>{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:q})),(_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=Z.value,w={};return b&&(w.onMouseover=F,w.onMouseout=Y),(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:P},w),[(0,_vue.h)("div",{ref:T,class:"vxe-modal--box",onMousedown:R},[!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=J),(_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})):ee())):(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})):[te()]):(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:G}))):(0,_ui.renderEmptyElement)(V)])])])])},(0,_vue.watch)(()=>C.width,d),(0,_vue.watch)(()=>C.height,d),(0,_vue.watch)(()=>C.modelValue,e=>{e?x():i("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&&x(),d()}),C.escClosable&&_ui.globalEvents.on(V,"keydown",X)}),(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"),_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,_vue.defineComponent)({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:s}=e,a=_xeUtils.default.uniqueId(),o=(0,_vue.inject)("$xeModal",null),I=(0,_vue.inject)("$xeDrawer",null),L=(0,_vue.inject)("$xeTable",null),Z=(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)(),A={refElem:M},$=(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(L||o||I||Z)return!0}return e}),E=(0,_vue.computed)(()=>"message"===C.type||"notification"===C.type),U=(0,_vue.computed)(()=>"minimize"===B.zoomStatus),H=(0,_vue.computed)(()=>"maximize"===B.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,C.zoomConfig)),j={computeSize:N,computeZoomOpts:l},V={xID:a,props:C,context:e,reactData:B,internalData:t,getRefMaps:()=>A,getComputeMaps:()=>j};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)()},r=()=>{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}}),v=()=>{(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),v()},i=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||y(),_xeUtils.default.remove(allActiveModals,e=>e===V),w("before-hide",a,null),setTimeout(()=>{B.visible=!1,s("update:modelValue",!1),w("hide",a,null)},200),h())}).catch(e=>e),(0,_vue.nextTick)()},W=e=>{var t="close";w(t,{type:t},e),i(t)},K=e=>{var t=C["confirmClosable"],o="confirm";w(o,{type:o},e),t&&i(o)},q=e=>{var t=C["cancelClosable"],o="cancel";w(o,{type:o},e),t&&i(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.style.width,i.style.height].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(()=>i("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)))},x=()=>{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,r(),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:""};s("update:modelValue",!0),w("show",t,null)})},10),l?(-1===(e="notification"===(e=C.type)?notifyQueue:msgQueue).indexOf(V)&&e.push(V),v(),_()):(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)()},P=e=>{var t=M.value;C.maskClosable&&e.target===t&&i("mask")},F=()=>{var e=t["msgTimeout"];e&&E.value&&(clearTimeout(e),t.msgTimeout=void 0)},Y=()=>{var e=t["msgTimeout"];e||E.value&&_()},X=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),i("exit"))},10)}};const y=()=>(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}})),b=t=>{const o=B["zoomStatus"];return new Promise(e=>{if(t)return"maximize"===t?void e(p()):"minimize"===t?void e(g()):void e(y());e((o?y:p)())}).then(()=>B.zoomStatus||"revert")},Q=t=>{var{zoomStatus:e,prevZoomStatus:o}=B;return b("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};w("zoom",e,t)})},D=t=>b().then(e=>{e={type:e};w("zoom",e,t)});const R=()=>{const t=B["modalZindex"];allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&r()},J=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)}}},G=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)=>{s(e,(0,_ui.createEvent)(o,{$modal:V},t))},ee=(e={dispatchEvent:w,open:x,close(){return i("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 b()},minimize(){return B.visible?g():Promise.resolve({status:!1})},maximize(){return B.visible?p():Promise.resolve({status:!1})},revert(){return B.visible?y():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=H.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:Q},[(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:W},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(V)])]}),te=()=>{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:q})),(_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=$.value,w={};return b&&(w.onMouseover=F,w.onMouseout=Y),(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:P},w),[(0,_vue.h)("div",{ref:T,class:"vxe-modal--box",onMousedown:R},[!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=J),(_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})):ee())):(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})):[te()]):(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:G}))):(0,_ui.renderEmptyElement)(V)])])])])},(0,_vue.watch)(()=>C.width,d),(0,_vue.watch)(()=>C.height,d),(0,_vue.watch)(()=>C.modelValue,e=>{e?x():i("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&&x(),d()}),C.escClosable&&_ui.globalEvents.on(V,"keydown",X)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(V,"keydown"),m(),h()}),(0,_vue.provide)("$xeModal",V),V},render(){return this.renderVN()}});
|
package/lib/print/src/util.js
CHANGED
|
@@ -127,8 +127,11 @@ function handlePrint(opts, printHtml = '') {
|
|
|
127
127
|
removeFrame();
|
|
128
128
|
printFrame = createPrintFrame();
|
|
129
129
|
appendPrintFrame();
|
|
130
|
-
printFrame.contentDocument
|
|
131
|
-
|
|
130
|
+
const contentDocument = printFrame.contentDocument;
|
|
131
|
+
if (contentDocument) {
|
|
132
|
+
contentDocument.write(printHtml);
|
|
133
|
+
contentDocument.execCommand('print');
|
|
134
|
+
}
|
|
132
135
|
setTimeout(() => {
|
|
133
136
|
resolve({
|
|
134
137
|
status: true
|
|
@@ -138,9 +141,15 @@ function handlePrint(opts, printHtml = '') {
|
|
|
138
141
|
if (!printFrame) {
|
|
139
142
|
printFrame = createPrintFrame();
|
|
140
143
|
printFrame.onload = evnt => {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
const frameEl = evnt.target;
|
|
145
|
+
if (frameEl.src) {
|
|
146
|
+
try {
|
|
147
|
+
const contentWindow = frameEl.contentWindow;
|
|
148
|
+
if (contentWindow) {
|
|
149
|
+
contentWindow.onafterprint = afterPrintEvent;
|
|
150
|
+
contentWindow.print();
|
|
151
|
+
}
|
|
152
|
+
} catch (e) {}
|
|
144
153
|
}
|
|
145
154
|
resolve({
|
|
146
155
|
status: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assemblePageBreak=assemblePageBreak,exports.createPrintFrame=createPrintFrame,exports.destroyPageBreak=destroyPageBreak,exports.printHtml=void 0,exports.trimHtml=trimHtml;var _xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const browseObj=_xeUtils.default.browse();let printFrame;const defaultHtmlStyle='body{padding:0;font-family:"Microsoft YaHei",微软雅黑,"MicrosoftJhengHei",华文细黑,STHeiti,MingLiu}body *{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-table{border-collapse:collapse;text-align:left;border-spacing:0}.vxe-table:not(.is--print){table-layout:fixed}.vxe-table,.vxe-table th,.vxe-table td,.vxe-table td{border-color:#D0D0D0;border-style:solid;border-width:0}.vxe-table.is--print{width:100%}.border--default,.border--full,.border--outer{border-top-width:1px}.border--default,.border--full,.border--outer{border-left-width:1px}.border--outer,.border--default th,.border--default td,.border--full th,.border--full td,.border--outer th,.border--inner th,.border--inner td{border-bottom-width:1px}.border--default,.border--outer,.border--full th,.border--full td{border-right-width:1px}.border--default th,.border--full th,.border--outer th{background-color:#f8f8f9}.vxe-table td>div,.vxe-table th>div{padding:.5em .4em}.col--center{text-align:center}.col--right{text-align:right}.vxe-table:not(.is--print) .col--ellipsis>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.vxe-table--tree-node{text-align:left}.vxe-table--tree-node-wrapper{position:relative}.vxe-table--tree-icon-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-table--tree-unfold-icon,.vxe-table--tree-fold-icon{position:absolute;width:0;height:0;border-style:solid;border-width:.5em;border-right-color:transparent;border-bottom-color:transparent}.vxe-table--tree-unfold-icon{left:.3em;top:0;border-left-color:#939599;border-top-color:transparent}.vxe-table--tree-fold-icon{left:0;top:.3em;border-left-color:transparent;border-top-color:#939599}.vxe-table--tree-cell{display:block;padding-left:1.5em}.vxe-table input[type="checkbox"]{margin:0}.vxe-table input[type="checkbox"],.vxe-table input[type="radio"],.vxe-table input[type="checkbox"]+span,.vxe-table input[type="radio"]+span{vertical-align:middle;padding-left:0.4em}';function trimHtml(e){return(""+e).replace(/(<!---->)/,"")}function createPrintFrame(){var e=document.createElement("iframe");return e.className="vxe-table--print-frame",e}function appendPrintFrame(){printFrame.parentNode||document.body.appendChild(printFrame)}function afterPrintEvent(){requestAnimationFrame(removeFrame)}function removeFrame(){if(printFrame){if(printFrame.parentNode){try{printFrame.contentDocument.write("")}catch(e){}printFrame.parentNode.removeChild(printFrame)}printFrame=null}}function getExportBlobByString(e,t){return new Blob([e],{type:`text/${t};charset=utf-8;`})}const defaultPrintMargin=50,defaultFontColor="#000000";function parsePageStyle(e){var t,e=Object.assign({},e),r=Object.assign({},e.header),i=Object.assign({},e.title),a=Object.assign({},e.footer),n=Object.assign({},e.pageNumber);defaultPrintMargin;let o=defaultPrintMargin,l=defaultPrintMargin,d=defaultPrintMargin,s=defaultPrintMargin;return(_xeUtils.default.isNumber(e.margin)||_xeUtils.default.isString(e.margin))&&(t=e.margin,o=t,l=t,d=t,s=t),{marginTop:(0,_dom.toCssUnit)(e.marginTop||o),marginBottom:(0,_dom.toCssUnit)(e.marginBottom||l),marginLeft:(0,_dom.toCssUnit)(e.marginLeft||d),marginRight:(0,_dom.toCssUnit)(e.marginRight||s),fontSize:(0,_dom.toCssUnit)(e.fontSize),color:e.color,textAlign:e.textAlign,header:{height:(0,_dom.toCssUnit)(r.height),textAlign:r.textAlign},title:{color:i.color,fontSize:(0,_dom.toCssUnit)(i.fontSize),textAlign:i.textAlign},footer:{height:(0,_dom.toCssUnit)(a.height),textAlign:a.textAlign},pageNumber:{color:n.color,fontSize:(0,_dom.toCssUnit)(n.fontSize),textAlign:n.textAlign}}}function createHtmlPage(e,t){var{pageStyle:r,customStyle:i}=e,r=parsePageStyle(r),a=r.header,n=r.title,o=r.header,l=r.pageNumber,d=e._pageBreaks||e.pageBreaks&&e.pageBreaks.length;return["<!DOCTYPE html><html>","<head>",'<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui">',`<title>${e.title||""}</title>`,'<style media="print">@page{size:auto;margin: 0mm;}</style>',`<style>body{font-size:${r.fontSize||"14px"};color:${r.color||defaultFontColor};text-align:${r.textAlign||"left"};}</style>`,"<style>",".vxe-print-slots{display:none;}",".vxe-print-page-break.align--center{text-align:center;}",".vxe-print-page-break.align--left{text-align:left;}",".vxe-print-page-break.align--right{text-align:right;}",".vxe-print-page-break{break-before:always;page-break-before:always;display:flex;flex-direction:column;height:100vh;overflow:hidden;}",".vxe-print-page-break--body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden;}",".vxe-print-page-break--left,.vxe-print-page-break--right{flex-shrink:0;height:100%;}",`.vxe-print-page-break--left{width:${r.marginLeft};}`,`.vxe-print-page-break--right{width:${r.marginRight};}`,".vxe-print-page-break--header,.vxe-print-page-break--footer{display:flex;justify-content:center;flex-direction:column;flex-shrink:0;width:100%;}",`.vxe-print-page-break--header{height:${a.height||r.marginTop};padding:0 ${r.marginLeft} 0 ${r.marginRight};text-align:${a.textAlign||"left"};}`,`.vxe-print-page-break--header-title{font-size:${n.fontSize||"1.6em"};color:${n.color||defaultFontColor};text-align:${e.headerAlign||l.textAlign||"center"};}`,`.vxe-print-page-break--footer{height:${o.height||r.marginBottom};padding:0 ${r.marginLeft} 0 ${r.marginRight};text-align:${o.textAlign||"left"};}`,".vxe-print-page-break--content{flex-grow:1;overflow:hidden;}",`.vxe-print-page-break--footer-page-number{font-size:${l.fontSize||"1.2em"};color:${l.color||defaultFontColor};text-align:${e.footerAlign||l.textAlign||"center"};}`,"</style>","<style>.vxe-table{white-space:pre;}</style>",`<style>${defaultHtmlStyle}</style>`,d?"<style>body{margin:0;}</style>":`<style>body{margin:${r.marginTop} ${r.marginRight} ${r.marginBottom} ${r.marginLeft};}</style>`,i?`<style>${i}</style>`:"","</head>","<body>",""+t,"</body>","</html>"].join("")}function handlePrint(e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assemblePageBreak=assemblePageBreak,exports.createPrintFrame=createPrintFrame,exports.destroyPageBreak=destroyPageBreak,exports.printHtml=void 0,exports.trimHtml=trimHtml;var _xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const browseObj=_xeUtils.default.browse();let printFrame;const defaultHtmlStyle='body{padding:0;font-family:"Microsoft YaHei",微软雅黑,"MicrosoftJhengHei",华文细黑,STHeiti,MingLiu}body *{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-table{border-collapse:collapse;text-align:left;border-spacing:0}.vxe-table:not(.is--print){table-layout:fixed}.vxe-table,.vxe-table th,.vxe-table td,.vxe-table td{border-color:#D0D0D0;border-style:solid;border-width:0}.vxe-table.is--print{width:100%}.border--default,.border--full,.border--outer{border-top-width:1px}.border--default,.border--full,.border--outer{border-left-width:1px}.border--outer,.border--default th,.border--default td,.border--full th,.border--full td,.border--outer th,.border--inner th,.border--inner td{border-bottom-width:1px}.border--default,.border--outer,.border--full th,.border--full td{border-right-width:1px}.border--default th,.border--full th,.border--outer th{background-color:#f8f8f9}.vxe-table td>div,.vxe-table th>div{padding:.5em .4em}.col--center{text-align:center}.col--right{text-align:right}.vxe-table:not(.is--print) .col--ellipsis>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.vxe-table--tree-node{text-align:left}.vxe-table--tree-node-wrapper{position:relative}.vxe-table--tree-icon-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-table--tree-unfold-icon,.vxe-table--tree-fold-icon{position:absolute;width:0;height:0;border-style:solid;border-width:.5em;border-right-color:transparent;border-bottom-color:transparent}.vxe-table--tree-unfold-icon{left:.3em;top:0;border-left-color:#939599;border-top-color:transparent}.vxe-table--tree-fold-icon{left:0;top:.3em;border-left-color:transparent;border-top-color:#939599}.vxe-table--tree-cell{display:block;padding-left:1.5em}.vxe-table input[type="checkbox"]{margin:0}.vxe-table input[type="checkbox"],.vxe-table input[type="radio"],.vxe-table input[type="checkbox"]+span,.vxe-table input[type="radio"]+span{vertical-align:middle;padding-left:0.4em}';function trimHtml(e){return(""+e).replace(/(<!---->)/,"")}function createPrintFrame(){var e=document.createElement("iframe");return e.className="vxe-table--print-frame",e}function appendPrintFrame(){printFrame.parentNode||document.body.appendChild(printFrame)}function afterPrintEvent(){requestAnimationFrame(removeFrame)}function removeFrame(){if(printFrame){if(printFrame.parentNode){try{printFrame.contentDocument.write("")}catch(e){}printFrame.parentNode.removeChild(printFrame)}printFrame=null}}function getExportBlobByString(e,t){return new Blob([e],{type:`text/${t};charset=utf-8;`})}const defaultPrintMargin=50,defaultFontColor="#000000";function parsePageStyle(e){var t,e=Object.assign({},e),r=Object.assign({},e.header),i=Object.assign({},e.title),a=Object.assign({},e.footer),n=Object.assign({},e.pageNumber);defaultPrintMargin;let o=defaultPrintMargin,l=defaultPrintMargin,d=defaultPrintMargin,s=defaultPrintMargin;return(_xeUtils.default.isNumber(e.margin)||_xeUtils.default.isString(e.margin))&&(t=e.margin,o=t,l=t,d=t,s=t),{marginTop:(0,_dom.toCssUnit)(e.marginTop||o),marginBottom:(0,_dom.toCssUnit)(e.marginBottom||l),marginLeft:(0,_dom.toCssUnit)(e.marginLeft||d),marginRight:(0,_dom.toCssUnit)(e.marginRight||s),fontSize:(0,_dom.toCssUnit)(e.fontSize),color:e.color,textAlign:e.textAlign,header:{height:(0,_dom.toCssUnit)(r.height),textAlign:r.textAlign},title:{color:i.color,fontSize:(0,_dom.toCssUnit)(i.fontSize),textAlign:i.textAlign},footer:{height:(0,_dom.toCssUnit)(a.height),textAlign:a.textAlign},pageNumber:{color:n.color,fontSize:(0,_dom.toCssUnit)(n.fontSize),textAlign:n.textAlign}}}function createHtmlPage(e,t){var{pageStyle:r,customStyle:i}=e,r=parsePageStyle(r),a=r.header,n=r.title,o=r.header,l=r.pageNumber,d=e._pageBreaks||e.pageBreaks&&e.pageBreaks.length;return["<!DOCTYPE html><html>","<head>",'<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui">',`<title>${e.title||""}</title>`,'<style media="print">@page{size:auto;margin: 0mm;}</style>',`<style>body{font-size:${r.fontSize||"14px"};color:${r.color||defaultFontColor};text-align:${r.textAlign||"left"};}</style>`,"<style>",".vxe-print-slots{display:none;}",".vxe-print-page-break.align--center{text-align:center;}",".vxe-print-page-break.align--left{text-align:left;}",".vxe-print-page-break.align--right{text-align:right;}",".vxe-print-page-break{break-before:always;page-break-before:always;display:flex;flex-direction:column;height:100vh;overflow:hidden;}",".vxe-print-page-break--body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden;}",".vxe-print-page-break--left,.vxe-print-page-break--right{flex-shrink:0;height:100%;}",`.vxe-print-page-break--left{width:${r.marginLeft};}`,`.vxe-print-page-break--right{width:${r.marginRight};}`,".vxe-print-page-break--header,.vxe-print-page-break--footer{display:flex;justify-content:center;flex-direction:column;flex-shrink:0;width:100%;}",`.vxe-print-page-break--header{height:${a.height||r.marginTop};padding:0 ${r.marginLeft} 0 ${r.marginRight};text-align:${a.textAlign||"left"};}`,`.vxe-print-page-break--header-title{font-size:${n.fontSize||"1.6em"};color:${n.color||defaultFontColor};text-align:${e.headerAlign||l.textAlign||"center"};}`,`.vxe-print-page-break--footer{height:${o.height||r.marginBottom};padding:0 ${r.marginLeft} 0 ${r.marginRight};text-align:${o.textAlign||"left"};}`,".vxe-print-page-break--content{flex-grow:1;overflow:hidden;}",`.vxe-print-page-break--footer-page-number{font-size:${l.fontSize||"1.2em"};color:${l.color||defaultFontColor};text-align:${e.footerAlign||l.textAlign||"center"};}`,"</style>","<style>.vxe-table{white-space:pre;}</style>",`<style>${defaultHtmlStyle}</style>`,d?"<style>body{margin:0;}</style>":`<style>body{margin:${r.marginTop} ${r.marginRight} ${r.marginBottom} ${r.marginLeft};}</style>`,i?`<style>${i}</style>`:"","</head>","<body>",""+t,"</body>","</html>"].join("")}function handlePrint(e,t=""){var r=e["beforeMethod"];const i=getExportBlobByString(t=createHtmlPage(e,t=r?r({content:t,html:t,options:e})||"":t),"html");return new Promise(r=>{var e;browseObj.msie?(removeFrame(),printFrame=createPrintFrame(),appendPrintFrame(),(e=printFrame.contentDocument)&&(e.write(t),e.execCommand("print")),setTimeout(()=>{r({status:!0})},300)):(printFrame||((printFrame=createPrintFrame()).onload=e=>{e=e.target;if(e.src)try{var t=e.contentWindow;t&&(t.onafterprint=afterPrintEvent,t.print())}catch(e){}r({status:!0})},printFrame.onerror=()=>{r({status:!1})}),appendPrintFrame(),printFrame.src=URL.createObjectURL(i))})}function createPageBreak(d){const{title:s,showPageNumber:g,align:p,headerAlign:m,footerAlign:c,showAllPageTitle:b}=d;var e=d.pageBreaks||[];const f=e.length;return e.map((e,t)=>{var r=e.bodyHtml,i=e.headerHtml||d.headerHtml,a=e.footerHtml||d.footerHtml,n=e.leftHtml||d.leftHtml,e=e.rightHtml||d.rightHtml,o=t+1,l={currentPage:o,pageCount:f};return[`<div class="${["vxe-print-page-break",p?"align--"+p:""].join(" ")}">`,`<div class="${["vxe-print-page-break--header",m?"align--"+m:""].join(" ")}">`,i?""+(_xeUtils.default.isFunction(i)?i(l):i||""):!s||!b&&t?"":`<div class="vxe-print-page-break--header-title">${s||""}</div>`,"</div>",'<div class="vxe-print-page-break--body">',`<div class="vxe-print-page-break--left">${_xeUtils.default.isFunction(n)?n(l):n||""}</div>`,`<div class="vxe-print-page-break--content">${_xeUtils.default.isFunction(r)?r(l):r||""}</div>`,`<div class="vxe-print-page-break--right">${_xeUtils.default.isFunction(e)?e(l):e||""}</div>`,"</div>",`<div class="${["vxe-print-page-break--footer",c?"align--"+c:""].join(" ")}">`,a?""+(_xeUtils.default.isFunction(a)?a(l):a||""):g?`<div class="vxe-print-page-break--footer-page-number">${o}/${f}</div>`:"","</div>","</div>"].join("")}).join("")}const printHtml=e=>{e=Object.assign({_pageBreaks:!1,customLayout:!0},e);return e.sheetName&&(e.title=e.title||e.sheetName),e.style&&(e.customStyle=e.customStyle||e.style),e.beforePrintMethod&&(e.beforeMethod=e.beforeMethod||e.beforePrintMethod),e.pageBreaks&&e.pageBreaks.length?handlePrint(e,createPageBreak(e)):handlePrint(e,e.html||e.content)};function assemblePageBreak(e,t,r){var i=e.reactData.staticPageBreaks,a=t.parentNode;a&&i&&(i.splice(_xeUtils.default.arrayIndexOf(a.children,t),0,r),e.reactData.staticPageBreaks=i.slice(0))}function destroyPageBreak(e,t){e.reactData.staticPageBreaks=e.reactData.staticPageBreaks.filter(e=>e.id!==t.id)}exports.printHtml=printHtml;
|