@measurequick/measurequick-report-generator 1.0.95 → 1.0.97

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/index.js CHANGED
@@ -3,6 +3,7 @@ import * as mqSystemVitalsReportGenerator from "./mq-system-vitals-report-genera
3
3
  import * as mqSystemVitalsHeatingReportGenerator from "./mq-system-vitals-heating-report-generator.js";
4
4
  import * as mqPtcsReportGenerator from "./mq-ptcs-report-generator.js";
5
5
  import * as pdfSigner from "./sign-pdf.js";
6
+ import * as mqStandardReportGenerator from "./mq-standard-report-generator.js";
6
7
 
7
8
  export function generateReport(reportType, payload) {
8
9
  if (reportType == "mqStandard") reportType = "mqCooling";
@@ -12,6 +13,7 @@ export function generateReport(reportType, payload) {
12
13
  case "mqSystemVitals": return mqSystemVitalsReportGenerator.generateReport(payload);
13
14
  case "mqSystemVitalsHeating": return mqSystemVitalsHeatingReportGenerator.generateReport(payload);
14
15
  case "PTCS": return mqPtcsReportGenerator.generateReport(payload);
16
+ case "mQ Standard": return mqStandardReportGenerator.generateReport(payload);
15
17
  default: return false;
16
18
  }
17
19
  }
@@ -6,8 +6,10 @@ export async function generateReport(payload) {
6
6
  const pdfDoc = await PDFDocument.load(formPdfBytes);
7
7
  const photoBytesStripHeat = _base64ToArrayBuffer(payload.images.imageStripHeatBase64);
8
8
  const photoBytesHpThermostat = _base64ToArrayBuffer(payload.images.imageHpThermostatBase64);
9
- const imageStripHeat = await pdfDoc.embedJpg(photoBytesStripHeat);
10
- const imageHpThermostat = await pdfDoc.embedJpg(photoBytesHpThermostat);
9
+ var imageStripHeat;
10
+ var imageHpThermostat;
11
+ if (photoBytesStripHeat) imageStripHeat = await pdfDoc.embedJpg(photoBytesStripHeat);
12
+ if (photoBytesHpThermostat) imageHpThermostat = await pdfDoc.embedJpg(photoBytesHpThermostat);
11
13
  const form = pdfDoc.getForm();
12
14
  Object.keys(payload.textFields).forEach(fieldKey => {
13
15
  if (payload.textFields[fieldKey]) form.getTextField(fieldKey).setText(`${payload.textFields[fieldKey]}`);
@@ -15,14 +17,15 @@ export async function generateReport(payload) {
15
17
  Object.keys(payload.checkFields).forEach(fieldKey => {
16
18
  if (payload.checkFields[fieldKey]) form.getCheckBox(`${payload.checkFields[fieldKey]}`).check();
17
19
  });
18
- if (payload.images.imageStripHeatBase64) form.getButton("customImage1").setImage(imageStripHeat);
19
- if (payload.images.imageHpThermostatBase64) form.getButton("customImage2").setImage(imageHpThermostat);
20
+ if (imageStripHeat) form.getButton("customImage1").setImage(imageStripHeat);
21
+ if (imageHpThermostat) form.getButton("customImage2").setImage(imageHpThermostat);
20
22
  form.flatten();
21
23
  const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
22
24
  return pdfBase64;
23
25
  }
24
26
 
25
27
  function _base64ToArrayBuffer(base64) {
28
+ if (!base64) return "";
26
29
  base64 = base64.replace(/^[^,]+,/, '').replace(/\s/g, '');
27
30
  var binary_string = window.atob(base64);
28
31
  var len = binary_string.length;
@@ -0,0 +1,47 @@
1
+ import { PDFDocument } from 'pdf-lib';
2
+ import * as base64 from './graphics.js';
3
+
4
+ export async function generateReport(payload) {
5
+ const formPdfBytes = _base64ToArrayBuffer(base64.mqStandardPdfTemplate);
6
+ const pdfDoc = await PDFDocument.load(formPdfBytes);
7
+ const photoBytes = _base64ToArrayBuffer(base64);
8
+ const image = await pdfDoc.embedJpg(photoBytes);
9
+ const form = pdfDoc.getForm();
10
+
11
+ // cover page
12
+
13
+
14
+ // vitals page
15
+
16
+
17
+ // score page
18
+
19
+
20
+ // equipment information page
21
+
22
+
23
+ // system review page
24
+
25
+
26
+ // measurement details page
27
+
28
+
29
+ // photos page
30
+
31
+
32
+ form.flatten();
33
+ const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
34
+ return pdfBase64;
35
+ }
36
+
37
+ function _base64ToArrayBuffer(base64) {
38
+ if (!base64) return "";
39
+ base64 = base64.replace(/^[^,]+,/, '').replace(/\s/g, '');
40
+ var binary_string = window.atob(base64);
41
+ var len = binary_string.length;
42
+ var bytes = new Uint8Array(len);
43
+ for (var i = 0; i < len; i++) {
44
+ bytes[i] = binary_string.charCodeAt(i);
45
+ }
46
+ return bytes.buffer;
47
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@measurequick/measurequick-report-generator",
3
- "version": "1.0.95",
3
+ "version": "1.0.97",
4
4
  "description": "Generates PDF documents for various MeasureQuick applications.",
5
5
  "main": "index.js",
6
6
  "scripts": {