| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import { defineVxeComponent } from '../../ui/src/comp';
- import XEUtils from 'xe-utils';
- import { createEvent } from '../../ui';
- import { assemblePageBreak, destroyPageBreak } from './util';
- export default {
- name: 'VxePrintPageBreak',
- props: {},
- data() {
- const xID = XEUtils.uniqueId();
- const reactData = {};
- const pageBreakConfig = {
- id: xID,
- slots: {}
- };
- return {
- xID: XEUtils.uniqueId(),
- reactData,
- pageBreakConfig
- };
- },
- inject: {
- $xePrint: {
- default: null
- }
- },
- computed: Object.assign({}, {}),
- methods: {
- //
- // Method
- //
- dispatchEvent(type, params, evnt) {
- const $xePrintPageBreak = this;
- $xePrintPageBreak.$emit(type, createEvent(evnt, { $printPageBreak: $xePrintPageBreak }, params));
- },
- //
- // Render
- //
- renderVN(h) {
- return h('div', {
- ref: 'refElem'
- });
- }
- },
- mounted() {
- const $xePrintPageBreak = this;
- const slots = $xePrintPageBreak.$scopedSlots;
- const $xePrint = $xePrintPageBreak.$xePrint;
- const pageBreakConfig = $xePrintPageBreak.pageBreakConfig;
- pageBreakConfig.slots = slots;
- const elem = $xePrintPageBreak.$refs.refElem;
- if ($xePrint && elem) {
- assemblePageBreak($xePrint, elem, pageBreakConfig);
- }
- },
- beforeDestroy() {
- const $xePrintPageBreak = this;
- const $xePrint = $xePrintPageBreak.$xePrint;
- const pageBreakConfig = $xePrintPageBreak.pageBreakConfig;
- if ($xePrint) {
- destroyPageBreak($xePrint, pageBreakConfig);
- }
- },
- render(h) {
- return this.renderVN(h);
- }
- };
|