2 <ng-template #locationTemplate let-row="row" let-userContext="userContext">
3 <!-- pl-* is doubled for added impact -->
4 <div class="pl-{{row.locationDepth}}">
5 <span class="pl-{{row.locationDepth}}">
6 <a class="label-with-material-icon" (click)="userContext.toggleExpandRow(row)">
7 <!-- leave the icons in place for all node types, but make them
8 invisible when they are not needed. -->
9 <span *ngIf="row.treeNode.expanded"
10 [ngClass]="{invisible: row.copy || row.treeNode.children.length == 0}"
11 class="material-icons p-0 m-0">arrow_drop_down</span>
12 <span *ngIf="!row.treeNode.expanded"
13 [ngClass]="{invisible: row.copy || row.treeNode.children.length == 0}"
14 class="material-icons p-0 m-0">arrow_right</span>
15 <span>{{row.locationLabel}}</span>
21 <ng-template #holdableTemplate let-row="row" let-userContext="userContext">
22 <ng-container *ngIf="row.copy">
23 <ng-container *ngIf="userContext.copyIsHoldable(row.copy); else notHoldable">
26 <ng-template #notHoldable><span i18n>No</span></ng-template>
31 <div class='eg-copies w-100 mt-3'>
32 <eg-grid #holdingsGrid [dataSource]="gridDataSource"
33 (onRowActivate)="onRowActivate($event)"
34 [pageSize]="50" [rowClassCallback]="rowClassCallback"
35 [sortable]="false" persistKey="cat.holdings">
39 <eg-grid-toolbar-checkbox i18n-label label="Show Volumes"
40 #volsCheckbox (onChange)="toggleShowVolumes($event)">
41 </eg-grid-toolbar-checkbox>
42 <eg-grid-toolbar-checkbox i18n-label label="Show Copies"
43 #copiesCheckbox (onChange)="toggleShowCopies($event)">
44 </eg-grid-toolbar-checkbox>
45 <eg-grid-toolbar-checkbox i18n-label label="Show Empty Volumes"
46 #emptyVolsCheckbox (onChange)="toggleShowEmptyVolumes($event)">
47 </eg-grid-toolbar-checkbox>
48 <eg-grid-toolbar-checkbox i18n-label label="Show Empty Libs"
49 #emptyLibsCheckbox (onChange)="toggleShowEmptyLibs($event)">
50 </eg-grid-toolbar-checkbox>
53 <eg-grid-column path="index" [hidden]="true" [index]="true">
55 <eg-grid-column path="copy.id" [hidden]="true" label="Copy ID" i18n-label>
57 <eg-grid-column path="volume.id" [hidden]="true" label="Volume ID" i18n-label>
59 <eg-grid-column name="location_barcode" [flex]="4"
60 [cellTemplate]="locationTemplate" [cellContext]="gridTemplateContext"
61 label="Location/Barcode" [disableTooltip]="true" i18n-label>
63 <eg-grid-column path="volumeCount" datatype="number" label="Volumes" i18n-label>
65 <eg-grid-column path="copyCount" datatype="number" label="Copies" i18n-label>
67 <eg-grid-column path="callNumberLabel" label="Call Number" i18n-label>
69 <eg-grid-column i18n-label label="Circ Library" path="copy.circ_lib"
70 datatype="org_unit"></eg-grid-column>
71 <eg-grid-column i18n-label label="Owning Library" path="volume.owning_lib"
72 datatype="org_unit"></eg-grid-column>
73 <eg-grid-column i18n-label label="Due Date" path="circ.due_date"
74 datatype="timestamp"></eg-grid-column>
75 <eg-grid-column i18n-label label="Shelving Location" path="copy.location.name">
77 <eg-grid-column i18n-label label="Circulation Modifier" path="copy.circ_modifier">
80 <eg-grid-column i18n-label label="Status" path="copy.status.name">
82 <eg-grid-column i18n-label label="Active/Create Date"
83 path="copy.active_date" datatype="timestamp">
85 <eg-grid-column i18n-label label="Age Hold Protection"
86 path="copy.age_protect.name"></eg-grid-column>
88 <eg-grid-column i18n-label label="Holdable?" name="holdable"
89 [cellTemplate]="holdableTemplate" [cellContext]="gridTemplateContext">