@measurequick/measurequick-report-generator 1.2.53 → 1.2.55

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@measurequick/measurequick-report-generator",
3
- "version": "1.2.53",
3
+ "version": "1.2.55",
4
4
  "description": "Generates PDF documents for various MeasureQuick applications.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -20,19 +20,16 @@ export async function getReport(payload) {
20
20
 
21
21
  // embed company logo and profile picture
22
22
  let profileImage, companyImage;
23
- if (payload.meta.pdf_settings.includeProfilePic) {
24
- if (payload.meta.pdf_settings.shapeProfilePic && payload.meta.profile_settings.profilePicCircleBase64) {
25
- if (payload.meta.profile_settings.profilePicCircleBase64.includes("image/jpeg")) profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
26
- else if (payload.meta.profile_settings.profilePicCircleBase64.includes("image/png")) profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
27
- } else if (payload.meta.profile_settings.profilePicSquareBase64) {
28
- if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/jpeg")) profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
29
- else if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/png")) profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
30
- }
31
- }
32
- if (payload.meta.pdf_settings.includeCompanyLogo && payload.meta.profile_settings.companyLogoBase64) {
33
- if (payload.meta.profile_settings.companyLogoBase64.includes("image/jpeg")) companyImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
34
- else if (payload.meta.profile_settings.companyLogoBase64.includes("image/png")) companyImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
23
+ let profileImageType = util.checkProfilePicture(payload.meta);
24
+ let companyImageType = util.checkCompanyLogo(payload.meta);
25
+ if (profileImageType) {
26
+ if (profileImageType.shape == "square") profileImage = payload.meta.profile_settings.profilePicSquareBase64;
27
+ else if (profileImageType.shape == "circle") profileImage = payload.meta.profile_settings.profilePicCircleBase64;
28
+ if (profileImageType.type == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(profileImage));
29
+ else if (profileImageType.type == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(profileImage));
35
30
  }
31
+ if (companyImageType == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
32
+ else if (companyImageType == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
36
33
 
37
34
  // print company logo and profile picture
38
35
  if (profileImage && companyImage) {
@@ -4,30 +4,27 @@ import * as util from '../util.js';
4
4
 
5
5
  export async function getReport(payload) { console.log("Cover Page");
6
6
  const pdfDoc = await PDFDocument.load(util._base64ToArrayBuffer(pdf.base64));
7
- let profilePicture, companyLogo;
8
- // payload.meta.profile_settings.profilePicSquareBase64 = dummyBase64();
9
- // payload.meta.profile_settings.companyLogoBase64 = dummyBase64();
10
- if (payload.meta.pdf_settings.shapeProfilePic && payload.meta.profile_settings.profilePicCircleBase64) {
11
- if (payload.meta.profile_settings.profilePicCircleBase64.includes("image/jpeg")) profilePicture = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
12
- else if (payload.meta.profile_settings.profilePicCircleBase64.includes("image/png")) profilePicture = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
13
- } else if (payload.meta.profile_settings.profilePicSquareBase64) {
14
- if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/jpeg")) profilePicture = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
15
- else if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/png")) profilePicture = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
16
- }
17
- if (payload.meta.profile_settings.companyLogoBase64) {
18
- if (payload.meta.profile_settings.companyLogoBase64.includes("image/jpeg")) companyLogo = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
19
- else if (payload.meta.profile_settings.companyLogoBase64.includes("image/png")) companyLogo = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
7
+ let profileImage, companyImage;
8
+ let profileImageType = util.checkProfilePicture(payload.meta);
9
+ let companyImageType = util.checkCompanyLogo(payload.meta);
10
+ if (profileImageType) {
11
+ if (profileImageType.shape == "square") profileImage = payload.meta.profile_settings.profilePicSquareBase64;
12
+ else if (profileImageType.shape == "circle") profileImage = payload.meta.profile_settings.profilePicCircleBase64;
13
+ if (profileImageType.type == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(profileImage));
14
+ else if (profileImageType.type == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(profileImage));
20
15
  }
16
+ if (companyImageType == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
17
+ else if (companyImageType == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
21
18
  const form = pdfDoc.getForm();
22
19
  form.getTextField("Report Title").setText(payload.meta.report_title);
23
20
  form.getTextField("Technician Name").setText(payload.meta.technician_name);
24
21
  form.getTextField("Company Name").setText(payload.meta.company_name);
25
22
  form.getTextField("Date of Service Cover").setText(payload.meta.date_of_service);
26
23
  form.getTextField("Time of Service Cover").setText(payload.meta.time_of_service);
27
- if (profilePicture) {
28
- form.getButton("Profile Picture").setImage(profilePicture);
24
+ if (profileImage) {
25
+ form.getButton("Profile Picture").setImage(profileImage);
29
26
  if (companyLogo) form.getButton("Company Logo").setImage(companyLogo);
30
- } else if (companyLogo) form.getButton("Company Logo Full").setImage(companyLogo);
27
+ } else if (companyLogo) form.getButton("Company Logo Full").setImage(companyImage);
31
28
  form.flatten();
32
29
  const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
33
30
  return pdfBase64;
@@ -60,6 +60,8 @@ export async function getReport(payload) { console.log("Full Report");
60
60
  coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
61
61
  coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg2);
62
62
  coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg3);
63
+ } else {
64
+ console.log("cant generate vitals");
63
65
  }
64
66
  } catch (err) {
65
67
  console.log("Vitals Error: " + JSON.stringify(err));
@@ -35,19 +35,16 @@ export async function getReport(payload, _test) { console.log(payload);
35
35
 
36
36
  // embed company logo and profile picture
37
37
  let profileImage, companyImage;
38
- if (payload.meta.pdf_settings.includeProfilePic) {
39
- if (payload.meta.pdf_settings.shapeProfilePic && payload.meta.profile_settings.profilePicCircleBase64) {
40
- if (payload.meta.profile_settings.profilePicCircleBase64.includes("image/jpeg")) profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
41
- else if (payload.meta.profile_settings.profilePicCircleBase64.includes("image/png")) profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
42
- } else if (payload.meta.profile_settings.profilePicSquareBase64) {
43
- if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/jpeg")) profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
44
- else if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/png")) profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
45
- }
46
- }
47
- if (payload.meta.pdf_settings.includeCompanyLogo && payload.meta.profile_settings.companyLogoBase64) {
48
- if (payload.meta.profile_settings.companyLogoBase64.includes("image/jpeg")) companyImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
49
- else if (payload.meta.profile_settings.companyLogoBase64.includes("image/png")) companyImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
38
+ let profileImageType = util.checkProfilePicture(payload.meta);
39
+ let companyImageType = util.checkCompanyLogo(payload.meta);
40
+ if (profileImageType) {
41
+ if (profileImageType.shape == "square") profileImage = payload.meta.profile_settings.profilePicSquareBase64;
42
+ else if (profileImageType.shape == "circle") profileImage = payload.meta.profile_settings.profilePicCircleBase64;
43
+ if (profileImageType.type == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(profileImage));
44
+ else if (profileImageType.type == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(profileImage));
50
45
  }
46
+ if (companyImageType == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
47
+ else if (companyImageType == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
51
48
 
52
49
  // get form for filling
53
50
  const form = pdfDoc.getForm();
@@ -77,17 +74,17 @@ export async function getReport(payload, _test) { console.log(payload);
77
74
  let textFields = getTextFields(payload);
78
75
 
79
76
  // print company logo and profile picture
80
- if (profileImage && companyImage) {
77
+ if (profileImage && companyImage) { // both images are embedded in the document
81
78
  form.getButton("ProfilePicture").setImage(profileImage);
82
79
  form.getButton("HalfWidthLogo").setImage(companyImage);
83
80
  if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
84
81
  form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
85
- } else if (profileImage) {
82
+ } else if (profileImage) { // no company logo is embedded in the document
86
83
  form.getButton("ProfilePicture").setImage(profileImage);
87
84
  form.getButton("HalfWidthLogo").setImage(mqLogo);
88
85
  if (payload.meta.profile_settings.techFirstName || payload.meta.profile_settings.techLastName)
89
86
  form.getTextField('TechName').setText(`${payload.meta.profile_settings.techFirstName} ${payload.meta.profile_settings.techLastName}`);
90
- } else {
87
+ } else { // no profile picture is embedded in the document
91
88
  if (companyImage) form.getButton("FullWidthLogo").setImage(companyImage);
92
89
  else form.getButton("FullWidthLogo").setImage(mqLogo);
93
90
  }
@@ -35,19 +35,16 @@ export async function getReport(payload, _test) { console.log("Vitals Heating Re
35
35
 
36
36
  // embed company logo and profile picture
37
37
  let profileImage, companyImage;
38
- if (payload.meta.pdf_settings.includeProfilePic) {
39
- if (payload.meta.pdf_settings.shapeProfilePic && payload.meta.profile_settings.profilePicCircleBase64) {
40
- if (payload.meta.profile_settings.profilePicCircleBase64.includes("image/jpeg")) profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
41
- else if (payload.meta.profile_settings.profilePicCircleBase64.includes("image/png")) profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicCircleBase64));
42
- } else if (payload.meta.profile_settings.profilePicSquareBase64) {
43
- if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/jpeg")) profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
44
- else if (payload.meta.profile_settings.profilePicSquareBase64.includes("image/png")) profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.profilePicSquareBase64));
45
- }
46
- }
47
- if (payload.meta.pdf_settings.includeCompanyLogo && payload.meta.profile_settings.companyLogoBase64) {
48
- if (payload.meta.profile_settings.companyLogoBase64.includes("image/jpeg")) companyImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
49
- else if (payload.meta.profile_settings.companyLogoBase64.includes("image/png")) companyImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
38
+ let profileImageType = util.checkProfilePicture(payload.meta);
39
+ let companyImageType = util.checkCompanyLogo(payload.meta);
40
+ if (profileImageType) {
41
+ if (profileImageType.shape == "square") profileImage = payload.meta.profile_settings.profilePicSquareBase64;
42
+ else if (profileImageType.shape == "circle") profileImage = payload.meta.profile_settings.profilePicCircleBase64;
43
+ if (profileImageType.type == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(profileImage));
44
+ else if (profileImageType.type == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(profileImage));
50
45
  }
46
+ if (companyImageType == "jpg") profileImage = await pdfDoc.embedJpg(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
47
+ else if (companyImageType == "png") profileImage = await pdfDoc.embedPng(util._base64ToArrayBuffer(payload.meta.profile_settings.companyLogoBase64));
51
48
 
52
49
  // get form for filling
53
50
  const form = pdfDoc.getForm();
package/util.js CHANGED
@@ -11,6 +11,27 @@ export function _base64ToArrayBuffer(base64) {
11
11
  return bytes.buffer;
12
12
  }
13
13
 
14
+ export function checkCompanyLogo(meta) {
15
+ if (meta.pdf_settings.includeCompanyLogo && meta.profile_settings.companyLogoBase64) {
16
+ if (meta.profile_settings.companyLogoBase64.includes("image/jpeg")) return "jpg";
17
+ else if (meta.profile_settings.companyLogoBase64.includes("image/png")) return "png";
18
+ return false;
19
+ }
20
+ }
21
+
22
+ export function checkProfilePicture(meta) {
23
+ if (meta.pdf_settings.includeProfilePic) {
24
+ if (meta.pdf_settings.shapeProfilePic && meta.profile_settings.profilePicCircleBase64) {
25
+ if (meta.profile_settings.profilePicCircleBase64.includes("image/jpeg")) return { type: "jpg", shape: "circle" };
26
+ else if (meta.profile_settings.profilePicCircleBase64.includes("image/png")) return { type: "png", shape: "circle" };
27
+ } else if (meta.profile_settings.profilePicSquareBase64) {
28
+ if (meta.profile_settings.profilePicSquareBase64.includes("image/jpeg")) return { type: "jpg", shape: "square" };
29
+ else if (meta.profile_settings.profilePicSquareBase64.includes("image/png")) return { type: "png", shape: "square" };
30
+ }
31
+ }
32
+ return false;
33
+ }
34
+
14
35
  export function getGradeFromScore(score) {
15
36
  let grade = "F";
16
37
  if (score == 100) return "A+";