UNPKG

vxe-pc-ui

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