@zosmaai/medusa-documents-v2 0.2.13
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/.medusa/server/src/admin/index.js +1884 -0
- package/.medusa/server/src/admin/index.mjs +1881 -0
- package/.medusa/server/src/api/admin/documents/document-invoice-settings/invoice-template/route.js +40 -0
- package/.medusa/server/src/api/admin/documents/document-invoice-settings/route.js +62 -0
- package/.medusa/server/src/api/admin/documents/document-packing-slip-settings/route.js +62 -0
- package/.medusa/server/src/api/admin/documents/document-packing-slip-settings/template/route.js +40 -0
- package/.medusa/server/src/api/admin/documents/document-settings/document-address/route.js +47 -0
- package/.medusa/server/src/api/admin/documents/document-settings/india-gst/route.js +67 -0
- package/.medusa/server/src/api/admin/documents/document-settings/logo/route.js +67 -0
- package/.medusa/server/src/api/admin/documents/document-settings/route.js +36 -0
- package/.medusa/server/src/api/admin/documents/invoice/display-number/route.js +34 -0
- package/.medusa/server/src/api/admin/documents/invoice/generate/route.js +47 -0
- package/.medusa/server/src/api/admin/documents/invoice/route.js +112 -0
- package/.medusa/server/src/api/admin/documents/packing-slip/preview/route.js +47 -0
- package/.medusa/server/src/api/admin/documents/packing-slip/route.js +112 -0
- package/.medusa/server/src/links/invoice-order.js +13 -0
- package/.medusa/server/src/links/packing-slip-order.js +13 -0
- package/.medusa/server/src/modules/documents/assets/fonts/IBMPlexSans-Bold.ttf +0 -0
- package/.medusa/server/src/modules/documents/assets/fonts/IBMPlexSans-Regular.ttf +0 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/de-AT/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/en/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/es/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/fr/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/pl/translation.json +26 -0
- package/.medusa/server/src/modules/documents/index.js +26 -0
- package/.medusa/server/src/modules/documents/loaders/i18next.js +49 -0
- package/.medusa/server/src/modules/documents/migrations/Migration20250228142557.js +39 -0
- package/.medusa/server/src/modules/documents/migrations/Migration20260810120000.js +14 -0
- package/.medusa/server/src/modules/documents/models/document-invoice-settings.js +29 -0
- package/.medusa/server/src/modules/documents/models/document-invoice.js +32 -0
- package/.medusa/server/src/modules/documents/models/document-packing-slip-settings.js +29 -0
- package/.medusa/server/src/modules/documents/models/document-packing-slip.js +32 -0
- package/.medusa/server/src/modules/documents/models/document-settings.js +33 -0
- package/.medusa/server/src/modules/documents/service.js +502 -0
- package/.medusa/server/src/modules/documents/services/generators/invoice-generator.js +78 -0
- package/.medusa/server/src/modules/documents/services/generators/packing-slip-generator.js +73 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/basic-logo.js +55 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/basic.js +52 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/customer-info.js +69 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header-for-logo.js +32 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header-logo.js +29 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header.js +35 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/hr.js +23 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/invoice-info.js +35 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/table.js +97 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/india-gst.js +72 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/footer.js +41 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/invoice-meta.js +22 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/seller-info.js +42 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/table.js +88 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/basic.js +52 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/customer-info-small.js +69 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/customer-info.js +65 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/header-small.js +37 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/header.js +37 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/hr.js +32 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-items-small.js +44 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-items.js +44 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-order-info-small.js +35 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-order-info.js +36 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/small.js +53 -0
- package/.medusa/server/src/modules/documents/types/api.js +14 -0
- package/.medusa/server/src/modules/documents/types/constants.js +17 -0
- package/.medusa/server/src/modules/documents/types/dto.js +14 -0
- package/.medusa/server/src/modules/documents/types/template-kind.js +26 -0
- package/.medusa/server/src/modules/documents/utils/currency.js +18 -0
- package/.medusa/server/src/ui-components/actions-dropdown/actions-dropdown.js +15 -0
- package/.medusa/server/src/ui-components/actions-dropdown/invoice/button-generate-invoice.js +75 -0
- package/.medusa/server/src/ui-components/actions-dropdown/packing-slip/button-generate-packing-slip.js +72 -0
- package/.medusa/server/src/ui-components/index.js +21 -0
- package/.medusa/server/src/ui-components/orders/order-table/invoice-number-from-order.js +107 -0
- package/.medusa/server/src/ui-components/orders/order-table/packing-slip-number.js +107 -0
- package/.medusa/server/src/ui-components/orders/order-table/use-columns.js +172 -0
- package/.medusa/server/src/ui-components/orders/order-table/use-orders.js +145 -0
- package/.medusa/server/src/ui-components/orders/order-table/utils/currencies.js +1077 -0
- package/.medusa/server/src/ui-components/orders/order-table/utils/time.js +53 -0
- package/.medusa/server/src/ui-components/orders/order-table.js +134 -0
- package/.medusa/server/src/ui-components/settings/settings-address.js +90 -0
- package/.medusa/server/src/ui-components/settings/settings-india-gst.js +90 -0
- package/.medusa/server/src/ui-components/settings/settings-invoice-display-number.js +55 -0
- package/.medusa/server/src/ui-components/settings/settings-invoice.js +139 -0
- package/.medusa/server/src/ui-components/settings/settings-logo.js +108 -0
- package/.medusa/server/src/ui-components/tabs/orders-tab.js +28 -0
- package/.medusa/server/src/ui-components/tabs/pro-tab.js +23 -0
- package/.medusa/server/src/ui-components/tabs/settings-tab.js +29 -0
- package/.medusa/server/src/ui-components/tabs/templates-tab/templates-invoice-tab.js +153 -0
- package/.medusa/server/src/ui-components/tabs/templates-tab/templates-packing-slip-tab.js +155 -0
- package/.medusa/server/src/ui-components/tabs/templates-tab/templates-tab.js +24 -0
- package/.medusa/server/src/ui-components/types/api.js +14 -0
- package/.medusa/server/src/ui-components/types/invoice.js +14 -0
- package/.medusa/server/src/ui-components/types/packing-slip.js +14 -0
- package/.medusa/server/src/ui-components/types/template-kind.js +26 -0
- package/.medusa/server/src/workflows/assign-invoice.js +31 -0
- package/.medusa/server/src/workflows/assign-packing-slip.js +31 -0
- package/README.md +171 -0
- package/package.json +103 -0
package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/footer.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateFooter = generateFooter;
|
|
4
|
+
async function generateFooter(doc, y, settings) {
|
|
5
|
+
const gst = settings.storeIndiaGstDetails;
|
|
6
|
+
const legalName = gst?.legalName || settings.storeAddress?.company || '';
|
|
7
|
+
const pageHeight = doc.page.height - 100;
|
|
8
|
+
let _y = y;
|
|
9
|
+
if (_y > pageHeight) {
|
|
10
|
+
doc.addPage();
|
|
11
|
+
_y = 50;
|
|
12
|
+
}
|
|
13
|
+
doc
|
|
14
|
+
.fillColor("#000000")
|
|
15
|
+
.font("Regular")
|
|
16
|
+
.fontSize(9)
|
|
17
|
+
.text(`For ${legalName}`, 400, _y, { width: 155, align: 'right' });
|
|
18
|
+
let signatureY = _y + 15;
|
|
19
|
+
if (gst?.signatureSource) {
|
|
20
|
+
try {
|
|
21
|
+
const responseImage = await fetch(gst.signatureSource);
|
|
22
|
+
if (responseImage.ok && responseImage.status == 200) {
|
|
23
|
+
const responseImageBuffer = await responseImage.arrayBuffer();
|
|
24
|
+
const responseBuffer = Buffer.from(responseImageBuffer);
|
|
25
|
+
doc.image(responseBuffer, 440, signatureY, { align: 'right', width: 115, height: 40 });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// ponytail: signature is optional, silently skip on fetch failure rather than breaking the invoice
|
|
30
|
+
}
|
|
31
|
+
signatureY += 45;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
signatureY += 40;
|
|
35
|
+
}
|
|
36
|
+
doc
|
|
37
|
+
.fontSize(9)
|
|
38
|
+
.text('Authorised Signatory', 400, signatureY, { width: 155, align: 'right' });
|
|
39
|
+
return signatureY + 15;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9pbnZvaWNlcy9pbmRpYS1nc3QvcGFydHMvZm9vdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsd0NBd0NDO0FBeENNLEtBQUssVUFBVSxjQUFjLENBQUMsR0FBRyxFQUFFLENBQVMsRUFBRSxRQUE2QjtJQUNoRixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUM7SUFDMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLFNBQVMsSUFBSSxRQUFRLENBQUMsWUFBWSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFFekUsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ3pDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNYLElBQUksRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNkLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsR0FBRztTQUNBLFNBQVMsQ0FBQyxTQUFTLENBQUM7U0FDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNmLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDWCxJQUFJLENBQUMsT0FBTyxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUVyRSxJQUFJLFVBQVUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBRXpCLElBQUksR0FBRyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQztZQUNILE1BQU0sYUFBYSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN2RCxJQUFJLGFBQWEsQ0FBQyxFQUFFLElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDcEQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDOUQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUN4RCxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pGLENBQUM7UUFDSCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsbUdBQW1HO1FBQ3JHLENBQUM7UUFDRCxVQUFVLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsR0FBRztTQUNBLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDWCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFakYsT0FBTyxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLENBQUMifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateInvoiceMeta = generateInvoiceMeta;
|
|
4
|
+
const i18next_1 = require("i18next");
|
|
5
|
+
function generateInvoiceMeta(doc, y, invoice, order) {
|
|
6
|
+
doc.fillColor("#000000").font("Regular").fontSize(9);
|
|
7
|
+
const lines = [
|
|
8
|
+
`${(0, i18next_1.t)("invoice-number", "Invoice No")}: ${invoice.displayNumber}`,
|
|
9
|
+
`${(0, i18next_1.t)("invoice-date", "Invoice Date")}: ${new Date(order.created_at).toLocaleDateString()}`,
|
|
10
|
+
];
|
|
11
|
+
const placeOfSupply = order.billing_address?.province || order.billing_address?.city;
|
|
12
|
+
if (placeOfSupply) {
|
|
13
|
+
lines.push(`Place of Supply: ${placeOfSupply}`);
|
|
14
|
+
}
|
|
15
|
+
let curY = y;
|
|
16
|
+
lines.forEach((line) => {
|
|
17
|
+
doc.text(line, 340, curY, { width: 215, align: 'right' });
|
|
18
|
+
curY += 13;
|
|
19
|
+
});
|
|
20
|
+
return curY;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9pbnZvaWNlcy9pbmRpYS1nc3QvcGFydHMvaW52b2ljZS1tZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsa0RBb0JDO0FBdEJELHFDQUE0QjtBQUU1QixTQUFnQixtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBUyxFQUFFLE9BQTJCLEVBQUUsS0FBZTtJQUM5RixHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFckQsTUFBTSxLQUFLLEdBQUc7UUFDWixHQUFHLElBQUEsV0FBQyxFQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxhQUFhLEVBQUU7UUFDaEUsR0FBRyxJQUFBLFdBQUMsRUFBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLEVBQUU7S0FDM0YsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO0lBQ3JGLElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3JCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzFELElBQUksSUFBSSxFQUFFLENBQUM7SUFDYixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyJ9
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateSellerInfo = generateSellerInfo;
|
|
4
|
+
function generateSellerInfo(doc, y, settings) {
|
|
5
|
+
const gst = settings.storeIndiaGstDetails;
|
|
6
|
+
const legalName = gst?.legalName || settings.storeAddress?.company || '';
|
|
7
|
+
doc
|
|
8
|
+
.fillColor("#000000")
|
|
9
|
+
.font("Bold")
|
|
10
|
+
.fontSize(14)
|
|
11
|
+
.text(legalName, 40, y, { width: 300 });
|
|
12
|
+
const nameHeight = doc.heightOfString(legalName, { width: 300 });
|
|
13
|
+
const addressLine = [
|
|
14
|
+
settings.storeAddress?.address_1,
|
|
15
|
+
settings.storeAddress?.city,
|
|
16
|
+
settings.storeAddress?.province,
|
|
17
|
+
settings.storeAddress?.postal_code
|
|
18
|
+
].filter(Boolean).join(', ');
|
|
19
|
+
const addrY = y + nameHeight + 4;
|
|
20
|
+
doc
|
|
21
|
+
.font("Regular")
|
|
22
|
+
.fontSize(9)
|
|
23
|
+
.text(addressLine, 40, addrY, { width: 300 });
|
|
24
|
+
const addrHeight = doc.heightOfString(addressLine, { width: 300 });
|
|
25
|
+
const idParts = [];
|
|
26
|
+
if (gst?.gstin)
|
|
27
|
+
idParts.push(`GSTIN: ${gst.gstin}`);
|
|
28
|
+
if (gst?.pan)
|
|
29
|
+
idParts.push(`PAN: ${gst.pan}`);
|
|
30
|
+
if (gst?.cin)
|
|
31
|
+
idParts.push(`CIN: ${gst.cin}`);
|
|
32
|
+
let idY = addrY + addrHeight + 6;
|
|
33
|
+
if (idParts.length) {
|
|
34
|
+
doc
|
|
35
|
+
.font("Bold")
|
|
36
|
+
.fontSize(9)
|
|
37
|
+
.text(idParts.join(' '), 40, idY, { width: 300 });
|
|
38
|
+
idY += 14;
|
|
39
|
+
}
|
|
40
|
+
return idY;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsbGVyLWluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2luZGlhLWdzdC9wYXJ0cy9zZWxsZXItaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLGdEQXdDQztBQXhDRCxTQUFnQixrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBUyxFQUFFLFFBQTZCO0lBQzlFLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQztJQUMxQyxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsU0FBUyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUV6RSxHQUFHO1NBQ0EsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ1osUUFBUSxDQUFDLEVBQUUsQ0FBQztTQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFakUsTUFBTSxXQUFXLEdBQUc7UUFDbEIsUUFBUSxDQUFDLFlBQVksRUFBRSxTQUFTO1FBQ2hDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSTtRQUMzQixRQUFRLENBQUMsWUFBWSxFQUFFLFFBQVE7UUFDL0IsUUFBUSxDQUFDLFlBQVksRUFBRSxXQUFXO0tBQ25DLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3QixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNqQyxHQUFHO1NBQ0EsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNmLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDWCxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoRCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRW5FLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUM3QixJQUFJLEdBQUcsRUFBRSxLQUFLO1FBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELElBQUksR0FBRyxFQUFFLEdBQUc7UUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDOUMsSUFBSSxHQUFHLEVBQUUsR0FBRztRQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUU5QyxJQUFJLEdBQUcsR0FBRyxLQUFLLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNqQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixHQUFHO2FBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUNaLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMifQ==
|
package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/table.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateInvoiceTable = generateInvoiceTable;
|
|
4
|
+
const hr_1 = require("../../basic/parts/hr");
|
|
5
|
+
const i18next_1 = require("i18next");
|
|
6
|
+
const currency_1 = require("../../../../../utils/currency");
|
|
7
|
+
function amountToDisplayNormalized(amount, currencyCode) {
|
|
8
|
+
const decimalDigits = (0, currency_1.getDecimalDigits)(currencyCode);
|
|
9
|
+
return `${parseFloat(amount.toString()).toFixed(decimalDigits)} ${currencyCode.toUpperCase()}`;
|
|
10
|
+
}
|
|
11
|
+
function generateTableRow(doc, y, item, hsn, quantity, unitCost, lineTotal) {
|
|
12
|
+
doc.fontSize(9);
|
|
13
|
+
const pageHeight = doc.page.height - 80;
|
|
14
|
+
const itemHeight = doc.heightOfString(item, { width: 190 });
|
|
15
|
+
const height = Math.max(itemHeight, 20);
|
|
16
|
+
let _y = y;
|
|
17
|
+
let nextY = y + height;
|
|
18
|
+
if (nextY > pageHeight) {
|
|
19
|
+
doc.addPage();
|
|
20
|
+
_y = 50;
|
|
21
|
+
nextY = _y + height;
|
|
22
|
+
}
|
|
23
|
+
doc
|
|
24
|
+
.text(item, 40, _y, { width: 190 })
|
|
25
|
+
.text(hsn, 235, _y, { width: 55 })
|
|
26
|
+
.text(quantity, 295, _y, { width: 45, align: "right" })
|
|
27
|
+
.text(unitCost, 345, _y, { width: 85, align: "right" })
|
|
28
|
+
.text(lineTotal, 435, _y, { width: 120, align: "right" });
|
|
29
|
+
return nextY;
|
|
30
|
+
}
|
|
31
|
+
function generateTotalRow(doc, y, label, amount) {
|
|
32
|
+
doc.text(label, 345, y, { width: 85, align: "right" });
|
|
33
|
+
doc.text(amount, 435, y, { width: 120, align: "right" });
|
|
34
|
+
return y + 15;
|
|
35
|
+
}
|
|
36
|
+
function generateInvoiceTable(doc, y, order, items, isInterState) {
|
|
37
|
+
let i;
|
|
38
|
+
const invoiceTableTop = y + 20;
|
|
39
|
+
const pageHeight = doc.page.height - 50;
|
|
40
|
+
doc.font("Bold").fontSize(9);
|
|
41
|
+
generateTableRow(doc, invoiceTableTop, (0, i18next_1.t)("invoice-table-header-item", "Item"), "HSN/SAC", (0, i18next_1.t)("invoice-table-header-quantity", "Qty"), (0, i18next_1.t)("invoice-table-header-unit-cost", "Unit Cost"), (0, i18next_1.t)("invoice-table-header-line-total", "Line Total"));
|
|
42
|
+
(0, hr_1.generateHr)(doc, invoiceTableTop + 15);
|
|
43
|
+
doc.font("Regular");
|
|
44
|
+
let currentY = invoiceTableTop + 25;
|
|
45
|
+
for (i = 0; i < items.length; i++) {
|
|
46
|
+
if (currentY > pageHeight) {
|
|
47
|
+
doc.addPage();
|
|
48
|
+
currentY = 50;
|
|
49
|
+
}
|
|
50
|
+
const item = items[i];
|
|
51
|
+
currentY = generateTableRow(doc, currentY, item.title, item.metadata?.hsn_code ? String(item.metadata.hsn_code) : '', item.quantity, amountToDisplayNormalized(Number(item.raw_unit_price.value), order.currency_code), amountToDisplayNormalized(Number(item.raw_unit_price.value) * item.quantity, order.currency_code));
|
|
52
|
+
currentY += 5;
|
|
53
|
+
if (currentY > pageHeight) {
|
|
54
|
+
doc.addPage();
|
|
55
|
+
currentY = 50;
|
|
56
|
+
}
|
|
57
|
+
(0, hr_1.generateHr)(doc, currentY);
|
|
58
|
+
currentY += 8;
|
|
59
|
+
}
|
|
60
|
+
currentY += 15;
|
|
61
|
+
if (currentY > pageHeight) {
|
|
62
|
+
doc.addPage();
|
|
63
|
+
currentY = 50;
|
|
64
|
+
}
|
|
65
|
+
const shippingTotal = order.shipping_subtotal.numeric;
|
|
66
|
+
const taxTotal = order.tax_total.numeric;
|
|
67
|
+
const grandTotal = order.total.numeric;
|
|
68
|
+
doc.fontSize(9);
|
|
69
|
+
currentY = generateTotalRow(doc, currentY, (0, i18next_1.t)("invoice-table-shipping", "Shipping"), amountToDisplayNormalized(shippingTotal, order.currency_code));
|
|
70
|
+
if (isInterState) {
|
|
71
|
+
currentY = generateTotalRow(doc, currentY, "IGST", amountToDisplayNormalized(taxTotal, order.currency_code));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
const half = taxTotal / 2;
|
|
75
|
+
currentY = generateTotalRow(doc, currentY, "CGST", amountToDisplayNormalized(half, order.currency_code));
|
|
76
|
+
currentY = generateTotalRow(doc, currentY, "SGST", amountToDisplayNormalized(half, order.currency_code));
|
|
77
|
+
}
|
|
78
|
+
currentY += 10;
|
|
79
|
+
if (currentY > pageHeight) {
|
|
80
|
+
doc.addPage();
|
|
81
|
+
currentY = 50;
|
|
82
|
+
}
|
|
83
|
+
doc.font("Bold");
|
|
84
|
+
generateTotalRow(doc, currentY, (0, i18next_1.t)("invoice-table-total", "Total"), amountToDisplayNormalized(grandTotal, order.currency_code));
|
|
85
|
+
doc.font("Regular");
|
|
86
|
+
return currentY + 25;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2luZGlhLWdzdC9wYXJ0cy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTBDQSxvREFpR0M7QUEzSUQsNkNBQWtEO0FBQ2xELHFDQUE0QjtBQUU1Qiw0REFBaUU7QUFHakUsU0FBUyx5QkFBeUIsQ0FBQyxNQUFjLEVBQUUsWUFBb0I7SUFDckUsTUFBTSxhQUFhLEdBQUcsSUFBQSwyQkFBZ0IsRUFBQyxZQUFZLENBQUMsQ0FBQztJQUNyRCxPQUFPLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztBQUNqRyxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTO0lBQ3hFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFaEIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsSUFBSSxLQUFLLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUV2QixJQUFJLEtBQUssR0FBRyxVQUFVLEVBQUUs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
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.validateInput = validateInput;
|
|
18
|
+
const pdfkit_1 = __importDefault(require("pdfkit"));
|
|
19
|
+
const header_1 = require("./parts/header");
|
|
20
|
+
const customer_info_1 = require("./parts/customer-info");
|
|
21
|
+
const table_items_1 = require("./parts/table-items");
|
|
22
|
+
const table_order_info_1 = require("./parts/table-order-info");
|
|
23
|
+
const path_1 = __importDefault(require("path"));
|
|
24
|
+
function validateInput(settings) {
|
|
25
|
+
if (settings && settings.storeAddress && settings.storeAddress.company &&
|
|
26
|
+
settings.storeAddress.address_1 &&
|
|
27
|
+
settings.storeAddress.city &&
|
|
28
|
+
settings.storeAddress.postal_code)
|
|
29
|
+
return [true, ''];
|
|
30
|
+
return [false, `Not all settings are defined to generate template. Following settings are checked: company, address, city, postal_code`];
|
|
31
|
+
}
|
|
32
|
+
exports.default = async (settings, packingSlip, order) => {
|
|
33
|
+
var doc = new pdfkit_1.default();
|
|
34
|
+
doc.registerFont('Regular', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Regular.ttf'));
|
|
35
|
+
doc.registerFont('Bold', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Bold.ttf'));
|
|
36
|
+
doc.font('Regular');
|
|
37
|
+
const buffers = [];
|
|
38
|
+
doc.on("data", buffers.push.bind(buffers));
|
|
39
|
+
const endHeader = (0, header_1.generateHeader)(doc, 30, settings);
|
|
40
|
+
const endY = (0, customer_info_1.generateCustomerInformation)(doc, endHeader, order);
|
|
41
|
+
const endTable = (0, table_order_info_1.generateOrderInfoTable)(doc, endY, order, order.items || []);
|
|
42
|
+
(0, table_items_1.generateItemsTable)(doc, endTable, order, order.items || []);
|
|
43
|
+
doc.end();
|
|
44
|
+
const bufferPromise = new Promise(resolve => {
|
|
45
|
+
doc.on("end", () => {
|
|
46
|
+
const pdfData = Buffer.concat(buffers);
|
|
47
|
+
resolve(pdfData);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
return await bufferPromise;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL3BhY2tpbmctc2xpcHMvYmFzaWMvYmFzaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7Ozs7O0FBV0gsc0NBT0M7QUFoQkQsb0RBQWlDO0FBRWpDLDJDQUErQztBQUMvQyx5REFBb0U7QUFDcEUscURBQXlEO0FBQ3pELCtEQUFrRTtBQUNsRSxnREFBd0I7QUFHeEIsU0FBZ0IsYUFBYSxDQUFDLFFBQThCO0lBQzFELElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPO1FBQ3BFLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUztRQUMvQixRQUFRLENBQUMsWUFBWSxDQUFDLElBQUk7UUFDMUIsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXO1FBQ2pDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEIsT0FBTyxDQUFDLEtBQUssRUFBRSx3SEFBd0gsQ0FBQyxDQUFDO0FBQzNJLENBQUM7QUFFRCxrQkFBZSxLQUFLLEVBQUUsUUFBNkIsRUFBRSxXQUFtQyxFQUFFLEtBQWUsRUFBbUIsRUFBRTtJQUU1SCxJQUFJLEdBQUcsR0FBRyxJQUFJLGdCQUFXLEVBQUUsQ0FBQztJQUM1QixHQUFHLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxjQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxrREFBa0QsQ0FBQyxDQUFDLENBQUE7SUFDeEcsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsK0NBQStDLENBQUMsQ0FBQyxDQUFBO0lBQ2xHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFBO0lBQ2xCLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFMUMsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBYyxFQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsTUFBTSxJQUFJLEdBQUcsSUFBQSwyQ0FBMkIsRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLElBQUEseUNBQXNCLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RSxJQUFBLGdDQUFrQixFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFFNUQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRVYsTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQVMsT0FBTyxDQUFDLEVBQUU7UUFDbEQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ2YsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN0QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtJQUVGLE9BQU8sTUFBTSxhQUFhLENBQUM7QUFDN0IsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateCustomerInformation = generateCustomerInformation;
|
|
15
|
+
const hr_1 = require("./hr");
|
|
16
|
+
const i18next_1 = require("i18next");
|
|
17
|
+
function generateCustomerInformation(doc, y, order) {
|
|
18
|
+
(0, hr_1.generateHrInA7)(doc, y + 15);
|
|
19
|
+
const customerInformationTop = y + 25;
|
|
20
|
+
let heightOfBillToAddress;
|
|
21
|
+
if (order.billing_address) {
|
|
22
|
+
doc
|
|
23
|
+
.fontSize(6)
|
|
24
|
+
.font("Bold")
|
|
25
|
+
.text(`${(0, i18next_1.t)("packing-slip-bill-to", "Bill to")}:`, 25, customerInformationTop, { align: 'left' })
|
|
26
|
+
.font("Regular")
|
|
27
|
+
.text(`${order.billing_address.first_name} ${order.billing_address.last_name}`, 25, customerInformationTop + 10, { align: 'left' })
|
|
28
|
+
.text(`${order.billing_address.city} ${order.billing_address.postal_code}`, 25, customerInformationTop + 20, { align: 'left' });
|
|
29
|
+
const billAddress = order.billing_address.address_1;
|
|
30
|
+
heightOfBillToAddress = doc.heightOfString(billAddress);
|
|
31
|
+
doc.text(billAddress, 25, customerInformationTop + 30, { align: 'left' })
|
|
32
|
+
.moveDown();
|
|
33
|
+
}
|
|
34
|
+
let heightOfShipToAddress;
|
|
35
|
+
if (order.shipping_address) {
|
|
36
|
+
const RIGHT_MARGIN = 90;
|
|
37
|
+
const RIGHT_WIDTH = 100;
|
|
38
|
+
doc
|
|
39
|
+
.fontSize(6)
|
|
40
|
+
.font("Bold");
|
|
41
|
+
doc
|
|
42
|
+
.text(`${(0, i18next_1.t)("packing-slip-ship-to", "Ship to")}:`, RIGHT_MARGIN, customerInformationTop, { align: 'right', width: RIGHT_WIDTH })
|
|
43
|
+
.font("Regular");
|
|
44
|
+
doc
|
|
45
|
+
.text(`${order.shipping_address.first_name} ${order.shipping_address.last_name}`, RIGHT_MARGIN, customerInformationTop + 10, { align: 'right', width: RIGHT_WIDTH })
|
|
46
|
+
.text(`${order.shipping_address.city} ${order.shipping_address.postal_code}`, RIGHT_MARGIN, customerInformationTop + 20, { align: 'right', width: RIGHT_WIDTH })
|
|
47
|
+
.moveDown();
|
|
48
|
+
const shipAddress = order.shipping_address.address_1;
|
|
49
|
+
heightOfShipToAddress = doc.heightOfString(shipAddress, { width: RIGHT_WIDTH });
|
|
50
|
+
doc.text(shipAddress, RIGHT_MARGIN, customerInformationTop + 30, { align: 'right', width: RIGHT_WIDTH })
|
|
51
|
+
.moveDown();
|
|
52
|
+
}
|
|
53
|
+
if (heightOfBillToAddress && heightOfShipToAddress) {
|
|
54
|
+
if (heightOfShipToAddress > heightOfBillToAddress) {
|
|
55
|
+
return customerInformationTop + 30 + heightOfShipToAddress;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return customerInformationTop + 30 + heightOfBillToAddress;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (heightOfBillToAddress) {
|
|
62
|
+
return customerInformationTop + 30 + heightOfBillToAddress;
|
|
63
|
+
}
|
|
64
|
+
if (heightOfShipToAddress) {
|
|
65
|
+
return customerInformationTop + 30 + heightOfShipToAddress;
|
|
66
|
+
}
|
|
67
|
+
return customerInformationTop;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItaW5mby1zbWFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2RvY3VtZW50cy9zZXJ2aWNlcy90ZW1wbGF0ZXMvcGFja2luZy1zbGlwcy9iYXNpYy9wYXJ0cy9jdXN0b21lci1pbmZvLXNtYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOztBQU1ILGtFQTZEQztBQWhFRCw2QkFBc0M7QUFDdEMscUNBQTRCO0FBRTVCLFNBQWdCLDJCQUEyQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBZTtJQUVqRSxJQUFBLG1CQUFjLEVBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUU1QixNQUFNLHNCQUFzQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFdEMsSUFBSSxxQkFBeUMsQ0FBQztJQUU5QyxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixHQUFHO2FBQ0YsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUNYLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDWixJQUFJLENBQUMsR0FBRyxJQUFBLFdBQUMsRUFBQyxzQkFBc0IsRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQzthQUM3RixJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEdBQUcsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDO2FBQ2hJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxl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
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateCustomerInformation = generateCustomerInformation;
|
|
15
|
+
const hr_1 = require("./hr");
|
|
16
|
+
const i18next_1 = require("i18next");
|
|
17
|
+
function generateCustomerInformation(doc, y, order) {
|
|
18
|
+
(0, hr_1.generateHr)(doc, y + 35);
|
|
19
|
+
const customerInformationTop = y + 50;
|
|
20
|
+
let heightOfBillToAddress;
|
|
21
|
+
if (order.billing_address) {
|
|
22
|
+
doc
|
|
23
|
+
.fontSize(10)
|
|
24
|
+
.font("Bold")
|
|
25
|
+
.text(`${(0, i18next_1.t)("packing-slip-bill-to", "Bill to")}:`, 50, customerInformationTop, { align: 'left' })
|
|
26
|
+
.font("Regular")
|
|
27
|
+
.text(`${order.billing_address.first_name} ${order.billing_address.last_name}`, 50, customerInformationTop + 15, { align: 'left' })
|
|
28
|
+
.text(`${order.billing_address.city} ${order.billing_address.postal_code}`, 50, customerInformationTop + 30, { align: 'left' });
|
|
29
|
+
const billAddress = order.billing_address.address_1;
|
|
30
|
+
heightOfBillToAddress = doc.heightOfString(billAddress, { width: 150 });
|
|
31
|
+
doc.text(billAddress, 50, customerInformationTop + 45, { align: 'left', width: 150 })
|
|
32
|
+
.moveDown();
|
|
33
|
+
}
|
|
34
|
+
let heightOfShipToAddress;
|
|
35
|
+
if (order.shipping_address) {
|
|
36
|
+
doc
|
|
37
|
+
.fontSize(10)
|
|
38
|
+
.font("Bold")
|
|
39
|
+
.text(`${(0, i18next_1.t)("packing-slip-ship-to", "Ship to")}:`, 50, customerInformationTop, { align: 'right' })
|
|
40
|
+
.font("Regular")
|
|
41
|
+
.text(`${order.shipping_address.first_name} ${order.shipping_address.last_name}`, 50, customerInformationTop + 15, { align: 'right' })
|
|
42
|
+
.text(`${order.shipping_address.city} ${order.shipping_address.postal_code}`, 50, customerInformationTop + 30, { align: 'right' })
|
|
43
|
+
.moveDown();
|
|
44
|
+
const shipAddress = order.shipping_address.address_1;
|
|
45
|
+
heightOfShipToAddress = doc.heightOfString(shipAddress, { width: 150 });
|
|
46
|
+
doc.text(shipAddress, 360, customerInformationTop + 45, { align: 'right', widdth: 150 })
|
|
47
|
+
.moveDown();
|
|
48
|
+
}
|
|
49
|
+
if (heightOfBillToAddress && heightOfShipToAddress) {
|
|
50
|
+
if (heightOfShipToAddress > heightOfBillToAddress) {
|
|
51
|
+
return customerInformationTop + 45 + heightOfShipToAddress;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return customerInformationTop + 45 + heightOfBillToAddress;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (heightOfBillToAddress) {
|
|
58
|
+
return customerInformationTop + 45 + heightOfBillToAddress;
|
|
59
|
+
}
|
|
60
|
+
if (heightOfShipToAddress) {
|
|
61
|
+
return customerInformationTop + 45 + heightOfShipToAddress;
|
|
62
|
+
}
|
|
63
|
+
return customerInformationTop;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2RvY3VtZW50cy9zZXJ2aWNlcy90ZW1wbGF0ZXMvcGFja2luZy1zbGlwcy9iYXNpYy9wYXJ0cy9jdXN0b21lci1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOztBQU1ILGtFQXNEQztBQTFERCw2QkFBa0M7QUFDbEMscUNBQTRCO0FBRzVCLFNBQWdCLDJCQUEyQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBZTtJQUVqRSxJQUFBLGVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRXhCLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUV0QyxJQUFJLHFCQUF5QyxDQUFDO0lBRTlDLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLEdBQUc7YUFDQSxRQUFRLENBQUMsRUFBRSxDQUFDO2FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUNaLElBQUksQ0FBQyxHQUFHLElBQUEsV0FBQyxFQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLHNCQUFzQixFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDO2FBQzdGLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDZixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxzQkFBc0IsR0FBRyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUM7YUFDaEksSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFX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
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateHeader = generateHeader;
|
|
15
|
+
const i18next_1 = require("i18next");
|
|
16
|
+
function generateHeader(doc, y, documentSettings) {
|
|
17
|
+
doc
|
|
18
|
+
.fillColor("#444444")
|
|
19
|
+
.fontSize(12);
|
|
20
|
+
doc
|
|
21
|
+
.text((0, i18next_1.t)("packing-slip", "Packing Slip"), 25, y, { align: "left" });
|
|
22
|
+
const heightCompany = doc.heightOfString(documentSettings.storeAddress?.company, { align: "left" });
|
|
23
|
+
doc
|
|
24
|
+
.fontSize(6)
|
|
25
|
+
.text(documentSettings.storeAddress?.company, 25, y + 25, { align: "left" })
|
|
26
|
+
.text(`${documentSettings.storeAddress?.city} ${documentSettings.storeAddress?.postal_code}`, 25, y + 35, { align: "left" });
|
|
27
|
+
const heightAddress = doc.heightOfString(documentSettings.storeAddress?.address_1, { width: 150 });
|
|
28
|
+
doc
|
|
29
|
+
.text(`${documentSettings.storeAddress?.address_1}`, 25, y + 45, { align: "left" });
|
|
30
|
+
if (heightCompany > heightAddress + 45) {
|
|
31
|
+
return heightCompany + y;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return heightAddress + y + 45;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXNtYWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9wYWNraW5nLXNsaXBzL2Jhc2ljL3BhcnRzL2hlYWRlci1zbWFsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7QUFLSCx3Q0F5QkM7QUEzQkQscUNBQTRCO0FBRTVCLFNBQWdCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBUyxFQUFFLGdCQUFxQztJQUNsRixHQUFHO1NBQ0EsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUNwQixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFZixHQUFHO1NBQ0EsSUFBSSxDQUFDLElBQUEsV0FBQyxFQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFFcEUsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDcEcsR0FBRztTQUNBLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUMzRSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLGdCQUFnQixDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBRTlILE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBRWpHLEdBQUc7U0FDQSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUdyRixJQUFJLGFBQWEsR0FBRyxhQUFhLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDdkMsT0FBTyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxhQUFhLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0FBQ0gsQ0FBQyJ9
|
package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/header.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateHeader = generateHeader;
|
|
15
|
+
const i18next_1 = require("i18next");
|
|
16
|
+
function generateHeader(doc, y, documentSettings) {
|
|
17
|
+
doc
|
|
18
|
+
.fillColor("#444444")
|
|
19
|
+
.fontSize(20);
|
|
20
|
+
doc
|
|
21
|
+
.text((0, i18next_1.t)("packing-slip", "Packing Slip"), 50, y, { align: "left" });
|
|
22
|
+
const heightCompany = doc.heightOfString(documentSettings.storeAddress?.company, { align: "left" });
|
|
23
|
+
doc
|
|
24
|
+
.fontSize(10)
|
|
25
|
+
.text(documentSettings.storeAddress?.company, 50, y + 30, { align: "left" })
|
|
26
|
+
.text(`${documentSettings.storeAddress?.city} ${documentSettings.storeAddress?.postal_code}`, 50, y + 45, { align: "left" });
|
|
27
|
+
const heightAddress = doc.heightOfString(documentSettings.storeAddress?.address_1, { width: 150 });
|
|
28
|
+
doc
|
|
29
|
+
.text(`${documentSettings.storeAddress?.address_1}`, 50, y + 60, { align: "left" });
|
|
30
|
+
if (heightCompany > heightAddress + 60) {
|
|
31
|
+
return heightCompany + y;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return heightAddress + y + 60;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9wYWNraW5nLXNsaXBzL2Jhc2ljL3BhcnRzL2hlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7QUFLSCx3Q0F5QkM7QUEzQkQscUNBQTRCO0FBRTVCLFNBQWdCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBUyxFQUFFLGdCQUFxQztJQUNsRixHQUFHO1NBQ0EsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUNwQixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFZixHQUFHO1NBQ0EsSUFBSSxDQUFDLElBQUEsV0FBQyxFQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFFcEUsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDcEcsR0FBRztTQUNBLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDWixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUMzRSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLGdCQUFnQixDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBRTlILE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBRWpHLEdBQUc7U0FDQSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUdyRixJQUFJLGFBQWEsR0FBRyxhQUFhLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDdkMsT0FBTyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxhQUFhLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0FBQ0gsQ0FBQyJ9
|
package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/hr.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateHr = generateHr;
|
|
15
|
+
exports.generateHrInA7 = generateHrInA7;
|
|
16
|
+
function generateHr(doc, y, moveTo, lineTo) {
|
|
17
|
+
doc
|
|
18
|
+
.strokeColor("#aaaaaa")
|
|
19
|
+
.lineWidth(1)
|
|
20
|
+
.moveTo(moveTo ? moveTo : 50, y)
|
|
21
|
+
.lineTo(lineTo ? lineTo : 550, y)
|
|
22
|
+
.stroke();
|
|
23
|
+
}
|
|
24
|
+
function generateHrInA7(doc, y) {
|
|
25
|
+
doc
|
|
26
|
+
.strokeColor("#aaaaaa")
|
|
27
|
+
.lineWidth(1)
|
|
28
|
+
.moveTo(25, y)
|
|
29
|
+
.lineTo(190, y)
|
|
30
|
+
.stroke();
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL3BhY2tpbmctc2xpcHMvYmFzaWMvcGFydHMvaHIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7O0FBRUgsZ0NBT0M7QUFFRCx3Q0FPQztBQWhCRCxTQUFnQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQVMsRUFBRSxNQUFlLEVBQUUsTUFBZTtJQUN6RSxHQUFHO1NBQ0EsV0FBVyxDQUFDLFNBQVMsQ0FBQztTQUN0QixTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ1osTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUMvQixNQUFNLEVBQUUsQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsR0FBRyxFQUFFLENBQVM7SUFDM0MsR0FBRztTQUNBLFdBQVcsQ0FBQyxTQUFTLENBQUM7U0FDdEIsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUNaLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2IsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDZCxNQUFNLEVBQUUsQ0FBQztBQUNkLENBQUMifQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateItemsTable = generateItemsTable;
|
|
15
|
+
const hr_1 = require("./hr");
|
|
16
|
+
const i18next_1 = require("i18next");
|
|
17
|
+
function generateTableRow(doc, y, item, description, quantity) {
|
|
18
|
+
doc
|
|
19
|
+
.fontSize(6)
|
|
20
|
+
.text(item, 25, y)
|
|
21
|
+
.text(description, 80, y)
|
|
22
|
+
.text(quantity, 90, y, { align: "right", width: 100 });
|
|
23
|
+
}
|
|
24
|
+
function generateItemsTable(doc, y, order, items) {
|
|
25
|
+
let i;
|
|
26
|
+
const invoiceTableTop = y + 25;
|
|
27
|
+
let totalQuantity = 0;
|
|
28
|
+
doc.font("Bold");
|
|
29
|
+
generateTableRow(doc, invoiceTableTop, (0, i18next_1.t)("packing-slip-table-header-item", "Item"), (0, i18next_1.t)("packing-slip-table-header-description", "Description"), (0, i18next_1.t)("packing-slip-table-header-quantity", "Quantity"));
|
|
30
|
+
(0, hr_1.generateHrInA7)(doc, invoiceTableTop + 10);
|
|
31
|
+
doc.font("Regular");
|
|
32
|
+
for (i = 0; i < items.length; i++) {
|
|
33
|
+
const item = items[i];
|
|
34
|
+
totalQuantity += item.quantity;
|
|
35
|
+
const position = invoiceTableTop + (i + 1) * 20;
|
|
36
|
+
generateTableRow(doc, position, item.title, item.subtitle, item.quantity);
|
|
37
|
+
(0, hr_1.generateHrInA7)(doc, position + 10);
|
|
38
|
+
}
|
|
39
|
+
const totalQuantityPosition = invoiceTableTop + (i + 1) * 20;
|
|
40
|
+
doc.font("Bold");
|
|
41
|
+
generateTableRow(doc, totalQuantityPosition, "", (0, i18next_1.t)("packing-slip-table-header-total", "Total"), totalQuantity);
|
|
42
|
+
doc.font("Regular");
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaXRlbXMtc21hbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL3BhY2tpbmctc2xpcHMvYmFzaWMvcGFydHMvdGFibGUtaXRlbXMtc21hbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7O0FBb0JILGdEQTBDQztBQTNERCw2QkFBc0M7QUFDdEMscUNBQTRCO0FBRTVCLFNBQVMsZ0JBQWdCLENBQ3ZCLEdBQUcsRUFDSCxDQUFDLEVBQ0QsSUFBSSxFQUNKLFdBQVcsRUFDWCxRQUFRO0lBRVIsR0FBRztTQUNBLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDWCxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBZSxFQUFFLEtBQXlCO0lBQ25GLElBQUksQ0FBQyxDQUFDO0lBQ04sTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUUvQixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFFdEIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQixnQkFBZ0IsQ0FDZCxHQUFHLEVBQ0gsZUFBZSxFQUNmLElBQUEsV0FBQyxFQUFDLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxFQUMzQyxJQUFBLFdBQUMsRUFBQyx1Q0FBdUMsRUFBRSxhQUFhLENBQUMsRUFDekQsSUFBQSxXQUFDLEVBQUMsb0NBQW9DLEVBQUUsVUFBVSxDQUFDLENBQ3BELENBQUM7SUFDRixJQUFBLG1CQUFjLEVBQUMsR0FBRyxFQUFFLGVBQWUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBCLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixNQUFNLFFBQVEsR0FBRyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hELGdCQUFnQixDQUNkLEdBQUcsRUFDSCxRQUFRLEVBQ1IsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUVGLElBQUEsbUJBQWMsRUFBQyxHQUFHLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLHFCQUFxQixHQUFHLGVBQWUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0QsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQixnQkFBZ0IsQ0FDZCxHQUFHLEVBQ0gscUJBQXFCLEVBQ3JCLEVBQUUsRUFDRixJQUFBLFdBQUMsRUFBQyxpQ0FBaUMsRUFBRSxPQUFPLENBQUMsRUFDN0MsYUFBYSxDQUNkLENBQUM7SUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMifQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateItemsTable = generateItemsTable;
|
|
15
|
+
const hr_1 = require("./hr");
|
|
16
|
+
const i18next_1 = require("i18next");
|
|
17
|
+
function generateTableRow(doc, y, item, description, quantity) {
|
|
18
|
+
doc
|
|
19
|
+
.fontSize(10)
|
|
20
|
+
.text(item, 50, y)
|
|
21
|
+
.text(description, 200, y)
|
|
22
|
+
.text(quantity, 0, y, { align: "right" });
|
|
23
|
+
}
|
|
24
|
+
function generateItemsTable(doc, y, order, items) {
|
|
25
|
+
let i;
|
|
26
|
+
const invoiceTableTop = y + 35;
|
|
27
|
+
let totalQuantity = 0;
|
|
28
|
+
doc.font("Bold");
|
|
29
|
+
generateTableRow(doc, invoiceTableTop, (0, i18next_1.t)("packing-slip-table-header-item", "Item"), (0, i18next_1.t)("packing-slip-table-header-description", "Description"), (0, i18next_1.t)("packing-slip-table-header-quantity", "Quantity"));
|
|
30
|
+
(0, hr_1.generateHr)(doc, invoiceTableTop + 20);
|
|
31
|
+
doc.font("Regular");
|
|
32
|
+
for (i = 0; i < items.length; i++) {
|
|
33
|
+
const item = items[i];
|
|
34
|
+
totalQuantity += item.quantity;
|
|
35
|
+
const position = invoiceTableTop + (i + 1) * 30;
|
|
36
|
+
generateTableRow(doc, position, item.title, item.subtitle, item.quantity);
|
|
37
|
+
(0, hr_1.generateHr)(doc, position + 20);
|
|
38
|
+
}
|
|
39
|
+
const totalQuantityPosition = invoiceTableTop + (i + 1) * 30;
|
|
40
|
+
doc.font("Bold");
|
|
41
|
+
generateTableRow(doc, totalQuantityPosition, "", (0, i18next_1.t)("packing-slip-table-header-total", "Total"), totalQuantity);
|
|
42
|
+
doc.font("Regular");
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaXRlbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL3BhY2tpbmctc2xpcHMvYmFzaWMvcGFydHMvdGFibGUtaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7O0FBcUJILGdEQTBDQztBQTNERCw2QkFBa0M7QUFDbEMscUNBQTRCO0FBRTVCLFNBQVMsZ0JBQWdCLENBQ3ZCLEdBQUcsRUFDSCxDQUFDLEVBQ0QsSUFBSSxFQUNKLFdBQVcsRUFDWCxRQUFRO0lBRVIsR0FBRztTQUNBLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDWixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ3pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQWUsRUFBRSxLQUF5QjtJQUNuRixJQUFJLENBQUMsQ0FBQztJQUNOLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFL0IsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBRXRCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakIsZ0JBQWdCLENBQ2QsR0FBRyxFQUNILGVBQWUsRUFDZixJQUFBLFdBQUMsRUFBQyxnQ0FBZ0MsRUFBRSxNQUFNLENBQUMsRUFDM0MsSUFBQSxXQUFDLEVBQUMsdUNBQXVDLEVBQUUsYUFBYSxDQUFDLEVBQ3pELElBQUEsV0FBQyxFQUFDLG9DQUFvQyxFQUFFLFVBQVUsQ0FBQyxDQUNwRCxDQUFDO0lBQ0YsSUFBQSxlQUFVLEVBQUMsR0FBRyxFQUFFLGVBQWUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0QyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBCLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixNQUFNLFFBQVEsR0FBRyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hELGdCQUFnQixDQUNkLEdBQUcsRUFDSCxRQUFRLEVBQ1IsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUVGLElBQUEsZUFBVSxFQUFDLEdBQUcsRUFBRSxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0scUJBQXFCLEdBQUcsZUFBZSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM3RCxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pCLGdCQUFnQixDQUNkLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsRUFBRSxFQUNGLElBQUEsV0FBQyxFQUFDLGlDQUFpQyxFQUFFLE9BQU8sQ0FBQyxFQUM3QyxhQUFhLENBQ2QsQ0FBQztJQUNGLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDdEIsQ0FBQyJ9
|