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 [context]="context">
11 </eg-authority-linking-dialog>
13 <eg-phys-char-dialog #physCharDialog></eg-phys-char-dialog>
15 <ng-template #subfieldChunk let-field="field" let-subfield="subfield">
17 <!-- move these around depending on whether we are stacking subfields -->
19 <!-- SUBFIELD DECORATOR/DELIMITER -->
20 <eg-marc-editable-content fieldText="‡" i18n-fieldText
21 moreClasses="sf-delimiter border-right-0 bg-transparent p-1 pr-0">
22 </eg-marc-editable-content>
24 <!-- SUBFIELD CHARACTER -->
25 <eg-marc-editable-content
26 [context]="context" [field]="field" fieldType="sfc"
27 [subfield]="subfield" ariaLabel="Subfield Code" i18n-ariaLabel
28 moreClasses="sf-code border-left-0 p-1 pl-0">
29 </eg-marc-editable-content>
31 <!-- SUBFIELD VALUE -->
32 <eg-marc-editable-content
33 [context]="context" [field]="field" fieldType="sfv"
34 [subfield]="subfield" ariaLabel="Subfield Value" i18n-ariaLabel
35 moreClasses="p-1 pt-2">
36 </eg-marc-editable-content>
40 <ng-template #postSubfieldsChunk let-field="field">
42 <ng-container *ngIf="isControlledBibTag(field.tag)">
43 <button class="btn btn-sm btn-info link-button"
44 i18n-title title="Create authority link"
45 (click)="openLinkerDialog(field)">
46 <span class="material-icons">link</span>
50 <ng-container *ngIf="field.authChecked">
51 <span class="pl-2 pt-2">
52 <span *ngIf="field.authValid"
53 title="Authority Validation Succeeded" i18n-title
54 class="material-icons label-with-material-icon text-success">
57 <span *ngIf="!field.authValid"
58 title="Authority Validation Failed" i18n-title
59 class="material-icons label-with-material-icon text-danger">
66 <ng-container *ngIf="dataLoaded">
67 <div class="mt-3 text-monospace"
68 (contextmenu)="$event.preventDefault()">
69 <div class="row pb-2 mb-2 border-bottom border-muted">
70 <div class="col-lg-9 fixed-fields-container">
71 <eg-fixed-fields-editor [context]="context"></eg-fixed-fields-editor>
73 <div class="col-lg-3">
74 <div><button class="btn btn-outline-dark"
75 (click)="showHelp = !showHelp" i18n>Help</button></div>
76 <ng-container *ngIf="context.recordType === 'biblio'">
77 <div class="mt-2"><button class="btn btn-outline-dark"
78 (click)="validate()" i18n>Validate</button></div>
81 <button type="button" class="btn btn-outline-info"
82 [disabled]="undoCount() < 1" (click)="undo()">
83 Undo <span class="badge badge-info">{{undoCount()}}</span>
85 <button type="button" class="btn btn-outline-info ml-2"
86 [disabled]="redoCount() < 1" (click)="redo()">
87 Redo <span class="badge badge-info">{{redoCount()}}</span>
91 <div class="form-check">
92 <input class="form-check-input" type="checkbox"
93 (change)="stackSubfieldsChange()"
94 [(ngModel)]="stackSubfields" id="stack-subfields-{{randId}}">
95 <label class="form-check-label" for="stack-subfields-{{randId}}">
101 <div class="col-lg-1">
104 <div *ngIf="showHelp" class="row m-2">
105 <div class="col-lg-4">
107 <li>Undo: CTRL-z</li>
108 <li>Redo: CTRL-y</li>
109 <li>Add Row: CTRL+Enter</li>
110 <li>Insert Row: CTRL+Shift+Enter</li>
113 <div class="col-lg-4">
115 <li>Copy Current Row Above: CTRL+Up</li>
116 <li>Copy Current Row Below: CTRL+Down</li>
117 <li>Add Subfield: CTRL+D or CTRL+I</li>
118 <li>Remove Row: CTRL+Del</li>
121 <div class="col-lg-4">
123 <li>Remove Subfield: Shift+Del</li>
124 <li>Create/Replace 006: Shift+F6</li>
125 <li>Create/Replace 007: Shift+F7</li>
126 <li>Create/Replace 008: Shift+F8</li>
132 <div class="row pt-0 pb-0 pl-3">
133 <eg-marc-editable-content
134 [context]="context" fieldText="LDR" i18n-fieldText moreClasses="p-1">
135 </eg-marc-editable-content>
137 <eg-marc-editable-content
138 [context]="context" fieldType="ldr"
139 ariaLabel="Leader" i18n-ariaLabel moreClasses="p-1 pr-2">
140 </eg-marc-editable-content>
143 <!-- CONTROL FIELDS -->
144 <div class="row pt-0 pb-0 pl-3"
145 *ngFor="let field of controlFields()">
147 <eg-marc-editable-content
148 [context]="context" [field]="field" fieldType="tag"
149 ariaLabel="Control Field Tag" i18n-ariaLabel moreClasses="p-1">
150 </eg-marc-editable-content>
152 <eg-marc-editable-content
153 [context]="context" [field]="field" fieldType="cfld"
154 ariaLabel="Control Field Content" i18n-ariaLabel moreClasses="p-1">
155 </eg-marc-editable-content>
157 <ng-container *ngIf="field.tag === '007'">
158 <button class="btn btn-sm btn-info link-button"
159 i18n-title title="Open physical characteristics wizard"
160 (click)="openPhysCharDialog(field)">
161 <span class="material-icons">launch</span>
167 <ng-container *ngFor="let field of dataFields()">
169 <div class="row pt-0 pb-0 pl-3">
172 <eg-marc-editable-content
173 [context]="context" [field]="field" fieldType="tag"
174 ariaLabel="Data Field Tag" i18n-ariaLabel moreClasses="p-1">
175 </eg-marc-editable-content>
178 <eg-marc-editable-content
179 [context]="context" [field]="field" fieldType="ind1"
180 ariaLabel="Data Field Indicator 1" i18n-ariaLabel moreClasses="p-1">
181 </eg-marc-editable-content>
184 <eg-marc-editable-content
185 [context]="context" [field]="field" fieldType="ind2"
186 ariaLabel="Data Field Indicator 2" i18n-ariaLabel moreClasses="p-1">
187 </eg-marc-editable-content>
189 <!-- when not stacking subfields, render them inline -->
190 <ng-container *ngIf="!stackSubfields">
191 <ng-container *ngFor="let subfield of field.subfields; let last = last">
193 *ngTemplateOutlet="subfieldChunk;context:{field:field,subfield:subfield}">
195 <ng-container *ngIf="last">
197 *ngTemplateOutlet="postSubfieldsChunk;context:{field:field}">
205 <!-- when stacking subfields, each subfield gets its own row
206 preceeded by a placeholder for the tag as a way to 'tab' right -->
207 <ng-container *ngIf="stackSubfields">
208 <div class="form-inline" *ngFor="let subfield of field.subfields">
209 <eg-marc-editable-content fieldText=" " moreClasses="p-1 invisible">
210 </eg-marc-editable-content>
212 *ngTemplateOutlet="subfieldChunk;context:{field:field,subfield:subfield}">