Files
headup_app/src/app/components/shared/spinner/spinner.component.ts
T
Julien Gautier 747948a422 Ajout des sources
2023-09-12 21:46:56 +02:00

45 lines
1.3 KiB
TypeScript
Executable File

import { Component, Input, OnDestroy, Inject, ViewEncapsulation } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Router, NavigationStart, NavigationEnd, NavigationCancel, NavigationError } from '@angular/router';
import { DOCUMENT } from '@angular/common';
@Component({
selector: 'huapp-spinner',
standalone: true,
imports: [CommonModule],
templateUrl: './spinner.component.html',
encapsulation: ViewEncapsulation.None
})
export class SpinnerComponent implements OnDestroy {
public isSpinnerVisible = true;
@Input()
public backgroundColor = 'rgba(0, 115, 170, 0.69)';
constructor(
private router: Router,
@Inject(DOCUMENT) private document: Document
) {
this.router.events.subscribe(
event => {
if (event instanceof NavigationStart) {
this.isSpinnerVisible = true;
} else if (
event instanceof NavigationEnd ||
event instanceof NavigationCancel ||
event instanceof NavigationError
) {
this.isSpinnerVisible = false;
}
},
() => {
this.isSpinnerVisible = false;
}
);
}
ngOnDestroy(): void {
this.isSpinnerVisible = false;
}
}