@lighthouse/common 4.25.0 → 4.25.1-canary.1464
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,16 @@ function buildTemplateFieldRow({
|
|
|
319
320
|
return [labelText, displayValue];
|
|
320
321
|
}
|
|
321
322
|
|
|
323
|
+
if (isReferenceField) {
|
|
324
|
+
const parsedValue = (0, _.parseValue)(value.label);
|
|
325
|
+
const displayValue = (0, _lodash.isArray)(parsedValue) ? {
|
|
326
|
+
text: (0, _lodash.join)(parsedValue, ', ')
|
|
327
|
+
} : {
|
|
328
|
+
text: parsedValue
|
|
329
|
+
};
|
|
330
|
+
return [labelText, displayValue];
|
|
331
|
+
}
|
|
332
|
+
|
|
322
333
|
if (isStarField) {
|
|
323
334
|
if (!value) return [labelText, ''];
|
|
324
335
|
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,32 @@ export function buildTemplateFieldRow(_ref3) {
|
|
|
323
324
|
return [labelText, displayValue];
|
|
324
325
|
}
|
|
325
326
|
|
|
327
|
+
if (isReferenceField) {
|
|
328
|
+
var _parsedValue = parseValue(value.label);
|
|
329
|
+
|
|
330
|
+
var _displayValue3 = isArray(_parsedValue) ? {
|
|
331
|
+
text: join(_parsedValue, ', ')
|
|
332
|
+
} : {
|
|
333
|
+
text: _parsedValue
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
return [labelText, _displayValue3];
|
|
337
|
+
}
|
|
338
|
+
|
|
326
339
|
if (isStarField) {
|
|
327
340
|
if (!value) return [labelText, ''];
|
|
328
341
|
|
|
329
|
-
var
|
|
342
|
+
var _displayValue4 = value === '1' ? "".concat(value, " star") : "".concat(value, " stars");
|
|
330
343
|
|
|
331
|
-
return [labelText,
|
|
344
|
+
return [labelText, _displayValue4];
|
|
332
345
|
}
|
|
333
346
|
|
|
334
347
|
if (isDayFirstDateField || isMonthFirstDateField || is12HourTimeField || is24HourTimeField) {
|
|
335
348
|
var format = options.format;
|
|
336
349
|
|
|
337
|
-
var
|
|
350
|
+
var _displayValue5 = value ? moment(value).tz(timezone).format(format) : '';
|
|
338
351
|
|
|
339
|
-
return [labelText,
|
|
352
|
+
return [labelText, _displayValue5];
|
|
340
353
|
} // NOTE: if no match above null values will be stripped within calling fn
|
|
341
354
|
|
|
342
355
|
|
|
@@ -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","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.label)\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"}
|