I need to make a simple confirm window and I saw a lot of examples of how to do it with extra actions (like waiting until file uploading of form is not field). But I need just make a default confirm window with a default text (like in a pic below) to show it when the user wants to leave from the current page. And I can't completely understand what logic should I proved inside handling before unload event. 

I'm recently sorry if it a dup of some question, however, I didn't find any solution. So I have:
example.guard.ts
export interface CanComponentDeactivate {
    canDeactivate: () => Observable<boolean> | boolean;
}
@Injectable()
export class ExampleGuard implements CanDeactivate<CanComponentDeactivate> {
    constructor() { }
    canDeactivate(component: CanComponentDeactivate): boolean | Observable<boolean> {
        return component.canDeactivate() ?
            true :
            confirm('message'); // <<< does confirm window should appear from here?
    }
}
example.component.ts
export class ExampleComponent implements CanComponentDeactivate {
    counstructor() { }
    @HostListener('window:beforeunload', ['$event'])
        canDeactivate($event: any): Observable<boolean> | boolean {
            if (!this.canDeactivate($event)) {
                // what should I do here?
            }
        }
}
It would be wonderful if you provide a sample of code but I appreciate any kind of help.
 
     
     
    
