@lighthouse/common 5.0.0-canary-5 → 5.0.0-canary-7
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/dist/constants.js +7 -13
- package/dist/errors/DomainError.js +2 -4
- package/dist/errors/ValidationError.js +0 -8
- package/dist/errors/index.js +1 -5
- package/dist/helpers/array-buffer-to-base-64/index.js +0 -1
- package/dist/helpers/build-fetch-url/index.js +0 -3
- package/dist/helpers/fetch-image/index.js +14 -31
- package/dist/helpers/fetch-image-for-pdf-generator-service/index.js +26 -34
- package/dist/helpers/fetch-image-for-web/index.js +3 -18
- package/dist/helpers/fetch-lighthouse-logo/index.js +2 -13
- package/dist/helpers/floatify/index.js +0 -1
- package/dist/helpers/get-assignees-full-names/index.js +0 -4
- package/dist/helpers/get-audit-entry-details/index.js +0 -3
- package/dist/helpers/get-audit-items-data/index.js +2 -6
- package/dist/helpers/get-geometry-geocoded-string/index.js +0 -3
- package/dist/helpers/get-issue-details/index.js +0 -7
- package/dist/helpers/get-job-details/index.js +0 -7
- package/dist/helpers/get-location-reference/index.js +18 -21
- package/dist/helpers/get-pretty-duration/index.js +0 -5
- package/dist/helpers/get-reference-details/index.js +0 -4
- package/dist/helpers/get-status-details/index.js +2 -9
- package/dist/helpers/get-task-entry-details/index.js +0 -3
- package/dist/helpers/get-timezone-abbr/index.js +0 -4
- package/dist/helpers/get-timezone-datetime/index.js +0 -5
- package/dist/helpers/get-user-full-name/index.js +0 -1
- package/dist/helpers/get-value-as-percentage/index.js +0 -1
- package/dist/helpers/image-validators/index.js +7 -9
- package/dist/helpers/index.js +16 -33
- package/dist/images/index.js +5 -9
- package/dist/index.js +4 -20
- package/dist/pdf/activity-report/index.js +41 -62
- package/dist/pdf/audit/index.js +0 -12
- package/dist/pdf/helpers/build-audit-content/index.js +4 -15
- package/dist/pdf/helpers/build-audit-follow-ups/index.js +4 -14
- package/dist/pdf/helpers/build-location-scans-content/index.js +4 -17
- package/dist/pdf/helpers/build-template-content/index.js +5 -14
- package/dist/pdf/helpers/default-footer/index.js +2 -3
- package/dist/pdf/helpers/default-header/index.js +0 -2
- package/dist/pdf/helpers/default-styles/index.js +2 -3
- package/dist/pdf/helpers/fields/index.js +15 -45
- package/dist/pdf/helpers/format-location-address/index.js +0 -3
- package/dist/pdf/helpers/generate-definition/index.js +0 -12
- package/dist/pdf/helpers/horizontal-line/index.js +0 -1
- package/dist/pdf/helpers/html-transformer/index.js +11 -23
- package/dist/pdf/helpers/index.js +40 -55
- package/dist/pdf/helpers/parse-value/index.js +2 -6
- package/dist/pdf/helpers/table/index.js +13 -31
- package/dist/pdf/helpers/text/index.js +0 -1
- package/dist/pdf/icons/index.js +3 -5
- package/dist/pdf/index.js +4 -10
- package/dist/pdf/issue/index.js +0 -12
- package/dist/pdf/job/index.js +1 -13
- package/dist/pdf/shift-report/emptyFixtures.js +4 -6
- package/dist/pdf/shift-report/index.js +2 -25
- package/dist/pdf/task/index.js +0 -11
- package/dist/scheduling/generators/index.js +0 -6
- package/dist/scheduling/generators/occurrenceIntervalsGenerator.js +1 -6
- package/dist/scheduling/generators/scheduleIntervalsGenerator.js +0 -5
- package/dist/scheduling/generators/serviceIntervalsGenerator.js +13 -27
- package/dist/scheduling/helpers/convertToTimezone.js +1 -6
- package/dist/scheduling/helpers/generateNonRepeatingSchedule.js +3 -9
- package/dist/scheduling/helpers/generateRepeatingSchedule.js +11 -18
- package/dist/scheduling/helpers/generateScheduleEnd.js +2 -8
- package/dist/scheduling/helpers/hasValidStartAndEnd.js +0 -6
- package/dist/scheduling/helpers/index.js +0 -28
- package/dist/scheduling/helpers/intervalCovers.js +0 -1
- package/dist/scheduling/helpers/intervalIntersectsEnd.js +0 -1
- package/dist/scheduling/helpers/intervalIntersectsStart.js +0 -1
- package/dist/scheduling/helpers/intervalOnlyIntersectsEnd.js +1 -3
- package/dist/scheduling/helpers/intervalOnlyIntersectsStart.js +0 -3
- package/dist/scheduling/helpers/intervalOutside.js +0 -1
- package/dist/scheduling/helpers/intervalWithin.js +0 -1
- package/dist/scheduling/helpers/mergeIntervals.js +0 -4
- package/dist/scheduling/helpers/splitIntervals.js +0 -3
- package/dist/scheduling/index.js +0 -6
- package/dist/scheduling/scheduling.types.js +4 -12
- package/dist/scheduling/strategies/getNext.js +2 -13
- package/dist/scheduling/strategies/getNextExactDateOfMonth.js +0 -12
- package/dist/scheduling/strategies/getNextLastDayOfMonth.js +0 -10
- package/dist/scheduling/strategies/getNextLastWeekdayOfMonth.js +0 -11
- package/dist/scheduling/strategies/getNextNoRepeat.js +0 -7
- package/dist/scheduling/strategies/getNextWeekday.js +0 -10
- package/dist/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +0 -12
- package/dist/scheduling/strategies/index.js +0 -14
- package/dist/schema/index.js +0 -2
- package/dist/schema/schema.js +2 -7
- package/dist/service-hours/__helpers__/calculate-hours.js +4 -13
- package/dist/service-hours/__helpers__/isOpen.js +0 -9
- package/dist/service-hours/index.js +0 -4
- package/dist/service-hours/schema.js +12 -35
- package/lib/constants.js.map +1 -1
- package/lib/errors/DomainError.js +5 -40
- package/lib/errors/DomainError.js.map +1 -1
- package/lib/errors/ValidationError.js +6 -45
- package/lib/errors/ValidationError.js.map +1 -1
- package/lib/errors/index.js.map +1 -1
- package/lib/helpers/array-buffer-to-base-64/index.js.map +1 -1
- package/lib/helpers/build-fetch-url/index.js +7 -13
- package/lib/helpers/build-fetch-url/index.js.map +1 -1
- package/lib/helpers/fetch-image/index.js +19 -30
- package/lib/helpers/fetch-image/index.js.map +1 -1
- package/lib/helpers/fetch-image-for-pdf-generator-service/index.js +43 -67
- package/lib/helpers/fetch-image-for-pdf-generator-service/index.js.map +1 -1
- package/lib/helpers/fetch-image-for-web/index.js +4 -21
- package/lib/helpers/fetch-image-for-web/index.js.map +1 -1
- package/lib/helpers/fetch-lighthouse-logo/index.js +6 -16
- package/lib/helpers/fetch-lighthouse-logo/index.js.map +1 -1
- package/lib/helpers/floatify/index.js.map +1 -1
- package/lib/helpers/get-assignees-full-names/index.js +0 -1
- package/lib/helpers/get-assignees-full-names/index.js.map +1 -1
- package/lib/helpers/get-audit-entry-details/index.js +7 -7
- package/lib/helpers/get-audit-entry-details/index.js.map +1 -1
- package/lib/helpers/get-audit-items-data/index.js +5 -6
- package/lib/helpers/get-audit-items-data/index.js.map +1 -1
- package/lib/helpers/get-geometry-geocoded-string/index.js.map +1 -1
- package/lib/helpers/get-issue-details/index.js +8 -8
- package/lib/helpers/get-issue-details/index.js.map +1 -1
- package/lib/helpers/get-job-details/index.js +12 -12
- package/lib/helpers/get-job-details/index.js.map +1 -1
- package/lib/helpers/get-location-reference/index.js +27 -33
- package/lib/helpers/get-location-reference/index.js.map +1 -1
- package/lib/helpers/get-pretty-duration/index.js +0 -4
- package/lib/helpers/get-pretty-duration/index.js.map +1 -1
- package/lib/helpers/get-reference-details/index.js +1 -3
- package/lib/helpers/get-reference-details/index.js.map +1 -1
- package/lib/helpers/get-status-details/index.js +0 -4
- package/lib/helpers/get-status-details/index.js.map +1 -1
- package/lib/helpers/get-task-entry-details/index.js +4 -4
- package/lib/helpers/get-task-entry-details/index.js.map +1 -1
- package/lib/helpers/get-timezone-abbr/index.js.map +1 -1
- package/lib/helpers/get-timezone-datetime/index.js +6 -6
- package/lib/helpers/get-timezone-datetime/index.js.map +1 -1
- package/lib/helpers/get-user-full-name/index.js.map +1 -1
- package/lib/helpers/get-value-as-percentage/index.js.map +1 -1
- package/lib/helpers/image-validators/index.js +7 -7
- package/lib/helpers/image-validators/index.js.map +1 -1
- package/lib/helpers/index.js.map +1 -1
- package/lib/images/index.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/pdf/activity-report/index.js +66 -110
- package/lib/pdf/activity-report/index.js.map +1 -1
- package/lib/pdf/audit/index.js +25 -31
- package/lib/pdf/audit/index.js.map +1 -1
- package/lib/pdf/fonts/index.js.map +1 -1
- package/lib/pdf/helpers/build-audit-content/index.js +3 -5
- package/lib/pdf/helpers/build-audit-content/index.js.map +1 -1
- package/lib/pdf/helpers/build-audit-follow-ups/index.js +5 -12
- package/lib/pdf/helpers/build-audit-follow-ups/index.js.map +1 -1
- package/lib/pdf/helpers/build-location-scans-content/index.js +4 -9
- package/lib/pdf/helpers/build-location-scans-content/index.js.map +1 -1
- package/lib/pdf/helpers/build-template-content/index.js +7 -9
- package/lib/pdf/helpers/build-template-content/index.js.map +1 -1
- package/lib/pdf/helpers/default-footer/index.js +9 -8
- package/lib/pdf/helpers/default-footer/index.js.map +1 -1
- package/lib/pdf/helpers/default-header/index.js +5 -5
- package/lib/pdf/helpers/default-header/index.js.map +1 -1
- package/lib/pdf/helpers/default-styles/index.js.map +1 -1
- package/lib/pdf/helpers/fields/index.js +44 -79
- package/lib/pdf/helpers/fields/index.js.map +1 -1
- package/lib/pdf/helpers/format-location-address/index.js.map +1 -1
- package/lib/pdf/helpers/generate-definition/index.js +22 -29
- package/lib/pdf/helpers/generate-definition/index.js.map +1 -1
- package/lib/pdf/helpers/horizontal-line/index.js +1 -1
- package/lib/pdf/helpers/horizontal-line/index.js.map +1 -1
- package/lib/pdf/helpers/html-transformer/index.js +18 -28
- package/lib/pdf/helpers/html-transformer/index.js.map +1 -1
- package/lib/pdf/helpers/index.js.map +1 -1
- package/lib/pdf/helpers/parse-value/index.js +2 -4
- package/lib/pdf/helpers/parse-value/index.js.map +1 -1
- package/lib/pdf/helpers/table/index.js +15 -19
- package/lib/pdf/helpers/table/index.js.map +1 -1
- package/lib/pdf/helpers/text/index.js +2 -5
- package/lib/pdf/helpers/text/index.js.map +1 -1
- package/lib/pdf/icons/index.js.map +1 -1
- package/lib/pdf/index.js.map +1 -1
- package/lib/pdf/issue/index.js +19 -26
- package/lib/pdf/issue/index.js.map +1 -1
- package/lib/pdf/job/index.js +12 -19
- package/lib/pdf/job/index.js.map +1 -1
- package/lib/pdf/shift-report/emptyFixtures.js.map +1 -1
- package/lib/pdf/shift-report/index.js +35 -85
- package/lib/pdf/shift-report/index.js.map +1 -1
- package/lib/pdf/task/index.js +11 -17
- package/lib/pdf/task/index.js.map +1 -1
- package/lib/scheduling/generators/index.js.map +1 -1
- package/lib/scheduling/generators/occurrenceIntervalsGenerator.js +0 -8
- package/lib/scheduling/generators/occurrenceIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/generators/scheduleIntervalsGenerator.js +0 -9
- package/lib/scheduling/generators/scheduleIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/generators/serviceIntervalsGenerator.js +31 -71
- package/lib/scheduling/generators/serviceIntervalsGenerator.js.map +1 -1
- package/lib/scheduling/helpers/convertToTimezone.js +1 -1
- package/lib/scheduling/helpers/convertToTimezone.js.map +1 -1
- package/lib/scheduling/helpers/generateNonRepeatingSchedule.js +26 -64
- package/lib/scheduling/helpers/generateNonRepeatingSchedule.js.map +1 -1
- package/lib/scheduling/helpers/generateRepeatingSchedule.js +47 -113
- package/lib/scheduling/helpers/generateRepeatingSchedule.js.map +1 -1
- package/lib/scheduling/helpers/generateScheduleEnd.js +6 -6
- package/lib/scheduling/helpers/generateScheduleEnd.js.map +1 -1
- package/lib/scheduling/helpers/hasValidStartAndEnd.js +1 -2
- package/lib/scheduling/helpers/hasValidStartAndEnd.js.map +1 -1
- package/lib/scheduling/helpers/index.js.map +1 -1
- package/lib/scheduling/helpers/intervalCovers.js.map +1 -1
- package/lib/scheduling/helpers/intervalIntersectsEnd.js.map +1 -1
- package/lib/scheduling/helpers/intervalIntersectsStart.js.map +1 -1
- package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js +1 -0
- package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js.map +1 -1
- package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js +1 -1
- package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js.map +1 -1
- package/lib/scheduling/helpers/intervalOutside.js.map +1 -1
- package/lib/scheduling/helpers/intervalWithin.js.map +1 -1
- package/lib/scheduling/helpers/mergeIntervals.js +0 -3
- package/lib/scheduling/helpers/mergeIntervals.js.map +1 -1
- package/lib/scheduling/helpers/splitIntervals.js +1 -1
- package/lib/scheduling/helpers/splitIntervals.js.map +1 -1
- package/lib/scheduling/index.js.map +1 -1
- package/lib/scheduling/scheduling.types.js +0 -5
- package/lib/scheduling/scheduling.types.js.map +1 -1
- package/lib/scheduling/strategies/getNext.js +1 -13
- package/lib/scheduling/strategies/getNext.js.map +1 -1
- package/lib/scheduling/strategies/getNextExactDateOfMonth.js +1 -13
- package/lib/scheduling/strategies/getNextExactDateOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextLastDayOfMonth.js +1 -11
- package/lib/scheduling/strategies/getNextLastDayOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js +1 -11
- package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/getNextNoRepeat.js +0 -9
- package/lib/scheduling/strategies/getNextNoRepeat.js.map +1 -1
- package/lib/scheduling/strategies/getNextWeekday.js +30 -68
- package/lib/scheduling/strategies/getNextWeekday.js.map +1 -1
- package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +1 -11
- package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js.map +1 -1
- package/lib/scheduling/strategies/index.js.map +1 -1
- package/lib/schema/index.js.map +1 -1
- package/lib/schema/schema.js +1 -7
- package/lib/schema/schema.js.map +1 -1
- package/lib/service-hours/__helpers__/calculate-hours.js +4 -13
- package/lib/service-hours/__helpers__/calculate-hours.js.map +1 -1
- package/lib/service-hours/__helpers__/isOpen.js +3 -7
- package/lib/service-hours/__helpers__/isOpen.js.map +1 -1
- package/lib/service-hours/index.js.map +1 -1
- package/lib/service-hours/schema.js +7 -24
- package/lib/service-hours/schema.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.buildTemplateContent = void 0;
|
|
9
|
-
|
|
10
8
|
var _lodash = require("lodash");
|
|
11
|
-
|
|
12
9
|
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
13
|
-
|
|
14
10
|
var _ = require("../");
|
|
15
|
-
|
|
16
|
-
const buildTemplateContent = _bluebird.default.method((formGroups = [], data) => {
|
|
11
|
+
const buildTemplateContent = exports.buildTemplateContent = _bluebird.default.method((formGroups = [], data) => {
|
|
17
12
|
const {
|
|
18
13
|
settings,
|
|
19
14
|
timezone
|
|
@@ -30,26 +25,24 @@ const buildTemplateContent = _bluebird.default.method((formGroups = [], data) =>
|
|
|
30
25
|
timezone,
|
|
31
26
|
skipped
|
|
32
27
|
})).then(fieldGroupRows => {
|
|
33
|
-
const rows = (0, _lodash.compact)(fieldGroupRows);
|
|
28
|
+
const rows = (0, _lodash.compact)(fieldGroupRows);
|
|
29
|
+
|
|
30
|
+
// NOTE if empty return null so we can
|
|
34
31
|
// prevent this field group section from
|
|
35
32
|
// being created in the pdf. This can occur
|
|
36
33
|
// when we have a display text field
|
|
37
|
-
|
|
38
34
|
if ((0, _lodash.isEmpty)(rows)) {
|
|
39
35
|
return null;
|
|
40
36
|
}
|
|
41
|
-
|
|
42
37
|
return (0, _.twoColumnTable)({
|
|
43
38
|
headerRows: 0,
|
|
44
39
|
body: [...rows]
|
|
45
40
|
});
|
|
46
41
|
})).then(fieldGroupTables => {
|
|
47
42
|
const fieldGroups = (0, _lodash.compact)(fieldGroupTables);
|
|
48
|
-
|
|
49
43
|
if ((0, _lodash.isEmpty)(fieldGroups)) {
|
|
50
44
|
return [];
|
|
51
45
|
}
|
|
52
|
-
|
|
53
46
|
const groupHeaderTable = (0, _.table)({
|
|
54
47
|
body: [[(0, _.text)(label)]],
|
|
55
48
|
layout: 'noBorders',
|
|
@@ -59,6 +52,4 @@ const buildTemplateContent = _bluebird.default.method((formGroups = [], data) =>
|
|
|
59
52
|
const hLine = (0, _.horizontalLine)();
|
|
60
53
|
return [groupHeaderTable, hLine, ...fieldGroups];
|
|
61
54
|
}));
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
exports.buildTemplateContent = buildTemplateContent;
|
|
55
|
+
});
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.defaultFooter = defaultFooter;
|
|
7
|
-
|
|
8
7
|
var _helpers = require("../../../helpers");
|
|
9
|
-
|
|
10
8
|
function defaultFooter({
|
|
11
9
|
Signature,
|
|
12
10
|
Policy,
|
|
@@ -23,8 +21,9 @@ function defaultFooter({
|
|
|
23
21
|
timestamp,
|
|
24
22
|
timezone
|
|
25
23
|
});
|
|
26
|
-
const footerText = sequenceId ? `${type} ${sequenceId}` : `${type}`;
|
|
24
|
+
const footerText = sequenceId ? `${type} ${sequenceId}` : `${type}`;
|
|
27
25
|
|
|
26
|
+
// eslint-disable-next-line no-unused-vars
|
|
28
27
|
return (0, _helpers.fetchImage)(logoUrl, {
|
|
29
28
|
Signature,
|
|
30
29
|
Policy,
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.defaultStyles = void 0;
|
|
7
|
-
const defaultStyles = {
|
|
7
|
+
const defaultStyles = exports.defaultStyles = {
|
|
8
8
|
horizontalLine: {
|
|
9
9
|
font: 'Gotham',
|
|
10
10
|
fontSize: 1
|
|
@@ -157,5 +157,4 @@ const defaultStyles = {
|
|
|
157
157
|
fontSize: 8,
|
|
158
158
|
margin: [10, 0, 10, 10]
|
|
159
159
|
}
|
|
160
|
-
};
|
|
161
|
-
exports.defaultStyles = defaultStyles;
|
|
160
|
+
};
|
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.buildFile = buildFile;
|
|
9
8
|
exports.buildSummaryField = buildSummaryField;
|
|
10
9
|
exports.buildTemplateFieldRow = buildTemplateFieldRow;
|
|
11
|
-
|
|
12
10
|
var _lodash = require("lodash");
|
|
13
|
-
|
|
14
11
|
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
15
|
-
|
|
16
12
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
17
|
-
|
|
18
13
|
var _helpers = require("../../../helpers");
|
|
19
|
-
|
|
20
14
|
var _images = require("../../../images");
|
|
21
|
-
|
|
22
15
|
var _ = require("../");
|
|
23
|
-
|
|
24
16
|
function buildFile({
|
|
25
17
|
file,
|
|
26
18
|
settings
|
|
@@ -39,7 +31,6 @@ function buildFile({
|
|
|
39
31
|
margin: [0, 0, 0, 10]
|
|
40
32
|
});
|
|
41
33
|
}
|
|
42
|
-
|
|
43
34
|
function buildImage(options) {
|
|
44
35
|
const {
|
|
45
36
|
alignment = 'center',
|
|
@@ -58,7 +49,6 @@ function buildImage(options) {
|
|
|
58
49
|
} = settings || {};
|
|
59
50
|
const isVideoType = new RegExp('.mp4$').test(filepath);
|
|
60
51
|
const link = `${awsS3BaseUrl}/${filepath}`;
|
|
61
|
-
|
|
62
52
|
if (isVideoType) {
|
|
63
53
|
return {
|
|
64
54
|
alignment,
|
|
@@ -67,7 +57,6 @@ function buildImage(options) {
|
|
|
67
57
|
link
|
|
68
58
|
};
|
|
69
59
|
}
|
|
70
|
-
|
|
71
60
|
const url = (0, _helpers.buildFetchUrl)(filepath, {
|
|
72
61
|
awsS3BaseUrl,
|
|
73
62
|
cloudfrontBaseUrl,
|
|
@@ -88,7 +77,6 @@ function buildImage(options) {
|
|
|
88
77
|
link
|
|
89
78
|
}));
|
|
90
79
|
}
|
|
91
|
-
|
|
92
80
|
function buildSummaryField({
|
|
93
81
|
field,
|
|
94
82
|
settings,
|
|
@@ -112,18 +100,17 @@ function buildSummaryField({
|
|
|
112
100
|
const isSwitchField = fieldtype === 'switch';
|
|
113
101
|
const isTextField = fieldtype === 'text';
|
|
114
102
|
const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a';
|
|
115
|
-
const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm';
|
|
116
|
-
// logic to catch this and return empty text for completeness
|
|
103
|
+
const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm';
|
|
117
104
|
|
|
105
|
+
// NOTE: html field is not supported for the summary fields but adding
|
|
106
|
+
// logic to catch this and return empty text for completeness
|
|
118
107
|
if (isHtmlField) {
|
|
119
108
|
return {
|
|
120
109
|
text: ''
|
|
121
110
|
};
|
|
122
111
|
}
|
|
123
|
-
|
|
124
112
|
if (isSignatureField) {
|
|
125
113
|
if (!value) return '';
|
|
126
|
-
|
|
127
114
|
if (isDataImage(value)) {
|
|
128
115
|
return {
|
|
129
116
|
alignment: 'left',
|
|
@@ -131,7 +118,6 @@ function buildSummaryField({
|
|
|
131
118
|
width: 140
|
|
132
119
|
};
|
|
133
120
|
}
|
|
134
|
-
|
|
135
121
|
return (0, _helpers.fetchImage)(value).then(base64String => {
|
|
136
122
|
return {
|
|
137
123
|
alignment: 'left',
|
|
@@ -140,17 +126,16 @@ function buildSummaryField({
|
|
|
140
126
|
};
|
|
141
127
|
});
|
|
142
128
|
}
|
|
143
|
-
|
|
144
129
|
if (isPhotoField) {
|
|
145
|
-
const filepath = (0, _lodash.first)(value);
|
|
146
|
-
// for this field
|
|
130
|
+
const filepath = (0, _lodash.first)(value);
|
|
147
131
|
|
|
132
|
+
// NOTE: if no filepath return empty text as user has not uploaded an image
|
|
133
|
+
// for this field
|
|
148
134
|
if (!filepath) {
|
|
149
135
|
return {
|
|
150
136
|
text: ''
|
|
151
137
|
};
|
|
152
138
|
}
|
|
153
|
-
|
|
154
139
|
const image = buildImage({
|
|
155
140
|
alignment: 'left',
|
|
156
141
|
filepath,
|
|
@@ -160,7 +145,6 @@ function buildSummaryField({
|
|
|
160
145
|
});
|
|
161
146
|
return image;
|
|
162
147
|
}
|
|
163
|
-
|
|
164
148
|
if (isFileField) {
|
|
165
149
|
const fileList = (0, _lodash.map)(value, file => buildFile({
|
|
166
150
|
file,
|
|
@@ -170,7 +154,6 @@ function buildSummaryField({
|
|
|
170
154
|
ol: fileList
|
|
171
155
|
};
|
|
172
156
|
}
|
|
173
|
-
|
|
174
157
|
if (isNumberField || isSelectField || isSwitchField || isTextField) {
|
|
175
158
|
const parsedValue = (0, _.parseValue)(value);
|
|
176
159
|
const displayValue = (0, _lodash.isArray)(parsedValue) ? {
|
|
@@ -182,7 +165,6 @@ function buildSummaryField({
|
|
|
182
165
|
};
|
|
183
166
|
return displayValue;
|
|
184
167
|
}
|
|
185
|
-
|
|
186
168
|
if (isReferenceField) {
|
|
187
169
|
const parsedValue = (0, _.parseValue)(value);
|
|
188
170
|
const displayValue = (0, _lodash.isArray)(parsedValue) ? {
|
|
@@ -194,25 +176,22 @@ function buildSummaryField({
|
|
|
194
176
|
};
|
|
195
177
|
return displayValue;
|
|
196
178
|
}
|
|
197
|
-
|
|
198
179
|
if (isStarField) {
|
|
199
180
|
if (!value) return '';
|
|
200
181
|
const displayValue = value === '1' ? `${value} star` : `${value} stars`;
|
|
201
182
|
return displayValue;
|
|
202
183
|
}
|
|
203
|
-
|
|
204
184
|
if (isDayFirstDateField || isMonthFirstDateField || is12HourTimeField || is24HourTimeField) {
|
|
205
185
|
const format = options.format;
|
|
206
186
|
const displayValue = (0, _momentTimezone.default)(value).tz(timezone).format(format);
|
|
207
187
|
return displayValue;
|
|
208
|
-
}
|
|
209
|
-
|
|
188
|
+
}
|
|
210
189
|
|
|
190
|
+
// NOTE: return empty text fallback value when no match
|
|
211
191
|
return {
|
|
212
192
|
text: ''
|
|
213
193
|
};
|
|
214
194
|
}
|
|
215
|
-
|
|
216
195
|
function buildTemplateFieldRow({
|
|
217
196
|
field,
|
|
218
197
|
settings,
|
|
@@ -242,24 +221,22 @@ function buildTemplateFieldRow({
|
|
|
242
221
|
const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a';
|
|
243
222
|
const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm';
|
|
244
223
|
const isDisplayImageField = fieldtype === 'image-display' && showOnRead;
|
|
245
|
-
const isReferenceField = fieldtype === 'reference';
|
|
224
|
+
const isReferenceField = fieldtype === 'reference';
|
|
246
225
|
|
|
226
|
+
// NOTE: only show field when show on read is true
|
|
247
227
|
if (!showOnRead) return null;
|
|
248
228
|
const labelText = [{
|
|
249
229
|
text: label
|
|
250
230
|
}];
|
|
251
|
-
|
|
252
231
|
if (skipped) {
|
|
253
232
|
return [labelText, [{
|
|
254
233
|
text: '-'
|
|
255
234
|
}]];
|
|
256
235
|
}
|
|
257
|
-
|
|
258
236
|
if (isHtmlField) {
|
|
259
237
|
const parsed = value.replace(/<p><\/p>/g, '');
|
|
260
238
|
return [labelText, (0, _.toPdf)(parsed)];
|
|
261
239
|
}
|
|
262
|
-
|
|
263
240
|
if (isSignatureField) {
|
|
264
241
|
if (!value) return [labelText, ''];
|
|
265
242
|
return (0, _helpers.fetchImage)(value, {
|
|
@@ -275,14 +252,12 @@ function buildTemplateFieldRow({
|
|
|
275
252
|
return [labelText, values];
|
|
276
253
|
});
|
|
277
254
|
}
|
|
278
|
-
|
|
279
255
|
if (isDisplayImageField) {
|
|
280
256
|
return _bluebird.default.map([value], filepath => buildImage({
|
|
281
257
|
filepath,
|
|
282
258
|
settings
|
|
283
259
|
})).then(fieldImages => [fieldImages, {}]);
|
|
284
260
|
}
|
|
285
|
-
|
|
286
261
|
if (isPhotoField) {
|
|
287
262
|
return _bluebird.default.map(value, filepath => buildImage({
|
|
288
263
|
filepath,
|
|
@@ -303,15 +278,15 @@ function buildTemplateFieldRow({
|
|
|
303
278
|
body: [labelText, ...tables],
|
|
304
279
|
widths: ['*']
|
|
305
280
|
}
|
|
306
|
-
};
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
// NOTE: pass empty value here as otherwise
|
|
307
284
|
// we can accidentally hide content below
|
|
308
285
|
// this row. Please see the following issue:
|
|
309
286
|
// https://github.com/bpampuch/pdfmake/issues/1598
|
|
310
|
-
|
|
311
287
|
return [imagesRow, {}];
|
|
312
288
|
});
|
|
313
289
|
}
|
|
314
|
-
|
|
315
290
|
if (isFileField) {
|
|
316
291
|
const fileList = (0, _lodash.map)(value, file => buildFile({
|
|
317
292
|
file,
|
|
@@ -321,7 +296,6 @@ function buildTemplateFieldRow({
|
|
|
321
296
|
ol: fileList
|
|
322
297
|
}];
|
|
323
298
|
}
|
|
324
|
-
|
|
325
299
|
if (isNumberField || isSelectField || isSwitchField || isTextField) {
|
|
326
300
|
const parsedValue = (0, _.parseValue)(value);
|
|
327
301
|
const displayValue = (0, _lodash.isArray)(parsedValue) ? {
|
|
@@ -331,7 +305,6 @@ function buildTemplateFieldRow({
|
|
|
331
305
|
};
|
|
332
306
|
return [labelText, displayValue];
|
|
333
307
|
}
|
|
334
|
-
|
|
335
308
|
if (isReferenceField) {
|
|
336
309
|
const parsedValue = (0, _.parseValue)(value);
|
|
337
310
|
const displayValue = (0, _lodash.isArray)(parsedValue) ? {
|
|
@@ -343,23 +316,20 @@ function buildTemplateFieldRow({
|
|
|
343
316
|
};
|
|
344
317
|
return [labelText, displayValue];
|
|
345
318
|
}
|
|
346
|
-
|
|
347
319
|
if (isStarField) {
|
|
348
320
|
if (!value) return [labelText, ''];
|
|
349
321
|
const displayValue = value === '1' ? `${value} star` : `${value} stars`;
|
|
350
322
|
return [labelText, displayValue];
|
|
351
323
|
}
|
|
352
|
-
|
|
353
324
|
if (isDayFirstDateField || isMonthFirstDateField || is12HourTimeField || is24HourTimeField) {
|
|
354
325
|
const format = options.format;
|
|
355
326
|
const displayValue = value ? (0, _momentTimezone.default)(value).tz(timezone).format(format) : '';
|
|
356
327
|
return [labelText, displayValue];
|
|
357
|
-
}
|
|
358
|
-
|
|
328
|
+
}
|
|
359
329
|
|
|
330
|
+
// NOTE: if no match above null values will be stripped within calling fn
|
|
360
331
|
return null;
|
|
361
332
|
}
|
|
362
|
-
|
|
363
333
|
function isDataImage(string) {
|
|
364
334
|
return (0, _lodash.startsWith)(string, 'data:image/png;');
|
|
365
335
|
}
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getFormattedAddress = getFormattedAddress;
|
|
7
|
-
|
|
8
7
|
var _getGeometryGeocodedString = require("../../../helpers/get-geometry-geocoded-string");
|
|
9
|
-
|
|
10
8
|
var _lodash = require("lodash");
|
|
11
|
-
|
|
12
9
|
function getFormattedAddress(reverseGeoCoded) {
|
|
13
10
|
const geometry = (0, _getGeometryGeocodedString.getGeometryGeocodedString)(reverseGeoCoded);
|
|
14
11
|
const splitGeoString = (0, _lodash.split)(geometry, ', ');
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.generateDefinition = generateDefinition;
|
|
9
|
-
|
|
10
8
|
var _lodash = require("lodash");
|
|
11
|
-
|
|
12
9
|
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
13
|
-
|
|
14
10
|
var _constants = require("../../../constants");
|
|
15
|
-
|
|
16
11
|
var _ = require("../");
|
|
17
|
-
|
|
18
12
|
function generateDefinition(options) {
|
|
19
13
|
const {
|
|
20
14
|
content,
|
|
@@ -62,27 +56,21 @@ function generateDefinition(options) {
|
|
|
62
56
|
throw new Error(`GenerateDefinitionError: ${err.message}`);
|
|
63
57
|
});
|
|
64
58
|
}
|
|
65
|
-
|
|
66
59
|
function pdfHeader(header) {
|
|
67
60
|
if ((0, _lodash.isFunction)(header)) {
|
|
68
61
|
return _bluebird.default.resolve(header());
|
|
69
62
|
}
|
|
70
|
-
|
|
71
63
|
return _bluebird.default.resolve(header);
|
|
72
64
|
}
|
|
73
|
-
|
|
74
65
|
function pdfContent(content) {
|
|
75
66
|
if ((0, _lodash.isFunction)(content)) {
|
|
76
67
|
return _bluebird.default.resolve(content());
|
|
77
68
|
}
|
|
78
|
-
|
|
79
69
|
return _bluebird.default.resolve(content);
|
|
80
70
|
}
|
|
81
|
-
|
|
82
71
|
function pdfFooter(footer) {
|
|
83
72
|
if ((0, _lodash.isFunction)(footer)) {
|
|
84
73
|
return _bluebird.default.resolve(footer());
|
|
85
74
|
}
|
|
86
|
-
|
|
87
75
|
return _bluebird.default.resolve(footer);
|
|
88
76
|
}
|
|
@@ -7,52 +7,47 @@ exports.convertToPdfMake = convertToPdfMake;
|
|
|
7
7
|
exports.getStyleAttributes = getStyleAttributes;
|
|
8
8
|
exports.parseHtml = parseHtml;
|
|
9
9
|
exports.toPdf = toPdf;
|
|
10
|
-
|
|
11
10
|
var _lodash = require("lodash");
|
|
12
|
-
|
|
13
11
|
var _reactHtmlParser = require("react-html-parser");
|
|
14
|
-
|
|
15
12
|
const LIST_KEY_MATCHER = ['ol', 'ul'];
|
|
16
|
-
const NEW_LINE_MATCHER = /.*\n.*/;
|
|
17
|
-
|
|
13
|
+
const NEW_LINE_MATCHER = /.*\n.*/;
|
|
14
|
+
// NOTE: this will remove all whitespace except spaces
|
|
18
15
|
const WHITSPACE_MATCHER = /[\t\r\n\f]/g;
|
|
19
|
-
|
|
20
16
|
function convertToPdfMake(obj) {
|
|
21
17
|
if (!(0, _lodash.isPlainObject)(obj)) {
|
|
22
18
|
return '';
|
|
23
19
|
}
|
|
24
|
-
|
|
25
20
|
const {
|
|
26
21
|
children = [],
|
|
27
22
|
data = '',
|
|
28
23
|
name = '',
|
|
29
24
|
type
|
|
30
25
|
} = obj;
|
|
31
|
-
|
|
32
26
|
if (type === 'text' && data) {
|
|
33
|
-
const trimmed = data.replace(WHITSPACE_MATCHER, '');
|
|
27
|
+
const trimmed = data.replace(WHITSPACE_MATCHER, '');
|
|
28
|
+
|
|
29
|
+
// NOTE: Originally tried to achieve this by using inline styles, however PDFMake
|
|
34
30
|
// does not support adding margins or padding when applying inline styles
|
|
35
31
|
// (bold/italics/underline). The easiest way to get around this was to add
|
|
36
32
|
// an extra space after text.
|
|
37
|
-
|
|
38
33
|
return trimmed;
|
|
39
|
-
}
|
|
40
|
-
|
|
34
|
+
}
|
|
41
35
|
|
|
36
|
+
// NOTE: Reject any children that are WYSIWYG carriage returns
|
|
42
37
|
const filtered = (0, _lodash.reject)(children, ['data', NEW_LINE_MATCHER]);
|
|
43
38
|
const parsed = (0, _lodash.compact)((0, _lodash.map)(filtered, convertToPdfMake));
|
|
44
|
-
const key = (0, _lodash.includes)(LIST_KEY_MATCHER, name) ? name : 'text';
|
|
39
|
+
const key = (0, _lodash.includes)(LIST_KEY_MATCHER, name) ? name : 'text';
|
|
40
|
+
// NOTE: If the child is an array with a single text string, we just need to return
|
|
45
41
|
// the string, so that the styles can be applied
|
|
46
|
-
|
|
47
42
|
const text = (0, _lodash.isArray)(parsed) && parsed.length === 1 && (0, _lodash.isString)(parsed[0]) ? parsed[0] : parsed;
|
|
48
43
|
const link = type === 'tag' && name === 'a' ? obj.attribs.href : undefined;
|
|
49
|
-
return {
|
|
44
|
+
return {
|
|
45
|
+
...getStyleAttributes(obj),
|
|
50
46
|
[key]: text,
|
|
51
47
|
link,
|
|
52
48
|
preserveLeadingSpaces: true
|
|
53
49
|
};
|
|
54
50
|
}
|
|
55
|
-
|
|
56
51
|
function getStyleAttributes({
|
|
57
52
|
name = ''
|
|
58
53
|
}) {
|
|
@@ -60,34 +55,27 @@ function getStyleAttributes({
|
|
|
60
55
|
if (name === 'em') result.italics = true;
|
|
61
56
|
if (name === 'ins') result.decoration = 'underline';
|
|
62
57
|
if (name === 'strong') result.bold = true;
|
|
63
|
-
|
|
64
58
|
if (name === 'a') {
|
|
65
59
|
result.decoration = 'underline';
|
|
66
60
|
result.color = 'blue';
|
|
67
61
|
}
|
|
68
|
-
|
|
69
62
|
if (!result.bold && !result.decoration && !result.italics) {
|
|
70
63
|
result.style = name;
|
|
71
64
|
}
|
|
72
|
-
|
|
73
65
|
return result;
|
|
74
66
|
}
|
|
75
|
-
|
|
76
67
|
function parseHtml(html) {
|
|
77
68
|
if ((0, _lodash.isEmpty)(html) || !(0, _lodash.isString)(html)) {
|
|
78
69
|
return '';
|
|
79
70
|
}
|
|
80
|
-
|
|
81
71
|
return _reactHtmlParser.htmlparser2.parseDOM(html, {
|
|
82
72
|
decodeEntities: true
|
|
83
73
|
});
|
|
84
74
|
}
|
|
85
|
-
|
|
86
75
|
function toPdf(htmlString) {
|
|
87
76
|
if ((0, _lodash.isEmpty)(htmlString) || !(0, _lodash.isString)(htmlString)) {
|
|
88
77
|
return [];
|
|
89
78
|
}
|
|
90
|
-
|
|
91
79
|
const arr = parseHtml(htmlString);
|
|
92
80
|
return (0, _lodash.compact)((0, _lodash.map)(arr, convertToPdfMake));
|
|
93
81
|
}
|