]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/eg2/src/app/staff/share/marc-edit/authority-linking-dialog.component.html
LP1852782 MARC editor Physical Characteristics Wizard
[Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / share / marc-edit / authority-linking-dialog.component.html
1
2 <!-- display a single heading as MARC -->
3 <ng-template #fieldAsMarc let-field="field">
4   <span>{{field.tag}} {{field.ind1}} {{field.ind2}}</span>
5   <span *ngFor="let sf of field.subfields">
6     <span class="text-danger" i18n>‡</span>{{sf[0]}} {{sf[1]}}
7   </span>
8 </ng-template>
9
10 <!-- MARC edit-ception! -->
11 <eg-marc-editor-dialog #marcEditDialog recordType="authority">
12 </eg-marc-editor-dialog>
13
14 <!-- display a single heading as MARC or as the human friendlier string -->
15 <ng-template #headingField let-field="field" let-from="from" let-also="also">
16   <button class="btn btn-sm p-1 mr-1" 
17     [ngClass]="{'btn-outline-primary': !(from || also), 'btn-outline-info': (from || also)}"
18     (click)="applyHeading(field)" i18n>Apply</button>
19   <ng-container *ngIf="showAs == 'heading'">
20     <span *ngIf="from" i18n>See From: {{field.heading}}</span>
21     <span *ngIf="also" i18n>See Also: {{field.heading}}</span>
22     <span *ngIf="!from && !also" i18n>{{field.heading}}</span>
23   </ng-container>
24   <ng-container *ngIf="showAs == 'marc'">
25     <ng-container
26       *ngTemplateOutlet="fieldAsMarc;context:{field:field}">
27     </ng-container>
28   </ng-container>
29 </ng-template>
30
31 <ng-template #dialogContent>
32   <div class="modal-header bg-info">
33     <h4 class="modal-title" i18n>Manage Authority Links</h4>
34     <button type="button" class="close"
35       i18n-aria-label aria-label="Close" (click)="close()">
36       <span aria-hidden="true">&times;</span>
37     </button>
38   </div>
39   <div class="modal-body">
40     <div class="row border-bottom border-secondary p-2 d-flex">
41       <div class="flex-1 font-weight-bold p-1 pl-2 pt-2 ml-2">
42         <div>{{bibField.tag}} {{bibField.ind1}} {{bibField.ind2}}</div>
43
44         <div *ngFor="let sf of bibField.subfields">
45           <div class="form-check form-check-inline">
46             <input class="form-check-input" id="search-subfield-{{sf[0]}}" 
47               type="checkbox" [disabled]="!isControlledBibSf(sf[0])"
48               [(ngModel)]="selectedSubfields[sf[0]]" 
49               (change)="getPage(pager.offset)"/>
50
51             <span class="text-danger" i18n>‡</span>
52
53             <label class="form-check-label" for="search-subfield-{{sf[0]}}" i18n>
54               {{sf[0]}} {{sf[1]}}
55             </label>
56           </div>
57         </div>
58       </div>
59       <div class="ml-2 p-1">
60         <div class="mb-1" i18n>Create new authority from this field</div>
61         <div>
62           <button class="btn btn-outline-info" 
63             (click)="createNewAuthority()">Immediately</button>
64           <button class="btn btn-outline-info ml-2" 
65             (click)="createNewAuthority(true)">Create and Edit</button>
66         </div>
67       </div>
68     </div>
69     <div class="row border-bottom border-secondary p-2 d-flex">
70       <div class="flex-1">
71         <button class="btn btn-outline-dark" [disabled]="pager.offset == 0"
72           (click)="getPage(0)" i18n>Start</button>
73         <button class="btn btn-outline-dark ml-2"
74           (click)="getPage(-1)" i18n>Previous</button>
75         <button class="btn btn-outline-dark ml-2"
76           (click)="getPage(1)" i18n>Next</button>
77       </div>
78       <div class="pt-2 mb-2">
79         <div class="form-check form-check-inline">
80           <input class="form-check-input" type="radio" value="heading"
81             [(ngModel)]="showAs" name='show-as-heading' id="show-as-heading">
82           <label class="form-check-label" for="show-as-heading" i18n>Show As Heading</label>
83         </div>
84         <div class="form-check form-check-inline">
85           <input class="form-check-input" type="radio" value="marc"
86             [(ngModel)]="showAs" name='show-as-heading' id="show-as-marc">
87           <label class="form-check-label" for="show-as-marc" i18n>Show As MARC</label>
88         </div>
89       </div>
90     </div>
91     <ul *ngFor="let entry of browseData">
92       <li class="d-flex">
93         <div class="flex-1">
94           <ng-container
95             *ngTemplateOutlet="headingField;context:{field:entry.main_heading}">
96           </ng-container>
97         </div>
98         <div class="font-italic" i18n-title i18n
99           title="Authority Record ID {{entry.authority_id}}">
100           #{{entry.authority_id}}
101         </div>
102       </li>
103       <ul *ngFor="let from of entry.see_froms">
104         <li i18n>
105          <ng-container
106           *ngTemplateOutlet="headingField;context:{field:from, from:true}">
107          </ng-container>
108         </li>
109       </ul>
110       <ul *ngFor="let also of entry.see_alsos">
111         <li i18n>
112          <ng-container
113           *ngTemplateOutlet="headingField;context:{field:also, also:true}">
114          </ng-container>
115         </li>
116       </ul>
117     </ul>
118   </div>
119 </ng-template>