160 px) in the background image's inline style even though a CSS class makes it render at full width (e.g. 750 px). The scaler was reading the inline style.width (160 px) instead of the actual rendered width, so the background image scaled from the wrong base while all input coordinates scaled from the correct 750 px base. Fixed by using img.offsetWidth (actual rendered width) and writing the new value back via setProperty('width', …, 'important') to override any class-level rule.DoNotPrint div (Subject / Submit / Print controls) is absolutely positioned in many eForms. The scaler was moving it proportionally with everything else, causing it to appear visually beside the shrunken form at lower scale values. These controls are not printed or faxed, so their screen position should not change with the scale. Fixed by skipping any element that has or inherits the DoNotPrint class via closest().#BottomButtons div (Subject / Submit / Print) to the right or at a fixed coordinate that made it appear in the editor canvas even without scaling. Since these buttons are not functional in the editor (Oscar's submit/print actions require the full Oscar runtime), #BottomButtons is now hidden via the injected data-editor-only stylesheet and is fully restored in the exported eForm.left, top, width, height, font-size). The editor iframe grows or shrinks to match the new page width. The label shows the current percentage and resulting pixel width. Scale resets to 100% whenever a new eForm is loaded. The scaled values are baked into the exported HTML, so a form scaled to 140% exports at 1050 px wide — useful when a wide PDF was imported at 750 px and the text became too small for faxing..Xbox click handler toggled the live value before the property modal opened, corrupting what the modal read as the current prechecked state. Fixed with a capture-phase event listener that intercepts Xbox clicks and opens the modal before jQuery fires. (2) Apply was only setting element.value (runtime state), not element.setAttribute('value', 'X'), so the HTML attribute was never updated and the pre-check was lost on export. Both the read (now uses getAttribute) and write (now uses setAttribute / removeAttribute) are corrected.element.style.background = 'transparent' as an inline style on the Xbox input. With a transparent background the PDF page image shows through the input, revealing any coloured form element (e.g. a red checkbox outline) underneath. The background option is now hidden for Xbox elements in the modal and is no longer applied on save — the .Xbox print-media CSS already handles transparency for export.id and name to the chosen value and adds the only-one-gender class, so the existing checkGender() export script auto-ticks the Xbox when the patient's sex matches. Clearing the gender removes the class./, but the iframe uses relative paths. Also, folder names with & were HTML-encoded in innerHTML, breaking the fallback replacement. Regex now handles an optional leading slash and the folder path is HTML-escaped before comparison.style and class from signatureDisplay for wkhtmltopdf, leaving it with zero dimensions on re-import. Position and size are now recovered from the signatureControl.initialize() call in <head> and restored as data-sig-* attributes.signatureInput and signatureControl.jsp scripts in the export. The pipeline's cleanup path now removes these when no signatureDisplay is present.loadSig() persisting in body onload after Canvas → Pro swaploadSig() in the body onload, causing a JS error that blocked SignForm(). The addSignatureCanvas() cleanup path now strips loadSig() from body onload when no Canvas elements remain.isInputField check in the mousedown handler, so clicking them never registered in the InputList and arrow keys had no effect. Also fixed a secondary issue where clicking the <img> inside a Pro Signature triggered new-element creation.inputsCreated was being set to a raw DOM element count, causing collisions when fields already existed. It now scans all element IDs across all pages and starts at max numeric suffix + 1.signatureDisplay div now shows "Classic Signature" centered inside it while in the editor via a CSS ::before pseudo-element. Stripped automatically on export.Cell_of_Patient_8 were sending the full name including the _inputCount suffix to the mapping API, causing wrong matches. The editor now sends the clean data-field-name attribute as the lookup key./api/suggest at click-time instead of relying on attributes baked in at PDF upload. Mapping logic changes no longer require re-uploading a PDF.CanvasProSignature div, including the required current_user_id hidden input.areacode anywhere in the name are skipped by Auto-Map — no tag assigned, no static value applied.country, country_of_residence, or country_of_birth are pre-filled with Canada on Auto-Map.| Field name pattern | Maps to |
|---|---|
province__state, prov_state, state_or_province |
province |
cell_of_patient (and similar _of_patient variants) |
cell |
patient_first |
patient_namef |
patient_last |
patient_namel |
referring_clinic |
clinic_name |
country, country_of_residence, country_of_birth |
static: "Canada" |
Any field containing areacode |
suppressed |
m$type#field) was being applied to unrelated elements on import. Fixed so the measurement ID is only applied to the intended target field.