<eg-string key="staff.cat.item.circs.billing" i18n-text text="Billing Added">
</eg-string>
-<div class="row" *ngFor="let circ of recentCircs">
+<div class="row mt-3" *ngFor="let circ of recentCircs">
<div class="col-lg-12 well-table">
<div class="well-row">
<div class="well-value">
return this.pcrud.search('atc',
{target_copy: this.item.id()},
{order_by: {atc: 'source_send_time DESC'}, limit: 1}
- )
+ );
}))
.pipe(tap(transit => {
transit.source(this.org.get(transit.source()));
import {MarkItemMissingPiecesComponent} from './missing-pieces.component';
import {ItemStatusComponent} from './status.component';
import {BarcodesModule} from '@eg/staff/share/barcodes/barcodes.module';
+import {BookingModule} from '@eg/staff/share/booking/booking.module';
import {CircModule} from '@eg/staff/share/circ/circ.module';
import {ItemSummaryComponent} from './summary.component';
import {ItemRecentHistoryComponent} from './recent-history.component';
import {ItemCircHistoryComponent} from './circ-history.component';
import {ItemHoldsTransitsComponent} from './holds.component';
+import {GroupedMenuModule} from '@eg/share/grouped-menu/grouped-menu.module';
@NgModule({
declarations: [
HoldingsModule,
BarcodesModule,
CircModule,
+ BookingModule,
PatronModule,
- BillingModule
+ BillingModule,
+ GroupedMenuModule
],
providers: [
]
<eg-barcode-select #barcodeSelect></eg-barcode-select>
<eg-circ-components></eg-circ-components>
+<eg-mark-damaged-dialog #markDamagedDialog></eg-mark-damaged-dialog>
+<eg-mark-missing-dialog #markMissingDialog></eg-mark-missing-dialog>
+<eg-copy-alerts-dialog #copyAlertsDialog></eg-copy-alerts-dialog>
+<eg-replace-barcode-dialog #replaceBarcode></eg-replace-barcode-dialog>
+<eg-delete-holding-dialog #deleteHolding></eg-delete-holding-dialog>
<eg-bucket-dialog #bucketDialog></eg-bucket-dialog>
+<eg-conjoined-items-dialog #conjoinedDialog></eg-conjoined-items-dialog>
+<eg-make-bookable-dialog #makeBookableDialog></eg-make-bookable-dialog>
+<eg-transfer-items #transferItems></eg-transfer-items>
+<eg-transfer-holdings #transferHoldings></eg-transfer-holdings>
+<eg-alert-dialog #transferAlert
+ i18n-dialogTitle i18n-dialogBody
+ dialogTitle="No Target Selected"
+ dialogBody="Please select a suitable transfer target"></eg-alert-dialog>
+
<div class="row">
- <div class="col-lg-12 form-inline">
+ <div class="col-lg-12 form-inline d-flex">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text" id='barcode-label' i18n>Barcode</span>
(keyup.enter)="getItemByBarcode()" [(ngModel)]="itemBarcode"
aria-describedby="barcode-label"/>
</div>
- <button class="btn btn-outline-dark"
+ <button class="btn btn-outline-dark mr-1"
(click)="getItemByBarcode()" i18n>Submit</button>
+ <eg-help-popover placement="top" i18n-helpText
+ helpText="Single barcode or list of barcodes separated with commas.">
+ </eg-help-popover>
+
+ <div class="flex-1"></div>
+
+ <eg-grouped-menu i18n-label label="Actions" *ngIf="item && tab != 'list'">
+
+ <eg-grouped-menu-entry i18n-label label="Add Item To Bucket"
+ (entryClicked)="addToBucket()"></eg-grouped-menu-entry>
+
+ <eg-grouped-menu-entry i18n-label label="Show Record Holds"
+ i18n-group group="Show" [newTab]="true"
+ routerLink="/staff/catalog/record/{{item.call_number().record().id()}}/holds">
+ </eg-grouped-menu-entry>
+
+ </eg-grouped-menu>
+
+ <!-- grouped menu todo -->
+
</div>
</div>
<eg-item-holds-transits [item]="item"></eg-item-holds-transits>
</ng-template>
</li>
+ <li ngbNavItem="cat">
+ <a ngbNavLink i18n>Cataloging Info</a>
+ <ng-template ngbNavContent>
+ <eg-marc-html [recordId]="item.call_number().record()" recordType="bib">
+ </eg-marc-html>
+ </ng-template>
+ </li>
</ul>
<div [ngbNavOutlet]="itemNav"></div>
import {NgbNav, NgbNavChangeEvent} from '@ng-bootstrap/ng-bootstrap';
import {CopyAlertsDialogComponent
} from '@eg/staff/share/holdings/copy-alerts-dialog.component';
+import {ReplaceBarcodeDialogComponent
+ } from '@eg/staff/share/holdings/replace-barcode-dialog.component';
+import {DeleteHoldingDialogComponent
+ } from '@eg/staff/share/holdings/delete-volcopy-dialog.component';
import {BucketDialogComponent
} from '@eg/staff/share/buckets/bucket-dialog.component';
+import {ConjoinedItemsDialogComponent
+ } from '@eg/staff/share/holdings/conjoined-items-dialog.component';
+import {MakeBookableDialogComponent
+ } from '@eg/staff/share/booking/make-bookable-dialog.component';
+import {TransferItemsComponent
+ } from '@eg/staff/share/holdings/transfer-items.component';
+import {TransferHoldingsComponent
+ } from '@eg/staff/share/holdings/transfer-holdings.component';
+import {AlertDialogComponent} from '@eg/share/dialog/alert.component';
+import {MarkDamagedDialogComponent
+ } from '@eg/staff/share/holdings/mark-damaged-dialog.component';
+import {MarkMissingDialogComponent
+ } from '@eg/staff/share/holdings/mark-missing-dialog.component';
@Component({
templateUrl: 'status.component.html'
tab: string;
@ViewChild('barcodeSelect') private barcodeSelect: BarcodeSelectComponent;
- @ViewChild('bucketDialog') private bucketDialog: BucketDialogComponent;
+
+ @ViewChild('markDamagedDialog')
+ private markDamagedDialog: MarkDamagedDialogComponent;
+ @ViewChild('markMissingDialog')
+ private markMissingDialog: MarkMissingDialogComponent;
+ @ViewChild('copyAlertsDialog')
+ private copyAlertsDialog: CopyAlertsDialogComponent;
+ @ViewChild('replaceBarcode')
+ private replaceBarcode: ReplaceBarcodeDialogComponent;
+ @ViewChild('deleteHolding')
+ private deleteHolding: DeleteHoldingDialogComponent;
+ @ViewChild('bucketDialog')
+ private bucketDialog: BucketDialogComponent;
+ @ViewChild('conjoinedDialog')
+ private conjoinedDialog: ConjoinedItemsDialogComponent;
+ @ViewChild('makeBookableDialog')
+ private makeBookableDialog: MakeBookableDialogComponent;
+ @ViewChild('transferItems')
+ private transferItems: TransferItemsComponent;
+ @ViewChild('transferHoldings')
+ private transferHoldings: TransferHoldingsComponent;
+ @ViewChild('transferAlert')
+ private transferAlert: AlertDialogComponent;
constructor(
private router: Router,
this.selectInput();
});
}
+
+ addToBucket() {
+ this.bucketDialog.bucketClass = 'copy';
+ this.bucketDialog.itemIds = [this.item.id()];
+ this.bucketDialog.open({size: 'lg'});
+ }
}
ops.order_by = {aacs: 'xact_start desc'};
- let promise = count ?
+ const promise = count ?
Promise.resolve(count) : this.getMaxCircDisplayCount(item);
- return promise.then(count => {
- ops.limit = count;
+ return promise.then(limit => {
+ ops.limit = limit;
return this.pcrud.search('aacs',
{target_copy : item.id()}, ops, {atomic: true}).toPromise();
});