]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/eg2/src/app/staff/cat/vandelay/queue.component.html
LP1835982 Grid cell text generator API migration
[working/Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / cat / vandelay / queue.component.html
1
2 <eg-progress-dialog #progressDlg
3   dialogTitle="Deleting Queue..." i18n-dialogTitle></eg-progress-dialog>
4
5 <ng-container *ngIf="queueSummary && queueSummary.queue">
6
7   <eg-confirm-dialog
8     #confirmDelDlg
9     i18n-dialogTitle i18n-dialogBody
10     dialogTitle="Confirm Delete"
11     dialogBody="Delete Queue {{queueSummary.queue.name()}}?">
12   </eg-confirm-dialog>
13
14   <h2 i18n>Queue {{queueSummary.queue.name()}}</h2>
15   <div class="row pb-2">
16     <div class="col-lg-6">
17       <div class="card tight-card">
18         <h5 class="card-header" i18n>Queue Summary</h5>
19         <ul class="list-group list-group-flush">
20           <li class="list-group-item">
21             <div class="d-flex">
22               <div class="flex-3" i18n>Records in Queue:</div>
23               <div class="flex-1">{{queueSummary.total}}</div>
24               <div class="flex-3" i18n>Items in Queue:</div>
25               <div class="flex-1">{{queueSummary.total_items}}</div>
26             </div>
27           </li>
28           <li class="list-group-item">
29             <div class="d-flex">
30               <div class="flex-3" i18n>Records Imported:</div>
31               <div class="flex-1">{{queueSummary.imported}}</div>
32               <div class="flex-3" i18n>Items Imported:</div>
33               <div class="flex-1">{{queueSummary.total_items_imported}}</div>
34             </div>
35           </li>
36           <li class="list-group-item">
37             <div class="d-flex">
38               <div class="flex-3" i18n>Records Import Failures:</div>
39               <div class="flex-1">{{queueSummary.rec_import_errors}}</div>
40               <div class="flex-3" i18n>Item Import Failures:</div>
41               <div class="flex-1">{{queueSummary.item_import_errors}}</div>
42             </div>
43           </li>
44         </ul>
45       </div>
46     </div>
47     <div class="col-lg-6">
48       <div class="card tight-card">
49         <h5 class="card-header" i18n>Queue Actions</h5>
50         <ul class="list-group list-group-flush">
51           <li class="list-group-item">
52             <div class="d-flex">
53               <div class="flex-1">
54                 <a [routerLink]="" (click)="importSelected()"
55                   i18n>Import Selected Records</a>
56               </div>
57               <div class="flex-1">
58                 <a [routerLink]="" (click)="importAll()" i18n>Import All Records</a>
59               </div>
60             </div>
61           </li>
62           <li class="list-group-item">
63             <div class="d-flex">
64               <div class="flex-1">
65                 <a i18n
66                   routerLink="/staff/cat/vandelay/queue/{{queueType}}/{{queueId}}/items">
67                     View Import Items
68                 </a>
69               </div>
70               <div class="flex-1">
71                 <a [routerLink]="" (click)="exportNonImported()"
72                   i18n>Export Non-Imported Records</a>
73               </div>
74             </div>
75           </li>
76           <li class="list-group-item">
77             <div class="d-flex">
78               <eg-bucket-dialog #bucketDialog bucketClass="biblio" [fromBibQueue]="queueId">
79               </eg-bucket-dialog>
80               <div class="flex-1">
81                 <a [routerLink]="" (click)="bucketDialog.open({size:'lg'})" i18n>
82                   Copy Queue To Bucket
83                 </a>
84               </div>
85               <div class="flex-1">
86                 <a [routerLink]="" (click)="deleteQueue()" i18n>Delete Queue</a>
87               </div>
88             </div>
89           </li>
90         </ul>
91       </div>
92     </div>
93   </div>
94 </ng-container>
95
96 <ng-template #matchesTmpl let-row="row">
97   <a i18n [ngClass]="{'font-weight-bold': hasOverlayTarget(row.id)}"
98     routerLink="/staff/cat/vandelay/queue/{{queueType}}/{{queueId}}/record/{{row.id}}/matches">
99       ({{row.matches.length}})
100       {{hasOverlayTarget(row.id) ? '*' : ''}}
101   </a>
102 </ng-template>
103
104 <ng-template #errorsTmpl let-row="row">
105   <div *ngIf="row.error_detail">
106     <b class="text-danger" title="{{row.error_detail}}">{{row.import_error}}</b>
107   </div>
108   <div *ngIf="row.error_items.length">
109     <b class="text-danger">Items ({{row.error_items.length}})</b>
110   </div>
111 </ng-template>
112
113 <ng-template #importedAsTmpl let-row="row">
114   <a *ngIf="queueType=='bib'" routerLink="/staff/catalog/record/{{row.imported_as}}">
115     {{row.imported_as}}
116   </a>
117   <a *ngIf="queueType=='auth'" href="/eg/staff/cat/catalog/authority/{{row.imported_as}}/marc_edit">
118     {{row.imported_as}}
119   </a>
120
121 </ng-template>
122
123
124 <!--
125 Most columns are generated programmatically from queued record attribute
126 definitions.  Hide a number of stock record attributes by default
127 because there are a lot of them.
128 -->
129
130 <eg-grid #queueGrid [dataSource]="queueSource"
131   persistKey="cat.vandelay.queue.{{queueType}}"
132   (onRowActivate)="openRecord($event)"
133   [pageOffset]="queuePageOffset()" [cellTextGenerator]="cellTextGenerator"
134   hideFields="language,pagination,price,rec_identifier,eg_tcn_source,eg_identifier,item_barcode,zsource">
135
136   <eg-grid-toolbar-checkbox i18n-label label="Records With Matches"
137     (onChange)="limitToMatches($event)"></eg-grid-toolbar-checkbox>
138
139   <eg-grid-toolbar-checkbox i18n-label label="Non-Imported Records"
140     (onChange)="limitToNonImported($event)"></eg-grid-toolbar-checkbox>
141
142   <eg-grid-toolbar-checkbox i18n-label label="Records with Import Errors"
143     (onChange)="limitToImportErrors($event)"></eg-grid-toolbar-checkbox>
144
145   <eg-grid-column name="id" [index]="true" [hidden]="true"></eg-grid-column>
146   <eg-grid-column i18n-label label="Matches" name="+matches" 
147     [cellTemplate]="matchesTmpl" [cellPrintValue]="cellPrintValues"></eg-grid-column>
148   <eg-grid-column name="import_error" i18n-label
149     label="Import Errors" [cellTemplate]="errorsTmpl" 
150       [cellPrintValue]="cellPrintValues"></eg-grid-column>
151   <eg-grid-column name="import_time" i18n-label
152     label="Import Date" datatype="timestamp"></eg-grid-column>
153   <eg-grid-column name="imported_as" i18n-label label="Imported As" 
154     [cellTemplate]="importedAsTmpl" [cellPrintValue]="cellPrintValues"></eg-grid-column>
155 </eg-grid>
156