@lighthouse/common 4.25.0 → 4.25.1-canary.114.1470
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.
|
@@ -229,7 +229,8 @@ function buildTemplateFieldRow({
|
|
|
229
229
|
const isTextField = fieldtype === 'text';
|
|
230
230
|
const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a';
|
|
231
231
|
const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm';
|
|
232
|
-
const isDisplayImageField = fieldtype === 'image-display' && showOnRead;
|
|
232
|
+
const isDisplayImageField = fieldtype === 'image-display' && showOnRead;
|
|
233
|
+
const isReferenceField = fieldtype === 'reference'; // NOTE: only show field when show on read is true
|
|
233
234
|
|
|
234
235
|
if (!showOnRead) return null;
|
|
235
236
|
const labelText = [{
|
|
@@ -319,6 +320,19 @@ function buildTemplateFieldRow({
|
|
|
319
320
|
return [labelText, displayValue];
|
|
320
321
|
}
|
|
321
322
|
|
|
323
|
+
if (isReferenceField) {
|
|
324
|
+
const parsedValue = (0, _.parseValue)(value);
|
|
325
|
+
console.log({
|
|
326
|
+
parsedValue
|
|
327
|
+
});
|
|
328
|
+
const displayValue = (0, _lodash.isArray)(parsedValue) ? {
|
|
329
|
+
text: value.map(val => val.label).join(', ')
|
|
330
|
+
} : {
|
|
331
|
+
text: parsedValue.label
|
|
332
|
+
};
|
|
333
|
+
return [labelText, displayValue];
|
|
334
|
+
}
|
|
335
|
+
|
|
322
336
|
if (isStarField) {
|
|
323
337
|
if (!value) return [labelText, ''];
|
|
324
338
|
const displayValue = value === '1' ? `${value} star` : `${value} stars`;
|
|
@@ -211,7 +211,8 @@ export function buildTemplateFieldRow(_ref3) {
|
|
|
211
211
|
var isTextField = fieldtype === 'text';
|
|
212
212
|
var is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a';
|
|
213
213
|
var is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm';
|
|
214
|
-
var isDisplayImageField = fieldtype === 'image-display' && showOnRead;
|
|
214
|
+
var isDisplayImageField = fieldtype === 'image-display' && showOnRead;
|
|
215
|
+
var isReferenceField = fieldtype === 'reference'; // NOTE: only show field when show on read is true
|
|
215
216
|
|
|
216
217
|
if (!showOnRead) return null;
|
|
217
218
|
var labelText = [{
|
|
@@ -323,20 +324,38 @@ export function buildTemplateFieldRow(_ref3) {
|
|
|
323
324
|
return [labelText, displayValue];
|
|
324
325
|
}
|
|
325
326
|
|
|
327
|
+
if (isReferenceField) {
|
|
328
|
+
var _parsedValue = parseValue(value);
|
|
329
|
+
|
|
330
|
+
console.log({
|
|
331
|
+
parsedValue: _parsedValue
|
|
332
|
+
});
|
|
333
|
+
|
|
334
|
+
var _displayValue3 = isArray(_parsedValue) ? {
|
|
335
|
+
text: value.map(function (val) {
|
|
336
|
+
return val.label;
|
|
337
|
+
}).join(', ')
|
|
338
|
+
} : {
|
|
339
|
+
text: _parsedValue.label
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
return [labelText, _displayValue3];
|
|
343
|
+
}
|
|
344
|
+
|
|
326
345
|
if (isStarField) {
|
|
327
346
|
if (!value) return [labelText, ''];
|
|
328
347
|
|
|
329
|
-
var
|
|
348
|
+
var _displayValue4 = value === '1' ? "".concat(value, " star") : "".concat(value, " stars");
|
|
330
349
|
|
|
331
|
-
return [labelText,
|
|
350
|
+
return [labelText, _displayValue4];
|
|
332
351
|
}
|
|
333
352
|
|
|
334
353
|
if (isDayFirstDateField || isMonthFirstDateField || is12HourTimeField || is24HourTimeField) {
|
|
335
354
|
var format = options.format;
|
|
336
355
|
|
|
337
|
-
var
|
|
356
|
+
var _displayValue5 = value ? moment(value).tz(timezone).format(format) : '';
|
|
338
357
|
|
|
339
|
-
return [labelText,
|
|
358
|
+
return [labelText, _displayValue5];
|
|
340
359
|
} // NOTE: if no match above null values will be stripped within calling fn
|
|
341
360
|
|
|
342
361
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/pdf/helpers/fields/index.js"],"names":["isArray","isEmpty","join","first","map","startsWith","Promise","moment","buildFetchUrl","fetchImage","imageNotFound","videoIcon","imageTables","parseValue","text","toPdf","buildFile","file","settings","extension","name","path","awsS3BaseUrl","link","margin","buildImage","options","alignment","filepath","height","width","cloudinaryBaseUrl","isVideoType","RegExp","test","fit","image","url","quality","then","base64String","catch","buildSummaryField","field","timezone","fieldtype","value","isDayFirstDateField","format","isMonthFirstDateField","isFileField","isHtmlField","type","isNumberField","isPhotoField","isSelectField","isSignatureField","isStarField","isSwitchField","isTextField","is12HourTimeField","is24HourTimeField","isDataImage","fileList","ol","parsedValue","displayValue","fontSize","tz","buildTemplateFieldRow","skipped","label","showOnRead","isDisplayImageField","labelText","parsed","replace","values","fieldImages","tables","imagesRow","colSpan","layout","hLineWidth","paddingLeft","paddingRight","paddingTop","paddingBottom","vLineWidth","table","body","widths","string"],"mappings":"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","sourcesContent":["import { isArray, isEmpty, join, first, map, startsWith } from 'lodash'\nimport Promise from 'bluebird'\nimport moment from 'moment-timezone'\n\nimport { buildFetchUrl, fetchImage } from '../../../helpers'\nimport { imageNotFound, videoIcon } from '../../../images'\nimport { imageTables, parseValue, text, toPdf } from '../'\n\nexport function buildFile({ file, settings }) {\n const { extension, name, path } = file\n const { awsS3BaseUrl } = settings\n\n const link = `${awsS3BaseUrl}/${path}`\n return text(`${name}.${extension}`, { link, margin: [0, 0, 0, 10] })\n}\n\nfunction buildImage(options) {\n const {\n alignment = 'center',\n filepath,\n height = 210,\n settings,\n width = 210,\n } = options\n const { awsS3BaseUrl, cloudinaryBaseUrl } = settings\n\n const isVideoType = new RegExp('.mp4$').test(filepath)\n const link = `${awsS3BaseUrl}/${filepath}`\n\n if (isVideoType) {\n return {\n alignment,\n fit: [width, height],\n image: videoIcon,\n link,\n }\n }\n\n const url = buildFetchUrl(filepath, {\n awsS3BaseUrl,\n cloudinaryBaseUrl,\n fit: true,\n height: 400,\n width: 600,\n quality: 50,\n })\n\n return fetchImage(url)\n .then(base64String => ({\n alignment,\n fit: [width, height],\n image: base64String,\n link,\n }))\n .catch(() => ({\n alignment,\n fit: [width, height],\n image: imageNotFound,\n }))\n}\n\nexport function buildSummaryField({ field, settings, timezone }) {\n const { fieldtype, options = {}, value } = field\n\n const isDayFirstDateField =\n fieldtype === 'date' && options.format === 'DD/MM/YY'\n const isMonthFirstDateField =\n fieldtype === 'date' && options.format === 'MM/DD/YY'\n const isFileField = fieldtype === 'file'\n const isHtmlField = fieldtype === 'text' && options.type === 'html'\n const isNumberField = fieldtype === 'number'\n const isPhotoField = fieldtype === 'list' && options.type === 'media'\n const isSelectField = fieldtype === 'select' && options.type !== 'stars'\n const isSignatureField = fieldtype === 'text' && options.type === 'signature'\n const isStarField = fieldtype === 'select' && options.type === 'stars'\n const isSwitchField = fieldtype === 'switch'\n const isTextField = fieldtype === 'text'\n const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a'\n const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm'\n\n // NOTE: html field is not supported for the summary fields but adding\n // logic to catch this and return empty text for completeness\n if (isHtmlField) {\n return { text: '' }\n }\n\n if (isSignatureField) {\n if (!value) return ''\n\n if (isDataImage(value)) {\n return { alignment: 'left', image: value, width: 140 }\n }\n\n return fetchImage(value)\n .then(base64String => {\n return {\n alignment: 'left',\n image: base64String,\n width: 140,\n }\n })\n .catch(() => {\n return {\n alignment: 'left',\n image: imageNotFound,\n width: 140,\n }\n })\n }\n\n if (isPhotoField) {\n const filepath = first(value)\n\n // NOTE: if no filepath return empty text as user has not uploaded an image\n // for this field\n if (!filepath) {\n return { text: '' }\n }\n\n const image = buildImage({\n alignment: 'left',\n filepath,\n height: 140,\n width: 140,\n settings,\n })\n\n return image\n }\n\n if (isFileField) {\n const fileList = map(value, file => buildFile({ file, settings }))\n return { ol: fileList }\n }\n\n if (isNumberField || isSelectField || isSwitchField || isTextField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? { text: join(parsedValue, ', '), fontSize: 7 }\n : { text: parsedValue, fontSize: 7 }\n\n return displayValue\n }\n\n if (isStarField) {\n if (!value) return ''\n const displayValue = value === '1' ? `${value} star` : `${value} stars`\n return displayValue\n }\n\n if (\n isDayFirstDateField ||\n isMonthFirstDateField ||\n is12HourTimeField ||\n is24HourTimeField\n ) {\n const format = options.format\n const displayValue = moment(value)\n .tz(timezone)\n .format(format)\n\n return displayValue\n }\n\n // NOTE: return empty text fallback value when no match\n return { text: '' }\n}\n\nexport function buildTemplateFieldRow({ field, settings, timezone, skipped }) {\n const { fieldtype, label, options = {}, value } = field\n const { showOnRead = true } = options\n\n const isDayFirstDateField =\n fieldtype === 'date' && options.format === 'DD/MM/YY'\n const isMonthFirstDateField =\n fieldtype === 'date' && options.format === 'MM/DD/YY'\n const isFileField = fieldtype === 'file'\n const isHtmlField = fieldtype === 'text' && options.type === 'html'\n const isNumberField = fieldtype === 'number'\n const isPhotoField = fieldtype === 'list' && options.type === 'media'\n const isSelectField = fieldtype === 'select' && options.type !== 'stars'\n const isSignatureField = fieldtype === 'text' && options.type === 'signature'\n const isStarField = fieldtype === 'select' && options.type === 'stars'\n const isSwitchField = fieldtype === 'switch'\n const isTextField = fieldtype === 'text'\n const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a'\n const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm'\n const isDisplayImageField = fieldtype === 'image-display' && showOnRead\n\n // NOTE: only show field when show on read is true\n if (!showOnRead) return null\n\n const labelText = [{ text: label }]\n\n if (skipped) {\n return [labelText, [{ text: '-' }]]\n }\n\n if (isHtmlField) {\n const parsed = value.replace(/<p><\\/p>/g, '')\n return [labelText, toPdf(parsed)]\n }\n\n if (isSignatureField) {\n if (!value) return [labelText, '']\n\n return fetchImage(value)\n .then(base64String => {\n const values = {\n alignment: 'left',\n image: base64String,\n width: 140,\n }\n return [labelText, values]\n })\n .catch(() => [\n labelText,\n {\n alignment: 'left',\n image: imageNotFound,\n width: 140,\n },\n ])\n }\n\n if (isDisplayImageField) {\n return Promise.map([value], filepath =>\n buildImage({ filepath, settings })\n ).then(fieldImages => [fieldImages, {}])\n }\n\n if (isPhotoField) {\n return Promise.map(value, filepath =>\n buildImage({ filepath, settings })\n ).then(fieldImages => {\n const tables = !isEmpty(fieldImages) ? imageTables(fieldImages) : []\n\n const imagesRow = {\n colSpan: 2,\n layout: {\n hLineWidth: () => 0,\n paddingLeft: () => 0,\n paddingRight: () => 0,\n paddingTop: () => 0,\n paddingBottom: () => 0,\n vLineWidth: () => 0,\n },\n table: {\n body: [labelText, ...tables],\n widths: ['*'],\n },\n }\n\n // NOTE: pass empty value here as otherwise\n // we can accidentally hide content below\n // this row. Please see the following issue:\n // https://github.com/bpampuch/pdfmake/issues/1598\n return [imagesRow, {}]\n })\n }\n\n if (isFileField) {\n const fileList = map(value, file => buildFile({ file, settings }))\n return [labelText, { ol: fileList }]\n }\n\n if (isNumberField || isSelectField || isSwitchField || isTextField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? { text: join(parsedValue, ', ') }\n : { text: parsedValue }\n\n return [labelText, displayValue]\n }\n\n if (isStarField) {\n if (!value) return [labelText, '']\n const displayValue = value === '1' ? `${value} star` : `${value} stars`\n return [labelText, displayValue]\n }\n\n if (\n isDayFirstDateField ||\n isMonthFirstDateField ||\n is12HourTimeField ||\n is24HourTimeField\n ) {\n const format = options.format\n const displayValue = value\n ? moment(value)\n .tz(timezone)\n .format(format)\n : ''\n\n return [labelText, displayValue]\n }\n\n // NOTE: if no match above null values will be stripped within calling fn\n return null\n}\n\nfunction isDataImage(string) {\n return startsWith(string, 'data:image/png;')\n}\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/pdf/helpers/fields/index.js"],"names":["isArray","isEmpty","join","first","map","startsWith","Promise","moment","buildFetchUrl","fetchImage","imageNotFound","videoIcon","imageTables","parseValue","text","toPdf","buildFile","file","settings","extension","name","path","awsS3BaseUrl","link","margin","buildImage","options","alignment","filepath","height","width","cloudinaryBaseUrl","isVideoType","RegExp","test","fit","image","url","quality","then","base64String","catch","buildSummaryField","field","timezone","fieldtype","value","isDayFirstDateField","format","isMonthFirstDateField","isFileField","isHtmlField","type","isNumberField","isPhotoField","isSelectField","isSignatureField","isStarField","isSwitchField","isTextField","is12HourTimeField","is24HourTimeField","isDataImage","fileList","ol","parsedValue","displayValue","fontSize","tz","buildTemplateFieldRow","skipped","label","showOnRead","isDisplayImageField","isReferenceField","labelText","parsed","replace","values","fieldImages","tables","imagesRow","colSpan","layout","hLineWidth","paddingLeft","paddingRight","paddingTop","paddingBottom","vLineWidth","table","body","widths","console","log","val","string"],"mappings":"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","sourcesContent":["import { isArray, isEmpty, join, first, map, startsWith } from 'lodash'\nimport Promise from 'bluebird'\nimport moment from 'moment-timezone'\n\nimport { buildFetchUrl, fetchImage } from '../../../helpers'\nimport { imageNotFound, videoIcon } from '../../../images'\nimport { imageTables, parseValue, text, toPdf } from '../'\n\nexport function buildFile({ file, settings }) {\n const { extension, name, path } = file\n const { awsS3BaseUrl } = settings\n\n const link = `${awsS3BaseUrl}/${path}`\n return text(`${name}.${extension}`, { link, margin: [0, 0, 0, 10] })\n}\n\nfunction buildImage(options) {\n const {\n alignment = 'center',\n filepath,\n height = 210,\n settings,\n width = 210,\n } = options\n const { awsS3BaseUrl, cloudinaryBaseUrl } = settings\n\n const isVideoType = new RegExp('.mp4$').test(filepath)\n const link = `${awsS3BaseUrl}/${filepath}`\n\n if (isVideoType) {\n return {\n alignment,\n fit: [width, height],\n image: videoIcon,\n link,\n }\n }\n\n const url = buildFetchUrl(filepath, {\n awsS3BaseUrl,\n cloudinaryBaseUrl,\n fit: true,\n height: 400,\n width: 600,\n quality: 50,\n })\n\n return fetchImage(url)\n .then(base64String => ({\n alignment,\n fit: [width, height],\n image: base64String,\n link,\n }))\n .catch(() => ({\n alignment,\n fit: [width, height],\n image: imageNotFound,\n }))\n}\n\nexport function buildSummaryField({ field, settings, timezone }) {\n const { fieldtype, options = {}, value } = field\n\n const isDayFirstDateField =\n fieldtype === 'date' && options.format === 'DD/MM/YY'\n const isMonthFirstDateField =\n fieldtype === 'date' && options.format === 'MM/DD/YY'\n const isFileField = fieldtype === 'file'\n const isHtmlField = fieldtype === 'text' && options.type === 'html'\n const isNumberField = fieldtype === 'number'\n const isPhotoField = fieldtype === 'list' && options.type === 'media'\n const isSelectField = fieldtype === 'select' && options.type !== 'stars'\n const isSignatureField = fieldtype === 'text' && options.type === 'signature'\n const isStarField = fieldtype === 'select' && options.type === 'stars'\n const isSwitchField = fieldtype === 'switch'\n const isTextField = fieldtype === 'text'\n const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a'\n const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm'\n\n // NOTE: html field is not supported for the summary fields but adding\n // logic to catch this and return empty text for completeness\n if (isHtmlField) {\n return { text: '' }\n }\n\n if (isSignatureField) {\n if (!value) return ''\n\n if (isDataImage(value)) {\n return { alignment: 'left', image: value, width: 140 }\n }\n\n return fetchImage(value)\n .then(base64String => {\n return {\n alignment: 'left',\n image: base64String,\n width: 140,\n }\n })\n .catch(() => {\n return {\n alignment: 'left',\n image: imageNotFound,\n width: 140,\n }\n })\n }\n\n if (isPhotoField) {\n const filepath = first(value)\n\n // NOTE: if no filepath return empty text as user has not uploaded an image\n // for this field\n if (!filepath) {\n return { text: '' }\n }\n\n const image = buildImage({\n alignment: 'left',\n filepath,\n height: 140,\n width: 140,\n settings,\n })\n\n return image\n }\n\n if (isFileField) {\n const fileList = map(value, file => buildFile({ file, settings }))\n return { ol: fileList }\n }\n\n if (isNumberField || isSelectField || isSwitchField || isTextField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? { text: join(parsedValue, ', '), fontSize: 7 }\n : { text: parsedValue, fontSize: 7 }\n\n return displayValue\n }\n\n if (isStarField) {\n if (!value) return ''\n const displayValue = value === '1' ? `${value} star` : `${value} stars`\n return displayValue\n }\n\n if (\n isDayFirstDateField ||\n isMonthFirstDateField ||\n is12HourTimeField ||\n is24HourTimeField\n ) {\n const format = options.format\n const displayValue = moment(value)\n .tz(timezone)\n .format(format)\n\n return displayValue\n }\n\n // NOTE: return empty text fallback value when no match\n return { text: '' }\n}\n\nexport function buildTemplateFieldRow({ field, settings, timezone, skipped }) {\n const { fieldtype, label, options = {}, value } = field\n const { showOnRead = true } = options\n\n const isDayFirstDateField =\n fieldtype === 'date' && options.format === 'DD/MM/YY'\n const isMonthFirstDateField =\n fieldtype === 'date' && options.format === 'MM/DD/YY'\n const isFileField = fieldtype === 'file'\n const isHtmlField = fieldtype === 'text' && options.type === 'html'\n const isNumberField = fieldtype === 'number'\n const isPhotoField = fieldtype === 'list' && options.type === 'media'\n const isSelectField = fieldtype === 'select' && options.type !== 'stars'\n const isSignatureField = fieldtype === 'text' && options.type === 'signature'\n const isStarField = fieldtype === 'select' && options.type === 'stars'\n const isSwitchField = fieldtype === 'switch'\n const isTextField = fieldtype === 'text'\n const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a'\n const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm'\n const isDisplayImageField = fieldtype === 'image-display' && showOnRead\n const isReferenceField = fieldtype === 'reference'\n\n // NOTE: only show field when show on read is true\n if (!showOnRead) return null\n\n const labelText = [{ text: label }]\n\n if (skipped) {\n return [labelText, [{ text: '-' }]]\n }\n\n if (isHtmlField) {\n const parsed = value.replace(/<p><\\/p>/g, '')\n return [labelText, toPdf(parsed)]\n }\n\n if (isSignatureField) {\n if (!value) return [labelText, '']\n\n return fetchImage(value)\n .then(base64String => {\n const values = {\n alignment: 'left',\n image: base64String,\n width: 140,\n }\n return [labelText, values]\n })\n .catch(() => [\n labelText,\n {\n alignment: 'left',\n image: imageNotFound,\n width: 140,\n },\n ])\n }\n\n if (isDisplayImageField) {\n return Promise.map([value], filepath =>\n buildImage({ filepath, settings })\n ).then(fieldImages => [fieldImages, {}])\n }\n\n if (isPhotoField) {\n return Promise.map(value, filepath =>\n buildImage({ filepath, settings })\n ).then(fieldImages => {\n const tables = !isEmpty(fieldImages) ? imageTables(fieldImages) : []\n\n const imagesRow = {\n colSpan: 2,\n layout: {\n hLineWidth: () => 0,\n paddingLeft: () => 0,\n paddingRight: () => 0,\n paddingTop: () => 0,\n paddingBottom: () => 0,\n vLineWidth: () => 0,\n },\n table: {\n body: [labelText, ...tables],\n widths: ['*'],\n },\n }\n\n // NOTE: pass empty value here as otherwise\n // we can accidentally hide content below\n // this row. Please see the following issue:\n // https://github.com/bpampuch/pdfmake/issues/1598\n return [imagesRow, {}]\n })\n }\n\n if (isFileField) {\n const fileList = map(value, file => buildFile({ file, settings }))\n return [labelText, { ol: fileList }]\n }\n\n if (isNumberField || isSelectField || isSwitchField || isTextField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? { text: join(parsedValue, ', ') }\n : { text: parsedValue }\n\n return [labelText, displayValue]\n }\n\n if (isReferenceField) {\n const parsedValue = parseValue(value)\n console.log({ parsedValue })\n const displayValue = isArray(parsedValue)\n ? { text: value.map(val => val.label).join(', ') }\n : { text: parsedValue.label }\n\n return [labelText, displayValue]\n }\n\n if (isStarField) {\n if (!value) return [labelText, '']\n const displayValue = value === '1' ? `${value} star` : `${value} stars`\n return [labelText, displayValue]\n }\n\n if (\n isDayFirstDateField ||\n isMonthFirstDateField ||\n is12HourTimeField ||\n is24HourTimeField\n ) {\n const format = options.format\n const displayValue = value\n ? moment(value)\n .tz(timezone)\n .format(format)\n : ''\n\n return [labelText, displayValue]\n }\n\n // NOTE: if no match above null values will be stripped within calling fn\n return null\n}\n\nfunction isDataImage(string) {\n return startsWith(string, 'data:image/png;')\n}\n"],"file":"index.js"}
|