@lighthouse/common 4.34.0-canary-9 → 4.34.0-canary-11

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.
@@ -114,11 +114,13 @@ function generateContent(data) {
114
114
  const hours = Math.floor(momentDuration.asHours()).toString().padStart(2, '0');
115
115
  const minutes = momentDuration.minutes().toString().padStart(2, '0');
116
116
  const seconds = momentDuration.seconds().toString().padStart(2, '0');
117
- const formattedFormDuration = entity.formDuration ? `${formDuration < 0 ? '-' : ''}${hours}:${minutes}:${seconds}` : 'Not recorded';
117
+ const formattedFormDuration = entity.formDuration ? `${entity.formDuration < 0 ? '-' : ''}${hours}:${minutes}:${seconds}` : 'Not recorded';
118
118
  const formDuration = (0, _helpers.text)(`Form Duration (HH:MM:SS): ${formattedFormDuration}`, {
119
119
  style: 'small'
120
120
  });
121
- body.push([startedAt, submittedAt, formDuration]);
121
+ body.push([startedAt]);
122
+ body.push([submittedAt]);
123
+ body.push([formDuration]);
122
124
  }
123
125
 
124
126
  const titleTable = (0, _helpers.table)({
@@ -103,11 +103,13 @@ function generateContent(data) {
103
103
  var hours = Math.floor(momentDuration.asHours()).toString().padStart(2, '0');
104
104
  var minutes = momentDuration.minutes().toString().padStart(2, '0');
105
105
  var seconds = momentDuration.seconds().toString().padStart(2, '0');
106
- var formattedFormDuration = entity.formDuration ? "".concat(formDuration < 0 ? '-' : '').concat(hours, ":").concat(minutes, ":").concat(seconds) : 'Not recorded';
106
+ var formattedFormDuration = entity.formDuration ? "".concat(entity.formDuration < 0 ? '-' : '').concat(hours, ":").concat(minutes, ":").concat(seconds) : 'Not recorded';
107
107
  var formDuration = text("Form Duration (HH:MM:SS): ".concat(formattedFormDuration), {
108
108
  style: 'small'
109
109
  });
110
- body.push([startedAt, submittedAt, formDuration]);
110
+ body.push([startedAt]);
111
+ body.push([submittedAt]);
112
+ body.push([formDuration]);
111
113
  }
112
114
 
113
115
  var titleTable = table({
@@ -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('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 ? `${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, submittedAt, 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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lighthouse/common",
3
- "version": "4.34.0-canary-9",
3
+ "version": "4.34.0-canary-11",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "lib/index.js",