-<eg-confirm-dialog #confirmAlertsDialog
- i18n-dialogTitle i18n-dialogBody
- dialogTitle="Confirm Alert" [dialogBodyTemplate]="confirmAlertsMsg">
-</eg-confirm-dialog>
-<ng-template #confirmAlertsMsg>
- <div i18n>An alert has been placed on line item {{liId}} ({{liTitle}})</div>
- <div class="mt-2">{{alertText.code()}}</div>
- <div>{{alertText.description()}}</div>
- <div>{{alertComment}}</div>
- <div class="mt-2" i18n>Choose "Confirm" to acknowledge this alert and continue with receiving. Otherwise, choose "Cancel".</div>
-</ng-template>
-
+<eg-lineitem-alert-dialog #confirmAlertsDialog></eg-lineitem-alert-dialog>
<eg-acq-cancel-dialog recordType="lid" #cancelDialog></eg-acq-cancel-dialog>
<!-- Note the flex values are set so they also match the layout
import {LineitemService} from './lineitem.service';
import {ComboboxEntry} from '@eg/share/combobox/combobox.component';
import {LineitemCopyAttrsComponent} from './copy-attrs.component';
-import {ConfirmDialogComponent} from '@eg/share/dialog/confirm.component';
import {CancelDialogComponent} from './cancel-dialog.component';
+import {LineitemAlertDialogComponent} from './lineitem-alert-dialog.component';
const BATCH_FIELDS = [
'owning_lib',
@Input() lineitem: IdlObject;
@Input() batchAdd = false;
- @ViewChild('confirmAlertsDialog') confirmAlertsDialog: ConfirmDialogComponent;
+ @ViewChild('confirmAlertsDialog') confirmAlertsDialog: LineitemAlertDialogComponent;
@ViewChild('cancelDialog') cancelDialog: CancelDialogComponent;
// Current alert that needs confirming
if (notes.length === 0) { return promise; }
- this.liId = this.lineitem.id();
- this.liTitle = this.liService.getFirstAttributeValue(this.lineitem, 'title');
+ this.confirmAlertsDialog.liId = this.lineitem.id();
+ this.confirmAlertsDialog.title = this.liService.getFirstAttributeValue(this.lineitem, 'title');
notes.forEach(n => {
promise = promise.then(_ => {
- this.alertText = n.alert_text();
- this.alertComment = n.value();
+ this.confirmAlertsDialog.alertText = n.alert_text();
+ this.confirmAlertsDialog.alertComment = n.value();
return this.confirmAlertsDialog.open().toPromise().then(ok => {
if (!ok) { return Promise.reject(); }
this.liService.alertAcks[n.id()] = true;
--- /dev/null
+<eg-confirm-dialog #confirmAlertsDialog
+ i18n-dialogTitle i18n-dialogBody
+ dialogTitle="Confirm Alert" [dialogBodyTemplate]="confirmAlertsMsg">
+</eg-confirm-dialog>
+<ng-template #confirmAlertsMsg>
+ <div i18n>An alert has been placed on line item {{liId}} ({{title}})</div>
+ <div class="mt-2">{{alertText.code()}}</div>
+ <div>{{alertText.description()}}</div>
+ <div>{{alertComment}}</div>
+ <div class="mt-2" i18n>Choose "Confirm" to acknowledge this alert and continue with receiving. Otherwise, choose "Cancel".</div>
+</ng-template>
--- /dev/null
+import {Component, Input, ViewChild} from '@angular/core';
+import {Observable} from 'rxjs';
+import {IdlObject} from '@eg/core/idl.service';
+import {ConfirmDialogComponent} from '@eg/share/dialog/confirm.component';
+
+@Component({
+ selector: 'eg-lineitem-alert-dialog',
+ templateUrl: './lineitem-alert-dialog.component.html'
+})
+
+export class LineitemAlertDialogComponent {
+ @Input() liId: number;
+ @Input() title: string;
+ @Input() alertText: IdlObject;
+ @Input() alertComment: string;
+
+ @ViewChild('confirmAlertsDialog') confirmAlertsDialog: ConfirmDialogComponent;
+
+ open(): Observable<any> {
+ return this.confirmAlertsDialog.open();
+ }
+}
import {LinkInvoiceDialogComponent} from './link-invoice-dialog.component';
import {ExportAttributesDialogComponent} from './export-attributes-dialog.component';
import {ClaimPolicyDialogComponent} from './claim-policy-dialog.component';
+import {LineitemAlertDialogComponent} from './lineitem-alert-dialog.component';
import {MarcEditModule} from '@eg/staff/share/marc-edit/marc-edit.module';
import {AcqCommonModule} from '../acq-common.module';
LinkInvoiceDialogComponent,
ExportAttributesDialogComponent,
ClaimPolicyDialogComponent,
+ LineitemAlertDialogComponent,
BriefRecordComponent,
CreateAssetsComponent,
LineitemWorksheetComponent
AddCopiesDialogComponent,
LinkInvoiceDialogComponent,
ExportAttributesDialogComponent,
- ClaimPolicyDialogComponent
+ ClaimPolicyDialogComponent,
+ LineitemAlertDialogComponent
],
imports: [
StaffCommonModule,