2 <eg-title i18n-prefix prefix="Print Template Administration"></eg-title>
3 <eg-staff-banner bannerText="Print Template Administration" i18n-bannerText>
6 <eg-fm-record-editor #editDialog idlClass="cpt"
7 [preloadLinkedValues]="true" hiddenFields="template">
10 <eg-confirm-dialog #confirmDelete
11 i18n-dialogTitle i18n-dialogBody
12 dialogTitle="Confirm Delete?"
13 dialogBody="Delete Template '{{template ? template.label() : ''}}'?">
16 <div class="row mb-3">
17 <div class="col-lg-4">
19 [selectedOrgId]="initialOrg"
20 [limitPerms]="['ADMIN_PRINT_TEMPLATE']"
21 labelText="Owner" i18n-labelText
22 (ngModelChange)="orgOnChange($event)"
23 ngModel #orgFamily="ngModel">
24 </eg-org-family-select>
26 <div class="col-lg-3">
27 <div class="input-group">
28 <div class="input-group-prepend">
29 <span class="input-group-text" i18n>Template</span>
31 <ng-template #entryTemplate let-r="result" let-owner="getOwnerName">
32 {{r.label}} ({{getOwnerName(r.id)}})
34 <eg-combobox #templateSelector
35 [entries]="entries" [displayTemplate]="entryTemplate"
36 (onChange)="selectTemplate($event ? $event.id : null)">
40 <div class="col-lg-3" *ngIf="localeEntries.length > 0">
41 <div class="input-group">
42 <div class="input-group-prepend">
43 <span class="input-group-text" i18n>Locale</span>
45 <eg-combobox [entries]="localeEntries"
46 [startId]="localeCode"
47 (onChange)="localeOnChange($event ? $event.id : null)">
53 <ng-container *ngIf="template">
54 <ul ngbNav #tabs="ngbNav" [(activeId)]="selectedTab" [destroyOnHide]="false"
55 (navChange)="onNavChange($event)" [keyboard]="true" [roles]="false" role="tablist" class="nav-tabs">
57 <li role="presentation" [ngbNavItem]="'template'">
58 <a i18n ngbNavLink role="tab">Template</a>
59 <ng-template ngbNavContent>
61 <div class="col-lg-12 mt-3 d-flex">
62 <button class="btn btn-info" (click)="openEditDialog()" i18n>
63 Edit Template Attributes
65 <button class="btn btn-success ml-2" (click)="applyChanges()" i18n>
68 <button class="btn btn-info ml-2" (click)="cloneTemplate()" i18n>
71 <span class="ml-3 mr-1" i18n>Force Print Context:</span>
72 <eg-combobox #printContextCbox (onChange)="forceContextChange($event)">
73 <eg-combobox-entry entryId="unset" entryLabel="<Unset>" i18n-entryLabel>
75 <eg-combobox-entry entryId="default" entryLabel="Default" i18n-entryLabel>
77 <eg-combobox-entry entryId="receipt" entryLabel="Receipt" i18n-entryLabel>
79 <eg-combobox-entry entryId="label" entryLabel="Label" i18n-entryLabel>
81 <eg-combobox-entry entryId="mail" entryLabel="Mail" i18n-entryLabel>
83 <eg-combobox-entry entryId="offline" entryLabel="Offline" i18n-entryLabel>
85 <eg-combobox-entry entryId="no-print" entryLabel="No-Print" i18n-entryLabel>
88 <div class="flex-1"> </div>
89 <button class="btn btn-danger ml-2" (click)="deleteTemplate()" i18n>
92 <span *ngIf="invalidJson" class="badge badge-danger ml-2" i18n>
97 <div class="row mt-2">
98 <div class="col-lg-6">
100 Template for "{{template.label()}} ({{getOwnerName(template.id())}})"
101 <span class="pl-2 text-warning" *ngIf="template.active() === 'f'">
105 <textarea rows="{{templateRowCount()}}" class="form-control"
107 [ngModel]="template.template()"
108 (ngModelChange)="template.template($event); template.ischanged(true)">
111 <div class="col-lg-6">
112 <h4 i18n>Preview</h4>
113 <div class="border border-dark w-100" id="template-preview-pane">
115 <h4 class="mt-3" i18n>Compiled Content</h4>
116 <div class="border border-dark w-100">
117 <pre class="p-1">{{compiledContent}}</pre>
123 <li role="presentation" [ngbNavItem]="'data'">
124 <a i18n ngbNavLink role="tab">Sample Data</a>
125 <ng-template ngbNavContent>
126 <textarea rows="20" [(ngModel)]="sampleJson"
127 spellcheck="false" class="form-control">
133 <div [ngbNavOutlet]="tabs" class="mt-2"></div>