Reports API

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

PropertyTypeRequiredReadonlyDescription
namestringyesnoThe name of the report template.
descriptionstringnonoA brief description of the report template.
bodystringyesnoThe body content of the report template.
headerstringyesnoThe header content of the report template.
filename_patternstringnonoThe pattern for the report's filename.
footerstringyesnoThe footer content of the report template.
stylesstringyesnoThe styles applied to the report template.
scriptstringyesnoThe script used in the report template.
statusstringyesnoThe status of the report template (e.g., active).
typestringyesnoThe type of the report template (e.g., advanced).
idstringnoyesThe unique identifier for the report template.
created_atstringnoyesTimestamp when the report template was created.
updated_atstringnoyesTimestamp when the report template was last updated.
created_bystringnoyesThe name of the user who created the report template.
created_by_idstringnoyesThe ID of the user who created the report template.
updated_bystringnoyesThe name of the user who last updated the report template.
updated_by_idstringnoyesThe ID of the user who last updated the report template.

Config Properties

PropertyTypeRequiredReadonlyDescription
sizestringyesnoThe size of the report (e.g., Letter).
landscapebooleanyesnoWhether the report is in landscape orientation.
margin_topnumberyesnoThe top margin of the report.
margin_rightnumberyesnoThe right margin of the report.
margin_bottomnumberyesnoThe bottom margin of the report.
margin_leftnumberyesnoThe left margin of the report.
outputstringyesnoThe output format of the report (e.g., pdf).
hidden_fieldsarraynonoThe list of fields to be hidden in the report.
field.empty_valuestringnonoThe value to display for empty fields.
header.enabledbooleanyesnoWhether the header is enabled.
header.form.namebooleanyesnoWhether the form name is included in the header.
header.record.idbooleanyesnoWhether the record ID is included in the header.
footer.enabledbooleanyesnoWhether the footer is enabled.
footer.timestampbooleanyesnoWhether the timestamp is included in the footer.
footer.organization_imagebooleanyesnoWhether the organization image is included in the footer.
footer.organization_infobooleanyesnoWhether the organization info is included in the footer.
footer.page_numberbooleanyesnoWhether the page number is included in the footer.
cover_page.enabledbooleanyesnoWhether the cover page is enabled.
cover_page.form.namebooleanyesnoWhether the form name is included on the cover page.
cover_page.form.descriptionbooleanyesnoWhether the form description is included on the cover page.
cover_page.form.imagebooleanyesnoWhether the form image is included on the cover page.
cover_page.titlebooleanyesnoWhether the cover page title is included.
cover_page.timestampbooleanyesnoWhether the timestamp is included on the cover page.
cover_page.image.enabledbooleanyesnoWhether images are enabled on the cover page.
cover_page.image.captionbooleanyesnoWhether captions are included for images on the cover page.
cover_page.map.enabledbooleanyesnoWhether maps are enabled on the cover page.
cover_page.map.repeatablesbooleanyesnoWhether repeatable items are included on the cover page map.
cover_page.map.typestringyesnoThe type of map to use on the cover page (e.g., roadmap).
cover_page.map.sizestringyesnoThe size of the map on the cover page.
cover_page.metadata.enabledbooleanyesnoWhether metadata is enabled on the cover page.
cover_page.metadata.createdbooleanyesnoWhether the creation metadata is included on the cover page.
cover_page.metadata.updatedbooleanyesnoWhether the update metadata is included on the cover page.
cover_page.metadata.statusbooleanyesnoWhether the status metadata is included on the cover page.
cover_page.metadata.locationbooleanyesnoWhether the location metadata is included on the cover page.
cover_page.metadata.projectbooleanyesnoWhether the project metadata is included on the cover page.
cover_page.metadata.assignedbooleanyesnoWhether the assigned metadata is included on the cover page.
parametersarrayyesnoThe 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"
    }
}