@lighthouse/common 4.34.0-canary-11 → 4.34.0-canary-12
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/pdf/task/index.js
CHANGED
|
@@ -100,11 +100,11 @@ function generateContent(data) {
|
|
|
100
100
|
console.log('formDurationFieldsPresent', formDurationFieldsPresent);
|
|
101
101
|
|
|
102
102
|
if (formDurationFieldsPresent) {
|
|
103
|
-
const startedAtInTimezone = entity.startedAt ? (0, _momentTimezone.default)(entity.startedAt).tz(timezone).format('
|
|
103
|
+
const startedAtInTimezone = entity.startedAt ? (0, _momentTimezone.default)(entity.startedAt).tz(timezone).format('YYYY-MM-DD HH:mm:ss z') : 'Not recorded';
|
|
104
104
|
const startedAt = (0, _helpers.text)(`Started At: ${startedAtInTimezone}`, {
|
|
105
105
|
style: 'small'
|
|
106
106
|
});
|
|
107
|
-
const submittedAtInTimezone = entity.submittedAt ? (0, _momentTimezone.default)(entity.submittedAt).tz(timezone).format('
|
|
107
|
+
const submittedAtInTimezone = entity.submittedAt ? (0, _momentTimezone.default)(entity.submittedAt).tz(timezone).format('YYYY-MM-DD HH:mm:ss z') : 'Not recorded';
|
|
108
108
|
const submittedAt = (0, _helpers.text)(`Submitted At: ${submittedAtInTimezone}`, {
|
|
109
109
|
style: 'small'
|
|
110
110
|
});
|
package/lib/pdf/task/index.js
CHANGED
|
@@ -91,11 +91,11 @@ function generateContent(data) {
|
|
|
91
91
|
console.log('formDurationFieldsPresent', formDurationFieldsPresent);
|
|
92
92
|
|
|
93
93
|
if (formDurationFieldsPresent) {
|
|
94
|
-
var startedAtInTimezone = entity.startedAt ? moment(entity.startedAt).tz(timezone).format('
|
|
94
|
+
var startedAtInTimezone = entity.startedAt ? moment(entity.startedAt).tz(timezone).format('YYYY-MM-DD HH:mm:ss z') : 'Not recorded';
|
|
95
95
|
var startedAt = text("Started At: ".concat(startedAtInTimezone), {
|
|
96
96
|
style: 'small'
|
|
97
97
|
});
|
|
98
|
-
var submittedAtInTimezone = entity.submittedAt ? moment(entity.submittedAt).tz(timezone).format('
|
|
98
|
+
var submittedAtInTimezone = entity.submittedAt ? moment(entity.submittedAt).tz(timezone).format('YYYY-MM-DD HH:mm:ss z') : 'Not recorded';
|
|
99
99
|
var submittedAt = text("Submitted At: ".concat(submittedAtInTimezone), {
|
|
100
100
|
style: 'small'
|
|
101
101
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/pdf/task/index.js"],"names":["isEmpty","buildTemplateContent","generateDefinition","getFormattedAddress","text","table","getTaskEntryDetails","moment","buildTaskPdf","pdfOptions","data","entity","timezone","sequenceId","timestamp","createdAt","title","fileTitle","generateContent","then","content","type","entry","gps","entityDetails","gpsText","locationText","referenceValue","timezoneHourTime","reverseGeocoded","subTitle","headerSubTitle","style","headerTitle","address","headerAddress","body","push","entityFields","Object","keys","console","log","formDurationFieldsPresent","some","field","includes","startedAtInTimezone","startedAt","tz","format","submittedAtInTimezone","submittedAt","momentDuration","duration","Math","abs","formDuration","hours","floor","asHours","toString","padStart","minutes","seconds","formattedFormDuration","titleTable","layout","formGroups"],"mappings":"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","sourcesContent":["import { isEmpty } from 'lodash'\nimport {\n buildTemplateContent,\n generateDefinition,\n getFormattedAddress,\n text,\n table,\n} from '../helpers'\n\nimport { getTaskEntryDetails } from '../../helpers'\nimport moment from 'moment-timezone'\n\n/**\n * buildTaskPdf\n *\n * @param {object} pdfOptions - the pdf options\n * @param {string} pdfOptions.fileTitle - pdf file title\n * @param {function} pdfOptions.footer - function executed to generate footer\n * @param {function} pdfOptions.header - function executed to generate header\n * @param {string} pdfOptions.logoUrl - pdf logo url\n * @param {array} pdfOptions.pageMargins - pdf page margins\n * @param {string} pdfOptions.pageOrientation - pdf page orientation\n * @param {string} pdfOptions.pageSize - pdf page size\n * @param {object} pdfOptions.styles - pdf styles\n * @param {object} pdfOptions.title - pdf title\n * @param {object} data - pdf data\n * @param {object} data.entity - task document\n * @param {object} data.locations - locations documents\n * @param {object} data.settings - settings properties\n * @param {string} data.settings.awsS3BaseUrl - aws S3 base url\n * @param {string} data.settings.cloudinaryBaseUrl - cloudinary base url\n * @param {string} data.timezone - timezone string\n * @param {object} data.users - application user documents\n * @param {object} data.zones - zone documents\n * @returns {Promise} returns pdfmake definition object\n */\nexport function buildTaskPdf(pdfOptions, data) {\n const { entity, timezone } = data\n\n const sequenceId = entity.sequenceId\n const timestamp = entity.createdAt\n const title = entity.title || 'Unknown'\n\n const fileTitle = `Task Report - ${title}`\n\n return generateContent(data).then(content =>\n generateDefinition({\n content,\n fileTitle,\n sequenceId,\n timestamp,\n timezone,\n type: 'Task',\n ...pdfOptions,\n })\n )\n}\n\nfunction generateContent(data) {\n const { entity, timezone } = data\n\n const { entry, gps = {}, title } = entity\n\n const entityDetails = getTaskEntryDetails(data)\n\n const {\n gpsText,\n locationText,\n referenceValue,\n timezoneHourTime,\n } = entityDetails\n\n const reverseGeocoded = gps.reverseGeocoded\n\n const subTitle = `${locationText ||\n gpsText} - ${timezoneHourTime} by ${referenceValue}`\n const headerSubTitle = text(subTitle, { style: 'subTitle' })\n const headerTitle = text(title, { style: 'title' })\n const address = !isEmpty(reverseGeocoded)\n ? getFormattedAddress(reverseGeocoded)\n : ''\n const headerAddress = text(address, { style: 'small' })\n\n const body = [[headerTitle], [headerSubTitle]]\n\n if (!isEmpty(reverseGeocoded)) {\n body.push([headerAddress])\n }\n\n const entityFields = Object.keys(entity)\n console.log('entityFields', entityFields)\n\n const formDurationFieldsPresent = [\n 'formDuration',\n 'startedAt',\n 'submittedAt',\n ].some(field => entityFields.includes(field))\n\n console.log('formDurationFieldsPresent', formDurationFieldsPresent)\n\n if (formDurationFieldsPresent) {\n const startedAtInTimezone = entity.startedAt\n ? moment(entity.startedAt)\n .tz(timezone)\n .format('
|
|
1
|
+
{"version":3,"sources":["../../../src/pdf/task/index.js"],"names":["isEmpty","buildTemplateContent","generateDefinition","getFormattedAddress","text","table","getTaskEntryDetails","moment","buildTaskPdf","pdfOptions","data","entity","timezone","sequenceId","timestamp","createdAt","title","fileTitle","generateContent","then","content","type","entry","gps","entityDetails","gpsText","locationText","referenceValue","timezoneHourTime","reverseGeocoded","subTitle","headerSubTitle","style","headerTitle","address","headerAddress","body","push","entityFields","Object","keys","console","log","formDurationFieldsPresent","some","field","includes","startedAtInTimezone","startedAt","tz","format","submittedAtInTimezone","submittedAt","momentDuration","duration","Math","abs","formDuration","hours","floor","asHours","toString","padStart","minutes","seconds","formattedFormDuration","titleTable","layout","formGroups"],"mappings":"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","sourcesContent":["import { isEmpty } from 'lodash'\nimport {\n buildTemplateContent,\n generateDefinition,\n getFormattedAddress,\n text,\n table,\n} from '../helpers'\n\nimport { getTaskEntryDetails } from '../../helpers'\nimport moment from 'moment-timezone'\n\n/**\n * buildTaskPdf\n *\n * @param {object} pdfOptions - the pdf options\n * @param {string} pdfOptions.fileTitle - pdf file title\n * @param {function} pdfOptions.footer - function executed to generate footer\n * @param {function} pdfOptions.header - function executed to generate header\n * @param {string} pdfOptions.logoUrl - pdf logo url\n * @param {array} pdfOptions.pageMargins - pdf page margins\n * @param {string} pdfOptions.pageOrientation - pdf page orientation\n * @param {string} pdfOptions.pageSize - pdf page size\n * @param {object} pdfOptions.styles - pdf styles\n * @param {object} pdfOptions.title - pdf title\n * @param {object} data - pdf data\n * @param {object} data.entity - task document\n * @param {object} data.locations - locations documents\n * @param {object} data.settings - settings properties\n * @param {string} data.settings.awsS3BaseUrl - aws S3 base url\n * @param {string} data.settings.cloudinaryBaseUrl - cloudinary base url\n * @param {string} data.timezone - timezone string\n * @param {object} data.users - application user documents\n * @param {object} data.zones - zone documents\n * @returns {Promise} returns pdfmake definition object\n */\nexport function buildTaskPdf(pdfOptions, data) {\n const { entity, timezone } = data\n\n const sequenceId = entity.sequenceId\n const timestamp = entity.createdAt\n const title = entity.title || 'Unknown'\n\n const fileTitle = `Task Report - ${title}`\n\n return generateContent(data).then(content =>\n generateDefinition({\n content,\n fileTitle,\n sequenceId,\n timestamp,\n timezone,\n type: 'Task',\n ...pdfOptions,\n })\n )\n}\n\nfunction generateContent(data) {\n const { entity, timezone } = data\n\n const { entry, gps = {}, title } = entity\n\n const entityDetails = getTaskEntryDetails(data)\n\n const {\n gpsText,\n locationText,\n referenceValue,\n timezoneHourTime,\n } = entityDetails\n\n const reverseGeocoded = gps.reverseGeocoded\n\n const subTitle = `${locationText ||\n gpsText} - ${timezoneHourTime} by ${referenceValue}`\n const headerSubTitle = text(subTitle, { style: 'subTitle' })\n const headerTitle = text(title, { style: 'title' })\n const address = !isEmpty(reverseGeocoded)\n ? getFormattedAddress(reverseGeocoded)\n : ''\n const headerAddress = text(address, { style: 'small' })\n\n const body = [[headerTitle], [headerSubTitle]]\n\n if (!isEmpty(reverseGeocoded)) {\n body.push([headerAddress])\n }\n\n const entityFields = Object.keys(entity)\n console.log('entityFields', entityFields)\n\n const formDurationFieldsPresent = [\n 'formDuration',\n 'startedAt',\n 'submittedAt',\n ].some(field => entityFields.includes(field))\n\n console.log('formDurationFieldsPresent', formDurationFieldsPresent)\n\n if (formDurationFieldsPresent) {\n const startedAtInTimezone = entity.startedAt\n ? moment(entity.startedAt)\n .tz(timezone)\n .format('YYYY-MM-DD HH:mm:ss z')\n : 'Not recorded'\n const startedAt = text(`Started At: ${startedAtInTimezone}`, {\n style: 'small',\n })\n\n const submittedAtInTimezone = entity.submittedAt\n ? moment(entity.submittedAt)\n .tz(timezone)\n .format('YYYY-MM-DD HH:mm:ss z')\n : 'Not recorded'\n const submittedAt = text(`Submitted At: ${submittedAtInTimezone}`, {\n style: 'small',\n })\n\n const momentDuration = moment.duration(Math.abs(entity.formDuration))\n const hours = Math.floor(momentDuration.asHours())\n .toString()\n .padStart(2, '0')\n const minutes = momentDuration\n .minutes()\n .toString()\n .padStart(2, '0')\n const seconds = momentDuration\n .seconds()\n .toString()\n .padStart(2, '0')\n const formattedFormDuration = entity.formDuration\n ? `${entity.formDuration < 0 ? '-' : ''}${hours}:${minutes}:${seconds}`\n : 'Not recorded'\n const formDuration = text(\n `Form Duration (HH:MM:SS): ${formattedFormDuration}`,\n {\n style: 'small',\n }\n )\n\n body.push([startedAt])\n body.push([submittedAt])\n body.push([formDuration])\n }\n\n const titleTable = table({\n body,\n layout: 'noBorders',\n style: 'titleTable',\n })\n\n return buildTemplateContent(entry.formGroups, data).then(entry => [\n titleTable,\n ...entry,\n ])\n}\n"],"file":"index.js"}
|