All files / app/guard pending-changes.guard.ts

33.33% Statements 2/6
0% Branches 0/6
0% Functions 0/2
33.33% Lines 1/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11            1x        
import { CanDeactivateFn } from '@angular/router';
 
export interface HasChanges {
  saveChanges: () => Promise<boolean> | boolean;
}
 
export const pendingChangesGuard: CanDeactivateFn<HasChanges> = async (component, currentRoute, currentState, nextState) => {
  if (!component?.saveChanges || await component.saveChanges()) return true;
  return confirm($localize`Discard draft?`);
};