2 <div class="col-lg-12 card tight-card mb-2 bg-light">
3 <div class="card-body">
5 <!-- Checkbox, jacket image, and title blob live in a flex row
6 because there's no way to give them col-lg-* columns that
7 don't waste a lot of space. -->
8 <div class="col-lg-7 d-flex">
9 <label class="checkbox">
10 <span class="font-weight-bold font-italic">
11 {{index + 1 + searchContext.pager.offset}}.
13 <input class="pl-1" type='checkbox' [(ngModel)]="isRecordSelected"
14 (change)="toggleBasketEntry()"/>
16 <div class="pl-2 record-jacket-div" >
17 <ng-container *ngIf="hasMrConstituentRecords(summary)">
18 <a routerLink="/staff/catalog/search"
19 [queryParams]="appendFromMrParam(summary)">
20 <img src="/opac/extras/ac/jacket/medium/r/{{summary.id}}"/>
23 <ng-container *ngIf="!hasMrConstituentRecords(summary)">
24 <a routerLink="/staff/catalog/record/{{summary.id}}"
25 [queryParams]="currentParams()">
26 <img src="/opac/extras/ac/jacket/medium/r/{{summary.id}}"/>
30 <!-- for call number browse display -->
31 <ng-container *ngIf="callNumber">
32 <div class="pl-2 font-weight-bold">
33 {{callNumber.prefix().label()}}
34 {{callNumber.label()}}
35 {{callNumber.suffix().label()}}
36 @ {{orgName(callNumber.owning_lib())}}
39 <div class="flex-1 pl-2">
41 <div class="col-lg-12 font-weight-bold">
42 <ng-container *ngIf="hasMrConstituentRecords(summary)">
43 <a routerLink="/staff/catalog/search"
44 [queryParams]="appendFromMrParam(summary)">
45 <eg-bib-display-field [summary]="summary" field="title"
46 [usePlaceholder]="true"></eg-bib-display-field>
49 <ng-container *ngIf="!hasMrConstituentRecords(summary)">
50 <a routerLink="/staff/catalog/record/{{summary.id}}"
51 [queryParams]="currentParams()">
52 <eg-bib-display-field [summary]="summary" field="title"
53 [usePlaceholder]="true"></eg-bib-display-field>
58 <div class="row pt-2">
59 <div class="col-lg-12">
60 <a routerLink="/staff/catalog/search"
61 [queryParams]="getAuthorSearchParams(summary)">
62 <eg-bib-display-field [summary]="summary" field="author"
63 [usePlaceholder]="true"></eg-bib-display-field>
67 <div class="row pt-2">
68 <div class="col-lg-12">
69 <ng-container *ngIf="summary.attributes.icon_format && summary.attributes.icon_format[0]">
70 <ng-container *ngFor="let icon of summary.attributes.icon_format">
73 src="/images/format_icons/icon_format/{{icon}}.png"/>
74 <span>{{iconFormatLabel(icon)}}</span>
80 <div class="row pt-2">
81 <div class="col-lg-12">
82 <ng-container *ngIf="summary.display.physical_description">
83 <!-- [].concat() to avoid modifying the summary arrays -->
84 <div class="pb-1" i18n>Phys. Desc.:
85 <eg-bib-display-field [summary]="summary"
86 field="physical_description" joiner=","></eg-bib-display-field>
89 <ng-container *ngIf="summary.display.edition">
90 <div class="pb-1" i18n>Edition:
91 <eg-bib-display-field [summary]="summary"
92 field="edition" joiner=","></eg-bib-display-field>
95 <ng-container *ngIf="summary.display.publisher || summary.display.pubdate">
96 <!-- note publisher typically includes pubdate -->
97 <ng-container *ngIf="summary.display.publisher; else pubDate">
98 <div class="pb-1" i18n>Publisher:
99 <eg-bib-display-field [summary]="summary" field="publisher">
100 </eg-bib-display-field>
103 <ng-template #pubDate>
104 <div class="pb-1" i18n>Pub Date:
105 <eg-bib-display-field [summary]="summary" field="pubdate">
106 </eg-bib-display-field>
110 <ng-container *ngIf="summary.display.isbn">
111 <div class="pb-1" i18n>ISBN:
112 <eg-bib-display-field [summary]="summary"
113 field="isbn" joiner=","></eg-bib-display-field>
116 <ng-container *ngIf="summary.display.upc">
117 <div class="pb-1" i18n>UPC:
118 <eg-bib-display-field [summary]="summary"
119 field="upc" joiner=","></eg-bib-display-field>
122 <ng-container *ngIf="summary.display.issn">
124 <eg-bib-display-field [summary]="summary"
125 field="issn" joiner=","></eg-bib-display-field>
128 <ng-container *ngIf="hasCourse">
129 <div i18n>Associated Courses:
130 <span *ngFor="let course of courses; let isLast=last">
131 <a routerLink="/staff/admin/local/asset/course_list/{{course.id()}}">
132 {{course.name()}} ({{course.course_number()}})
133 </a>{{isLast ? '' : ', '}}
141 <div class="col-lg-2">
142 <div class="row" [ngClass]="{'pt-2':copyIndex > 0}"
143 *ngFor="let copyCount of summary.holdingsSummary; let copyIdx = index">
144 <div class="float-left text-left w-50">
146 {{copyCount.available}} / {{copyCount.count}} items
149 <div class="float-left w-50">
150 @ {{orgName(copyCount.org_unit)}}
154 <div class="col-lg-1">
157 TCN: {{summary.record.tcn_value()}}
162 Holds: {{summary.holdCount}}
166 <div class="col-lg-2">
168 <div class="col-lg-12">
169 <div class="float-right small-text-1">
170 Created {{summary.record.create_date() | date:'shortDate'}} by
171 <!-- creator if fleshed after the initial data set is loaded -->
172 <a *ngIf="summary.record.creator().usrname" target="_self"
173 href="/eg/staff/circ/patron/{{summary.record.creator().id()}}/checkout">
174 {{summary.record.creator().usrname()}}
176 <!-- add a spacer pending data to reduce page shuffle -->
177 <span *ngIf="!summary.record.creator().usrname"> ... </span>
181 <div class="row pt-2">
182 <div class="col-lg-12">
183 <div class="float-right small-text-1" i18n>
184 Edited {{summary.record.edit_date() | date:'shortDate'}} by
185 <a *ngIf="summary.record.editor().usrname" target="_self"
186 href="/eg/staff/circ/patron/{{summary.record.editor().id()}}/checkout">
187 {{summary.record.editor().usrname()}}
189 <span *ngIf="!summary.record.editor().usrname"> ... </span>
193 <div class="row pt-2">
194 <div class="col-lg-12">
195 <div class="float-right">
196 <ng-container *ngIf="summary.record.deleted() == 't'">
197 <span class="text-danger" i18n>(Deleted)</span>
199 <ng-container *ngIf="summary.record.deleted() == 'f'">
201 <button (click)="placeHold()"
202 class="btn btn-sm btn-success label-with-material-icon small-text-1">
203 <span class="material-icons">check</span>
204 <span i18n>Place Hold</span>
213 <div class="row" *ngIf="summary.copies">
214 <div class="col-lg-12 mt-2">
215 <div class="w-auto ml-2 mr-2">
216 <ng-container *ngIf="summary.copies.length">
217 <div class="row p-1 font-weight-bold border-top">
218 <div class="col-lg-2" i18n>Library</div>
219 <div class="col-lg-3" i18n>Shelving location</div>
220 <div class="col-lg-4" i18n>Call number</div>
221 <div class="col-lg-3" i18n>Status</div>
223 <div class="row p-1 mt-1 mb-1 border-top" *ngFor="let copy of summary.copies">
224 <div class="col-lg-2" i18n>{{copy.circ_lib_sn}}</div>
225 <div class="col-lg-3" i18n>{{copy.copy_location}}</div>
226 <div class="col-lg-4" i18n>
227 {{copy.call_number_prefix_label}}
228 {{copy.call_number_label}}
229 {{copy.call_number_suffix_label}}
231 <div class="col-lg-3" i18n>{{copy.copy_status}}</div>
234 <ng-container *ngIf="!summary.copies.length">
235 <span class="font-italic" i18n>No Items To Display</span>
240 </div><!-- card-body -->