UNPKG

vxe-pc-ui

Version:
1 lines 4.85 kB
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"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxePrint",props:{align:{type:String,default:()=>(0,_ui.getConfig)().print.align},title:String,headerAlign:{type:String,default:()=>(0,_ui.getConfig)().print.headerAlign},footerAlign:{type:String,default:()=>(0,_ui.getConfig)().print.footerAlign},showPageNumber:{type:Boolean,default:()=>(0,_ui.getConfig)().print.showPageNumber},customLayout:Boolean,pageBreaks:Array,content:String,html:String,headerHtml:String,footerHtml:String,leftHtml:String,rightHtml:String,showAllPageTitle:{type:Boolean,default:()=>(0,_ui.getConfig)().print.showAllPageTitle},pageStyle:{type:Object,default:()=>(0,_ui.getConfig)().print.pageStyle},customStyle:{type:String,default:()=>(0,_ui.getConfig)().print.customStyle},styleUrls:{type:Array,default:()=>(0,_ui.getConfig)().print.styleUrls},beforeMethod:Function},emits:[],setup(m,e){let{slots:f,emit:l}=e;var t=_xeUtils.default.uniqueId();let b=(0,_vue.ref)(),x=(0,_vue.reactive)({staticPageBreaks:[]}),r={refElem:b},i={},_={xID:t,props:m,context:e,reactData:x,getRefMaps:()=>r,getComputeMaps:()=>i};Object.assign(_,{dispatchEvent:(e,t,r)=>{l(e,(0,_ui.createEvent)(r,{$print:_},t))},print(){var{align:e,title:t,headerAlign:r,footerAlign:l,showPageNumber:i,customLayout:a,pageBreaks:n,content:o,headerHtml:s,footerHtml:u,leftHtml:g,rightHtml:p,showAllPageTitle:v,pageStyle:d,customStyle:h,styleUrls:f,beforeMethod:_}=m,c=b.value;return(0,_util.printHtml)(Object.assign({},{align:e,title:t,headerAlign:r,footerAlign:l,showPageNumber:i,customLayout:a,pageBreaks:n,content:o,headerHtml:s,footerHtml:u,leftHtml:g,rightHtml:p,showAllPageTitle:v,pageStyle:d,customStyle:h,styleUrls:f,beforeMethod:_},{_pageBreaks:!!x.staticPageBreaks.length,html:(0,_util.trimHtml)(c?c.outerHTML:"")||m.html||m.content||""}))}},{});return _.renderVN=()=>{var e=m.customLayout,t=x.staticPageBreaks,r=f.default;return(0,_vue.h)("div",{ref:b,class:["vxe-print"]},e?r?(0,_vn.getSlotVNs)(r({})):[]:[(0,_vue.h)("div",{key:"slot",class:"vxe-print-slots"},r?(0,_vn.getSlotVNs)(r({})):[])].concat((t.length?()=>{let{title:s,showPageNumber:u,showAllPageTitle:g,align:p,headerAlign:v,footerAlign:d}=m;var e=x.staticPageBreaks;let h=e.length;return e.map((e,t)=>{var e=e.slots||{},r=t+1,l=e.default,i=e.header||f.header,a=e.footer||f.footer,n=e.left||f.left,e=e.right||f.right,o={currentPage:r,pageCount:h};return(0,_vue.h)("div",{class:["vxe-print-page-break",p?"align--"+p:""]},[(0,_vue.h)("div",{class:["vxe-print-page-break--header",v?"align--"+v:""]},i?(0,_vn.getSlotVNs)(i(o)):[!s||!g&&t?(0,_ui.renderEmptyElement)(_):(0,_vue.h)("div",{class:"vxe-print-page-break--header-title"},""+(s||""))]),(0,_vue.h)("div",{class:"vxe-print-page-break--body"},[(0,_vue.h)("div",{class:"vxe-print-page-break--left"},n?(0,_vn.getSlotVNs)(n(o)):[]),(0,_vue.h)("div",{class:"vxe-print-page-break--content"},l?(0,_vn.getSlotVNs)(l(o)):[]),(0,_vue.h)("div",{class:"vxe-print-page-break--right"},e?(0,_vn.getSlotVNs)(e(o)):[])]),(0,_vue.h)("div",{class:["vxe-print-page-break--footer",d?"align--"+d:""]},a?(0,_vn.getSlotVNs)(a(o)):[u?(0,_vue.h)("div",{class:"vxe-print-page-break--footer-page-number"},r+"/"+h):(0,_ui.renderEmptyElement)(_)])])})}:()=>{let{title:s,showPageNumber:u,showAllPageTitle:g,align:p,headerAlign:v,footerAlign:d}=m;var e=m.pageBreaks||[];let h=e.length;return e.map((e,t)=>{var r=e.bodyHtml,l=e.headerHtml||m.headerHtml,i=e.footerHtml||m.footerHtml,a=e.leftHtml||m.leftHtml,e=e.rightHtml||m.rightHtml,n=t+1,o={currentPage:n,pageCount:h};return(0,_vue.h)("div",{class:["vxe-print-page-break",p?"align--"+p:""]},[(0,_vue.h)("div",{class:["vxe-print-page-break--header",v?"align--"+v:""]},l?""+(_xeUtils.default.isFunction(l)?l(o):l||""):[!s||!g&&t?(0,_ui.renderEmptyElement)(_):(0,_vue.h)("div",{class:"vxe-print-page-break--header-title"},""+(s||""))]),(0,_vue.h)("div",{class:"vxe-print-page-break--body"},[(0,_vue.h)("div",{class:"vxe-print-page-break--left"},""+(_xeUtils.default.isFunction(a)?a(o):a||"")),(0,_vue.h)("div",{class:"vxe-print-page-break--content"},""+(_xeUtils.default.isFunction(r)?r(o):r||"")),(0,_vue.h)("div",{class:"vxe-print-page-break--right"},""+(_xeUtils.default.isFunction(e)?e(o):e||""))]),(0,_vue.h)("div",{class:["vxe-print-page-break--footer",d?"align--"+d:""]},i?""+(_xeUtils.default.isFunction(i)?i(o):i||""):[u?(0,_vue.h)("div",{class:"vxe-print-page-break--footer-page-number"},n+"/"+h):(0,_ui.renderEmptyElement)(_)])])})})()))},(0,_vue.provide)("$xePrint",_),_},render(){return this.renderVN()}});