/* * Squidex Headless CMS * * @license * Copyright (c) Squidex UG (haftungsbeschränkt). All rights reserved. */ import { Injectable } from '@angular/core'; import { CanDeactivate, UrlTree } from '@angular/router'; import { Observable } from 'rxjs'; export interface CanComponentDeactivate { canDeactivate(): Observable | Promise | boolean | UrlTree; } @Injectable() export class CanDeactivateGuard implements CanDeactivate { public canDeactivate(component: CanComponentDeactivate) { return component?.canDeactivate ? component.canDeactivate() : true; } }