mirror of https://github.com/Squidex/squidex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
645 B
21 lines
645 B
/*
|
|
* 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<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree;
|
|
}
|
|
|
|
@Injectable()
|
|
export class CanDeactivateGuard implements CanDeactivate<CanComponentDeactivate> {
|
|
public canDeactivate(component: CanComponentDeactivate) {
|
|
return component?.canDeactivate ? component.canDeactivate() : true;
|
|
}
|
|
}
|