LP#1929749: move the LI alert dialog into a new component
authorGalen Charlton <gmc@equinoxOLI.org>
Sat, 5 Feb 2022 21:42:30 +0000 (16:42 -0500)
committerGalen Charlton <gmc@equinoxOLI.org>
Sat, 5 Feb 2022 21:42:30 +0000 (16:42 -0500)
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Open-ILS/src/eg2/src/app/staff/acq/lineitem/batch-copies.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/batch-copies.component.ts
Open-ILS/src/eg2/src/app/staff/acq/lineitem/lineitem-alert-dialog.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/lineitem/lineitem-alert-dialog.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/lineitem/lineitem.module.ts

index ed73ab0..7359c24 100644 (file)
@@ -1,16 +1,5 @@
 
-<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
index 3af7bf2..738b44c 100644 (file)
@@ -8,8 +8,8 @@ import {AuthService} from '@eg/core/auth.service';
 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',
@@ -30,7 +30,7 @@ export class LineitemBatchCopiesComponent implements OnInit {
     @Input() lineitem: IdlObject;
     @Input() batchAdd = false;
 
-    @ViewChild('confirmAlertsDialog') confirmAlertsDialog: ConfirmDialogComponent;
+    @ViewChild('confirmAlertsDialog') confirmAlertsDialog: LineitemAlertDialogComponent;
     @ViewChild('cancelDialog') cancelDialog: CancelDialogComponent;
 
     // Current alert that needs confirming
@@ -131,13 +131,13 @@ export class LineitemBatchCopiesComponent implements OnInit {
 
         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;
diff --git a/Open-ILS/src/eg2/src/app/staff/acq/lineitem/lineitem-alert-dialog.component.html b/Open-ILS/src/eg2/src/app/staff/acq/lineitem/lineitem-alert-dialog.component.html
new file mode 100644 (file)
index 0000000..8c5942e
--- /dev/null
@@ -0,0 +1,11 @@
+<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>
diff --git a/Open-ILS/src/eg2/src/app/staff/acq/lineitem/lineitem-alert-dialog.component.ts b/Open-ILS/src/eg2/src/app/staff/acq/lineitem/lineitem-alert-dialog.component.ts
new file mode 100644 (file)
index 0000000..3faecae
--- /dev/null
@@ -0,0 +1,22 @@
+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();
+    }
+}
index bec333b..49f6734 100644 (file)
@@ -24,6 +24,7 @@ import {AddCopiesDialogComponent} from './add-copies-dialog.component';
 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';
 
@@ -45,6 +46,7 @@ import {AcqCommonModule} from '../acq-common.module';
     LinkInvoiceDialogComponent,
     ExportAttributesDialogComponent,
     ClaimPolicyDialogComponent,
+    LineitemAlertDialogComponent,
     BriefRecordComponent,
     CreateAssetsComponent,
     LineitemWorksheetComponent
@@ -57,7 +59,8 @@ import {AcqCommonModule} from '../acq-common.module';
     AddCopiesDialogComponent,
     LinkInvoiceDialogComponent,
     ExportAttributesDialogComponent,
-    ClaimPolicyDialogComponent
+    ClaimPolicyDialogComponent,
+    LineitemAlertDialogComponent
   ],
   imports: [
     StaffCommonModule,