2 <ng-container *ngIf="!dataLoaded">
4 <div class="offset-lg-3 col-lg-6">
5 <eg-progress-inline></eg-progress-inline>
10 <eg-authority-linking-dialog #authLinker></eg-authority-linking-dialog>
12 <ng-template #subfieldChunk let-field="field" let-subfield="subfield">
14 <!-- move these around depending on whether we are stacking subfields -->
16 <!-- SUBFIELD DECORATOR/DELIMITER -->
17 <eg-marc-editable-content fieldText="‡" i18n-fieldText
18 moreClasses="sf-delimiter border-right-0 bg-transparent p-1 pr-0">
19 </eg-marc-editable-content>
21 <!-- SUBFIELD CHARACTER -->
22 <eg-marc-editable-content
23 [context]="context" [field]="field" fieldType="sfc"
24 [subfield]="subfield" ariaLabel="Subfield Code" i18n-ariaLabel
25 moreClasses="sf-code border-left-0 p-1 pl-0">
26 </eg-marc-editable-content>
28 <!-- SUBFIELD VALUE -->
29 <eg-marc-editable-content
30 [context]="context" [field]="field" fieldType="sfv"
31 [subfield]="subfield" ariaLabel="Subfield Value" i18n-ariaLabel
32 moreClasses="p-1 pt-2">
33 </eg-marc-editable-content>
37 <ng-template #postSubfieldsChunk let-field="field">
39 <ng-container *ngIf="isControlledBibTag(field.tag)">
40 <button class="btn btn-sm btn-info link-button"
41 (click)="openLinkerDialog(field)">
42 <span class="material-icons">link</span>
46 <ng-container *ngIf="field.authChecked">
47 <span class="pl-2 pt-2">
48 <span *ngIf="field.authValid"
49 title="Authority Validation Succeeded" i18n-title
50 class="material-icons label-with-material-icon text-success">
53 <span *ngIf="!field.authValid"
54 title="Authority Validation Failed" i18n-title
55 class="material-icons label-with-material-icon text-danger">
62 <ng-container *ngIf="dataLoaded">
63 <div class="mt-3 text-monospace"
64 (contextmenu)="$event.preventDefault()">
65 <div class="row pb-2 mb-2 border-bottom border-muted">
66 <div class="col-lg-9 fixed-fields-container">
67 <eg-fixed-fields-editor [context]="context"></eg-fixed-fields-editor>
69 <div class="col-lg-3">
70 <div><button class="btn btn-outline-dark"
71 (click)="showHelp = !showHelp" i18n>Help</button></div>
72 <div class="mt-2"><button class="btn btn-outline-dark"
73 (click)="validate()" i18n>Validate</button></div>
75 <button type="button" class="btn btn-outline-info"
76 [disabled]="undoCount() < 1" (click)="undo()">
77 Undo <span class="badge badge-info">{{undoCount()}}</span>
79 <button type="button" class="btn btn-outline-info ml-2"
80 [disabled]="redoCount() < 1" (click)="redo()">
81 Redo <span class="badge badge-info">{{redoCount()}}</span>
85 <div class="form-check">
86 <input class="form-check-input" type="checkbox"
87 (change)="stackSubfieldsChange()"
88 [(ngModel)]="stackSubfields" id="stack-subfields-{{randId}}">
89 <label class="form-check-label" for="stack-subfields-{{randId}}">
95 <div class="col-lg-1">
98 <div *ngIf="showHelp" class="row m-2">
99 <div class="col-lg-4">
101 <li>Undo: CTRL-z</li>
102 <li>Redo: CTRL-y</li>
103 <li>Add Row: CTRL+Enter</li>
104 <li>Insert Row: CTRL+Shift+Enter</li>
107 <div class="col-lg-4">
109 <li>Copy Current Row Above: CTRL+Up</li>
110 <li>Copy Current Row Below: CTRL+Down</li>
111 <li>Add Subfield: CTRL+D or CTRL+I</li>
112 <li>Remove Row: CTRL+Del</li>
115 <div class="col-lg-4">
117 <li>Remove Subfield: Shift+Del</li>
118 <li>Create/Replace 006: Shift+F6</li>
119 <li>Create/Replace 007: Shift+F7</li>
120 <li>Create/Replace 008: Shift+F8</li>
126 <div class="row pt-0 pb-0 pl-3">
127 <eg-marc-editable-content
128 [context]="context" fieldText="LDR" i18n-fieldText moreClasses="p-1">
129 </eg-marc-editable-content>
131 <eg-marc-editable-content
132 [context]="context" fieldType="ldr"
133 ariaLabel="Leader" i18n-ariaLabel moreClasses="p-1 pr-2">
134 </eg-marc-editable-content>
137 <!-- CONTROL FIELDS -->
138 <div class="row pt-0 pb-0 pl-3"
139 *ngFor="let field of controlFields()">
141 <eg-marc-editable-content
142 [context]="context" [field]="field" fieldType="tag"
143 ariaLabel="Control Field Tag" i18n-ariaLabel moreClasses="p-1">
144 </eg-marc-editable-content>
146 <eg-marc-editable-content
147 [context]="context" [field]="field" fieldType="cfld"
148 ariaLabel="Control Field Content" i18n-ariaLabel moreClasses="p-1">
149 </eg-marc-editable-content>
153 <ng-container *ngFor="let field of dataFields()">
155 <div class="row pt-0 pb-0 pl-3">
158 <eg-marc-editable-content
159 [context]="context" [field]="field" fieldType="tag"
160 ariaLabel="Data Field Tag" i18n-ariaLabel moreClasses="p-1">
161 </eg-marc-editable-content>
164 <eg-marc-editable-content
165 [context]="context" [field]="field" fieldType="ind1"
166 ariaLabel="Data Field Indicator 1" i18n-ariaLabel moreClasses="p-1">
167 </eg-marc-editable-content>
170 <eg-marc-editable-content
171 [context]="context" [field]="field" fieldType="ind2"
172 ariaLabel="Data Field Indicator 2" i18n-ariaLabel moreClasses="p-1">
173 </eg-marc-editable-content>
175 <!-- when not stacking subfields, render them inline -->
176 <ng-container *ngIf="!stackSubfields">
177 <ng-container *ngFor="let subfield of field.subfields; let last = last">
179 *ngTemplateOutlet="subfieldChunk;context:{field:field,subfield:subfield}">
181 <ng-container *ngIf="last">
183 *ngTemplateOutlet="postSubfieldsChunk;context:{field:field}">
191 <!-- when stacking subfields, each subfield gets its own row
192 preceeded by a placeholder for the tag as a way to 'tab' right -->
193 <ng-container *ngIf="stackSubfields">
194 <div class="form-inline" *ngFor="let subfield of field.subfields">
195 <eg-marc-editable-content fieldText=" " moreClasses="p-1 invisible">
196 </eg-marc-editable-content>
198 *ngTemplateOutlet="subfieldChunk;context:{field:field,subfield:subfield}">