@disruptive-learning/cfdi-to-pdf
Version:
Librería para crear un pdf basado en un XML CFDI o Retenciones
69 lines (68 loc) • 4.07 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const abstract_generic_translator_1 = __importDefault(require("#src/templates/abstract_generic_translator"));
const plataformas_tecnologicas10_complement_1 = __importDefault(require("#src/templates/complements/plataformas_tecnologicas10_complement"));
const generic_emisor_content_1 = __importDefault(require("#src/templates/sections/generic_emisor_content"));
const generic_footer_1 = __importDefault(require("#src/templates/sections/generic_footer"));
const generic_receptor_content_1 = __importDefault(require("#src/templates/sections/generic_receptor_content"));
const generic_retencion_periodo_content_1 = __importDefault(require("#src/templates/sections/generic_retencion_periodo_content"));
const generic_retencion_totales_content_1 = __importDefault(require("#src/templates/sections/generic_retencion_totales_content"));
const generic_stamp_content_1 = __importDefault(require("#src/templates/sections/generic_stamp_content"));
const generic_top_content_1 = __importDefault(require("#src/templates/sections/generic_top_content"));
class GenericRetencionesTranslator extends abstract_generic_translator_1.default {
translate(data, documentOptions, catalogs, primaryColor, bgGrayColor) {
const retencionesContent = [
(0, generic_top_content_1.default)(data, catalogs, primaryColor),
this.genericSpace(2),
(0, generic_emisor_content_1.default)(data, catalogs, primaryColor, bgGrayColor),
this.genericSpace(2),
(0, generic_receptor_content_1.default)(data, catalogs, primaryColor, bgGrayColor),
this.genericSpace(2),
];
const isVersionOne = data.retenciones().getAttribute('Version') === '1.0';
retencionesContent.push((0, generic_retencion_periodo_content_1.default)(data.periodo(), isVersionOne, catalogs, primaryColor, bgGrayColor), this.genericSpace(2), ...(0, generic_retencion_totales_content_1.default)(data.totales(), isVersionOne, catalogs, primaryColor, bgGrayColor), this.genericSpace(2));
const plataformasTecnologicas = data
.retenciones()
.searchNode('retenciones:Complemento', 'plataformasTecnologicas:ServiciosPlataformasTecnologicas');
if (plataformasTecnologicas) {
const plataformasTable = (0, plataformas_tecnologicas10_complement_1.default)(plataformasTecnologicas, primaryColor, bgGrayColor);
if (plataformasTable) {
retencionesContent.push({
table: {
widths: ['10%', '10%', '10%', '10%', '10%', '10%', '10%', '10%', '10%', '10%'],
body: plataformasTable,
},
layout: 'tableLayout',
}, this.genericSpace(2));
}
}
// AdditionalFields
const additionalFields = data.additionalFields();
if (additionalFields) {
for (const element of additionalFields) {
retencionesContent.push({
table: {
widths: ['*'],
body: [
[{ text: element.title, style: ['tableSubtitleHeader'], color: primaryColor }],
[element.value],
],
},
layout: 'tableLayout',
}, this.genericSpace());
}
}
retencionesContent.push((0, generic_stamp_content_1.default)(data.timbreFiscalDigital(), data.tfdSourceString(), data.qrUrl(), primaryColor));
return {
...documentOptions,
content: retencionesContent,
footer: (currentPage, pageCount, _) => {
return (0, generic_footer_1.default)(currentPage, pageCount, data);
},
};
}
}
exports.default = GenericRetencionesTranslator;