From: Galen Charlton Date: Sat, 23 Jul 2022 14:41:12 +0000 (+0000) Subject: LP#1942220: (follow-up) restore LIDs if user abandons changes X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=7569d6f2d4d5b44fb81574db4d8562992eef6425;p=working%2FEvergreen.git LP#1942220: (follow-up) restore LIDs if user abandons changes Signed-off-by: Galen Charlton --- diff --git a/Open-ILS/src/eg2/src/app/staff/acq/lineitem/copies.component.ts b/Open-ILS/src/eg2/src/app/staff/acq/lineitem/copies.component.ts index 58e88b16b8..b6ae8e26df 100644 --- a/Open-ILS/src/eg2/src/app/staff/acq/lineitem/copies.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/acq/lineitem/copies.component.ts @@ -2,7 +2,7 @@ import {Component, OnInit, AfterViewInit, Input, Output, EventEmitter, ViewChild} from '@angular/core'; import {Router, ActivatedRoute, ParamMap} from '@angular/router'; import {Observable, of} from 'rxjs'; -import {tap} from 'rxjs/operators'; +import {tap, map} from 'rxjs/operators'; import {Pager} from '@eg/share/util/pager'; import {IdlService, IdlObject} from '@eg/core/idl.service'; import {OrgService} from '@eg/core/org.service'; @@ -311,7 +311,14 @@ export class LineitemCopiesComponent implements OnInit, AfterViewInit { canDeactivate(): Observable { if (this.dirty) { - return this.leaveConfirm.open(); + return this.leaveConfirm.open().pipe(map(confirmed => { + if (confirmed) { + // fire-and-forget fetching the line item to restore it + // to its previous state + this.liService.getFleshedLineitems([ this.lineitemId ], {toCache: true}).toPromise(); + } + return confirmed; + })); } else { return of(true); }