{{ dialogTitle }}

@if (template.id) { ID: {{ template.id }} }
  • Template
  • Zones {{ template.zones.length }} @if (selectedZone; as zone) {
    @if (zoneTestResult; as result) { @if (result.error) {
    {{ result.error }}
    } @else {
    OCR text
    {{ result.raw_text || '(nothing detected)' }}
    Value
    {{ result.value || '(empty)' }}
    @if (result.regex) {
    Validation
    @if (result.regex_match) { Regex matches } @else { Regex does not match }
    }
    } } @if (isFieldShared(zone)) {
    @for (z of zonesForField(zone); track z) { }
    }
    @if (!isLastPageZone(zone)) { }
    Processing
    @if (zone.transform === dateTransform) { @if (usesCustomDateFormat(zone)) {

    Python date codes:

    • %d day (01-31)
    • %m month (01-12)
    • %Y year, 4-digit
    • %y year, 2-digit
    • %b month name (Jan)
    Example: %d.%m.%Y -> 03.03.2026
    } } } @else { }
@if (searchStatus() === 'loading') { Searching... } @else { } @if (previewDocId) { }
{{ documentFormatter(document) }}
@if (searchStatus() === 'empty' || searchStatus() === 'error') {
@if (searchStatus() === 'error') { Document search failed. } @else { No matching documents. }
}
@if (previewStatus === 'error') {

{{ previewError }}

} @else if (pageImageUrl) {
Sample document page @if (imageLoaded) { @for (zone of template.zones; track $index; let i = $index) { @if (zoneDisplayRect(i); as rect) { {{ zoneLabel(zone, i) }} @if (selectedZoneIndex === i) { @for (handle of resizeHandles(rect); track handle.handle) { } } } } @if (drawingRect(); as rect) { } }
@if (previewStatus === 'loading') {
Loading page...
} } @else {

No sample document selected.

}
@if (previewDocId && previewStatus !== 'error') {
of {{ previewPageCount ?? '?' }}
}