Reports allow you to export your record data in easily-readable formats, like PDFs. You can read more about creating custom PDF reports here.
This endpoint can be helpful if you need to update multiple CSS classes across several reports, or if you want to move reports from one app to another.
You can find which reports are associated with which forms by using the forms endpoints or by adding the query parameter ?form_id={your_form_id}
to the Get All Reports endpoints.
Properties
Property | Type | Required | Readonly | Description |
---|---|---|---|---|
name | string | yes | no | The name of the report template. |
description | string | no | no | A brief description of the report template. |
body | string | yes | no | The body content of the report template. |
header | string | yes | no | The header content of the report template. |
filename_pattern | string | no | no | The pattern for the report's filename. |
footer | string | yes | no | The footer content of the report template. |
styles | string | yes | no | The styles applied to the report template. |
script | string | yes | no | The script used in the report template. |
status | string | yes | no | The status of the report template (e.g., active). |
type | string | yes | no | The type of the report template (e.g., advanced). |
id | string | no | yes | The unique identifier for the report template. |
created_at | string | no | yes | Timestamp when the report template was created. |
updated_at | string | no | yes | Timestamp when the report template was last updated. |
created_by | string | no | yes | The name of the user who created the report template. |
created_by_id | string | no | yes | The ID of the user who created the report template. |
updated_by | string | no | yes | The name of the user who last updated the report template. |
updated_by_id | string | no | yes | The ID of the user who last updated the report template. |
Config Properties
Property | Type | Required | Readonly | Description |
---|---|---|---|---|
size | string | yes | no | The size of the report (e.g., Letter). |
landscape | boolean | yes | no | Whether the report is in landscape orientation. |
margin_top | number | yes | no | The top margin of the report. |
margin_right | number | yes | no | The right margin of the report. |
margin_bottom | number | yes | no | The bottom margin of the report. |
margin_left | number | yes | no | The left margin of the report. |
output | string | yes | no | The output format of the report (e.g., pdf). |
hidden_fields | array | no | no | The list of fields to be hidden in the report. |
field.empty_value | string | no | no | The value to display for empty fields. |
header.enabled | boolean | yes | no | Whether the header is enabled. |
header.form.name | boolean | yes | no | Whether the form name is included in the header. |
header.record.id | boolean | yes | no | Whether the record ID is included in the header. |
footer.enabled | boolean | yes | no | Whether the footer is enabled. |
footer.timestamp | boolean | yes | no | Whether the timestamp is included in the footer. |
footer.organization_image | boolean | yes | no | Whether the organization image is included in the footer. |
footer.organization_info | boolean | yes | no | Whether the organization info is included in the footer. |
footer.page_number | boolean | yes | no | Whether the page number is included in the footer. |
cover_page.enabled | boolean | yes | no | Whether the cover page is enabled. |
cover_page.form.name | boolean | yes | no | Whether the form name is included on the cover page. |
cover_page.form.description | boolean | yes | no | Whether the form description is included on the cover page. |
cover_page.form.image | boolean | yes | no | Whether the form image is included on the cover page. |
cover_page.title | boolean | yes | no | Whether the cover page title is included. |
cover_page.timestamp | boolean | yes | no | Whether the timestamp is included on the cover page. |
cover_page.image.enabled | boolean | yes | no | Whether images are enabled on the cover page. |
cover_page.image.caption | boolean | yes | no | Whether captions are included for images on the cover page. |
cover_page.map.enabled | boolean | yes | no | Whether maps are enabled on the cover page. |
cover_page.map.repeatables | boolean | yes | no | Whether repeatable items are included on the cover page map. |
cover_page.map.type | string | yes | no | The type of map to use on the cover page (e.g., roadmap). |
cover_page.map.size | string | yes | no | The size of the map on the cover page. |
cover_page.metadata.enabled | boolean | yes | no | Whether metadata is enabled on the cover page. |
cover_page.metadata.created | boolean | yes | no | Whether the creation metadata is included on the cover page. |
cover_page.metadata.updated | boolean | yes | no | Whether the update metadata is included on the cover page. |
cover_page.metadata.status | boolean | yes | no | Whether the status metadata is included on the cover page. |
cover_page.metadata.location | boolean | yes | no | Whether the location metadata is included on the cover page. |
cover_page.metadata.project | boolean | yes | no | Whether the project metadata is included on the cover page. |
cover_page.metadata.assigned | boolean | yes | no | Whether the assigned metadata is included on the cover page. |
parameters | array | yes | no | The list of parameters for the report. |
Validations
Example validation response when respective required fields are not included:
{
"report_template": {
"errors": {
"status": [
"must be either active or inactive"
],
"body": [
"must be a string"
],
"header": [
"must be a string"
],
"footer": [
"must be a string"
],
"styles": [
"must be a string"
],
"script": [
"must be a string"
],
"config": [
"must be an object"
]
}
}
}
Sample Response
{
"report_template": {
"name": "Report",
"description": "",
"body": "<div class='root'>\n <% if (SETTING('cover_page.enabled')) { %>\n <div class='cover page-break-before page-break-after'>\n <%\n const formEnabled = SETTING('cover_page.form.name') ||\n SETTING('cover_page.form.description') ||\n SETTING('cover_page.form.image');\n %>\n\n <% if (formEnabled) { %>\n <div class='title'>\n <div class='title-label'>\n <% if (SETTING('cover_page.form.name')) { %>\n <h1><%= form.name %></h1>\n <% } %>\n <% if (SETTING('cover_page.form.description') && form.description) { %>\n <hr>\n <h2><%= form.description %></h2>\n <% } %>\n </div>\n <% if (SETTING('cover_page.form.image') && form.imageSmall) { %>\n <div class='title-image'>\n <img src='<%= form.imageSmall %>' />\n </div>\n <% } %>\n </div>\n <% } %>\n\n <% if (SETTING('cover_page.title')) { %>\n <h1 class='field-section metadata'><%= record.displayValue %></h1>\n <% } %>\n\n <% if (SETTING('cover_page.timestamp')) { %>\n <h4 class='field-section metadata'><%= FORMATDATE(record.clientUpdatedAt) %></h4>\n <% } %>\n\n <% if (SETTING('cover_page.image.enabled')) { %>\n <%\n const firstPhotoField = form.elementsOfType('PhotoField', false)[0]\n const value = firstPhotoField && record.formValues.get(firstPhotoField.key);\n %>\n <% if (firstPhotoField && value) { %>\n <div style='display: flex;'>\n <div style='flex: 1 1 auto;'>\n <figure class='cover-photo-container' style='margin-inline-start: 0px; margin-inline-end: 0px; margin-block-start: 0px; margin-block-end: 0px'>\n <img class='<%= IMAGE_SIZE() %>' style='width: 100%;' src='<%= PHOTOURL(value.items[0].mediaID) %>' />\n\n <% if (SETTING('cover_page.image.caption') && value.items[0].caption) { %>\n <figcaption><%= value.items[0].caption %></figcaption>\n <% } %>\n </figure>\n </div>\n </div>\n <% } %>\n <% } %>\n <div class='meta-wrapper'>\n <% if (record.hasCoordinate) { %>\n <% let statusColor = null; %>\n <% if (SETTING('cover_page.map.enabled')) { %>\n <div class='meta-map'>\n <div class='field'>\n <div class='field-label-full'>\n <%\n const markerColor = (statusColor || 'e00606').replace('#', '');\n\n const markers = [\n `size:medium|color:0x${markerColor}|label:|${record.latitude},${record.longitude}`\n ];\n\n if (SETTING('cover_page.map.repeatables')) {\n const items = record.formValues.repeatableItems.filter(item => item.hasCoordinate);\n\n for (const item of items) {\n markers.push(`size:tiny|color:0xe00606|label:|${item.latitude},${item.longitude}`);\n }\n }\n %>\n\n <img class='<%= SET_MAP_CLASS() %>' src='<%= STATICMAP({markers, ...SET_MAP_OPTIONS()}) %>' />\n\n </div>\n </div>\n </div>\n <% } %>\n <% } %>\n\n <% if (SETTING('cover_page.metadata.enabled')) { %>\n <div class=\"meta-fields-container\" style='margin-top: 20px; <% if (!SETTING('cover_page.map.enabled') || (!record.hasCoordinate)) { %>margin-left: 0;<% } %>'>\n <% if (SETTING('cover_page.metadata.created')) { %>\n <div class='meta-fields'>\n <div class='meta-field-label'>Created</div>\n <div class='meta-field-value flex-align-center'>\n <svg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M7 0C3.13359 0 0 3.13359 0 7C0 10.8664 3.13359 14 7 14C10.8664 14 14 10.8664 14 7C14 3.13359 10.8664 0 7 0ZM11.3313 11.3313C10.2758 12.3867 8.90859 13.0047 7.4375 13.1086V12.6875C7.4375 12.4469 7.24063 12.25 7 12.25C6.75938 12.25 6.5625 12.4469 6.5625 12.6875V13.1086C5.09141 13.0047 3.72422 12.3813 2.66875 11.3313C1.61328 10.2758 0.995312 8.90859 0.891406 7.4375H1.3125C1.55313 7.4375 1.75 7.24063 1.75 7C1.75 6.75938 1.55313 6.5625 1.3125 6.5625H0.891406C0.995312 5.09141 1.61875 3.72422 2.66875 2.66875C3.72422 1.61328 5.09141 0.995312 6.5625 0.891406V1.3125C6.5625 1.55313 6.75938 1.75 7 1.75C7.24063 1.75 7.4375 1.55313 7.4375 1.3125V0.891406C8.90859 0.995312 10.2758 1.61875 11.3313 2.66875C12.3867 3.72422 13.0047 5.09141 13.1086 6.5625H12.6875C12.4469 6.5625 12.25 6.75938 12.25 7C12.25 7.24063 12.4469 7.4375 12.6875 7.4375H13.1086C13.0047 8.90859 12.3867 10.2758 11.3313 11.3313Z' fill='#7D7D7D'/><path d='M7.43203 3.46172C7.41016 3.2375 7.22422 3.0625 6.99453 3.0625C6.76484 3.0625 6.57891 3.2375 6.55703 3.45625L6.20703 6.24531L4.33672 6.5625C4.1125 6.58438 3.9375 6.77031 3.9375 7C3.9375 7.22969 4.1125 7.41563 4.33125 7.4375L6.81406 7.85859L6.88516 7.86953C6.89063 7.86953 6.89609 7.86953 6.90156 7.86953C7.15313 7.89688 7.41563 7.81484 7.6125 7.61797C7.83672 7.39375 7.91328 7.08203 7.84219 6.79219L7.43203 3.46172Z' fill='#7D7D7D'/></svg>\n <%= FORMATDATE(record.clientCreatedAt) %>\n </div>\n <div class='meta-field-value flex-align-center'>\n <svg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 7C0 5.14348 0.737499 3.36301 2.05025 2.05025C3.36301 0.737499 5.14348 0 7 0C8.85652 0 10.637 0.737499 11.9497 2.05025C13.2625 3.36301 14 5.14348 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14C5.14348 14 3.36301 13.2625 2.05025 11.9497C0.737499 10.637 0 8.85652 0 7ZM9.30163 5.49735V6.20178C9.30163 6.5228 9.19067 7.02253 8.36751 8.29484C8.33966 8.33778 8.3119 8.38033 8.28423 8.42248C9.7971 8.77734 11.0882 9.2884 12.1285 10.3524C12.7817 9.35658 13.1282 8.19092 13.125 7C13.1272 6.19531 12.9699 5.39816 12.662 4.6547C12.3541 3.91124 11.9018 3.23624 11.3312 2.66875C10.7638 2.09822 10.0888 1.64592 9.3453 1.33802C8.60184 1.03012 7.80469 0.872745 7 0.875C6.19531 0.872757 5.39817 1.03014 4.65471 1.33803C3.91125 1.64593 3.23624 2.09823 2.66875 2.66875C2.09823 3.23624 1.64593 3.91124 1.33803 4.6547C1.03014 5.39816 0.872754 6.19531 0.875 7C0.871987 8.16028 1.20078 9.29724 1.82263 10.2768C2.86573 9.20374 4.15232 8.78319 5.69024 8.42248C5.66253 8.3804 5.63473 8.33786 5.60684 8.29484C4.78368 7.02253 4.67272 6.52296 4.67272 6.20178V5.49735C4.67272 3.94373 5.43359 2.67974 6.9872 2.67974C8.54082 2.67974 9.30169 3.94368 9.30169 5.49735H9.30163Z' fill='#7D7D7D'/></svg>\n by <%= record.createdByName %>\n </div>\n </div>\n <% } %>\n\n <% if (SETTING('cover_page.metadata.updated')) { %>\n <div class='meta-fields'>\n <div class='meta-field-label'>Updated</div>\n <div class='meta-field-value flex-align-center'>\n <svg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M7 0C3.13359 0 0 3.13359 0 7C0 10.8664 3.13359 14 7 14C10.8664 14 14 10.8664 14 7C14 3.13359 10.8664 0 7 0ZM11.3313 11.3313C10.2758 12.3867 8.90859 13.0047 7.4375 13.1086V12.6875C7.4375 12.4469 7.24063 12.25 7 12.25C6.75938 12.25 6.5625 12.4469 6.5625 12.6875V13.1086C5.09141 13.0047 3.72422 12.3813 2.66875 11.3313C1.61328 10.2758 0.995312 8.90859 0.891406 7.4375H1.3125C1.55313 7.4375 1.75 7.24063 1.75 7C1.75 6.75938 1.55313 6.5625 1.3125 6.5625H0.891406C0.995312 5.09141 1.61875 3.72422 2.66875 2.66875C3.72422 1.61328 5.09141 0.995312 6.5625 0.891406V1.3125C6.5625 1.55313 6.75938 1.75 7 1.75C7.24063 1.75 7.4375 1.55313 7.4375 1.3125V0.891406C8.90859 0.995312 10.2758 1.61875 11.3313 2.66875C12.3867 3.72422 13.0047 5.09141 13.1086 6.5625H12.6875C12.4469 6.5625 12.25 6.75938 12.25 7C12.25 7.24063 12.4469 7.4375 12.6875 7.4375H13.1086C13.0047 8.90859 12.3867 10.2758 11.3313 11.3313Z' fill='#7D7D7D'/><path d='M7.43203 3.46172C7.41016 3.2375 7.22422 3.0625 6.99453 3.0625C6.76484 3.0625 6.57891 3.2375 6.55703 3.45625L6.20703 6.24531L4.33672 6.5625C4.1125 6.58438 3.9375 6.77031 3.9375 7C3.9375 7.22969 4.1125 7.41563 4.33125 7.4375L6.81406 7.85859L6.88516 7.86953C6.89063 7.86953 6.89609 7.86953 6.90156 7.86953C7.15313 7.89688 7.41563 7.81484 7.6125 7.61797C7.83672 7.39375 7.91328 7.08203 7.84219 6.79219L7.43203 3.46172Z' fill='#7D7D7D'/></svg>\n <%= FORMATDATE(record.clientUpdatedAt) %>\n </div>\n <div class='meta-field-value flex-align-center'>\n <svg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 7C0 5.14348 0.737499 3.36301 2.05025 2.05025C3.36301 0.737499 5.14348 0 7 0C8.85652 0 10.637 0.737499 11.9497 2.05025C13.2625 3.36301 14 5.14348 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14C5.14348 14 3.36301 13.2625 2.05025 11.9497C0.737499 10.637 0 8.85652 0 7ZM9.30163 5.49735V6.20178C9.30163 6.5228 9.19067 7.02253 8.36751 8.29484C8.33966 8.33778 8.3119 8.38033 8.28423 8.42248C9.7971 8.77734 11.0882 9.2884 12.1285 10.3524C12.7817 9.35658 13.1282 8.19092 13.125 7C13.1272 6.19531 12.9699 5.39816 12.662 4.6547C12.3541 3.91124 11.9018 3.23624 11.3312 2.66875C10.7638 2.09822 10.0888 1.64592 9.3453 1.33802C8.60184 1.03012 7.80469 0.872745 7 0.875C6.19531 0.872757 5.39817 1.03014 4.65471 1.33803C3.91125 1.64593 3.23624 2.09823 2.66875 2.66875C2.09823 3.23624 1.64593 3.91124 1.33803 4.6547C1.03014 5.39816 0.872754 6.19531 0.875 7C0.871987 8.16028 1.20078 9.29724 1.82263 10.2768C2.86573 9.20374 4.15232 8.78319 5.69024 8.42248C5.66253 8.3804 5.63473 8.33786 5.60684 8.29484C4.78368 7.02253 4.67272 6.52296 4.67272 6.20178V5.49735C4.67272 3.94373 5.43359 2.67974 6.9872 2.67974C8.54082 2.67974 9.30169 3.94368 9.30169 5.49735H9.30163Z' fill='#7D7D7D'/></svg>\n by <%= record.updatedByName %>\n </div>\n </div>\n <% } %>\n\n <% if (SETTING('cover_page.metadata.status') && record.isStatusFieldEnabled) { %>\n <div class='meta-fields'>\n <div class='meta-field-label'>Status</div>\n <div class='meta-field-value'>\n <% let choice = record.statusValue.element.statusForValue(record.statusValue.textValue); %>\n <% if (choice) { %>\n <% statusColor = choice.color %>\n <div class='status-color' style='background-color: <%= choice.color %>'></div>\n <div class='status-value'><%= choice.label %></div>\n <% } %>\n </div>\n </div>\n <% } %>\n\n <% if (SETTING('cover_page.metadata.location') && record.hasCoordinate) { %>\n <div class='meta-fields'>\n <div class='meta-field-label'>Location</div>\n <div class='meta-field-value'>\n <svg width='11' height='14' viewBox='0 0 11 14' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M4.9222 13.7649C4.06642 12.9409 3.27342 12.054 2.54986 11.1117C0.916769 8.98449 0.0600533 7.0766 0.0035948 5.44105C-0.0219469 4.75139 0.0888192 4.06347 0.329546 3.41669C0.570272 2.7699 0.936229 2.17696 1.40646 1.67183C1.87669 1.16669 2.44196 0.759286 3.06988 0.472943C3.6978 0.1866 4.37605 0.0269469 5.06577 0.00312654C5.75549 -0.0206938 6.44313 0.0917845 7.08931 0.334125C7.73549 0.576465 8.32752 0.943909 8.83148 1.4154C9.33544 1.88689 9.74143 2.45317 10.0262 3.08181C10.311 3.71044 10.4689 4.38908 10.491 5.07886C10.5475 6.71451 9.82425 8.67689 8.3419 10.9117C7.68506 11.9016 6.95512 12.8411 6.15817 13.7221C6.07991 13.8062 5.9858 13.874 5.88125 13.9216C5.77671 13.9692 5.66379 13.9956 5.54899 13.9995C5.53878 13.9998 5.5286 14 5.51843 14C5.29704 14.0002 5.08387 13.9162 4.9222 13.7649ZM5.09644 0.89016C4.52259 0.909972 3.95827 1.04262 3.43568 1.28053C2.9131 1.51844 2.44249 1.85694 2.05072 2.27673C1.65896 2.69651 1.35371 3.18935 1.15242 3.7271C0.95112 4.26485 0.857711 4.83698 0.877525 5.41083C0.998258 8.90666 5.51892 13.1256 5.51892 13.1256C5.51892 13.1256 9.73784 8.60491 9.61711 5.10913C9.57803 3.97675 9.1009 2.90376 8.28626 2.11626C7.47161 1.32875 6.38308 0.888238 5.25002 0.887538C5.19914 0.887538 5.14771 0.888357 5.09644 0.89016ZM2.62386 5.20423C2.62386 4.68536 2.77772 4.17815 3.06599 3.74673C3.35425 3.31531 3.76398 2.97906 4.24335 2.7805C4.72272 2.58193 5.2502 2.52998 5.7591 2.63121C6.26799 2.73244 6.73545 2.98229 7.10234 3.34919C7.46923 3.71608 7.71909 4.18353 7.82031 4.69243C7.92154 5.20132 7.86959 5.72881 7.67103 6.20818C7.47246 6.68755 7.13621 7.09727 6.70479 7.38554C6.27337 7.67381 5.76616 7.82766 5.24729 7.82766C4.55176 7.82687 3.88494 7.55022 3.39312 7.0584C2.90131 6.56658 2.62465 5.89976 2.62386 5.20423ZM3.55299 5.20423C3.55299 5.85921 4.03986 6.89853 5.24729 6.89853C6.45473 6.89853 6.94159 5.90737 6.94159 5.20423C6.94159 4.5011 6.45473 3.50993 5.24729 3.50993C4.03986 3.50993 3.55299 4.54941 3.55299 5.20423Z' fill='#7D7D7D'/></svg>\n <%= record.latitude.toFixed(6) %>, <%= record.longitude.toFixed(6) %>\n </div>\n </div>\n <% } %>\n\n <% if (SETTING('cover_page.metadata.project') && form.isProjectEnabled) { %>\n <div class='meta-fields'>\n <div class='meta-field-label'>Project</div>\n <div class='meta-field-value'>\n <svg width='14' height='13' viewBox='0 0 14 13' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M13.125 2.625H10.5V1.75C10.5 0.7875 9.7125 0 8.75 0H5.25C4.2875 0 3.5 0.7875 3.5 1.75V2.625H0.875C0.39375 2.625 0 3.01875 0 3.5V11.375C0 11.8563 0.39375 12.25 0.875 12.25H13.125C13.6062 12.25 14 11.8563 14 11.375V3.5C14 3.01875 13.6062 2.625 13.125 2.625ZM4.375 1.75C4.375 1.26875 4.76875 0.875 5.25 0.875H8.75C9.23125 0.875 9.625 1.26875 9.625 1.75V2.625H4.375V1.75ZM13.125 11.375H0.875V3.5H13.125V11.375Z\" fill=\"#7D7D7D\"/><path d=\"M7 4.8125L3.98672 9.1875H10.0133L7 4.8125Z' fill='#7D7D7D'/></svg>\n <%= PROJECTNAME() ? PROJECTNAME() : 'No Project' %>\n </div>\n </div>\n <% } %>\n\n <% if (SETTING('cover_page.metadata.assigned') && form.isAssignmentEnabled) { %>\n <div class='meta-fields'>\n <div class='meta-field-label'>Assigned to</div>\n <div class='meta-field-value'>\n <svg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 7C0 5.14348 0.737499 3.36301 2.05025 2.05025C3.36301 0.737499 5.14348 0 7 0C8.85652 0 10.637 0.737499 11.9497 2.05025C13.2625 3.36301 14 5.14348 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14C5.14348 14 3.36301 13.2625 2.05025 11.9497C0.737499 10.637 0 8.85652 0 7ZM9.30163 5.49735V6.20178C9.30163 6.5228 9.19067 7.02253 8.36751 8.29484C8.33966 8.33778 8.3119 8.38033 8.28423 8.42248C9.7971 8.77734 11.0882 9.2884 12.1285 10.3524C12.7817 9.35658 13.1282 8.19092 13.125 7C13.1272 6.19531 12.9699 5.39816 12.662 4.6547C12.3541 3.91124 11.9018 3.23624 11.3312 2.66875C10.7638 2.09822 10.0888 1.64592 9.3453 1.33802C8.60184 1.03012 7.80469 0.872745 7 0.875C6.19531 0.872757 5.39817 1.03014 4.65471 1.33803C3.91125 1.64593 3.23624 2.09823 2.66875 2.66875C2.09823 3.23624 1.64593 3.91124 1.33803 4.6547C1.03014 5.39816 0.872754 6.19531 0.875 7C0.871987 8.16028 1.20078 9.29724 1.82263 10.2768C2.86573 9.20374 4.15232 8.78319 5.69024 8.42248C5.66253 8.3804 5.63473 8.33786 5.60684 8.29484C4.78368 7.02253 4.67272 6.52296 4.67272 6.20178V5.49735C4.67272 3.94373 5.43359 2.67974 6.9872 2.67974C8.54082 2.67974 9.30169 3.94368 9.30169 5.49735H9.30163Z' fill='#7D7D7D'/></svg>\n <%= record.assignedToName ? record.assignedToName : 'No Assignment' %>\n </div>\n </div>\n <% } %>\n </div>\n <% } %>\n </div>\n </div>\n <% } %>\n\n <%\n\n const defaultFormatter = (element, value) => {\n const isEmpty = value == null || value.isEmpty;\n\n if (isEmpty) {\n return SETTING('field.empty_value');\n }\n\n return value.displayValue;\n }\n\n const formatter = typeof formatValue === 'function' ? formatValue : defaultFormatter;\n\n %>\n\n <% RENDER(record, null, ({element, value, renderSection, renderRepeatableItems, container, index, feature, parent, allValues}) => { %>\n <%\n const hidden = SETTING('hidden_fields').indexOf(element.dataName) !== -1;\n\n if (hidden || !ISVISIBLE(element, record, allValues)) {\n return;\n }\n %>\n\n <% if (element.isSectionElement) { %>\n <div class='field-section'>\n <h1 class='field-section-title'><%= element.label %></h1>\n <div class='field-section-content'>\n <% renderSection() %>\n </div>\n </div>\n <% } else if (element.isRepeatableElement) { %>\n <div class='field-repeatable'>\n <h1 class='field-repeatable-title'><%= element.label %> <%= value && `(${value.displayValue})` %></h1>\n <div class='field-repeatable-content'>\n <% const tables = SETTING('tables'); %>\n\n <% if (tables && tables[element.dataName]) { %>\n <%\n const tableFields = tables[element.dataName].fields;\n const { compact } = LIBS.lodash;\n let tableElements = element.allElements;\n if (tableFields.length) {\n tableElements = compact(tableFields.map(field => tableElements.find(e => e.dataName == field)));\n }\n %>\n <table class='field-repeatable-table' cellpadding='0' cellspacing='0'>\n <thead>\n <tr>\n <% for (const childElement of tableElements) { %>\n <th><%= childElement.label %></th>\n <% } %>\n </tr>\n </thead>\n <tbody>\n <% renderRepeatableItems(({feature, element, renderItem, container, index, parent, allValues}) => { %>\n <tr>\n <% for (const childElement of tableElements) { %>\n <% const formValue = feature.formValues.get(childElement.key) %>\n <% if (childElement.isPhotoElement) { %>\n <% if (formValue && formValue.items) { %>\n <td>\n <% formValue && formValue.items.forEach((item, index) => { %>\n <img class='photo' width='100px' src='<%= PHOTOURL(item.mediaID) %>' />\n <% }); %>\n </td>\n <% } else { %>\n <td><%= formValue && formValue.displayValue %></td>\n <% } %>\n <% } else { %>\n <td><%= formValue && formValue.displayValue %></td>\n <% } %>\n <% } %>\n </tr>\n <% }); %>\n </tbody>\n </table>\n <% } else { %>\n <% renderRepeatableItems(({element, value, renderItem, container, index, feature, parent, allValues}) => { %>\n <% if (SETTING('repeatable_break')) { %>\n <div class='field-repeatable-item page-break-before page-break-after'>\n <% } else { %>\n <div class='field-repeatable-item'>\n <% } %>\n <h2><%= `${element.label} - ${index+1}. ${value.displayValue}` %></h2>\n <% renderItem() %>\n </div>\n <% }); %>\n <% } %>\n </div>\n </div>\n <% } else if (element.isPhotoElement) { %>\n <div class='field photo-field'>\n <h2 class='field-label'><%= element.label %></h2>\n <div class='field-label-full'>\n <% if (value && !value.isEmpty) { %>\n <div class='photo-row'>\n <% value.items.forEach((item, index) => { %>\n <div class='photo-column'>\n <figure>\n <img class=\"<%= IMAGE_SIZE() %>\" src='<%= PHOTOURL(item.mediaID) %>' />\n <% if (item.caption) { %>\n <figcaption><%= item.caption %></figcaption>\n <% } %>\n </figure>\n </div>\n <% }); %>\n </div>\n <% } else { %>\n <p><%= SETTING('field.empty_value') %></p>\n <% } %>\n </div>\n </div>\n <% } else if (element.isSignatureElement) { %>\n <div class='field'>\n <h2 class='field-label'><%= element.label %></h2>\n <div class='field-value'>\n <% if (value && !value.isEmpty) { %>\n <img class='signature' src='<%= SIGNATUREURL(value.id) %>' />\n <p><%= element.agreementText %></p>\n <p>Signed <%= FORMATDATE(value.timestamp) %></p>\n <% } else { %>\n <%= SETTING('field.empty_value') %>\n <% } %>\n </div>\n </div>\n <% } else if (element.isRecordLinkElement) { %>\n <div class=\"field\">\n <h2 class=\"field-label\"><%= element.label %></h2>\n <div class=\"field-value\">\n <% if (value && !value.isEmpty) { %>\n <%\n const labels = value.items.map(item => {\n return item.record ? ESC(defaultFormatter(element, item)) : '<i>Not Available</i>';\n }).join(', ');\n %>\n <%- labels %>\n <% } else { %>\n <%= SETTING('field.empty_value') %>\n <% } %>\n </div>\n </div>\n <% } else if (element.isLabelElement) { %>\n <div class='field'>\n <h2 class='field-label-full'><%= element.label %></h2>\n </div>\n <% } else { %>\n <div class='field'>\n <h2 class='field-label'><%= element.label %></h2>\n <div class='field-value pre'><%= formatter(element, value, {defaultFormatter, container, index, feature, parent, allValues}) %></div>\n </div>\n <% } %>\n <% }) %>\n</div>",
"header": "<% if (SETTING('header.enabled')) { %>\n <div class=\"header\">\n <div class=\"header-title\">\n <%if (SETTING('header.form.name')) {%><%= form.name %><%}%>\n </div>\n <div class=\"header-record\">\n <%if (SETTING('header.record.id')) {%><%= record.id %><%}%>\n </div>\n </div>\n<% } %>",
"filename_pattern": "",
"footer": "<%\n function formatAddress() {\n let line1 = '';\n let line2 = '';\n\n if (organization.address1) {\n line1 += organization.address1;\n }\n\n if (organization.address2) {\n line1 += `, ${organization.address2}`;\n }\n\n if (organization.city) {\n line2 += organization.city;\n }\n\n if (organization.state) {\n line2 += `, ${organization.state}`;\n }\n\n if (organization.postalCode) {\n line2 += ` ${organization.postalCode}`;\n }\n\n return { line1, line2 };\n }\n%>\n\n<div class=\"footer\">\n <% if (SETTING('footer.enabled')) { %>\n <div class=\"footer-company\">\n <% if (SETTING('footer.organization_image') && organization.image) { %>\n <div class=\"footer-logo\">\n <img src=\"<%= IMAGEURL(organization.image) %>\" />\n </div>\n <% } %>\n <div class=\"footer-company-info\">\n <% if (SETTING('footer.organization_info')) { %>\n <div>\n <strong><%= organization.name %></strong><br>\n <div class=\"footer-address\">\n <%= formatAddress().line1 %><br>\n <%= formatAddress().line2 %>\n </div>\n </div>\n <% } %>\n </div>\n </div>\n <% } %>\n\n <% if (SETTING('footer.enabled')) { %>\n <div class=\"footer-meta\">\n <div style=\"margin-left: auto;\">\n <% if (SETTING('footer.page_number')) { %>\n Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span><br>\n <% } %>\n <% if (SETTING('footer.timestamp')) { %>\n <%= FORMATDATE(new Date()) %>\n <% } %>\n </div>\n </div>\n <% } %>\n\n <div class=\"footer-branding\">\n <img src=\"data:image/png;base64,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\"/>\n </div>\n</div>",
"styles": "h1, h2, h3, h4, h5, h6 {\n margin: 0;\n padding: 0;\n}\n\n.flex-align-center {\n display: flex;\n align-items: center;\n}\n\n.field {\n padding: 5px 0;\n border-bottom: 1px solid #e1e1e1;\n page-break-inside: avoid;\n display: flex;\n}\n\n.photo-field {\n display: block;\n page-break-inside: auto;\n}\n\n.field:last-of-type {\n border-bottom: none;\n}\n\n.meta-field {\n border-bottom: 1px solid #ddd;\n margin-bottom: 5px;\n padding-bottom: 5px;\n}\n\n.meta-field-group .meta-field:first-of-type {\n border-bottom: none;\n}\n\n.field-label {\n font-weight: 900;\n width: 30%;\n font-size: 12px;\n box-sizing: border-box;\n}\n\n.meta-field-label {\n box-sizing: border-box;\n color: #41403b;\n font-size: 13px;\n font-weight: 900;\n margin-bottom: 10px;\n text-transform: uppercase;\n width: 30%;\n}\n\n.field-label-full {\n font-weight: normal;\n width: 100%;\n box-sizing: border-box;\n font-size: 12px;\n}\n\n.field-value {\n width: 70%;\n box-sizing: border-box;\n border-left: 1px solid #e1e1e1;\n padding-left: 10px;\n}\n\n.meta-field-value {\n color: #7d7d7d;\n padding-bottom: 3px;\n font-size: 14px;\n}\n\n.meta-field-value.flex-align-center svg {\n padding-right: 5px;\n}\n\n.meta-field-value-large {\n font-size: 18px;\n}\n\n.cover-photo-container, .photo-column figure {\n position: relative;\n}\n\n.cover-photo-container img {\n height: 300px;\n object-fit: cover;\n}\n\n.cover-photo-container figcaption, .photo-column figcaption {\n position: absolute;\n bottom: 18px;\n margin: 0;\n padding: 10px;\n background: rgba(255,255,255,.85);\n border-radius: 0 7px 7px 0;\n border: 1px dashed #bbb;\n border-left: none;\n margin-right: 15px;\n left: 0;\n}\n\n\n.cover-photo-container img.photo-landscape { height: 500px; }\n.cover-photo-container img.photo-legal { height: 560px; }\n.cover-photo-container img.photo-legal-ls { height: 498px; }\n.cover-photo-container img.photo-tabloid { height: 740px; }\n.cover-photo-container img.photo-tabloid-ls { height: 740px; }\n.cover-photo-container img.photo-ledger { height: 740px; }\n.cover-photo-container img.photo-ledger-ls { height: 740px; }\n.cover-photo-container img.photo-a4 { height: 380px; }\n.cover-photo-container img.photo-a4-ls { height: 470px; }\n.cover-photo-container img.photo-a3 { height: 840px; }\n.cover-photo-container img.photo-a3-ls { height: 790px; }\n\n.pre {\n white-space: pre-wrap;\n}\n\n.page-break-before {\n page-break-before: always;\n}\n\n.page-break-after {\n page-break-after: always;\n}\n\n.field-value .photo {\n max-width: 470px;\n max-height: 470px;\n margin-top: 6px;\n}\n\n.field-value .signature {\n max-width: 470px;\n max-height: 470px;\n margin-top: 6px;\n}\n\n.field-value .status-color {\n width: 14px;\n height: 14px;\n border-radius: 3px;\n margin-right: 8px;\n position: relative;\n float: left;\n top: 0px;\n}\n\n.meta-field-value .status-color {\n width: 14px;\n height: 14px;\n border-radius: 3px;\n margin-right: 8px;\n position: relative;\n float: left;\n top: 0px;\n}\n\n.field-section {\n border-bottom: 2px solid #e1e1e1;\n border-right: 2px solid #e1e1e1;\n margin-bottom: 8px;\n}\n\n.field-section.metadata {\n color: #41403b;\n margin: 10px 0;\n border: none;\n}\n\n.field-section-title {\n background: #f4f4f4;\n font-weight: bold;\n font-size: 18px;\n border-left: 3px solid #000;\n margin-top: 20px;\n margin-bottom: 8px;\n padding: 7px 12px;\n}\n\n.field-repeatable-title {\n background: #f4f4f4;\n font-weight: bold;\n font-size: 18px;\n border-left: 3px solid #000;\n margin-top: 20px;\n margin-bottom: 8px;\n padding: 7px 12px;\n}\n\n.field-repeatable-item {\n padding: 10px 0;\n}\n\n.field-repeatable-item .field-section-title,\n.field-repeatable-item .field-repeatable-title {\n font-size: 16px;\n border-color: #ddd;\n background: #f9f9f9;\n}\n\n.field-repeatable-item > h2 {\n background: #f9f9f9;\n border-left: 3px solid #ddd;\n border-bottom: 2px solid #ddd;\n font-size: 16px;\n padding: 7px 12px;\n margin: 10px 0;\n}\n\n.field-repeatable-table {\n border-collapse: collapse;\n width: 100%;\n margin: 10px 0;\n}\n\n.field-repeatable-table thead {\n display: table-header-group;\n break-inside: avoid;\n}\n\n.field-repeatable-table td, .field-repeatable-table th {\n border: 1px solid #ccc;\n padding: 4px;\n text-align: left;\n}\n\n.field-repeatable-table th {\n background: #eee;\n}\n\n.field-repeatable-table tr {\n page-break-inside: avoid;\n}\n\n.field-repeatable-table tr:nth-child(even) {\n background-color: #f4f4f4;\n}\n\n.photo-row {\n padding-top: 4px;\n}\n\n.photo-column {\n max-width: 49.76%;\n display: inline-flex;\n max-height: 49%;\n}\n\n.photo-column figure {\n max-width: 96%;\n margin: auto;\n}\n\n.photo-column figure img {\n vertical-align: middle;\n width: 100%;\n object-fit: cover;\n}\n\n.photo-column figure img.photo-landscape { max-height: 760px; max-width: 47%; }\n.photo-column figure img.photo-legal-ls { max-height: 680px; }\n.photo-column figure img.photo-tabloid { max-height: 960px; }\n.photo-column figure img.photo-tabloid-ls { max-height: 960px; }\n.photo-column figure img.photo-ledger { max-height: 960px; }\n.photo-column figure img.photo-ledger-ls { max-height: 740px; }\n.photo-column figure img.photo-a4-ls { max-height: 760px; }\n.photo-column figure img.photo-a3 { max-height: 960px; }\n.photo-column figure img.photo-a3-ls { max-height: 960px; }\n\n\n.footer {\n display: flex;\n justify-content: space-between;\n color: #7d7d7d;\n}\n\n.footer-logo {\n display: flex;\n align-items: center;\n}\n\n.footer-logo img, .footer-branding img {\n height: 40px;\n padding-right: 10px;\n}\n\n.footer-company-info, .footer-meta, .footer-branding {\n display: flex;\n align-items: center;\n}\n\n.footer-company {\n display: flex;\n align-items: center;\n color: #41403b;\n}\n\n.footer-meta {\n text-align: center;\n}\n\n.footer-address, .footer-meta {\n font-size: 11px;\n}\n\n.page-info {\n width: 300px;\n float: right;\n text-align: right;\n margin-top: 15px;\n}\n\n.title {\n padding: 15px 0px 0px 0px;\n page-break-inside: avoid;\n display: flex;\n padding-right: 5px;\n}\n\n.title hr {\n margin: 6px 0px 12px;\n display: block;\n height: 1px;\n border: 0;\n border-top: 1px solid #ddd;\n padding: 0;\n}\n\n.title h1 {\n color: #41403b;\n font-size: 3em;\n font-weight: 300;\n}\n\n.title h2 {\n font-weight: 400;\n color: #7d7d7d;\n font-size: 14px;\n}\n\n.title-label {\n flex: 4 1;\n}\n\n.title-image {\n flex: 1 1;\n text-align: right;\n}\n\n.title-image img {\n width: 100px;\n border-radius: 5px;\n border: 10px solid #fff;\n box-shadow: 0 0 3px #ccc;\n}\n\n.meta-wrapper {\n display: flex;\n align-items: flex-start;\n}\n\n.meta-map {\n margin-top: 20px;\n}\n\n.meta-map img {\n width: auto;\n height: 400px;\n}\n\n.meta-map img.ls-nometa {\n width: 100%;\n height: auto;\n}\n\n.meta-map img.letter-ls { height: 440px; }\n.meta-map img.legal-ls { height: 440px; }\n.meta-map img.tabloid-ls { height: 440px; }\n.meta-map img.ledger-pt { height: 440px; }\n.meta-map img.a4-ls { height: 440px; }\n\n.meta-map .field {\n border: none;\n padding-top: 0;\n}\n\n.meta-fields-container {\n display: flex;\n flex-direction: column;\n flex: 1;\n margin-left: 20px;\n}\n\n.meta-fields {\n flex: 1;\n margin-bottom: 8px;\n padding-bottom: 8px;\n border-bottom: 1px solid #f4f4f4;\n}\n\n.meta-fields:last-of-type {\n border-bottom: none;\n}\n\n.header {\n display: flex;\n justify-content: space-between;\n margin-top: 15px;\n color: #7d7d7d;\n}\n\n.header-title, .header-record {\n align-items: center;\n font-style: italic;\n}\n",
"script": "DATA.config.advanced = true;\n\nconst REPORT_CONFIG = {\n 'hidden_fields': [],\n 'field.empty_value': '',\n 'header.enabled': true,\n 'header.form.name': true,\n 'header.record.id': true,\n 'footer.enabled': true,\n 'footer.timestamp': true,\n 'footer.organization_image': true,\n 'footer.organization_info': true,\n 'footer.page_number': true,\n 'cover_page.enabled': true,\n 'cover_page.form.name': true,\n 'cover_page.form.description': true,\n 'cover_page.form.image': true,\n 'cover_page.title': true,\n 'cover_page.timestamp': true,\n 'cover_page.image.enabled': true,\n 'cover_page.image.caption': true,\n 'cover_page.map.enabled': true,\n 'cover_page.map.repeatables': true,\n 'cover_page.map.type': 'roadmap',\n 'cover_page.map.size': '360x400',\n 'cover_page.metadata.enabled': true,\n 'cover_page.metadata.created': true,\n 'cover_page.metadata.updated': true,\n 'cover_page.metadata.status': true,\n 'cover_page.metadata.location': true,\n 'cover_page.metadata.project': true,\n 'cover_page.metadata.assigned': true\n};\n\nif (DATA.config.advanced) {\n DATA.config = { ...DATA.config, ...REPORT_CONFIG };\n}\n\nconst SETTING = (setting, defaultValue) => {\n return DATA.config[setting] != null ? DATA.config[setting] : defaultValue;\n};\n\nconst { landscape, size } = DATA.config;\n\nconst IMAGE_SIZE = () => {\n const data = landscape ? '-ls' : '';\n const default_class = landscape ? 'photo-landscape' : '';\n\n switch (size) {\n case 'Legal':\n return `photo-legal${data}`;\n case 'Tabloid':\n return `photo-tabloid${data}`;\n case 'Ledger':\n return `photo-ledger${data}`;\n case 'A4':\n return `photo-a4${data}`;\n case 'A3':\n return `photo-a3${data}`;\n default:\n return default_class;\n }\n};\n\nconst MAP_OPTIONS = (mapSize) => {\n const options = {\n maptype: SETTING('cover_page.map.type'),\n size: mapSize\n };\n\n return options;\n};\n\nconst SET_MAP_CLASS = () => {\n if (!SETTING('cover_page.metadata.enabled')) {\n return 'ls-nometa';\n }\n\n switch (size) {\n case 'Legal':\n return landscape ? 'legal-ls' : '';\n case 'Tabloid':\n return landscape ? 'tabloid-ls' : '';\n case 'A4':\n return landscape ? 'a4-ls' : '';\n case 'Letter':\n return landscape ? 'letter-ls' : '';\n case 'Ledger':\n return landscape ? '' : 'ledger-pt';\n default:\n return '';\n }\n};\n\nconst SET_MAP_OPTIONS = () => {\n const ledger_options = landscape ? MAP_OPTIONS('400x400') : MAP_OPTIONS('600x400');\n\n if (!SETTING('cover_page.metadata.enabled')) {\n return MAP_OPTIONS('800x400');\n }\n\n if (size === 'Ledger') {\n return ledger_options;\n } else if (!landscape) {\n return MAP_OPTIONS('360x400');\n }\n\n switch (size) {\n case 'Letter':\n case 'A4':\n return MAP_OPTIONS('400x400');\n case 'Legal':\n case 'Tabloid':\n return MAP_OPTIONS('600x400');\n case 'A3':\n return MAP_OPTIONS('800x400');\n default:\n return MAP_OPTIONS('360x400');\n }\n};\n\nfunction initialize() {\n // validate parameters and initialize report data\n}\n\nfunction formatValue(element, value, { defaultFormatter }) {\n // special case logic here\n return defaultFormatter(element, value);\n}",
"config": {
"size": "Letter",
"landscape": false,
"margin_top": 0.5,
"margin_right": 0.5,
"margin_bottom": 0.5,
"margin_left": 0.5,
"output": "pdf",
"hidden_fields": [],
"field.empty_value": "",
"header.enabled": true,
"header.form.name": true,
"header.record.id": true,
"footer.enabled": true,
"footer.timestamp": true,
"footer.organization_image": true,
"footer.organization_info": true,
"footer.page_number": true,
"cover_page.enabled": true,
"cover_page.form.name": true,
"cover_page.form.description": true,
"cover_page.form.image": true,
"cover_page.title": true,
"cover_page.timestamp": true,
"cover_page.image.enabled": true,
"cover_page.image.caption": true,
"cover_page.map.enabled": true,
"cover_page.map.repeatables": true,
"cover_page.map.type": "roadmap",
"cover_page.map.size": "360x400",
"cover_page.metadata.enabled": true,
"cover_page.metadata.created": true,
"cover_page.metadata.updated": true,
"cover_page.metadata.status": true,
"cover_page.metadata.location": true,
"cover_page.metadata.project": true,
"cover_page.metadata.assigned": true,
"parameters": [
{
"name": "record_id",
"label": "Record",
"type": "record_id",
"required": true,
"multiple": false,
"options": null,
"query": null,
"default": []
}
]
},
"status": "active",
"type": "advanced",
"id": "bec301b5-22f3-4009-93f5-6df3ef4c44af",
"created_at": "2024-07-11T14:24:14Z",
"updated_at": "2024-07-11T14:24:14Z",
"created_by": "Vince Lauffer",
"created_by_id": "9d64eea9-3d7d-427b-8a12-32458d6b5b2a",
"updated_by": "Vince Lauffer",
"updated_by_id": "9d64eea9-3d7d-427b-8a12-32458d6b5b2a"
}
}